From 55e5fcc8df938fefc94103149dfe3acd328abfd6 Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期三, 30 八月 2023 18:00:54 +0800
Subject: [PATCH] MOM系统-8-30

---
 system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java                        |    8 +
 production-server/src/main/java/com/yuanchu/mom/pojo/ManualTechnology.java                    |    6 +
 production-server/src/main/java/com/yuanchu/mom/service/impl/ProductionPlanServiceImpl.java   |    9 -
 standard-server/src/main/resources/mapper/DeviceMapper.xml                                    |    3 
 inventory-server/src/main/java/com/yuanchu/mom/service/impl/OrdersServiceImpl.java            |    2 
 production-server/src/main/java/com/yuanchu/mom/mapper/ManualTechnologyMapper.java            |    5 
 production-server/src/main/java/com/yuanchu/mom/pojo/dto/ManualTechnologyDto.java             |   35 +----
 production-server/src/main/java/com/yuanchu/mom/service/ManualTechnologyService.java          |    2 
 production-server/src/main/java/com/yuanchu/mom/service/impl/ManualTechnologyServiceImpl.java |   69 ++++++-----
 production-server/src/main/java/com/yuanchu/mom/service/ProductionPlanService.java            |    7 -
 production-server/src/main/resources/mapper/ManualTechnologyMapper.xml                        |   35 +++--
 production-server/src/main/resources/mapper/ManufactureOrderMapper.xml                        |   33 +++++
 production-server/src/main/java/com/yuanchu/mom/controller/ProductionPlanController.java      |   25 +++-
 production-server/src/main/java/com/yuanchu/mom/controller/ManufactureOrderController.java    |   42 ++++--
 production-server/src/main/java/com/yuanchu/mom/mapper/ManufactureOrderMapper.java            |    6 +
 production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderServiceImpl.java |   32 +++-
 production-server/src/main/java/com/yuanchu/mom/service/ManufactureOrderService.java          |   14 ++
 17 files changed, 202 insertions(+), 131 deletions(-)

diff --git a/inventory-server/src/main/java/com/yuanchu/mom/service/impl/OrdersServiceImpl.java b/inventory-server/src/main/java/com/yuanchu/mom/service/impl/OrdersServiceImpl.java
index b924d76..dab1184 100644
--- a/inventory-server/src/main/java/com/yuanchu/mom/service/impl/OrdersServiceImpl.java
+++ b/inventory-server/src/main/java/com/yuanchu/mom/service/impl/OrdersServiceImpl.java
@@ -85,7 +85,7 @@
                     .techfather(technology.getFather())
                     .deviceGroup(technology.getDeviceGroup())
                     .manufactureOrderId(manufactureOrder.getId())
-                    .period((int) Math.ceil((double)manufactureOrder.getNumber()/technology.getProductionQuota()))
+                    .technologyId(technology.getId())
                     .build();
             //鏂板缂栧埗宸ュ簭琛�
             manualTechnologyMapper.insert(manualTechnology);
diff --git a/production-server/src/main/java/com/yuanchu/mom/controller/ManufactureOrderController.java b/production-server/src/main/java/com/yuanchu/mom/controller/ManufactureOrderController.java
index 707afee..dd36134 100644
--- a/production-server/src/main/java/com/yuanchu/mom/controller/ManufactureOrderController.java
+++ b/production-server/src/main/java/com/yuanchu/mom/controller/ManufactureOrderController.java
@@ -17,6 +17,8 @@
 import com.yuanchu.mom.service.ManufactureOrderService;
 
 import javax.annotation.Resource;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 import java.text.ParseException;
 import java.util.HashMap;
 import java.util.List;
@@ -61,7 +63,7 @@
         return Result.success(map);
     }
 
-    @ApiOperation(value = "鎺掍骇-->1.鏌ョ湅")
+    @ApiOperation(value = "鐐瑰嚮鎺掍骇鑾峰彇琛ㄦ牸浜岀骇鏍�")
     @ApiImplicitParams(value = {
             @ApiImplicitParam(name = "manOrdId", value = "鐢熶骇璁㈠崟id", dataTypeClass = Integer.class, required = true)
     })
