瀏覽代碼

Merge remote-tracking branch 'origin/master'

xiahan 1 年之前
父節點
當前提交
bf064d6027
共有 62 個文件被更改,包括 3899 次插入65 次删除
  1. 5 4
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsBlankOrderDao.java
  2. 26 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsBlankOrderHistoryDao.java
  3. 9 1
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsOrderAlloyCompositionDao.java
  4. 13 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsOrderAlloyCompositionHistoryDao.java
  5. 4 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOperationDao.java
  6. 7 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOperationEquDao.java
  7. 21 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOperationEquHistoryDao.java
  8. 22 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOperationHistoryDao.java
  9. 8 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOperationOutMaterDao.java
  10. 21 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOperationOutMaterHistoryDao.java
  11. 9 1
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOutputProductDao.java
  12. 19 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOutputProductHistoryDao.java
  13. 6 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProductDetailDao.java
  14. 13 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProductDetailHistoryDao.java
  15. 8 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProductionMergeOrderDao.java
  16. 19 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProductionMergeOrderHistoryDao.java
  17. 5 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProductionOrderDao.java
  18. 23 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProductionOrderHistoryDao.java
  19. 8 1
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProductionTechnicalRequirementDao.java
  20. 14 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProductionTechnicalRequirementHistoryDao.java
  21. 1 1
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsReportRecordsDao.java
  22. 23 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsBlankOrderHistoryService.java
  23. 1 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsBlankOrderService.java
  24. 9 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsOrderAlloyCompositionHistoryService.java
  25. 17 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProcessOperationEquHistoryService.java
  26. 21 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProcessOperationHistoryService.java
  27. 12 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProcessOperationOutMaterHistoryService.java
  28. 10 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProcessOutputProductHistoryService.java
  29. 16 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProductDetailHistoryService.java
  30. 3 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProductDetailService.java
  31. 11 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProductionMergeOrderHistoryService.java
  32. 17 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProductionOrderHistoryService.java
  33. 2 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProductionOrderService.java
  34. 9 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProductionTechnicalRequirementHistoryService.java
  35. 56 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsBlankOrderHistoryServiceImpl.java
  36. 93 49
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsBlankOrderServiceImpl.java
  37. 16 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsOrderAlloyCompositionHistoryServiceImpl.java
  38. 21 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProcessOperationEquHistoryServiceImpl.java
  39. 52 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProcessOperationHistoryServiceImpl.java
  40. 23 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProcessOperationOutMaterHistoryServiceImpl.java
  41. 22 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProcessOutputProductHistoryImpl.java
  42. 34 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProductDetailServiceHistoryImpl.java
  43. 131 7
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProductDetailServiceImpl.java
  44. 23 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProductionMergeOrderHistoryServiceImpl.java
  45. 52 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProductionOrderServiceHistoryImpl.java
  46. 193 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProductionOrderServiceImpl.java
  47. 23 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProductionTechnicalRequirementHistoryServiceImpl.java
  48. 1 1
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsReportOutputServiceImpl.java
  49. 216 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsBlankOrderHistoryDo.java
  50. 46 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsOrderAlloyCompositionHistoryDo.java
  51. 69 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationEquHistoryDo.java
  52. 458 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationHistoryDo.java
  53. 287 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationOutMaterHistoryDo.java
  54. 395 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOutputProductHistoryDo.java
  55. 175 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProductDetailHistoryDo.java
  56. 171 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProductionMergeOrderHistoryDo.java
  57. 626 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProductionOrderHistoryDo.java
  58. 238 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProductionTechnicalRequirementHistoryDo.java
  59. 17 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/ApsProcessOutputProductAndBlankStatusVo.java
  60. 19 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/UpdateProductDetailsAndBlankOutputReq.java
  61. 15 0
      cx-aps/cx-aps-server/src/main/java/com/rongwei/bsserver/controller/ApsProductDetailController.java
  62. 15 0
      cx-aps/cx-aps-server/src/main/java/com/rongwei/bsserver/controller/ApsProductionOrderController.java

+ 5 - 4
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsBlankOrderDao.java

@@ -1,9 +1,7 @@
 package com.rongwei.bscommon.sys.dao;
 
-import com.rongwei.bsentity.domain.ApsBlankOrderDo;
+import com.rongwei.bsentity.domain.*;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.rongwei.bsentity.domain.ApsProcessOperationProcessEquDo;
-import com.rongwei.bsentity.domain.AspCheckItemsDo;
 import com.rongwei.bsentity.vo.ApsBlankOrderVo;
 import com.rongwei.bsentity.vo.BlankIdAndProcessStatusVo;
 import com.rongwei.bsentity.vo.WashingMetal;
@@ -94,7 +92,7 @@ public interface ApsBlankOrderDao extends BaseMapper<ApsBlankOrderDo> {
     @Update("update aps_process_operation set SECONDROLL = SECONDROLL+1 where ID = #{processoperationid}")
     void processAddSecondRoll(@Param("processoperationid") String processoperationid);
 
-    @Update("update aps_process_operation_process_equ set BACHMATERIALPROCESS = REPLACE(REPLACE(BACHMATERIALPROCESS,'${batchnumber},',''),',${batchnumber}','') where DELETED = 0 AND PROCESSID IN (select ID from aps_process_operation where DELETED = 0 AND PREVIOUSPROCESSID = #{processoperationid})")
+    @Update("update aps_process_operation_process_equ set BACHMATERIALPROCESS = REPLACE(REPLACE(REPLACE(BACHMATERIALPROCESS,'${batchnumber},',''),',${batchnumber}',''),'${batchnumber}','') where DELETED = 0 AND PROCESSID IN (select ID from aps_process_operation where DELETED = 0 AND PREVIOUSPROCESSID = #{processoperationid})")
     void processDeleteBatchNumber(@Param("batchnumber") String batchnumber,@Param("processoperationid") String processoperationid);
 
     @Update("update sys_mind_mapping set DELETED = 1 where BSID = #{id}")
@@ -108,4 +106,7 @@ public interface ApsBlankOrderDao extends BaseMapper<ApsBlankOrderDo> {
 
     @Select("select ALLOYNAMES AS processmetals,NEXTALLOYNAMES AS nextprocessmetals from aps_alloy_close where DELETED='0'")
     List<WashingMetal> getWashingMetalConfig();
+
+    @Select("SELECT * FROM aps_blank_order WHERE DELETED = 0 AND PRODUCTIONORDERID = #{productionorderId}")
+    List<ApsBlankOrderDo> selectBlankOrderByProductionorderId(@Param("productionorderId") String productionorderId);
 }

+ 26 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsBlankOrderHistoryDao.java

@@ -0,0 +1,26 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsBlankOrderDo;
+import com.rongwei.bsentity.domain.ApsBlankOrderHistoryDo;
+import com.rongwei.bsentity.domain.ApsProcessOperationProcessEquDo;
+import com.rongwei.bsentity.domain.AspCheckItemsDo;
+import com.rongwei.bsentity.vo.ApsBlankOrderVo;
+import com.rongwei.bsentity.vo.BlankIdAndProcessStatusVo;
+import com.rongwei.bsentity.vo.WashingMetal;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * <p>
+ * 生产订单_坯料计划 Mapper 接口
+ * </p>
+ */
+public interface ApsBlankOrderHistoryDao extends BaseMapper<ApsBlankOrderHistoryDo> {
+
+}

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

@@ -3,6 +3,14 @@ package com.rongwei.bscommon.sys.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.rongwei.bsentity.domain.ApsOrderAlloyCompositionDo;
+import com.rongwei.bsentity.domain.ApsProductDetailDo;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
 
 public interface ApsOrderAlloyCompositionDao extends BaseMapper<ApsOrderAlloyCompositionDo> {
-}
+
+    @Select("SELECT * FROM aps_order_alloy_composition WHERE  DELETED = 0 AND PRODUCTIONORDERID = #{productionorderId}")
+    List<ApsOrderAlloyCompositionDo> getAlloyCompositionByProductionorderId(@Param("productionorderId") String productionorderId);
+}

+ 13 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsOrderAlloyCompositionHistoryDao.java

@@ -0,0 +1,13 @@
+package com.rongwei.bscommon.sys.dao;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsOrderAlloyCompositionDo;
+import com.rongwei.bsentity.domain.ApsOrderAlloyCompositionHistoryDo;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+public interface ApsOrderAlloyCompositionHistoryDao extends BaseMapper<ApsOrderAlloyCompositionHistoryDo> {
+}

+ 4 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOperationDao.java

@@ -2,6 +2,7 @@ package com.rongwei.bscommon.sys.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.rongwei.bsentity.domain.ApsProcessOperationDo;
+import com.rongwei.bsentity.domain.ApsProductionMergeOrderDo;
 import com.rongwei.bsentity.vo.ApsProcessOperationAndMaterialVo;
 import com.rongwei.bsentity.vo.ProcessIdRelationVo;
 import org.apache.ibatis.annotations.Param;
@@ -63,4 +64,7 @@ public interface ApsProcessOperationDao extends BaseMapper<ApsProcessOperationDo
 
     void publishCancel(@Param("productionOrderIds") List<String> productionOrderIds);
 
+    @Select("SELECT * FROM aps_process_operation WHERE DELETED = 0 AND BLANKID = #{blankid}")
+    List<ApsProcessOperationDo> getProcessOperationByBlankId(@Param("blankid") String blankid);
+
 }

+ 7 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOperationEquDao.java

@@ -2,14 +2,21 @@ package com.rongwei.bscommon.sys.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.rongwei.bsentity.domain.ApsProcessOperationEquDo;
+import com.rongwei.bsentity.domain.ApsProcessOperationOutMaterDo;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.Update;
 
+import java.util.List;
+
 /**
  * @Entity com.rongwei.training.domain.ApsProcessOperationOutMater
  */
 public interface ApsProcessOperationEquDao extends BaseMapper<ApsProcessOperationEquDo> {
 
+    @Select("SELECT * FROM aps_process_operation_equ WHERE DELETED = 0 AND MAINID = #{mainid}")
+    List<ApsProcessOperationEquDo> getProcessOperationEquByMainId(@Param("mainid") String mainid);
+
 }
 
 

+ 21 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOperationEquHistoryDao.java

@@ -0,0 +1,21 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsProcessOperationEquDo;
+import com.rongwei.bsentity.domain.ApsProcessOperationEquHistoryDo;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * @Entity com.rongwei.training.domain.ApsProcessOperationOutMater
+ */
+public interface ApsProcessOperationEquHistoryDao extends BaseMapper<ApsProcessOperationEquHistoryDo> {
+
+
+}
+
+
+
+

+ 22 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOperationHistoryDao.java

@@ -0,0 +1,22 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsProcessOperationDo;
+import com.rongwei.bsentity.domain.ApsProcessOperationHistoryDo;
+import com.rongwei.bsentity.vo.ApsProcessOperationAndMaterialVo;
+import com.rongwei.bsentity.vo.ProcessIdRelationVo;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 生产订单_坯料计划_工序作业 Mapper 接口
+ * </p>
+ */
+public interface ApsProcessOperationHistoryDao extends BaseMapper<ApsProcessOperationHistoryDo> {
+
+}

+ 8 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOperationOutMaterDao.java

@@ -1,13 +1,21 @@
 package com.rongwei.bscommon.sys.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsProcessOperationDo;
 import com.rongwei.bsentity.domain.ApsProcessOperationOutMaterDo;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
 
 /**
  * @Entity com.rongwei.training.domain.ApsProcessOperationOutMater
  */
 public interface ApsProcessOperationOutMaterDao extends BaseMapper<ApsProcessOperationOutMaterDo> {
 
+    @Select("SELECT * FROM aps_process_operation_out_mater WHERE DELETED = 0 AND MAINID = #{mainid}")
+    List<ApsProcessOperationOutMaterDo> getProcessOperationOutMaterByMainId(@Param("mainid") String mainid);
+
 }
 
 

+ 21 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOperationOutMaterHistoryDao.java

@@ -0,0 +1,21 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsProcessOperationOutMaterDo;
+import com.rongwei.bsentity.domain.ApsProcessOperationOutMaterHistoryDo;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * @Entity com.rongwei.training.domain.ApsProcessOperationOutMater
+ */
+public interface ApsProcessOperationOutMaterHistoryDao extends BaseMapper<ApsProcessOperationOutMaterHistoryDo> {
+
+
+}
+
+
+
+

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

@@ -1,13 +1,21 @@
 package com.rongwei.bscommon.sys.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsOrderAlloyCompositionDo;
 import com.rongwei.bsentity.domain.ApsProcessOutputProductDo;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
 
 /**
  *
  */
 public interface ApsProcessOutputProductDao extends BaseMapper<ApsProcessOutputProductDo> {
-
+    @Select("SELECT * FROM aps_process_output_product WHERE  DELETED = 0 AND BLANKID = #{blankid}")
+    List<ApsProcessOutputProductDo> getProcessOutputProductByBlankId(@Param("blankid") String blankid);
+    @Select("SELECT * FROM aps_process_output_product WHERE  DELETED = 0 AND PRODUCTID = #{productid}")
+    List<ApsProcessOutputProductDo> getProcessOutputProductByProductid(@Param("productid") String productid);
 }
 
 

+ 19 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOutputProductHistoryDao.java

@@ -0,0 +1,19 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsProcessOutputProductDo;
+import com.rongwei.bsentity.domain.ApsProcessOutputProductHistoryDo;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ *
+ */
+public interface ApsProcessOutputProductHistoryDao extends BaseMapper<ApsProcessOutputProductHistoryDo> {
+}
+
+
+
+

+ 6 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProductDetailDao.java

@@ -3,6 +3,7 @@ package com.rongwei.bscommon.sys.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.rongwei.bsentity.domain.*;
+import com.rongwei.bsentity.vo.ApsProcessOutputProductAndBlankStatusVo;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 
@@ -54,4 +55,9 @@ public interface ApsProductDetailDao extends BaseMapper<ApsProductDetailDo> {
     @Select("select VALUE as MATERIALCODE,NAME as MATERIALNAME from sys_dict where DELETED='0' and DICTTYPE='metalState' and PID<>'-1'")
     List<ApsProcessMaterialDo> getMetalStateData();
 
+    @Select("select apop.*,abo.ID AS 'blankId',abo.PRODUCTSTATUS AS 'blankStatus' from aps_blank_order abo LEFT JOIN aps_process_output_product apop ON apop.DELETED = 0 AND apop.BLANKID = abo.ID where abo.DELETED = 0 AND apop.PRODUCTID = #{detailId}")
+    List<ApsProcessOutputProductAndBlankStatusVo> selectAboutBlankOutputByDetailId(@Param("detailId") String detailId);
+
+    @Select("SELECT * FROM aps_product_detail WHERE DELETED = 0 AND MAINID = #{mainId}")
+    List<ApsProductDetailDo> getProductDetailByMainId(@Param("mainId") String mainId);
 }

+ 13 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProductDetailHistoryDao.java

@@ -0,0 +1,13 @@
+package com.rongwei.bscommon.sys.dao;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.*;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+public interface ApsProductDetailHistoryDao extends BaseMapper<ApsProductDetailHistoryDo> {
+
+}

+ 8 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProductionMergeOrderDao.java

