Kaynağa Gözat

Merge remote-tracking branch 'origin/master'

fangpy 1 yıl önce
ebeveyn
işleme
b4f8e9dc3a
77 değiştirilmiş dosya ile 5108 ekleme ve 35 silme
  1. 11 1
      cx-aps/cx-aps-common/pom.xml
  2. 15 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsCraftEquDao.java
  3. 15 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsCraftRouteDao.java
  4. 23 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsCraftRouteOutMaterRequestDao.java
  5. 15 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsCraftRouteStepDao.java
  6. 22 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsCraftRouteStepEquDao.java
  7. 15 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsCraftStepDao.java
  8. 15 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsOutMaterRequestDao.java
  9. 16 1
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOperationDao.java
  10. 15 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProcessOperationOutMaterDao.java
  11. 15 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsProductionOrderDao.java
  12. 15 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsReportOutputDao.java
  13. 15 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsReportRecordsDao.java
  14. 18 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsWorkInProgressInventoryDao.java
  15. 15 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsWorkInProgressInventoryMapper.java
  16. 11 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsCraftEquService.java
  17. 11 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsCraftRouteOutMaterRequestService.java
  18. 11 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsCraftRouteService.java
  19. 11 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsCraftRouteStepEquService.java
  20. 11 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsCraftRouteStepService.java
  21. 17 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsCraftStepService.java
  22. 11 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsOutMaterRequestService.java
  23. 11 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProcessOperationOutMaterService.java
  24. 13 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProcessOperationService.java
  25. 11 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsProductionOrderService.java
  26. 11 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsReportOutputService.java
  27. 11 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsReportRecordsService.java
  28. 11 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ApsWorkInProgressInventoryService.java
  29. 14 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/ReportCheckService.java
  30. 20 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsCraftEquServiceImpl.java
  31. 24 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsCraftRouteOutMaterRequestServiceImpl.java
  32. 21 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsCraftRouteServiceImpl.java
  33. 21 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsCraftRouteStepEquServiceImpl.java
  34. 20 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsCraftRouteStepServiceImpl.java
  35. 76 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsCraftStepServiceImpl.java
  36. 20 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsOutMaterRequestServiceImpl.java
  37. 20 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProcessOperationOutMaterServiceImpl.java
  38. 318 3
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProcessOperationServiceImpl.java
  39. 20 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProductionOrderServiceImpl.java
  40. 19 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsReportOutputServiceImpl.java
  41. 21 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsReportRecordsServiceImpl.java
  42. 28 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsWorkInProgressInventoryServiceImpl.java
  43. 286 0
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ReportCheckServiceImpl.java
  44. 32 0
      cx-aps/cx-aps-common/src/main/resources/mybatis/ApsCraftEquDao.xml
  45. 53 0
      cx-aps/cx-aps-common/src/main/resources/mybatis/ApsCraftRouteDao.xml
  46. 121 0
      cx-aps/cx-aps-common/src/main/resources/mybatis/ApsCraftRouteOutMaterRequestDao.xml
  47. 82 0
      cx-aps/cx-aps-common/src/main/resources/mybatis/ApsCraftRouteStepDao.xml
  48. 53 0
      cx-aps/cx-aps-common/src/main/resources/mybatis/ApsCraftRouteStepEquDao.xml
  49. 71 0
      cx-aps/cx-aps-common/src/main/resources/mybatis/ApsCraftStepDao.xml
  50. 70 0
      cx-aps/cx-aps-common/src/main/resources/mybatis/ApsOutMaterRequestDao.xml
  51. 32 0
      cx-aps/cx-aps-common/src/main/resources/mybatis/ApsProcessOperationDao.xml
  52. 123 0
      cx-aps/cx-aps-common/src/main/resources/mybatis/ApsProductionOrderDao.xml
  53. 55 0
      cx-aps/cx-aps-common/src/main/resources/mybatis/ApsReportOutputDao.xml
  54. 47 0
      cx-aps/cx-aps-common/src/main/resources/mybatis/ApsReportRecordsDao.xml
  55. 62 0
      cx-aps/cx-aps-common/src/main/resources/mybatis/ApsWorkInProgressInventoryDao.xml
  56. 58 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsCraftEquDo.java
  57. 138 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsCraftRouteDo.java
  58. 232 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsCraftRouteOutMaterRequestDo.java
  59. 273 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsCraftRouteStepDo.java
  60. 62 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsCraftRouteStepEquDo.java
  61. 203 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsCraftStepDo.java
  62. 198 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsOutMaterRequestDo.java
  63. 363 23
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationDo.java
  64. 298 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationOutMaterDo.java
  65. 405 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProductionOrderDo.java
  66. 145 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsReportOutputDo.java
  67. 113 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsReportRecordsDo.java
  68. 182 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsWorkInProgressInventory.java
  69. 143 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsWorkInProgressInventoryDo.java
  70. 13 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/PreviousProcessVo.java
  71. 42 0
      cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/UpdateApsRouteAboutVo.java
  72. 2 2
      cx-aps/cx-aps-server/src/main/java/com/rongwei/BusinessServerApplication.java
  73. 41 0
      cx-aps/cx-aps-server/src/main/java/com/rongwei/bsserver/controller/ApsProcessOperationController.java
  74. 35 0
      cx-aps/cx-aps-server/src/main/java/com/rongwei/bsserver/controller/ApsRouteController.java
  75. 38 0
      cx-aps/cx-aps-server/src/main/java/com/rongwei/bsserver/controller/ReportCheckController.java
  76. 4 4
      cx-aps/cx-aps-server/src/main/resources/bootstrap.yml
  77. 0 1
      cx-safe-check/cx-save-check-common/src/main/java/com/rongwei/sfcommon/sys/service/impl/HiddenDangerTrackServiceImpl.java

+ 11 - 1
cx-aps/cx-aps-common/pom.xml

@@ -45,6 +45,16 @@
             <artifactId>mysql-connector-java</artifactId>
             <version>${mysql.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.freemarker</groupId>
+            <artifactId>freemarker</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.rongwei</groupId>
+            <artifactId>bs-common</artifactId>
+            <version>1.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
 
     </dependencies>
-</project>
+</project>

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

@@ -0,0 +1,15 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsCraftEquDo;
+
+/**
+ * @Entity com.rongwei.training.domain.ApsCraftEqu
+ */
+public interface ApsCraftEquDao extends BaseMapper<ApsCraftEquDo> {
+
+}
+
+
+
+

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

@@ -0,0 +1,15 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsCraftRouteDo;
+
+/**
+ * @Entity com.rongwei.training.domain.ApsCraftRoute
+ */
+public interface ApsCraftRouteDao extends BaseMapper<ApsCraftRouteDo> {
+
+}
+
+
+
+

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

@@ -0,0 +1,23 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsCraftRouteOutMaterRequestDo;
+import com.rongwei.bsentity.vo.UpdateApsRouteAboutVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @Entity com.rongwei.training.domain.ApsCraftRouteOutMaterRequest
+ */
+public interface ApsCraftRouteOutMaterRequestDao extends BaseMapper<ApsCraftRouteOutMaterRequestDo> {
+
+
+    void removeByIdList(@Param("ids") List<String> ids, @Param("routeId") String routeId);
+
+    void copyDataById(@Param("datas") List<UpdateApsRouteAboutVo> datas, @Param("routeId") String routeId);
+}
+
+
+
+

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

@@ -0,0 +1,15 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsCraftRouteStepDo;
+
+/**
+ * @Entity com.rongwei.training.domain.ApsCraftRouteStep
+ */
+public interface ApsCraftRouteStepDao extends BaseMapper<ApsCraftRouteStepDo> {
+
+}
+
+
+
+

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

@@ -0,0 +1,22 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsCraftRouteStepEquDo;
+import com.rongwei.bsentity.vo.UpdateApsRouteAboutVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @Entity com.rongwei.training.domain.ApsCraftRouteStepEqu
+ */
+public interface ApsCraftRouteStepEquDao extends BaseMapper<ApsCraftRouteStepEquDo> {
+
+    void removeByIdList(@Param("ids") List<String> ids,@Param("routeId") String routeId);
+
+    void copyDataById(@Param("datas") List<UpdateApsRouteAboutVo> datas, @Param("routeId") String routeId);
+}
+
+
+
+

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

@@ -0,0 +1,15 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.rongwei.bsentity.domain.ApsCraftStepDo;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Entity com.rongwei.training.domain.ApsCraftStep
+ */
+public interface ApsCraftStepDao extends BaseMapper<ApsCraftStepDo> {
+
+}
+
+
+
+

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

@@ -0,0 +1,15 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsOutMaterRequestDo;
+
+/**
+ * @Entity com.rongwei.training.domain.ApsOutMaterRequest
+ */
+public interface ApsOutMaterRequestDao extends BaseMapper<ApsOutMaterRequestDo> {
+
+}
+
+
+
+

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

@@ -1,7 +1,11 @@
 package com.rongwei.bscommon.sys.dao;
 
-import com.rongwei.bsentity.domain.ApsProcessOperationDo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsProcessOperationDo;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
+
+import java.util.List;
 
 /**
  * <p>
@@ -12,5 +16,16 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * @since 2024-03-01
  */
 public interface ApsProcessOperationDao extends BaseMapper<ApsProcessOperationDo> {
+    void updateBachmaterialprocessByIds(@Param("ids") List<String> ids, @Param("batchNum") String batchNum);
+
+    void updateAboutCheckBatchNum(@Param("id") String id,
+                                  @Param("currentCheckNum") Integer currentCheckNum,
+                                  @Param("qualifiedQuantity") Integer qualifiedQuantity,
+                                  @Param("unqualifiedQuantity") Integer unqualifiedQuantity);
+
+    @Update("UPDATE aps_process_operation set DELETED='1' where BLANKID=#{blanckid}")
+    void updateProcessOperation(@Param("blanckid") String blanckid);
 
+    @Update("UPDATE aps_process_operation_out_mater set DELETED='1' where BLANKID=#{blanckid}")
+    void updateProcessOperationOutMeter(@Param("blanckid") String blanckid);
 }

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

@@ -0,0 +1,15 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsProcessOperationOutMaterDo;
+
+/**
+ * @Entity com.rongwei.training.domain.ApsProcessOperationOutMater
+ */
+public interface ApsProcessOperationOutMaterDao extends BaseMapper<ApsProcessOperationOutMaterDo> {
+
+}
+
+
+
+

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

@@ -0,0 +1,15 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsProductionOrderDo;
+
+/**
+ * @Entity com.rongwei.training.domain.ApsProductionOrder
+ */
+public interface ApsProductionOrderDao extends BaseMapper<ApsProductionOrderDo> {
+
+}
+
+
+
+

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

@@ -0,0 +1,15 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsReportOutputDo;
+
+/**
+ * @Entity com.rongwei.training.domain.ApsReportOutput
+ */
+public interface ApsReportOutputDao extends BaseMapper<ApsReportOutputDo> {
+
+}
+
+
+
+

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

@@ -0,0 +1,15 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsReportRecordsDo;
+
+/**
+ * @Entity com.rongwei.training.domain.ApsReportRecords
+ */
+public interface ApsReportRecordsDao extends BaseMapper<ApsReportRecordsDo> {
+
+}
+
+
+
+

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

@@ -0,0 +1,18 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsWorkInProgressInventoryDo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * @Entity com.rongwei.training.domain.ApsWorkInProgressInventory
+ */
+public interface ApsWorkInProgressInventoryDao extends BaseMapper<ApsWorkInProgressInventoryDo> {
+  void  updateWorkinprocessstatus(@Param("datas") List<ApsWorkInProgressInventoryDo> apsWorkInProgressInventoryDoList);
+}
+
+
+
+

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

@@ -0,0 +1,15 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsWorkInProgressInventoryDo;
+
+/**
+ * @Entity com.rongwei.training.domain.ApsWorkInProgressInventory
+ */
+public interface ApsWorkInProgressInventoryMapper extends BaseMapper<ApsWorkInProgressInventoryDo> {
+
+}
+
+
+
+

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

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

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

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

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

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

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

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

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

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

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

@@ -0,0 +1,17 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.ApsCraftStepDo;
+import com.rongwei.bsentity.vo.UpdateApsRouteAboutVo;
+import com.rongwei.rwcommon.base.R;
+
+import java.util.List;
+
+/**
+ *
+ */
+public interface ApsCraftStepService extends IService<ApsCraftStepDo> {
+
+    R updateApsRouteAboutVos(List<UpdateApsRouteAboutVo> updateApsRouteAboutVos,String routeId);
+
+}

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

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

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

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

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

@@ -2,6 +2,10 @@ package com.rongwei.bscommon.sys.service;
 
 import com.rongwei.bsentity.domain.ApsProcessOperationDo;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.rwcommon.base.R;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
 
 /**
  * <p>
@@ -13,4 +17,13 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ApsProcessOperationService extends IService<ApsProcessOperationDo> {
 
+    /*
+    选择工艺路线后续操作
+     */
+    R resetCraftRoute(Map<String, Object> params);
+
+    /*
+    清除工艺路线
+     */
+    void clearCraftRoute(Map<String, Object> params);
 }

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

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

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

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

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

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

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

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

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

@@ -0,0 +1,14 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.rongwei.rwcommon.base.R;
+
+/**
+ * ReportCheckService class
+ *
+ * @author XH
+ * @date 2024/03/19
+ */
+public interface ReportCheckService {
+
+    R updateRelevantInformation(String id);
+}

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

@@ -0,0 +1,20 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ApsCraftEquDao;
+import com.rongwei.bscommon.sys.service.ApsCraftEquService;
+import com.rongwei.bsentity.domain.ApsCraftEquDo;
+
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ */
+@Service
+public class ApsCraftEquServiceImpl extends ServiceImpl<ApsCraftEquDao, ApsCraftEquDo> implements ApsCraftEquService {
+
+}
+
+
+
+

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

@@ -0,0 +1,24 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ApsCraftRouteOutMaterRequestDao;
+import com.rongwei.bscommon.sys.service.ApsCraftRouteOutMaterRequestService;
+import com.rongwei.bsentity.domain.ApsCraftRouteOutMaterRequestDo;
+
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ */
+@Service
+public class ApsCraftRouteOutMaterRequestServiceImpl extends ServiceImpl<ApsCraftRouteOutMaterRequestDao, ApsCraftRouteOutMaterRequestDo>
+        implements ApsCraftRouteOutMaterRequestService {
+
+
+
+
+}
+
+
+
+

+ 21 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsCraftRouteServiceImpl.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.ApsCraftRouteDao;
+import com.rongwei.bscommon.sys.service.ApsCraftRouteService;
+import com.rongwei.bsentity.domain.ApsCraftRouteDo;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ */
+@Service
+public class ApsCraftRouteServiceImpl extends ServiceImpl<ApsCraftRouteDao, ApsCraftRouteDo>
+        implements ApsCraftRouteService {
+
+}
+
+
+
+

+ 21 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsCraftRouteStepEquServiceImpl.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.ApsCraftRouteStepEquDao;
+import com.rongwei.bscommon.sys.service.ApsCraftRouteStepEquService;
+import com.rongwei.bsentity.domain.ApsCraftRouteStepEquDo;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ */
+@Service
+public class ApsCraftRouteStepEquServiceImpl extends ServiceImpl<ApsCraftRouteStepEquDao, ApsCraftRouteStepEquDo>
+implements ApsCraftRouteStepEquService {
+
+}
+
+
+
+

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

@@ -0,0 +1,20 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ApsCraftRouteStepDao;
+import com.rongwei.bscommon.sys.service.ApsCraftRouteStepService;
+import com.rongwei.bsentity.domain.ApsCraftRouteStepDo;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ */
+@Service
+public class ApsCraftRouteStepServiceImpl extends ServiceImpl<ApsCraftRouteStepDao, ApsCraftRouteStepDo>
+        implements ApsCraftRouteStepService {
+
+}
+
+
+
+

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

@@ -0,0 +1,76 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ApsCraftRouteOutMaterRequestDao;
+import com.rongwei.bscommon.sys.dao.ApsCraftRouteStepEquDao;
+import com.rongwei.bscommon.sys.dao.ApsCraftStepDao;
+import com.rongwei.bscommon.sys.service.ApsCraftStepService;
+import com.rongwei.bsentity.domain.ApsCraftRouteStepDo;
+import com.rongwei.bsentity.domain.ApsCraftStepDo;
+import com.rongwei.bsentity.vo.UpdateApsRouteAboutVo;
+import com.rongwei.rwcommon.base.R;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ *
+ */
+@Service
+public class ApsCraftStepServiceImpl extends ServiceImpl<ApsCraftStepDao, ApsCraftStepDo>
+        implements ApsCraftStepService {
+    private final Logger log = LoggerFactory.getLogger(this.getClass().getName());
+    @Autowired
+    private ApsCraftRouteStepEquDao apsCraftRouteStepEquDao;
+    @Autowired
+    private ApsCraftRouteOutMaterRequestDao apsCraftRouteOutMaterRequestDao;
+
+    // 删除标识
+    public static final String DELTED_ROW_STATUS = "delete";
+    // 更新标识
+    public static final String ADD_ROW_STATUS = "add";
+    // 修改标识
+    public static final String EDIT_ROW_STATUS = "edit";
+
+
+    /**
+     * 保存工艺路线时 更新相关数据
+     *
+     * @param updateApsRouteAboutVos
+     * @return
+     */
+    @Override
+    public R updateApsRouteAboutVos(List<UpdateApsRouteAboutVo> updateApsRouteAboutVos, String routeId) {
+        log.debug("开始更新该工艺路线相关信息");
+        if (updateApsRouteAboutVos == null || updateApsRouteAboutVos.isEmpty()) {
+            return R.ok();
+        }
+        // 获取需要删除工艺步骤ID 数据更新先删除在更新
+        List<String> deletedIds = updateApsRouteAboutVos.stream()
+                .filter(info -> DELTED_ROW_STATUS.equals(info.getRowstatus()) || EDIT_ROW_STATUS.equals(info.getRowstatus()))
+                .map(ApsCraftRouteStepDo::getId).collect(Collectors.toList());
+        if (!deletedIds.isEmpty()) {
+            apsCraftRouteStepEquDao.removeByIdList(deletedIds, routeId);
+            apsCraftRouteOutMaterRequestDao.removeByIdList(deletedIds, routeId);
+        }
+        // 如下工艺步骤需要新增对应的  步骤设备和步骤输出规则
+        List<UpdateApsRouteAboutVo> addStepAboutData = updateApsRouteAboutVos.stream()
+                .filter(info -> ADD_ROW_STATUS.equals(info.getRowstatus()) || EDIT_ROW_STATUS.equals(info.getRowstatus()))
+                .collect(Collectors.toList());
+
+        if (!addStepAboutData.isEmpty()) {
+            apsCraftRouteStepEquDao.copyDataById(addStepAboutData, routeId);
+            apsCraftRouteOutMaterRequestDao.copyDataById(addStepAboutData, routeId);
+        }
+
+        return R.ok();
+    }
+}
+
+
+
+

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

@@ -0,0 +1,20 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ApsOutMaterRequestDao;
+import com.rongwei.bscommon.sys.service.ApsOutMaterRequestService;
+import com.rongwei.bsentity.domain.ApsOutMaterRequestDo;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ */
+@Service
+public class ApsOutMaterRequestServiceImpl extends ServiceImpl<ApsOutMaterRequestDao, ApsOutMaterRequestDo>
+        implements ApsOutMaterRequestService {
+
+}
+
+
+
+

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