@@ -70,7 +72,7 @@
         return Result.success(manualTechnologyService.seleDatil(manOrdId));
     }
 
-    @ApiOperation(value = "鎺掍骇-->2.閫夋嫨璁惧")
+    @ApiOperation(value = "鐐瑰嚮鎺掍骇-->浜岀骇鏍戦�夋嫨璁惧")
     @ApiImplicitParams(value = {
             @ApiImplicitParam(name = "deviceGroup", value = "璁惧缁�", dataTypeClass = String.class, required = true)
     })
@@ -79,23 +81,20 @@
         return Result.success(deviceService.getDeviceNameByGroup(deviceGroup));
     }
 
-    @ApiOperation(value = "鎺掍骇-->3.鏇存柊")
+    @ApiOperation(value = "鐐瑰嚮鎺掍骇-->纭畾鎸夐挳")
     @ApiImplicitParams(value = {
-            @ApiImplicitParam(name = "date", value = "鎺掍骇寮�濮嬫棩鏈�", dataTypeClass = String.class, required = true)
+            @ApiImplicitParam(name = "date", value = "鎺掍骇寮�濮嬫棩鏈�", dataTypeClass = String.class, required = true),
+            @ApiImplicitParam(name = "manOrdId", value = "鐢熶骇璁㈠崟Id", dataTypeClass = String.class, required = true),
+            @ApiImplicitParam(name = "schedulingNumber", value = "鎺掍骇鏁伴噺", dataTypeClass = Integer.class, required = true),
     })
     @PostMapping("/output")
-    public Result output(String date ,@Validated @RequestBody List<ManualTechnologyDto> manualTechnologyDtoList) throws ParseException {
-        manualTechnologyService.output(date,manualTechnologyDtoList);
-        return Result.success();
-    }
-
-    @ApiOperation(value = "鏌ョ湅鎺掍骇璇︽儏")
-    @ApiImplicitParams(value = {
-            @ApiImplicitParam(name = "manOrdId", value = "鐢熶骇璁㈠崟id", dataTypeClass = Integer.class, required = true)
-    })
-    @GetMapping("/sePros")
-    public Result sePros(Integer manOrdId) {
-        return Result.success(manufactureOrderService.sePros(manOrdId));
+    public Result<?> output(@RequestParam(value = "date") @NotBlank(message = "鎺掍骇寮�濮嬫棩鏈熶笉鑳戒负绌�") String date,
+                            @RequestParam(value = "manOrdId") @NotNull(message = "鐢熶骇璁㈠崟Id涓嶈兘涓虹┖") Integer manOrdId,
+                            @RequestParam(value = "schedulingNumber") @NotNull(message = "鎺掍骇鏁伴噺涓嶈兘涓虹┖") Integer schedulingNumber,
+                            @Validated @RequestBody List<ManualTechnologyDto> manualTechnologyDtoList
+    ) throws ParseException {
+        manualTechnologyService.output(date, manOrdId, schedulingNumber, manualTechnologyDtoList);
+        return Result.success("鎺掍骇鎴愬姛锛�");
     }
 
     @ApiOperation(value = "涓嬭揪")
@@ -103,10 +102,19 @@
             @ApiImplicitParam(name = "manOrdId", value = "鐢熶骇璁㈠崟id", dataTypeClass = Integer.class, required = true)
     })
     @PostMapping("/down")
-    public Result down(Integer manOrdId) {
+    public Result<?> down(Integer manOrdId) {
         manufactureOrderService.down(manOrdId);
         return Result.success("涓嬭揪鎴愬姛!");
     }
 
+    @ApiOperation(value = "澶氶�夊垹闄�")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "manOrdId", value = "鐢熶骇璁㈠崟id", dataTypeClass = String.class, dataType = "list", required = true)
+    })
+    @DeleteMapping("/delete")
+    public Result<?> deleteManufacture(List<String> manOrdId) {
+        manufactureOrderService.deleteManufacture(manOrdId);
+        return Result.success("鍒犻櫎鎴愬姛!");
+    }
 }
 
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 060d0a3..2b0cf45 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,11 +1,13 @@
 package com.yuanchu.mom.controller;
 
+import com.yuanchu.mom.service.ManufactureOrderService;
 import com.yuanchu.mom.service.ProductionPlanService;
 import com.yuanchu.mom.vo.Result;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -20,12 +22,8 @@
     @Resource
     ProductionPlanService productionPlanService;
 
-
-    @ApiOperation(value = "鏌ヨ璁惧鍒楄〃")
-    @GetMapping("/selectAllDev")
-    public Result selectAllDev() {
-        return Result.success(productionPlanService.selectAllDev());
-    }
+    @Autowired
+    private ManufactureOrderService manufactureOrderService;
 
     @ApiOperation(value = "鏌ヨ鐢熶骇璁″垝鍒楄〃")
     @ApiImplicitParams(value = {
@@ -39,4 +37,19 @@
     public Result selectAllPlan(Integer deviceId, String orderCode, String name, String startTime, String endTime) {
         return Result.success(productionPlanService.selectAllPlan(deviceId,orderCode,name,startTime,endTime));
     }
+
+    @ApiOperation(value = "浜岀骇鏍�")
+    @GetMapping("/tow_tree")
+    public Result<?> towTree() {
+        return Result.success(manufactureOrderService.towTree());
+    }
+
+    @ApiOperation(value = "鏌ョ湅鎺掍骇璇︽儏")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "manOrdId", value = "鐢熶骇璁㈠崟id", dataTypeClass = Integer.class, required = true)
+    })
+    @GetMapping("/sePros")
+    public Result sePros(Integer manOrdId) {
+        return Result.success(manufactureOrderService.sePros(manOrdId));
+    }
 }
diff --git a/production-server/src/main/java/com/yuanchu/mom/mapper/ManualTechnologyMapper.java b/production-server/src/main/java/com/yuanchu/mom/mapper/ManualTechnologyMapper.java
index 8e7a254..90ff5ea 100644
--- a/production-server/src/main/java/com/yuanchu/mom/mapper/ManualTechnologyMapper.java
+++ b/production-server/src/main/java/com/yuanchu/mom/mapper/ManualTechnologyMapper.java
@@ -18,10 +18,7 @@
     List<Map<String, Object>> seleDatil(Integer manOrdId);
 
     //鎵归噺鏇存柊
-    void updateBatchManualTechnology(List<ManualTechnology> manualTechnologies);
-
-    //鏌ヨ鎵�鏈夎澶囧垪琛�
-    List<Map<String, Object>> selectAllDev();
+    void updateBatchManualTechnology(Integer schedulingNumber, List<ManualTechnology> manualTechnologies);
 
 }
 
diff --git a/production-server/src/main/java/com/yuanchu/mom/mapper/ManufactureOrderMapper.java b/production-server/src/main/java/com/yuanchu/mom/mapper/ManufactureOrderMapper.java
index 701d27b..e8f9c09 100644
--- a/production-server/src/main/java/com/yuanchu/mom/mapper/ManufactureOrderMapper.java
+++ b/production-server/src/main/java/com/yuanchu/mom/mapper/ManufactureOrderMapper.java
@@ -23,5 +23,11 @@
 
     //鏌ョ湅鐢熶骇璁″垝
     List<Map<String, Object>> selectAllPlan(Integer deviceId, String orderCode, String name, String startTime, String endTime);
+
+    void deleteManufacture(List<String> manOrdId);
+
+    List<Map<String, Object>> towTree();
+
+    void updateManufacture(Integer manufactureOrderId, Integer manufactureOrder);
 }
 
diff --git a/production-server/src/main/java/com/yuanchu/mom/pojo/ManualTechnology.java b/production-server/src/main/java/com/yuanchu/mom/pojo/ManualTechnology.java
index 3f9c6d4..012bca4 100644
--- a/production-server/src/main/java/com/yuanchu/mom/pojo/ManualTechnology.java
+++ b/production-server/src/main/java/com/yuanchu/mom/pojo/ManualTechnology.java
@@ -52,6 +52,9 @@
      **/
     private Integer deviceId;
 
+    @ApiModelProperty(value = "鍏宠仈 宸ヨ壓Id")
+    private Integer technologyId;
+
     /**
      * 鍏宠仈 鐢熶骇璁㈠崟id
      **/