@@ -2,11 +2,19 @@ package com.rongwei.bscommon.sys.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.rongwei.bsentity.domain.ApsProductionMergeOrderDo;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
 
 /**
  * @Entity com.rongwei.training.domain.ApsProductionOrder
  */
 public interface ApsProductionMergeOrderDao extends BaseMapper<ApsProductionMergeOrderDo> {
+    //根据 mainid 获取ApsProductionMergeOrderDo信息
+    @Select("SELECT * FROM aps_production_merge_order WHERE DELETED = 0 AND MAINID = #{mainId}")
+    List<ApsProductionMergeOrderDo> selectApsProductionMergeOrderDoByMainId(@Param("mainId") String mainId);
+
 
 }
 

+ 19 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProductionMergeOrderHistoryDao.java

@@ -0,0 +1,19 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsProductionMergeOrderDo;
+import com.rongwei.bsentity.domain.ApsProductionMergeOrderHistoryDo;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+/**
+ * @Entity com.rongwei.training.domain.ApsProductionOrder
+ */
+public interface ApsProductionMergeOrderHistoryDao extends BaseMapper<ApsProductionMergeOrderHistoryDo> {
+
+
+}
+
+
+
+

+ 5 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProductionOrderDao.java

@@ -67,6 +67,11 @@ public interface ApsProductionOrderDao extends BaseMapper<ApsProductionOrderDo>
 
     @Update("update aps_production_order set AUDITSTATUS = '待计划评审', CHANGEDATE = now(), TECHNICALREVIEWERID = null,TECHNICALREVIEWERNAME = null,TECHNICALREVIEWDATE=null,QUALITYREVIEWERID=null,QUALITYREVIEWERNAME=null,QUALITYREVIEWDATE=null,REVIEWERID=null,REVIEWERNAME=null,REVIEWDATE=null where ID = #{id}")
     void changeOrderById(@Param("id") String id);
+
+    @Select("SELECT * FROM aps_production_order WHERE DELETED = 0 AND ID = #{id}")
+    ApsProductionOrderDo selectDataInfo(@Param("id") String id);
+
+
 }
 
 

+ 23 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProductionOrderHistoryDao.java

@@ -0,0 +1,23 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsProductionOrderDo;
+import com.rongwei.bsentity.domain.ApsProductionOrderHistoryDo;
+import com.rongwei.bsentity.vo.ProductDetailIdAndPlanOutPutRollCountAllVo;
+import com.rongwei.bsentity.vo.ProductTypeIdAndPidVo;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
+
+import java.util.List;
+
+/**
+ * @Entity com.rongwei.training.domain.ApsProductionOrder
+ */
+public interface ApsProductionOrderHistoryDao extends BaseMapper<ApsProductionOrderHistoryDo> {
+
+}
+
+
+
+

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

@@ -2,7 +2,14 @@ package com.rongwei.bscommon.sys.dao;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsProductDetailDo;
 import com.rongwei.bsentity.domain.ApsProductionTechnicalRequirementDo;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
 
 public interface ApsProductionTechnicalRequirementDao extends BaseMapper<ApsProductionTechnicalRequirementDo> {
-}
+
+    @Select("SELECT * FROM aps_production_technical_requirement WHERE  DELETED = 0 AND ORDERID = #{orderid}")
+    List<ApsProductionTechnicalRequirementDo> selectByOrderid(@Param("orderid") String orderid);}

+ 14 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProductionTechnicalRequirementHistoryDao.java

@@ -0,0 +1,14 @@
+package com.rongwei.bscommon.sys.dao;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsProductionTechnicalRequirementDo;
+import com.rongwei.bsentity.domain.ApsProductionTechnicalRequirementHistoryDo;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+public interface ApsProductionTechnicalRequirementHistoryDao extends BaseMapper<ApsProductionTechnicalRequirementHistoryDo> {
+
+ }

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

@@ -23,7 +23,7 @@ public interface ApsReportRecordsDao extends BaseMapper<ApsReportRecordsDo> {
     @Update("update asp_check_items set WAITREPORTID = #{id} where ID = #{processdeviceid}")
     void updateDeviceWaitReportId(@Param("id") String id, @Param("processdeviceid") String processdeviceid);
 
-    @Update("update aps_process_operation_process_equ set BACHMATERIALPROCESS = REPLACE(REPLACE(BACHMATERIALPROCESS,'${inputBatchNumber},',''),',${inputBatchNumber}','') where PROCESSID = #{id}")
+    @Update("update aps_process_operation_process_equ set BACHMATERIALPROCESS = REPLACE(REPLACE(REPLACE(BACHMATERIALPROCESS,'${inputBatchNumber},',''),',${inputBatchNumber}',''),'${inputBatchNumber}','') where PROCESSID = #{id}")
     void updateBatchMaterialProcess(@Param("inputBatchNumber") String inputBatchNumber, @Param("id") String id);
 
     @Update("update aps_process_operation_process_equ set BACHMATERIALPROCESS = REPLACE(REPLACE(REPLACE(BACHMATERIALPROCESS,'${inputBatchNumber},',''),',${inputBatchNumber}',''),'${inputBatchNumber}','') where PROCESSID in (${processIds})")

+ 23 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsBlankOrderHistoryService.java

@@ -0,0 +1,23 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.ApsBlankOrderDo;
+import com.rongwei.bsentity.domain.ApsBlankOrderHistoryDo;
+import com.rongwei.bsentity.domain.ApsProductionTechnicalRequirementDo;
+import com.rongwei.bsentity.vo.*;
+import com.rongwei.rwcommon.base.R;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 生产订单_坯料计划 服务类
+ * </p>
+ *
+ * @author fpy
+ * @since 2024-03-01
+ */
+public interface ApsBlankOrderHistoryService extends IService<ApsBlankOrderHistoryDo> {
+
+}

+ 1 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsBlankOrderService.java

@@ -49,4 +49,5 @@ public interface ApsBlankOrderService extends IService<ApsBlankOrderDo> {
     void apsAfter(ProductionScheduleRetVo productionScheduleRetVo,List<ApsBlankOrderVo> apsBlankOrders);
 
     R checkAndUpdateBlankAndOutput(ApsProductionTechnicalRequirementDo req);
+    void updateBlankSplicingColumn(String blankId);
 }

+ 9 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsOrderAlloyCompositionHistoryService.java

@@ -0,0 +1,9 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.ApsOrderAlloyCompositionDo;
+import com.rongwei.bsentity.domain.ApsOrderAlloyCompositionHistoryDo;
+
+
+public interface ApsOrderAlloyCompositionHistoryService extends IService<ApsOrderAlloyCompositionHistoryDo> {
+}

+ 17 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProcessOperationEquHistoryService.java

@@ -0,0 +1,17 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.ApsProcessOperationEquDo;
+import com.rongwei.bsentity.domain.ApsProcessOperationEquHistoryDo;
+
+/**
+ * <p>
+ * 生产订单-坯料计划-工序作业可选设备 服务类
+ * </p>
+ *
+ * @author DLC
+ * @since 2024-03-22
+ */
+public interface ApsProcessOperationEquHistoryService extends IService<ApsProcessOperationEquHistoryDo> {
+
+}

+ 21 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProcessOperationHistoryService.java

@@ -0,0 +1,21 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.ApsProcessOperationDo;
+import com.rongwei.bsentity.domain.ApsProcessOperationHistoryDo;
+import com.rongwei.bsentity.domain.ApsProcessOperationOutMaterDo;
+import com.rongwei.rwcommon.base.R;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 生产订单_坯料计划_工序作业 服务类
+ * </p>
+ *
+ * @author fpy
+ * @since 2024-03-01
+ */
+public interface ApsProcessOperationHistoryService extends IService<ApsProcessOperationHistoryDo> {
+}

+ 12 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProcessOperationOutMaterHistoryService.java

@@ -0,0 +1,12 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.ApsProcessOperationOutMaterDo;
+import com.rongwei.bsentity.domain.ApsProcessOperationOutMaterHistoryDo;
+
+/**
+ *
+ */
+public interface ApsProcessOperationOutMaterHistoryService extends IService<ApsProcessOperationOutMaterHistoryDo> {
+
+}

+ 10 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProcessOutputProductHistoryService.java

@@ -0,0 +1,10 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.ApsProcessOutputProductDo;
+import com.rongwei.bsentity.domain.ApsProcessOutputProductHistoryDo;
+
+
+public interface ApsProcessOutputProductHistoryService extends IService<ApsProcessOutputProductHistoryDo> {
+
+}

+ 16 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProductDetailHistoryService.java

@@ -0,0 +1,16 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.ApsProductDetailHistoryDo;
+
+/**
+ * <p>
+ * 生产订单_产品明细 服务类
+ * </p>
+ *
+ * @author sc
+ * @since 2024-03-28
+ */
+public interface ApsProductDetailHistoryService extends IService<ApsProductDetailHistoryDo> {
+
+}

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

@@ -2,6 +2,7 @@ package com.rongwei.bscommon.sys.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.rongwei.bsentity.domain.ApsProductDetailDo;
+import com.rongwei.bsentity.vo.UpdateProductDetailsAndBlankOutputReq;
 import com.rongwei.rwcommon.base.R;
 import org.springframework.web.bind.annotation.RequestBody;
 
@@ -25,4 +26,6 @@ public interface ApsProductDetailService extends IService<ApsProductDetailDo> {
     R updateMergeCustomOrder(@RequestBody Map<String, Object> params);
 
     R updateOrSaveProductDetails(List<ApsProductDetailDo> req);
+
+    R updateProductDetailsAndBlankOutput(UpdateProductDetailsAndBlankOutputReq req);
 }

+ 11 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProductionMergeOrderHistoryService.java

@@ -0,0 +1,11 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.ApsProductionMergeOrderHistoryDo;
+
+/**
+ *
+ */
+public interface ApsProductionMergeOrderHistoryService extends IService<ApsProductionMergeOrderHistoryDo> {
+
+}

+ 17 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProductionOrderHistoryService.java

@@ -0,0 +1,17 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.ApsProductionOrderDo;
+import com.rongwei.bsentity.domain.ApsProductionOrderHistoryDo;
+import com.rongwei.bsentity.vo.CheckAndSaveOrUpdateOrderReq;
+import com.rongwei.bsentity.vo.DeleteOrderVo;
+import com.rongwei.rwcommon.base.R;
+
+import java.util.List;
+
+/**
+ *
+ */
+public interface ApsProductionOrderHistoryService extends IService<ApsProductionOrderHistoryDo> {
+
+}

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

@@ -30,4 +30,6 @@ public interface ApsProductionOrderService extends IService<ApsProductionOrderDo
     R deleteOrder(DeleteOrderVo req);
 
     void reportUnqualify();
+
+    R saveHistoryInfo(String id);
 }

+ 9 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProductionTechnicalRequirementHistoryService.java

@@ -0,0 +1,9 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.ApsProductionTechnicalRequirementHistoryDo;
+
+
+public interface ApsProductionTechnicalRequirementHistoryService extends IService<ApsProductionTechnicalRequirementHistoryDo> {
+
+}

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

@@ -0,0 +1,56 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateField;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.date.StopWatch;
+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.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.*;
+import com.rongwei.bscommon.sys.service.*;
+import com.rongwei.bscommon.sys.utils.ApsUtils;
+import com.rongwei.bsentity.domain.*;
+import com.rongwei.bsentity.vo.*;
+import com.rongwei.rwadmincommon.system.vo.SysUserVo;
+import com.rongwei.rwcommon.base.BaseDo;
+import com.rongwei.rwcommon.base.R;
+import com.rongwei.rwcommon.base.exception.CustomException;
+import com.rongwei.rwcommon.utils.SecurityUtil;
+import com.rongwei.rwcommon.utils.StringUtils;
+import com.rongwei.safecommon.utils.CXCommonUtils;
+import com.rongwei.safecommon.utils.SaveConstans;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+import java.text.SimpleDateFormat;
+import java.time.ZoneId;
+import java.util.*;
+import java.util.stream.Collectors;
+
+import static com.rongwei.bscommon.sys.service.impl.ApsProductionOrderServiceImpl.ERROR_MSG;
+import static com.rongwei.safecommon.utils.SaveConstans.DatePattern.DATE_PATTERN_YMDHMS;
+import static com.rongwei.safecommon.utils.SaveConstans.JobStatus.JOBSTATUS_TO_BE_START;
+import static com.rongwei.safecommon.utils.SaveConstans.LockmarkType.LOCKMARK_N;
+import static com.rongwei.safecommon.utils.SaveConstans.LockmarkType.LOCKMARK_Y;
+import static com.rongwei.safecommon.utils.SaveConstans.ProductionStatus.*;
+import static com.rongwei.safecommon.utils.SaveConstans.SchedulingStatus.PUBLISHED;
+
+/**
+ * <p>
+ * 生产订单_坯料计划 历史版本服务实现类
+ * </p>
+ */
+@Service
+public class ApsBlankOrderHistoryServiceImpl extends ServiceImpl<ApsBlankOrderHistoryDao, ApsBlankOrderHistoryDo> implements ApsBlankOrderHistoryService {
+
+}

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

@@ -1718,6 +1718,8 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                 String processoperationid = progressWork.getProcessoperationid();
                 //获取该在制品的批次号
                 String batchnumber = progressWork.getBatchnumber();
+                //获取该在制品作业明细的ID
+                String processoperationequid = progressWork.getProcessoperationequid();
                 //该对应工序作业的已借调卷数=已借调卷数+1
                 this.baseMapper.processAddSecondRoll(processoperationid);
                 //将在制品的作业输出物料ID对应的所有后道工序作业的所有作业明细的待加工料卷批次号去掉“{批次号},”
@@ -2094,8 +2096,8 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         //筛选出需要更新的坯料计划
         List<ApsBlankOrderDo> needUpdateBlankList = apsBlankOrderDoList.stream().filter(item -> Arrays.asList(TO_BE_SCHEDULED, TO_BE_PUBLISHED, TO_BE_STARTED).contains(item.getProductstatus())).collect(Collectors.toList());
 
