From 0a44f2ea664d893503246a232646f2593a738460 Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期五, 01 九月 2023 17:07:37 +0800
Subject: [PATCH] MOM系统-9-01 生产订单 生产计划完成

---
 system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java                               |   17 --------
 production-server/src/main/java/com/yuanchu/mom/controller/ProductionPlanController.java             |   10 +++-
 production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderProcessServiceImpl.java |   35 +++++++++++++++++
 production-server/src/main/java/com/yuanchu/mom/service/ManualTechnologyService.java                 |    7 ---
 production-server/src/main/java/com/yuanchu/mom/service/impl/ManualTechnologyServiceImpl.java        |   22 ----------
 production-server/src/main/resources/mapper/ManufactureSchedulingMapper.xml                          |    2 
 production-server/src/main/java/com/yuanchu/mom/service/ManufactureOrderProcessService.java          |    7 +++
 7 files changed, 52 insertions(+), 48 deletions(-)

diff --git a/production-server/src/main/java/com/yuanchu/mom/controller/ProductionPlanController.java b/production-server/src/main/java/com/yuanchu/mom/controller/ProductionPlanController.java
index ea39bc1..00b2450 100644
--- a/production-server/src/main/java/com/yuanchu/mom/controller/ProductionPlanController.java
+++ b/production-server/src/main/java/com/yuanchu/mom/controller/ProductionPlanController.java
@@ -1,6 +1,7 @@
 package com.yuanchu.mom.controller;
 
 import com.yuanchu.mom.service.ManualTechnologyService;
+import com.yuanchu.mom.service.ManufactureOrderProcessService;
 import com.yuanchu.mom.service.ManufactureOrderService;
 import com.yuanchu.mom.service.ManufactureSchedulingService;
 import com.yuanchu.mom.vo.Result;
@@ -27,6 +28,8 @@
     @Autowired
     private ManufactureSchedulingService manufactureSchedulingService;
 
+    @Autowired
+    private ManufactureOrderProcessService manufactureOrderProcessService;
 
     @ApiOperation(value = "浜岀骇鏍�")
     @GetMapping("/tow_tree")
@@ -60,11 +63,12 @@
     @ApiOperation(value = "鏌ョ湅鎺掍骇璇︽儏-->澶辩劍淇敼鏃堕棿")
     @ApiImplicitParams(value = {
             @ApiImplicitParam(name = "technologyId", value = "宸ュ簭Id", dataTypeClass = Integer.class, required = true),
-            @ApiImplicitParam(name = "startTime", value = "寮�濮嬫椂闂�", dataTypeClass = String.class, required = true, dataType = "date"),
+            @ApiImplicitParam(name = "schedulingId", value = "鎺掍骇Id", dataTypeClass = Integer.class, required = true),
+            @ApiImplicitParam(name = "startTime", value = "寮�濮嬫椂闂�", dataTypeClass = String.class, required = true, dataType = "date")
     })
     @GetMapping("/update_time")