@@ -0,0 +1,20 @@
+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.service.ApsProcessOperationOutMaterService;
+import com.rongwei.bsentity.domain.ApsProcessOperationOutMaterDo;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ */
+@Service
+public class ApsProcessOperationOutMaterServiceImpl extends ServiceImpl<ApsProcessOperationOutMaterDao, ApsProcessOperationOutMaterDo>
+        implements ApsProcessOperationOutMaterService {
+
+}
+
+
+
+

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

@@ -1,11 +1,26 @@
 package com.rongwei.bscommon.sys.service.impl;
 
-import com.rongwei.bsentity.domain.ApsProcessOperationDo;
-import com.rongwei.bscommon.sys.dao.ApsProcessOperationDao;
-import com.rongwei.bscommon.sys.service.ApsProcessOperationService;
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ApsProcessOperationDao;
+import com.rongwei.bscommon.sys.service.*;
+import com.rongwei.bsentity.domain.ApsCraftRouteOutMaterRequestDo;
+import com.rongwei.bsentity.domain.ApsCraftRouteStepDo;
+import com.rongwei.bsentity.domain.ApsProcessOperationDo;
+import com.rongwei.bsentity.domain.ApsProcessOperationOutMaterDo;
+import com.rongwei.bsentity.vo.PreviousProcessVo;
+import com.rongwei.rwcommon.base.R;
+import com.rongwei.rwcommon.utils.SecurityUtil;
+import com.rongwei.rwcommon.utils.StringUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
+import java.util.*;
+import java.util.stream.Collectors;
+
 /**
  * <p>
  * 生产订单_坯料计划_工序作业 服务实现类
@@ -14,7 +29,307 @@ import org.springframework.stereotype.Service;
  * @author fpy
  * @since 2024-03-01
  */