@@ -88,5 +91,8 @@
      * 鍛ㄦ湡
      **/
     private Integer period;
+
+    @ApiModelProperty(value = "鎺掍骇鏁伴噺")
+    private Integer schedulingNumber;
 }
 
diff --git a/production-server/src/main/java/com/yuanchu/mom/pojo/dto/ManualTechnologyDto.java b/production-server/src/main/java/com/yuanchu/mom/pojo/dto/ManualTechnologyDto.java
index 15789bf..55e7a94 100644
--- a/production-server/src/main/java/com/yuanchu/mom/pojo/dto/ManualTechnologyDto.java
+++ b/production-server/src/main/java/com/yuanchu/mom/pojo/dto/ManualTechnologyDto.java
@@ -1,9 +1,8 @@
 package com.yuanchu.mom.pojo.dto;
 
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 
 @Data
@@ -11,36 +10,14 @@
 public class ManualTechnologyDto {
 
     //宸ュ簭id
-    @NotNull(message = "id涓嶈兘涓虹┖")
-    @JsonSerialize
+    @NotNull(message = "宸ュ簭Id涓嶈兘涓虹┖")
+    @ApiModelProperty(value = "宸ュ簭Id", example = "1", required = true)
     private Integer id;
 
-    /**
-     * 宸ュ簭鍚嶇О
-     **/
-    @NotBlank(message = "宸ュ簭鍚嶇О涓嶈兘涓虹┖")
-    @JsonSerialize
-    private String techname;
+    @ApiModelProperty(value = "宸ヨ壓Id", example = "2", required = true)
+    private Integer technologyId;
 
-    /**
-     * 宸ュ簭鐖剁被
-     **/
-    @NotBlank(message = "宸ュ簭鐖剁被涓嶈兘涓虹┖")
-    @JsonSerialize
-    private String techfather;
-
-    /**
-     * 璁惧缁�
-     **/
-    @NotBlank(message = "璁惧缁勪笉鑳戒负绌�")
-    @JsonSerialize
-    private String deviceGroup;
-
-    /**
-     * 鍏宠仈 璁惧id
-     **/
     @NotNull(message = "璁惧id涓嶈兘涓虹┖")
-    @JsonSerialize
+    @ApiModelProperty(value = "璁惧Id", example = "1", required = true)
     private Integer  deviceId;
-
 }
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 d7df97f..6356072 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,7 +28,7 @@
      * 鎺掍骇==>鏇存柊
      * @param manualTechnologyDtoList
      */
-    void output(String date, List<ManualTechnologyDto> manualTechnologyDtoList) throws ParseException;
+    void output(String date, Integer manufactureOrderId, Integer schedulingNumber, List<ManualTechnologyDto> manualTechnologyDtoList) throws ParseException;
 
 }
 
diff --git a/production-server/src/main/java/com/yuanchu/mom/service/ManufactureOrderService.java b/production-server/src/main/java/com/yuanchu/mom/service/ManufactureOrderService.java
index 7207ffa..1690edd 100644
--- a/production-server/src/main/java/com/yuanchu/mom/service/ManufactureOrderService.java
+++ b/production-server/src/main/java/com/yuanchu/mom/service/ManufactureOrderService.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.yuanchu.mom.pojo.ManufactureOrder;
 import com.yuanchu.mom.pojo.dto.ManufactureOrderDto;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 import java.util.Map;
@@ -40,5 +41,18 @@
      * @param manOrdId
      */
     void down(Integer manOrdId);
+
+    /**
+     * 鎵归噺鍒犻櫎
+     * @param manOrdId
+     */
+    @Transactional(rollbackFor = Exception.class)
+    void deleteManufacture(List<String> manOrdId);
+
+    /**
+     * 鐢熶骇璁″垝浜岀骇鏍�
+     * @return
+     */
+    List<Map<String, Object>> towTree();
 }
 