-    public Result<?> updateTime(Integer technologyId, String startTime) {
-        Integer isUpdateSuccess = manualTechnologyService.updateTime(technologyId, startTime);
+    public Result<?> updateTime(Integer technologyId, Integer schedulingId, String startTime) {
+        Integer isUpdateSuccess = manufactureOrderProcessService.updateTime(technologyId, schedulingId, startTime);
         if (isUpdateSuccess >= 1) {
             return Result.success("鏇存柊鎴愬姛锛�");
         }
diff --git a/production-server/src/main/java/com/yuanchu/mom/service/ManualTechnologyService.java b/production-server/src/main/java/com/yuanchu/mom/service/ManualTechnologyService.java
index d4af76f..a1fcd46 100644
--- a/production-server/src/main/java/com/yuanchu/mom/service/ManualTechnologyService.java
+++ b/production-server/src/main/java/com/yuanchu/mom/service/ManualTechnologyService.java
@@ -28,12 +28,5 @@
      * 鎺掍骇==>鏇存柊
      */
     void output(ManualTechnologyDto manualTechnologyDto) throws ParseException;
-
-    /**
-     * 鏌ョ湅鎺掍骇璇︽儏-->澶辩劍淇敼鏃堕棿
-     * @param startTime 寮�濮嬫椂闂�
-     * @return
-     */
-    Integer updateTime(Integer technologyId, String startTime);
 }
 
diff --git a/production-server/src/main/java/com/yuanchu/mom/service/ManufactureOrderProcessService.java b/production-server/src/main/java/com/yuanchu/mom/service/ManufactureOrderProcessService.java
index 47fbb53..6481410 100644
--- a/production-server/src/main/java/com/yuanchu/mom/service/ManufactureOrderProcessService.java
+++ b/production-server/src/main/java/com/yuanchu/mom/service/ManufactureOrderProcessService.java
@@ -16,4 +16,11 @@
 public interface ManufactureOrderProcessService extends IService<ManufactureOrderProcess> {
 
     void batchInsert(List<ManufactureOrderProcess> manufactureOrderProcessesDate);
+
+    /**
+     * 鏌ョ湅鎺掍骇璇︽儏-->澶辩劍淇敼鏃堕棿
+     * @param startTime 寮�濮嬫椂闂�
+     * @return
+     */
+    Integer updateTime(Integer technologyId, Integer schedulingId, String startTime);
 }
diff --git a/production-server/src/main/java/com/yuanchu/mom/service/impl/ManualTechnologyServiceImpl.java b/production-server/src/main/java/com/yuanchu/mom/service/impl/ManualTechnologyServiceImpl.java
index a3ce511..82e3bdf 100644
--- a/production-server/src/main/java/com/yuanchu/mom/service/impl/ManualTechnologyServiceImpl.java
+++ b/production-server/src/main/java/com/yuanchu/mom/service/impl/ManualTechnologyServiceImpl.java
@@ -1,13 +1,11 @@
 package com.yuanchu.mom.service.impl;
 
 import cn.hutool.core.date.DateTime;
-import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.yuanchu.mom.mapper.DeviceMapper;
 import com.yuanchu.mom.mapper.ManualTechnologyMapper;
 import com.yuanchu.mom.mapper.ManufactureOrderMapper;
 import com.yuanchu.mom.pojo.*;
@@ -16,7 +14,6 @@
 import com.yuanchu.mom.service.ManualTechnologyService;
 import com.yuanchu.mom.service.ManufactureOrderProcessService;
 import com.yuanchu.mom.service.ManufactureSchedulingService;
-import com.yuanchu.mom.service.TechnologyService;
 import com.yuanchu.mom.utils.MyUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -27,7 +24,6 @@
 import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.time.LocalDate;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -45,9 +41,6 @@
 
     @Resource
     ManufactureOrderMapper manufactureOrderMapper;
-
-    @Autowired
-    private TechnologyService technologyService;
 
     @Autowired
     private ManufactureSchedulingService manufactureSchedulingService;
@@ -97,19 +90,6 @@
 
         // 鏇存柊璁㈠崟鐨勫凡鎺掍骇鏁伴噺
         manufactureOrderMapper.updateManufacture(manualTechnologyDto.getManOrdId(), manualTechnologyDto.getSchedulingNumber());
-    }
-
-    @Override
-    public Integer updateTime(Integer technologyId, String startTime) {
-//        // Hutool 宸ュ叿绫昏绠楅棿闅斿皬鏃�
-//        DateTime startTime1 = DateUtil.parse(startTime);
-//        DateTime endTime1 = DateUtil.parse(endTime);
-//        long between = DateUtil.between(startTime1, endTime1, DateUnit.HOUR);
-//        // 鏇存柊
-//        LambdaUpdateWrapper<ManualTechnology> updateWrapper = Wrappers.<ManualTechnology>lambdaUpdate()
-//                .eq(ManualTechnology::getId, technologyId);
-//        return manualTechnologyMapper.update(new ManualTechnology(), updateWrapper);
-        return null;
     }
 
     // 鏍规嵁鎺掍骇鏁伴噺璁$畻宸ヨ壓鍛ㄦ湡
diff --git a/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderProcessServiceImpl.java b/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderProcessServiceImpl.java
index cac0cbb..a74f557 100644
--- a/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderProcessServiceImpl.java
+++ b/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderProcessServiceImpl.java
@@ -1,13 +1,19 @@
 package com.yuanchu.mom.service.impl;
 
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.yuanchu.mom.pojo.ManufactureOrderProcess;
 import com.yuanchu.mom.mapper.ManufactureOrderProcessMapper;
 import com.yuanchu.mom.service.ManufactureOrderProcessService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yuanchu.mom.utils.MyUtil;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * <p>
