Commit 31097ebc authored by zhangyingbin's avatar zhangyingbin

修改ugp问题

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