Commit 31097ebc authored by zhangyingbin's avatar zhangyingbin

修改ugp问题

parent 6cafcf6a
...@@ -202,6 +202,7 @@ public class TaskController { ...@@ -202,6 +202,7 @@ public class TaskController {
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@RequestMapping(value = "/getTaskCount", method = RequestMethod.GET) @RequestMapping(value = "/getTaskCount", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "获取当前登录人的所有任务统计", notes = "获取当前登录人的所有任务统计") @ApiOperation(httpMethod = "GET", value = "获取当前登录人的所有任务统计", notes = "获取当前登录人的所有任务统计")
@BusinessIdentify
public ResponseModel<Map> getCount(){ public ResponseModel<Map> getCount(){
List myTask = new ArrayList(); List myTask = new ArrayList();
List todyCompletedTask = new ArrayList(); List todyCompletedTask = new ArrayList();
......
...@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONArray; ...@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
...@@ -25,6 +26,7 @@ import com.yeejoin.amos.component.robot.BadRequest; ...@@ -25,6 +26,7 @@ import com.yeejoin.amos.component.robot.BadRequest;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
...@@ -61,6 +63,9 @@ public class OrgServiceImpl { ...@@ -61,6 +63,9 @@ public class OrgServiceImpl {
@Value("${ugp.charge.role.seq}") @Value("${ugp.charge.role.seq}")
Long chargeRoleSeq; Long chargeRoleSeq;
@Autowired
private RedisTemplate redisTemplate;
/** /**
* 保存或更新orgUsr信息和FormInstance实体信息 * 保存或更新orgUsr信息和FormInstance实体信息
* sequenceNbr表示 若是更新动态表单,则传orgUsr表的sequenceNbr, * sequenceNbr表示 若是更新动态表单,则传orgUsr表的sequenceNbr,
...@@ -71,7 +76,8 @@ public class OrgServiceImpl { ...@@ -71,7 +76,8 @@ public class OrgServiceImpl {
* @return * @return
*/ */
public OrgUsrDto dataHandling(JSONObject jsonObject, String bizOrgType,String sequenceNbr){ public OrgUsrDto dataHandling(JSONObject jsonObject, String bizOrgType,String sequenceNbr){
synchronized (this) { Boolean lock = redisTemplate.opsForValue().setIfAbsent("lock","1");
if(lock) {
OrgUsr orgUsr = saveOrgUsr(jsonObject, bizOrgType, sequenceNbr); OrgUsr orgUsr = saveOrgUsr(jsonObject, bizOrgType, sequenceNbr);
sequenceNbr = String.valueOf(orgUsr.getSequenceNbr()); sequenceNbr = String.valueOf(orgUsr.getSequenceNbr());
//条件构造器 找出column表种 类型为(COMPANY 或 DEPARTMENT 或 PERSON)的列 //条件构造器 找出column表种 类型为(COMPANY 或 DEPARTMENT 或 PERSON)的列
...@@ -119,7 +125,15 @@ public class OrgServiceImpl { ...@@ -119,7 +125,15 @@ public class OrgServiceImpl {
OrgUsrDto orgUsrDto = new OrgUsrDto(); OrgUsrDto orgUsrDto = new OrgUsrDto();
BeanUtils.copyProperties(orgUsr, orgUsrDto); BeanUtils.copyProperties(orgUsr, orgUsrDto);
orgUsrDto.setDynamicFormValue(dynamicFormInstanceList); orgUsrDto.setDynamicFormValue(dynamicFormInstanceList);
redisTemplate.delete("lock");
return orgUsrDto; return orgUsrDto;
} else {
try{
Thread.sleep(100);
} catch (Exception e){
e.printStackTrace();
}
return dataHandling(jsonObject,bizOrgType,sequenceNbr);
} }
} }
...@@ -633,6 +647,8 @@ public class OrgServiceImpl { ...@@ -633,6 +647,8 @@ public class OrgServiceImpl {
* *
*/ */
public void saveOrUpdateUser(JSONObject jsonObject, String orgType) { public void saveOrUpdateUser(JSONObject jsonObject, String orgType) {
Boolean lock = redisTemplate.opsForValue().setIfAbsent("lock","1");
if(lock) {
boolean isCharge = false; boolean isCharge = false;
String amosOrgId = jsonObject.getString("sequenceNbr"); String amosOrgId = jsonObject.getString("sequenceNbr");
LambdaQueryWrapper<OrgUsr> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<OrgUsr> wrapper = new LambdaQueryWrapper<>();
...@@ -658,7 +674,7 @@ public class OrgServiceImpl { ...@@ -658,7 +674,7 @@ public class OrgServiceImpl {
} }
} else { } else {
companyId = jsonObject.getString("myParentId"); companyId = jsonObject.getString("myParentId");
if(companyId.length()<10){ if (companyId.length() < 10) {
companyId = jsonObject.getString("companySeq"); companyId = jsonObject.getString("companySeq");
} }
} }
...@@ -672,11 +688,11 @@ public class OrgServiceImpl { ...@@ -672,11 +688,11 @@ public class OrgServiceImpl {
throw new BadRequest("数据不完整"); throw new BadRequest("数据不完整");
} }
one.setBizOrgName(jsonObject.getString("realName")); one.setBizOrgName(jsonObject.getString("realName"));
if(ValidationUtil.isEmpty(one.getBizOrgName())){ if (ValidationUtil.isEmpty(one.getBizOrgName())) {
one.setBizOrgName(jsonObject.getString("companyName")); one.setBizOrgName(jsonObject.getString("companyName"));
one.setOrgExpandAttr1(CompanyTypeEnum.registerNameMap.get(jsonObject.getString("companyType"))); one.setOrgExpandAttr1(CompanyTypeEnum.registerNameMap.get(jsonObject.getString("companyType")));
} }
if(ValidationUtil.isEmpty(one.getBizOrgName())){ if (ValidationUtil.isEmpty(one.getBizOrgName())) {
one.setBizOrgName(jsonObject.getString("departmentName")); one.setBizOrgName(jsonObject.getString("departmentName"));
} }
if (StringUtils.isEmpty(one.getBizOrgCode())) { if (StringUtils.isEmpty(one.getBizOrgCode())) {
...@@ -692,31 +708,31 @@ public class OrgServiceImpl { ...@@ -692,31 +708,31 @@ public class OrgServiceImpl {
.eq(OrgUsr::getIsDelete, Boolean.FALSE); .eq(OrgUsr::getIsDelete, Boolean.FALSE);
OrgUsr one1 = orgUsrServiceImpl.getOne(wrapper3); OrgUsr one1 = orgUsrServiceImpl.getOne(wrapper3);
one.setBizOrgCode(one1.getBizOrgCode() + getOrgCodeStr()); one.setBizOrgCode(one1.getBizOrgCode() + getOrgCodeStr());
if (OrgEnum.部门.getKey().equals(one1.getBizOrgType())){ if (OrgEnum.部门.getKey().equals(one1.getBizOrgType())) {
//向部门添加人员 //向部门添加人员
isCharge = true; isCharge = true;
} else { } else {
//如果是修改 如果这个人之前是部门负责人,现在去掉负责人。 //如果是修改 如果这个人之前是部门负责人,现在去掉负责人。
LambdaQueryWrapper<OrgUsr> orgUsrWrappers = new LambdaQueryWrapper<>(); LambdaQueryWrapper<OrgUsr> orgUsrWrappers = new LambdaQueryWrapper<>();
orgUsrWrappers.eq(OrgUsr::getBizOrgName,one.getBizOrgName()); orgUsrWrappers.eq(OrgUsr::getBizOrgName, one.getBizOrgName());
OrgUsr orgUsr = orgUsrServiceImpl.getOne(orgUsrWrappers); OrgUsr orgUsr = orgUsrServiceImpl.getOne(orgUsrWrappers);
if(!ValidationUtil.isEmpty(orgUsr)){ if (!ValidationUtil.isEmpty(orgUsr)) {
orgUsr = orgUsrServiceImpl.getById(orgUsr.getParentId()); orgUsr = orgUsrServiceImpl.getById(orgUsr.getParentId());
if (OrgEnum.部门.getKey().equals(orgUsr.getBizOrgType())){ if (OrgEnum.部门.getKey().equals(orgUsr.getBizOrgType())) {
String deptId = String.valueOf(orgUsr.getSequenceNbr()); String deptId = String.valueOf(orgUsr.getSequenceNbr());
LambdaQueryWrapper<DynamicFormInstance> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<DynamicFormInstance> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(DynamicFormInstance::getFieldCode,"charge").eq(DynamicFormInstance::getInstanceId,deptId); queryWrapper.eq(DynamicFormInstance::getFieldCode, "charge").eq(DynamicFormInstance::getInstanceId, deptId);
DynamicFormInstance instance = alertFormValueServiceImpl.getOne(queryWrapper); DynamicFormInstance instance = alertFormValueServiceImpl.getOne(queryWrapper);
String obj = instance.getFieldValue(); String obj = instance.getFieldValue();
List list = new ArrayList(); List list = new ArrayList();
if (!ValidationUtil.isEmpty(obj)) { if (!ValidationUtil.isEmpty(obj)) {
list = JSON.parseObject(obj,ArrayList.class); list = JSON.parseObject(obj, ArrayList.class);
} }
Long personId = one.getSequenceNbr(); Long personId = one.getSequenceNbr();
if (list.contains(personId)) { if (list.contains(personId)) {
list.remove(personId); list.remove(personId);
instance.setFieldValue(JSON.toJSONString(list)); instance.setFieldValue(JSON.toJSONString(list));
alertFormValueServiceImpl.update(instance,queryWrapper); alertFormValueServiceImpl.update(instance, queryWrapper);
} }
} }
} }
...@@ -729,21 +745,21 @@ public class OrgServiceImpl { ...@@ -729,21 +745,21 @@ public class OrgServiceImpl {
one.setParentId(ObjectUtils.isEmpty(parentOne) ? null : String.valueOf(parentOne.getSequenceNbr())); one.setParentId(ObjectUtils.isEmpty(parentOne) ? null : String.valueOf(parentOne.getSequenceNbr()));
} }
orgUsrServiceImpl.saveOrUpdate(one); orgUsrServiceImpl.saveOrUpdate(one);
if (isCharge){ if (isCharge) {
//向部门添加负责人 //向部门添加负责人
JSONArray roleSeqs = jsonObject.getJSONObject("orgRoleSeqs").getJSONArray(companyId); JSONArray roleSeqs = jsonObject.getJSONObject("orgRoleSeqs").getJSONArray(companyId);
LambdaQueryWrapper<OrgUsr> wrapper1 = new LambdaQueryWrapper<>(); LambdaQueryWrapper<OrgUsr> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(OrgUsr::getAmosOrgId,companyId); wrapper1.eq(OrgUsr::getAmosOrgId, companyId);
OrgUsr orgUsr = orgUsrServiceImpl.getOne(wrapper1); OrgUsr orgUsr = orgUsrServiceImpl.getOne(wrapper1);
if(!ValidationUtil.isEmpty(orgUsr)) { if (!ValidationUtil.isEmpty(orgUsr)) {
String deptId = String.valueOf(orgUsr.getSequenceNbr()); String deptId = String.valueOf(orgUsr.getSequenceNbr());
LambdaQueryWrapper<DynamicFormInstance> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<DynamicFormInstance> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(DynamicFormInstance::getFieldCode,"charge").eq(DynamicFormInstance::getInstanceId,deptId); queryWrapper.eq(DynamicFormInstance::getFieldCode, "charge").eq(DynamicFormInstance::getInstanceId, deptId);
DynamicFormInstance instance = alertFormValueServiceImpl.getOne(queryWrapper); DynamicFormInstance instance = alertFormValueServiceImpl.getOne(queryWrapper);
String obj = instance.getFieldValue(); String obj = instance.getFieldValue();
List list = new ArrayList(); List list = new ArrayList();
if (!ValidationUtil.isEmpty(obj)) { if (!ValidationUtil.isEmpty(obj)) {
list = JSON.parseObject(obj,ArrayList.class); list = JSON.parseObject(obj, ArrayList.class);
} }
Long personId = one.getSequenceNbr(); Long personId = one.getSequenceNbr();
if (roleSeqs.contains(chargeRoleSeq)) { if (roleSeqs.contains(chargeRoleSeq)) {
...@@ -756,7 +772,7 @@ public class OrgServiceImpl { ...@@ -756,7 +772,7 @@ public class OrgServiceImpl {
} }
} }
instance.setFieldValue(JSON.toJSONString(list)); instance.setFieldValue(JSON.toJSONString(list));
alertFormValueServiceImpl.update(instance,queryWrapper); alertFormValueServiceImpl.update(instance, queryWrapper);
} }
} }
...@@ -819,6 +835,15 @@ public class OrgServiceImpl { ...@@ -819,6 +835,15 @@ public class OrgServiceImpl {
} }
//保存或更新 根据sequenceNbr //保存或更新 根据sequenceNbr
alertFormValueServiceImpl.saveOrUpdateBatch(dynamicFormInstanceList); alertFormValueServiceImpl.saveOrUpdateBatch(dynamicFormInstanceList);
redisTemplate.delete("lock");
}else {
try{
Thread.sleep(100);
} catch (Exception e){
e.printStackTrace();
}
saveOrUpdateUser(jsonObject, orgType);
}
} }
public static String getOrgCodeStr() { public static String getOrgCodeStr() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment