Просмотр исходного кода

生产任务:增加工序结存。详见正文

yzc 1 год назад
Родитель
Сommit
ba369cabb7

+ 5 - 0
hx-mes/src/main/java/com/fjhx/mes/entity/production/po/ProductionTaskProgress.java

@@ -35,4 +35,9 @@ public class ProductionTaskProgress extends BasePo {
      */
     private BigDecimal finishQuantity;
 
+    /**
+     * 结存数量
+     */
+    private BigDecimal balanceQuantity;
+
 }

+ 5 - 0
hx-mes/src/main/java/com/fjhx/mes/entity/production/vo/ProductionProcessesVo.java

@@ -19,4 +19,9 @@ public class ProductionProcessesVo extends ProductionProcesses {
      */
     private Long productId;
 
+    /**
+     * 源工序id
+     */
+    private Long sourceProcessesId;
+
 }

+ 7 - 0
hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProduceOrderServiceImpl.java

@@ -440,6 +440,13 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
                 prodTaskProgress.setTaskId(productionOrderDetail.getId());
                 prodTaskProgress.setProcessesId(productionProcessesVo.getId());
                 prodTaskProgress.setFinishQuantity(BigDecimal.ZERO);
+
+                //如果是第一道工序,结存数量直接等于任务数量
+                prodTaskProgress.setBalanceQuantity(BigDecimal.ZERO);
+                if (ObjectUtil.equals(productionProcessesVo.getSourceProcessesId(), 1L)) {
+                    prodTaskProgress.setBalanceQuantity(productionOrderDetail.getQuantity());
+                }
+
                 productionTaskProgressList.add(prodTaskProgress);
             }
         }

+ 17 - 0
hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProductionReportingServiceImpl.java

@@ -155,6 +155,7 @@ public class ProductionReportingServiceImpl extends ServiceImpl<ProductionReport
                 .eq(ProductionTaskProgress::getTaskId, productionTaskId)
                 .eq(ProductionTaskProgress::getProcessesId, productionProcessesId)
                 .setSql("finish_quantity = finish_quantity + " + dto.getQuantity())
+                .setSql("balance_quantity = balance_quantity - " + dto.getQuantity())
                 .set(BasePo::getUpdateTime, newDateTime)
                 .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
         );
@@ -165,6 +166,22 @@ public class ProductionReportingServiceImpl extends ServiceImpl<ProductionReport
         ProductInfo productInfo = productInfoService.getById(productionOrderDetail.getProductId());
         Assert.notEmpty(productInfo, "查询不到生产产品信息!");
         Long technologyId = productInfo.getTechnologyId();
+
+        //更新下一工序结存数量
+        List<Long> nextProcessIds = technologyProcessLineService.listObject(TechnologyProcessLine::getTargetProcessesId, q -> q
+                .eq(TechnologyProcessLine::getTechnologyId, technologyId)
+                .eq(TechnologyProcessLine::getSourceProcessesId, productionProcessesId)
+                .ne(TechnologyProcessLine::getTargetProcessesId, 99)
+        );
+        productionTaskProgressService.update(q -> q
+                .eq(ProductionTaskProgress::getTaskId, productionTaskId)
+                .in(ProductionTaskProgress::getProcessesId, nextProcessIds)
+                .setSql("balance_quantity = balance_quantity + " + dto.getQuantity())
+                .set(BasePo::getUpdateTime, newDateTime)
+                .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
+        );
+
+
         //判断报工工序是不是最后一道工序,是增加完工数量
         long count = technologyProcessLineService.count(q -> q
                 .eq(TechnologyProcessLine::getTechnologyId, technologyId)

+ 2 - 1
hx-mes/src/main/resources/mapper/production/ProductionProcessesMapper.xml

@@ -26,7 +26,8 @@
     <select id="getProcessesByProductId" resultType="com.fjhx.mes.entity.production.vo.ProductionProcessesVo">
         SELECT pp.id,
                pp.`name`,
-               pi.id as productId
+               pi.id as productId,
+               tpl.source_processes_id
         FROM production_processes pp
                  JOIN technology_process_line tpl ON tpl.source_processes_id = pp.id
                  JOIN product_info pi ON pi.technology_id = tpl.technology_id

+ 2 - 1
hx-mes/src/main/resources/mapper/production/ProductionTaskProgressMapper.xml

@@ -7,7 +7,8 @@
                ptp.task_id,
                ptp.processes_id,
                pp.`name` AS progressName,
-               ptp.finish_quantity
+               ptp.finish_quantity,
+               ptp.balance_quantity
         FROM production_task_progress ptp
                  LEFT JOIN production_processes pp ON ptp.processes_id = pp.id
             ${ew.customSqlSegment}