diff --git a/production-server/src/main/java/com/yuanchu/mom/service/ProductionPlanService.java b/production-server/src/main/java/com/yuanchu/mom/service/ProductionPlanService.java
index 2c7362d..d9ee940 100644
--- a/production-server/src/main/java/com/yuanchu/mom/service/ProductionPlanService.java
+++ b/production-server/src/main/java/com/yuanchu/mom/service/ProductionPlanService.java
@@ -6,13 +6,6 @@
 
 public interface ProductionPlanService {
 
-
-    /**
-     * 鏌ヨ璁惧鍒楄〃
-     * @return
-     */
-    List<Map<String,Object>> selectAllDev();
-
     /**
      * 鏌ヨ鐢熶骇璁″垝鍒楄〃
      * @param deviceId
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 537e132..7b48b05 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,5 +1,6 @@
 package com.yuanchu.mom.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yuanchu.mom.mapper.DeviceMapper;
@@ -7,9 +8,13 @@
 import com.yuanchu.mom.mapper.ManufactureOrderMapper;
 import com.yuanchu.mom.pojo.ManualTechnology;
 import com.yuanchu.mom.pojo.ManufactureOrder;
+import com.yuanchu.mom.pojo.Technology;
 import com.yuanchu.mom.pojo.dto.ManualTechnologyDto;
 import com.yuanchu.mom.service.ManualTechnologyService;
+import com.yuanchu.mom.service.TechnologyService;
+import com.yuanchu.mom.utils.MyUtil;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -17,10 +22,7 @@
 import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -38,66 +40,69 @@
     @Resource
     ManufactureOrderMapper manufactureOrderMapper;
 
+    @Autowired
+    private TechnologyService technologyService;
 
     //鎺掍骇-->鏌ョ湅
     @Override
     public List<Map<String, Object>> seleDatil(Integer manOrdId) {
+
         return manualTechnologyMapper.seleDatil(manOrdId);
     }
 
     //鎺掍骇-->鏇存柊
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void output(String date, List<ManualTechnologyDto> manualTechnologyDtoList) throws ParseException {
-        //鏇存柊姣忎釜宸ュ簭鐨勮澶�
+    public void output(String date, Integer manufactureOrderId, Integer schedulingNumber, List<ManualTechnologyDto> manualTechnologyDtoList) throws ParseException {
+        // 鏌ヨ宸ヨ壓锛岀敤浜庡尮閰嶆瘡涓鍗曠殑宸ュ簭鍛ㄦ湡
+        LambdaQueryWrapper<Technology> wrapper = new LambdaQueryWrapper<>();
+        wrapper.select(Technology::getId, Technology::getProductionQuota);
+        List<Technology> technologies = technologyService.list(wrapper);
+
+
+        //鍖归厤姣忎釜璁㈠崟鐨勫伐搴忓懆鏈�
         List<ManualTechnology> manualTechnologies = manualTechnologyDtoList.stream().map(manualTechnologyDto -> {
             ManualTechnology manualTechnology = new ManualTechnology();
             BeanUtils.copyProperties(manualTechnologyDto, manualTechnology);
+            technologies.forEach(i -> {
+                if (Objects.equals(manualTechnology.getTechnologyId(), i.getId())){
+                    manualTechnology.setPeriod((int) Math.ceil((double)schedulingNumber/i.getProductionQuota()));
+                }
+            });
             return manualTechnology;
         }).collect(Collectors.toList());
-        //鎵归噺鏇存柊璁惧id
-        manualTechnologyMapper.updateBatchManualTechnology(manualTechnologies);
-        Integer manufactureOrderId = manualTechnologyMapper.selectById(manualTechnologyDtoList.get(1).getId()).getManufactureOrderId();
-        List<ManualTechnology> manualTechnologyList = manualTechnologyMapper.selectList(Wrappers.<ManualTechnology>query().eq("manufacture_order_id", manufactureOrderId));
-        /*璧嬪��(鏈�寮�濮嬬涓�涓伐搴忕殑寮�濮嬫棩鏈�)*/
+
+
+        // 璁$畻宸ュ簭鐨勫紑濮嬫棩鏈熶互鍙婄粨鏉熸棩鏈�
         DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
         Date parse = dateFormat.parse(date);
         //灏嗚捣濮嬫棩鏈熻祴鍊肩粰Calendar瀵硅薄
         Calendar calendar = Calendar.getInstance();
         calendar.setTime(parse);
         //绗竴涓伐搴�
-        ManualTechnology manualTechnology = manualTechnologyList.get(0);
+        ManualTechnology manualTechnology = manualTechnologies.get(0);
         calendar.add(Calendar.DATE, manualTechnology.getPeriod());
+
+
         manualTechnology.setStartTime(parse).setEndTime(calendar.getTime());
         //寰幆璧嬪�兼椂闂�
-        for (int i = 0; i < manualTechnologyList.size()-1 ; i++) {
+        for (int i = 0; i < manualTechnologies.size()-1 ; i++) {
             Calendar calendar1 = Calendar.getInstance();
-            calendar1.setTime(manualTechnologyList.get(i).getEndTime());
-            ManualTechnology technology = manualTechnologyList.get(i + 1);
+            calendar1.setTime(manualTechnologies.get(i).getEndTime());
+            ManualTechnology technology = manualTechnologies.get(i + 1);
             calendar1.add(Calendar.DATE,1);
             technology.setStartTime(calendar1.getTime());
             calendar1.add(Calendar.DATE,technology.getPeriod());
             technology.setEndTime(calendar1.getTime());
         }
-        //鎵归噺鏇存柊
-        manualTechnologyMapper.updateBatchManualTechnology(manualTechnologyList);
-        //濡傛灉璇ヤ骇鍝佷笅鐨勬墍鏈夊伐搴忛兘瀹夋帓浜�,鍒欏皢鐘舵�佹敼涓哄凡鎺掍骇杩樻湁寰呬笅杈�
-        if (checkFieldExistence(manualTechnologies)) {
-            ManufactureOrder manufactureOrder = new ManufactureOrder();
-            manufactureOrder.setId(manufactureOrderId).setType(1).setGoState(0);
-            manufactureOrderMapper.updateById(manufactureOrder);
-        }
-    }
 
 
-    /*鍒ゆ柇鏄惁鎵�鏈夊伐搴忓叏閮ㄩ兘瀹夋帓浜嗚澶�*/
-    public static boolean checkFieldExistence(List<ManualTechnology> dataList) {
-        for (ManualTechnology data : dataList) {
-            if (data.getDeviceId() == null) {
-                return false;
-            }
-        }
-        return true;
+        // 鏁版嵁澶勭悊瀹屾垚寮�濮嬫壒閲忔洿鏂癕ysql
+        manualTechnologyMapper.updateBatchManualTechnology(schedulingNumber, manualTechnologies);
+
+
+        // 宸ュ簭鏇存柊瀹屾瘯锛屾洿鏂拌鍗曠殑鐘舵�侊紝灏嗗叾鏇存柊涓哄凡鎺掍骇锛�1锛岃繕鏈夊緟涓嬭揪锛�0
+        manufactureOrderMapper.updateManufacture(manufactureOrderId, schedulingNumber);
     }
 }
 
