浏览代码

任务名称:调仓bug —— 后端研发 - 完成
————————————————————
任务名称:生产计划 - 生产计划页面功能开发 —— 后端研发 - 完成
————————————————————
任务名称:生产计划 - 生产任务页面功能开发 —— 后端研发 - 完成
————————————————————
任务名称:生产管理 - 生产报工页面功能开发 —— 后端研发 - 完成
————————————————————

yzc 2 年之前
父节点
当前提交
a028ab78b8

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

@@ -25,6 +25,11 @@ public class ProductionPlan extends BasePo {
     private Long workOrderId;
 
     /**
+     * 计划编码
+     */
+    private String code;
+
+    /**
      * 计划开始时间
      */
     private Date startDate;

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

@@ -4,6 +4,8 @@ import com.fjhx.mes.entity.production.po.ProductionPlan;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
+
 /**
  * 生产计划列表查询返回值实体
  *
@@ -17,4 +19,7 @@ public class ProductionPlanVo extends ProductionPlan {
     /**产品名称*/
     private String productName;
 
+    /**生产任务列表*/
+    private List<ProductionTaskVo> productionTaskList;
+
 }

+ 24 - 0
hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProductionPlanServiceImpl.java

@@ -4,11 +4,16 @@ import cn.hutool.core.util.ObjectUtil;
 import com.fjhx.item.entity.product.po.ProductInfo;
 import com.fjhx.item.service.product.ProductInfoService;
 import com.fjhx.mes.entity.production.po.ProductionPlan;
+import com.fjhx.mes.entity.production.po.ProductionTask;
+import com.fjhx.mes.entity.production.vo.ProductionTaskVo;
 import com.fjhx.mes.entity.work.po.WorkOrder;
 import com.fjhx.mes.mapper.production.ProductionPlanMapper;
 import com.fjhx.mes.service.production.ProductionPlanService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.mes.service.production.ProductionTaskService;
 import com.fjhx.mes.service.work.WorkOrderService;
+import com.fjhx.mes.utils.code.CodeEnum;
+import com.ruoyi.system.utils.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -21,6 +26,7 @@ import cn.hutool.core.bean.BeanUtil;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 
 /**
@@ -38,11 +44,18 @@ public class ProductionPlanServiceImpl extends ServiceImpl<ProductionPlanMapper,
     WorkOrderService workOrderService;
     @Autowired
     ProductInfoService productInfoService;
+    @Autowired
+    ProductionTaskService productionTaskService;
 
     @Override
     public Page<ProductionPlanVo> getPage(ProductionPlanSelectDto dto) {
         IWrapper<ProductionPlan> wrapper = getWrapper();
         wrapper.orderByDesc("pp", ProductionPlan::getId);
+        wrapper.like(ProductionPlan::getStartDate,dto.getKeyword());
+        wrapper.or();
+        wrapper.like(ProductionPlan::getStopDate,dto.getKeyword());
+        wrapper.or();
+        wrapper.like(ProductionPlan::getQuantity,dto.getKeyword());
         Page<ProductionPlanVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<ProductionPlanVo> records = page.getRecords();
 
@@ -70,12 +83,23 @@ public class ProductionPlanServiceImpl extends ServiceImpl<ProductionPlanMapper,
     public ProductionPlanVo detail(Long id) {
         ProductionPlan ProductionPlan = this.getById(id);
         ProductionPlanVo result = BeanUtil.toBean(ProductionPlan, ProductionPlanVo.class);
+        //赋值产品信息
+        WorkOrder workOrder = workOrderService.getById(result.getWorkOrderId());
+        ProductInfo productInfo = productInfoService.getById(workOrder.getProductId());
+        result.setProductName(productInfo.getName());
+        //赋值生产任务列表
+        List<ProductionTask> list = productionTaskService.list(q -> q.eq(ProductionTask::getProductionPlanId, id));
+        List<ProductionTaskVo> productionTaskVos = BeanUtil.copyToList(list, ProductionTaskVo.class);
+        //赋值负责人名字
+        UserUtil.assignmentNickName(productionTaskVos,ProductionTask::getPersonLiableId,ProductionTaskVo::setPersonLiableName);
+        result.setProductionTaskList(productionTaskVos);
         return result;
     }
 
     @Override
     public void add(ProductionPlanDto productionPlanDto) {
         productionPlanDto.setStatus(0);
+        productionPlanDto.setCode(CodeEnum.PRODUCTION_PLAN.getCode());
         this.save(productionPlanDto);
     }
 

+ 4 - 2
hx-mes/src/main/java/com/fjhx/mes/service/technology/impl/TechnologyServiceImpl.java

@@ -86,8 +86,10 @@ public class TechnologyServiceImpl extends ServiceImpl<TechnologyMapper, Technol
         List<String> processRouteIdList = new ArrayList<>();
         List<String> processRoutes = records.stream().map(TechnologyVo::getProcessRoute).collect(Collectors.toList());
         for (String processRoute : processRoutes){
-            List<String> processRouteIds = Arrays.asList(processRoute.split(","));
-            processRouteIdList.addAll(processRouteIds);
+            if(ObjectUtil.isNotEmpty(processRoute)) {
+                List<String> processRouteIds = Arrays.asList(processRoute.split(","));
+                processRouteIdList.addAll(processRouteIds);
+            }
         }
         if(ObjectUtil.isNotEmpty(processRouteIdList)) {
             //查出所有工序信息

+ 7 - 1
hx-mes/src/main/java/com/fjhx/mes/service/work/impl/WorkOrderServiceImpl.java

@@ -21,6 +21,7 @@ import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -47,6 +48,7 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
         IWrapper<WorkOrder> wrapper = getWrapper();
         wrapper.orderByDesc("wo", WorkOrder::getId);
         wrapper.like("wo",WorkOrder::getCode,dto.getKeyword());
+        wrapper.or();
         wrapper.like("wo",WorkOrder::getQuantity,dto.getKeyword());
         Page<WorkOrderVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         List<WorkOrderVo> records = page.getRecords();
@@ -70,13 +72,17 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
         WorkOrderVo result = BeanUtil.toBean(WorkOrder, WorkOrderVo.class);
         List<ProductionPlan> list = productionPlanService.list(q -> q.eq(ProductionPlan::getWorkOrderId, id));
         result.setProductionPlans(list);
+        ProductInfo productInfo = productInfoService.getById(result.getProductId());
+        if(ObjectUtil.isNotEmpty(productInfo)){
+            result.setProductName(productInfo.getName());
+        }
         return result;
     }
 
     @Override
     public void add(WorkOrderDto workOrderDto) {
         //生成工单编号,以及设置默认状态
-        workOrderDto.setCode(CodeEnum.SUPPLIER.getCode());
+        workOrderDto.setCode(CodeEnum.WORK_ORDER.getCode());
         workOrderDto.setStatus(0);
         this.save(workOrderDto);
     }

+ 3 - 1
hx-mes/src/main/java/com/fjhx/mes/utils/code/CodeEnum.java

@@ -18,7 +18,9 @@ import java.util.Map;
 public enum CodeEnum {
 
     // 供应商
-    SUPPLIER("WO", "yyMM-", "code", 3, WorkOrderService.class),
+    WORK_ORDER("WO", "yyMM-", "code", 3, WorkOrderService.class),
+    PRODUCTION_PLAN("WP", "yyMM-", "code", 3, WorkOrderService.class),
+    PRODUCTION_TASK("WT", "yyMM-", "code", 3, WorkOrderService.class),
     ;
 
     CodeEnum(String prefix, String dateFormat, String codeFieldName, Integer length, Class<? extends IService<?>> serviceCls) {