|
@@ -237,11 +237,52 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
|
|
|
}
|
|
|
|
|
|
List<String> machineNoList = Arrays.asList(machineno.split(","));
|
|
|
- Collections.sort(machineNoList, (s1, s2) -> {
|
|
|
+ Collections.sort(machineNoList, (sort1, sort2) -> {
|
|
|
+
|
|
|
+ String projectCode1 = null;
|
|
|
+ String projectCode2 = null;
|
|
|
+ String sort1Temp;
|
|
|
+ String sort2Temp;
|
|
|
+ if(sort1.contains("-")) {
|
|
|
+ final String[] split = sort1.split("-");
|
|
|
+ projectCode1 = split[0];
|
|
|
+ sort1Temp = split[1];
|
|
|
+ } else {
|
|
|
+ sort1Temp = sort1;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(sort2.contains("-")) {
|
|
|
+ final String[] split = sort2.split("-");
|
|
|
+ projectCode2 = split[0];
|
|
|
+ sort2Temp = split[1];
|
|
|
+ } else {
|
|
|
+ sort2Temp = sort2;
|
|
|
+ }
|
|
|
+
|
|
|
// 提取数字部分并转换为整数进行比较
|
|
|
- int num1 = Integer.parseInt(s1.replace("#", ""));
|
|
|
- int num2 = Integer.parseInt(s2.replace("#", ""));
|
|
|
- return Integer.compare(num1, num2);
|
|
|
+ int sort1Int = Integer.parseInt(sort1Temp.replace("#", ""));
|
|
|
+ int sort2Int = Integer.parseInt(sort2Temp.replace("#", ""));
|
|
|
+
|
|
|
+ if(ObjectUtil.isEmpty(projectCode1) && ObjectUtil.isEmpty(projectCode2)) {
|
|
|
+ return sort1Int - sort2Int;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(ObjectUtil.isEmpty(projectCode1) && ObjectUtil.isNotEmpty(projectCode2)) {
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(ObjectUtil.isNotEmpty(projectCode1) && ObjectUtil.isEmpty(projectCode2)) {
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(ObjectUtil.isNotEmpty(projectCode1) && ObjectUtil.isNotEmpty(projectCode2)) {
|
|
|
+ if(projectCode1.equals(projectCode2)) {
|
|
|
+ return sort1Int - sort2Int;
|
|
|
+ } else {
|
|
|
+ return projectCode1.compareTo(projectCode2);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return sort1Int - sort2Int;
|
|
|
});
|
|
|
rectifyReportDto.setNoList(machineNoList);
|
|
|
map.put("ifoutsidebase", true);
|
|
@@ -854,6 +895,8 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
|
|
|
|
|
|
List<ZhcxProjectRectifyDo> mainList = new ArrayList<>();
|
|
|
List<ZhcxProjectRectifyMachineDo> slaveList = new ArrayList<>();
|
|
|
+ Map<String, ZhcxProjectManageDo> pmMap = new HashMap<>();
|
|
|
+ Map<String, ZhcxProjectDeviceNumberDo> dnMap = new HashMap<>();
|
|
|
String rowIdx = null;
|
|
|
try {
|
|
|
for (String rowIndex : rowMap.keySet()) {
|
|
@@ -904,16 +947,11 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
|
|
|
JSONObject machineObj = children.getJSONObject(machineNo);
|
|
|
|
|
|
ZhcxProjectRectifyMachineDo machine = new ZhcxProjectRectifyMachineDo();
|
|
|
- machine.setPrjid(main.getPrjid());
|
|
|
machine.setRectifyid(main.getId());
|
|
|
machine.setDeleted("0");
|
|
|
|
|
|
- machine.setMachineno(machineNo);
|
|
|
- ZhcxProjectDeviceNumberDo numberDo = summaryDataBo.getPrjDeviceNumMap().get(machineNo);
|
|
|
-
|
|
|
- if(ObjectUtil.isNotNull(numberDo)) {
|
|
|
- machine.setMachineid(numberDo.getId());
|
|
|
- }
|
|
|
+ //组装项目和机号
|
|
|
+ assembletProjectAndMachine(machineNo, summaryDataBo, machine, pmMap, dnMap);
|
|
|
|
|
|
machine.setFinishdate(LuckySheet4SummaryHelp.getDateDefaultNull(machineObj, "完成日期"));
|
|
|
String mochineStatus = machineObj.getString("状态");
|
|
@@ -1130,6 +1168,57 @@ public class ZhcxProjectManageServiceImpl extends ServiceImpl<ZhcxProjectManageD
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 组装机号和项目
|
|
|
+ *
|
|
|
+ * @param machineNo
|
|
|
+ * @param summaryDataBo
|
|
|
+ * @param machine
|
|
|
+ * @param pmMap
|
|
|
+ */
|
|
|
+ private void assembletProjectAndMachine(String machineNo, SaveSummaryDataBo summaryDataBo, ZhcxProjectRectifyMachineDo machine,
|
|
|
+ Map<String,ZhcxProjectManageDo> pmMap, Map<String, ZhcxProjectDeviceNumberDo> dnMap) {
|
|
|
+ machine.setMachineno(machineNo);
|
|
|
+
|
|
|
+ ZhcxProjectDeviceNumberDo numberDo = summaryDataBo.getPrjDeviceNumMap().get(machineNo);
|
|
|
+ if(ObjectUtil.isNotNull(numberDo)) {
|
|
|
+ machine.setMachineid(numberDo.getId());
|
|
|
+ }
|
|
|
+
|
|
|
+ ZhcxProjectManageDo project = summaryDataBo.getProject();
|
|
|
+ if(machineNo.contains("-")) {
|
|
|
+ final String[] machineNos = machineNo.split("-");
|
|
|
+ project = pmMap.get(machineNos[0]);
|
|
|
+ if(ObjectUtil.isNull(project)) {
|
|
|
+ final LambdaQueryWrapper<ZhcxProjectManageDo> queryWrapper = Wrappers.lambdaQuery();
|
|
|
+ queryWrapper.eq(ZhcxProjectManageDo::getProjectCode, machineNos[0])
|
|
|
+ .eq(ZhcxProjectManageDo::getDeleted, "0");
|
|
|
+ project = getOne(queryWrapper);
|
|
|
+ pmMap.put(machineNos[0], project);
|
|
|
+ }
|
|
|
+
|
|
|
+ ZhcxProjectDeviceNumberDo deviceNumberDo = dnMap.get(machineNos[0].concat("-").concat(machineNos[1]));
|
|
|
+ if(ObjectUtil.isNull(deviceNumberDo)) {
|
|
|
+ final LambdaQueryWrapper<ZhcxProjectDeviceNumberDo> dnLambdaQuery = Wrappers.lambdaQuery();
|
|
|
+ dnLambdaQuery.eq(ZhcxProjectDeviceNumberDo::getPid, project.getId())
|
|
|
+ .eq(ZhcxProjectDeviceNumberDo::getDeviceNumber, machineNos[1]);
|
|
|
+ deviceNumberDo = projectDeviceNumberService.getOne(dnLambdaQuery);
|
|
|
+
|
|
|
+ if(ObjectUtil.isNotNull(deviceNumberDo)) {
|
|
|
+ machine.setRealmachineid(deviceNumberDo.getId());
|
|
|
+ dnMap.put(machineNos[0].concat("-").concat(machineNos[1]), deviceNumberDo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ machine.setRealmachineno(machineNos[1]);
|
|
|
+ } else {
|
|
|
+ machine.setRealmachineno(machine.getMachineno());
|
|
|
+ machine.setRealmachineid(machine.getMachineid());
|
|
|
+ }
|
|
|
+ machine.setPrjcode(project.getProjectCode());
|
|
|
+ machine.setPrjname(project.getProjectEname());
|
|
|
+ machine.setPrjid(project.getId());
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 获取真实部门
|
|
|
*
|