Commit 31097ebc authored by zhangyingbin's avatar zhangyingbin

修改ugp问题

parent 6cafcf6a
......@@ -199,9 +199,10 @@ public class TaskController {
* 获取当前登录人的所有任务统计
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@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,56 +76,65 @@ public class OrgServiceImpl {
* @return
*/
public OrgUsrDto dataHandling(JSONObject jsonObject, String bizOrgType,String sequenceNbr){
synchronized (this) {
OrgUsr orgUsr = saveOrgUsr(jsonObject, bizOrgType, sequenceNbr);
sequenceNbr = String.valueOf(orgUsr.getSequenceNbr());
//条件构造器 找出column表种 类型为(COMPANY 或 DEPARTMENT 或 PERSON)的列
LambdaQueryWrapper<DynamicFormColumn> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(DynamicFormColumn::getGroupCode, bizOrgType);
List<DynamicFormColumn> dynamicFormColumnList = dynamicFormColumnServiceImpl.list(wrapper);
List<DynamicFormInstance> dynamicFormInstanceList = new ArrayList<>();
Map<String, Long> map = new HashMap<>();
for (DynamicFormColumn dynamicFormColumn : dynamicFormColumnList) {
//将column表的基本字段信息给instance表
DynamicFormInstance dynamicFormInstance = new DynamicFormInstance();
BeanUtils.copyProperties(dynamicFormColumn, dynamicFormInstance);
dynamicFormInstance.setFormColumnId(dynamicFormColumn.getSequenceNbr());
//通过字段名去拿到表单传来的值
if ("image".equals(dynamicFormColumn.getFieldCode())) {
if (!ValidationUtil.isEmpty(jsonObject.getJSONArray(dynamicFormInstance.getFieldCode()))) {
dynamicFormInstance.setFieldValue(JSON.toJSONString(jsonObject.getJSONArray(dynamicFormInstance.getFieldCode())));
Boolean lock = redisTemplate.opsForValue().setIfAbsent("lock","1");
if(lock) {
OrgUsr orgUsr = saveOrgUsr(jsonObject, bizOrgType, sequenceNbr);
sequenceNbr = String.valueOf(orgUsr.getSequenceNbr());
//条件构造器 找出column表种 类型为(COMPANY 或 DEPARTMENT 或 PERSON)的列
LambdaQueryWrapper<DynamicFormColumn> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(DynamicFormColumn::getGroupCode, bizOrgType);
List<DynamicFormColumn> dynamicFormColumnList = dynamicFormColumnServiceImpl.list(wrapper);
List<DynamicFormInstance> dynamicFormInstanceList = new ArrayList<>();
Map<String, Long> map = new HashMap<>();
for (DynamicFormColumn dynamicFormColumn : dynamicFormColumnList) {
//将column表的基本字段信息给instance表
DynamicFormInstance dynamicFormInstance = new DynamicFormInstance();
BeanUtils.copyProperties(dynamicFormColumn, dynamicFormInstance);
dynamicFormInstance.setFormColumnId(dynamicFormColumn.getSequenceNbr());
//通过字段名去拿到表单传来的值
if ("image".equals(dynamicFormColumn.getFieldCode())) {
if (!ValidationUtil.isEmpty(jsonObject.getJSONArray(dynamicFormInstance.getFieldCode()))) {
dynamicFormInstance.setFieldValue(JSON.toJSONString(jsonObject.getJSONArray(dynamicFormInstance.getFieldCode())));
}
} else {
dynamicFormInstance.setFieldValue(jsonObject.getString(dynamicFormInstance.getFieldCode()));
}
} else {
dynamicFormInstance.setFieldValue(jsonObject.getString(dynamicFormInstance.getFieldCode()));
dynamicFormInstance.setInstanceId(orgUsr.getSequenceNbr());
dynamicFormInstance.setSequenceNbr(null);
dynamicFormInstanceList.add(dynamicFormInstance);
}
dynamicFormInstance.setInstanceId(orgUsr.getSequenceNbr());
dynamicFormInstance.setSequenceNbr(null);
dynamicFormInstanceList.add(dynamicFormInstance);
}
//如果sequenceNbr有值(更新)
if (!ValidationUtil.isEmpty(sequenceNbr)) {
LambdaQueryWrapper<DynamicFormInstance> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(DynamicFormInstance::getInstanceId, orgUsr.getSequenceNbr());
List<DynamicFormInstance> instanceList = alertFormValueServiceImpl.list(lambdaQueryWrapper);
//如果instance表中有值
if (!ValidationUtil.isEmpty(instanceList)) {
//将查到的instance信息装到map中
for (DynamicFormInstance dynamicFormInstance : instanceList) {
map.put(dynamicFormInstance.getFieldCode(), dynamicFormInstance.getSequenceNbr());
}
//将查到的instance信息中的sequenceNbr装到更新之后的表中。
for (DynamicFormInstance dynamicFormInstance : dynamicFormInstanceList) {
dynamicFormInstance.setSequenceNbr(map.get(dynamicFormInstance.getFieldCode()));
//如果sequenceNbr有值(更新)
if (!ValidationUtil.isEmpty(sequenceNbr)) {
LambdaQueryWrapper<DynamicFormInstance> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(DynamicFormInstance::getInstanceId, orgUsr.getSequenceNbr());
List<DynamicFormInstance> instanceList = alertFormValueServiceImpl.list(lambdaQueryWrapper);
//如果instance表中有值
if (!ValidationUtil.isEmpty(instanceList)) {
//将查到的instance信息装到map中
for (DynamicFormInstance dynamicFormInstance : instanceList) {
map.put(dynamicFormInstance.getFieldCode(), dynamicFormInstance.getSequenceNbr());
}
//将查到的instance信息中的sequenceNbr装到更新之后的表中。
for (DynamicFormInstance dynamicFormInstance : dynamicFormInstanceList) {
dynamicFormInstance.setSequenceNbr(map.get(dynamicFormInstance.getFieldCode()));
}
}
}
//保存或更新 根据sequenceNbr
alertFormValueServiceImpl.saveOrUpdateBatch(dynamicFormInstanceList);
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);
}
//保存或更新 根据sequenceNbr
alertFormValueServiceImpl.saveOrUpdateBatch(dynamicFormInstanceList);
OrgUsrDto orgUsrDto = new OrgUsrDto();
BeanUtils.copyProperties(orgUsr, orgUsrDto);
orgUsrDto.setDynamicFormValue(dynamicFormInstanceList);
return orgUsrDto;
}
}
/**
......@@ -633,192 +647,203 @@ public class OrgServiceImpl {
*
*/
public void saveOrUpdateUser(JSONObject jsonObject, String orgType) {
boolean isCharge = false;
String amosOrgId = jsonObject.getString("sequenceNbr");
LambdaQueryWrapper<OrgUsr> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(OrgUsr::getAmosOrgId, amosOrgId)
.eq(OrgUsr::getIsDelete, Boolean.FALSE);
OrgUsr one = orgUsrServiceImpl.getOne(wrapper);
if (ObjectUtils.isEmpty(one)) {
one = new OrgUsr();
}
OrgUsr parentOne = new OrgUsr();
String companyId = "";
if (OrgEnum.普通人员.getKey().equals(orgType)) {
JSONObject companys = JSON.parseObject(JSON.toJSONString(jsonObject.get("orgRoleSeqs")));
if (CollectionUtils.isEmpty(companys)) {
return;
} else {
for (Map.Entry<String, Object> stringObjectEntry : companys.entrySet()) {
companyId = stringObjectEntry.getKey();
break;
}
Boolean lock = redisTemplate.opsForValue().setIfAbsent("lock","1");
if(lock) {
boolean isCharge = false;
String amosOrgId = jsonObject.getString("sequenceNbr");
LambdaQueryWrapper<OrgUsr> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(OrgUsr::getAmosOrgId, amosOrgId)
.eq(OrgUsr::getIsDelete, Boolean.FALSE);
OrgUsr one = orgUsrServiceImpl.getOne(wrapper);
if (ObjectUtils.isEmpty(one)) {
one = new OrgUsr();
}
OrgUsr parentOne = new OrgUsr();
String companyId = "";
if (OrgEnum.普通人员.getKey().equals(orgType)) {
JSONObject companys = JSON.parseObject(JSON.toJSONString(jsonObject.get("orgRoleSeqs")));
if (CollectionUtils.isEmpty(companys)) {
return;
} else {
for (Map.Entry<String, Object> stringObjectEntry : companys.entrySet()) {
companyId = stringObjectEntry.getKey();
break;
}
// JSONObject parentJson = JSON.parseObject(JSON.toJSONString(companys));
// companyId = parentJson.getString("sequenceNbr");
}
} else {
companyId = jsonObject.getString("myParentId");
if (companyId.length() < 10) {
companyId = jsonObject.getString("companySeq");
}
}
} else {
companyId = jsonObject.getString("myParentId");
if(companyId.length()<10){
companyId = jsonObject.getString("companySeq");
if (!StringUtils.isEmpty(companyId)) {
LambdaQueryWrapper<OrgUsr> wrapper2 = new LambdaQueryWrapper<>();
wrapper2.eq(OrgUsr::getAmosOrgId, companyId)
.eq(OrgUsr::getIsDelete, Boolean.FALSE);
parentOne = orgUsrServiceImpl.getOne(wrapper2);
}
}
if (!StringUtils.isEmpty(companyId)) {
LambdaQueryWrapper<OrgUsr> wrapper2 = new LambdaQueryWrapper<>();
wrapper2.eq(OrgUsr::getAmosOrgId, companyId)
.eq(OrgUsr::getIsDelete, Boolean.FALSE);
parentOne = orgUsrServiceImpl.getOne(wrapper2);
}
if (!OrgEnum.公司.getKey().equals(orgType) && ObjectUtils.isEmpty(parentOne)) {
throw new BadRequest("数据不完整");
}
one.setBizOrgName(jsonObject.getString("realName"));
if(ValidationUtil.isEmpty(one.getBizOrgName())){
one.setBizOrgName(jsonObject.getString("companyName"));
one.setOrgExpandAttr1(CompanyTypeEnum.registerNameMap.get(jsonObject.getString("companyType")));
}
if(ValidationUtil.isEmpty(one.getBizOrgName())){
one.setBizOrgName(jsonObject.getString("departmentName"));
}
if (StringUtils.isEmpty(one.getBizOrgCode())) {
if (OrgEnum.公司.getKey().equals(orgType)) {
one.setBizOrgCode(!ObjectUtils.isEmpty(parentOne) ? parentOne.getBizOrgCode() + getOrgCodeStr() : getOrgCodeStr());
} else if (OrgEnum.部门.getKey().equals(orgType)) {
one.setBizOrgCode(parentOne.getBizOrgCode() + getOrgCodeStr());
if (!OrgEnum.公司.getKey().equals(orgType) && ObjectUtils.isEmpty(parentOne)) {
throw new BadRequest("数据不完整");
}
}
if (OrgEnum.普通人员.getKey().equals(orgType)) {
LambdaQueryWrapper<OrgUsr> wrapper3 = new LambdaQueryWrapper<>();
wrapper3.eq(OrgUsr::getAmosOrgId, companyId)
.eq(OrgUsr::getIsDelete, Boolean.FALSE);
OrgUsr one1 = orgUsrServiceImpl.getOne(wrapper3);
one.setBizOrgCode(one1.getBizOrgCode() + getOrgCodeStr());
if (OrgEnum.部门.getKey().equals(one1.getBizOrgType())){
//向部门添加人员
isCharge = true;
} else {
//如果是修改 如果这个人之前是部门负责人,现在去掉负责人。
LambdaQueryWrapper<OrgUsr> orgUsrWrappers = new LambdaQueryWrapper<>();
orgUsrWrappers.eq(OrgUsr::getBizOrgName,one.getBizOrgName());
OrgUsr orgUsr = orgUsrServiceImpl.getOne(orgUsrWrappers);
if(!ValidationUtil.isEmpty(orgUsr)){
orgUsr = orgUsrServiceImpl.getById(orgUsr.getParentId());
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);
DynamicFormInstance instance = alertFormValueServiceImpl.getOne(queryWrapper);
String obj = instance.getFieldValue();
List list = new ArrayList();
if (!ValidationUtil.isEmpty(obj)) {
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);
one.setBizOrgName(jsonObject.getString("realName"));
if (ValidationUtil.isEmpty(one.getBizOrgName())) {
one.setBizOrgName(jsonObject.getString("companyName"));
one.setOrgExpandAttr1(CompanyTypeEnum.registerNameMap.get(jsonObject.getString("companyType")));
}
if (ValidationUtil.isEmpty(one.getBizOrgName())) {
one.setBizOrgName(jsonObject.getString("departmentName"));
}
if (StringUtils.isEmpty(one.getBizOrgCode())) {
if (OrgEnum.公司.getKey().equals(orgType)) {
one.setBizOrgCode(!ObjectUtils.isEmpty(parentOne) ? parentOne.getBizOrgCode() + getOrgCodeStr() : getOrgCodeStr());
} else if (OrgEnum.部门.getKey().equals(orgType)) {
one.setBizOrgCode(parentOne.getBizOrgCode() + getOrgCodeStr());
}
}
if (OrgEnum.普通人员.getKey().equals(orgType)) {
LambdaQueryWrapper<OrgUsr> wrapper3 = new LambdaQueryWrapper<>();
wrapper3.eq(OrgUsr::getAmosOrgId, companyId)
.eq(OrgUsr::getIsDelete, Boolean.FALSE);
OrgUsr one1 = orgUsrServiceImpl.getOne(wrapper3);
one.setBizOrgCode(one1.getBizOrgCode() + getOrgCodeStr());
if (OrgEnum.部门.getKey().equals(one1.getBizOrgType())) {
//向部门添加人员
isCharge = true;
} else {
//如果是修改 如果这个人之前是部门负责人,现在去掉负责人。
LambdaQueryWrapper<OrgUsr> orgUsrWrappers = new LambdaQueryWrapper<>();
orgUsrWrappers.eq(OrgUsr::getBizOrgName, one.getBizOrgName());
OrgUsr orgUsr = orgUsrServiceImpl.getOne(orgUsrWrappers);
if (!ValidationUtil.isEmpty(orgUsr)) {
orgUsr = orgUsrServiceImpl.getById(orgUsr.getParentId());
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);
DynamicFormInstance instance = alertFormValueServiceImpl.getOne(queryWrapper);
String obj = instance.getFieldValue();
List list = new ArrayList();
if (!ValidationUtil.isEmpty(obj)) {
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);
}
}
}
}
}
}
one.setAmosOrgId(amosOrgId);
one.setAmosOrgCode("");
one.setBizOrgType(orgType);
if (StringUtils.isEmpty(jsonObject.getString("myParentId"))) {
one.setParentId(ObjectUtils.isEmpty(parentOne) ? null : String.valueOf(parentOne.getSequenceNbr()));
}
orgUsrServiceImpl.saveOrUpdate(one);
if (isCharge){
//向部门添加负责人
JSONArray roleSeqs = jsonObject.getJSONObject("orgRoleSeqs").getJSONArray(companyId);
LambdaQueryWrapper<OrgUsr> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(OrgUsr::getAmosOrgId,companyId);
OrgUsr orgUsr = orgUsrServiceImpl.getOne(wrapper1);
if(!ValidationUtil.isEmpty(orgUsr)) {
String deptId = String.valueOf(orgUsr.getSequenceNbr());
LambdaQueryWrapper<DynamicFormInstance> queryWrapper = new LambdaQueryWrapper<>();
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);
}
Long personId = one.getSequenceNbr();
if (roleSeqs.contains(chargeRoleSeq)) {
if (!list.contains(personId)) {
list.add(personId);
one.setAmosOrgId(amosOrgId);
one.setAmosOrgCode("");
one.setBizOrgType(orgType);
if (StringUtils.isEmpty(jsonObject.getString("myParentId"))) {
one.setParentId(ObjectUtils.isEmpty(parentOne) ? null : String.valueOf(parentOne.getSequenceNbr()));
}
orgUsrServiceImpl.saveOrUpdate(one);
if (isCharge) {
//向部门添加负责人
JSONArray roleSeqs = jsonObject.getJSONObject("orgRoleSeqs").getJSONArray(companyId);
LambdaQueryWrapper<OrgUsr> wrapper1 = new LambdaQueryWrapper<>();
wrapper1.eq(OrgUsr::getAmosOrgId, companyId);
OrgUsr orgUsr = orgUsrServiceImpl.getOne(wrapper1);
if (!ValidationUtil.isEmpty(orgUsr)) {
String deptId = String.valueOf(orgUsr.getSequenceNbr());
LambdaQueryWrapper<DynamicFormInstance> queryWrapper = new LambdaQueryWrapper<>();
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);
}
} else {
if (list.contains(personId)) {
list.remove(personId);
Long personId = one.getSequenceNbr();
if (roleSeqs.contains(chargeRoleSeq)) {
if (!list.contains(personId)) {
list.add(personId);
}
} else {
if (list.contains(personId)) {
list.remove(personId);
}
}
instance.setFieldValue(JSON.toJSONString(list));
alertFormValueServiceImpl.update(instance, queryWrapper);
}
instance.setFieldValue(JSON.toJSONString(list));
alertFormValueServiceImpl.update(instance,queryWrapper);
}
}
JSONObject jsonObjectFormColumn = new JSONObject();
if (OrgEnum.公司.getKey().equals(orgType)) {
jsonObjectFormColumn.put("name", jsonObject.getString("companyName"));
jsonObjectFormColumn.put("type", jsonObject.getString("companyType"));
jsonObjectFormColumn.put("creditCode", jsonObject.getString("companyCode"));
jsonObjectFormColumn.put("address", jsonObject.getString("address"));
jsonObjectFormColumn.put("contact", jsonObject.getString("contact"));
jsonObjectFormColumn.put("contactPhone", jsonObject.getString("landlinePhone"));
jsonObjectFormColumn.put("orgCode", jsonObject.getString("orgCode"));
} else if (OrgEnum.普通人员.getKey().equals(orgType)) {
jsonObjectFormColumn.put("name", jsonObject.getString("realName"));
jsonObjectFormColumn.put("phone", jsonObject.getString("mobile"));
} else if (OrgEnum.部门.getKey().equals(orgType)) {
jsonObjectFormColumn.put("name", one.getBizOrgName());
}
JSONObject jsonObjectFormColumn = new JSONObject();
if (OrgEnum.公司.getKey().equals(orgType)) {
jsonObjectFormColumn.put("name", jsonObject.getString("companyName"));
jsonObjectFormColumn.put("type", jsonObject.getString("companyType"));
jsonObjectFormColumn.put("creditCode", jsonObject.getString("companyCode"));
jsonObjectFormColumn.put("address", jsonObject.getString("address"));
jsonObjectFormColumn.put("contact", jsonObject.getString("contact"));
jsonObjectFormColumn.put("contactPhone", jsonObject.getString("landlinePhone"));
jsonObjectFormColumn.put("orgCode", jsonObject.getString("orgCode"));
} else if (OrgEnum.普通人员.getKey().equals(orgType)) {
jsonObjectFormColumn.put("name", jsonObject.getString("realName"));
jsonObjectFormColumn.put("phone", jsonObject.getString("mobile"));
} else if (OrgEnum.部门.getKey().equals(orgType)) {
jsonObjectFormColumn.put("name", one.getBizOrgName());
}
//条件构造器 找出column表种 类型为(COMPANY 或 DEPARTMENT 或 PERSON)的列
LambdaQueryWrapper<DynamicFormColumn> wrapper2 = new LambdaQueryWrapper<>();
wrapper2.eq(DynamicFormColumn::getGroupCode, orgType);
List<DynamicFormColumn> dynamicFormColumnList = dynamicFormColumnServiceImpl.list(wrapper2);
List<DynamicFormInstance> dynamicFormInstanceList = new ArrayList<>();
Map<String, Long> map = new HashMap<>();
for (DynamicFormColumn dynamicFormColumn : dynamicFormColumnList) {
//将column表的基本字段信息给instance表
DynamicFormInstance dynamicFormInstance = new DynamicFormInstance();
BeanUtils.copyProperties(dynamicFormColumn, dynamicFormInstance);
dynamicFormInstance.setFormColumnId(dynamicFormColumn.getSequenceNbr());
//通过字段名去拿到表单传来的值
if ("image".equals(dynamicFormColumn.getFieldCode())) {
if (!ValidationUtil.isEmpty(jsonObjectFormColumn.getJSONArray(dynamicFormInstance.getFieldCode()))) {
dynamicFormInstance.setFieldValue(JSON.toJSONString(jsonObjectFormColumn.getJSONArray(dynamicFormInstance.getFieldCode())));
//条件构造器 找出column表种 类型为(COMPANY 或 DEPARTMENT 或 PERSON)的列
LambdaQueryWrapper<DynamicFormColumn> wrapper2 = new LambdaQueryWrapper<>();
wrapper2.eq(DynamicFormColumn::getGroupCode, orgType);
List<DynamicFormColumn> dynamicFormColumnList = dynamicFormColumnServiceImpl.list(wrapper2);
List<DynamicFormInstance> dynamicFormInstanceList = new ArrayList<>();
Map<String, Long> map = new HashMap<>();
for (DynamicFormColumn dynamicFormColumn : dynamicFormColumnList) {
//将column表的基本字段信息给instance表
DynamicFormInstance dynamicFormInstance = new DynamicFormInstance();
BeanUtils.copyProperties(dynamicFormColumn, dynamicFormInstance);
dynamicFormInstance.setFormColumnId(dynamicFormColumn.getSequenceNbr());
//通过字段名去拿到表单传来的值
if ("image".equals(dynamicFormColumn.getFieldCode())) {
if (!ValidationUtil.isEmpty(jsonObjectFormColumn.getJSONArray(dynamicFormInstance.getFieldCode()))) {
dynamicFormInstance.setFieldValue(JSON.toJSONString(jsonObjectFormColumn.getJSONArray(dynamicFormInstance.getFieldCode())));
}
} else {
dynamicFormInstance.setFieldValue(jsonObjectFormColumn.getString(dynamicFormInstance.getFieldCode()));
}
} else {
dynamicFormInstance.setFieldValue(jsonObjectFormColumn.getString(dynamicFormInstance.getFieldCode()));
dynamicFormInstance.setInstanceId(one.getSequenceNbr());
dynamicFormInstance.setSequenceNbr(null);
dynamicFormInstanceList.add(dynamicFormInstance);
}
dynamicFormInstance.setInstanceId(one.getSequenceNbr());
dynamicFormInstance.setSequenceNbr(null);
dynamicFormInstanceList.add(dynamicFormInstance);
}
//如果sequenceNbr有值(更新)
if (!ValidationUtil.isEmpty(one.getSequenceNbr())) {
LambdaQueryWrapper<DynamicFormInstance> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(DynamicFormInstance::getInstanceId, one.getSequenceNbr());
List<DynamicFormInstance> instanceList = alertFormValueServiceImpl.list(lambdaQueryWrapper);
//如果instance表中有值
if (!ValidationUtil.isEmpty(instanceList)) {
//将查到的instance信息装到map中
for (DynamicFormInstance dynamicFormInstance : instanceList) {
map.put(dynamicFormInstance.getFieldCode(), dynamicFormInstance.getSequenceNbr());
}
//将查到的instance信息中的sequenceNbr装到更新之后的表中。
for (DynamicFormInstance dynamicFormInstance : dynamicFormInstanceList) {
dynamicFormInstance.setSequenceNbr(map.get(dynamicFormInstance.getFieldCode()));
//如果sequenceNbr有值(更新)
if (!ValidationUtil.isEmpty(one.getSequenceNbr())) {
LambdaQueryWrapper<DynamicFormInstance> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(DynamicFormInstance::getInstanceId, one.getSequenceNbr());
List<DynamicFormInstance> instanceList = alertFormValueServiceImpl.list(lambdaQueryWrapper);
//如果instance表中有值
if (!ValidationUtil.isEmpty(instanceList)) {
//将查到的instance信息装到map中
for (DynamicFormInstance dynamicFormInstance : instanceList) {
map.put(dynamicFormInstance.getFieldCode(), dynamicFormInstance.getSequenceNbr());
}
//将查到的instance信息中的sequenceNbr装到更新之后的表中。
for (DynamicFormInstance dynamicFormInstance : dynamicFormInstanceList) {
dynamicFormInstance.setSequenceNbr(map.get(dynamicFormInstance.getFieldCode()));
}
}
}
//保存或更新 根据sequenceNbr
alertFormValueServiceImpl.saveOrUpdateBatch(dynamicFormInstanceList);
redisTemplate.delete("lock");
}else {
try{
Thread.sleep(100);
} catch (Exception e){
e.printStackTrace();
}
saveOrUpdateUser(jsonObject, orgType);
}
//保存或更新 根据sequenceNbr
alertFormValueServiceImpl.saveOrUpdateBatch(dynamicFormInstanceList);
}
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