Parcourir la source

Merge remote-tracking branch 'origin/mode-min-unit' into mode-min-unit

fangpy il y a 1 an
Parent
commit
59d52f613f

+ 3 - 4
bs-common/src/main/java/com/rongwei/safecommon/utils/ExportExceByEasyExcel.java

@@ -14,7 +14,6 @@ import org.springframework.stereotype.Component;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.ByteArrayOutputStream;
-import java.io.File;
 import java.util.List;
 
 import static com.rongwei.safecommon.utils.SaveConstans.NotifyTitle.WEEK_HIDDEN_DANGER_TASK;
@@ -26,11 +25,11 @@ import static com.rongwei.safecommon.utils.SaveConstans.NotifyTitle.WEEK_HIDDEN_
  * @date 2024/02/02
  */
 @Component
-public class ExportExceByEasyExcel {
+public class ExportExcelByEasyExcel {
 
-    private static final Logger log = LoggerFactory.getLogger(ExportExceByEasyExcel.class.getName());
+    private static final Logger log = LoggerFactory.getLogger(ExportExcelByEasyExcel.class.getName());
 
-    public static <T> String genarteExcel(String file, String originalFilename, String notifyId, List<T> data, Class<T> className) {
+    public static <T> String generateExcel(String file, String originalFilename, String notifyId, List<T> data, Class<T> className) {
         String returnStr = "";
         try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();) {
             ExcelWriter excelWriter = EasyExcel.write(byteArrayOutputStream).build();

+ 1 - 1
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOperationProcessEquDao.java

@@ -57,7 +57,7 @@ public interface ApsProcessOperationProcessEquDao extends BaseMapper<ApsProcessO
     @Select("select PRODUCTIONORDERID AS 'orderId',MIN(PRODUCTSTATUS) AS 'minProductionStatus',MAX(PRODUCTSTATUS) AS 'maxProductionStatus' from aps_blank_order where DELETED = 0 AND PRODUCTIONORDERID = (select PRODUCTIONORDERID from aps_blank_order where ID = #{blankId}) GROUP BY PRODUCTIONORDERID")
     CommonUpdateProductionStatusReq selectBlankMinAndMaxStatus(@Param("blankId") String blankId);
 
-    @Update("update aps_process_operation_process_equ set STARTINGROLL = STARTINGROLL - 1,WAITREPORTID = null where ID = #{processequid}")
+    @Update("update aps_process_operation_process_equ set STARTINGROLL = STARTINGROLL - 1,WAITREPORTID = null,DOINGBATCHNUMBER = '' where ID = #{processequid}")
     void updateByCancelRecord(@Param("processequid") String processequid);
 
     @Update("update asp_check_items set WAITREPORTID = null where ID = #{deviceId}")

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

@@ -10,6 +10,7 @@ import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.google.common.collect.Lists;
 import com.rongwei.bscommon.sys.dao.*;
@@ -147,7 +148,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void blankApsCancel(List<String> apsBlankIds) {
-        ApsUtils.checkScheduling();
+        ApsUtils.checkScheduling(null);
         if (ObjectUtil.isEmpty(apsBlankIds)) {
             log.debug("坯料计划排程取消参数为空");
             return;
@@ -168,7 +169,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R publish(List<String> blankIds) {
-        ApsUtils.checkScheduling();
+        ApsUtils.checkScheduling(null);
         if (blankIds == null || blankIds.isEmpty()) {
             log.debug("坯料计划为空");
             return R.error("坯料计划id 必传");
@@ -254,7 +255,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R publishCancel(List<String> blankIds) {
-        ApsUtils.checkScheduling();
+        ApsUtils.checkScheduling(null);
         if (blankIds == null || blankIds.isEmpty()) {
             log.debug("坯料计划为空");
             return R.error("坯料计划id 必传");
@@ -364,6 +365,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R orderLock(OrderLockVo orderLockVo) {
+        ApsUtils.checkScheduling(null);
         String lockMark = orderLockVo.getLockMark();
         if (StringUtils.isBlank(lockMark)) {
             log.error("锁定状态必填");
@@ -450,6 +452,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
     public void apsReScheduling() throws Exception {
         //获取当前用户的所属工厂
         SysUserVo currentUser = CXCommonUtils.getCurrentUser();
+        ApsUtils.checkScheduling(currentUser);
         String tenantId = currentUser.getOrganizationDoList().get(0).getFullpid().split(",")[1];
 
 //        List<ApsBlankOrderVo> notLockOrders = apsBlankOrderDao.getNotLockOrders(tenantId);
@@ -2032,6 +2035,14 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         //物理删除相关的作业明细备份
         this.baseMapper.deleteProcessEquBackupByBlankId(req.getId());
 
+        //如果是否备料=是,备料对应在制品的备料计划ID=(空),在制品状态=备料中
+        if (apsBlankOrderDo.getPreparematerial().equals("是")) {
+            apsWorkInProgressInventoryService.update(new UpdateWrapper<ApsWorkInProgressInventoryDo>().lambda()
+                    .set(ApsWorkInProgressInventoryDo::getBlankid, "")
+                    .set(ApsWorkInProgressInventoryDo::getWorkinprocessstatus, SaveConstans.WorkInProgressStatus.WAITING)
+                    .eq(ApsWorkInProgressInventoryDo::getBlankid, req.getId()));
+        }
+
         //查询此订单的其他任一一个坯料计划的Id,重新更新订单的状态
         CommonUpdateProductionStatusReq commonUpdateProductionStatusReq = new CommonUpdateProductionStatusReq();
         List<ApsBlankOrderDo> list = this.list(new QueryWrapper<ApsBlankOrderDo>().lambda().eq(ApsBlankOrderDo::getProductionorderid, apsBlankOrderDo.getProductionorderid()));

+ 3 - 1
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProcessOperationProcessEquServiceImpl.java

@@ -216,7 +216,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R changingWires(List<ChangingWiresVo> changingWiresVos) {
-        ApsUtils.checkScheduling();
+        ApsUtils.checkScheduling(null);
         if (changingWiresVos.isEmpty()) {
             log.error("换线作业的工序作业不为空");
             return R.error("工序作业不能为空");
@@ -392,6 +392,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
     @Transactional(rollbackFor = Exception.class)
     public R changeStartTime(List<ChangeStartTimeVo> changeStartTimeVos) {
         /// 设计到修改的工序作业ID
+        ApsUtils.checkScheduling(null);
         List<String> affectedIdList = new ArrayList<>();
         changeStartTimeVos.forEach(changeStartTimeVo -> {
             String id = changeStartTimeVo.getId();
@@ -453,6 +454,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R updateDetails(JobDetailsVo jobDetailsVo) {
+        ApsUtils.checkScheduling(null);
         List<String> affectedIdList = new ArrayList<>();
         String id = jobDetailsVo.getId();
         affectedIdList.add(id);

+ 3 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProcessOperationServiceImpl.java

@@ -1339,6 +1339,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
     @Override
     public R backupProcessOperation() {
         SysUserVo currentUser = CXCommonUtils.getCurrentUser();
+        ApsUtils.checkScheduling(currentUser);
         // 先删除
         ApsUtils.clearBackup(currentUser);
         List<ApsProcessOperationDo> apsProcessOperationDos = apsProcessOperationDao.selectList(
@@ -1364,6 +1365,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
     public R backupRestoreProcessOperation() {
         log.debug("开始恢复工序作业备份信息");
         SysUserVo currentUser = CXCommonUtils.getCurrentUser();
+        ApsUtils.checkScheduling(currentUser);
         String factoryId = null;
         if (currentUser != null) {
             List<SysOrganizationVo> organizationDoList = currentUser.getOrganizationDoList();
@@ -1412,6 +1414,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
      */
     @Override
     public R cancelConflict(List<String> ids) {
+        ApsUtils.checkScheduling(null);
         List<String> collect = ids.stream().filter(StringUtils::isNotBlank).collect(Collectors.toList());
         if (collect.isEmpty()) {
             log.error("参数异常");

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

@@ -110,7 +110,7 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
         //工序作业明细ID
         String processequid = recordsDo.getProcessequid();
 
-        //更新该工序作业的作业明细的作业状态字段、已开工卷数、明细的待报工记录ID=(空)
+        //更新该工序作业的作业明细的作业状态字段、已开工卷数、明细的待报工记录ID=(空),加工中批次号=(空)
         apsProcessOperationProcessEquDao.updateByCancelRecord(processequid);
 
         //更新该工序作业的已开工卷数-1
@@ -259,6 +259,9 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
             //更新实际开工时间
             needUpdateProcessOperationProcessEqu.setActualstartdate(DateUtil.date());
         }
+        if (ObjectUtil.isNotEmpty(req.getInputBatchNumber())) {
+            needUpdateProcessOperationProcessEqu.setDoingbatchnumber(req.getInputBatchNumber());
+        }
         apsProcessOperationProcessEquService.updateById(needUpdateProcessOperationProcessEqu);
 
         //===============更新工序作业==================
@@ -482,6 +485,8 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
         if (apsProcessOperationProcessEquDo.getClosestatus().equals("未完工") && apsProcessOperationProcessEquDo.getStartingroll() > 0) {
             needUpdateProcessOperationProcessEquDo.setWorkstatus("加工中");
         }
+        //清空加工中批次号
+        needUpdateProcessOperationProcessEquDo.setDoingbatchnumber("");
         apsProcessOperationProcessEquService.updateById(needUpdateProcessOperationProcessEquDo);
 
         //==============更新工序作业信息==============
@@ -542,7 +547,7 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
         //查询新的输出物料
         List<ApsReportOutputDo> newOutputDos = apsReportOutputService.list(new QueryWrapper<ApsReportOutputDo>().lambda().eq(ApsReportOutputDo::getMainid, apsReportRecordsDo.getId()));
         //填补对应的检验等级和是否合格
-        if(apsReportOutputDoList.size() == newOutputDos.size()){
+        if (apsReportOutputDoList.size() == newOutputDos.size()) {
             for (int i = 0; i < newOutputDos.size(); i++) {
                 newOutputDos.get(i).setInsepctionlevel(apsReportOutputDoList.get(i).getInsepctionlevel());
                 newOutputDos.get(i).setQualified(apsReportOutputDoList.get(i).getQualified());

+ 11 - 9
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/utils/ApsUtils.java

@@ -33,7 +33,12 @@ public class ApsUtils {
     private ApsProcessOperationProcessEquBackupDao autoApsProcessOperationProcessEquBackupDao;
     @Autowired
     private RedissonClient autoredissonClient;
-
+    @PostConstruct
+    public void info() {
+        apsProcessOperationBackupDao = autoApsProcessOperationBackupDao;
+        apsProcessOperationProcessEquBackupDao = autoApsProcessOperationProcessEquBackupDao;
+        redissonClient = autoredissonClient;
+    }
     /**
      * 删除当前员工所属工厂的排程备份信息
      *
@@ -54,9 +59,11 @@ public class ApsUtils {
      * 校验当前是否正在排程中
      * 正在排程的情况下抛出异常
      */
-    public static void checkScheduling() {
+    public static void checkScheduling(SysUserVo currentUser ) {
         // 当前等路人所属工厂
-        SysUserVo currentUser = CXCommonUtils.getCurrentUser();
+        if(currentUser==null){
+            currentUser = CXCommonUtils.getCurrentUser();
+        }
         String tenantId = currentUser.getOrganizationDoList().get(0).getFullpid().split(",")[1];
         if (StringUtils.isBlank(tenantId)) {
             throw new CustomException("当前用户所属工厂信息为空");
@@ -70,12 +77,7 @@ public class ApsUtils {
         }
     }
 
-    @PostConstruct
-    public void info() {
-        apsProcessOperationBackupDao = autoApsProcessOperationBackupDao;
-        apsProcessOperationProcessEquBackupDao = autoApsProcessOperationProcessEquBackupDao;
-        redissonClient = autoredissonClient;
-    }
+
 
 
 }

+ 1 - 1
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsProcessOperationProcessEquDao.xml

@@ -177,7 +177,7 @@
         DATE(a6.SCHEDULEDELIVERYDATE)> DATE(a6.DELIVERYDATE)
         ),1,0) as conflict,
         a1.SOFTCONFLICTDES,
-        a2.INMATERCONDITION,
+        a2.PLANINPUT AS INMATERCONDITION,
         a6.CUSTOMORDERNO,
         a3.OUTPUTORDERPRODUCT,
         c.NAME AS DEVICETYPE,

+ 5 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationProcessEquBackupDo.java

@@ -148,4 +148,9 @@ public class ApsProcessOperationProcessEquBackupDo extends BaseDo implements Ser
      * 后道工序ID
      */
     private String nextprocessesids;
+    /**
+     * 加工中批次号
+     */
+    @TableField("DOINGBATCHNUMBER")
+    private String doingbatchnumber;
 }

+ 5 - 1
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationProcessEquDo.java

@@ -168,5 +168,9 @@ public class ApsProcessOperationProcessEquDo extends BaseDo {
      */
     @TableField("NEXTPROCESSESIDS")
     private String nextprocessesids;
-
+    /**
+     * 加工中批次号
+     */
+    @TableField("DOINGBATCHNUMBER")
+    private String doingbatchnumber;
 }

+ 1 - 1
cx-aps/cx-aps-server/src/main/java/com/rongwei/bsserver/controller/ApsProcessOperationProcessEquController.java

@@ -66,7 +66,7 @@ public class ApsProcessOperationProcessEquController {
      */
     @PostMapping("/optional/equipment")
     public R getOptionalEquipment(@RequestBody List<String> operationJobDetailsId){
-        log.info("开始进行换线作业");
+        log.info("换线获取可选设备");
         return  apsProcessOperationProcessEquService.getOptionalEquipment(operationJobDetailsId);
     }
 

+ 2 - 2
cx-safe-check/cx-save-check-common/src/main/java/com/rongwei/sfcommon/sys/service/impl/SafeCheckSendNotifyServiceImpl.java

@@ -12,7 +12,7 @@ import com.rongwei.rwcommon.base.R;
 import com.rongwei.rwcommon.utils.SecurityUtil;
 import com.rongwei.rwcommon.utils.StringUtils;
 import com.rongwei.safecommon.utils.CXCommonUtils;
-import com.rongwei.safecommon.utils.ExportExceByEasyExcel;
+import com.rongwei.safecommon.utils.ExportExcelByEasyExcel;
 import com.rongwei.sfcommon.sys.dao.DangerousDao;
 import com.rongwei.sfcommon.sys.dao.SaveCheckCommonDao;
 import com.rongwei.sfcommon.sys.service.SafeCheckSendNotifyService;
@@ -431,7 +431,7 @@ public class SafeCheckSendNotifyServiceImpl implements SafeCheckSendNotifyServic
         // 消息提醒ID
         String notifyId = SecurityUtil.getUUID();
 
-        String fileNameAndId = ExportExceByEasyExcel.genarteExcel("file",WEEK_HIDDEN_DANGER_TASK + simpleDateFormat.format(new Date()) + XLSX ,
+        String fileNameAndId = ExportExcelByEasyExcel.generateExcel("file",WEEK_HIDDEN_DANGER_TASK + simpleDateFormat.format(new Date()) + XLSX ,
                 notifyId, exportData, ExportHiddenDangerVo.class);
         if(StringUtils.isBlank(fileNameAndId)){
             return;