diff --git a/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderServiceImpl.java b/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderServiceImpl.java
index 01a5494..b5b0a77 100644
--- a/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderServiceImpl.java
+++ b/production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderServiceImpl.java
@@ -1,5 +1,6 @@
 package com.yuanchu.mom.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -12,6 +13,7 @@
 import com.yuanchu.mom.pojo.dto.ManualTechnologyDto1;
 import com.yuanchu.mom.pojo.dto.ManufactureOrderDto;
 import com.yuanchu.mom.service.ManufactureOrderService;
+import com.yuanchu.mom.utils.MyUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
@@ -54,22 +56,34 @@
         BeanUtils.copyProperties(manufactureOrder,manufactureOrderDto);
         //璁″垝缂栧埗
         List<ManualTechnology> manualTechnologies = manualTechnologyMapper.selectList(Wrappers.<ManualTechnology>query().eq("manufacture_order_id", manOrdId));
-        List<ManualTechnologyDto1> manualTechnologyDto1s = manualTechnologies.stream().map(manualTechnology -> {
-            ManualTechnologyDto1 manualTechnologyDto1 = new ManualTechnologyDto1();
-            BeanUtils.copyProperties(manualTechnology, manualTechnologyDto1);
-            manualTechnologyDto1.setMtechId(manualTechnology.getId());
-            manualTechnologyDto1.setDeviceName(deviceMapper.selectById(manualTechnology.getDeviceId()).getName());
-            return manualTechnologyDto1;
-        }).collect(Collectors.toList());
-        manufactureOrderDto.setMessage(manualTechnologyDto1s);
+        MyUtil.PrintLog(manualTechnologies.toString());
+
+//        List<ManualTechnologyDto1> manualTechnologyDto1s = manualTechnologies.stream().map(manualTechnology -> {
+//            ManualTechnologyDto1 manualTechnologyDto1 = new ManualTechnologyDto1();
+//            BeanUtils.copyProperties(manualTechnology, manualTechnologyDto1);
+//            manualTechnologyDto1.setMtechId(manualTechnology.getId());
+//            manualTechnologyDto1.setDeviceName(deviceMapper.selectById(manualTechnology.getDeviceId()).getName());
+//            return manualTechnologyDto1;
+//        }).collect(Collectors.toList());
+//        manufactureOrderDto.setMessage(manualTechnologyDto1s);
         return manufactureOrderDto;
     }
 
     //涓嬭揪
     @Override
     public void down(Integer manOrdId) {
-        ManufactureOrder manufactureOrder = new ManufactureOrder().setId(manOrdId).setGoState(1);
+        ManufactureOrder manufactureOrder = new ManufactureOrder().setId(manOrdId).setGoState(1).setType(0);
         manufactureOrderMapper.updateById(manufactureOrder);
     }