+@Slf4j
 @Service
 public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperationDao, ApsProcessOperationDo> implements ApsProcessOperationService {
+    @Autowired
+    private ApsProcessOperationDao apsProcessOperationDao;
+
+    @Autowired
+    ApsCraftRouteStepService apsCraftRouteStepService;
+
+    @Autowired
+    ApsCraftRouteOutMaterRequestService apsCraftRouteOutMaterRequestService;
+
+    @Autowired
+    ApsCraftRouteStepEquService apsCraftRouteStepEquService;
+
+    @Autowired
+    ApsProcessOperationService apsProcessOperationService;
+
+    @Autowired
+    ApsProcessOperationOutMaterService apsProcessOperationOutMaterService;
+
+    private final static Map<String, String> UNIT_MAP = new HashMap<String, String>() {{
+        put("kg", "公斤");
+        put("ton", "吨");
+    }};
+
+
+    /**
+     * 更新工序的待加工批次号信息
+     *
+     * @param ids
+     * @param batchNumn
+     */
+    public void updateBachmaterialprocessByIds(List<String> ids, String batchNumn) {
+        apsProcessOperationDao.updateBachmaterialprocessByIds(ids, batchNumn);
+    }
+
+    /**
+     * 更新当前工序的输出已检验卷数,不合格卷数,合格卷数
+     *
+     * @param id
+     * @param currentCheckNum
+     * @param qualifiedQuantity
+     * @param unqualifiedQuantity
+     */
+    public void updateAboutCheckBatchNum(String id, Integer currentCheckNum, Integer qualifiedQuantity, Integer unqualifiedQuantity) {
+        apsProcessOperationDao.updateAboutCheckBatchNum(id, currentCheckNum, qualifiedQuantity, unqualifiedQuantity);
+    }
+
+    /*
+    数量单位字典
+     */
+
+
+    /*
+    选择工艺路线后续操作
+     */
+    @Override
+    public R resetCraftRoute(Map<String, Object> params) {
+//        R r = new R();
+        try {
+            JSONObject blanckdata = new JSONObject(params.get("BLANKDATA"));
+            String craftrouteid = params.get("CRAFTROUTEID").toString();
+
+            //先清空之前的相关数据
+            Map<String, Object> blanckMap = new HashMap<>();
+            blanckMap.put("BLANKID", blanckdata.getStr("ID"));
+            clearCraftRoute(blanckMap);
+
+            //工艺路线对应的步骤信息
+            Map<String, Object> map = new HashMap<>();
+            map.put("CRAFTROUTEID", craftrouteid);
+            List<ApsCraftRouteStepDo> apsCraftRouteStepDoList = apsCraftRouteStepService.listByMap(map).stream().collect(Collectors.toList());
+            Collections.sort(apsCraftRouteStepDoList, Comparator.comparingInt(ApsCraftRouteStepDo::getLevel));
+
+            List<String> overRouteStepIds = new ArrayList<>();
+            List<PreviousProcessVo> newProcessIds = new ArrayList<>();//前道工序信息
+            List<ApsProcessOperationDo> apsProcessOperationDoList = new ArrayList<>();
+            List<ApsProcessOperationOutMaterDo> apsProcessOperationOutMaterDoList = new ArrayList<>();
+            for (ApsCraftRouteStepDo apsCraftRouteStepDo : apsCraftRouteStepDoList) {
+                if (overRouteStepIds.contains(apsCraftRouteStepDo.getId())) {
+                    continue;
+                } else {
+                    String processId;
+                    ApsProcessOperationDo apsProcessOperationDo;
+                    PreviousProcessVo previousProcessVo;
+                    if (StringUtils.isNotBlank(apsCraftRouteStepDo.getPreviousstepid())) {
+                        //后面工序
+                        List<ApsCraftRouteStepDo> apsCraftRouteStepDoList1 = apsCraftRouteStepDoList.stream().filter(acrs -> apsCraftRouteStepDo.getPreviousstepid().equals(acrs.getPreviousstepid())).collect(Collectors.toList());
+                        Collections.sort(apsCraftRouteStepDoList1, Comparator.comparing(ApsCraftRouteStepDo::getCreatedate));
+                        for (ApsCraftRouteStepDo apsCraftRouteStepDo1 : apsCraftRouteStepDoList1) {
+                            previousProcessVo = new PreviousProcessVo();
+                            processId = SecurityUtil.getUUID();
+                            apsProcessOperationDo = BeanUtil.toBean(apsCraftRouteStepDo1, ApsProcessOperationDo.class);
+                            apsProcessOperationDo.setId(processId);
+
+                            //前道工序输出
+                            List<PreviousProcessVo> processVo = newProcessIds.stream().filter(pro -> pro.getPreviousstepid().equals(apsCraftRouteStepDo1.getPreviousstepid())).collect(Collectors.toList());
+                            ApsProcessOperationOutMaterDo outMaterDo = processVo.get(0).getApsProcessOperationOutMaterDo();
+                            apsProcessOperationDo.setPreviousprocessid(processVo.get(0).getProcessId());
+                            apsProcessOperationDo.setPreviousprocess(processVo.get(0).getProcessName());
+                            apsProcessOperationDo.setPlaninputid(outMaterDo.getId());
+                            String meterInput = getMeterInfo(outMaterDo.getProducttype(), outMaterDo.getMetal(), outMaterDo.getMetalstate(), outMaterDo.getThickness(), outMaterDo.getProwidth(), outMaterDo.getProlength());
+//                            apsProcessOperationDo.setPlaninput(meterInput + outMaterDo.getSinglerollweight() + cxAdminFeginClient.getDictNameByValue("MATERIAL_UNIT", outMaterDo.getNumunit()));
+                            apsProcessOperationDo.setPlaninput(meterInput + outMaterDo.getSinglerollweight() + UNIT_MAP.getOrDefault(outMaterDo.getNumunit(), ""));
+                            apsProcessOperationDo.setProducttypeid(outMaterDo.getProducttypeid());
+                            apsProcessOperationDo.setProducttype(outMaterDo.getProducttype());
+                            apsProcessOperationDo.setMetal(outMaterDo.getMetal());
+                            apsProcessOperationDo.setMetalstate(outMaterDo.getMetalstate());
+                            apsProcessOperationDo.setThickness(outMaterDo.getThickness());
+                            apsProcessOperationDo.setProwidth(outMaterDo.getProwidth());
+                            apsProcessOperationDo.setProlength(outMaterDo.getProlength());
+                            apsProcessOperationDo.setSinglerollweight(outMaterDo.getSinglerollweight());
+                            apsProcessOperationDo.setPlaninrall(outMaterDo.getPlanrollnum() - outMaterDo.getPlanstockrollnum() - outMaterDo.getPlanprodrollnum());
+                            apsProcessOperationDo.setPlanprocessrall(outMaterDo.getPlanrollnum() - outMaterDo.getPlanstockrollnum() - outMaterDo.getPlanprodrollnum());
+                            apsProcessOperationDo.setBlankid(blanckdata.getStr("ID"));
+                            if (outMaterDo.getThickrule().equals("自定义") || outMaterDo.getWidthrule().equals("自定义") || outMaterDo.getLengthrule().equals("自定义")) {
+                                apsProcessOperationDo.setChangeinmeter("1");//输入物料是否可编辑
+                            }
+
+                            //本道工序信息
+                            previousProcessVo.setProcessId(processId);
+                            previousProcessVo.setProcessName(apsProcessOperationDo.getProcessname());
+                            previousProcessVo.setPreviousstepid(apsCraftRouteStepDo1.getId());
+                            //本道工序的输出
+                            map.put("CRAFTSTEPID", apsCraftRouteStepDo1.getId());
+                            List<ApsCraftRouteOutMaterRequestDo> apsCraftRouteOutMaterRequestDo = apsCraftRouteOutMaterRequestService.listByMap(map).stream().collect(Collectors.toList());
+                            ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo = BeanUtil.toBean(apsCraftRouteOutMaterRequestDo.get(0), ApsProcessOperationOutMaterDo.class);
+                            apsProcessOperationOutMaterDo.setId(SecurityUtil.getUUID());
+                            if (StringUtils.isBlank(apsProcessOperationOutMaterDo.getProducttypeid())) {
+                                apsProcessOperationOutMaterDo.setProducttypeid(blanckdata.getStr("PRODUCTTYPEID"));
+                            }
+                            if (StringUtils.isBlank(apsProcessOperationOutMaterDo.getProducttype())) {
+                                apsProcessOperationOutMaterDo.setProducttype(blanckdata.getStr("PRODUCTTYPE"));
+                            }
+                            if (StringUtils.isBlank(apsProcessOperationOutMaterDo.getMetal())) {
+                                apsProcessOperationOutMaterDo.setMetal(blanckdata.getStr("ALLOY"));
+                            }
+                            if (StringUtils.isBlank(apsProcessOperationOutMaterDo.getMetalstate())) {
+                                apsProcessOperationOutMaterDo.setMetalstate(blanckdata.getStr("ALLOYSTATUS"));
+                            }
+                            apsProcessOperationOutMaterDo.setThickness(changeSize(outMaterDo.getThickness(), apsProcessOperationOutMaterDo.getThickrule(), apsProcessOperationOutMaterDo.getThickchange()));
+                            apsProcessOperationOutMaterDo.setProwidth(changeSize(outMaterDo.getProwidth(), apsProcessOperationOutMaterDo.getWidthrule(), apsProcessOperationOutMaterDo.getWidthchange()));
+                            apsProcessOperationOutMaterDo.setProlength(changeSize(outMaterDo.getProlength(), apsProcessOperationOutMaterDo.getLengthrule(), apsProcessOperationOutMaterDo.getLengthchange()));
+                            apsProcessOperationOutMaterDo.setRipcutnum(1);
+                            apsProcessOperationOutMaterDo.setCrosscutnum(1);
+                            apsProcessOperationOutMaterDo.setOutval(1);
+                            apsProcessOperationOutMaterDo.setPlanrollnum(blanckdata.getInt("ROLLNUM"));
+                            apsProcessOperationOutMaterDo.setSinglerollweight(blanckdata.getBigDecimal("SINGLEROLLWEIGHT"));
+                            apsProcessOperationOutMaterDo.setNumunit(blanckdata.getStr("NUMBERUNIT"));
+                            apsProcessOperationOutMaterDo.setPlanstockrollnum(0);
+                            apsProcessOperationOutMaterDo.setPlanprodrollnum(0);
+                            apsProcessOperationOutMaterDo.setMainid(processId);
+                            apsProcessOperationOutMaterDo.setBlankid(blanckdata.getStr("ID"));
+                            previousProcessVo.setApsProcessOperationOutMaterDo(apsProcessOperationOutMaterDo);
+
+                            newProcessIds.add(previousProcessVo);
+                            apsProcessOperationDoList.add(apsProcessOperationDo);
+                            apsProcessOperationOutMaterDoList.add(apsProcessOperationOutMaterDo);
+
+                            overRouteStepIds.add(apsCraftRouteStepDo1.getId());
+                        }
+                    } else {
+                        previousProcessVo = new PreviousProcessVo();
+                        //首道工序
+                        processId = SecurityUtil.getUUID();
+                        String meterInput = getMeterInfo(blanckdata.getStr("PRODUCTTYPE"), blanckdata.getStr("ALLOY"), blanckdata.getStr("ALLOYSTATUS"), blanckdata.getBigDecimal("THICKNESS"), blanckdata.getBigDecimal("PROWIDTH"), blanckdata.getBigDecimal("PROLENGTH"));
+                        apsProcessOperationDo = BeanUtil.toBean(apsCraftRouteStepDo, ApsProcessOperationDo.class);
+                        apsProcessOperationDo.setId(processId);
+                        apsProcessOperationDo.setPlaninput(meterInput + blanckdata.getStr("SINGLEROLLWEIGHT") + UNIT_MAP.getOrDefault(blanckdata.getStr("NUMBERUNIT"), ""));
+                        apsProcessOperationDo.setProducttypeid(blanckdata.getStr("PRODUCTTYPEID"));
+                        apsProcessOperationDo.setProducttype(blanckdata.getStr("PRODUCTTYPE"));
+                        apsProcessOperationDo.setMetal(blanckdata.getStr("ALLOY"));
+                        apsProcessOperationDo.setMetalstate(blanckdata.getStr("ALLOYSTATUS"));
+                        apsProcessOperationDo.setThickness(blanckdata.getBigDecimal("THICKNESS"));
+                        apsProcessOperationDo.setProwidth(blanckdata.getBigDecimal("PROWIDTH"));
+                        apsProcessOperationDo.setProlength(blanckdata.getBigDecimal("PROLENGTH"));
+                        apsProcessOperationDo.setSinglerollweight(blanckdata.getBigDecimal("SINGLEROLLWEIGHT"));
+                        apsProcessOperationDo.setPlaninrall(blanckdata.getInt("ROLLNUM"));
+                        apsProcessOperationDo.setPlanprocessrall(blanckdata.getInt("ROLLNUM"));
+                        apsProcessOperationDo.setBlankid(blanckdata.getStr("ID"));
+
+                        //本道工序信息
+                        previousProcessVo.setProcessId(processId);
+                        previousProcessVo.setProcessName(apsProcessOperationDo.getProcessname());
+                        previousProcessVo.setPreviousstepid(apsCraftRouteStepDo.getId());
+                        //本道工序的输出
+                        map.put("CRAFTSTEPID", apsCraftRouteStepDo.getId());
+                        List<ApsCraftRouteOutMaterRequestDo> apsCraftRouteOutMaterRequestDo = apsCraftRouteOutMaterRequestService.listByMap(map).stream().collect(Collectors.toList());
+                        ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo = BeanUtil.toBean(apsCraftRouteOutMaterRequestDo.get(0), ApsProcessOperationOutMaterDo.class);
+                        apsProcessOperationOutMaterDo.setId(SecurityUtil.getUUID());
+                        if (StringUtils.isBlank(apsProcessOperationOutMaterDo.getProducttypeid())) {
+                            apsProcessOperationOutMaterDo.setProducttypeid(blanckdata.getStr("PRODUCTTYPEID"));
+                        }
+                        if (StringUtils.isBlank(apsProcessOperationOutMaterDo.getProducttype())) {
+                            apsProcessOperationOutMaterDo.setProducttype(blanckdata.getStr("PRODUCTTYPE"));
+                        }
+                        if (StringUtils.isBlank(apsProcessOperationOutMaterDo.getMetal())) {
+                            apsProcessOperationOutMaterDo.setMetal(blanckdata.getStr("ALLOY"));
+                        }
+                        if (StringUtils.isBlank(apsProcessOperationOutMaterDo.getMetalstate())) {
+                            apsProcessOperationOutMaterDo.setMetalstate(blanckdata.getStr("ALLOYSTATUS"));
+                        }
+                        apsProcessOperationOutMaterDo.setThickness(changeSize(blanckdata.getBigDecimal("THICKNESS"), apsProcessOperationOutMaterDo.getThickrule(), apsProcessOperationOutMaterDo.getThickchange()));
+                        apsProcessOperationOutMaterDo.setProwidth(changeSize(blanckdata.getBigDecimal("PROWIDTH"), apsProcessOperationOutMaterDo.getWidthrule(), apsProcessOperationOutMaterDo.getWidthchange()));
+                        apsProcessOperationOutMaterDo.setProlength(changeSize(blanckdata.getBigDecimal("PROLENGTH"), apsProcessOperationOutMaterDo.getLengthrule(), apsProcessOperationOutMaterDo.getLengthchange()));
+                        apsProcessOperationOutMaterDo.setRipcutnum(1);
+                        apsProcessOperationOutMaterDo.setCrosscutnum(1);
+                        apsProcessOperationOutMaterDo.setOutval(1);
+                        apsProcessOperationOutMaterDo.setPlanrollnum(blanckdata.getInt("ROLLNUM"));
+                        apsProcessOperationOutMaterDo.setSinglerollweight(blanckdata.getBigDecimal("SINGLEROLLWEIGHT"));
+                        apsProcessOperationOutMaterDo.setNumunit(blanckdata.getStr("NUMBERUNIT"));
+                        apsProcessOperationOutMaterDo.setPlanstockrollnum(0);
+                        apsProcessOperationOutMaterDo.setPlanprodrollnum(0);
+                        apsProcessOperationOutMaterDo.setMainid(processId);
+                        apsProcessOperationOutMaterDo.setBlankid(blanckdata.getStr("ID"));
+                        previousProcessVo.setApsProcessOperationOutMaterDo(apsProcessOperationOutMaterDo);
+
+                        newProcessIds.add(previousProcessVo);
+                        apsProcessOperationDoList.add(apsProcessOperationDo);
+                        apsProcessOperationOutMaterDoList.add(apsProcessOperationOutMaterDo);
+                    }
+                }
+            }
+
+            boolean bool1 = apsProcessOperationService.saveOrUpdateBatch(apsProcessOperationDoList);
+            boolean bool2 = apsProcessOperationOutMaterService.saveOrUpdateBatch(apsProcessOperationOutMaterDoList);
+
+            if (bool1 && bool2) {
+//                r.setCode("200");
+//                r.putData(apsCraftRouteStepDoList);
+                return R.ok();
+            } else {
+                return R.error();
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.info("选择工艺路线异常:" + e.getMessage());
+            return R.error();
+        }
+    }
+
+    /*
+    清除工艺路线
+     */
+    @Override
+    public void clearCraftRoute(Map<String, Object> params) {
+        String blankid = params.get("BLANKID").toString();
+        //工序作业
+        apsProcessOperationDao.updateProcessOperation(blankid);
+        //工序作业输出物料
+        apsProcessOperationDao.updateProcessOperationOutMeter(blankid);
+    }
+
+    //工艺步骤管理/物料输出规则
+    private String getMeterInfo(String producttype, String metal, String metalstate, BigDecimal thickness, BigDecimal prowidth, BigDecimal prolength) {
+        String res = "";
+        StringBuilder resStr = new StringBuilder();
+        StringBuilder resSizeStr = new StringBuilder();
+        if (StringUtils.isNotBlank(metal)) {
+            resStr.append(metal);
+        }
+        if (StringUtils.isNotBlank(metalstate)) {
+            resStr.append(metalstate);
+        }
+        if (StringUtils.isNotBlank(producttype)) {
+            resStr.append(producttype);
+        }
+        if (thickness != null) {
+            resSizeStr.append("厚" + thickness + "*");
+        }
+        if (prowidth != null) {
+            resSizeStr.append("宽" + prowidth + "*");
+        }
+        if (prolength != null) {
+            resSizeStr.append("长" + prolength + "*");
+        }
+
+        if (StringUtils.isBlank(resSizeStr.toString())) {
+            res = resStr.toString();
+        } else {
+            res = (StringUtils.isBlank(resStr.toString()) ? "" : (resStr.toString() + " ")) + resSizeStr.toString().substring(0, resSizeStr.toString().length() - 1) + "mm";
+        }
+
+        return res;
+    }
 
+    //长宽高的计算规则
+    private BigDecimal changeSize(BigDecimal oldVal, String countRule, BigDecimal changeVal) {
+        BigDecimal newVal = null;
+        if (!countRule.equals("自定义") && oldVal != null) {
+            if (countRule.equals("=")) {
+                newVal = changeVal;
+            } else if (countRule.equals("+")) {
+                newVal = oldVal.add(changeVal);
+            } else if (countRule.equals("-")) {
+                newVal = oldVal.subtract(changeVal);
+            } else if (countRule.equals("0")) {
+                newVal = oldVal;
+            }
+        }
+        return newVal;
+    }
 }

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

@@ -0,0 +1,20 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ApsProductionOrderDao;
+import com.rongwei.bscommon.sys.service.ApsProductionOrderService;
+import com.rongwei.bsentity.domain.ApsProductionOrderDo;
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ */
+@Service
+public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrderDao, ApsProductionOrderDo>
+        implements ApsProductionOrderService {
+
+}
+
+
+
+

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

@@ -0,0 +1,19 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ApsReportOutputDao;
+import com.rongwei.bsentity.domain.ApsReportOutputDo;
+import org.springframework.stereotype.Service;
+import com.rongwei.bscommon.sys.service.ApsReportOutputService;
+/**
+ *
+ */
+@Service
+public class ApsReportOutputServiceImpl extends ServiceImpl<ApsReportOutputDao, ApsReportOutputDo>
+        implements ApsReportOutputService {
+
+}
+
+
+
+

+ 21 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsReportRecordsServiceImpl.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.ApsReportRecordsDao;
+import com.rongwei.bscommon.sys.service.ApsReportRecordsService;
+import com.rongwei.bsentity.domain.ApsReportRecordsDo;
+
+import org.springframework.stereotype.Service;
+
+/**
+ *
+ */
+@Service
+public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao, ApsReportRecordsDo>
+implements ApsReportRecordsService {
+
+}
+
+
+
+

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

@@ -0,0 +1,28 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ApsWorkInProgressInventoryDao;
+import com.rongwei.bscommon.sys.service.ApsWorkInProgressInventoryService;
+import com.rongwei.bsentity.domain.ApsWorkInProgressInventoryDo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ *
+ */
+@Service
+public class ApsWorkInProgressInventoryServiceImpl extends ServiceImpl<ApsWorkInProgressInventoryDao, ApsWorkInProgressInventoryDo>
+        implements ApsWorkInProgressInventoryService {
+    @Autowired
+    private ApsWorkInProgressInventoryDao apsWorkInProgressInventoryDao;
+
+    public void updateWorkinprocessstatus( List<ApsWorkInProgressInventoryDo> apsWorkInProgressInventoryDoList){
+        apsWorkInProgressInventoryDao.updateWorkinprocessstatus(apsWorkInProgressInventoryDoList);
+    }
+}
+
+
+
+

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

@@ -0,0 +1,286 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.rongwei.bscommon.sys.service.ApsBlankOrderService;
+import com.rongwei.bscommon.sys.service.ApsReportRecordsService;
+import com.rongwei.bscommon.sys.service.ReportCheckService;
+import com.rongwei.bsentity.domain.*;
+import com.rongwei.rwcommon.base.BaseDo;
+import com.rongwei.rwcommon.base.R;
+import jodd.util.StringUtil;
+import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * ReportCheckServiceImpl class
+ *
+ * @author XH
+ * @date 2024/03/19
+ */
+@Service
+public class ReportCheckServiceImpl implements ReportCheckService {
+    private final Logger log = LoggerFactory.getLogger(this.getClass().getName());
+
+    @Autowired
+    private ApsReportRecordsService apsReportRecordsService;
+    @Autowired
+    private ApsReportOutputServiceImpl apsReportOutputService;
+    @Autowired
+    private ApsProcessOperationServiceImpl apsProcessOperationService;
+    @Autowired
+    private ApsBlankOrderService apsBlankOrderService;
+    @Autowired
+    private ApsProductionOrderServiceImpl apsProductionOrderService;
+    @Autowired
+    private ApsWorkInProgressInventoryServiceImpl apsWorkInProgressInventoryService;
+    @Autowired
+    private ApsProcessOperationOutMaterServiceImpl apsProcessOperationOutMaterService;
+
+    public static final String NO_DELETED = "0";
+    public static final String DELETED = "1";
+    public static final String YES = "是";
+    public static final String NO = "否";
+    public static final String PENDING_PLAN_REVIEW = "待计划评审";
+    public static final String PREPARING_MATERIAL = "备料中";
+    public static final String TO_BE_PROCESSED = "待加工";
+    public static final String VERIFIED = "已检验";
+
+    /**
+     * 保存检验结果后更新相关信息
+     *
+     * @param id
+     * @return
+     */
+    @Override
+    @Transactional
+    public R updateRelevantInformation(String id) {
+        log.info("保存检验结果后更新相关信息");
+        if (StringUtil.isBlank(id)) {
+            log.debug("参数为空");
+            return R.ok();
+        }
+        // 获取报工记录
+        ApsReportRecordsDo reportRecordsDo = apsReportRecordsService.getById(id);
+        if (reportRecordsDo == null) {
+            log.error("无法根据ID:{}获取到报工记录", id);
+            return R.error();
+        }
+        if (VERIFIED.equals(reportRecordsDo.getCheckstatus())) {
+            log.error("当前报工记录已检验无法再次检验");
+            return R.error();
+        }
+        // 获取工序作业信息
+        ApsProcessOperationDo currentProcessOperationDo = apsProcessOperationService.getOne(new LambdaQueryWrapper<ApsProcessOperationDo>()
+                .eq(ApsProcessOperationDo::getId, reportRecordsDo.getProcessoperationid()).eq(BaseDo::getDeleted, NO_DELETED));
+        if (currentProcessOperationDo == null) {
+            log.error("无法根据ID:{}获取到工序作业信息", id);
+            return R.error();
+        }
+        if (StringUtils.isBlank(currentProcessOperationDo.getBlankid())) {
+            log.error("无法根据工序获取到生产订单信息");
+            return R.error();
+        }
+        // 获取工序作业对应的输出物料信息
+        ApsProcessOperationOutMaterDo operationOutMaterDoList = apsProcessOperationOutMaterService.getOne(new LambdaQueryWrapper<ApsProcessOperationOutMaterDo>()
+                .eq(ApsProcessOperationOutMaterDo::getMainid, currentProcessOperationDo.getId())
+                .eq(BaseDo::getDeleted, NO_DELETED), false);
+        if (operationOutMaterDoList == null) {
+            log.error("无法根据工序作业ID:{}获取对应的输出物料信息", currentProcessOperationDo.getId());
+            return R.error();
+        }
+        // 获取该工序生成的物料输出信息
+        List<ApsReportOutputDo> reportOutputDos = apsReportOutputService.list(new LambdaQueryWrapper<ApsReportOutputDo>()
+                .eq(ApsReportOutputDo::getMainid, id).eq(BaseDo::getDeleted, NO_DELETED));
+        if (reportOutputDos.isEmpty()) {
+            log.error("无法根据ID:{}获取到输出物料信息", id);
+            return R.error();
+        }
+        //获取批量计划
+        ApsBlankOrderDo blankOrderDo = apsBlankOrderService.getById(currentProcessOperationDo.getBlankid());
+        if (blankOrderDo == null) {
+            log.error("无法根据ID:{}找到对应的订单信息", currentProcessOperationDo.getBlankid());
+            return R.error();
+        }
+        if (StringUtils.isBlank(blankOrderDo.getProductionorderid())) {
+            log.error("坯料计划对应的订单ID为空");
+            return R.error();
+        }
+        // 获取订单信息
+        ApsProductionOrderDo productionOrderDo = apsProductionOrderService.getById(blankOrderDo.getProductionorderid());
+        if (productionOrderDo == null) {
+            log.error("无法根据ID:{},获取到订单信息", blankOrderDo.getProductionorderid());
+            return R.error();
+        }
+
+        // 获取检验不合格批次的数量
+        List<ApsReportOutputDo> unqualificationOutPutList = reportOutputDos.stream().filter(info -> NO.equals(info.getQualified())).collect(Collectors.toList());
+        // 检验合格的数量信息
+        List<ApsReportOutputDo> qualifiedOutPutList = reportOutputDos.stream().filter(info -> YES.equals(info.getQualified())).collect(Collectors.toList());
+        if (unqualificationOutPutList.isEmpty() && qualifiedOutPutList.isEmpty()) {
+            log.debug("暂无检验的数据");
+            return R.ok();
+        }
+        String nextProcessId = currentProcessOperationDo.getNextprocessid();
+        // 获取当前工序对应的后道工序信息
+        List<ApsProcessOperationDo> nextProcessOperationDos = new ArrayList<>();
+        if (StringUtils.isNotBlank(nextProcessId)) {
+            nextProcessOperationDos = apsProcessOperationService.list(new LambdaQueryWrapper<ApsProcessOperationDo>()
+                    .in(ApsProcessOperationDo::getId, Arrays.asList(nextProcessId.split(",")))
+                    .eq(BaseDo::getDeleted, NO_DELETED));
+        }
+
+        // 获取当前报工作业对应的在制品信息
+        List<ApsWorkInProgressInventoryDo> apsWorkInProgressInventoryDos = apsWorkInProgressInventoryService.list(new LambdaQueryWrapper<ApsWorkInProgressInventoryDo>()
+                .eq(ApsWorkInProgressInventoryDo::getWorkreportrecordid, id).eq(BaseDo::getDeleted, NO_DELETED));
+
+        /******************************开始数据处理逻辑***************************************/
+        // 更新合格不合格数量
+        int unqualifiedQuantity = unqualificationOutPutList.size();
+        // 更新合格数量
+        int qualifiedQuantity = qualifiedOutPutList.size();
+        // 更新已检验卷数
+        int inspectQuantity = reportOutputDos.size();
+        // 订单信息
+        currentProductionOrderDoDispose(productionOrderDo, unqualificationOutPutList);
+        // 在制品
+        updateArticlesProcessData(unqualificationOutPutList, qualifiedOutPutList, reportRecordsDo,
+                apsWorkInProgressInventoryDos, nextProcessOperationDos, currentProcessOperationDo,
+                operationOutMaterDoList);
+        // 获取所有待加工的批次号信息
+        String toBeProcessedBatchNum = apsWorkInProgressInventoryDos.stream().filter(info -> TO_BE_PROCESSED.equals(info.getWorkinprocessstatus()))
+                .map(ApsWorkInProgressInventoryDo::getBatchnumber).collect(Collectors.joining(","));
+//        if (!qualifiedOutPutList.isEmpty()) {
+//            // 获取后道工序的数据
+//            nextProcessDispose(nextProcessOperationDo, qualifiedOutPutList);
+//        }
+
+        /**********************执行数据更新操作*************************/
+        if (!nextProcessOperationDos.isEmpty() && StringUtils.isNotBlank(toBeProcessedBatchNum)) {
+            //更新后续工具的待加工批次号信息
+            apsProcessOperationService.updateBachmaterialprocessByIds(nextProcessOperationDos.stream()
+                    .map(ApsProcessOperationDo::getId).collect(Collectors.toList()), toBeProcessedBatchNum);
+        }
+        /***************************存在不合格批次信息时 更新更新报工记录对应订单的订单评审状态=待计划评审, 订单调整日期=今天*************************************/
+        if (unqualifiedQuantity > 0) {
+            apsProductionOrderService.update(new LambdaUpdateWrapper<ApsProductionOrderDo>()
+                    .eq(ApsProductionOrderDo::getId, productionOrderDo.getId())
+                    .set(ApsProductionOrderDo::getChangedate, new Date())
+                    .set(ApsProductionOrderDo::getAuditstatus, PENDING_PLAN_REVIEW)
+            );
+        }
+        /************************更新当前工序的输出已检验卷数,不合格卷数,合格卷数*******************************/
+        apsProcessOperationService.updateAboutCheckBatchNum(currentProcessOperationDo.getId(), inspectQuantity, qualifiedQuantity, unqualifiedQuantity);
+        /***************更新在制品信息****************************/
+        // 需要刪除的ID
+        List<String> deletedIdList = apsWorkInProgressInventoryDos.stream()
+                .filter(info -> DELETED.equals(info.getDeleted())).map(ApsWorkInProgressInventoryDo::getId).collect(Collectors.toList());
+        List<ApsWorkInProgressInventoryDo> updateList = apsWorkInProgressInventoryDos.stream()
+                .filter(info -> NO_DELETED.equals(info.getDeleted())).collect(Collectors.toList());
+        if (!updateList.isEmpty()) {
+            apsWorkInProgressInventoryService.updateWorkinprocessstatus(apsWorkInProgressInventoryDos);
+        }
+        if (!deletedIdList.isEmpty()) {
+            apsWorkInProgressInventoryService.removeByIds(deletedIdList);
+        }
+        /********************************更新当前报工记录的待检验批次号*************************************/
+        apsReportRecordsService.update(new LambdaUpdateWrapper<ApsReportRecordsDo>().eq(ApsReportRecordsDo::getId, id)
+                .set(ApsReportRecordsDo::getCheckstatus, VERIFIED)
+                .set(ApsReportRecordsDo::getNeedcheckbatchnumber, ""));
+        return R.ok();
+    }
+
+    /**
+     * 更新后道工序
+     *
+     * @param nextProcessOperationDo 当前工序的所有下一个工序
+     * @param qualifiedOutPutList    检验合格的物品
+     * @return
+     */
+    public void nextProcessDispose(List<ApsProcessOperationDo> nextProcessOperationDo,List<ApsWorkInProgressInventoryDo> qualifiedOutPutList) {
+
+
+    }
+
+    /**
+     * 更新工序作业对应的订单信息
+     * 如果存在不合格的批次信息 需要更新 订单相关信息
+     *
+     * @param productionOrderDo
+     * @param unqualificationOutPutList
+     */
+    public void currentProductionOrderDoDispose(ApsProductionOrderDo productionOrderDo, List<ApsReportOutputDo> unqualificationOutPutList) {
+        // 存在不合格的批次信息
+        if (unqualificationOutPutList.isEmpty()) {
+            return;
+        }
+        // TODO:XH add 2024/3/20 发送不合格提醒
+    }
+
+    /**
+     * 更新当前输出物料的在制品信息
+     *
+     * @param unqualificationOutPutList     不合格批次信息
+     * @param qualifiedOutPutList           合格批次信息
+     * @param apsReportRecordsDo            报工记录
+     * @param apsWorkInProgressInventoryDos 在制品信息
+     * @param nextProcessOperationDo        后道工序信息
+     * @return
+     */
+    public void updateArticlesProcessData(List<ApsReportOutputDo> unqualificationOutPutList,
+                                          List<ApsReportOutputDo> qualifiedOutPutList,
+                                          ApsReportRecordsDo apsReportRecordsDo,
+                                          List<ApsWorkInProgressInventoryDo> apsWorkInProgressInventoryDos,
+                                          List<ApsProcessOperationDo> nextProcessOperationDo,
+                                          ApsProcessOperationDo processOperationDo,
+                                          ApsProcessOperationOutMaterDo operationOutMaterDo) {
+
+        if (apsWorkInProgressInventoryDos.isEmpty()) {
+            return;
+        }
+        // 1.如果报工输出物料的是否合格=否,则在制品状态=备料中
+        List<String> unqualificationNum = unqualificationOutPutList.stream().map(ApsReportOutputDo::getOutputnumber).collect(Collectors.toList());
+        apsWorkInProgressInventoryDos.forEach(info -> {
+            if (unqualificationNum.contains(info.getBatchnumber())) {
+                info.setWorkinprocessstatus(PREPARING_MATERIAL);
+            }
+        });
+
+        /**
+         * 1没有后续工序作业 且 报工输出物料的是否合格=是,并且报工输出物料对应工序作业输出物料的输出合格卷数<=计划成品卷数,则从在制品库存删除该在制品
+         * 2.1如果报工输出物料的是否合格=是,并且报工输出物料有对应后道工序作业,并且报工输出物料对应工序作业输出物料的输出合格卷数>计划成品卷数+报工输出物料对应所有后道工序作业的计划加工卷数,则在制品状态=备料中;
+         * 2.2如果报工输出物料的是否合格=是,并且报工输出物料有对应后道工序作业,并且报工输出物料对应工序作业输出物料的输出合格卷数<=计划成品卷数+报工输出物料对应所有后道工序作业的计划加工卷数,则在制品状态=待加工;
+         *
+         */
+        List<String> qualificationNum = qualifiedOutPutList.stream().map(ApsReportOutputDo::getOutputnumber).collect(Collectors.toList());
+        int nextProcessingPlannedNum = nextProcessOperationDo.stream().mapToInt(ApsProcessOperationDo::getOutputqualifiednum).sum();
+        apsWorkInProgressInventoryDos.forEach(info -> {
+            if (!qualificationNum.contains(info.getBatchnumber())) {
+                return;
+            }
+            if (nextProcessOperationDo.isEmpty()) {
+                if (processOperationDo.getOutputqualifiednum() + 1 <= operationOutMaterDo.getPlanprodrollnum()) {
+                    info.setDeleted(DELETED);
+                }
+            } else {
+                if (processOperationDo.getOutputqualifiednum() + 1 > operationOutMaterDo.getPlanprodrollnum() + nextProcessingPlannedNum) {
+                    info.setWorkinprocessstatus(PREPARING_MATERIAL);
+                } else  { // if (processOperationDo.getOutputqualifiednum() + 1 <= operationOutMaterDo.getPlanprodrollnum() + nextProcessingPlannedNum)
+                    info.setWorkinprocessstatus(TO_BE_PROCESSED);
+                }
+            }
+
+            processOperationDo.setOutputqualifiednum(processOperationDo.getOutputqualifiednum() + 1);
+        });
+    }
+}

+ 32 - 0
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsCraftEquDao.xml

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.rongwei.bscommon.sys.dao.ApsCraftEquDao">
+
+    <resultMap id="BaseResultMap" type="com.rongwei.bsentity.domain.ApsCraftEquDo">
+            <id property="id" column="ID" jdbcType="VARCHAR"/>
+            <result property="tenantid" column="TENANTID" jdbcType="VARCHAR"/>
+            <result property="roption" column="ROPTION" jdbcType="VARCHAR"/>
+            <result property="deleted" column="DELETED" jdbcType="VARCHAR"/>
+            <result property="remark" column="REMARK" jdbcType="VARCHAR"/>
+            <result property="createdate" column="CREATEDATE" jdbcType="TIMESTAMP"/>
+            <result property="createuserid" column="CREATEUSERID" jdbcType="VARCHAR"/>
+            <result property="modifydate" column="MODIFYDATE" jdbcType="TIMESTAMP"/>
+            <result property="modifyuserid" column="MODIFYUSERID" jdbcType="VARCHAR"/>
+            <result property="createusername" column="CREATEUSERNAME" jdbcType="VARCHAR"/>
+            <result property="modifyusername" column="MODIFYUSERNAME" jdbcType="VARCHAR"/>
+            <result property="mainid" column="MAINID" jdbcType="VARCHAR"/>
+            <result property="resourceid" column="RESOURCEID" jdbcType="VARCHAR"/>
+            <result property="resourcetype" column="RESOURCETYPE" jdbcType="VARCHAR"/>
+            <result property="equparames" column="EQUPARAMES" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        ID,TENANTID,ROPTION,
+        DELETED,REMARK,CREATEDATE,
+        CREATEUSERID,MODIFYDATE,MODIFYUSERID,
+        CREATEUSERNAME,MODIFYUSERNAME,MAINID,
+        RESOURCEID,RESOURCETYPE,EQUPARAMES
+    </sql>
+</mapper>

+ 53 - 0
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsCraftRouteDao.xml

@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.rongwei.bscommon.sys.dao.ApsCraftRouteDao">
+
+    <resultMap id="BaseResultMap" type="com.rongwei.bsentity.domain.ApsCraftRouteDo">
+        <id property="id" column="ID" jdbcType="VARCHAR"/>
+        <result property="tenantid" column="TENANTID" jdbcType="VARCHAR"/>
+        <result property="roption" column="ROPTION" jdbcType="VARCHAR"/>
+        <result property="deleted" column="DELETED" jdbcType="VARCHAR"/>
+        <result property="remark" column="REMARK" jdbcType="VARCHAR"/>
+        <result property="createdate" column="CREATEDATE" jdbcType="TIMESTAMP"/>
+        <result property="createuserid" column="CREATEUSERID" jdbcType="VARCHAR"/>
+        <result property="modifydate" column="MODIFYDATE" jdbcType="TIMESTAMP"/>
+        <result property="modifyuserid" column="MODIFYUSERID" jdbcType="VARCHAR"/>
+        <result property="createusername" column="CREATEUSERNAME" jdbcType="VARCHAR"/>
+        <result property="modifyusername" column="MODIFYUSERNAME" jdbcType="VARCHAR"/>
+        <result property="ownedfactory" column="OWNEDFACTORY" jdbcType="VARCHAR"/>
+        <result property="routenum" column="ROUTENUM" jdbcType="VARCHAR"/>
+        <result property="routename" column="ROUTENAME" jdbcType="VARCHAR"/>
+        <result property="blanktype" column="BLANKTYPE" jdbcType="VARCHAR"/>
+        <result property="materialcode" column="MATERIALCODE" jdbcType="VARCHAR"/>
+        <result property="materialname" column="MATERIALNAME" jdbcType="VARCHAR"/>
+        <result property="producttype" column="PRODUCTTYPE" jdbcType="VARCHAR"/>
+        <result property="producttypename" column="PRODUCTTYPENAME" jdbcType="VARCHAR"/>
+        <result property="metal" column="METAL" jdbcType="VARCHAR"/>
+        <result property="metalstate" column="METALSTATE" jdbcType="VARCHAR"/>
+        <result property="thickstr" column="THICKSTR" jdbcType="DECIMAL"/>
+        <result property="thickend" column="THICKEND" jdbcType="DECIMAL"/>
+        <result property="widthstr" column="WIDTHSTR" jdbcType="DECIMAL"/>
+        <result property="widthend" column="WIDTHEND" jdbcType="DECIMAL"/>
+        <result property="lengthstr" column="LENGTHSTR" jdbcType="DECIMAL"/>
+        <result property="lengthend" column="LENGTHEND" jdbcType="DECIMAL"/>
+        <result property="inmatercondition" column="INMATERCONDITION" jdbcType="VARCHAR"/>
+        <result property="outmaterrequest" column="OUTMATERREQUEST" jdbcType="VARCHAR"/>
+        <result property="firststepid" column="FIRSTSTEPID" jdbcType="VARCHAR"/>
+        <result property="laststepids" column="LASTSTEPIDS" jdbcType="VARCHAR"/>
+    </resultMap>
+    <sql id="Base_Column_List">
+        ID,TENANTID,ROPTION,
+        DELETED,REMARK,CREATEDATE,
+        CREATEUSERID,MODIFYDATE,MODIFYUSERID,
+        CREATEUSERNAME,MODIFYUSERNAME,OWNEDFACTORY,
+        ROUTENUM,ROUTENAME,BLANKTYPE,
+        MATERIALCODE,MATERIALNAME,PRODUCTTYPE,
+        PRODUCTTYPENAME,METAL,METALSTATE,
+        THICKSTR,THICKEND,WIDTHSTR,
+        WIDTHEND,LENGTHSTR,LENGTHEND,
+        INMATERCONDITION,OUTMATERREQUEST,FIRSTSTEPID,
+        LASTSTEPIDS
+    </sql>
+</mapper>

+ 121 - 0
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsCraftRouteOutMaterRequestDao.xml

@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.rongwei.bscommon.sys.dao.ApsCraftRouteOutMaterRequestDao">
+
+    <resultMap id="BaseResultMap" type="com.rongwei.bsentity.domain.ApsCraftRouteOutMaterRequestDo">
+            <id property="id" column="ID" jdbcType="VARCHAR"/>
+            <result property="tenantid" column="TENANTID" jdbcType="VARCHAR"/>
+            <result property="roption" column="ROPTION" jdbcType="VARCHAR"/>
+            <result property="deleted" column="DELETED" jdbcType="VARCHAR"/>
+            <result property="remark" column="REMARK" jdbcType="VARCHAR"/>
+            <result property="createdate" column="CREATEDATE" jdbcType="TIMESTAMP"/>
+            <result property="createuserid" column="CREATEUSERID" jdbcType="VARCHAR"/>
+            <result property="modifydate" column="MODIFYDATE" jdbcType="TIMESTAMP"/>
+            <result property="modifyuserid" column="MODIFYUSERID" jdbcType="VARCHAR"/>
+            <result property="createusername" column="CREATEUSERNAME" jdbcType="VARCHAR"/>
+            <result property="modifyusername" column="MODIFYUSERNAME" jdbcType="VARCHAR"/>
+            <result property="datano" column="DATANO" jdbcType="INTEGER"/>
+            <result property="craftrouteid" column="CRAFTROUTEID" jdbcType="VARCHAR"/>
+            <result property="craftstepid" column="CRAFTSTEPID" jdbcType="VARCHAR"/>
+            <result property="materialcode" column="MATERIALCODE" jdbcType="VARCHAR"/>
+            <result property="materialname" column="MATERIALNAME" jdbcType="VARCHAR"/>
+            <result property="thickrule" column="THICKRULE" jdbcType="VARCHAR"/>
+            <result property="thickchange" column="THICKCHANGE" jdbcType="DECIMAL"/>
+            <result property="thickoffset" column="THICKOFFSET" jdbcType="VARCHAR"/>
+            <result property="thickstr" column="THICKSTR" jdbcType="DECIMAL"/>
+            <result property="thickend" column="THICKEND" jdbcType="DECIMAL"/>
+            <result property="thickremark" column="THICKREMARK" jdbcType="VARCHAR"/>
+            <result property="widthrule" column="WIDTHRULE" jdbcType="VARCHAR"/>
+            <result property="widthchange" column="WIDTHCHANGE" jdbcType="DECIMAL"/>
+        <result property="widthoffset" column="WIDTHOFFSET" jdbcType="VARCHAR"/>
+        <result property="widthstr" column="WIDTHSTR" jdbcType="DECIMAL"/>
+        <result property="widthend" column="WIDTHEND" jdbcType="DECIMAL"/>
+        <result property="widthremark" column="WIDTHREMARK" jdbcType="VARCHAR"/>
+        <result property="lengthrule" column="LENGTHRULE" jdbcType="VARCHAR"/>
+        <result property="lengthchange" column="LENGTHCHANGE" jdbcType="DECIMAL"/>
+        <result property="lengthoffset" column="LENGTHOFFSET" jdbcType="VARCHAR"/>
+        <result property="lengthstr" column="LENGTHSTR" jdbcType="DECIMAL"/>
+        <result property="lengthend" column="LENGTHEND" jdbcType="DECIMAL"/>
+        <result property="lengthremark" column="LENGTHREMARK" jdbcType="VARCHAR"/>
+        <result property="outval" column="OUTVAL" jdbcType="DECIMAL"/>
+        <result property="outmaterrequest" column="OUTMATERREQUEST" jdbcType="VARCHAR"/>
+        <result property="producttyperuleid" column="PRODUCTTYPERULEID" jdbcType="VARCHAR"/>
+        <result property="producttyperule" column="PRODUCTTYPERULE" jdbcType="VARCHAR"/>
+        <result property="producttypeid" column="PRODUCTTYPEID" jdbcType="VARCHAR"/>
+        <result property="producttype" column="PRODUCTTYPE" jdbcType="VARCHAR"/>
+        <result property="metalrule" column="METALRULE" jdbcType="VARCHAR"/>
+        <result property="metal" column="METAL" jdbcType="VARCHAR"/>
+        <result property="metalstaterule" column="METALSTATERULE" jdbcType="VARCHAR"/>
+        <result property="metalstate" column="METALSTATE" jdbcType="VARCHAR"/>
+        <result property="actualthickstr" column="ACTUALTHICKSTR" jdbcType="DECIMAL"/>
+        <result property="actualthickend" column="ACTUALTHICKEND" jdbcType="DECIMAL"/>
+        <result property="actualwidthstr" column="ACTUALWIDTHSTR" jdbcType="DECIMAL"/>
+        <result property="actualwidthend" column="ACTUALWIDTHEND" jdbcType="DECIMAL"/>
+        <result property="actuallengthstr" column="ACTUALLENGTHSTR" jdbcType="DECIMAL"/>
+        <result property="actuallengthend" column="ACTUALLENGTHEND" jdbcType="DECIMAL"/>
+        <result property="actualoutmaterrequest" column="ACTUALOUTMATERREQUEST" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        ID,TENANTID,ROPTION,
+        DELETED,REMARK,CREATEDATE,
+        CREATEUSERID,MODIFYDATE,MODIFYUSERID,
+        CREATEUSERNAME,MODIFYUSERNAME,DATANO,
+        CRAFTROUTEID,CRAFTSTEPID,MATERIALCODE,
+        MATERIALNAME,THICKRULE,THICKCHANGE,
+        THICKOFFSET,THICKSTR,THICKEND,
+        THICKREMARK,WIDTHRULE,WIDTHCHANGE,
+        WIDTHOFFSET,WIDTHSTR,WIDTHEND,
+        WIDTHREMARK,LENGTHRULE,LENGTHCHANGE,
+        LENGTHOFFSET,LENGTHSTR,LENGTHEND,
+        LENGTHREMARK,OUTVAL,OUTMATERREQUEST,
+        PRODUCTTYPERULEID,PRODUCTTYPERULE,PRODUCTTYPEID,
+        PRODUCTTYPE,METALRULE,METAL,
+        METALSTATERULE,METALSTATE,ACTUALTHICKSTR,
+        ACTUALTHICKEND, ACTUALWIDTHSTR,ACTUALWIDTHEND,
+        ACTUALLENGTHSTR,ACTUALLENGTHEND,ACTUALOUTMATERREQUEST
+    </sql>
+    <delete id="removeByIdList">
+        DELETE FROM aps_craft_route_out_mater_request
+        <where>
+            CRAFTROUTEID = #{routeId} AND CRAFTSTEPID IN
+            <foreach collection="ids" item="id" open="(" close=")" separator=",">
+                #{id}
+            </foreach>
+        </where>
+    </delete>
+    <insert id="copyDataById">
+        <foreach collection="datas" item="data" open="" close="" separator=";">
+            INSERT INTO aps_craft_route_out_mater_request (TENANTID, ID, ROPTION, DELETED, REMARK, CREATEDATE,
+            CREATEUSERID,
+            MODIFYDATE, MODIFYUSERID, CREATEUSERNAME, MODIFYUSERNAME, DATANO, CRAFTROUTEID, CRAFTSTEPID, MATERIALCODE,
+            MATERIALNAME, THICKRULE, THICKCHANGE, THICKOFFSET, THICKSTR, THICKEND, THICKREMARK, WIDTHRULE, WIDTHCHANGE,
+            WIDTHOFFSET, WIDTHSTR, WIDTHEND, WIDTHREMARK, LENGTHRULE, LENGTHCHANGE, LENGTHOFFSET, LENGTHSTR, LENGTHEND,
+            LENGTHREMARK, OUTVAL, OUTMATERREQUEST, PRODUCTTYPERULEID, PRODUCTTYPERULE, PRODUCTTYPEID, PRODUCTTYPE,
+            METALRULE,
+            METAL, METALSTATERULE, METALSTATE,ACTUALTHICKSTR, ACTUALTHICKEND, ACTUALWIDTHSTR,
+            ACTUALWIDTHEND,ACTUALLENGTHSTR,ACTUALLENGTHEND,ACTUALOUTMATERREQUEST)
+            SELECT TENANTID, UUID(), ROPTION, DELETED, REMARK, NOW(), CREATEUSERID, NOW(), MODIFYUSERID, CREATEUSERNAME,
+            MODIFYUSERNAME, DATANO, #{routeId}, #{data.id} , MATERIALCODE,
+            MATERIALNAME, THICKRULE, THICKCHANGE, THICKOFFSET, THICKSTR, THICKEND, THICKREMARK, WIDTHRULE, WIDTHCHANGE,
+            WIDTHOFFSET,
+            WIDTHSTR, WIDTHEND, WIDTHREMARK, LENGTHRULE, LENGTHCHANGE, LENGTHOFFSET, LENGTHSTR, LENGTHEND, LENGTHREMARK,
+            OUTVAL,
+            OUTMATERREQUEST, PRODUCTTYPERULEID, PRODUCTTYPERULE, PRODUCTTYPEID, PRODUCTTYPE, METALRULE, METAL,
+            METALSTATERULE,
+            METALSTATE,
+            #{data.actualoutputthickstr},
+            #{data.actualoutputthickend},
+            #{data.actualoutputwidthstr},
+            #{data.actualoutputwidthend},
+            #{data.actualoutputlengthstr},
+            #{data.actualoutputlengthend},
+            #{data.actualoutmaterrequest}
+
+            FROM aps_out_mater_request WHERE MAINID = #{data.craftstepid} and deleted='0'
+        </foreach>
+    </insert>
+
+</mapper>

+ 82 - 0
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsCraftRouteStepDao.xml

@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.rongwei.bscommon.sys.dao.ApsCraftRouteStepDao">
+
+    <resultMap id="BaseResultMap" type="com.rongwei.bsentity.domain.ApsCraftRouteStepDo">
+        <id property="id" column="ID" jdbcType="VARCHAR"/>
+        <result property="tenantid" column="TENANTID" jdbcType="VARCHAR"/>
+        <result property="roption" column="ROPTION" jdbcType="VARCHAR"/>
+        <result property="deleted" column="DELETED" jdbcType="VARCHAR"/>
+        <result property="remark" column="REMARK" jdbcType="VARCHAR"/>
+        <result property="createdate" column="CREATEDATE" jdbcType="TIMESTAMP"/>
+        <result property="createuserid" column="CREATEUSERID" jdbcType="VARCHAR"/>
+        <result property="modifydate" column="MODIFYDATE" jdbcType="TIMESTAMP"/>
+        <result property="modifyuserid" column="MODIFYUSERID" jdbcType="VARCHAR"/>
+        <result property="createusername" column="CREATEUSERNAME" jdbcType="VARCHAR"/>
+        <result property="modifyusername" column="MODIFYUSERNAME" jdbcType="VARCHAR"/>
+        <result property="ownedfactory" column="OWNEDFACTORY" jdbcType="VARCHAR"/>
+        <result property="craftstepid" column="CRAFTSTEPID" jdbcType="VARCHAR"/>
+        <result property="craftrouteid" column="CRAFTROUTEID" jdbcType="VARCHAR"/>
+        <result property="stepnum" column="STEPNUM" jdbcType="VARCHAR"/>
+        <result property="process" column="PROCESS" jdbcType="VARCHAR"/>
+        <result property="processname" column="PROCESSNAME" jdbcType="VARCHAR"/>
+        <result property="processway" column="PROCESSWAY" jdbcType="VARCHAR"/>
+        <result property="numunit" column="NUMUNIT" jdbcType="VARCHAR"/>
+        <result property="onceprocessval" column="ONCEPROCESSVAL" jdbcType="DECIMAL"/>
+        <result property="onceprocessmin" column="ONCEPROCESSMIN" jdbcType="DECIMAL"/>
+        <result property="pertimecapacity" column="PERTIMECAPACITY" jdbcType="DECIMAL"/>
+        <result property="timeunit" column="TIMEUNIT" jdbcType="VARCHAR"/>
+        <result property="prepressworkmin" column="PREPRESSWORKMIN" jdbcType="DECIMAL"/>
+        <result property="loadingmin" column="LOADINGMIN" jdbcType="DECIMAL"/>
+        <result property="cuttingmin" column="CUTTINGMIN" jdbcType="DECIMAL"/>
+        <result property="cutfinishmin" column="CUTFINISHMIN" jdbcType="DECIMAL"/>
+        <result property="minflowbatch" column="MINFLOWBATCH" jdbcType="DECIMAL"/>
+        <result property="minflowwaitmin" column="MINFLOWWAITMIN" jdbcType="DECIMAL"/>
+        <result property="maxflowwaitmin" column="MAXFLOWWAITMIN" jdbcType="DECIMAL"/>
+        <result property="ifblankprocess" column="IFBLANKPROCESS" jdbcType="VARCHAR"/>
+        <result property="materialcode" column="MATERIALCODE" jdbcType="VARCHAR"/>
+        <result property="materialname" column="MATERIALNAME" jdbcType="VARCHAR"/>
+        <result property="producttypeid" column="PRODUCTTYPEID" jdbcType="VARCHAR"/>
+        <result property="producttype" column="PRODUCTTYPE" jdbcType="VARCHAR"/>
+        <result property="metal" column="METAL" jdbcType="VARCHAR"/>
+        <result property="metalstate" column="METALSTATE" jdbcType="VARCHAR"/>
+        <result property="thickstr" column="THICKSTR" jdbcType="DECIMAL"/>
+        <result property="thickend" column="THICKEND" jdbcType="DECIMAL"/>
+        <result property="widthstr" column="WIDTHSTR" jdbcType="DECIMAL"/>
+        <result property="widthend" column="WIDTHEND" jdbcType="DECIMAL"/>
+        <result property="lengthstr" column="LENGTHSTR" jdbcType="DECIMAL"/>
+        <result property="lengthend" column="LENGTHEND" jdbcType="DECIMAL"/>
+        <result property="inmatercondition" column="INMATERCONDITION" jdbcType="VARCHAR"/>
+        <result property="outmaterrequest" column="OUTMATERREQUEST" jdbcType="VARCHAR"/>
+        <result property="chooseequ" column="CHOOSEEQU" jdbcType="VARCHAR"/>
+        <result property="previousstepid" column="PREVIOUSSTEPID" jdbcType="VARCHAR"/>
+        <result property="nextstepid" column="NEXTSTEPID" jdbcType="VARCHAR"/>
+        <result property="previousstepname" column="PREVIOUSSTEPNAME" jdbcType="VARCHAR"/>
+        <result property="nextstepname" column="NEXTSTEPNAME" jdbcType="VARCHAR"/>
+        <result property="level" column="LEVEL" jdbcType="INTEGER"/>
+
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        ID,TENANTID,ROPTION,
+        DELETED,REMARK,CREATEDATE,
+        CREATEUSERID,MODIFYDATE,MODIFYUSERID,
+        CREATEUSERNAME,MODIFYUSERNAME,OWNEDFACTORY,
+        CRAFTSTEPID,CRAFTROUTEID,STEPNUM,
+        PROCESS,PROCESSNAME,PROCESSWAY,
+        NUMUNIT,ONCEPROCESSVAL,ONCEPROCESSMIN,
+        PERTIMECAPACITY,TIMEUNIT,PREPRESSWORKMIN,
+        LOADINGMIN,CUTTINGMIN,CUTFINISHMIN,
+        MINFLOWBATCH,MINFLOWWAITMIN,MAXFLOWWAITMIN,
+        IFBLANKPROCESS,MATERIALCODE,MATERIALNAME,
+        PRODUCTTYPEID,PRODUCTTYPE,METAL,
+        METALSTATE,THICKSTR,THICKEND,
+        WIDTHSTR,WIDTHEND,LENGTHSTR,
+        LENGTHEND,INMATERCONDITION,OUTMATERREQUEST,
+        CHOOSEEQU,PREVIOUSSTEPID,NEXTSTEPID,
+        PREVIOUSSTEPNAME,NEXTSTEPNAME,LEVEL
+    </sql>
+
+</mapper>

+ 53 - 0
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsCraftRouteStepEquDao.xml

@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.rongwei.bscommon.sys.dao.ApsCraftRouteStepEquDao">
+
+    <resultMap id="BaseResultMap" type="com.rongwei.bsentity.domain.ApsCraftRouteStepEquDo">
+            <id property="id" column="ID" jdbcType="VARCHAR"/>
+            <result property="tenantid" column="TENANTID" jdbcType="VARCHAR"/>
+            <result property="roption" column="ROPTION" jdbcType="VARCHAR"/>
+            <result property="deleted" column="DELETED" jdbcType="VARCHAR"/>
+            <result property="remark" column="REMARK" jdbcType="VARCHAR"/>
+            <result property="createdate" column="CREATEDATE" jdbcType="TIMESTAMP"/>
+            <result property="createuserid" column="CREATEUSERID" jdbcType="VARCHAR"/>
+            <result property="modifydate" column="MODIFYDATE" jdbcType="TIMESTAMP"/>
+            <result property="modifyuserid" column="MODIFYUSERID" jdbcType="VARCHAR"/>
+            <result property="createusername" column="CREATEUSERNAME" jdbcType="VARCHAR"/>
+            <result property="modifyusername" column="MODIFYUSERNAME" jdbcType="VARCHAR"/>
+            <result property="craftrouteid" column="CRAFTROUTEID" jdbcType="VARCHAR"/>
+            <result property="craftstepid" column="CRAFTSTEPID" jdbcType="VARCHAR"/>
+            <result property="resourceid" column="RESOURCEID" jdbcType="VARCHAR"/>
+            <result property="resourcetype" column="RESOURCETYPE" jdbcType="VARCHAR"/>
+            <result property="equparames" column="EQUPARAMES" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        ID,TENANTID,ROPTION,
+        DELETED,REMARK,CREATEDATE,
+        CREATEUSERID,MODIFYDATE,MODIFYUSERID,
+        CREATEUSERNAME,MODIFYUSERNAME,CRAFTROUTEID,
+        CRAFTSTEPID,RESOURCEID,RESOURCETYPE,
+        EQUPARAMES
+    </sql>
+    <delete id="removeByIdList">
+        DELETE FROM aps_craft_route_step_equ
+        <where>
+            CRAFTROUTEID = #{routeId} AND CRAFTSTEPID IN
+            <foreach collection="ids" item="id" open="(" close=")" separator=",">
+                #{id}
+            </foreach>
+        </where>
+    </delete>
+    <insert id="copyDataById">
+        <foreach collection="datas" item="data" open="" close="" separator=";">
+            INSERT INTO aps_craft_route_step_equ (ID, TENANTID, ROPTION, DELETED, REMARK, CREATEDATE, CREATEUSERID,
+            MODIFYDATE, MODIFYUSERID, CREATEUSERNAME, MODIFYUSERNAME, CRAFTROUTEID, CRAFTSTEPID, RESOURCEID, RESOURCETYPE,
+            EQUPARAMES)
+            SELECT UUID()  , TENANTID, ROPTION, DELETED, REMARK, NOW(), CREATEUSERID, NOW(), MODIFYUSERID, CREATEUSERNAME,
+            MODIFYUSERNAME, #{routeId},#{data.id} ,RESOURCEID , RESOURCETYPE, EQUPARAMES
+            FROM aps_craft_equ  WHERE MAINID = #{data.craftstepid}
+        </foreach>
+    </insert>
+</mapper>

+ 71 - 0
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsCraftStepDao.xml

@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.rongwei.bscommon.sys.dao.ApsCraftStepDao">
+
+    <resultMap id="BaseResultMap" type="com.rongwei.bsentity.domain.ApsCraftStepDo">
+            <id property="id" column="ID" jdbcType="VARCHAR"/>
+            <result property="tenantid" column="TENANTID" jdbcType="VARCHAR"/>
+            <result property="roption" column="ROPTION" jdbcType="VARCHAR"/>
+            <result property="deleted" column="DELETED" jdbcType="VARCHAR"/>
+            <result property="remark" column="REMARK" jdbcType="VARCHAR"/>
+            <result property="createdate" column="CREATEDATE" jdbcType="TIMESTAMP"/>
+            <result property="createuserid" column="CREATEUSERID" jdbcType="VARCHAR"/>
+            <result property="modifydate" column="MODIFYDATE" jdbcType="TIMESTAMP"/>
+            <result property="modifyuserid" column="MODIFYUSERID" jdbcType="VARCHAR"/>
+            <result property="createusername" column="CREATEUSERNAME" jdbcType="VARCHAR"/>
+            <result property="modifyusername" column="MODIFYUSERNAME" jdbcType="VARCHAR"/>
+            <result property="ownedfactory" column="OWNEDFACTORY" jdbcType="VARCHAR"/>
+            <result property="stepnum" column="STEPNUM" jdbcType="VARCHAR"/>
+            <result property="process" column="PROCESS" jdbcType="VARCHAR"/>
+            <result property="processname" column="PROCESSNAME" jdbcType="VARCHAR"/>
+            <result property="processway" column="PROCESSWAY" jdbcType="VARCHAR"/>
+            <result property="numunit" column="NUMUNIT" jdbcType="VARCHAR"/>
+            <result property="onceprocessval" column="ONCEPROCESSVAL" jdbcType="DECIMAL"/>
+            <result property="onceprocessmin" column="ONCEPROCESSMIN" jdbcType="DECIMAL"/>
+            <result property="pertimecapacity" column="PERTIMECAPACITY" jdbcType="DECIMAL"/>
+            <result property="timeunit" column="TIMEUNIT" jdbcType="VARCHAR"/>
+            <result property="prepressworkmin" column="PREPRESSWORKMIN" jdbcType="DECIMAL"/>
+            <result property="loadingmin" column="LOADINGMIN" jdbcType="DECIMAL"/>
+            <result property="cuttingmin" column="CUTTINGMIN" jdbcType="DECIMAL"/>
+            <result property="cutfinishmin" column="CUTFINISHMIN" jdbcType="DECIMAL"/>
+            <result property="minflowbatch" column="MINFLOWBATCH" jdbcType="DECIMAL"/>
+            <result property="minflowwaitmin" column="MINFLOWWAITMIN" jdbcType="DECIMAL"/>
+            <result property="maxflowwaitmin" column="MAXFLOWWAITMIN" jdbcType="DECIMAL"/>
+            <result property="ifblankprocess" column="IFBLANKPROCESS" jdbcType="VARCHAR"/>
+            <result property="materialcode" column="MATERIALCODE" jdbcType="VARCHAR"/>
+            <result property="materialname" column="MATERIALNAME" jdbcType="VARCHAR"/>
+            <result property="producttypeid" column="PRODUCTTYPEID" jdbcType="VARCHAR"/>
+            <result property="producttype" column="PRODUCTTYPE" jdbcType="VARCHAR"/>
+            <result property="metal" column="METAL" jdbcType="VARCHAR"/>
+            <result property="metalstate" column="METALSTATE" jdbcType="VARCHAR"/>
+            <result property="thickstr" column="THICKSTR" jdbcType="DECIMAL"/>
+            <result property="thickend" column="THICKEND" jdbcType="DECIMAL"/>
+            <result property="widthstr" column="WIDTHSTR" jdbcType="DECIMAL"/>
+            <result property="widthend" column="WIDTHEND" jdbcType="DECIMAL"/>
+            <result property="lengthstr" column="LENGTHSTR" jdbcType="DECIMAL"/>
+            <result property="lengthend" column="LENGTHEND" jdbcType="DECIMAL"/>
+            <result property="inmatercondition" column="INMATERCONDITION" jdbcType="VARCHAR"/>
+            <result property="outmaterrequest" column="OUTMATERREQUEST" jdbcType="VARCHAR"/>
+            <result property="chooseequ" column="CHOOSEEQU" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        ID,TENANTID,ROPTION,
+        DELETED,REMARK,CREATEDATE,
+        CREATEUSERID,MODIFYDATE,MODIFYUSERID,
+        CREATEUSERNAME,MODIFYUSERNAME,OWNEDFACTORY,
+        STEPNUM,PROCESS,PROCESSNAME,
+        PROCESSWAY,NUMUNIT,ONCEPROCESSVAL,
+        ONCEPROCESSMIN,PERTIMECAPACITY,TIMEUNIT,
+        PREPRESSWORKMIN,LOADINGMIN,CUTTINGMIN,
+        CUTFINISHMIN,MINFLOWBATCH,MINFLOWWAITMIN,
+        MAXFLOWWAITMIN,IFBLANKPROCESS,MATERIALCODE,
+        MATERIALNAME,PRODUCTTYPEID,PRODUCTTYPE,
+        METAL,METALSTATE,THICKSTR,
+        THICKEND,WIDTHSTR,WIDTHEND,
+        LENGTHSTR,LENGTHEND,INMATERCONDITION,
+        OUTMATERREQUEST,CHOOSEEQU
+    </sql>
+</mapper>

+ 70 - 0
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsOutMaterRequestDao.xml

@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.rongwei.bscommon.sys.dao.ApsOutMaterRequestDao">
+
+    <resultMap id="BaseResultMap" type="com.rongwei.bsentity.domain.ApsOutMaterRequestDo">
+            <id property="id" column="ID" jdbcType="VARCHAR"/>
+            <result property="tenantid" column="TENANTID" jdbcType="VARCHAR"/>
+            <result property="roption" column="ROPTION" jdbcType="VARCHAR"/>
+            <result property="deleted" column="DELETED" jdbcType="VARCHAR"/>
+            <result property="remark" column="REMARK" jdbcType="VARCHAR"/>
+            <result property="createdate" column="CREATEDATE" jdbcType="TIMESTAMP"/>
+            <result property="createuserid" column="CREATEUSERID" jdbcType="VARCHAR"/>
+            <result property="modifydate" column="MODIFYDATE" jdbcType="TIMESTAMP"/>
+            <result property="modifyuserid" column="MODIFYUSERID" jdbcType="VARCHAR"/>
+            <result property="createusername" column="CREATEUSERNAME" jdbcType="VARCHAR"/>
+            <result property="modifyusername" column="MODIFYUSERNAME" jdbcType="VARCHAR"/>
+            <result property="datano" column="DATANO" jdbcType="INTEGER"/>
+            <result property="mainid" column="MAINID" jdbcType="VARCHAR"/>
+            <result property="materialcode" column="MATERIALCODE" jdbcType="VARCHAR"/>
+            <result property="materialname" column="MATERIALNAME" jdbcType="VARCHAR"/>
+            <result property="producttyperuleid" column="PRODUCTTYPERULEID" jdbcType="VARCHAR"/>
+            <result property="producttyperule" column="PRODUCTTYPERULE" jdbcType="VARCHAR"/>
+            <result property="producttypeid" column="PRODUCTTYPEID" jdbcType="VARCHAR"/>
+            <result property="producttype" column="PRODUCTTYPE" jdbcType="VARCHAR"/>
+            <result property="metalrule" column="METALRULE" jdbcType="VARCHAR"/>
+            <result property="metal" column="METAL" jdbcType="VARCHAR"/>
+            <result property="metalstaterule" column="METALSTATERULE" jdbcType="VARCHAR"/>
+            <result property="metalstate" column="METALSTATE" jdbcType="VARCHAR"/>
+            <result property="thickrule" column="THICKRULE" jdbcType="VARCHAR"/>
+            <result property="thickchange" column="THICKCHANGE" jdbcType="DECIMAL"/>
+            <result property="thickoffset" column="THICKOFFSET" jdbcType="VARCHAR"/>
+            <result property="thickstr" column="THICKSTR" jdbcType="DECIMAL"/>
+            <result property="thickend" column="THICKEND" jdbcType="DECIMAL"/>
+            <result property="thickremark" column="THICKREMARK" jdbcType="VARCHAR"/>
+            <result property="widthrule" column="WIDTHRULE" jdbcType="VARCHAR"/>
+            <result property="widthchange" column="WIDTHCHANGE" jdbcType="DECIMAL"/>
+            <result property="widthoffset" column="WIDTHOFFSET" jdbcType="VARCHAR"/>
+            <result property="widthstr" column="WIDTHSTR" jdbcType="DECIMAL"/>
+            <result property="widthend" column="WIDTHEND" jdbcType="DECIMAL"/>
+            <result property="widthremark" column="WIDTHREMARK" jdbcType="VARCHAR"/>
+            <result property="lengthrule" column="LENGTHRULE" jdbcType="VARCHAR"/>
+            <result property="lengthchange" column="LENGTHCHANGE" jdbcType="DECIMAL"/>
+            <result property="lengthoffset" column="LENGTHOFFSET" jdbcType="VARCHAR"/>
+            <result property="lengthstr" column="LENGTHSTR" jdbcType="DECIMAL"/>
+            <result property="lengthend" column="LENGTHEND" jdbcType="DECIMAL"/>
+            <result property="lengthremark" column="LENGTHREMARK" jdbcType="VARCHAR"/>
+            <result property="outval" column="OUTVAL" jdbcType="INTEGER"/>
+            <result property="outmaterrequest" column="OUTMATERREQUEST" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        ID,TENANTID,ROPTION,
+        DELETED,REMARK,CREATEDATE,
+        CREATEUSERID,MODIFYDATE,MODIFYUSERID,
+        CREATEUSERNAME,MODIFYUSERNAME,DATANO,
+        MAINID,MATERIALCODE,MATERIALNAME,
+        PRODUCTTYPERULEID,PRODUCTTYPERULE,PRODUCTTYPEID,
+        PRODUCTTYPE,METALRULE,METAL,
+        METALSTATERULE,METALSTATE,THICKRULE,
+        THICKCHANGE,THICKOFFSET,THICKSTR,
+        THICKEND,THICKREMARK,WIDTHRULE,
+        WIDTHCHANGE,WIDTHOFFSET,WIDTHSTR,
+        WIDTHEND,WIDTHREMARK,LENGTHRULE,
+        LENGTHCHANGE,LENGTHOFFSET,LENGTHSTR,
+        LENGTHEND,LENGTHREMARK,OUTVAL,
+        OUTMATERREQUEST
+    </sql>
+</mapper>

+ 32 - 0
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsProcessOperationDao.xml

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.rongwei.bscommon.sys.dao.ApsProcessOperationDao">
+    <update id="updateBachmaterialprocessByIds">
+        update aps_process_operation set BACHMATERIALPROCESS = CONCAT_WS(',',BACHMATERIALPROCESS,#{batchNum})
+        <where>
+            ID in
+            <foreach collection="ids" separator="," open="(" close=")" item="id">
+                #{id}
+            </foreach>
+        </where>
+    </update>
+    <update id="updateAboutCheckBatchNum">
+        update aps_process_operation
+        <set>
+            OUTPUTQUALIFIEDNUM = IFNULL(OUTPUTQUALIFIEDNUM,0)+ #{qualifiedQuantity},
+            OUTPUTUNQUALIFIEDNUM = IFNULL(OUTPUTUNQUALIFIEDNUM,0) +#{unqualifiedQuantity},
+            CHECKOUTROLL = IFNULL(OUTPUTUNQUALIFIEDNUM,0) +#{currentCheckNum},
+            UNFINISHROLL = UNFINISHROLL -#{currentCheckNum},
+            ACTUALFINISHDATE = CASE
+            WHEN (UNFINISHROLL - #{currentCheckNum}) = 0 THEN NOW()
+            ELSE ACTUALFINISHDATE
+            END
+        </set>
+        <where>
+            ID =#{id}
+        </where>
+    </update>
+
+</mapper>

+ 123 - 0
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsProductionOrderDao.xml

@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.rongwei.bscommon.sys.dao.ApsProductionOrderDao">
+
+    <resultMap id="BaseResultMap" type="com.rongwei.bsentity.domain.ApsProductionOrderDo">
+        <id property="id" column="ID" jdbcType="VARCHAR"/>
+        <result property="orderno" column="ORDERNO" jdbcType="VARCHAR"/>
+        <result property="customname" column="CUSTOMNAME" jdbcType="VARCHAR"/>
+        <result property="orderdate" column="ORDERDATE" jdbcType="TIMESTAMP"/>
+        <result property="deliverydate" column="DELIVERYDATE" jdbcType="TIMESTAMP"/>
+        <result property="allowday" column="ALLOWDAY" jdbcType="INTEGER"/>
+        <result property="orderstatus" column="ORDERSTATUS" jdbcType="VARCHAR"/>
+        <result property="auditstatus" column="AUDITSTATUS" jdbcType="VARCHAR"/>
+        <result property="auditor" column="AUDITOR" jdbcType="VARCHAR"/>
+        <result property="auditorid" column="AUDITORID" jdbcType="VARCHAR"/>
+        <result property="auditdate" column="AUDITDATE" jdbcType="TIMESTAMP"/>
+        <result property="productionstatus" column="PRODUCTIONSTATUS" jdbcType="VARCHAR"/>
+        <result property="promisedeliverydate" column="PROMISEDELIVERYDATE" jdbcType="TIMESTAMP"/>
+        <result property="customwarehouse" column="CUSTOMWAREHOUSE" jdbcType="VARCHAR"/>
+        <result property="deliverytime" column="DELIVERYTIME" jdbcType="INTEGER"/>
+        <result property="belongfactory" column="BELONGFACTORY" jdbcType="VARCHAR"/>
+        <result property="ordertype" column="ORDERTYPE" jdbcType="VARCHAR"/>
+        <result property="salesman" column="SALESMAN" jdbcType="VARCHAR"/>
+        <result property="businessunit" column="BUSINESSUNIT" jdbcType="VARCHAR"/>
+        <result property="customorderno" column="CUSTOMORDERNO" jdbcType="VARCHAR"/>
+        <result property="isfromnc" column="ISFROMNC" jdbcType="VARCHAR"/>
+        <result property="ncorderno" column="NCORDERNO" jdbcType="VARCHAR"/>
+        <result property="ncordertype" column="NCORDERTYPE" jdbcType="VARCHAR"/>
+        <result property="ncorderstatus" column="NCORDERSTATUS" jdbcType="VARCHAR"/>
+        <result property="tenantid" column="TENANTID" jdbcType="VARCHAR"/>
+        <result property="roption" column="ROPTION" jdbcType="VARCHAR"/>
+        <result property="deleted" column="DELETED" jdbcType="CHAR"/>
+        <result property="remark" column="REMARK" jdbcType="VARCHAR"/>
+        <result property="createdate" column="CREATEDATE" jdbcType="TIMESTAMP"/>
+        <result property="createuserid" column="CREATEUSERID" jdbcType="VARCHAR"/>
+        <result property="modifydate" column="MODIFYDATE" jdbcType="TIMESTAMP"/>
+        <result property="modifyuserid" column="MODIFYUSERID" jdbcType="VARCHAR"/>
+        <result property="createusername" column="CREATEUSERNAME" jdbcType="VARCHAR"/>
+        <result property="modifyusername" column="MODIFYUSERNAME" jdbcType="VARCHAR"/>
+        <result property="scheduledeliverydate" column="SCHEDULEDELIVERYDATE" jdbcType="TIMESTAMP"/>
+        <result property="actualdeliverydate" column="ACTUALDELIVERYDATE" jdbcType="TIMESTAMP"/>
+        <result property="customid" column="CUSTOMID" jdbcType="VARCHAR"/>
+        <result property="status" column="STATUS" jdbcType="VARCHAR"/>
+        <result property="processinstid" column="PROCESSINSTID" jdbcType="VARCHAR"/>
+        <result property="customwarehouseid" column="CUSTOMWAREHOUSEID" jdbcType="VARCHAR"/>
+        <result property="blanktype" column="BLANKTYPE" jdbcType="VARCHAR"/>
+        <result property="compositionchange" column="COMPOSITIONCHANGE" jdbcType="VARCHAR"/>
+        <result property="changeremark" column="CHANGEREMARK" jdbcType="VARCHAR"/>
+        <result property="blamkthickness" column="BLAMKTHICKNESS" jdbcType="DECIMAL"/>
+        <result property="blankhomogenization" column="BLANKHOMOGENIZATION" jdbcType="VARCHAR"/>
+        <result property="finishtemperature" column="FINISHTEMPERATURE" jdbcType="VARCHAR"/>
+        <result property="thicknesstolerance" column="THICKNESSTOLERANCE" jdbcType="VARCHAR"/>
+        <result property="widthtolerance" column="WIDTHTOLERANCE" jdbcType="VARCHAR"/>
+        <result property="lengthtolerance" column="LENGTHTOLERANCE" jdbcType="VARCHAR"/>
+        <result property="bendrequirement" column="BENDREQUIREMENT" jdbcType="VARCHAR"/>
+        <result property="joint" column="JOINT" jdbcType="VARCHAR"/>
+        <result property="swabbing" column="SWABBING" jdbcType="VARCHAR"/>
+        <result property="tensilestrength" column="TENSILESTRENGTH" jdbcType="VARCHAR"/>
+        <result property="yieldstrength" column="YIELDSTRENGTH" jdbcType="VARCHAR"/>
+        <result property="elongationrate" column="ELONGATIONRATE" jdbcType="VARCHAR"/>
+        <result property="pinhole" column="PINHOLE" jdbcType="VARCHAR"/>
+        <result property="cupping" column="CUPPING" jdbcType="VARCHAR"/>
+        <result property="earing" column="EARING" jdbcType="VARCHAR"/>
+        <result property="innercorediameter" column="INNERCOREDIAMETER" jdbcType="DECIMAL"/>
+        <result property="packagingmethod" column="PACKAGINGMETHOD" jdbcType="VARCHAR"/>
+        <result property="tag" column="TAG" jdbcType="VARCHAR"/>
+        <result property="surfacerequirement" column="SURFACEREQUIREMENT" jdbcType="VARCHAR"/>
+        <result property="istensionlevelling" column="ISTENSIONLEVELLING" jdbcType="VARCHAR"/>
+        <result property="packagingrequirement" column="PACKAGINGREQUIREMENT" jdbcType="VARCHAR"/>
+        <result property="surfacehardness" column="SURFACEHARDNESS" jdbcType="VARCHAR"/>
+        <result property="nomod" column="NOMOD" jdbcType="VARCHAR"/>
+        <result property="rollweightrequirement" column="ROLLWEIGHTREQUIREMENT" jdbcType="VARCHAR"/>
+        <result property="otherorderstandard" column="OTHERORDERSTANDARD" jdbcType="VARCHAR"/>
+        <result property="technicalreviewerid" column="TECHNICALREVIEWERID" jdbcType="VARCHAR"/>
+        <result property="technicalreviewername" column="TECHNICALREVIEWERNAME" jdbcType="VARCHAR"/>
+        <result property="technicalreviewdate" column="TECHNICALREVIEWDATE" jdbcType="TIMESTAMP"/>
+        <result property="qualityreviewerid" column="QUALITYREVIEWERID" jdbcType="VARCHAR"/>
+        <result property="qualityreviewername" column="QUALITYREVIEWERNAME" jdbcType="VARCHAR"/>
+        <result property="qualityreviewdate" column="QUALITYREVIEWDATE" jdbcType="TIMESTAMP"/>
+        <result property="reviewerid" column="REVIEWERID" jdbcType="VARCHAR"/>
+        <result property="reviewername" column="REVIEWERNAME" jdbcType="VARCHAR"/>
+        <result property="reviewdate" column="REVIEWDATE" jdbcType="TIMESTAMP"/>
+        <result property="idmatureprocess" column="IDMATUREPROCESS" jdbcType="VARCHAR"/>
+        <result property="otherprecaution" column="OTHERPRECAUTION" jdbcType="VARCHAR"/>
+        <result property="enddate" column="ENDDATE" jdbcType="TIMESTAMP"/>
+        <result property="plandate" column="PLANDATE" jdbcType="TIMESTAMP"/>
+        <result property="reviewtype" column="REVIEWTYPE" jdbcType="VARCHAR"/>
+        <result property="schedulstatus" column="SCHEDULSTATUS" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        ID,ORDERNO,CUSTOMNAME,
+        ORDERDATE,DELIVERYDATE,ALLOWDAY,
+        ORDERSTATUS,AUDITSTATUS,AUDITOR,
+        AUDITORID,AUDITDATE,PRODUCTIONSTATUS,
+        PROMISEDELIVERYDATE,CUSTOMWAREHOUSE,DELIVERYTIME,
+        BELONGFACTORY,ORDERTYPE,SALESMAN,
+        BUSINESSUNIT,CUSTOMORDERNO,ISFROMNC,
+        NCORDERNO,NCORDERTYPE,NCORDERSTATUS,
+        TENANTID,ROPTION,DELETED,
+        REMARK,CREATEDATE,CREATEUSERID,
+        MODIFYDATE,MODIFYUSERID,CREATEUSERNAME,
+        MODIFYUSERNAME,SCHEDULEDELIVERYDATE,ACTUALDELIVERYDATE,
+        CUSTOMID,STATUS,PROCESSINSTID,
+        CUSTOMWAREHOUSEID,BLANKTYPE,COMPOSITIONCHANGE,
+        CHANGEREMARK,BLAMKTHICKNESS,BLANKHOMOGENIZATION,
+        FINISHTEMPERATURE,THICKNESSTOLERANCE,WIDTHTOLERANCE,
+        LENGTHTOLERANCE,BENDREQUIREMENT,JOINT,
+        SWABBING,TENSILESTRENGTH,YIELDSTRENGTH,
+        ELONGATIONRATE,PINHOLE,CUPPING,
+        EARING,INNERCOREDIAMETER,PACKAGINGMETHOD,
+        TAG,SURFACEREQUIREMENT,ISTENSIONLEVELLING,
+        PACKAGINGREQUIREMENT,SURFACEHARDNESS,NOMOD,
+        ROLLWEIGHTREQUIREMENT,OTHERORDERSTANDARD,TECHNICALREVIEWERID,
+        TECHNICALREVIEWERNAME,TECHNICALREVIEWDATE,QUALITYREVIEWERID,
+        QUALITYREVIEWERNAME,QUALITYREVIEWDATE,REVIEWERID,
+        REVIEWERNAME,REVIEWDATE,IDMATUREPROCESS,
+        OTHERPRECAUTION,ENDDATE,PLANDATE,
+        REVIEWTYPE,SCHEDULSTATUS
+    </sql>
+</mapper>

+ 55 - 0
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsReportOutputDao.xml

@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.rongwei.bscommon.sys.dao.ApsReportOutputDao">
+
+    <resultMap id="BaseResultMap" type="com.rongwei.bsentity.domain.ApsReportOutputDo">
+        <id property="id" column="ID" jdbcType="VARCHAR"/>
+        <result property="tenantid" column="TENANTID" jdbcType="VARCHAR"/>
+        <result property="roption" column="ROPTION" jdbcType="VARCHAR"/>
+        <result property="deleted" column="DELETED" jdbcType="VARCHAR"/>
+        <result property="remark" column="REMARK" jdbcType="VARCHAR"/>
+        <result property="createdate" column="CREATEDATE" jdbcType="TIMESTAMP"/>
+        <result property="createuserid" column="CREATEUSERID" jdbcType="VARCHAR"/>
+        <result property="modifydate" column="MODIFYDATE" jdbcType="TIMESTAMP"/>
+        <result property="modifyuserid" column="MODIFYUSERID" jdbcType="VARCHAR"/>
+        <result property="createusername" column="CREATEUSERNAME" jdbcType="VARCHAR"/>
+        <result property="modifyusername" column="MODIFYUSERNAME" jdbcType="VARCHAR"/>
+        <result property="mainid" column="MAINID" jdbcType="VARCHAR"/>
+        <result property="outputid" column="OUTPUTID" jdbcType="VARCHAR"/>
+        <result property="outputmaterial" column="OUTPUTMATERIAL" jdbcType="VARCHAR"/>
+        <result property="outputnumber" column="OUTPUTNUMBER" jdbcType="VARCHAR"/>
+        <result property="qrcode" column="QRCODE" jdbcType="VARCHAR"/>
+        <result property="componment" column="COMPONMENT" jdbcType="VARCHAR"/>
+        <result property="startrange" column="STARTRANGE" jdbcType="VARCHAR"/>
+        <result property="endrange" column="ENDRANGE" jdbcType="VARCHAR"/>
+        <result property="actualrange" column="ACTUALRANGE" jdbcType="VARCHAR"/>
+        <result property="checkstatus" column="CHECKSTATUS" jdbcType="VARCHAR"/>
+        <result property="thickness" column="THICKNESS" jdbcType="DECIMAL"/>
+        <result property="width" column="WIDTH" jdbcType="DECIMAL"/>
+        <result property="length" column="LENGTH" jdbcType="DECIMAL"/>
+        <result property="weight" column="WEIGHT" jdbcType="DECIMAL"/>
+        <result property="insepctionlevel" column="INSEPCTIONLEVEL" jdbcType="VARCHAR"/>
+        <result property="qualified" column="QUALIFIED" jdbcType="VARCHAR"/>
+        <result property="major" column="MAJOR" jdbcType="VARCHAR"/>
+        <result property="minor" column="MINOR" jdbcType="VARCHAR"/>
+        <result property="checkremark" column="CHECKREMARK" jdbcType="VARCHAR"/>
+        <result property="majordesc" column="MAJORDESC" jdbcType="VARCHAR"/>
+        <result property="minordesc" column="MINORDESC" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        ID,TENANTID,ROPTION,
+        DELETED,REMARK,CREATEDATE,
+        CREATEUSERID,MODIFYDATE,MODIFYUSERID,
+        CREATEUSERNAME,MODIFYUSERNAME,MAINID,
+        OUTPUTID,OUTPUTMATERIAL,OUTPUTNUMBER,
+        QRCODE,COMPONMENT,STARTRANGE,
+        ENDRANGE,ACTUALRANGE,CHECKSTATUS,
+        THICKNESS,WIDTH,LENGTH,
+        WEIGHT,INSEPCTIONLEVEL,QUALIFIED,
+        MAJOR,MINOR,CHECKREMARK,
+        MAJORDESC,MINORDESC
+    </sql>
+</mapper>

+ 47 - 0
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsReportRecordsDao.xml

@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.rongwei.bscommon.sys.dao.ApsReportRecordsDao">
+
+    <resultMap id="BaseResultMap" type="com.rongwei.bsentity.domain.ApsReportRecordsDo">
+        <id property="id" column="ID" jdbcType="VARCHAR"/>
+        <result property="tenantid" column="TENANTID" jdbcType="VARCHAR"/>
+        <result property="roption" column="ROPTION" jdbcType="VARCHAR"/>
+        <result property="deleted" column="DELETED" jdbcType="CHAR"/>
+        <result property="remark" column="REMARK" jdbcType="VARCHAR"/>
+        <result property="createdate" column="CREATEDATE" jdbcType="TIMESTAMP"/>
+        <result property="createuserid" column="CREATEUSERID" jdbcType="VARCHAR"/>
+        <result property="modifydate" column="MODIFYDATE" jdbcType="TIMESTAMP"/>
+        <result property="modifyuserid" column="MODIFYUSERID" jdbcType="VARCHAR"/>
+        <result property="createusername" column="CREATEUSERNAME" jdbcType="VARCHAR"/>
+        <result property="modifyusername" column="MODIFYUSERNAME" jdbcType="VARCHAR"/>
+        <result property="processoperationid" column="PROCESSOPERATIONID" jdbcType="VARCHAR"/>
+        <result property="batchnumber" column="BATCHNUMBER" jdbcType="VARCHAR"/>
+        <result property="actualinputmaterial" column="ACTUALINPUTMATERIAL" jdbcType="VARCHAR"/>
+        <result property="chiefoperatorid" column="CHIEFOPERATORID" jdbcType="VARCHAR"/>
+        <result property="chiefoperatorname" column="CHIEFOPERATORNAME" jdbcType="VARCHAR"/>
+        <result property="startworktime" column="STARTWORKTIME" jdbcType="TIMESTAMP"/>
+        <result property="reportworktime" column="REPORTWORKTIME" jdbcType="TIMESTAMP"/>
+        <result property="reportworkstatus" column="REPORTWORKSTATUS" jdbcType="VARCHAR"/>
+        <result property="checkstatus" column="CHECKSTATUS" jdbcType="VARCHAR"/>
+        <result property="needcheckbatchnumber" column="NEEDCHECKBATCHNUMBER" jdbcType="VARCHAR"/>
+        <result property="checkid" column="CHECKID" jdbcType="VARCHAR"/>
+        <result property="checkdate" column="CHECKDATE" jdbcType="TIMESTAMP"/>
+        <result property="checkfile" column="CHECKFILE" jdbcType="VARCHAR"/>
+        <result property="ingredient" column="INGREDIENT" jdbcType="VARCHAR"/>
+        <result property="checkusername" column="CHECKUSERNAME" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        ID,TENANTID,ROPTION,
+        DELETED,REMARK,CREATEDATE,
+        CREATEUSERID,MODIFYDATE,MODIFYUSERID,
+        CREATEUSERNAME,MODIFYUSERNAME,PROCESSOPERATIONID,
+        BATCHNUMBER,ACTUALINPUTMATERIAL,CHIEFOPERATORID,
+        CHIEFOPERATORNAME,STARTWORKTIME,REPORTWORKTIME,
+        REPORTWORKSTATUS,CHECKSTATUS,NEEDCHECKBATCHNUMBER,
+        CHECKID,CHECKDATE,CHECKFILE,
+        INGREDIENT,CHECKUSERNAME
+    </sql>
+</mapper>

+ 62 - 0
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsWorkInProgressInventoryDao.xml

@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.rongwei.bscommon.sys.dao.ApsWorkInProgressInventoryDao">
+
+    <resultMap id="BaseResultMap" type="com.rongwei.bsentity.domain.ApsWorkInProgressInventoryDo">
+        <id property="id" column="ID" jdbcType="VARCHAR"/>
+        <result property="tenantid" column="TENANTID" jdbcType="VARCHAR"/>
+        <result property="roption" column="ROPTION" jdbcType="VARCHAR"/>
+        <result property="deleted" column="DELETED" jdbcType="CHAR"/>
+        <result property="remark" column="REMARK" jdbcType="VARCHAR"/>
+        <result property="createdate" column="CREATEDATE" jdbcType="TIMESTAMP"/>
+        <result property="createuserid" column="CREATEUSERID" jdbcType="VARCHAR"/>
+        <result property="modifydate" column="MODIFYDATE" jdbcType="TIMESTAMP"/>
+        <result property="modifyuserid" column="MODIFYUSERID" jdbcType="VARCHAR"/>
+        <result property="createusername" column="CREATEUSERNAME" jdbcType="VARCHAR"/>
+        <result property="modifyusername" column="MODIFYUSERNAME" jdbcType="VARCHAR"/>
+        <result property="blankbatchnumber" column="BLANKBATCHNUMBER" jdbcType="VARCHAR"/>
+        <result property="blankid" column="BLANKID" jdbcType="VARCHAR"/>
+        <result property="blankname" column="BLANKNAME" jdbcType="VARCHAR"/>
+        <result property="processoperationid" column="PROCESSOPERATIONID" jdbcType="VARCHAR"/>
+        <result property="workreportrecordid" column="WORKREPORTRECORDID" jdbcType="VARCHAR"/>
+        <result property="joboutputmaterialid" column="JOBOUTPUTMATERIALID" jdbcType="VARCHAR"/>
+        <result property="reportoutputmaterialid" column="REPORTOUTPUTMATERIALID" jdbcType="VARCHAR"/>
+        <result property="batchnumber" column="BATCHNUMBER" jdbcType="VARCHAR"/>
+        <result property="workinprocess" column="WORKINPROCESS" jdbcType="VARCHAR"/>
+        <result property="productdate" column="PRODUCTDATE" jdbcType="TIMESTAMP"/>
+        <result property="productfactory" column="PRODUCTFACTORY" jdbcType="VARCHAR"/>
+        <result property="productworkshop" column="PRODUCTWORKSHOP" jdbcType="VARCHAR"/>
+        <result property="productdevice" column="PRODUCTDEVICE" jdbcType="VARCHAR"/>
+        <result property="customername" column="CUSTOMERNAME" jdbcType="VARCHAR"/>
+        <result property="ordernumber" column="ORDERNUMBER" jdbcType="VARCHAR"/>
+        <result property="inspectionlevel" column="INSPECTIONLEVEL" jdbcType="VARCHAR"/>
+        <result property="isqualified" column="ISQUALIFIED" jdbcType="VARCHAR"/>
+        <result property="workinprocesstype" column="WORKINPROCESSTYPE" jdbcType="VARCHAR"/>
+        <result property="workinprocessstatus" column="WORKINPROCESSSTATUS" jdbcType="VARCHAR"/>
+        <result property="pendingprocessid" column="PENDINGPROCESSID" jdbcType="VARCHAR"/>
+        <result property="planmaterialid" column="PLANMATERIALID" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        ID,TENANTID,ROPTION,
+        DELETED,REMARK,CREATEDATE,
+        CREATEUSERID,MODIFYDATE,MODIFYUSERID,
+        CREATEUSERNAME,MODIFYUSERNAME,BLANKBATCHNUMBER,
+        BLANKID,BLANKNAME,PROCESSOPERATIONID,
+        WORKREPORTRECORDID,JOBOUTPUTMATERIALID,REPORTOUTPUTMATERIALID,
+        BATCHNUMBER,WORKINPROCESS,PRODUCTDATE,
+        PRODUCTFACTORY,PRODUCTWORKSHOP,PRODUCTDEVICE,
+        CUSTOMERNAME,ORDERNUMBER,INSPECTIONLEVEL,
+        ISQUALIFIED,WORKINPROCESSTYPE,WORKINPROCESSSTATUS,
+        PENDINGPROCESSID,PLANMATERIALID
+    </sql>
+    <update id="updateWorkinprocessstatus">
+        <foreach collection="datas" item="data" separator=";">
+            UPDATE aps_work_in_progress_inventory
+            SET WORKINPROCESSSTATUS = #{data.workinprocessstatus}
+            WHERE ID = #{data.id}
+        </foreach>
+    </update>
+</mapper>

+ 58 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsCraftEquDo.java

@@ -0,0 +1,58 @@
+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.util.Date;
+
+/**
+ * 工艺步骤可选设备
+ *
+ * @TableName aps_craft_equ
+ */
+@TableName(value = "aps_craft_equ")
+@Data
+public class ApsCraftEquDo extends BaseDo implements Serializable {
+    /**
+     * 主键ID
+     */
+    @TableId
+    private String id;
+
+    /**
+     *
+     */
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+    /**
+     * 主表ID
+     */
+    private String mainid;
+
+    /**
+     * 资源ID
+     */
+    private String resourceid;
+
+    /**
+     * 资源类型
+     */
+    private String resourcetype;
+
+    /**
+     * 设备参数
+     */
+    private String equparames;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 138 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsCraftRouteDo.java

@@ -0,0 +1,138 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+
+/**
+ * 工艺路线管理
+ * @TableName aps_craft_route
+ */
+@TableName(value ="aps_craft_route")
+@Data
+public class ApsCraftRouteDo extends BaseDo implements Serializable {
+    /**
+     * 主键ID
+     */
+    @TableId
+    private String id;
+
+    /**
+     * 
+     */
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+    /**
+     * 所属工厂
+     */
+    private String ownedfactory;
+
+    /**
+     * 工艺路线编号
+     */
+    private String routenum;
+
+    /**
+     * 工序路线名称
+     */
+    private String routename;
+
+    /**
+     * 坯料类型
+     */
+    private String blanktype;
+
+    /**
+     * 物料编号
+     */
+    private String materialcode;
+
+    /**
+     * 物料名称
+     */
+    private String materialname;
+
+    /**
+     * 产品类型
+     */
+    private String producttype;
+
+    /**
+     * 产品类型名称
+     */
+    private String producttypename;
+
+    /**
+     * 合金
+     */
+    private String metal;
+
+    /**
+     * 合金状态
+     */
+    private String metalstate;
+
+    /**
+     * 厚度-起(mm)
+     */
+    private BigDecimal thickstr;
+
+    /**
+     * 厚度-止(mm)
+     */
+    private BigDecimal thickend;
+
+    /**
+     * 宽度-起(mm)
+     */
+    private BigDecimal widthstr;
+
+    /**
+     * 宽度-止(mm)
+     */
+    private BigDecimal widthend;
+
+    /**
+     * 长度-起(mm)
+     */
+    private BigDecimal lengthstr;
+
+    /**
+     * 长度-止(mm)
+     */
+    private BigDecimal lengthend;
+
+    /**
+     * 输入物料
+     */
+    private String inmatercondition;
+
+    /**
+     * 输出物料
+     */
+    private String outmaterrequest;
+
+    /**
+     * 第一个工艺步骤ID
+     */
+    private String firststepid;
+
+    /**
+     * 最后一个工艺步骤的ID
+     */
+    private String laststepids;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 232 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsCraftRouteOutMaterRequestDo.java

@@ -0,0 +1,232 @@
+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_craft_route_out_mater_request
+ */
+@TableName(value = "aps_craft_route_out_mater_request")
+@Data
+public class ApsCraftRouteOutMaterRequestDo extends BaseDo implements Serializable {
+    /**
+     * 主键ID
+     */
+    @TableId
+    private String id;
+
+    /**
+     *
+     */
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+    /**
+     * 序号
+     */
+    private Integer datano;
+
+    /**
+     * 工艺路线ID
+     */
+    private String craftrouteid;
+
+    /**
+     * 工艺步骤ID
+     */
+    private String craftstepid;
+
+    /**
+     * 物料编号
+     */
+    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 BigDecimal 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 actualthickstr;
+    /**
+     * 厚度-止(mm)实际
+     */
+    private BigDecimal actualthickend;
+    /**
+     * 宽度-起(mm)实际
+     */
+    private BigDecimal actualwidthstr;
+    /**
+     * 宽度-止(mm)实际
+     */
+    private BigDecimal actualwidthend;
+    /**
+     * 长度-起(mm)实际
+     */
+    private BigDecimal actuallengthstr;
+    /**
+     * 长度-止(mm)实际
+     */
+    private BigDecimal actuallengthend;
+
+    /**
+     * 实际输出物料规则
+     */
+    private String actualoutmaterrequest;
+    
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 273 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsCraftRouteStepDo.java

@@ -0,0 +1,273 @@
+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_craft_route_step
+ */
+@TableName(value = "aps_craft_route_step")
+@Data
+public class ApsCraftRouteStepDo extends BaseDo implements Serializable {
+    /**
+     * 主键ID
+     */
+    @TableId
+    private String id;
+
+    /**
+     *
+     */
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+    /**
+     * 所属工厂
+     */
+    private String ownedfactory;
+
+    /**
+     * 工艺步骤管理表ID
+     */
+    private String craftstepid;
+
+    /**
+     * 工艺路线管理表ID
+     */
+    private String craftrouteid;
+
+    /**
+     * 工艺步骤编号
+     */
+    private String stepnum;
+
+    /**
+     * 工序
+     */
+    private String process;
+
+    /**
+     * 工序显示名
+     */
+    private String processname;
+
+    /**
+     * 加工方式
+     */
+    private String processway;
+
+    /**
+     * 数量单位
+     */
+    private String numunit;
+
+    /**
+     * 单次加工量
+     */
+    private BigDecimal onceprocessval;
+
+    /**
+     * 单次加工时长
+     */
+    private BigDecimal onceprocessmin;
+
+    /**
+     * 单位时间产能
+     */
+    private BigDecimal pertimecapacity;
+
+    /**
+     * 加工时间单位
+     */
+    private String timeunit;
+
+    /**
+     * 上机准备时间(分钟)
+     */
+    private BigDecimal prepressworkmin;
+
+    /**
+     * 上料时间(分钟)
+     */
+    private BigDecimal loadingmin;
+
+    /**
+     * 下料时间(分钟)
+     */
+    private BigDecimal cuttingmin;
+
+    /**
+     * 下机收尾时间(分钟)
+     */
+    private BigDecimal cutfinishmin;
+
+    /**
+     * 最小流转批次
+     */
+    private BigDecimal minflowbatch;
+
+    /**
+     * 流转等待最小时长(分钟)
+     */
+    private BigDecimal minflowwaitmin;
+
+    /**
+     * 流转等待最大时长(分钟)
+     */
+    private BigDecimal maxflowwaitmin;
+
+    /**
+     * 是否坯料工序
+     */
+    private String ifblankprocess;
+
+    /**
+     * 物料编号
+     */
+    private String materialcode;
+
+    /**
+     * 物料名称
+     */
+    private String materialname;
+
+    /**
+     * 产品类型ID
+     */
+    private String producttypeid;
+
+    /**
+     * 产品类型
+     */
+    private String producttype;
+
+    /**
+     * 合金
+     */
+    private String metal;
+
+    /**
+     * 合金状态
+     */
+    private String metalstate;
+
+    /**
+     * 厚度-起(mm)
+     */
+    private BigDecimal thickstr;
+
+    /**
+     * 厚度-止(mm)
+     */
+    private BigDecimal thickend;
+
+    /**
+     * 宽度-起(mm)
+     */
+    private BigDecimal widthstr;
+
+    /**
+     * 宽度-止(mm)
+     */
+    private BigDecimal widthend;
+
+    /**
+     * 长度-起(mm)
+     */
+    private BigDecimal lengthstr;
+
+    /**
+     * 长度-止(mm)
+     */
+    private BigDecimal lengthend;
+
+    /**
+     * 输入物料条件
+     */
+    private String inmatercondition;
+
+    /**
+     * 输出物料要求
+     */
+    private String outmaterrequest;
+
+    /**
+     * 可选设备
+     */
+    private String chooseequ;
+
+    /**
+     * 上一个工艺步骤ID
+     */
+    private String previousstepid;
+
+    /**
+     * 下一个工艺步骤ID
+     */
+    private String nextstepid;
+
+    /**
+     * 上一个工艺步骤名称
+     */
+    private String previousstepname;
+
+    /**
+     * 下一个工艺步骤名称
+     */
+    private String nextstepname;
+
+    /**
+     * 顺序
+     */
+    private Integer level;
+
+
+    /**
+     * 实际输入物料条件
+     */
+    private String actualinmatercondition;
+    /**
+     * 实际输出物料规则
+     */
+    private String actualoutmaterrequest;
+    /**
+     * 实际厚度-起(mm)
+     */
+    private BigDecimal actualthickstr;
+    /**
+     * 实际厚度-止(mm)
+     */
+    private BigDecimal actualthickend;
+    /**
+     * 实际宽度-起(mm)
+     */
+    private BigDecimal actualwidthstr;
+    /**
+     * 实际宽度-止(mm)
+     */
+    private BigDecimal actualwidthend;
+    /**
+     * 实际长度-起(mm)
+     */
+    private BigDecimal actuallengthstr;
+    /**
+     * 实际长度-止(mm)
+     */
+    private BigDecimal actuallengthend;
+
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 62 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsCraftRouteStepEquDo.java

@@ -0,0 +1,62 @@
+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;
+
+/**
+ * 工艺路线对应工艺步骤可选设备
+ *
+ * @TableName aps_craft_route_step_equ
+ */
+@TableName(value = "aps_craft_route_step_equ")
+@Data
+public class ApsCraftRouteStepEquDo extends BaseDo implements Serializable {
+    /**
+     * 主键ID
+     */
+    @TableId
+    private String id;
+
+    /**
+     *
+     */
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+    /**
+     * 工艺路线ID
+     */
+    private String craftrouteid;
+
+    /**
+     * 工艺步骤ID
+     */
+    private String craftstepid;
+
+    /**
+     * 资源ID
+     */
+    private String resourceid;
+
+    /**
+     * 资源类型
+     */
+    private String resourcetype;
+
+    /**
+     * 设备参数
+     */
+    private String equparames;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 203 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsCraftStepDo.java

@@ -0,0 +1,203 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+
+/**
+ * 工艺步骤管理
+ * @TableName aps_craft_step
+ */
+@TableName(value ="aps_craft_step")
+@Data
+public class ApsCraftStepDo extends BaseDo implements Serializable {
+    /**
+     * 主键ID
+     */
+    @TableId
+    private String id;
+
+    /**
+     * 
+     */
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+    /**
+     * 所属工厂
+     */
+    private String ownedfactory;
+
+    /**
+     * 工艺步骤编号
+     */
+    private String stepnum;
+
+    /**
+     * 工序
+     */
+    private String process;
+
+    /**
+     * 工序显示名
+     */
+    private String processname;
+
+    /**
+     * 加工方式
+     */
+    private String processway;
+
+    /**
+     * 数量单位
+     */
+    private String numunit;
+
+    /**
+     * 单次加工量
+     */
+    private BigDecimal onceprocessval;
+
+    /**
+     * 单次加工时长
+     */
+    private BigDecimal onceprocessmin;
+
+    /**
+     * 单位时间产能
+     */
+    private BigDecimal pertimecapacity;
+
+    /**
+     * 加工时间单位
+     */
+    private String timeunit;
+
+    /**
+     * 上机准备时间(分钟)
+     */
+    private BigDecimal prepressworkmin;
+
+    /**
+     * 上料时间(分钟)
+     */
+    private BigDecimal loadingmin;
+
+    /**
+     * 下料时间(分钟)
+     */
+    private BigDecimal cuttingmin;
+
+    /**
+     * 下机收尾时间(分钟)
+     */
+    private BigDecimal cutfinishmin;
+
+    /**
+     * 最小流转批次
+     */
+    private BigDecimal minflowbatch;
+
+    /**
+     * 流转等待最小时长(分钟)
+     */
+    private BigDecimal minflowwaitmin;
+
+    /**
+     * 流转等待最大时长(分钟)
+     */
+    private BigDecimal maxflowwaitmin;
+
+    /**
+     * 是否坯料工序
+     */
+    private String ifblankprocess;
+
+    /**
+     * 物料编号
+     */
+    private String materialcode;
+
+    /**
+     * 物料名称
+     */
+    private String materialname;
+
+    /**
+     * 产品类型ID
+     */
+    private String producttypeid;
+
+    /**
+     * 产品类型
+     */
+    private String producttype;
+
+    /**
+     * 合金
+     */
+    private String metal;
+
+    /**
+     * 合金状态
+     */
+    private String metalstate;
+
+    /**
+     * 厚度-起(mm)
+     */
+    private BigDecimal thickstr;
+
+    /**
+     * 厚度-止(mm)
+     */
+    private BigDecimal thickend;
+
+    /**
+     * 宽度-起(mm)
+     */
+    private BigDecimal widthstr;
+
+    /**
+     * 宽度-止(mm)
+     */
+    private BigDecimal widthend;
+
+    /**
+     * 长度-起(mm)
+     */
+    private BigDecimal lengthstr;
+
+    /**
+     * 长度-止(mm)
+     */
+    private BigDecimal lengthend;
+
+    /**
+     * 输入物料条件
+     */
+    private String inmatercondition;
+
+    /**
+     * 输出物料要求
+     */
+    private String outmaterrequest;
+
+    /**
+     * 可选设备
+     */
+    private String chooseequ;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 198 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsOutMaterRequestDo.java

@@ -0,0 +1,198 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+
+/**
+ * 工艺步骤输出物料要求
+ * @TableName aps_out_mater_request
+ */
+@TableName(value ="aps_out_mater_request")
+@Data
+public class ApsOutMaterRequestDo extends BaseDo implements Serializable {
+    /**
+     * 主键ID
+     */
+    @TableId
+    private String id;
+
+    /**
+     * 
+     */
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+    /**
+     * 序号
+     */
+    private Integer datano;
+
+    /**
+     * 主表ID
+     */
+    private String mainid;
+
+    /**
+     * 物料编号
+     */
+    private String materialcode;
+
+    /**
+     * 物料名称
+     */
+    private String materialname;
+
+    /**
+     * 产品类型输出规则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;
+
+    /**
+     * 厚度输出规则
+     */
+    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;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 363 - 23
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationDo.java

@@ -1,15 +1,17 @@
 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 java.util.Date;
-import com.baomidou.mybatisplus.annotation.Version;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableField;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.Date;
+
 /**
  * <p>
  * 生产订单_坯料计划_工序作业
@@ -31,53 +33,239 @@ public class ApsProcessOperationDo extends BaseDo {
      */
     @TableId("ID")
     private String id;
+
     @TableField("TENANTID")
     private String tenantid;
+
     /**
      * 扩展json格式配置
      */
     @TableField("ROPTION")
     private String roption;
+
+
     /**
      * 所属工厂
      */
     @TableField("OWNEDFACTORY")
     private String ownedfactory;
+
     /**
-     * 坯料计划ID
+     * 工艺步骤表ID
      */
-    @TableField("BLANKID")
-    private String blankid;
+    @TableField("CRAFTSTEPID")
+    private String craftstepid;
+
+    /**
+     * 工艺路线表ID
+     */
+    @TableField("CRAFTROUTEID")
+    private String craftrouteid;
+
+    /**
+     * 工艺步骤编号
+     */
+    @TableField("STEPNUM")
+    private String stepnum;
+
     /**
      * 工序
      */
-    @TableField("PRODUCTPROCESS")
-    private String productprocess;
+    @TableField("PROCESS")
+    private String process;
+
     /**
      * 工序显示名
      */
-    @TableField("PRODUCTPROCESSNAME")
-    private String productprocessname;
+    @TableField("PROCESSNAME")
+    private String processname;
+
     /**
-     * 前道工序作业
+     * 加工方式
      */
-    @TableField("PREVIOUSPROCESS")
-    private String previousprocess;
+    @TableField("PROCESSWAY")
+    private String processway;
+
     /**
-     * 后道工序作业
+     * 数量单位
      */
-    @TableField("NEXTPROCESS")
-    private String nextprocess;
+    @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("ISBLANKPROCESS")
-    private String isblankprocess;
+    @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("CHOOSEEQUIDS")
+    private String chooseequids;
+
     /**
      * 可选设备
      */
-    @TableField("CANCHOOSEDEVICE")
-    private String canchoosedevice;
+    @TableField("CHOOSEEQU")
+    private String chooseequ;
+
+    /**
+     * 坯料计划ID
+     */
+    @TableField("BLANKID")
+    private String blankid;
+
+    /**
+     * 输入物料ID
+     */
+    @TableField("PLANINPUTID")
+    private String planinputid;
+
     /**
      * 可选设备ID
      */
@@ -88,86 +276,238 @@ public class ApsProcessOperationDo extends BaseDo {
      */
     @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;
+
     /**
      * 加工车间
      */
     @TableField("PROCESSWORKSHOP")
     private String processworkshop;
+
+    /**
+     * 加工设备ID
+     */
+    @TableField("PROCESSDEVICEID")
+    private String processdeviceid;
+
     /**
      * 加工设备
      */
     @TableField("PROCESSDEVICE")
     private String processdevice;
+
     /**
      * 计划开工时间
      */
     @TableField("PLANSTARTDATE")
-    private Date planstartdate;
+    private LocalDateTime planstartdate;
+
+    /**
+     * 实际开工时间
+     */
+    @TableField("ACTUALSTARTDATE")
+    private LocalDateTime actualstartdate;
+
     /**
      * 计划完工时间
      */
     @TableField("PLANENDDATE")
-    private Date planenddate;
+    private LocalDateTime planenddate;
+
+    /**
+     * 实际完工时间
+     */
+    @TableField("ACTUALFINISHDATE")
+    private LocalDateTime actualfinishdate;
+
     /**
      * 实际可输入卷数
      */
     @TableField("ACTUALIMPUTROLL")
     private Integer actualimputroll;
+
     /**
      * 输入不合格卷数
      */
     @TableField("INPUTUNQUALIFIEDROLL")
     private Integer inputunqualifiedroll;
+
     /**
      * 实际可加工卷数
      */
     @TableField("ACTUALCANPROCESSROLL")
     private Integer actualcanprocessroll;
+
+    /**
+     * 完工状态
+     */
+    @TableField("CLOSESTATUS")
+    private String closestatus;
+
     /**
      * 已开工卷数
      */
     @TableField("STARTINGROLL")
     private Integer startingroll;
+
     /**
      * 已报工卷数
      */
     @TableField("REPORTROLL")
     private Integer reportroll;
+
     /**
      * 已检验卷数
      */
     @TableField("CHECKOUTROLL")
     private Integer checkoutroll;
+
     /**
      * 未完工卷数
      */
     @TableField("UNFINISHROLL")
     private Integer unfinishroll;
+
     /**
      * 作业状态
      */
     @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;
+
+    /**
+     * 计划单次加工时长
+     */
+    @TableField("PLANONCETIME")
+    private BigDecimal planoncetime;
+
+    /**
+     * 前道工序作业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;
 }

+ 298 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationOutMaterDo.java

@@ -0,0 +1,298 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+
+/**
+ * 生产订单_坯料计划_工序作业输出物料
+ * @TableName aps_process_operation_out_mater
+ */
+@TableName(value ="aps_process_operation_out_mater")
+@Data
+public class ApsProcessOperationOutMaterDo 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;
+
+    /**
+     * 工艺路线ID
+     */
+    private String craftrouteid;
+
+    /**
+     * 工艺步骤ID
+     */
+    private String craftstepid;
+
+    /**
+     * 物料编号
+     */
+    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;
+}

+ 405 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProductionOrderDo.java

@@ -0,0 +1,405 @@
+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
+ */
+@TableName(value = "aps_production_order")
+@Data
+public class ApsProductionOrderDo extends BaseDo implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    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;
+
+    /**
+     * 是否来自NC系统
+     */
+    private String isfromnc;
+
+    /**
+     * NC订单号
+     */
+    private String ncorderno;
+
+    /**
+     * NC订单类型
+     */
+    private String ncordertype;
+
+    /**
+     * NC订单状态
+     */
+    private String ncorderstatus;
+
+    /**
+     * 所属租户ID
+     */
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+
+    /**
+     * 排程交货日期
+     */
+    private Date scheduledeliverydate;
+
+    /**
+     * 实际交货日期
+     */
+    private Date actualdeliverydate;
+
+    /**
+     * 客户ID
+     */
+    private String customid;
+
+    /**
+     * 状态
+     */
+    private String status;
+
+    /**
+     * 流程ID
+     */
+    private String processinstid;
+
+    /**
+     * 客户仓库ID
+     */
+    private String customwarehouseid;
+
+    /**
+     * 坯料类型
+     */
+    private String blanktype;
+
+    /**
+     * 成分调整
+     */
+    private String compositionchange;
+
+    /**
+     * 调整方案
+     */
+    private String changeremark;
+
+    /**
+     * 坯料厚度(mm)
+     */
+    private BigDecimal 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 packagingmethod;
+
+    /**
+     * 标签
+     */
+    private String tag;
+
+    /**
+     * 表面要求
+     */
+    private String surfacerequirement;
+
+    /**
+     * 是否过拉矫
+     */
+    private String istensionlevelling;
+
+    /**
+     * 包装要求
+     */
+    private String packagingrequirement;
+
+    /**
+     * 表面硬度
+     */
+    private String surfacehardness;
+
+    /**
+     * 成品外径(mm)
+     */
+    private String nomod;
+
+    /**
+     * 卷重要求
+     */
+    private String rollweightrequirement;
+
+    /**
+     * 其他订单执行标准
+     */
+    private String otherorderstandard;
+
+    /**
+     * 技术评审人ID
+     */
+    private String technicalreviewerid;
+
+    /**
+     * 技术评审人名称
+     */
+    private String technicalreviewername;
+
+    /**
+     * 技术评审时间
+     */
+    private Date technicalreviewdate;
+
+    /**
+     * 质量评审人ID
+     */
+    private String qualityreviewerid;
+
+    /**
+     * 质量评审人名称
+     */
+    private String qualityreviewername;
+
+    /**
+     * 质量评审时间
+     */
+    private Date qualityreviewdate;
+
+    /**
+     * 审核人ID
+     */
+    private String reviewerid;
+
+    /**
+     * 审核人名称
+     */
+    private String reviewername;
+
+    /**
+     * 审核时间
+     */
+    private Date reviewdate;
+
+    /**
+     * 是否成熟工艺
+     */
+    private String idmatureprocess;
+
+    /**
+     * 其他注意事项
+     */
+    private String otherprecaution;
+
+    /**
+     * 最晚交货日期
+     */
+    private Date enddate;
+
+    /**
+     * 计划交货日期
+     */
+    private Date plandate;
+
+    /**
+     * 评审类型
+     */
+    private String reviewtype;
+
+    /**
+     * 排程状态
+     */
+    private String schedulstatus;
+
+    /**
+     * 调整日期
+     */
+    private Date changedate;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 145 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsReportOutputDo.java

@@ -0,0 +1,145 @@
+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_report_output
+ */
+@TableName(value = "aps_report_output")
+@Data
+public class ApsReportOutputDo extends BaseDo implements Serializable {
+    /**
+     * 主键ID
+     */
+    @TableId
+    private String id;
+
+    /**
+     *
+     */
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+
+    /**
+     * 主表id
+     */
+    private String mainid;
+
+    /**
+     * 输出物料id
+     */
+    private String outputid;
+
+    /**
+     * 输出物料规格
+     */
+    private String outputmaterial;
+
+    /**
+     * 输出物料批次号
+     */
+    private String outputnumber;
+
+    /**
+     * 二维码
+     */
+    private String qrcode;
+
+    /**
+     * 成分
+     */
+    private String componment;
+
+    /**
+     * 占比范围(起)
+     */
+    private String startrange;
+
+    /**
+     * 占比范围(止)
+     */
+    private String endrange;
+
+    /**
+     * 实际占比
+     */
+    private String actualrange;
+
+    /**
+     * 检验状态
+     */
+    private String checkstatus;
+
+    /**
+     * 实测厚度
+     */
+    private BigDecimal thickness;
+
+    /**
+     * 实测宽度
+     */
+    private BigDecimal width;
+
+    /**
+     * 实测长度
+     */
+    private BigDecimal length;
+
+    /**
+     * 实测卷重
+     */
+    private BigDecimal weight;
+
+    /**
+     * 检验等级
+     */
+    private String insepctionlevel;
+
+    /**
+     * 是否合格
+     */
+    private String qualified;
+
+    /**
+     * 主要缺陷
+     */
+    private String major;
+
+    /**
+     * 次要缺陷
+     */
+    private String minor;
+
+    /**
+     * 检验备注
+     */
+    private String checkremark;
+
+    /**
+     * 主要缺陷描述
+     */
+    private String majordesc;
+
+    /**
+     * 次要缺陷描述
+     */
+    private String minordesc;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 113 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsReportRecordsDo.java

@@ -0,0 +1,113 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+
+/**
+ * 报工记录
+ * @TableName aps_report_records
+ */
+@TableName(value ="aps_report_records")
+@Data
+public class ApsReportRecordsDo extends BaseDo implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private String id;
+
+    /**
+     * 所属租户ID
+     */
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+
+    /**
+     * 工序作业ID
+     */
+    private String processoperationid;
+
+    /**
+     * 批次号
+     */
+    private String batchnumber;
+
+    /**
+     * 实际输入物料
+     */
+    private String actualinputmaterial;
+
+    /**
+     * 主操作员ID
+     */
+    private String chiefoperatorid;
+
+    /**
+     * 主操作员名称
+     */
+    private String chiefoperatorname;
+
+    /**
+     * 开工时间
+     */
+    private Date startworktime;
+
+    /**
+     * 报工时间
+     */
+    private Date reportworktime;
+
+    /**
+     * 报工状态
+     */
+    private String reportworkstatus;
+
+    /**
+     * 检验状态
+     */
+    private String checkstatus;
+
+    /**
+     * 待检验料卷批次号
+     */
+    private String needcheckbatchnumber;
+
+    /**
+     * 检验员
+     */
+    private String checkid;
+
+    /**
+     * 检验时间
+     */
+    private Date checkdate;
+
+    /**
+     * 检验报告和附件
+     */
+    private String checkfile;
+
+    /**
+     * 坯料成分
+     */
+    private String ingredient;
+
+    /**
+     * 检验员姓名
+     */
+    private String checkusername;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 182 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsWorkInProgressInventory.java

@@ -0,0 +1,182 @@
+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.util.Date;
+
+/**
+ * 在制品库存表
+ * @TableName aps_work_in_progress_inventory
+ */
+@TableName(value ="aps_work_in_progress_inventory")
+@Data
+public class ApsWorkInProgressInventory extends BaseDo implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private String id;
+
+    /**
+     * 所属租户ID
+     */
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+    /**
+     * 是否删除
+     */
+    private String deleted;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 创建时间
+     */
+    private Date createdate;
+
+    /**
+     * 创建用户ID
+     */
+    private String createuserid;
+
+    /**
+     * 修改日期
+     */
+    private Date modifydate;
+
+    /**
+     * 修改用户ID
+     */
+    private String modifyuserid;
+
+    /**
+     * 创建人名称
+     */
+    private String createusername;
+
+    /**
+     * 修改人名称
+     */
+    private String modifyusername;
+
+    /**
+     * 坯料批次号
+     */
+    private String blankbatchnumber;
+
+    /**
+     * 坯料ID
+     */
+    private String blankid;
+
+    /**
+     * 坯料
+     */
+    private String blankname;
+
+    /**
+     * 工序作业ID
+     */
+    private String processoperationid;
+
+    /**
+     * 报工记录ID
+     */
+    private String workreportrecordid;
+
+    /**
+     * 作业输出物料ID
+     */
+    private String joboutputmaterialid;
+
+    /**
+     * 报工输出物料ID
+     */
+    private String reportoutputmaterialid;
+
+    /**
+     * 批次号
+     */
+    private String batchnumber;
+
+    /**
+     * 在制品
+     */
+    private String workinprocess;
+
+    /**
+     * 生产日期
+     */
+    private Date productdate;
+
+    /**
+     * 加工工厂
+     */
+    private String productfactory;
+
+    /**
+     * 加工车间
+     */
+    private String productworkshop;
+
+    /**
+     * 加工设备
+     */
+    private String productdevice;
+
+    /**
+     * 客户名称
+     */
+    private String customername;
+
+    /**
+     * 订单号
+     */
+    private String ordernumber;
+
+    /**
+     * 检验等级
+     */
+    private String inspectionlevel;
+
+    /**
+     * 是否合格
+     */
+    private String isqualified;
+
+    /**
+     * 在制品类型
+     */
+    private String workinprocesstype;
+
+    /**
+     * 在制品状态
+     */
+    private String workinprocessstatus;
+
+    /**
+     * 待加工工序作业ID
+     */
+    private String pendingprocessid;
+
+    /**
+     * 备料计划ID
+     */
+    private String planmaterialid;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 143 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsWorkInProgressInventoryDo.java

@@ -0,0 +1,143 @@
+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.util.Date;
+
+/**
+ * 在制品库存表
+ *
+ * @TableName aps_work_in_progress_inventory
+ */
+@TableName(value = "aps_work_in_progress_inventory")
+@Data
+public class ApsWorkInProgressInventoryDo extends BaseDo implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private String id;
+
+    /**
+     * 所属租户ID
+     */
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    private String roption;
+
+    /**
+     * 坯料批次号
+     */
+    private String blankbatchnumber;
+
+    /**
+     * 坯料ID
+     */
+    private String blankid;
+
+    /**
+     * 坯料
+     */
+    private String blankname;
+
+    /**
+     * 工序作业ID
+     */
+    private String processoperationid;
+
+    /**
+     * 报工记录ID
+     */
+    private String workreportrecordid;
+
+    /**
+     * 作业输出物料ID
+     */
+    private String joboutputmaterialid;
+
+    /**
+     * 报工输出物料ID
+     */
+    private String reportoutputmaterialid;
+
+    /**
+     * 批次号
+     */
+    private String batchnumber;
+
+    /**
+     * 在制品
+     */
+    private String workinprocess;
+
+    /**
+     * 生产日期
+     */
+    private Date productdate;
+
+    /**
+     * 加工工厂
+     */
+    private String productfactory;
+
+    /**
+     * 加工车间
+     */
+    private String productworkshop;
+
+    /**
+     * 加工设备
+     */
+    private String productdevice;
+
+    /**
+     * 客户名称
+     */
+    private String customername;
+
+    /**
+     * 订单号
+     */
+    private String ordernumber;
+
+    /**
+     * 检验等级
+     */
+    private String inspectionlevel;
+
+    /**
+     * 是否合格
+     */
+    private String isqualified;
+
+    /**
+     * 在制品类型
+     */
+    private String workinprocesstype;
+
+    /**
+     * 在制品状态
+     */
+    private String workinprocessstatus;
+
+    /**
+     * 待加工工序作业ID
+     */
+    private String pendingprocessid;
+
+    /**
+     * 备料计划ID
+     */
+    private String planmaterialid;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 13 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/PreviousProcessVo.java

@@ -0,0 +1,13 @@
+package com.rongwei.bsentity.vo;
+
+import com.rongwei.bsentity.domain.ApsProcessOperationOutMaterDo;
+import lombok.Data;
+
+@Data
+public class PreviousProcessVo {
+    private String processId;
+    private String processName;
+    private String previousstepid;
+    //工序输出
+    private ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo;
+}

+ 42 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/UpdateApsRouteAboutVo.java

@@ -0,0 +1,42 @@
+package com.rongwei.bsentity.vo;
+
+import com.rongwei.bsentity.domain.ApsCraftRouteStepDo;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * UpdateApsRouteAboutVo class
+ *
+ * @author XH
+ * @date 2024/03/13
+ */
+@Data
+public class UpdateApsRouteAboutVo extends ApsCraftRouteStepDo {
+    private String rowstatus;
+
+    /**
+     * 实际输出厚起
+     */
+    private BigDecimal actualoutputthickstr;
+    /**
+     * 实际输出厚止
+     */
+    private BigDecimal actualoutputthickend;
+    /**
+     * 实际输出宽起
+     */
+    private BigDecimal actualoutputwidthstr;
+    /**
+     * 实际输出宽止
+     */
+    private BigDecimal actualoutputwidthend;
+    /**
+     * 实际输出长起
+     */
+    private BigDecimal actualoutputlengthstr;
+    /**
+     * 实际输出长止
+     */
+    private BigDecimal actualoutputlengthend;
+}

+ 2 - 2
cx-aps/cx-aps-server/src/main/java/com/rongwei/BusinessServerApplication.java

@@ -12,10 +12,10 @@ import org.springframework.scheduling.annotation.EnableAsync;
 @EnableDiscoveryClient
 @EnableFeignClients
 @MapperScan("com.rongwei.*.*.dao")
-public class BusinessServerApplication {
+public class ApsBusinessServerApplication {
 
     public static void main(String[] args) {
-        SpringApplication.run(BusinessServerApplication.class, args);
+        SpringApplication.run(ApsBusinessServerApplication.class, args);
     }
 
 }

+ 41 - 0
cx-aps/cx-aps-server/src/main/java/com/rongwei/bsserver/controller/ApsProcessOperationController.java

@@ -1,9 +1,17 @@
 package com.rongwei.bsserver.controller;
 
 
+import com.rongwei.bscommon.sys.service.ApsProcessOperationService;
+import com.rongwei.rwcommon.base.R;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Map;
+
 /**
  * <p>
  * 生产订单_坯料计划_工序作业 前端控制器
@@ -12,9 +20,42 @@ import org.springframework.web.bind.annotation.RestController;
  * @author fpy
  * @since 2024-03-01
  */
+@Slf4j
 @RestController
 @RequestMapping("/apsProcessOperation")
 public class ApsProcessOperationController {
 
+    @Autowired
+    private ApsProcessOperationService apsProcessOperationService;
+
+    /*
+    选择工艺路线自动生成工序作业
+     */
+    @PostMapping("/chooseCraftRoute")
+    public R chooseCraftRoute(@RequestBody Map<String, Object> params) {
+        try {
+            log.info("选择工艺路线;参数为:{}", params);
+            R resData = apsProcessOperationService.resetCraftRoute(params);
+            return resData;
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.info("选择工艺路线异常:" + e.getMessage());
+            return R.error("选择工艺路线异常:" + e.getMessage());
+        }
+    }
+
+    /*
+    清除工艺路线
+     */
+    @PostMapping("/clearCraftRoute")
+    public void clearCraftRoute(@RequestBody Map<String, Object> params) {
+        try {
+            log.info("清除工艺路线;参数为:{}", params);
+            apsProcessOperationService.clearCraftRoute(params);
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.info("清除工艺路线异常:" + e.getMessage());
+        }
+    }
 }
 

+ 35 - 0
cx-aps/cx-aps-server/src/main/java/com/rongwei/bsserver/controller/ApsRouteController.java

@@ -0,0 +1,35 @@
+package com.rongwei.bsserver.controller;
+
+
+import com.rongwei.bscommon.sys.service.ApsCraftStepService;
+import com.rongwei.bsentity.vo.UpdateApsRouteAboutVo;
+import com.rongwei.rwcommon.base.R;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * @author xh
+ * @since 2024-03-13
+ */
+@RestController
+@RequestMapping("/route")
+public class ApsRouteController {
+
+    private final Logger log = LoggerFactory.getLogger(this.getClass().getName());
+
+    @Autowired
+    private ApsCraftStepService apsCraftStepService;
+
+    @PostMapping("/update/about/data")
+    public R update(@RequestBody List<UpdateApsRouteAboutVo> updateApsRouteAboutVos,
+                    @RequestParam(name = "routeId",required = true)String routeId) {
+        apsCraftStepService.updateApsRouteAboutVos(updateApsRouteAboutVos, routeId);
+        return R.ok();
+    }
+
+}
+

+ 38 - 0
cx-aps/cx-aps-server/src/main/java/com/rongwei/bsserver/controller/ReportCheckController.java

@@ -0,0 +1,38 @@
+package com.rongwei.bsserver.controller;
+
+import com.rongwei.bscommon.sys.service.impl.ReportCheckServiceImpl;
+import com.rongwei.rwcommon.base.R;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * ReportCheckController class
+ *
+ * @author XH
+ * @date 2024/03/19
+ */
+@RestController
+@RequestMapping("/report-check")
+public class ReportCheckController {
+    private final Logger log = LoggerFactory.getLogger(this.getClass().getName());
+
+    @Autowired
+    private ReportCheckServiceImpl reportCheckService;
+
+    /**
+     * 保存检验结果后更新相关信息
+     *
+     * @param reportCheckId
+     * @return
+     */
+    @PostMapping("/save/postposition")
+    public R updateRelevantInformation(@RequestParam(name = "reportCheckId", required = true) String reportCheckId) {
+        reportCheckService.updateRelevantInformation(reportCheckId);
+        return R.ok();
+    }
+}

+ 4 - 4
cx-aps/cx-aps-server/src/main/resources/bootstrap.yml

@@ -2,17 +2,17 @@ spring:
   profiles:
     active: dev
   application:
-    name: rw-business-server
+    name: aps-server
   jta:
     atomikos:
       properties:
-        log-base-name: rwbusinesslog
+        log-base-name: apslog
   servlet:
     multipart:
       max-file-size: 100MB
       max-request-size: 1000MB
 server:
-  port: 9689
+  port: 9688
 
 management:
   endpoints:
@@ -50,4 +50,4 @@ mybatis-plus:
     db-config:
       logic-delete-value: 1
       logic-not-delete-value: 0
-      column-like: true
+      column-like: true

+ 0 - 1
cx-safe-check/cx-save-check-common/src/main/java/com/rongwei/sfcommon/sys/service/impl/HiddenDangerTrackServiceImpl.java

@@ -56,7 +56,6 @@ public class HiddenDangerTrackServiceImpl extends ServiceImpl<HiddenDangerTrackD
     public IPage<HiddenDangerTrackVo> checkTaskList(QueryPar<Map<String,Object>> queryMap){
         // userid:当前登录用户ID  status:任务状态(10:已关闭;20:未关闭)
         Map<String,Object> map = queryMap.getParameter();
-        StringUtils
         return hiddenDangerTrackDao.checkTaskList(queryMap.getPage(),map.get("userid").toString(), map.get("status").toString());
     }