-        //最终需要更新的数组集合
-        List<ApsBlankOrderDo> endNeedUpdateBlankList = new LinkedList<>();
+//        //最终需要更新的数组集合
+//        List<ApsBlankOrderDo> endNeedUpdateBlankList = new LinkedList<>();
 
         for (ApsBlankOrderDo apsBlankOrderDo : needUpdateBlankList) {
             //是否需要更新坯料计划的 输出产品订单字段
@@ -2139,7 +2141,11 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                     if (ObjectUtil.isNotEmpty(prolength)) {
                         outputResult += ("*长" + prolength);
                     }
-                    outputResult += ("mm " + apsProcessOutputProductDo.getOutputonerollweigth() + "吨 * " + apsProcessOutputProductDo.getPlanoutputorderroll() + "卷");
+                    outputResult += "mm";
+                    if (ObjectUtil.isNotEmpty(apsProcessOutputProductDo.getOutputonerollweigth()) && ObjectUtil.isNotEmpty(apsProcessOutputProductDo.getPlanoutputorderroll())) {
+                        outputResult += (" " + apsProcessOutputProductDo.getOutputonerollweigth() + "吨 * " + apsProcessOutputProductDo.getPlanoutputorderroll() + "卷");
+                    }
+
 
                     endUpdateOutput.setOutputresult(outputResult);
                     isNeedUpdateBlank = true;
@@ -2147,54 +2153,17 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                 apsProcessOutputProductService.updateById(endUpdateOutput);
             }
             if (isNeedUpdateBlank) {
-                //如果坯料计划是暂存,不做处理
-                if (apsBlankOrderDo.getIsstag().equals("是")) {
-                    continue;
-                }
-                ApsBlankOrderDo endUpdateBlank = new ApsBlankOrderDo();
-                endUpdateBlank.setId(apsBlankOrderDo.getId());
-                //=============更新坯料计划的 输出订单产品 和 输出成品===========
-                //查询坯料计划对应的输出成品
-                List<ApsProcessOutputProductDo> processOutputProductDoList = apsProcessOutputProductService.list(new QueryWrapper<ApsProcessOutputProductDo>().lambda().eq(ApsProcessOutputProductDo::getBlankid, apsBlankOrderDo.getId()));
-                if (processOutputProductDoList != null && processOutputProductDoList.size() > 0) {
-                    //获取所有输出成品的输出成品
-                    List<String> outputFinishList = processOutputProductDoList.stream().map(ApsProcessOutputProductDo::getOutputresult).sorted(String::compareTo).collect(Collectors.toList());
-                    //输出成品
-                    String outputFinishProduct = "";
-
-                    for (int i = 0; i < outputFinishList.size(); i++) {
-                        outputFinishProduct += "[" + (i + 1) + "]" + outputFinishList.get(i);
-                        if (i < outputFinishList.size() - 1) {
-                            outputFinishProduct += ",\r\n";
-                        }
-                    }
-                    endUpdateBlank.setOutputfinishproduct(outputFinishProduct);
-
-                    //输出订单产品
-                    String outputOrderProduct = "";
-                    //获取所有输出成品的输出订单产品
-                    List<String> outputOrderProductList = processOutputProductDoList.stream().map(item -> {
-                        String outputresult = item.getOutputresult();
-                        String[] s = outputresult.split(" ");
-                        return s[0] + " " + s[1] + " " + removeExtraZerosAndDecimal(item.getOutputonerollweigth()) + " * " + item.getPlanoutputrollcount() + "卷 = " + removeExtraZerosAndDecimal(item.getPlanoutputonerollweight());
-                    }).sorted(String::compareTo).collect(Collectors.toList());
-
-                    for (int i = 0; i < outputOrderProductList.size(); i++) {
-                        outputOrderProduct += "[" + (i + 1) + "]" + outputOrderProductList.get(i);
-                        if (i < outputOrderProductList.size() - 1) {
-                            outputOrderProduct += ",\r\n";
-                        }
-                    }
-                    endUpdateBlank.setOutputorderproduct(outputOrderProduct);
-                } else {
-                    throw new CustomException("没有找到该坯料计划的输出成品");
-                }
-                endNeedUpdateBlankList.add(endUpdateBlank);
+//                //如果坯料计划是暂存,不做处理
+////                if (apsBlankOrderDo.getIsstag().equals("是")) {
+////                    continue;
+////                }
+                this.updateBlankSplicingColumn(apsBlankOrderDo.getId());
+//                endNeedUpdateBlankList.add(endUpdateBlank);
             }
         }
-        if (endNeedUpdateBlankList.size() > 0) {
-            apsBlankOrderService.updateBatchById(endNeedUpdateBlankList);
-        }
+//        if (endNeedUpdateBlankList.size() > 0) {
+//            apsBlankOrderService.updateBatchById(endNeedUpdateBlankList);
+//        }
 
         return R.ok();
     }
@@ -2203,4 +2172,79 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         bd = bd.stripTrailingZeros();
         return bd.toPlainString();
     }
+
+    /**
+     * 根据坯料计划ID,更新 拼接字段(输出订单产品、输出成品、坯料输出物料类型、坯料输出物料规格)
+     *
+     * @param blankId 坯料计划ID
+     */
+    public void updateBlankSplicingColumn(String blankId) {
+        ApsBlankOrderDo endUpdateBlank = new ApsBlankOrderDo();
+        endUpdateBlank.setId(blankId);
+        //=============更新坯料计划的 输出订单产品、输出成品、坯料输出物料类型、坯料输出物料规格===========
+        //查询坯料计划对应的输出成品
+        List<ApsProcessOutputProductDo> processOutputProductDoList = apsProcessOutputProductService.list(new QueryWrapper<ApsProcessOutputProductDo>().lambda().eq(ApsProcessOutputProductDo::getBlankid, blankId));
+        if (processOutputProductDoList != null && processOutputProductDoList.size() > 0) {
+            //获取所有输出成品的输出成品
+            List<String> outputFinishList = processOutputProductDoList.stream().map(ApsProcessOutputProductDo::getOutputresult).sorted(String::compareTo).collect(Collectors.toList());
+            //================输出成品===============
+            String outputFinishProduct = "";
+
+            for (int i = 0; i < outputFinishList.size(); i++) {
+                outputFinishProduct += "[" + (i + 1) + "]" + outputFinishList.get(i);
+                if (i < outputFinishList.size() - 1) {
+                    outputFinishProduct += ",\r\n";
+                }
+            }
+            endUpdateBlank.setOutputfinishproduct(outputFinishProduct);
+
+            //================输出订单产品=================
+            String outputOrderProduct = "";
+            //获取所有输出成品的输出订单产品
+            List<String> outputOrderProductList = processOutputProductDoList.stream().map(item -> {
+                String outputresult = item.getOutputresult();
+                String[] s = outputresult.split(" ");
+                String res = s[0] + " " + s[1];
+                if (ObjectUtil.isNotEmpty(item.getOutputonerollweigth()) && ObjectUtil.isNotEmpty(item.getPlanoutputrollcount())) {
+                    res = res + " " + removeExtraZerosAndDecimal(item.getOutputonerollweigth()) + "吨 * " + item.getPlanoutputrollcount() + "卷 = " + removeExtraZerosAndDecimal(item.getPlanoutputonerollweight());
+                }
+                return res;
+            }).sorted(String::compareTo).collect(Collectors.toList());
+
+            for (int i = 0; i < outputOrderProductList.size(); i++) {
+                outputOrderProduct += "[" + (i + 1) + "]" + outputOrderProductList.get(i);
+                if (i < outputOrderProductList.size() - 1) {
+                    outputOrderProduct += ",\r\n";
+                }
+            }
+            endUpdateBlank.setOutputorderproduct(outputOrderProduct);
+
+            //==============坯料输出物料类型===============
+            String outMaterType = "";
+            List<String> outMaterTypeList = processOutputProductDoList.stream().map(ApsProcessOutputProductDo::getOutmatertype).sorted(String::compareTo).collect(Collectors.toList());
+            for (int i = 0; i < outMaterTypeList.size(); i++) {
+                outMaterType += "[" + (i + 1) + "]" + outMaterTypeList.get(i);
+                if (i < outMaterTypeList.size() - 1) {
+                    outMaterType += ",\r\n";
+                }
+            }
+            endUpdateBlank.setBlankoutmatertype(outMaterType);
+
+            //==============坯料输出物料规格===============
+            String outMaterSpecification = "";
+            List<String> outMaterSpecificationList = processOutputProductDoList.stream().map(ApsProcessOutputProductDo::getOutmaterspecification).sorted(String::compareTo).collect(Collectors.toList());
+            for (int i = 0; i < outMaterSpecificationList.size(); i++) {
+                outMaterSpecification += "[" + (i + 1) + "]" + outMaterSpecificationList.get(i);
+                if (i < outMaterSpecificationList.size() - 1) {
+                    outMaterSpecification += ",\r\n";
+                }
+            }
+            endUpdateBlank.setBlankoutmaterspecification(outMaterSpecification);
+
+            //更新坯料计划
+            this.updateById(endUpdateBlank);
+        } else {
+            throw new CustomException("没有找到该坯料计划的输出成品");
+        }
+    }
 }

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

@@ -0,0 +1,16 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ApsOrderAlloyCompositionDao;
+import com.rongwei.bscommon.sys.dao.ApsOrderAlloyCompositionHistoryDao;
+import com.rongwei.bscommon.sys.service.ApsOrderAlloyCompositionHistoryService;
+import com.rongwei.bscommon.sys.service.ApsOrderAlloyCompositionService;
+import com.rongwei.bsentity.domain.ApsOrderAlloyCompositionDo;
+import com.rongwei.bsentity.domain.ApsOrderAlloyCompositionHistoryDo;
+import org.springframework.stereotype.Service;
+
+
+@Service
+public class ApsOrderAlloyCompositionHistoryServiceImpl extends ServiceImpl<ApsOrderAlloyCompositionHistoryDao, ApsOrderAlloyCompositionHistoryDo> implements ApsOrderAlloyCompositionHistoryService {
+
+}

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

@@ -0,0 +1,21 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ApsProcessOperationEquDao;
+import com.rongwei.bscommon.sys.dao.ApsProcessOperationEquHistoryDao;
+import com.rongwei.bscommon.sys.service.ApsProcessOperationEquHistoryService;
+import com.rongwei.bscommon.sys.service.ApsProcessOperationEquService;
+import com.rongwei.bsentity.domain.ApsProcessOperationEquDo;
+import com.rongwei.bsentity.domain.ApsProcessOperationEquHistoryDo;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 生产订单-坯料计划-工序作业可选设备 服务实现类
+ * </p>
+ *
+ */
+@Service
+public class ApsProcessOperationEquHistoryServiceImpl extends ServiceImpl<ApsProcessOperationEquHistoryDao, ApsProcessOperationEquHistoryDo> implements ApsProcessOperationEquHistoryService {
+
+}

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

@@ -0,0 +1,52 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.json.JSONObject;
+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.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.*;
+import com.rongwei.bscommon.sys.service.*;
+import com.rongwei.bscommon.sys.utils.ApsUtils;
+import com.rongwei.bsentity.domain.*;
+import com.rongwei.bsentity.vo.CommonUpdateProductionStatusReq;
+import com.rongwei.bsentity.vo.PreviousProcessVo;
+import com.rongwei.bsentity.vo.ProcessIdRelationVo;
+import com.rongwei.commonservice.service.SysMindMappingService;
+import com.rongwei.rwadmincommon.system.domain.SysOrganizationDo;
+import com.rongwei.rwadmincommon.system.service.SysOrganizationService;
+import com.rongwei.rwadmincommon.system.vo.SysOrganizationVo;
+import com.rongwei.rwadmincommon.system.vo.SysUserVo;
+import com.rongwei.rwcommon.base.BaseDo;
+import com.rongwei.rwcommon.base.R;
+import com.rongwei.rwcommon.utils.SecurityUtil;
+import com.rongwei.rwcommon.utils.StringUtils;
+import com.rongwei.rwcommonentity.commonservers.domain.SysMindMappingDo;
+import com.rongwei.safecommon.utils.CXCommonUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.text.DecimalFormat;
+import java.util.*;
+import java.util.stream.Collectors;
+
+import static com.rongwei.safecommon.utils.SaveConstans.LockmarkType.LOCKMARK_N;
+import static com.rongwei.safecommon.utils.SaveConstans.LockmarkType.LOCKMARK_Y;
+import static com.rongwei.safecommon.utils.SaveConstans.MINUS_ONE;
+
+/**
+ * <p>
+ * 生产订单_坯料计划_工序作业 历史版本服务实现类
+ * </p>
+
+ */
+@Service
+public class ApsProcessOperationHistoryServiceImpl extends ServiceImpl<ApsProcessOperationHistoryDao, ApsProcessOperationHistoryDo> implements ApsProcessOperationHistoryService {
+}

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

@@ -0,0 +1,23 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ApsProcessOperationOutMaterDao;
+import com.rongwei.bscommon.sys.dao.ApsProcessOperationOutMaterHistoryDao;
+import com.rongwei.bscommon.sys.service.ApsProcessOperationOutMaterHistoryService;
+import com.rongwei.bscommon.sys.service.ApsProcessOperationOutMaterService;
+import com.rongwei.bsentity.domain.ApsProcessOperationOutMaterDo;
+import com.rongwei.bsentity.domain.ApsProcessOperationOutMaterHistoryDo;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ */
+@Service
+public class ApsProcessOperationOutMaterHistoryServiceImpl extends ServiceImpl<ApsProcessOperationOutMaterHistoryDao, ApsProcessOperationOutMaterHistoryDo>
+        implements ApsProcessOperationOutMaterHistoryService {
+
+}
+
+
+
+

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

@@ -0,0 +1,22 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ApsProcessOutputProductDao;
+import com.rongwei.bscommon.sys.dao.ApsProcessOutputProductHistoryDao;
+import com.rongwei.bscommon.sys.service.ApsProcessOutputProductHistoryService;
+import com.rongwei.bscommon.sys.service.ApsProcessOutputProductService;
+import com.rongwei.bsentity.domain.ApsProcessOutputProductDo;
+import com.rongwei.bsentity.domain.ApsProcessOutputProductHistoryDo;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ */
+@Service
+public class ApsProcessOutputProductHistoryImpl extends ServiceImpl<ApsProcessOutputProductHistoryDao, ApsProcessOutputProductHistoryDo> implements ApsProcessOutputProductHistoryService {
+
+}
+
+
+
+

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

@@ -0,0 +1,34 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ApsProductDetailDao;
+import com.rongwei.bscommon.sys.dao.ApsProductDetailHistoryDao;
+import com.rongwei.bscommon.sys.service.*;
+import com.rongwei.bsentity.domain.*;
+import com.rongwei.rwadmincommon.system.vo.SysUserVo;
+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 org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * 生产订单_产品明细 服务实现类
+ * </p>
+ */
+@Service
+public class ApsProductDetailServiceHistoryImpl extends ServiceImpl<ApsProductDetailHistoryDao, ApsProductDetailHistoryDo> implements ApsProductDetailHistoryService {
+
+
+}

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

@@ -2,26 +2,25 @@ package com.rongwei.bscommon.sys.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.rongwei.bscommon.sys.dao.ApsProductDetailDao;
-import com.rongwei.bscommon.sys.service.ApsProductDetailService;
-import com.rongwei.bscommon.sys.service.ApsProductionMergeOrderService;
-import com.rongwei.bscommon.sys.service.ApsProductionOrderService;
-import com.rongwei.bscommon.sys.service.SlaveSourceService;
+import com.rongwei.bscommon.sys.service.*;
 import com.rongwei.bsentity.domain.*;
+import com.rongwei.bsentity.vo.ApsProcessOutputProductAndBlankStatusVo;
+import com.rongwei.bsentity.vo.UpdateProductDetailsAndBlankOutputReq;
 import com.rongwei.rwadmincommon.system.vo.SysUserVo;
 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.SaveConstans;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.RequestBody;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -50,6 +49,15 @@ public class ApsProductDetailServiceImpl extends ServiceImpl<ApsProductDetailDao
     @Autowired
     private ApsProductDetailDao apsProductDetailDao;
 
+    @Autowired
+    private ApsProcessOutputProductService apsProcessOutputProductService;
+
+    @Autowired
+    private ApsBlankOrderService apsBlankOrderService;
+
+    @Autowired
+    private ApsProductionTechnicalRequirementService apsProductionTechnicalRequirementService;
+
     /*
     获取客户订单
      */
@@ -466,4 +474,120 @@ public class ApsProductDetailServiceImpl extends ServiceImpl<ApsProductDetailDao
         }
         return R.ok();
     }
