Переглянути джерело

aps-报工后提交检验前拼接字段增加0值校验

sucheng 8 місяців тому
батько
коміт
cabfa8525c

+ 24 - 21
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsReportRecordsServiceImpl.java

@@ -620,9 +620,9 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
                 vo.setInitValue(0L);
                 Map<String, Object> codeData = cxAdminFeginClient.getSerialNumberCode(vo).getData();
                 heatNumber = codeData.get("code").toString();
-                if (StringUtils.isNotBlank(heatNumber)){
+                if (StringUtils.isNotBlank(heatNumber)) {
                     //判断如果heatNumber如果为000时再次调用序列号接口/修复跨月流水号问题
-                    if ("000".equals(heatNumber)){
+                    if ("000".equals(heatNumber)) {
                         codeData = cxAdminFeginClient.getSerialNumberCode(vo).getData();
                         heatNumber = codeData.get("code").toString();
                     }
@@ -909,7 +909,7 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
             ApsProductionOrderDo apsProductionOrderDo = apsProductionOrderService.getById(apsBlankOrderDo.getProductionorderid());
             //合并加工作业开工之后进行报工,同步更新一起开工的其他作业的加工参数
             if (ObjectUtil.isNotEmpty(apsReportMachiningDoList)) {
-                syncOtherEquRecords(apsProcessOperationDo,apsProcessOperationProcessEquDo,nowReportRecordsDo.getProcessequid(),apsReportMachiningDoList,currentUser);
+                syncOtherEquRecords(apsProcessOperationDo, apsProcessOperationProcessEquDo, nowReportRecordsDo.getProcessequid(), apsReportMachiningDoList, currentUser);
             }
 
             //如果工序作业是否坯料工序=是,检查每个报工输出物料批次号
@@ -1135,7 +1135,8 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
                 String outputdesc = "";
                 outputdesc += outputDo.getOutputmaterial().split(" ")[0];
                 outputdesc += " 厚" + CXCommonUtils.removeExtraZerosAndDecimal(outputDo.getThickness()) + "*宽" + CXCommonUtils.removeExtraZerosAndDecimal(outputDo.getWidth());
-                if (ObjectUtil.isNotEmpty(outputDo.getLength())) {
+                if (ObjectUtil.isNotEmpty(outputDo.getLength())
+                        && !CXCommonUtils.removeExtraZerosAndDecimal(outputDo.getLength()).equals("0")) {
                     outputdesc += "*长" + CXCommonUtils.removeExtraZerosAndDecimal(outputDo.getLength());
                 }
                 outputdesc += " mm " + CXCommonUtils.removeExtraZerosAndDecimal(outputDo.getWeight()) + "吨";
@@ -1710,6 +1711,7 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
             startWorkLock.remove(req.getUseDeviceId());
         }
     }
+
     @NotNull
     private String toSortBatchNumber(@NotNull String batchNumber) {
         String[] parts = batchNumber.split("-");
@@ -1733,18 +1735,18 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
         return R.ok();
     }
 
-    private int sortAsc(List<String> parts1,List<String> parts2){
+    private int sortAsc(List<String> parts1, List<String> parts2) {
         int length1 = parts1.size();
         int length2 = parts2.size();
-        if(length1 == 0){
+        if (length1 == 0) {
             return -1;
         }
-        if(length2 == 0){
+        if (length2 == 0) {
             return 1;
         }
         if (Integer.parseInt(parts1.get(0).replace("*", "")) != Integer.parseInt(parts2.get(0).replace("*", ""))) {
             return Integer.parseInt(parts1.get(0).replace("*", "")) - Integer.parseInt(parts2.get(0).replace("*", ""));
-        }else {
+        } else {
             parts1.remove(0);
             parts2.remove(0);
             return sortAsc(parts1, parts2);
@@ -1754,34 +1756,35 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
 
     /**
      * 更新合并加工的工序作业明细相关的报工记录下面的报工记录加工参数子表数据
+     *
      * @param apsProcessOperationDo
      * @param apsProcessOperationProcessEquDo
      * @param processEquId
      * @param apsReportMachiningDoList
      */
-    private void syncOtherEquRecords(ApsProcessOperationDo apsProcessOperationDo,ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo,String processEquId,List<ApsReportMachiningDo> apsReportMachiningDoList,SysUserVo currentUser){
+    private void syncOtherEquRecords(ApsProcessOperationDo apsProcessOperationDo, ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo, String processEquId, List<ApsReportMachiningDo> apsReportMachiningDoList, SysUserVo currentUser) {
         List<ApsReportMachiningDo> machList = apsReportMachiningService.list();
         List<String> mainRecordIds = machList.stream().map(ApsReportMachiningDo::getMainid).distinct().collect(Collectors.toList());
-        if ("合并加工".equals(apsProcessOperationDo.getProcessway())){
+        if ("合并加工".equals(apsProcessOperationDo.getProcessway())) {
             List<ApsProcessOperationProcessEquDo> list = apsProcessOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
                     .eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, apsProcessOperationProcessEquDo.getProcessdeviceid())
-                    .eq(ApsProcessOperationProcessEquDo::getPlanstartdate,apsProcessOperationProcessEquDo.getPlanstartdate())
-                    .eq(ApsProcessOperationProcessEquDo::getProcessid,apsProcessOperationDo.getId())
-                    .notIn(ApsProcessOperationProcessEquDo::getId,processEquId)
-                    .and(qw-> qw.gt(ApsProcessOperationProcessEquDo::getActualfinishdate,apsProcessOperationProcessEquDo.getActualstartdate()).or().isNull(ApsProcessOperationProcessEquDo::getActualfinishdate)));
+                    .eq(ApsProcessOperationProcessEquDo::getPlanstartdate, apsProcessOperationProcessEquDo.getPlanstartdate())
+                    .eq(ApsProcessOperationProcessEquDo::getProcessid, apsProcessOperationDo.getId())
+                    .notIn(ApsProcessOperationProcessEquDo::getId, processEquId)
+                    .and(qw -> qw.gt(ApsProcessOperationProcessEquDo::getActualfinishdate, apsProcessOperationProcessEquDo.getActualstartdate()).or().isNull(ApsProcessOperationProcessEquDo::getActualfinishdate)));
             List<String> equIds = list.stream().map(ApsProcessOperationProcessEquDo::getId).collect(Collectors.toList());
-            log.info("待同步工序作业主键数据:{}",equIds);
-            if (!equIds.isEmpty()){
+            log.info("待同步工序作业主键数据:{}", equIds);
+            if (!equIds.isEmpty()) {
                 List<ApsReportRecordsDo> recordsDos = this.list(new LambdaQueryWrapper<ApsReportRecordsDo>()
                         .eq(ApsReportRecordsDo::getDeleted, "0")
                         .in(ApsReportRecordsDo::getProcessequid, equIds)
-                        .in(ApsReportRecordsDo::getReportworkstatus,"已开工","已报工"));
-                recordsDos.forEach(info ->{
-                    if (mainRecordIds.contains(info.getId())){
+                        .in(ApsReportRecordsDo::getReportworkstatus, "已开工", "已报工"));
+                recordsDos.forEach(info -> {
+                    if (mainRecordIds.contains(info.getId())) {
                         apsReportMachiningService.remove(new LambdaUpdateWrapper<ApsReportMachiningDo>()
                                 .eq(ApsReportMachiningDo::getMainid, info.getId()));
                     }
-                    apsReportMachiningDoList.forEach(mach->{
+                    apsReportMachiningDoList.forEach(mach -> {
                         mach.setId(SecurityUtil.getUUID());
                         mach.setMainid(info.getId());
                         mach.setCreatedate(new Date());
@@ -1791,7 +1794,7 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
                         mach.setModifyuserid(currentUser.getId());
                         mach.setModifyusername(currentUser.getName());
                     });
-                    if (!apsReportMachiningDoList.isEmpty()){
+                    if (!apsReportMachiningDoList.isEmpty()) {
                         apsReportMachiningService.saveBatch(apsReportMachiningDoList);
                     }
                 });