ソースを参照

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

fangpy 1 年間 前
コミット
2f17a32513

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

@@ -63,8 +63,8 @@ public interface ApsProcessOperationProcessEquDao extends BaseMapper<ApsProcessO
     @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}")
-    void updateEquByCancelRecord(@Param("deviceId") String deviceId);
+    @Update("update asp_check_items set WAITREPORTID = REPLACE(REPLACE(REPLACE(WAITREPORTID,'${recordId},',''),',${recordId}',''),'${recordId}','') where ID = #{deviceId}")
+    void updateEquByCancelRecord(@Param("recordId") String recordId,@Param("deviceId") String deviceId);
 
     List<CommonUpdateProductionStatusReq> selectNeedUpdate(@Param("productIdList") List<String> productIdList);
 

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

@@ -18,7 +18,7 @@ public interface ApsProcessOutputProductDao extends BaseMapper<ApsProcessOutputP
     @Select("SELECT * FROM aps_process_output_product WHERE  DELETED = 0 AND PRODUCTID = #{productid}")
     List<ApsProcessOutputProductDo> getProcessOutputProductByProductid(@Param("productid") String productid);
 
-    @Update("update aps_process_output_product set ROLLNUM = ROLLNUM+1 where ID = #{outputid}")
+    @Update("update aps_process_operation_out_mater set ROLLNUM = ROLLNUM+1 where ID = #{outputid}")
     void updateRollNumById(@Param("outputid") String outputid);
 }
 

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

@@ -317,7 +317,9 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
     插单
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public R insertOrder(Map<String, Object> params) throws Exception {
+        ApsUtils.checkScheduling(null);
         String productionOrderId = params.get("PRODUCTIONORDERID").toString();
         String blankOrderId = params.get("BLANKORDERID").toString();
         String deliveryDateStr = params.get("DELIVERYDATE").toString();

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

@@ -122,7 +122,7 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
         ApsProcessOperationProcessEquDo equDo = apsProcessOperationProcessEquDao.selectById(processequid);
 
         //更新设备的待报工记录ID
-        apsProcessOperationProcessEquDao.updateEquByCancelRecord(equDo.getProcessdeviceid());
+        apsProcessOperationProcessEquDao.updateEquByCancelRecord(recordId, equDo.getProcessdeviceid());
 
         //作业明细的作业状态
         /**
@@ -186,11 +186,7 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
     @Transactional
     public R startReport(StartRePortReq req) {
 
-//        //根据设备ID查询对应车间代号和设备代号
-//        OrganizationCodeAndDeviceCodeVo organizationCodeAndDeviceCodeVo = this.baseMapper.selectOrganizationCodeAndDeviceCode(req.getProcessdeviceid());
-//        if(ObjectUtil.isEmpty(organizationCodeAndDeviceCodeVo)){
-//            return R.error("未找到对应的车间代号和设备代号");
-//        }
+
         //根据作业明细ID查询作业明细详情
         ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo = apsProcessOperationProcessEquService.getById(req.getUseDeviceId());
         //查询工序作业的详情
@@ -200,6 +196,25 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
         //查询订单的详情
         ApsProductionOrderDo apsProductionOrderDo = apsProductionOrderService.getById(apsBlankOrderDo.getProductionorderid());
 
+        //根据设备ID查询对应车间代号和设备代号
+        OrganizationCodeAndDeviceCodeVo organizationCodeAndDeviceCodeVo = this.baseMapper.selectOrganizationCodeAndDeviceCode(apsProcessOperationProcessEquDo.getProcessdeviceid());
+        if (ObjectUtil.isEmpty(organizationCodeAndDeviceCodeVo) || ObjectUtil.isEmpty(organizationCodeAndDeviceCodeVo.getDeviceCode()) || ObjectUtil.isEmpty(organizationCodeAndDeviceCodeVo.getOrganizationCode())) {
+            return R.error("未找到对应的车间代号和设备代号");
+        }
+        //设备的待加工ID
+        String waitReportId = organizationCodeAndDeviceCodeVo.getWaitReportId();
+        //如果工序作业加工设备已有其他作业状态为已开工,错误提示:该设备当前加工中的作业还未报工,不能开工新的作业
+        if (ObjectUtil.isNotEmpty(waitReportId)) {
+            //查询当前报工的工序作业明细详情
+            ApsReportRecordsDo apsReportRecordsDo = this.getById(waitReportId);
+            String processequid = apsReportRecordsDo.getProcessequid();
+            ApsProcessOperationProcessEquDo doingProcessEqu = apsProcessOperationProcessEquService.getById(processequid);
+            //计划开工时间不相等,表示不是合并工序
+            if (doingProcessEqu.getPlanstartdate().compareTo(apsProcessOperationProcessEquDo.getPlanstartdate()) != 0) {
+                return R.error("该设备当前加工中的作业还未报工,不能开工新的作业");
+            }
+        }
+
 
         //获取当前用户相关信息
         SysUserVo currentUser = CXCommonUtils.getCurrentUser();
@@ -279,7 +294,11 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
         this.baseMapper.updateProcessActualStartDate(apsProcessOperationDo.getId());
 
         //=============更新设备的报工记录ID=============
-        this.baseMapper.updateDeviceWaitReportId(apsReportRecordsDo.getId(), apsProcessOperationProcessEquDo.getProcessdeviceid());
+        String newWaitReportId = "";
+        if (ObjectUtil.isNotEmpty(waitReportId)) {
+            newWaitReportId = waitReportId + "," + apsReportRecordsDo.getId();
+        }
+        this.baseMapper.updateDeviceWaitReportId(newWaitReportId, apsProcessOperationProcessEquDo.getProcessdeviceid());
 
         //==========输入物料有批次号==============
         if (ObjectUtil.isNotEmpty(req.getInputBatchNumber())) {
@@ -515,7 +534,7 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
         this.baseMapper.updateProcessReportRoll(apsProcessOperationDo.getId());
 
         //=============更新设备的报工记录ID===========
-        this.baseMapper.updateDeviceWorkId(apsProcessOperationProcessEquDo.getProcessdeviceid());
+        apsProcessOperationProcessEquDao.updateEquByCancelRecord(apsReportRecordsDo.getId(), apsProcessOperationProcessEquDo.getProcessdeviceid());
 
         //============保存(报工)时,生成炉号和批次号=============
         //获取设备/炉 的炉号(每月、每个设备/炉 更新)

+ 6 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsBlankOrderHistoryDo.java

@@ -220,4 +220,10 @@ public class ApsBlankOrderHistoryDo extends BaseDo {
     @TableField("PLANNEDPRODUCTIONWORKSHOP")
     private String plannedproductionworkshop;
 
+    /**
+     * 坯料外观类型
+     */
+    @TableField("BLANKAPPEARANCE")
+    private String blankappearance;
+
 }

+ 7 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProductionTechnicalRequirementHistoryDo.java

@@ -1,5 +1,6 @@
 package com.rongwei.bsentity.domain;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.rongwei.rwcommon.base.BaseDo;
 import lombok.Data;
@@ -234,5 +235,11 @@ public class ApsProductionTechnicalRequirementHistoryDo extends BaseDo implement
      */
     private String blankproducttypeid;
 
+    /**
+     * 坯料外观类型
+     */
+    @TableField("BLANKAPPEARANCE")
+    private String blankappearance;
+
     private static final long serialVersionUID = 1L;
 }