+
+    @Override
+    @Transactional
+    public R updateProductDetailsAndBlankOutput(UpdateProductDetailsAndBlankOutputReq req) {
+        //获取目前订单所有的产品明细
+        List<ApsProductDetailDo> apsProductDetailDoList = req.getApsProductDetailDoList();
+        //获取当前修改的产品明细的ID
+        String nowId = req.getUpdateId();
+
+        //区分 目前修改的产品明细和 暂未修改的产品明细
+        List<ApsProductDetailDo> nowUpdateList = apsProductDetailDoList.stream().filter(item -> item.getId().equals(nowId)).collect(Collectors.toList());
+        List<ApsProductDetailDo> updateOrInsertDetailList = apsProductDetailDoList.stream().filter(item -> !item.getId().equals(nowId)).collect(Collectors.toList());
+
+        if (nowUpdateList.size() > 0 && ObjectUtil.isNotEmpty(nowUpdateList.get(0))) {
+            //产品明细变更
+            ApsProductDetailDo apsProductDetailDo = nowUpdateList.get(0);
+
+            //复制新的产品明细
+            apsProductDetailDo.setId(SecurityUtil.getUUID());
+            updateOrInsertDetailList.add(apsProductDetailDo);
+
+            //====================更新坯料计划及其输出成品===========================
+            //检查订单产品明细对应的所有相关的坯料计划的输出成品,
+            //如果订单产品明细的订单产品字段值不等于坯料计划输出成品的订单产品字段值,
+            //则订单产品明细ID=(新ID),更新订单产品明细的坯料计划输出总重量=0
+            //查询当前产品明细ID对应的坯料计划输出成品
+            List<ApsProcessOutputProductAndBlankStatusVo> apsProcessOutputProductAndBlankStatusVoList = this.baseMapper.selectAboutBlankOutputByDetailId(nowId);
+            //筛选其中待排程和待发布的坯料计划的输出成品
+            List<ApsProcessOutputProductAndBlankStatusVo> needUpdateOutputList = apsProcessOutputProductAndBlankStatusVoList.stream().filter(item ->
+                    ObjectUtil.isNotEmpty(item.getBlankStatus())
+                            //坯料计划的生产状态为 待排程或待发布
+                            && Integer.parseInt(item.getBlankStatus()) <= Integer.parseInt(SaveConstans.ProductionStatus.TO_BE_PUBLISHED)).collect(Collectors.toList());
+            if (apsProcessOutputProductAndBlankStatusVoList.size() > 0) {
+                Set<String> needUpdateBlankIds = new HashSet<>();
+                for (ApsProcessOutputProductAndBlankStatusVo vo : needUpdateOutputList) {
+                    if (!vo.getProductname().equals(apsProductDetailDo.getInputmaterialdescription())) {
+                        //变更产品明细对应的输出成品
+                        ApsProcessOutputProductDo apsProcessOutputProductDo = new ApsProcessOutputProductDo();
+                        apsProcessOutputProductDo.setId(vo.getId());
+                        apsProcessOutputProductDo.setAlloy(apsProductDetailDo.getAlloy());
+                        apsProcessOutputProductDo.setAlloystatus(apsProductDetailDo.getAlloystatus());
+                        apsProcessOutputProductDo.setThickness(apsProductDetailDo.getThickness());
+                        apsProcessOutputProductDo.setProwidth(apsProductDetailDo.getProwidth());
+                        apsProcessOutputProductDo.setProlength(apsProductDetailDo.getProlength());
+                        apsProcessOutputProductDo.setRollweightrequirement(apsProductDetailDo.getRollweightrequirement());
+                        apsProcessOutputProductDo.setRolldiameterrequirement(apsProductDetailDo.getRolldiameterrequirement());
+                        apsProcessOutputProductDo.setRollnumberrequirement(apsProductDetailDo.getRollnumberrequirement());
+                        apsProcessOutputProductDo.setProductname(apsProductDetailDo.getInputmaterialdescription());
+                        apsProcessOutputProductDo.setProductid(apsProductDetailDo.getId());
+                        String alloy = apsProcessOutputProductDo.getAlloy();
+                        String alloyStatus = apsProcessOutputProductDo.getAlloystatus();
+                        String productType = vo.getProducttype();
+                        if (ObjectUtil.isNotEmpty(vo.getChangealloy())) {
+                            alloy = vo.getChangealloy();
+                        }
+                        if (ObjectUtil.isNotEmpty(vo.getChangealloystatus())) {
+                            alloyStatus = vo.getChangealloystatus();
+                        }
+                        if (ObjectUtil.isNotEmpty(vo.getChangeproducttype())) {
+                            productType = vo.getChangeproducttype();
+                        }
+
+                        //拼接输出成品的输出物料类型字段
+                        apsProcessOutputProductDo.setOutmatertype(alloy + productType + apsProcessOutputProductDo.getThickness());
+                        //拼接输出成品的输出物料规格字段
+                        apsProcessOutputProductDo.setOutmaterspecification(alloy + alloyStatus + productType + " " + apsProcessOutputProductDo.getProductname().split(" ")[1]);
+                        //拼接输出成品的输出成品字段
+                        apsProcessOutputProductDo.setOutputresult(apsProcessOutputProductDo.getOutmaterspecification() + " " + vo.getOutputonerollweigth() + "吨 * " + vo.getPlanoutputorderroll() + "卷");
+
+                        apsProcessOutputProductService.updateById(apsProcessOutputProductDo);
+                        needUpdateBlankIds.add(vo.getBlankId());
+                    }
+                }
+                //遍历需要更新的坯料计划,更新 输出订单产品、输出成品、坯料输出物料类型、坯料输出物料规格
+                for (String needUpdateBlankId : needUpdateBlankIds) {
+                    apsBlankOrderService.updateBlankSplicingColumn(needUpdateBlankId);
+                }
+            }
+
+            //=================更新技术要求==========================
+            //查询相关的技术要求
+            List<ApsProductionTechnicalRequirementDo> apsProductionTechnicalRequirementDoList = apsProductionTechnicalRequirementService.list(new QueryWrapper<ApsProductionTechnicalRequirementDo>().lambda().like(ApsProductionTechnicalRequirementDo::getOrderdetailids, nowId).orderByDesc(ApsProductionTechnicalRequirementDo::getModifydate));
+            if (apsProductionTechnicalRequirementDoList.size() > 0) {
+                //只会存在一个
+                ApsProductionTechnicalRequirementDo apsProductionTechnicalRequirementDo = apsProductionTechnicalRequirementDoList.get(0);
+                //更新原来的产品明细为新的产品明细
+                ApsProductionTechnicalRequirementDo updateTechnicalRequirement = new ApsProductionTechnicalRequirementDo();
+                updateTechnicalRequirement.setId(apsProductionTechnicalRequirementDo.getId());
+
+                //获取原来的产品明细IDs和产品明细的名称
+                String orderdetailids = apsProductionTechnicalRequirementDo.getOrderdetailids();
+                String orderdetailnames = apsProductionTechnicalRequirementDo.getOrderdetailnames();
+                List<String> orderDetailIdList = Arrays.asList(orderdetailids.split(","));
+                List<String> orderDetailNameList = Arrays.asList(orderdetailnames.split(",\r\n"));
+                //获取 原产品明细的ID的下标
+                int index = orderDetailIdList.indexOf(nowId);
+                //替换成新的产品明细
+                orderDetailIdList.set(index, apsProductDetailDo.getId());
+                orderDetailNameList.set(index, apsProductDetailDo.getInputmaterialdescription());
+
+                updateTechnicalRequirement.setOrderdetailids(String.join(",", orderDetailIdList));
+                updateTechnicalRequirement.setOrderdetailnames(String.join(",\r\n", orderDetailNameList));
+                //更新技术要求
+                apsProductionTechnicalRequirementService.updateById(updateTechnicalRequirement);
+            }
+        }
+
+        //删除指定ID的产品明细
+        this.removeById(nowId);
+        //更新或新增 产品明细
+        if (ObjectUtil.isNotEmpty(updateOrInsertDetailList)) {
+            this.updateOrSaveProductDetails(updateOrInsertDetailList);
+        }
+
+        return R.ok();
+    }
 }

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

@@ -0,0 +1,23 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ApsProductionMergeOrderDao;
+import com.rongwei.bscommon.sys.dao.ApsProductionMergeOrderHistoryDao;
+import com.rongwei.bscommon.sys.service.ApsProductionMergeOrderHistoryService;
+import com.rongwei.bscommon.sys.service.ApsProductionMergeOrderService;
+import com.rongwei.bsentity.domain.ApsProductionMergeOrderDo;
+import com.rongwei.bsentity.domain.ApsProductionMergeOrderHistoryDo;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ */
+@Service
+public class ApsProductionMergeOrderHistoryServiceImpl extends ServiceImpl<ApsProductionMergeOrderHistoryDao, ApsProductionMergeOrderHistoryDo>
+        implements ApsProductionMergeOrderHistoryService {
+
+}
+
+
+
+

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

@@ -0,0 +1,52 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateUtil;
+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.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.*;
+import com.rongwei.bscommon.sys.service.*;
+import com.rongwei.bscommon.sys.utils.ApsUtils;
+import com.rongwei.bsentity.domain.*;
+import com.rongwei.bsentity.vo.ApsProductDetailVo;
+import com.rongwei.bsentity.vo.CheckAndSaveOrUpdateBlankReq;
+import com.rongwei.bsentity.vo.CheckAndSaveOrUpdateOrderReq;
+import com.rongwei.bsentity.vo.DeleteOrderVo;
+import com.rongwei.rwadmincommon.system.vo.SysUserVo;
+import com.rongwei.rwcommon.base.BaseDo;
+import com.rongwei.rwcommon.base.R;
+import com.rongwei.rwcommon.utils.SecurityUtil;
+import com.rongwei.rwcommon.utils.StringUtils;
+import com.rongwei.rwcommon.vo.MailDo;
+import com.rongwei.safecommon.fegin.CXCommonFeginClient;
+import com.rongwei.safecommon.utils.CXCommonUtils;
+import com.rongwei.safecommon.utils.SaveConstans;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+import static com.rongwei.safecommon.utils.SaveConstans.DatePattern.DATE_PATTERN_YMD;
+import static com.rongwei.safecommon.utils.SaveConstans.NotifyContent.*;
+import static com.rongwei.safecommon.utils.SaveConstans.NotifyTitle.*;
+import static com.rongwei.safecommon.utils.SaveConstans.NotifyType.*;
+
+/**
+ *
+ */
+@Service
+public class ApsProductionOrderServiceHistoryImpl extends ServiceImpl<ApsProductionOrderHistoryDao, ApsProductionOrderHistoryDo>
+        implements ApsProductionOrderHistoryService {
+
+}
+
+
+
+

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

@@ -14,6 +14,7 @@ import com.rongwei.bsentity.vo.*;
 import com.rongwei.rwadmincommon.system.vo.SysUserVo;
 import com.rongwei.rwcommon.base.BaseDo;
 import com.rongwei.rwcommon.base.R;
+import com.rongwei.rwcommon.utils.SecurityUtil;
 import com.rongwei.rwcommon.utils.StringUtils;
 import com.rongwei.rwcommon.vo.MailDo;
 import com.rongwei.safecommon.fegin.CXCommonFeginClient;
@@ -21,6 +22,7 @@ import com.rongwei.safecommon.utils.CXCommonUtils;
 import com.rongwei.safecommon.utils.SaveConstans;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -64,7 +66,39 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
     private ApsProductionMergeOrderService apsProductionMergeOrderService;
     @Autowired
     private ApsOrderAlloyCompositionService apsOrderAlloyCompositionService;
+    @Autowired
+    private ApsProductionMergeOrderDao apsProductionMergeOrderDao;
+    @Autowired
+    private ApsProductionTechnicalRequirementDao apsProductionTechnicalRequirementDao;
+    @Autowired
+    private ApsOrderAlloyCompositionDao apsOrderAlloyCompositionDao;
+    @Autowired
+    private ApsProductionMergeOrderHistoryService apsProductionMergeOrderHistoryService;
+    @Autowired
+    private ApsProductDetailHistoryService apsProductDetailHistoryService;
+    @Autowired
+    private ApsOrderAlloyCompositionHistoryService apsOrderAlloyCompositionHistoryService;
+    @Autowired
+    private ApsProductionTechnicalRequirementHistoryService apsProductionTechnicalRequirementHistoryService;
+    @Autowired
+    private ApsBlankOrderHistoryService apsBlankOrderHistoryService;
+    @Autowired
+    private ApsProcessOutputProductDao apsProcessOutputProductDao;
+    @Autowired
+    private ApsProcessOutputProductHistoryService apsProcessOutputProductHistoryService;
+    @Autowired
+    private ApsProcessOperationHistoryService apsProcessOperationHistoryService;
+    @Autowired
+    private ApsProcessOperationOutMaterHistoryService apsProcessOperationOutMaterHistoryService;
+    @Autowired
+    private ApsProcessOperationEquHistoryService apsProcessOperationEquHistoryService;
+    @Autowired
+    private ApsProcessOperationOutMaterDao apsProcessOperationOutMaterDao;
+    @Autowired
+    private ApsProcessOperationEquDao apsProcessOperationEquDao;
 
