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

未同意开工,禁止:排程,领料出库,报工

yzc 10 месяцев назад
Родитель
Сommit
cc6f5be24b

+ 8 - 0
hx-mes/src/main/java/com/fjhx/mes/service/WmsServiceImpl.java

@@ -121,4 +121,12 @@ public class WmsServiceImpl implements WmsService {
             log.error("自动出货出错:" + e.getMessage());
         }
     }
+
+    /**
+     * 检查订单是否同意开工
+     */
+    @Override
+    public void beginWorkCheck(Long taskId) {
+        produceOrderDetailService.beginWorkCheck(taskId);
+    }
 }

+ 2 - 0
hx-mes/src/main/java/com/fjhx/mes/service/production/ProduceOrderDetailService.java

@@ -72,6 +72,8 @@ public interface ProduceOrderDetailService extends BaseService<ProductionOrderDe
      */
     void editBeginWork(ProductionOrderDetailDto dto);
 
+    void beginWorkCheck(Long taskId);
+
     /**
      * 导出Excel
      */

+ 11 - 0
hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProduceOrderDetailServiceImpl.java

@@ -529,6 +529,17 @@ public class ProduceOrderDetailServiceImpl extends ServiceImpl<ProduceOrderDetai
     }
 
     @Override
+    public void beginWorkCheck(Long taskId) {
+        ProductionOrderDetail taskById = this.getById(taskId);
+        Assert.notEmpty(taskById, "查询不到任务信息");
+        ProductionOrder orderById = produceOrderService.getById(taskById.getProduceOrderId());
+        Assert.notEmpty(orderById, "查询不到订单信息");
+        if (ObjectUtil.notEqual(orderById.getIsAgreeWork(), 1)) {
+            throw new ServiceException("订单开工确认未通过,禁止排程!");
+        }
+    }
+
+    @Override
     public void exportExcel(ProduceOrderDetailSelectDto dto, HttpServletResponse response) {
         dto.setPageSize(9999);
         List<ProductionOrderDetailVo> records = getPage(dto).getRecords();

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

@@ -164,6 +164,9 @@ public class ProductionReportingServiceImpl extends ServiceImpl<ProductionReport
         Assert.notEmpty(productionProcessesId, "生产工序id不能为空!");
         Assert.notEmpty(reportingQuantity, "报工数量不能为空!");
 
+        //检查是否同意开工
+        produceOrderDetailService.beginWorkCheck(productionTaskId);
+
         //赋值归属公司
         Long companyId = SecurityUtils.getCompanyId();
         dto.setCompanyId(companyId);

+ 4 - 1
hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProductionSchedulingServiceImpl.java

@@ -173,6 +173,9 @@ public class ProductionSchedulingServiceImpl extends ServiceImpl<ProductionSched
         Assert.notEmpty(dto.getSchedulingDate(), "排程日期不能为空");
         Assert.notEmpty(dto.getQuantity(), "排程数量不能为空");
 
+        //检查是否同意开工
+        produceOrderDetailService.beginWorkCheck(dto.getTaskId());
+
 
         dto.setCompanyId(SecurityUtils.getCompanyId());
 
@@ -193,7 +196,7 @@ public class ProductionSchedulingServiceImpl extends ServiceImpl<ProductionSched
 
         //排程数校验
         ProductionOrderDetail taskById = produceOrderDetailService.getById(dto.getTaskId());
-        Assert.notEmpty(taskById, "查询不到排程信息");
+        Assert.notEmpty(taskById, "查询不到任务信息");
         List<ProductionScheduling> psList = this.list(q -> q.eq(ProductionScheduling::getTaskId, dto.getTaskId()).eq(ProductionScheduling::getProcessesId, dto.getProcessesId()));
         BigDecimal reduce = BigDecimal.valueOf(psList.stream().map(ProductionScheduling::getQuantity).reduce(Integer::sum).orElse(0));
         if (reduce.compareTo(taskById.getQuantity()) > 0) {

+ 1 - 1
hx-wms/src/main/java/com/fjhx/wms/entity/stock/emums/JournalType.java

@@ -27,7 +27,7 @@ public enum JournalType {
     PURCHASE_RETURN_OUT(InOutType.OUT, 6, "采购退货", ""),//待出库-采购退货
     TRANSFER_OUT(InOutType.OUT, 7, "调拨出库", ""),//调仓
     STOCK_CHECK_OUT(InOutType.OUT, 8, "盘亏出库", ""),//库存盘点
-    PROD_OUT(InOutType.OUT, 9, "生产出库", ""),//待出库-生产出库
+    PROD_OUT(InOutType.OUT, 9, "生产领料", ""),//待出库-生产出库
     OTHER_OUT(InOutType.OUT, 10, "其他出库", ""),//手动出库-其他
 
 

+ 2 - 0
hx-wms/src/main/java/com/fjhx/wms/service/WmsService.java

@@ -12,4 +12,6 @@ public interface WmsService {
      * 完工入库调用销售出库
      */
     void saleOutboundByOrderId(Long orderId);
+
+    void beginWorkCheck(Long taskId);
 }

+ 5 - 0
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java

@@ -304,6 +304,11 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
         if (Objects.equals(JournalType.COMPLETION_IN, JournalType.getByDetailType(stockWait.getBusinessType()))) {
             wmsService.saleOutboundByOrderId(stockWait.getProdOrderId());
         }
+
+        //如果是生产领料
+        if (Objects.equals(JournalType.PROD_OUT, JournalType.getByDetailType(stockWait.getBusinessType()))) {
+            wmsService.beginWorkCheck(stockWait.getProdTaskId());
+        }
     }
 
     @Override