Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

xiahan 1 rok temu
rodzic
commit
d867a375a1

+ 20 - 12
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsBlankOrderServiceImpl.java

@@ -197,13 +197,13 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         List<ApsProcessOperationProcessEquDo> processOperationProcessEquDos = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
                 .in(ApsProcessOperationProcessEquDo::getBlankid, blankIds)
                 .eq(BaseDo::getDeleted, "0"));
-        if(processOperationProcessEquDos.isEmpty()){
+        if (processOperationProcessEquDos.isEmpty()) {
             log.error("当前坯料计划不存在工序作业明细");
             return R.error("无法根据坯料计划找到工序作业明细");
         }
         // 判断是否存在强制冲突不为空的数据
         boolean b = processOperationProcessEquDos.stream().anyMatch(info -> StringUtils.isNotBlank(info.getConflictdes()));
-        if(b){
+        if (b) {
             log.error("存在强制冲突无法发布");
             return R.error("请先解决冲突在发布");
         }
@@ -483,13 +483,13 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         // 当前等路人所属工厂
         SysUserVo currentUser = CXCommonUtils.getCurrentUser();
         String tenantId = currentUser.getOrganizationDoList().get(0).getFullpid().split(",")[1];
-        if(StringUtils.isBlank(tenantId)){
+        if (StringUtils.isBlank(tenantId)) {
             throw new CustomException("所属工厂不能为空");
         }
         assert apsBlankOrders != null : "排程订单不能为空";
         // 按照所属工厂加锁
         RLock rLock = redissonClient.getLock(tenantId);
-        try{
+        try {
             // 加锁最大1小时
             rLock.lock(1, TimeUnit.HOURS);
             // 合并待发布未锁定的订单一起排程
@@ -497,7 +497,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
             String idStrs = CollUtil.join(hasIds, "','");
             idStrs = "'" + idStrs + "'";
             // 查询存在未锁定的作业坯料计划
-            List<ApsBlankOrderVo> fbNotLock = apsBlankOrderDao.getFbNotLock(idStrs,tenantId);
+            List<ApsBlankOrderVo> fbNotLock = apsBlankOrderDao.getFbNotLock(idStrs, tenantId);
             if (fbNotLock != null && fbNotLock.size() > 0) {
                 apsBlankOrders.addAll(fbNotLock);
             }
@@ -513,7 +513,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
             logger.info("排程数据:" + JSONUtil.toJsonStr(productionScheduleVo, jsonConfig));
             // APS平台排程接口调用
             ProductionScheduleRetVo productionScheduleRetVo = rwApsServer.productionSchedule(productionScheduleVo);
-            if(!"200".equals(productionScheduleRetVo.getCode())){
+            if (!"200".equals(productionScheduleRetVo.getCode())) {
                 throw new CustomException(productionScheduleRetVo.getMsg());
             }
             // 排程结果保存
@@ -625,9 +625,9 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
             }
 
             backupProcessOperation(apsProcessOperationProcessEquDos, productionScheduleRetVo.getProcesses());
-        }catch (Exception e){
+        } catch (Exception e) {
             throw e;
-        }finally {
+        } finally {
             rLock.unlock();
         }
     }
@@ -1263,9 +1263,9 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                 .in(ApsProcessOperationProcessEquDo::getBlankid, blankids));
         // 更新生产订单的状态
         apsProductionOrderService.update(new LambdaUpdateWrapper<ApsProductionOrderDo>()
-                .in(ApsProductionOrderDo::getId,apsProductionOrderIds)
+                .in(ApsProductionOrderDo::getId, apsProductionOrderIds)
                 .set(ApsProductionOrderDo::getScheduledeliverydate, null)
-                .set(ApsProductionOrderDo::getProductionstatus,TO_BE_SCHEDULED));
+                .set(ApsProductionOrderDo::getProductionstatus, TO_BE_SCHEDULED));
         // 更新坯料计划的状态
         this.baseMapper.cancelSchedulingUpdate(blankids);
         //获取坯料计划用到的产品明细ID
@@ -1669,10 +1669,18 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         List<ApsBlankOrderDo> list = this.list(new QueryWrapper<ApsBlankOrderDo>().lambda().eq(ApsBlankOrderDo::getProductionorderid, apsBlankOrderDo.getProductionorderid()));
         if (ObjectUtil.isNotEmpty(list)) {
             commonUpdateProductionStatusReq.setBlankId(list.get(0).getId());
+            apsProcessOperationProcessEquService.updateProductionStatus(commonUpdateProductionStatusReq);
         } else {
-            commonUpdateProductionStatusReq.setOrderId(apsBlankOrderDo.getProductionorderid());
+            //更新订单生产状态为“待排程10”
+            apsProductionOrderService.update(new LambdaUpdateWrapper<ApsProductionOrderDo>()
+                    .eq(ApsProductionOrderDo::getId, apsBlankOrderDo.getProductionorderid())
+                    .set(ApsProductionOrderDo::getProductionstatus, TO_BE_SCHEDULED));
+            //更新订单的产品明细的生产状态为“待排程10”
+            apsProductDetailService.update(new LambdaUpdateWrapper<ApsProductDetailDo>()
+                    .eq(ApsProductDetailDo::getMainid, apsBlankOrderDo.getProductionorderid())
+                    .set(ApsProductDetailDo::getProductstatus, TO_BE_SCHEDULED));
         }
-        apsProcessOperationProcessEquService.updateProductionStatus(commonUpdateProductionStatusReq);
+
 
         return R.ok();
     }