+    @Autowired
+    private ApsProductionOrderHistoryService apsProductionOrderHistoryService;
     public static final String ERROR_MSG = "%s上诉订单的排程交货期大于承诺交货期";
 
     /**
@@ -492,6 +526,165 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
         });
     }
 
+    /*
+    根据保存前数据的 id 获取撤回前版本所有主子表信息
+     */
+    @Override
+    public R saveHistoryInfo(String id) {
+        //获取保存前主子表信息
+        ApsProductionOrderDo apsProductionOrderDo = this.baseMapper.selectDataInfo(id);
+        if (apsProductionOrderDo != null) {
+            //创建一个map集合
+            Map<String, String> ApsProductDetailMap = new HashMap<>();
+
+            ApsProductionOrderHistoryDo  apsProductionOrderHistoryDo = new ApsProductionOrderHistoryDo();
+            BeanUtils.copyProperties(apsProductionOrderDo, apsProductionOrderHistoryDo);
+            apsProductionOrderHistoryDo.setHistorytableid(apsProductionOrderDo.getId());
+            apsProductionOrderHistoryDo.setId(SecurityUtil.getUUID());
+            apsProductionOrderHistoryService.save(apsProductionOrderHistoryDo);
+
+            //获取合并订单列表
+            List<ApsProductionMergeOrderDo> apsProductionMergeOrderDoList = apsProductionMergeOrderDao.selectApsProductionMergeOrderDoByMainId(apsProductionOrderDo.getId());
+            if (apsProductionMergeOrderDoList != null && apsProductionMergeOrderDoList.size() > 0) {
+                for (ApsProductionMergeOrderDo apsProductionMergeOrderDo: apsProductionMergeOrderDoList) {
+                    //将apsProductionMergeOrderDo的数据复制到apsProductionMergeOrderHistoryDo
+                    ApsProductionMergeOrderHistoryDo apsProductionMergeOrderHistoryDo = new ApsProductionMergeOrderHistoryDo();
+                    BeanUtils.copyProperties(apsProductionMergeOrderDo, apsProductionMergeOrderHistoryDo);
+                    //订单表和历史版本表关联
+                    apsProductionMergeOrderHistoryDo.setMainid(apsProductionOrderHistoryDo.getId());
+                    apsProductionMergeOrderHistoryDo.setId(SecurityUtil.getUUID());
+                    //保存apsProductionMergeOrderHistoryDo
+                    apsProductionMergeOrderHistoryService.save(apsProductionMergeOrderHistoryDo);
+                }
+
+            }
+
+
+            //获取产品明细
+            List<ApsProductDetailDo> apsProductDetailDoList = apsProductDetailDao.getProductDetailByMainId(apsProductionOrderDo.getId());
+            if (apsProductDetailDoList != null && apsProductDetailDoList.size() > 0) {
+
+                for (ApsProductDetailDo apsProductDetailDo : apsProductDetailDoList) {
+                    //将apsProductDetailDo的数据复制到apsProductDetailHistoryDo
+                    ApsProductDetailHistoryDo apsProductDetailHistoryDo = new ApsProductDetailHistoryDo();
+                    BeanUtils.copyProperties(apsProductDetailDo, apsProductDetailHistoryDo);
+                    //关联历史版本主表 id
+                    apsProductDetailHistoryDo.setMainid(apsProductionOrderHistoryDo.getId());
+                    apsProductDetailHistoryDo.setId(SecurityUtil.getUUID());
+
+                    //保存aps
+                    apsProductDetailHistoryService.save(apsProductDetailHistoryDo);
+
+                    //通过产品明细 id  获取 坯料输出成品 aps_process_output_product (关联id:PRODUCTID)
+                    List<ApsProcessOutputProductDo> apsProcessOutputProductDoList = apsProcessOutputProductDao.getProcessOutputProductByProductid(apsProductDetailDo.getId());
+                    if (apsProcessOutputProductDoList != null && apsProcessOutputProductDoList.size() > 0) {
+
+                        for (ApsProcessOutputProductDo apsProcessOutputProductDo : apsProcessOutputProductDoList) {
+                            //向ApsProductDetailMap集合中插入产品明细数据的老 id 和历史版本对应数据的新 id
+                            ApsProductDetailMap.put(apsProcessOutputProductDo.getId(), apsProductDetailHistoryDo.getId());
+                        }
+                    }
+                }
+            }
+            //获取技术要求
+            List<ApsProductionTechnicalRequirementDo> apsProductionTechnicalRequirementDoList = apsProductionTechnicalRequirementDao.selectByOrderid(apsProductionOrderDo.getId());
+            if (apsProductionTechnicalRequirementDoList != null && apsProductionTechnicalRequirementDoList.size() > 0) {
+                for (ApsProductionTechnicalRequirementDo apsProductionTechnicalRequirementDo : apsProductionTechnicalRequirementDoList) {
+                    ApsProductionTechnicalRequirementHistoryDo apsProductionTechnicalRequirementHistoryDo = new ApsProductionTechnicalRequirementHistoryDo();
+                    BeanUtils.copyProperties(apsProductionTechnicalRequirementDo, apsProductionTechnicalRequirementHistoryDo);
+                    apsProductionTechnicalRequirementHistoryDo.setOrderid(apsProductionOrderHistoryDo.getId());
+                    apsProductionTechnicalRequirementHistoryDo.setId(SecurityUtil.getUUID());
+                    apsProductionTechnicalRequirementHistoryService.save(apsProductionTechnicalRequirementHistoryDo);
+                }
+            }
+            //获取合金成分要求
+            List<ApsOrderAlloyCompositionDo> apsOrderAlloyCompositionDoList = apsOrderAlloyCompositionDao.getAlloyCompositionByProductionorderId(apsProductionOrderDo.getId());
+
+            if (apsOrderAlloyCompositionDoList != null && apsOrderAlloyCompositionDoList.size() > 0) {
+
+                for (ApsOrderAlloyCompositionDo apsOrderAlloyCompositionDo : apsOrderAlloyCompositionDoList) {
+                    ApsOrderAlloyCompositionHistoryDo apsOrderAlloyCompositionHistoryDo = new ApsOrderAlloyCompositionHistoryDo();
+                    BeanUtils.copyProperties(apsOrderAlloyCompositionDo, apsOrderAlloyCompositionHistoryDo);
+                    apsOrderAlloyCompositionHistoryDo.setProductionorderid(apsProductionOrderHistoryDo.getId());
+                    apsOrderAlloyCompositionHistoryDo.setId(SecurityUtil.getUUID());
+                    apsOrderAlloyCompositionHistoryService.save(apsOrderAlloyCompositionHistoryDo);
+                }
+            }
+            //获取坯料计划
+            List<ApsBlankOrderDo> apsBlankOrderDoList = apsBlankOrderDao.selectBlankOrderByProductionorderId(apsProductionOrderDo.getId());
+
+            if (apsBlankOrderDoList != null && apsBlankOrderDoList.size() > 0) {
+
+                for (ApsBlankOrderDo apsBlankOrderDo : apsBlankOrderDoList) {
+                    ApsBlankOrderHistoryDo apsBlankOrderHistoryDo = new ApsBlankOrderHistoryDo();
+                    BeanUtils.copyProperties(apsBlankOrderDo, apsBlankOrderHistoryDo);
+                    apsBlankOrderHistoryDo.setProductionorderid(apsProductionOrderHistoryDo.getId());
+                    apsBlankOrderHistoryDo.setId(SecurityUtil.getUUID());
+                    apsBlankOrderHistoryService.save(apsBlankOrderHistoryDo);
+
+
+                    //根据坯料计划id获取 坯料输出成品  aps_process_output_product子表数据
+                    List<ApsProcessOutputProductDo> apsProcessOutputProductDoList = apsProcessOutputProductDao.getProcessOutputProductByBlankId(apsBlankOrderDo.getId());
+                    if (apsProcessOutputProductDoList != null && apsProcessOutputProductDoList.size() > 0) {
+                        for (ApsProcessOutputProductDo apsProcessOutputProductDo : apsProcessOutputProductDoList) {
+                            ApsProcessOutputProductHistoryDo apsProcessOutputProductHistoryDo = new ApsProcessOutputProductHistoryDo();
+                            BeanUtils.copyProperties(apsProcessOutputProductDo, apsProcessOutputProductHistoryDo);
+                            //ApsProductDetailMap不为 null 则 如果键为apsProcessOutputProductDo.getId() 数据存在 map 中 则获取到其值 并且赋值到productid 字段
+                            if (ApsProductDetailMap != null && ApsProductDetailMap.containsKey(apsProcessOutputProductDo.getId())) {
+                                apsProcessOutputProductHistoryDo.setProductid(ApsProductDetailMap.get(apsProcessOutputProductDo.getId()));
+                            }
+                            apsProcessOutputProductHistoryDo.setBlankid(apsBlankOrderHistoryDo.getId());
+                            apsProcessOutputProductHistoryDo.setId(SecurityUtil.getUUID());
+                            apsProcessOutputProductHistoryService.save(apsProcessOutputProductHistoryDo);
+
+                        }
+                    }
+
+                    //根据坯料计划id获取 工序作业  aps_process_operation 子表数据
+                    List<ApsProcessOperationDo> apsProcessOperationDoList = apsProcessOperationDao.getProcessOperationByBlankId(apsBlankOrderDo.getId());
+
+                    if (apsProcessOperationDoList != null && apsProcessOperationDoList.size() > 0) {
+                        for (ApsProcessOperationDo apsProcessOperationDo : apsProcessOperationDoList) {
+                            ApsProcessOperationHistoryDo apsProcessOperationHistoryDo = new ApsProcessOperationHistoryDo();
+                            BeanUtils.copyProperties(apsProcessOperationDo, apsProcessOperationHistoryDo);
+                            apsProcessOperationHistoryDo.setBlankid(apsBlankOrderHistoryDo.getId());
+                            apsProcessOperationHistoryDo.setId(SecurityUtil.getUUID());
+                            apsProcessOperationHistoryService.save(apsProcessOperationHistoryDo);
+
+                            //根据工序作业 id 获取 输出物料 aps_process_operation_out_mater
+                            List<ApsProcessOperationOutMaterDo> apsProcessOperationOutMaterDoList = apsProcessOperationOutMaterDao.getProcessOperationOutMaterByMainId(apsProcessOperationDo.getId());
+
+                            if (apsProcessOperationOutMaterDoList != null && apsProcessOperationOutMaterDoList.size() > 0) {
+                                for (ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo : apsProcessOperationOutMaterDoList) {
+                                    ApsProcessOperationOutMaterHistoryDo apsProcessOperationOutMaterHistoryDo = new ApsProcessOperationOutMaterHistoryDo();
+                                    BeanUtils.copyProperties(apsProcessOperationOutMaterDo, apsProcessOperationOutMaterHistoryDo);
+                                    apsProcessOperationOutMaterHistoryDo.setMainid(apsProcessOperationHistoryDo.getId());
+                                    apsProcessOperationOutMaterHistoryDo.setId(SecurityUtil.getUUID());
+                                    apsProcessOperationOutMaterHistoryService.save(apsProcessOperationOutMaterHistoryDo);
+                                }
+                            }
+                            //根据工序作业 id 获取 可选设备 aps_process_operation_equ
+                            List<ApsProcessOperationEquDo> apsProcessOperationEquDoList = apsProcessOperationEquDao.getProcessOperationEquByMainId(apsProcessOperationDo.getId());
+
+                            if (apsProcessOperationEquDoList != null && apsProcessOperationEquDoList.size() > 0) {
+                                for (ApsProcessOperationEquDo apsProcessOperationEquDo : apsProcessOperationEquDoList) {
+                                    ApsProcessOperationEquHistoryDo apsProcessOperationEquHistoryDo = new ApsProcessOperationEquHistoryDo();
+                                    BeanUtils.copyProperties(apsProcessOperationEquDo, apsProcessOperationEquHistoryDo);
+                                    apsProcessOperationEquHistoryDo.setMainid(apsProcessOperationHistoryDo.getId());
+                                    apsProcessOperationEquHistoryDo.setId(SecurityUtil.getUUID());
+                                    apsProcessOperationEquHistoryService.save(apsProcessOperationEquHistoryDo);
+                                }
+                            }
+
+
+                        }
+                    }
+                }
+            }
+        }
+        return R.ok();
+    }
+
 }
 
 

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

@@ -0,0 +1,23 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ApsProductionTechnicalRequirementDao;
+import com.rongwei.bscommon.sys.dao.ApsProductionTechnicalRequirementHistoryDao;
+import com.rongwei.bscommon.sys.service.ApsProductionTechnicalRequirementHistoryService;
+import com.rongwei.bscommon.sys.service.ApsProductionTechnicalRequirementService;
+import com.rongwei.bsentity.domain.ApsProductionTechnicalRequirementDo;
+import com.rongwei.bsentity.domain.ApsProductionTechnicalRequirementHistoryDo;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ */
+@Service
+public class ApsProductionTechnicalRequirementHistoryServiceImpl extends ServiceImpl<ApsProductionTechnicalRequirementHistoryDao, ApsProductionTechnicalRequirementHistoryDo>
+        implements ApsProductionTechnicalRequirementHistoryService {
+
+}
+
+
+
+

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

@@ -160,7 +160,7 @@ public class ApsReportOutputServiceImpl extends ServiceImpl<ApsReportOutputDao,
                         apsReportOutputDo.setLevel(req.getLevel());
                         //生成批次号
                         //不用走系统生成的批次号了,按照输入的批次号就行分卷就行
-                        String code = req.getInputBatchNumber() + "_" + j;
+                        String code = req.getInputBatchNumber() + "-" + j;
                         j++;
 
 //                        //生成批次号

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

@@ -0,0 +1,216 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * <p>
+ * 生产订单_坯料计划历史记录
+ * </p>
+ *
+ * @since 2024-04-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("aps_blank_order_history")
+public class ApsBlankOrderHistoryDo extends BaseDo {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 主键
+     */
+    @TableId("ID")
+    private String id;
+    /**
+     * 生产订单ID
+     */
+    @TableField("PRODUCTIONORDERID")
+    private String productionorderid;
+    /**
+     * 坯料计划编号
+     */
+    @TableField("BLANKNUMBER")
+    private String blanknumber;
+    /**
+     * 物料名称
+     */
+    @TableField("MATERIALNAME")
+    private String materialname;
+    /**
+     * 物料编码
+     */
+    @TableField("MATERIALCODE")
+    private String materialcode;
+    /**
+     * 坯料类型
+     */
+    @TableField("BLANKTYPE")
+    private String blanktype;
+    /**
+     * 产品类型
+     */
+    @TableField("PRODUCTTYPE")
+    private String producttype;
+    /**
+     * 合金
+     */
+    @TableField("ALLOY")
+    private String alloy;
+    /**
+     * 合金状态
+     */
+    @TableField("ALLOYSTATUS")
+    private String alloystatus;
+    /**
+     * 厚度(mm)
+     */
+    @TableField("THICKNESS")
+    private BigDecimal thickness;
+    /**
+     * 宽度(mm)
+     */
+    @TableField("PROWIDTH")
+    private BigDecimal prowidth;
+    /**
+     * 长度(mm)
+     */
+    @TableField("PROLENGTH")
+    private BigDecimal prolength;
+    /**
+     * 单卷重
+     */
+    @TableField("SINGLEROLLWEIGHT")
+    private BigDecimal singlerollweight;
+    /**
+     * 数量单位
+     */
+    @TableField("NUMBERUNIT")
+    private String numberunit;
+    /**
+     * 卷数
+     */
+    @TableField("ROLLNUM")
+    private Integer rollnum;
+    /**
+     * 总重量
+     */
+    @TableField("TOTALWEIGHT")
+    private BigDecimal totalweight;
+    /**
+     * 是否备料
+     */
+    @TableField("PREPAREMATERIAL")
+    private String preparematerial;
+    /**
+     * 是否不良品
+     */
+    @TableField("DEFECTIVEPRODUCT")
+    private String defectiveproduct;
+    /**
+     * 备料批次号
+     */
+    @TableField("PREPAREMATERIALBATCHNO")
+    private String preparematerialbatchno;
+    /**
+     * 输出订单产品
+     */
+    @TableField("OUTPUTORDERPRODUCT")
+    private String outputorderproduct;
+    /**
+     * 输出成品
+     */
+    @TableField("OUTPUTFINISHPRODUCT")
+    private String outputfinishproduct;
+    /**
+     * 输出物料
+     */
+    @TableField("OUTPUTMATERIAL")
+    private String outputmaterial;
+    /**
+     * 生产状态
+     */
+    @TableField("PRODUCTSTATUS")
+    private String productstatus;
+    /**
+     * 所属租户ID
+     */
+    @TableField("TENANTID")
+    private String tenantid;
+    /**
+     * 扩展json格式配置
+     */
+    @TableField("ROPTION")
+    private String roption;
+    /**
+     * 产品类型ID
+     */
+    @TableField("PRODUCTTYPEID")
+    private String producttypeid;
+    /**
+     * 输入物料描述
+     */
+    @TableField("INPUTREPORTDESCRIBE")
+    private String inputreportdescribe;
+    /**
+     * 选择的工艺路线ID
+     */
+    @TableField("CRAFTROUTEID")
+    private String craftrouteid;
+    /**
+     * 是否锁定 y:锁定,n:未锁定
+     */
+    @TableField("LOCKMARK")
+    private String lockmark;
+
+    /**
+     * 是否暂存
+     */
+    @TableField("ISSTAG")
+    private String isstag;
+
+    /**
+     * 排程状态
+     */
+    @TableField("SCHEDULINGSTATUS")
+    private String schedulingstatus;
+
+    /**
+     * 期望交货日期
+     */
+    @TableField("DELIVERYDATE")
+    private Date deliverydate;
+
+    /**
+     * 排程交货日期-起
+     */
+    @TableField("SCHEDULEDATESTART")
+    private Date scheduledatestart;
+
+    /**
+     * 排程交货日期-止
+     */
+    @TableField("SCHEDULEDATEEND")
+    private Date scheduledateend;
+
+    /**
+     * 承诺交货日期-起
+     */
+    @TableField("PROMISEDATESTART")
+    private Date promisedatestart;
+
+    /**
+     * 承诺交货日期-止
+     */
+    @TableField("PROMISEDATEEND")
+    private Date promisedateend;
+}

+ 46 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsOrderAlloyCompositionHistoryDo.java

@@ -0,0 +1,46 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+
+/**
+ * aps_order_alloy_composition_history
+ * @author
+ */
+@Data
+@TableName("aps_order_alloy_composition_history")
+public class ApsOrderAlloyCompositionHistoryDo extends BaseDo {
+    /**
+     * 主键
+     */
+    private String id;
+
+    /**
+     * 所属租户ID
+     */
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+
+    /**
+     * 生产订单ID
+     */
+    private String productionorderid;
+
+    /**
+     * 合金
+     */
+    private String alloy;
+
+    /**
+     * 成分要求
+     */
+    private String compontentrequirement;
+
+    private static final long serialVersionUID = 1L;
+}

