فهرست منبع

添加自动生成生产任务进度

yzc 1 سال پیش
والد
کامیت
23054231b3

+ 20 - 0
hx-mes/src/main/java/com/fjhx/mes/controller/production/ProductionTaskProgressController.java

@@ -0,0 +1,20 @@
+package com.fjhx.mes.controller.production;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * <p>
+ * 生产任务进度 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2024-01-15
+ */
+@RestController
+@RequestMapping("/productionTaskProgress")
+public class ProductionTaskProgressController {
+
+
+}

+ 17 - 0
hx-mes/src/main/java/com/fjhx/mes/entity/production/dto/ProductionTaskProgressDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.mes.entity.production.dto;
+
+import com.fjhx.mes.entity.production.po.ProductionTaskProgress;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 生产任务进度新增编辑入参实体
+ *
+ * @author
+ * @since 2024-01-15
+ */
+@Getter
+@Setter
+public class ProductionTaskProgressDto extends ProductionTaskProgress {
+
+}

+ 17 - 0
hx-mes/src/main/java/com/fjhx/mes/entity/production/dto/ProductionTaskProgressSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.mes.entity.production.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 生产任务进度列表查询入参实体
+ *
+ * @author
+ * @since 2024-01-15
+ */
+@Getter
+@Setter
+public class ProductionTaskProgressSelectDto extends BaseSelectDto {
+
+}

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

@@ -0,0 +1,38 @@
+package com.fjhx.mes.entity.production.po;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.math.BigDecimal;
+
+/**
+ * <p>
+ * 生产任务进度
+ * </p>
+ *
+ * @author
+ * @since 2024-01-15
+ */
+@Getter
+@Setter
+@TableName("production_task_progress")
+public class ProductionTaskProgress extends BasePo {
+
+    /**
+     * 任务id
+     */
+    private Long taskId;
+
+    /**
+     * 工序id
+     */
+    private Long processesId;
+
+    /**
+     * 完成数量
+     */
+    private BigDecimal finishQuantity;
+
+}

+ 17 - 0
hx-mes/src/main/java/com/fjhx/mes/entity/production/vo/ProductionTaskProgressVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.mes.entity.production.vo;
+
+import com.fjhx.mes.entity.production.po.ProductionTaskProgress;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 生产任务进度列表查询返回值实体
+ *
+ * @author
+ * @since 2024-01-15
+ */
+@Getter
+@Setter
+public class ProductionTaskProgressVo extends ProductionTaskProgress {
+
+}

+ 17 - 0
hx-mes/src/main/java/com/fjhx/mes/mapper/production/ProductionTaskProgressMapper.java

@@ -0,0 +1,17 @@
+package com.fjhx.mes.mapper.production;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fjhx.mes.entity.production.po.ProductionTaskProgress;
+
+
+/**
+ * <p>
+ * 生产任务进度 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2024-01-15
+ */
+public interface ProductionTaskProgressMapper extends BaseMapper<ProductionTaskProgress> {
+
+}

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

@@ -0,0 +1,17 @@
+package com.fjhx.mes.service.production;
+
+import com.fjhx.mes.entity.production.po.ProductionTaskProgress;
+import com.ruoyi.common.core.service.BaseService;
+
+
+/**
+ * <p>
+ * 生产任务进度 服务类
+ * </p>
+ *
+ * @author
+ * @since 2024-01-15
+ */
+public interface ProductionTaskProgressService extends BaseService<ProductionTaskProgress> {
+
+}

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

@@ -15,13 +15,17 @@ import com.fjhx.mes.entity.production.dto.ProduceOrderSelectDto;
 import com.fjhx.mes.entity.production.dto.ProductionOrderDto;
 import com.fjhx.mes.entity.production.po.ProductionOrder;
 import com.fjhx.mes.entity.production.po.ProductionOrderDetail;
+import com.fjhx.mes.entity.production.po.ProductionTaskProgress;
 import com.fjhx.mes.entity.production.vo.ProductionOrderDetailVo;
 import com.fjhx.mes.entity.production.vo.ProductionOrderVo;
+import com.fjhx.mes.entity.production.vo.ProductionProcessesVo;
 import com.fjhx.mes.entity.work.po.WorkOrder;
 import com.fjhx.mes.mapper.production.ProduceOrderMapper;