@@ -27,4 +33,33 @@
     public void batchInsert(List<ManufactureOrderProcess> manufactureOrderProcessesDate) {
         manufactureOrderProcessMapper.insertBatchSomeColumn(manufactureOrderProcessesDate);
     }
+
+    @Override
+    public Integer updateTime(Integer technologyId, Integer schedulingId, String startTime) {
+//        // Hutool 宸ュ叿绫昏绠楅棿闅斿皬鏃�
+        Date startTime1 = DateUtil.parse(startTime);
+        // 鏍规嵁鎺掍骇Id鏌ヨ鎵�鏈夊搴旂殑宸ュ簭鏁版嵁
+        LambdaQueryWrapper<ManufactureOrderProcess> queryWrapper = Wrappers.<ManufactureOrderProcess>lambdaQuery()
+                .eq(ManufactureOrderProcess::getManufactureSchedulingId, schedulingId)
+                .select(ManufactureOrderProcess::getId, ManufactureOrderProcess::getPeriod);
+        List<ManufactureOrderProcess> list = manufactureOrderProcessMapper.selectList(queryWrapper);
+
+        //
+        for (int i = 0; i < list.size(); i++) {
+            if (Objects.equals(list.get(i).getId(), technologyId)){
+                list.get(i).setStartTime(startTime1);
+                list.get(i).setEndTime(DateUtil.offsetDay(startTime1, list.get(i).getPeriod()));
+                for (int j = i + 1; j < list.size(); j++) {
+                    // 鑾峰彇涓婁竴涓伐搴忕殑缁撴潫鏃堕棿锛屽苟涓斿湪姝ゅ熀纭�涓婂姞涓�澶�
+                    list.get(j).setStartTime(DateUtil.offsetDay(list.get(j - 1).getEndTime(), 1));
+                    // 鑾峰彇绗琷涓綅缃殑鍛ㄦ湡,鍛ㄦ湡涓庡紑濮嬫椂闂寸浉鍔�
+                    list.get(j).setEndTime(DateUtil.offsetDay(list.get(j).getStartTime(), list.get(j).getPeriod()));
+                }
+                break;
+            }
+        }
+        MyUtil.PrintLog(list.toString());
+        return null;
+//        return manufactureOrderProcessMapper.updateTime(list);
+    }
 }
diff --git a/production-server/src/main/resources/mapper/ManufactureSchedulingMapper.xml b/production-server/src/main/resources/mapper/ManufactureSchedulingMapper.xml
index 0e292c0..c837fdb 100644
--- a/production-server/src/main/resources/mapper/ManufactureSchedulingMapper.xml
+++ b/production-server/src/main/resources/mapper/ManufactureSchedulingMapper.xml
@@ -30,7 +30,7 @@
     </select>
 
     <select id="sePros" resultType="map">
-        SELECT s.`scheduled`, o.`order_code`, o.`customer_code`, o.`name`, o.`specifications`, o.`unit`,
+        SELECT o.`id`, s.`scheduled`, o.`order_code`, o.`customer_code`, o.`name`, o.`specifications`, o.`unit`,
                DATE_FORMAT(o.`downTime`, '%Y-%m-%d') downTime, DATE_FORMAT(o.`delTime`, '%Y-%m-%d') delTime
         FROM manufacture_scheduling s, manufacture_order o
         WHERE s.`manufacture_order_id` = o.`id`
diff --git a/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java b/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
index 0e4b42b..f048138 100644
--- a/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
+++ b/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
@@ -1,28 +1,13 @@
 package com.yuanchu.mom;
 
-import com.yuanchu.mom.mapper.ManualTechnologyMapper;
-import com.yuanchu.mom.pojo.ManualTechnology;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
-
-import javax.annotation.Resource;
-
 
 @SpringBootTest
 class SystemRunApplicationTest {
 
-    @Resource
-    private ManualTechnologyMapper manualTechnologyMapper;
     @Test
     void contextLoads() {
-        ManualTechnology manualTechnology = new ManualTechnology()
-                .setTechname("tets")
-                .setTechfather("test")
-                .setDeviceGroup("grop")
-                .setDeviceId(1)
-                .setTechnologyId(2)
-                .setManufactureOrderId(1)
-                .setSchedulingNumber(12);
-        manualTechnologyMapper.insert(manualTechnology);
+
     }
 }

--
Gitblit v1.9.3