Przeglądaj źródła

aps-报工时间不应该大于当前时间

sucheng 5 miesięcy temu
rodzic
commit
ce19cf2fc5

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

@@ -288,7 +288,7 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
         // 并且没有其他同设备同炉次的报工记录已经开工或报工,
         // 则报工记录对应开工时间的月份,加工设备对应熔炉的该月该熔炉的炉次号减1
         if (apsProcessOperationDo.getProcessway().equals("合并加工")) {
-            List<ApsProcessOperationProcessEquDo> equDoMergeStartingList = this.baseMapper.selectOtherMergeProcessEquByHeat(equDo.getId(), equDo.getProcessdeviceid(), recordsDo.getHeatnumber(),DateUtil.format(recordsDo.getStartworktime(),"yyyy-MM"));
+            List<ApsProcessOperationProcessEquDo> equDoMergeStartingList = this.baseMapper.selectOtherMergeProcessEquByHeat(equDo.getId(), equDo.getProcessdeviceid(), recordsDo.getHeatnumber(), DateUtil.format(recordsDo.getStartworktime(), "yyyy-MM"));
             if (equDoMergeStartingList.size() <= 0) {
                 //炉号-1
                 //加工设备ID
@@ -425,10 +425,10 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
                     ApsProcessOperationProcessEquDo startingEqu = sameDeviceList.get(0);
                     ApsReportRecordsDo startingRecord = this.baseMapper.getOneByEquId(startingEqu.getId());
                     earlyMergeStartDate = startingRecord.getStartworktime();
-                    if (ObjectUtil.isNotEmpty(startingRecord)){
-                        int count = apsProcessOperationProcessEquDao.selectHaveOtherDevice2(processdeviceid,startingRecord.getHeatnumber(),DateUtil.format(startingRecord.getStartworktime(),"yyyy-MM"));
+                    if (ObjectUtil.isNotEmpty(startingRecord)) {
+                        int count = apsProcessOperationProcessEquDao.selectHaveOtherDevice2(processdeviceid, startingRecord.getHeatnumber(), DateUtil.format(startingRecord.getStartworktime(), "yyyy-MM"));
                         if (count > 0) {
-                            log.error("存在其他已占用设备:{},不为合并加工工序的作业,开工时间:{},炉号:{}", processdeviceid, startingRecord.getStartworktime(),startingRecord.getHeatnumber());
+                            log.error("存在其他已占用设备:{},不为合并加工工序的作业,开工时间:{},炉号:{}", processdeviceid, startingRecord.getStartworktime(), startingRecord.getHeatnumber());
                             return R.error("正在加工的炉次还未报工完,不能开工新的炉次");
                         }
                     }
@@ -468,9 +468,9 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
             apsReportRecordsDo.setChiefoperatorid(currentUser.getId());
             apsReportRecordsDo.setChiefoperatorname(currentUser.getName());
             //开工时间
-            if (ObjectUtil.isNotEmpty(earlyMergeStartDate)){
+            if (ObjectUtil.isNotEmpty(earlyMergeStartDate)) {
                 apsReportRecordsDo.setStartworktime(earlyMergeStartDate);
-            }else {
+            } else {
                 apsReportRecordsDo.setStartworktime(DateUtil.date());
             }
 //        //报工时间
@@ -1441,6 +1441,9 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
         if (ObjectUtil.isEmpty(reportworktime)) {
             return R.error("报工时间不能为空");
         }
+        if (reportworktime.after(DateUtil.date())) {
+            return R.error("报工时间不应该大于当前时间");
+        }
         if (reportworktime.compareTo(startworktime) <= 0) {
             return R.error("报工时间必须大于开工时间");
         }
@@ -1912,7 +1915,7 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
 
     @Override
     public R haveEarlyStartWorkTime(ApsReportRecordsDo req) {
-        if (ObjectUtil.isEmpty(req.getId())){
+        if (ObjectUtil.isEmpty(req.getId())) {
             return R.error("报工记录ID不可为空");
         }
         ApsReportRecordsDo apsReportRecordsDo = this.getById(req.getId());
@@ -1924,9 +1927,9 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
         //如果该作业的加工方式是合并加工,并且其他同炉次的作业已报工,则
         //报工记录的开工时间=其他同炉次的作业的最早开工时间
         //设置报工记录的开工时间不可编辑
-        if (apsProcessOperationDo.getProcessway().equals("合并加工")){
-            String earlyTime = this.baseMapper.selectEarlyMergeByHeat(processequid,apsProcessOperationProcessEquDo.getProcessdeviceid(),apsReportRecordsDo.getHeatnumber(),DateUtil.format(apsReportRecordsDo.getStartworktime(),"yyyy-MM"));
-            if (ObjectUtil.isNotEmpty(earlyTime)){
+        if (apsProcessOperationDo.getProcessway().equals("合并加工")) {
+            String earlyTime = this.baseMapper.selectEarlyMergeByHeat(processequid, apsProcessOperationProcessEquDo.getProcessdeviceid(), apsReportRecordsDo.getHeatnumber(), DateUtil.format(apsReportRecordsDo.getStartworktime(), "yyyy-MM"));
+            if (ObjectUtil.isNotEmpty(earlyTime)) {
                 res = earlyTime;
             }
         }