+import com.fjhx.mes.mapper.production.ProductionProcessesMapper;
 import com.fjhx.mes.service.material.MaterialPreparationService;
 import com.fjhx.mes.service.production.ProduceOrderDetailService;
 import com.fjhx.mes.service.production.ProduceOrderService;
+import com.fjhx.mes.service.production.ProductionTaskProgressService;
 import com.fjhx.mes.service.work.WorkOrderService;
 import com.fjhx.sale.entity.contract.po.Contract;
 import com.fjhx.sale.entity.contract.po.ContractProduct;
@@ -67,6 +71,10 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
     private ProductBomDetailService productBomDetailService;
     @Autowired
     private MaterialPreparationService materialPreparationService;
+    @Autowired
+    private ProductionProcessesMapper productionProcessesMapper;
+    @Autowired
+    private ProductionTaskProgressService productionTaskProgressService;
 
     @Override
     public Page<ProductionOrderVo> getPage(ProduceOrderSelectDto dto) {
@@ -159,14 +167,7 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
             ProductInfo productInfo = productInfoMap.get(productId);
             Assert.notEmpty(productInfo, "查询不到产品信息");
 
-//            //创建原材料
-//            ProductBomDetail productBomDetail = new ProductBomDetail();
-//            productBomDetail.setProductId(productInfo.getId());
-//            productBomDetail.setMaterialId(productInfo.getRawMaterialId());
-//            productBomDetail.setQuantity(BigDecimal.ONE);
             List<ProductBomDetail> productBomDetailList = productBomDetailMap.get(productId);
-//            productBomDetailList.add(productBomDetail);
-
             List<MaterialPreparation> materialPreparationList = new ArrayList<>();
             for (ProductBomDetail bomDetail : productBomDetailList) {
                 BigDecimal multiply = bomDetail.getQuantity().multiply(contractProduct.getQuantity());
@@ -203,6 +204,22 @@ public class ProduceOrderServiceImpl extends ServiceImpl<ProduceOrderMapper, Pro
             }
         }
         workOrderService.saveBatch(workOrderList);
+
+        //生成生产任务进度
+        List<ProductionTaskProgress> productionTaskProgressList = new ArrayList<>();
+        List<ProductionProcessesVo> processes = productionProcessesMapper.getProcessesByProductId(IWrapper.getWrapper().in("pi.id", productIds));
+        Map<Long, List<ProductionProcessesVo>> processesMap = processes.stream().collect(Collectors.groupingBy(ProductionProcessesVo::getProductId));
+        for (ProductionOrderDetail productionOrderDetail : productionOrderDetailList) {
+            List<ProductionProcessesVo> productionProcessesVos = processesMap.get(productionOrderDetail.getProductId());
+            for (ProductionProcessesVo productionProcessesVo : productionProcessesVos) {
+                ProductionTaskProgress prodTaskProgress = new ProductionTaskProgress();
+                prodTaskProgress.setTaskId(productionOrderDetail.getId());
+                prodTaskProgress.setProcessesId(productionProcessesVo.getId());
+                prodTaskProgress.setFinishQuantity(BigDecimal.ZERO);
+                productionTaskProgressList.add(prodTaskProgress);
+            }
+        }
+        productionTaskProgressService.saveBatch(productionTaskProgressList);
     }
 
 }

+ 21 - 0
hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProductionTaskProgressServiceImpl.java

@@ -0,0 +1,21 @@
+package com.fjhx.mes.service.production.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.mes.entity.production.po.ProductionTaskProgress;
+import com.fjhx.mes.mapper.production.ProductionTaskProgressMapper;
+import com.fjhx.mes.service.production.ProductionTaskProgressService;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * <p>
+ * 生产任务进度 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2024-01-15
+ */
+@Service
+public class ProductionTaskProgressServiceImpl extends ServiceImpl<ProductionTaskProgressMapper, ProductionTaskProgress> implements ProductionTaskProgressService {
+
+}

+ 4 - 0
hx-mes/src/main/resources/mapper/production/ProductionTaskProgressMapper.xml

@@ -0,0 +1,4 @@
+<?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.fjhx.mes.mapper.production.ProductionTaskProgressMapper">
+</mapper>