+
+    @Override
+    public void deleteManufacture(List<String> manOrdId) {
+        manufactureOrderMapper.deleteManufacture(manOrdId);
+    }
+
+    @Override
+    public List<Map<String, Object>> towTree() {
+        return manufactureOrderMapper.towTree();
+    }
 }
 
diff --git a/production-server/src/main/java/com/yuanchu/mom/service/impl/ProductionPlanServiceImpl.java b/production-server/src/main/java/com/yuanchu/mom/service/impl/ProductionPlanServiceImpl.java
index 9b01d35..338bc74 100644
--- a/production-server/src/main/java/com/yuanchu/mom/service/impl/ProductionPlanServiceImpl.java
+++ b/production-server/src/main/java/com/yuanchu/mom/service/impl/ProductionPlanServiceImpl.java
@@ -15,15 +15,6 @@
     @Resource
     ManufactureOrderMapper manufactureOrderMapper;
 
-    @Resource
-    ManualTechnologyMapper manualTechnologyMapper;
-
-    //鏌ヨ璁惧鍒楄〃
-    @Override
-    public List<Map<String, Object>> selectAllDev() {
-        return manualTechnologyMapper.selectAllDev();
-    }
-
     //鏌ヨ鐢熶骇璁″垝鍒楄〃
     @Override
     public List<Map<String, Object>> selectAllPlan(Integer deviceId, String orderCode, String name, String startTime, String endTime) {
diff --git a/production-server/src/main/resources/mapper/ManualTechnologyMapper.xml b/production-server/src/main/resources/mapper/ManualTechnologyMapper.xml
index a85ffba..4613a5a 100644
--- a/production-server/src/main/resources/mapper/ManualTechnologyMapper.xml
+++ b/production-server/src/main/resources/mapper/ManualTechnologyMapper.xml
@@ -20,6 +20,11 @@
                     WHEN id =#{manualTechnologie.id} THEN #{manualTechnologie.endTime}
                 </foreach>
             </trim>
+            <trim prefix="scheduling_number=case" suffix="end,">
+                <foreach collection="manualTechnologies" item="manualTechnologie">
+                    WHEN id =#{manualTechnologie.id} THEN #{schedulingNumber}
+                </foreach>
+            </trim>
         </trim>
         <where>
             <foreach collection="manualTechnologies" separator="or" item="manualTechnologie">
@@ -28,25 +33,29 @@
         </where>
     </update>
 
-    <select id="seleDatil" resultType="java.util.Map">
+    <resultMap id="seleDatilMap" type="map">
+        <id property="lable" column="techfather"/>
+        <collection property="children" resultMap="seleDatilTowMap" javaType="List"/>
+    </resultMap>
+
+    <resultMap id="seleDatilTowMap" type="map">
+        <id property="lable" column="techname"/>
+        <result property="id" column="id"/>
+        <result property="deviceGroup" column="device_group"/>
+        <result property="deviceName" column="name"/>
+        <result property="technologyId" column="manufacture_order_id"/>
+    </resultMap>
+
+    <select id="seleDatil" resultMap="seleDatilMap">
         select manual_technology.id,
                techfather,
                techname,
                device_group,
-               name
+               name,
+               manufacture_order_id
         from mom_ocean.manual_technology
                  left join mom_ocean.device
                            on device.id = device_id
         where manufacture_order_id = #{manOrdId}
     </select>
-    <!--鏌ヨ鎵�鏈夎澶囧垪琛�-->
-    <select id="selectAllDev" resultType="java.util.Map">
-        select distinct manual_technology.id,
-                        device_group,
-                        name
-        from mom_ocean.manual_technology
-                 left join mom_ocean.device
-                           on device.id = manual_technology.device_id
-        order by device_group
-    </select>
-</mapper>
\ No newline at end of file
+</mapper>
diff --git a/production-server/src/main/resources/mapper/ManufactureOrderMapper.xml b/production-server/src/main/resources/mapper/ManufactureOrderMapper.xml
index 1e10873..945a533 100644
--- a/production-server/src/main/resources/mapper/ManufactureOrderMapper.xml
+++ b/production-server/src/main/resources/mapper/ManufactureOrderMapper.xml
@@ -61,4 +61,35 @@
         </if>
         order by start_time
     </select>
-</mapper>
\ No newline at end of file
+
+    <update id="deleteManufacture">
+        UPDATE manufacture_order m
+        SET m.`state` = 0
+        WHERE m.id IN
+        <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+    </update>
+
+    <resultMap id="towTreeFirstMap" type="map">
+        <id property="orderCode" column="order_code"/>
+        <collection property="children" javaType="list" resultMap="towTreeSecondMap"/>
+    </resultMap>
+
+    <resultMap id="towTreeSecondMap" type="map">
+        <id property="manufactureId" column="id"/>
+        <result property="manufactureName" column="name"/>
+    </resultMap>
+
+    <select id="towTree" resultMap="towTreeFirstMap">
+        SELECT m.`order_code`, m.`name`, m.`id`
+        FROM manufacture_order m
+        WHERE m.`state` = 1
+    </select>
+
+    <update id="updateManufacture">
+        UPDATE manufacture_order m
+        SET m.`type` = 1, m.`go_state` = 0, m.`scheduled_production` = m.`scheduled_production` + #{schedulingNumber}
+        where m.id = #{manufactureOrderId}
+    </update>
+</mapper>
diff --git a/standard-server/src/main/resources/mapper/DeviceMapper.xml b/standard-server/src/main/resources/mapper/DeviceMapper.xml
index af9dd90..f6cc9da 100644
--- a/standard-server/src/main/resources/mapper/DeviceMapper.xml
+++ b/standard-server/src/main/resources/mapper/DeviceMapper.xml
@@ -56,8 +56,9 @@
             AND d.`father` = #{fatherName}
         </if>
     </select>
+
     <select id="getDeviceNameByGroup" resultType="java.util.Map">
-        select id, name
+        select id as deviceid, name deviceName
         from mom_ocean.device
         where state = 1
           and father = #{deviceGroup}
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 a125d72..19beec6 100644
--- a/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
+++ b/system-run/src/test/java/com/yuanchu/mom/SystemRunApplicationTest.java
@@ -1,14 +1,20 @@
 package com.yuanchu.mom;
 
+import com.yuanchu.mom.mapper.ManufactureOrderMapper;
 import com.yuanchu.mom.utils.MyUtil;
 import org.junit.jupiter.api.Test;
 import org.springframework.boot.test.context.SpringBootTest;
 
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
 @SpringBootTest
 class SystemRunApplicationTest {
 
+    @Resource
+    private ManufactureOrderMapper manufactureOrderMapper;
     @Test
     void contextLoads() {
-
     }
 }

--
Gitblit v1.9.3