+ 15 - 9
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsReportOutputServiceImpl.java

@@ -126,6 +126,8 @@ public class ApsReportOutputServiceImpl extends ServiceImpl<ApsReportOutputDao,
                 apsReportOutputDo.setQrcode(qrCode);
                 resList.add(apsReportOutputDo);
             } else {//输出物料数量>1,或者单卷输出数量>1
+                //分卷开始初始化值
+                int j = 1;
                 for (ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo : list) {
                     int outval = apsProcessOperationOutMaterDo.getOutval();
                     for (int i = 1; i <= outval; i++) {
@@ -137,15 +139,19 @@ public class ApsReportOutputServiceImpl extends ServiceImpl<ApsReportOutputDao,
                         apsReportOutputDo.setOutputmaterial(apsProcessOperationOutMaterDo.getOutputmaterial());
                         apsReportOutputDo.setLevel(req.getLevel());
                         //生成批次号
-                        //生成批次号
-                        SysSerialVo vo = new SysSerialVo();
-                        vo.setModulecode("aps_report_output_" + req.getInputBatchNumber().split("-")[0]);
-                        vo.setRuleTemplateStr(req.getInputBatchNumber().split("-")[0] + "-" + "@{serialNumber:#00}");
-                        vo.setResetrule("date:yyyyMM");
-                        vo.setIfautomaticreset("y");
-                        vo.setInitValue(0L);
-                        Map<String, Object> codeData = cxAdminFeginClient.getSerialNumberCode(vo).getData();
-                        String code = codeData.get("code").toString();
+                        //不用走系统生成的批次号了,按照输入的批次号就行分卷就行
+                        String code = req.getInputBatchNumber() + "_" + j;
+                        j++;
+
+//                        //生成批次号
+//                        SysSerialVo vo = new SysSerialVo();
+//                        vo.setModulecode("aps_report_output_" + req.getInputBatchNumber());
+//                        vo.setRuleTemplateStr(req.getInputBatchNumber() + "-" + "@{serialNumber:#00}");
+//                        vo.setResetrule("date:yyyyMM");
+//                        vo.setIfautomaticreset("y");
+//                        vo.setInitValue(0L);
+//                        Map<String, Object> codeData = cxAdminFeginClient.getSerialNumberCode(vo).getData();
+//                        String code = codeData.get("code").toString();
 
                         apsReportOutputDo.setOutputnumber(code);
                         JSONObject json = new JSONObject();

+ 4 - 1
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/EquDieseloilUseManagementServiceImpl.java

@@ -73,7 +73,10 @@ public class EquDieseloilUseManagementServiceImpl extends ServiceImpl<EquDieselo
         LambdaQueryWrapper<EquDieseloilUseManagementDo> queryWrapper = setqueryWrapper(dieseloilUseManagementDoList,tenantid);
         List<EquDieseloilUseManagementDo> oldList = equDieseloilUseManagementDao.selectList(queryWrapper);
 
-        List<String> dieseldates = oldList.stream().map(info ->DateUtil.format(info.getDieseldate(),DATE_PATTERN_YMD) ).collect(Collectors.toList());
+        List<String> dieseldates = oldList.stream().map(info ->DateUtil.format(info.getDieseldate(),DATE_PATTERN_YMD) ).distinct().collect(Collectors.toList());
+        if (dieseldates.size()<oldList.size()){
+            return R.error("上传文件内存在重复的日期,请检查");
+        }
 
         //通过时间判断是否有相同的数据
         for (EquDieseloilUseManagementDo dieseloilUseManagementDo:dieseloilUseManagementDoList){