+ 69 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationEquHistoryDo.java

@@ -0,0 +1,69 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 生产订单_坯料计划_工序作业可选设备历史记录
+ * </p>
+ *
+ * @author DLC
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("aps_process_operation_equ_history")
+public class ApsProcessOperationEquHistoryDo extends BaseDo {
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId("ID")
+    private String id;
+
+    @TableField("TENANTID")
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    @TableField("ROPTION")
+    private String roption;
+
+    /**
+     * 坯料ID
+     */
+    @TableField("BLANKID")
+    private String blankid;
+
+    /**
+     * 生产订单-坯料计划-工序作业ID
+     */
+    @TableField("MAINID")
+    private String mainid;
+
+    /**
+     * 资源ID
+     */
+    @TableField("RESOURCEID")
+    private String resourceid;
+
+    /**
+     * 资源类型
+     */
+    @TableField("RESOURCETYPE")
+    private String resourcetype;
+
+    /**
+     * 设备参数
+     */
+    @TableField("EQUPARAMES")
+    private String equparames;
+}

+ 458 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationHistoryDo.java

@@ -0,0 +1,458 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * <p>
+ * 生产订单-坯料计划-工序作业
+ * </p>
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("aps_process_operation_history")
+public class ApsProcessOperationHistoryDo extends BaseDo {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId("ID")
+    private String id;
+    @TableField("TENANTID")
+    private String tenantid;
+    /**
+     * 扩展json格式配置
+     */
+    @TableField("ROPTION")
+    private String roption;
+    /**
+     * 所属工厂
+     */
+    @TableField("OWNEDFACTORY")
+    private String ownedfactory;
+    /**
+     * 工艺路线的工艺步骤表ID
+     */
+    @TableField("CRAFTSTEPID")
+    private String craftstepid;
+    /**
+     * 工艺步骤编号
+     */
+    @TableField("STEPNUM")
+    private String stepnum;
+    /**
+     * 工序ID
+     */
+    @TableField("PROCESSID")
+    private String processid;
+    /**
+     * 工序编号
+     */
+    @TableField("PROCESSCODE")
+    private String processcode;
+    /**
+     * 工序
+     */
+    @TableField("PROCESS")
+    private String process;
+    /**
+     * 工序显示名
+     */
+    @TableField("PROCESSNAME")
+    private String processname;
+    /**
+     * 加工方式
+     */
+    @TableField("PROCESSWAY")
+    private String processway;
+    /**
+     * 数量单位
+     */
+    @TableField("NUMUNIT")
+    private String numunit;
+    /**
+     * 单次加工量
+     */
+    @TableField("ONCEPROCESSVAL")
+    private BigDecimal onceprocessval;
+    /**
+     * 单次加工时长
+     */
+    @TableField("ONCEPROCESSMIN")
+    private BigDecimal onceprocessmin;
+    /**
+     * 单位时间产能
+     */
+    @TableField("PERTIMECAPACITY")
+    private BigDecimal pertimecapacity;
+    /**
+     * 加工时间单位
+     */
+    @TableField("TIMEUNIT")
+    private String timeunit;
+    /**
+     * 上机准备时间(分钟)
+     */
+    @TableField("PREPRESSWORKMIN")
+    private BigDecimal prepressworkmin;
+    /**
+     * 上料时间(分钟)
+     */
+    @TableField("LOADINGMIN")
+    private BigDecimal loadingmin;
+    /**
+     * 下料时间(分钟)
+     */
+    @TableField("CUTTINGMIN")
+    private BigDecimal cuttingmin;
+    /**
+     * 下机收尾时间(分钟)
+     */
+    @TableField("CUTFINISHMIN")
+    private BigDecimal cutfinishmin;
+    /**
+     * 最小流转批次
+     */
+    @TableField("MINFLOWBATCH")
+    private BigDecimal minflowbatch;
+    /**
+     * 流转等待最小时长(分钟)
+     */
+    @TableField("MINFLOWWAITMIN")
+    private BigDecimal minflowwaitmin;
+    /**
+     * 流转等待最大时长(分钟)
+     */
+    @TableField("MAXFLOWWAITMIN")
+    private BigDecimal maxflowwaitmin;
+    /**
+     * 是否坯料工序
+     */
+    @TableField("IFBLANKPROCESS")
+    private String ifblankprocess;
+    /**
+     * 物料编号
+     */
+    @TableField("MATERIALCODE")
+    private String materialcode;
+    /**
+     * 物料名称
+     */
+    @TableField("MATERIALNAME")
+    private String materialname;
+    /**
+     * 厚度(mm)
+     */
+    @TableField("THICKNESS")
+    private BigDecimal thickness;
+    /**
+     * 厚度-起(mm)
+     */
+    @TableField("THICKSTR")
+    private BigDecimal thickstr;
+    /**
+     * 厚度-止(mm)
+     */
+    @TableField("THICKEND")
+    private BigDecimal thickend;
+    /**
+     * 宽度
+     */
+    @TableField("PROWIDTH")
+    private BigDecimal prowidth;
+    /**
+     * 宽度-起(mm)
+     */
+    @TableField("WIDTHSTR")
+    private BigDecimal widthstr;
+    /**
+     * 宽度-止(mm)
+     */
+    @TableField("WIDTHEND")
+    private BigDecimal widthend;
+    /**
+     * 长度
+     */
+    @TableField("PROLENGTH")
+    private BigDecimal prolength;
+    /**
+     * 长度-起(mm)
+     */
+    @TableField("LENGTHSTR")
+    private BigDecimal lengthstr;
+    /**
+     * 长度-止(mm)
+     */
+    @TableField("LENGTHEND")
+    private BigDecimal lengthend;
+    /**
+     * 输入物料条件
+     */
+    @TableField("INMATERCONDITION")
+    private String inmatercondition;
+    /**
+     * 输出物料要求
+     */
+    @TableField("OUTMATERREQUEST")
+    private String outmaterrequest;
+    /**
+     * 可选设备IDS
+     */
+    @TableField("CANCHOOSEDEVICEID")
+    private String canchoosedeviceid;
+    /**
+     * 可选设备
+     */
+    @TableField("CHOOSEEQU")
+    private String chooseequ;
+    /**
+     * 坯料计划ID
+     */
+    @TableField("BLANKID")
+    private String blankid;
+    /**
+     * 输入物料ID
+     */
+    @TableField("PLANINPUTID")
+    private String planinputid;
+    /**
+     * 计划输入物料
+     */
+    @TableField("PLANINPUT")
+    private String planinput;
+    /**
+     * 计划输出物料
+     */
+    @TableField("PLANOUTPUT")
+    private String planoutput;
+    /**
+     * 计划输入卷数
+     */
+    @TableField("PLANINRALL")
+    private Integer planinrall;
+    /**
+     * 计划备料卷数
+     */
+    @TableField("PLANBLANKRALL")
+    private Integer planblankrall;
+    /**
+     * 计划加工卷数
+     */
+    @TableField("PLANPROCESSRALL")
+    private Integer planprocessrall;
+    /**
+     * 加工车间ID
+     */
+    @TableField("PROCESSWORKSHOPID")
+    private String processworkshopid;
+    /**
+     * 加工车间
+     */
+    @TableField("PROCESSWORKSHOP")
+    private String processworkshop;
+    /**
+     * 加工设备ID
+     */
+    @TableField("PROCESSDEVICEID")
+    private String processdeviceid;
+    /**
+     * 加工设备
+     */
+    @TableField("PROCESSDEVICE")
+    private String processdevice;
+    /**
+     * 计划开工时间
+     */
+    @TableField("PLANSTARTDATE")
+    private Date planstartdate;
+    /**
+     * 实际开工时间
+     */
+    @TableField("ACTUALSTARTDATE")
+    private Date actualstartdate;
+    /**
+     * 计划完工时间
+     */
+    @TableField("PLANENDDATE")
+    private Date planenddate;
+    /**
+     * 实际完工时间
+     */
+    @TableField("ACTUALFINISHDATE")
+    private Date actualfinishdate;
+    /**
+     * 实际可输入卷数
+     */
+    @TableField("ACTUALIMPUTROLL")
+    private Integer actualimputroll;
+    /**
+     * 输入不合格卷数
+     */
+    @TableField("INPUTUNQUALIFIEDROLL")
+    private Integer inputunqualifiedroll;
+    /**
+     * 实际可加工卷数
+     */
+    @TableField("ACTUALCANPROCESSROLL")
+    private Integer actualcanprocessroll;
+    /**
+     * 完工状态
+     */
+    @TableField("CLOSESTATUS")
+    private String closestatus;
+    /**
+     * 已借调卷数
+     */
+    @TableField("SECONDROLL")
+    private Integer secondroll;
+    /**
+     * 已开工卷数
+     */
+    @TableField("STARTINGROLL")
+    private Integer startingroll;
+    /**
+     * 已报工卷数
+     */
+    @TableField("REPORTROLL")
+    private Integer reportroll;
+    /**
+     * 已检验卷数
+     */
+    @TableField("CHECKOUTROLL")
+    private Integer checkoutroll;
+    /**
+     * 未完工卷数
+     */
+    @TableField("UNFINISHROLL")
+    private Integer unfinishroll;
+    /**
+     * 已取消卷数
+     */
+    @TableField("CANCELROLL")
+    private Integer cancelroll;
+    /**
+     * 作业状态
+     */
+    @TableField("WORKSTATUS")
+    private String workstatus;
+    /**
+     * 生产状态
+     */
+    @TableField("PROCESSSTATUS")
+    private String processstatus;
+    /**
+     * 待加工料卷批次号
+     */
+    @TableField("BACHMATERIALPROCESS")
+    private String bachmaterialprocess;
+    /**
+     * 计划作业时长
+     */
+    @TableField("PROCESSTOTALTIME")
+    private BigDecimal processtotaltime;
+    /**
+     * 待报工记录ID
+     */
+    @TableField("WAITREPORTID")
+    private String waitreportid;
+    /**
+     * 计划加工次数
+     */
+    @TableField("PLANPROCESSNUM")
+    private Integer planprocessnum;
+    /**
+     * 前道工序作业ID
+     */
+    @TableField("PREVIOUSPROCESSID")
+    private String previousprocessid;
+    /**
+     * 前道工序作业
+     */
+    @TableField("PREVIOUSPROCESS")
+    private String previousprocess;
+    /**
+     * 后道工序作业ID
+     */
+    @TableField("NEXTPROCESSID")
+    private String nextprocessid;
+    /**
+     * 后道工序作业
+     */
+    @TableField("NEXTPROCESS")
+    private String nextprocess;
+    /**
+     * 顺序
+     */
+    @TableField("LEVEL")
+    private Integer level;
+    /**
+     * 产品类型ID
+     */
+    @TableField("PRODUCTTYPEID")
+    private String producttypeid;
+    /**
+     * 产品类型
+     */
+    @TableField("PRODUCTTYPE")
+    private String producttype;
+    /**
+     * 合金
+     */
+    @TableField("METAL")
+    private String metal;
+    /**
+     * 合金状态
+     */
+    @TableField("METALSTATE")
+    private String metalstate;
+    /**
+     * 合格输出数量
+     */
+    @TableField("OUTPUTQUALIFIEDNUM")
+    private Integer outputqualifiednum;
+    /**
+     * 不合格输出数量
+     */
+    @TableField("OUTPUTUNQUALIFIEDNUM")
+    private Integer outputunqualifiednum;
+    /**
+     * 输入物料是否可编辑
+     */
+    @TableField("CHANGEINMETER")
+    private String changeinmeter;
+    /**
+     * 输入单卷重
+     */
+    @TableField("SINGLEROLLWEIGHT")
+    private BigDecimal singlerollweight;
+    /**
+     * 是否锁定 y:锁定,n:未锁定
+     */
+    @TableField("LOCKMARK")
+    private String lockmark;
+
+    /**
+     *
+     * 计时方式
+     */
+    @TableField("TIMEWAY")
+    private String timeway;
+    /**
+     * 设备运转速度(毫米/分钟)
+     */
+    @TableField("workspeed")
+    private BigDecimal workspeed;
+
+
+}

+ 287 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationOutMaterHistoryDo.java

