Commit 7950eddc authored by 高建强's avatar 高建强

item:值班人员类型兼容提交入库

parent f119683d
package com.yeejoin.amos.boot.module.common.biz.enums;
public enum DynamicGroupCode {
JCS_PERSON("机场人员", "246");
private String name;
private String code;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
DynamicGroupCode(String name, String code) {
this.name = name;
this.code = code;
}
}
......@@ -19,6 +19,8 @@ import java.util.stream.Stream;
import javax.servlet.http.HttpServletRequest;
import com.yeejoin.amos.boot.module.common.biz.enums.DynamicGroupCode;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.joda.time.DateTime;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -449,6 +451,7 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
Long instanceId = null;
List<DynamicFormColumn> columns = dynamicFormColumnService.list(new LambdaQueryWrapper<DynamicFormColumn>()
.eq(DynamicFormColumn::getGroupCode, this.getGroupCode()));
Map<String, Object> dataMap = buildDataMap(d, userId);
// 1.组装动态表单数据
if (!instances.isEmpty()) {
// 0.定位instanceId,准备进行更新操作
......@@ -461,7 +464,7 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
Map<Object, DynamicFormInstance> instanceMap = Bean.listToMap(instancesInDb, "fieldCode",
DynamicFormInstance.class);
// 3.待更新数据组装,待批量入库
this.updateFormValue(formInstanceList, d, instanceId, columns, instanceMap);
this.updateFormValue(formInstanceList, dataMap, instanceId, columns, instanceMap);
} else {
// 0.新数据,生成id
instanceId = sequence.nextId();
......@@ -469,14 +472,14 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
// 1.组装数据
List<DynamicFormInstance> newInstances = columns.stream().map(column -> {
DynamicFormInstance instance = new DynamicFormInstance();
buildFormInstanceData(finalInstanceId1, d, column, instance);
buildFormInstanceData(finalInstanceId1, dataMap, column, instance);
return instance;
}).collect(Collectors.toList());
// 2.待更新数据组装,待批量入库
formInstanceList.addAll(newInstances);
}
// 2.组装值班数据
List<DutyPersonShiftDto> shiftDtos = (List<DutyPersonShiftDto>) d.get("dutyShift");
List<DutyPersonShiftDto> shiftDtos = (List<DutyPersonShiftDto>) dataMap.get("dutyShift");
Long finalInstanceId = instanceId;
// 按照业务唯一索引查询主键
List<DutyPersonShift> dutyPersonShiftsDb = dutyPersonShiftService
......@@ -520,6 +523,20 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
}
}
private Map<String, Object> buildDataMap(Map<String, Object> d, String userId) {
// 表单存在人员类型,获取用户ID,查询人员类型赋值
if (!ObjectUtils.isEmpty(userId)) {
List<DynamicFormInstance> instances = dynamicFormInstanceService
.list(new LambdaQueryWrapper<DynamicFormInstance>().eq(DynamicFormInstance::getFieldCode, "peopleType")
.eq(DynamicFormInstance::getInstanceId, userId)
.eq(DynamicFormInstance::getGroupCode, DynamicGroupCode.JCS_PERSON.getCode()));
if (!CollectionUtils.isEmpty(instances)) {
d.put("personType", instances.get(0).getFieldValue());
}
}
return d;
}
private void buildFormInstanceData(Long instanceId, Map<String, Object> map, DynamicFormColumn column,
DynamicFormInstance formInstance) {
fillFormInstanceData(instanceId, map, column, formInstance, sequence.nextId());
......
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