@@ -0,0 +1,287 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 生产订单_坯料计划_工序作业输出物料
+ * @TableName aps_process_operation_out_mater_history
+ */
+@TableName(value ="aps_process_operation_out_mater_history")
+@Data
+public class ApsProcessOperationOutMaterHistoryDo extends BaseDo implements Serializable {
+    /**
+     * 主键ID
+     */
+    @TableId
+    private String id;
+
+    /**
+     *
+     */
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+    /**
+     * 序号
+     */
+    private Integer datano;
+
+    /**
+     * 坯料计划ID
+     */
+    private String blankid;
+
+    /**
+     * 工序作业ID
+     */
+    private String mainid;
+
+    /**
+     * 物料编号
+     */
+    private String materialcode;
+
+    /**
+     * 物料名称
+     */
+    private String materialname;
+
+    /**
+     * 厚度输出规则
+     */
+    private String thickrule;
+
+    /**
+     * 厚度变化(mm)
+     */
+    private BigDecimal thickchange;
+
+    /**
+     * 厚度偏差要求
+     */
+    private String thickoffset;
+
+    /**
+     * 厚度-起(mm)
+     */
+    private BigDecimal thickstr;
+
+    /**
+     * 厚度-止(mm)
+     */
+    private BigDecimal thickend;
+
+    /**
+     * 厚度输出描述
+     */
+    private String thickremark;
+
+    /**
+     * 宽度输出规则
+     */
+    private String widthrule;
+
+    /**
+     * 宽度变化(mm)
+     */
+    private BigDecimal widthchange;
+
+    /**
+     * 宽度偏差要求
+     */
+    private String widthoffset;
+
+    /**
+     * 宽度-起(mm)
+     */
+    private BigDecimal widthstr;
+
+    /**
+     * 宽度-止(mm)
+     */
+    private BigDecimal widthend;
+
+    /**
+     * 宽度输出描述
+     */
+    private String widthremark;
+
+    /**
+     * 长度输出规则
+     */
+    private String lengthrule;
+
+    /**
+     * 长度变化(mm)
+     */
+    private BigDecimal lengthchange;
+
+    /**
+     * 长度偏差要求
+     */
+    private String lengthoffset;
+
+    /**
+     * 长度-起(mm)
+     */
+    private BigDecimal lengthstr;
+
+    /**
+     * 长度-止(mm)
+     */
+    private BigDecimal lengthend;
+
+    /**
+     * 长度输出描述
+     */
+    private String lengthremark;
+
+    /**
+     * 单卷输出数量
+     */
+    private Integer outval;
+
+    /**
+     * 前道工序输出物料要求
+     */
+    private String outmaterrequest;
+
+    /**
+     * 产品类型输出规则ID
+     */
+    private String producttyperuleid;
+
+    /**
+     * 产品类型输出规则
+     */
+    private String producttyperule;
+
+    /**
+     * 产品类型ID
+     */
+    private String producttypeid;
+
+    /**
+     * 产品类型
+     */
+    private String producttype;
+
+    /**
+     * 合金输出规则
+     */
+    private String metalrule;
+
+    /**
+     * 合金
+     */
+    private String metal;
+
+    /**
+     * 合金状态输出规则
+     */
+    private String metalstaterule;
+
+    /**
+     * 合金状态
+     */
+    private String metalstate;
+
+    /**
+     * 厚度(mm)
+     */
+    private BigDecimal thickness;
+
+    /**
+     * 宽度(mm)
+     */
+    private BigDecimal prowidth;
+
+    /**
+     * 长度(mm)
+     */
+    private BigDecimal prolength;
+
+    /**
+     * 输出成品
+     */
+    private String outputfinishproduct;
+
+    /**
+     * 数量单位
+     */
+    private String numunit;
+
+    /**
+     * 输出单卷重
+     */
+    private BigDecimal singlerollweight;
+
+    /**
+     * 计划输出卷数
+     */
+    private Integer planrollnum;
+
+    /**
+     * 输出物料
+     */
+    private String outputmaterial;
+
+    /**
+     * 实际可输出卷数
+     */
+    private Integer actrollnum;
+
+    /**
+     * 已输出卷数
+     */
+    private Integer rollnum;
+
+    /**
+     * 输出已检验卷数
+     */
+    private Integer inspectrollnum;
+
+    /**
+     * 输出不合格卷数
+     */
+    private Integer failrollnum;
+
+    /**
+     * 输出合格卷数
+     */
+    private Integer goodrollnum;
+
+    /**
+     * 横切分卷数
+     */
+    private Integer crosscutnum;
+
+    /**
+     * 纵切分卷数
+     */
+    private Integer ripcutnum;
+
+    /**
+     * 计划备料卷数
+     */
+    private Integer planstockrollnum;
+
+    /**
+     * 计划成品卷数
+     */
+    private Integer planprodrollnum;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 395 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOutputProductHistoryDo.java

@@ -0,0 +1,395 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * aps_process_output_product_history
+ * @author
+ */
+@Data
+@TableName("aps_process_output_product_history")
+public class ApsProcessOutputProductHistoryDo extends BaseDo {
+    /**
+     * 主键ID
+     */
+    private String id;
+
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+    /**
+     * 所属工厂
+     */
+    private String ownedfactory;
+
+    /**
+     * 坯料计划ID
+     */
+    private String blankid;
+
+    /**
+     * 订单产品ID
+     */
+    private String productid;
+
+    /**
+     * 订单产品
+     */
+    private String productname;
+
+    /**
+     * 替代产品ID
+     */
+    private String replaceproductid;
+
+    /**
+     * 替代产品
+     */
+    @Deprecated
+    private String replaceproductname;
+
+    /**
+     * 订单总数量
+     */
+    private BigDecimal ordertatal;
+
+    /**
+     * 数量单位
+     */
+    private String countunit;
+
+    /**
+     * 单卷重(起)
+     */
+    private BigDecimal onerollweigthstart;
+
+    /**
+     * 单卷重(止)
+     */
+    private BigDecimal onerollweigthend;
+
+    /**
+     * 输出单卷重
+     */
+    private BigDecimal outputonerollweigth;
+
+    /**
+     * 单卷输出卷数
+     */
+    private Integer outputonerollcount;
+
+    /**
+     * 成品备料卷数
+     */
+    private Integer hadrollcount;
+
+    /**
+     * 输出成品
+     */
+    private String outputresult;
+
+    /**
+     * 计划输出卷数
+     */
+    private Integer planoutputrollcount;
+
+    /**
+     * 计划输出订单卷数
+     */
+    private Integer planoutputorderroll;
+
+    /**
+     * 计划输出订单重量
+     */
+    private BigDecimal planoutputonerollweight;
+
+    /**
+     * 实际可输出卷数
+     */
+    private Integer actualcanoutputroll;
+
+    /**
+     * 输出不合格卷数
+     */
+    private Integer outputunqualifiedroll;
+
+    /**
+     * 可输出订单卷数
+     */
+    private Integer canoutputroll;
+
+    /**
+     * 可输出订单重量
+     */
+    private BigDecimal canoutputorderweight;
+
+    /**
+     * 物料ID
+     */
+    private String materialid;
+
+    /**
+     * 产品类型
+     */
+    private String producttype;
+
+    /**
+     * 合金
+     */
+    private String alloy;
+
+    /**
+     * 合金状态
+     */
+    private String alloystatus;
+
+    /**
+     * 厚度(mm)
+     */
+    private BigDecimal thickness;
+
+    /**
+     * 宽度(mm)
+     */
+    private BigDecimal prowidth;
+
+    /**
+     * 长度(mm)
+     */
+    private BigDecimal prolength;
+
+    /**
+     * 产品类型ID
+     */
+    private String producttypeid;
+
+    /**
+     * 输出卷径(mm)
+     */
+    private BigDecimal rolloutputdiameter;
+
+    /**
+     * 卷重要求
+     */
+    private String rollweightrequirement;
+
+    /**
+     * 卷径要求
+     */
+    private String rolldiameterrequirement;
+
+    /**
+     * 卷数要求
+     */
+    private String rollnumberrequirement;
+
+    /**
+     * 替代产品类型ID
+     */
+    private String changeproducttypeid;
+
+    /**
+     * 替代产品类型
+     */
+    private String changeproducttype;
+
+    /**
+     * 替代合金
+     */
+    private String changealloy;
+
+    /**
+     * 替代合金状态
+     */
+    private String changealloystatus;
+
+    /**
+     * 技术要求详情
+     */
+    private String technicalrequirement;
+
+    /**
+     * 坯料类型
+     */
+    private String blanktype;
+
+    /**
+     * 成分调整
+     */
+    private String compositionchange;
+
+    /**
+     * 调整方案
+     */
+    private String changeremark;
+
+    /**
+     * 坯料厚度
+     */
+    private String blamkthickness;
+
+    /**
+     * 坯料均质
+     */
+    private String blankhomogenization;
+
+    /**
+     * 终轧温度
+     */
+    private String finishtemperature;
+
+    /**
+     * 厚度公差(H)
+     */
+    private String thicknesstolerance;
+
+    /**
+     * 宽度公差(W)
+     */
+    private String widthtolerance;
+
+    /**
+     * 长度公差(L)
+     */
+    private String lengthtolerance;
+
+    /**
+     * 折弯要求
+     */
+    private String bendrequirement;
+
+    /**
+     * 接头(率)
+     */
+    private String joint;
+
+    /**
+     * 刷水/达因值
+     */
+    private String swabbing;
+
+    /**
+     * 抗拉强度
+     */
+    private String tensilestrength;
+
+    /**
+     * 屈服强度
+     */
+    private String yieldstrength;
+
+    /**
+     * 延伸率
+     */
+    private String elongationrate;
+
+    /**
+     * 针孔
+     */
+    private String pinhole;
+
+    /**
+     * 杯突
+     */
+    private String cupping;
+
+    /**
+     * 制耳
+     */
+    private String earing;
+
+    /**
+     * 管内芯直径(mm)
+     */
+    private BigDecimal innercorediameter;
+
+    /**
+     * 管芯材质
+     */
+    private String corematerial;
+
+    /**
+     * 包装方式
+     */
+    private String packagingmethod;
+
+    /**
+     * 包装要求
+     */
+    private String packagingrequirement;
+
+    /**
+     * 托盘要求
+     */
+    private String pallentrequirements;
+
+    /**
+     * 标签要求
+     */
+    private String tag;
+
+    /**
+     * 正反面
+     */
+    private String frontandbacksides;
+
+    /**
+     * 亮暗面
+     */
+    private String surfacerequirement;
+
+    /**
+     * 是否过拉矫
+     */
+    private String istensionlevelling;
+
+    /**
+     * 表面硬度
+     */
+    private String surfacehardness;
+
+    /**
+     * 其他订单执行标准
+     */
+    private String otherorderstandard;
+
+    /**
+     * 是否成熟工艺
+     */
+    private String idmatureprocess;
+
+    /**
+     * 其他注意事项
+     */
+    private String otherprecaution;
+
+    /**
+     * 订单产品类型名称
+     */
+    private String orderproducttype;
+
+    /**
+     * 坯料产品类型名称
+     */
+    private String blankproducttype;
+
+    /**
+     * 订单产品类型
+     */
+    private String orderproducttypeid;
+
+    /**
+     * 坯料产品类型
+     */
+    private String blankproducttypeid;
+
+    private static final long serialVersionUID = 1L;
+}

+ 175 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProductDetailHistoryDo.java

@@ -0,0 +1,175 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.math.BigDecimal;
+
+/**
+ * aps_product_detail_history
+ * @author
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("aps_product_detail_history")
+public class ApsProductDetailHistoryDo extends BaseDo {
+
+    private String id;
+
+    /**
+     * 物料名称
+     */
+    private String materialname;
+
+    /**
+     * 物料编码
+     */
+    private String materialcode;
+
+    /**
+     * 产品类型
+     */
+    private String producttype;
+
+    /**
+     * 合金
+     */
+    private String alloy;
+
+    /**
+     * 合金状态
+     */
+    private String alloystatus;
+
+    /**
+     * 厚度(mm)
+     */
+    private BigDecimal thickness;
+
+    /**
+     * 宽度(mm)
+     */
+    private BigDecimal prowidth;
+
+    /**
+     * 长度(mm)
+     */
+    private BigDecimal prolength;
+
+    /**
+     * 规格
+     */
+    private String specialfication;
+
+    /**
+     * 合并订单号
+     */
+    private String mergeordernumber;
+
+    /**
+     * 订单总数量
+     */
+    private BigDecimal totalordercount;
+
+    /**
+     * 坯料计划输出总重量
+     */
+    private BigDecimal planout;
+
+    /**
+     * 坯料实际可输出总重量
+     */
+    private BigDecimal realout;
+
+    /**
+     * 单卷重(起)
+     */
+//    private BigDecimal singlerollweightstart;
+
+    /**
+     * 单卷重(止)
+     */
+//    private BigDecimal singlerollweightend;
+
+    /**
+     * 数量单位
+     */
+    private String numberunit;
+
+    /**
+     * 卷数
+     */
+//    private Integer rollnum;
+
+    /**
+     * 生产状态
+     */
+    private String productstatus;
+
+    /**
+     * 所属租户ID
+     */
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+    /**
+     * 订单ID
+     */
+    private String mainid;
+
+    /**
+     * 产品类型ID
+     */
+    private String producttypeid;
+
+    /**
+     * 输入物料描述
+     */
+    private String inputmaterialdescription;
+
+    /**
+     * 物料ID
+     */
+    private String materialid;
+
+    /**
+     * 客户订单明细ID
+     */
+    private String customorderdetailid;
+
+    /**
+     * 客户订单号
+     */
+    private String customorderno;
+
+    /**
+     * 卷重要求
+     */
+    private String rollweightrequirement;
+
+    /**
+     * 卷径要求
+     */
+    private String rolldiameterrequirement;
+
+    /**
+     * 套筒要求
+     */
+    private String sleeverequirement;
+
+    /**
+     * 卷数要求
+     */
+    private String rollnumberrequirement;
+
+    private static final long serialVersionUID = 1L;
+}
+

+ 171 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProductionMergeOrderHistoryDo.java

@@ -0,0 +1,171 @@
+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;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 生产订单_合并历史记录表
+ *
+ * @TableName aps_production_merge_order_history
+ */
+@TableName(value = "aps_production_merge_order_history")
+@Data
+public class ApsProductionMergeOrderHistoryDo extends BaseDo implements Serializable {
+    /**
+     * 主键
+     */
+    private String id;
+
+    /**
+     * 订单单据号
+     */
+    private String orderno;
+
+    /**
+     * 客户名称
+     */
+    private String customname;
+
+    /**
+     * 下单日期
+     */
+    private Date orderdate;
+
+    /**
+     * 期望交货日期
+     */
+    private Date deliverydate;
+
+    /**
+     * 交期允许浮动(天)
+     */
+    private Integer allowday;
+
+    /**
+     * 订单状态
+     */
+    private String orderstatus;
+
+    /**
+     * 评审状态
+     */
+    private String auditstatus;
+
+    /**
+     * 评审人
+     */
+    private String auditor;
+
+    /**
+     * 评审人ID
+     */
+    private String auditorid;
+
+    /**
+     * 评审时间
+     */
+    private Date auditdate;
+
+    /**
+     * 生产状态
+     */
+    private String productionstatus;
+
+    /**
+     * 承诺交货日期
+     */
+    private Date promisedeliverydate;
+
+    /**
+     * 客户仓库
+     */
+    private String customwarehouse;
+
+    /**
+     * 送货时长(小时)
+     */
+    private Integer deliverytime;
+
+    /**
+     * 所属分厂
+     */
+    private String belongfactory;
+
+    /**
+     * 订单类型
+     */
+    private String ordertype;
+
+    /**
+     * 业务员
+     */
+    private String salesman;
+
+    /**
+     * 业务部门
+     */
+    private String businessunit;
+
+    /**
+     * 客户订单号
+     */
+    private String customorderno;
+
+    /**
+     * 是否来自客户订单系统
+     */
+    private String isfromcustom;
+
+    /**
+     * 客户订单类型
+     */
+    private String customordertype;
+
+    /**
+     * 客户订单状态
+     */
+    private String customorderstatus;
+
+    /**
+     * 所属租户ID
+     */
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+    /**
+     * 排程交货日期
+     */
+    private Date scheduledeliverydate;
+
+    /**
+     * 实际交货日期
+     */
+    private Date actualdeliverydate;
+
+    /**
+     * 订单ID
+     */
+    private String mainid;
+
+    /**
+     * 客户仓库
+     */
+    private String customwarehouseid;
+
+    /**
+     * 客户ID
+     */
+    private String customid;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 626 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProductionOrderHistoryDo.java

@@ -0,0 +1,626 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 生产订单历史版本
+ *
+ * @TableName aps_production_order_history_history
+ */
+@TableName(value = "aps_production_order_history")
+@Data
+public class ApsProductionOrderHistoryDo extends BaseDo implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private String id;
+
+    /**
+     * 历史记录主表 id
+     */
+    private String historytableid;
+
+    /**
+     * 订单单据号
+     */
+    private String orderno;
+
+    /**
+     * 客户名称
+     */
+    private String customname;
+
+    /**
+     * 下单日期
+     */
+    private Date orderdate;
+
+    /**
+     * 期望交货日期
+     */
+    @Deprecated
+    private Date deliverydate;
+
+    /**
+     * 交期允许浮动(天)
+     */
+    private Integer allowday;
+
+    /**
+     * 订单状态
+     */
+    private String orderstatus;
+
+    /**
+     * 评审状态
+     */
+    private String auditstatus;
+
+    /**
+     * 评审人
+     */
+    @Deprecated
+    private String auditor;
+
+    /**
+     * 评审人ID
+     */
+    @Deprecated
+    private String auditorid;
+
+    /**
+     * 评审时间
+     */
+    @Deprecated
+    private Date auditdate;
+
+    /**
+     * 生产状态
+     */
+    private String productionstatus;
+
+    /**
+     * 承诺交货日期
+     */
+    @Deprecated
+    private Date promisedeliverydate;
+
+    /**
+     * 客户仓库
+     */
+    private String customwarehouse;
+
+    /**
+     * 送货时长(小时)
+     */
+    private Integer deliverytime;
+
+    /**
+     * 所属分厂
+     */
+    private String belongfactory;
+
+    /**
+     * 订单类型
+     */
+    private String ordertype;
+
+    /**
+     * 业务员
+     */
+    private String salesman;
+
+    /**
+     * 业务部门
+     */
+    private String businessunit;
+
+    /**
+     * 客户订单号
+     */
+    private String customorderno;
+
+    /**
+     * 是否来自NC系统
+     */
+    private String isfromcustom;
+
+    /**
+     * NC订单类型
+     */
+    private String customordertype;
+
+    /**
+     * NC订单状态
+     */
+    private String customorderstatus;
+
+    /**
+     * 所属租户ID
+     */
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+
+    /**
+     * 排程交货日期
+     */
+    @Deprecated
+    private Date scheduledeliverydate;
+
+    /**
+     * 实际交货日期
+     */
+    @Deprecated
+    private Date actualdeliverydate;
+
+    /**
+     * 客户ID
+     */
+    private String customid;
+
+    /**
+     * 状态
+     */
+    private String status;
+
+    /**
+     * 流程ID
+     */
+    private String processinstid;
+
+    /**
+     * 客户仓库ID
+     */
+    private String customwarehouseid;
+
+    /**
+     * 坯料类型
+     */
+    private String blanktype;
+
+    /**
+     * 成分调整
+     */
+    @Deprecated
+    private String compositionchange;
+
+    /**
+     * 调整方案
+     */
+    @Deprecated
+    private String changeremark;
+
+    /**
+     * 坯料厚度(mm)
+     */
+    @Deprecated
+    private BigDecimal blamkthickness;
+
+    /**
+     * 坯料均质
+     */
+    @Deprecated
+    private String blankhomogenization;
+
+    /**
+     * 终轧温度
+     */
+    @Deprecated
+    private String finishtemperature;
+
+    /**
+     * 厚度公差(H)
+     */
+    @Deprecated
+    private String thicknesstolerance;
+
+    /**
+     * 宽度公差(W)
+     */
+    @Deprecated
+    private String widthtolerance;
+
+    /**
+     * 长度公差(L)
+     */
+    @Deprecated
+    private String lengthtolerance;
+
+    /**
+     * 折弯要求
+     */
+    @Deprecated
+    private String bendrequirement;
+
+    /**
+     * 接头(率)
+     */
+    @Deprecated
+    private String joint;
+
+    /**
+     * 刷水/达因值
+     */
+    @Deprecated
+    private String swabbing;
+
+    /**
+     * 抗拉强度
+     */
+    @Deprecated
+    private String tensilestrength;
+
+    /**
+     * 屈服强度
+     */
+    @Deprecated
+    private String yieldstrength;
+
+    /**
+     * 延伸率
+     */
+    @Deprecated
+    private String elongationrate;
+
+    /**
+     * 针孔
+     */
+    @Deprecated
+    private String pinhole;
+
+    /**
+     * 杯突
+     */
+    @Deprecated
+    private String cupping;
+
+    /**
+     * 制耳
+     */
+    @Deprecated
+    private String earing;
+
+    /**
+     * 管内芯直径(mm)
+     */
+    @Deprecated
+    private BigDecimal innercorediameter;
+
+    /**
+     * 管芯材质
+     */
+    @Deprecated
+    private String corematerial;
+
+    /**
+     * 正反面
+     */
+    @Deprecated
+    private String frontandbacksides;
+
+    /**
+     * 包装方式
+     */
+    @Deprecated
+    private String packagingmethod;
+
+    /**
+     * 标签
+     */
+    @Deprecated
+    private String tag;
+
+    /**
+     * 亮暗面
+     */
+    @Deprecated
+    private String surfacerequirement;
+
+    /**
+     * 是否过拉矫
+     */
+    @Deprecated
+    private String istensionlevelling;
+
+    /**
+     * 包装要求
+     */
+    @Deprecated
+    private String packagingrequirement;
+
+    /**
+     * 表面硬度
+     */
+    @Deprecated
+    private String surfacehardness;
+
+    /**
+     * 成品外径(mm)
+     */
+    @Deprecated
+    private String nomod;
+
+    /**
+     * 卷重要求
+     */
+    @Deprecated
+    private String rollweightrequirement;
+
+    /**
+     * 托盘要求
+     */
+    @Deprecated
+    private String pallentrequirements;
+
+    /**
+     * 其他订单执行标准
+     */
+    @Deprecated
+    private String otherorderstandard;
+
+    /**
+     * 技术评审人ID
+     */
+    @Deprecated
+    private String technicalreviewerid;
+
+    /**
+     * 技术评审人名称
+     */
+    @Deprecated
+    private String technicalreviewername;
+
+    /**
+     * 技术评审时间
+     */
+    @Deprecated
+    private Date technicalreviewdate;
+
+    /**
+     * 是否需要质量评审
+     */
+    private String needqualityreview;
+
+    /**
+     * 是否需要部长评审
+     */
+    private String needreview;
+
+    /**
+     * 质量评审人ID
+     */
+    @Deprecated
+    private String qualityreviewerid;
+
+    /**
+     * 质量评审人名称
+     */
+    @Deprecated
+    private String qualityreviewername;
+
+    /**
+     * 质量评审时间
+     */
+    @Deprecated
+    private Date qualityreviewdate;
+
+    /**
+     * 审核人ID
+     */
+    @Deprecated
+    private String reviewerid;
+
+    /**
+     * 审核人名称
+     */
+    @Deprecated
+    private String reviewername;
+
+    /**
+     * 审核时间
+     */
+    @Deprecated
+    private Date reviewdate;
+
+    /**
+     * 是否成熟工艺
+     */
+    @Deprecated
+    private String idmatureprocess;
+
+    /**
+     * 其他注意事项
+     */
+    @Deprecated
+    private String otherprecaution;
+
+    /**
+     * 最晚交货日期
+     */
+    @Deprecated
+    private Date enddate;
+
+    /**
+     * 计划交货日期
+     */
+    @Deprecated
+    private Date plandate;
+
+    /**
+     * 评审类型
+     */
+    private String reviewtype;
+
+    /**
+     * 排程状态
+     */
+//    @Deprecated
+//    private String schedulstatus;
+
+    /**
+     * 调整日期
+     */
+    private Date changedate;
+
+    /**
+     * 辅料评审状态
+     */
+    private String materialstatus;
+
+    /**
+     * 原订单ID
+     */
+    private String oldorderid;
+
+    /**
+     * 附件
+     */
+    private String file;
+
+    /**
+     * 变更内容
+     */
+    private String changecomment;
+
+    /**
+     * 流程审核人ID
+     */
+    private String processreviewerid;
+
+    /**
+     * 流程审核人名称
+     */
+    private String processreviewername;
+
+    /**
+     * 是否需要其他工程师
+     */
+    private String isneedotherengineer;
+
+    /**
+     * 是否需要副总终审
+     */
+    private String isneedvicepresident;
+
+    /**
+     * 业务流程状态
+     */
+    private String processinststatus;
+
+    /**
+     * 是否提交技术评审
+     */
+    private String issubmittechnical;
+
+    /**
+     * 是否提交交期评审
+     */
+    private String issubmitdeliverytime;
+
+    /**
+     * 是否撤回
+     */
+    private String isback;
+
+    /**
+     * 是否提交工艺评审
+     */
+    private String issubmitprocessreview;
+
+    /**
+     * 生产计划员ID
+     */
+    private String productplannerid;
+
+    /**
+     * 生产计划员名称
+     */
+    private String productplannername;
+
+    /**
+     * 工艺员ID
+     */
+    private String processmemberid;
+
+    /**
+     * 工艺员名称
+     */
+    private String processmembername;
+
+    /**
+     * 工艺质量经理ID
+     */
+    private String processquailtyid;
+
+    /**
+     * 工艺质量经理名称
+     */
+    private String processquailtyname;
+
+    /**
+     * 工艺工程师ID
+     */
+    private String processengineerid;
+
+    /**
+     * 工艺工程师名称
+     */
+    private String processengineername;
+
+    /**
+     * 技质部部长ID
+     */
+    private String departmentownerid;
+
+    /**
+     * 技质部部长名称
+     */
+    private String departmentownername;
+
+    /**
+     * 生产计划主任ID
+     */
+    private String planingownerid;
+
+    /**
+     * 生产计划主任名称
+     */
+    private String planingownername;
+
+    /**
+     * 副总ID
+     */
+    private String deputygeneralmanagerid;
+
+    /**
+     * 副总名称
+     */
+    private String deputygeneralmanagername;
+
+    /**
+     * 变更说明
+     */
+    private String changefile;
+
+    /**
+     * 流程状态
+     */
+    private String processstatustext;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

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

@@ -0,0 +1,238 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * aps_production_technical_requirement_history
+ * @author
+ */
+@Data
+@TableName("aps_production_technical_requirement_history")
+public class ApsProductionTechnicalRequirementHistoryDo extends BaseDo implements Serializable {
+    /**
+     * 主键
+     */
+    private String id;
+
+    /**
+     * 所属租户ID
+     */
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+    /**
+     * 订单ID
+     */
+    private String orderid;
+
+    /**
+     * 产品明细ID
+     */
+    private String orderdetailids;
+
+    /**
+     * 订单产品
+     */
+    private String orderdetailnames;
+
+    /**
+     * 技术要求详情
+     */
+    private String technicalrequirement;
+
+    /**
+     * 坯料类型
+     */
+    private String blanktype;
+
+    /**
+     * 成分调整
+     */
+    private String compositionchange;
+
+    /**
+     * 调整方案
+     */
+    private String changeremark;
+
+    /**
+     * 坯料厚度
+     */
+    private String blamkthickness;
+
+    /**
+     * 坯料均质
+     */
+    private String blankhomogenization;
+
+    /**
+     * 终轧温度
+     */
+    private String finishtemperature;
+
+    /**
+     * 厚度公差(H)
+     */
+    private String thicknesstolerance;
+
+    /**
+     * 宽度公差(W)
+     */
+    private String widthtolerance;
+
+    /**
+     * 长度公差(L)
+     */
+    private String lengthtolerance;
+
+    /**
+     * 折弯要求
+     */
+    private String bendrequirement;
+
+    /**
+     * 接头(率)
+     */
+    private String joint;
+
+    /**
+     * 刷水/达因值
+     */
+    private String swabbing;
+
+    /**
+     * 抗拉强度
+     */
+    private String tensilestrength;
+
+    /**
+     * 屈服强度
+     */
+    private String yieldstrength;
+
+    /**
+     * 延伸率
+     */
+    private String elongationrate;
+
+    /**
+     * 针孔
+     */
+    private String pinhole;
+
+    /**
+     * 杯突
+     */
+    private String cupping;
+
+    /**
+     * 制耳
+     */
+    private String earing;
+
+    /**
+     * 管内芯直径(mm)
+     */
+    private BigDecimal innercorediameter;
+
+    /**
+     * 管芯材质
+     */
+    private String corematerial;
+
+    /**
+     * 包装方式
+     */
+    private String packagingmethod;
+
+    /**
+     * 包装要求
+     */
+    private String packagingrequirement;
+
+    /**
+     * 托盘要求
+     */
+    private String pallentrequirements;
+
+    /**
+     * 标签要求
+     */
+    private String tag;
+
+    /**
+     * 正反面
+     */
+    private String frontandbacksides;
+
+    /**
+     * 亮暗面
+     */
+    private String surfacerequirement;
+
+    /**
+     * 是否过拉矫
+     */
+    private String istensionlevelling;
+
+    /**
+     * 表面硬度
+     */
+    private String surfacehardness;
+
+    /**
+     * 成品外径(废弃)
+     */
+    private String nomod;
+
+    /**
+     * 卷重要求(废弃)
+     */
+    private String rollweightrequirement;
+
+    /**
+     * 其他订单执行标准
+     */
+    private String otherorderstandard;
+
+    /**
+     * 是否成熟工艺
+     */
+    private String idmatureprocess;
+
+    /**
+     * 其他注意事项
+     */
+    private String otherprecaution;
+
+    /**
+     * 订单产品类型名称
+     */
+    private String orderproducttype;
+
+    /**
+     * 坯料产品类型名称
+     */
+    private String blankproducttype;
+
+    /**
+     * 订单产品类型
+     */
+    private String orderproducttypeid;
+
+    /**
+     * 坯料产品类型
+     */
+    private String blankproducttypeid;
+
+    private static final long serialVersionUID = 1L;
+}

+ 17 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/ApsProcessOutputProductAndBlankStatusVo.java

@@ -0,0 +1,17 @@
+package com.rongwei.bsentity.vo;
+
+import com.rongwei.bsentity.domain.ApsProcessOutputProductDo;
+import lombok.Data;
+
+/**
+ * @author :sc
+ * @since :2024/6/26
+ */
+@Data
+public class ApsProcessOutputProductAndBlankStatusVo extends ApsProcessOutputProductDo {
+    //坯料计划的ID
+    private String blankId;
+
+    //坯料计划的生产状态
+    private String blankStatus;
+}

+ 19 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/UpdateProductDetailsAndBlankOutputReq.java

@@ -0,0 +1,19 @@
+package com.rongwei.bsentity.vo;
+
+import com.rongwei.bsentity.domain.ApsProductDetailDo;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author :sc
+ * @since :2024/6/26
+ */
+@Data
+public class UpdateProductDetailsAndBlankOutputReq {
+    //产品明细列表
+    private List<ApsProductDetailDo> apsProductDetailDoList;
+
+    //被修改的产品明细ID
+    private String updateId;
+}

+ 15 - 0
cx-aps/cx-aps-server/src/main/java/com/rongwei/bsserver/controller/ApsProductDetailController.java

@@ -3,6 +3,7 @@ package com.rongwei.bsserver.controller;
 
 import com.rongwei.bscommon.sys.service.ApsProductDetailService;
 import com.rongwei.bsentity.domain.ApsProductDetailDo;
+import com.rongwei.bsentity.vo.UpdateProductDetailsAndBlankOutputReq;
 import com.rongwei.rwcommon.base.R;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -84,5 +85,19 @@ public class ApsProductDetailController {
             return R.error("更新或保存产品明细失败,请联系管理员");
         }
     }
+
+    /**
+     * 编辑产品明细的 合金、合金状态、厚、宽、长时,调用此接口,用于更新新的产品明细、更新产品明细对应的输出成品、拼接对应坯料计划的输出成品字段
+     */
+    @PostMapping("/updateProductDetailsAndBlankOutput")
+    public R updateProductDetailsAndBlankOutput(@RequestBody UpdateProductDetailsAndBlankOutputReq req) {
+        try {
+            log.info("更新或保存产品明细及其对应的输出成品;参数为:{}", req);
+            return apsProductDetailService.updateProductDetailsAndBlankOutput(req);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return R.error("更新或保存产品明细及其对应的输出成品失败,请联系管理员");
+        }
+    }
 }
 

+ 15 - 0
cx-aps/cx-aps-server/src/main/java/com/rongwei/bsserver/controller/ApsProductionOrderController.java

@@ -2,6 +2,7 @@ package com.rongwei.bsserver.controller;
 
 import com.rongwei.bscommon.sys.service.ApsProductionOrderService;
 import com.rongwei.bsentity.domain.ApsProductionOrderDo;
+import com.rongwei.bsentity.domain.ApsProductionTechnicalRequirementDo;
 import com.rongwei.bsentity.vo.CheckAndSaveOrUpdateOrderReq;
 import com.rongwei.bsentity.vo.DeleteOrderVo;
 import com.rongwei.rwcommon.base.R;
@@ -112,4 +113,18 @@ public class ApsProductionOrderController {
     public void reportUnqualify() {
         apsProductionOrderService.reportUnqualify();
     }
+
+
+    /**
+     * 撤回成功后保存历史数据
+     */
+    @PostMapping("/saveHistoryInfo")
+    public R saveHistoryInfo(@RequestBody String id) {
+        try {
+            return apsProductionOrderService.saveHistoryInfo(id);
+        } catch (Exception e) {
+            e.printStackTrace();
+            return R.error("保存历史版本失败");
+        }
+    }
 }