From 5f72ddd4ca8a10d5dcb4e1ab79463593317ffbe6 Mon Sep 17 00:00:00 2001
From: XiaoRuby <3114200645@qq.com>
Date: 星期一, 28 八月 2023 14:22:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 inventory-server/src/main/java/com/yuanchu/mom/service/impl/OrdersServiceImpl.java            |    2 
 production-server/src/main/java/com/yuanchu/mom/mapper/ManualTechnologyMapper.java            |    7 
 production-server/src/main/java/com/yuanchu/mom/service/impl/ManualTechnologyServiceImpl.java |   71 +++
 pom.xml                                                                                       |    1 
 production-server/src/main/resources/mapper/ManufactureOrderMapper.xml                        |   31 +
 standard-server/src/main/java/com/yuanchu/mom/mapper/DeviceMapper.java                        |    4 
 standard-server/src/main/java/com/yuanchu/mom/pojo/Technology.java                            |    4 
 base-server/src/main/java/com/yuanchu/mom/controller/TechnologyTemplateController.java        |  109 ++++++
 production-server/src/main/java/com/yuanchu/mom/mapper/ManufactureOrderMapper.java            |    6 
 production-server/src/main/java/com/yuanchu/mom/pojo/dto/ManualTechnologyDto1.java            |   53 ++
 base-server/src/main/java/com/yuanchu/mom/mapper/TechnologyTemplateMapper.java                |   25 +
 production-server/src/main/java/com/yuanchu/mom/pojo/ManualTechnology.java                    |   21 +
 production-server/src/main/java/com/yuanchu/mom/service/impl/ProductionPlanServiceImpl.java   |   32 +
 standard-server/src/main/resources/mapper/DeviceMapper.xml                                    |   11 
 production-server/src/main/java/com/yuanchu/mom/pojo/ManufactureOrder.java                    |   10 
 production-server/src/main/java/com/yuanchu/mom/pojo/dto/ManualTechnologyDto.java             |   35 +
 production-server/src/main/java/com/yuanchu/mom/service/ManualTechnologyService.java          |   10 
 production-server/src/main/java/com/yuanchu/mom/service/ProductionPlanService.java            |   29 +
 base-server/pom.xml                                                                           |   38 ++
 base-server/src/main/resources/mapper/TechnologyTemplateMapper.xml                            |   27 +
 production-server/src/main/resources/mapper/ManualTechnologyMapper.xml                        |   39 ++
 /dev/null                                                                                     |   46 --
 base-server/src/main/java/com/yuanchu/mom/pojo/TechnologyTemplate.java                        |   41 -
 base-server/src/main/java/com/yuanchu/mom/pojo/dto/TechnologyTemplateDto.java                 |   33 +
 base-server/src/main/java/com/yuanchu/mom/service/impl/TechnologyTemplateServiceImpl.java     |   77 ++++
 production-server/src/main/java/com/yuanchu/mom/controller/ProductionPlanController.java      |   47 ++
 production-server/src/main/java/com/yuanchu/mom/controller/ManufactureOrderController.java    |   31 +
 production-server/src/main/java/com/yuanchu/mom/pojo/dto/ManufactureOrderDto.java             |   67 +++
 production-server/src/main/java/com/yuanchu/mom/service/impl/ManufactureOrderServiceImpl.java |   43 ++
 base-server/src/main/java/com/yuanchu/mom/service/TechnologyTemplateService.java              |   62 +++
 system-run/pom.xml                                                                            |    5 
 production-server/src/main/java/com/yuanchu/mom/service/ManufactureOrderService.java          |   15 
 32 files changed, 954 insertions(+), 78 deletions(-)

diff --git a/base-server/pom.xml b/base-server/pom.xml
new file mode 100644
index 0000000..af534dc
--- /dev/null
+++ b/base-server/pom.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>mom</artifactId>
+        <groupId>com.yuanchu.mom</groupId>
+        <version>1.0.0</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>base-server</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.yuanchu.mom</groupId>
+            <artifactId>framework</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>com.yuanchu.mom</groupId>
+            <artifactId>user-server</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.yuanchu.mom</groupId>
+            <artifactId>standard-server</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/base-server/src/main/java/com/yuanchu/mom/controller/TechnologyTemplateController.java b/base-server/src/main/java/com/yuanchu/mom/controller/TechnologyTemplateController.java
new file mode 100644
index 0000000..ee2d9b9
--- /dev/null
+++ b/base-server/src/main/java/com/yuanchu/mom/controller/TechnologyTemplateController.java
@@ -0,0 +1,109 @@
+package com.yuanchu.mom.controller;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.pojo.dto.TechnologyTemplateDto;
+import com.yuanchu.mom.service.DeviceService;
+import com.yuanchu.mom.utils.JackSonUtil;
+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.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+import com.yuanchu.mom.service.TechnologyTemplateService;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * 宸ヨ壓璺嚎缁存姢琛�(TechnologyTemplate)琛ㄦ帶鍒跺眰
+ *
+ * @author zss
+ * @since 2023-08-18 16:59:14
+ */
+@Api(tags = "鍩虹鏁版嵁-->宸ヨ壓璺嚎缁存姢琛ㄦ帴鍙�")
+@RestController
+@RequestMapping("/technologyTemplate")
+public class TechnologyTemplateController {
+
+    @Autowired
+    private TechnologyTemplateService technologyTemplateService;
+
+
+    @ApiOperation(value = "鏂板宸ヨ壓璺嚎缁存姢-->閫夋嫨璁惧缁�")
+    @GetMapping("/chooseDevGroup")
+    public Result chooseDevGroup() {
+        return Result.success(technologyTemplateService.chooseDevGroup());
+    }
+
+    @ApiOperation(value = "鏂板宸ヨ壓璺嚎缁存姢")
+    @PostMapping("/addTechTemp")
+    public Result addSale(@Validated @RequestBody TechnologyTemplateDto technologyTemplateDto) {
+        technologyTemplateService.addSale(technologyTemplateDto);
+        return Result.success("鏂板鎴愬姛!");
+    }
+
+    @ApiOperation(value = "鏌ヨ宸ヨ壓璺嚎鍒楄〃")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "pageSize", value = "椤垫暟", dataTypeClass = Integer.class, required = true),
+            @ApiImplicitParam(name = "countSize", value = "鏉℃暟/椤�", dataTypeClass = Integer.class, required = true),
+            @ApiImplicitParam(name = "type", value = "绫诲瀷", dataTypeClass = Integer.class),
+            @ApiImplicitParam(name = "name", value = "宸ヨ壓", dataTypeClass = String.class),
+            @ApiImplicitParam(name = "father", value = "宸ュ簭", dataTypeClass = String.class)
+    })
+    @GetMapping("/selectAllTechTem")
+    public Result selectAllTechTem(int pageSize, int countSize, Integer type, String name, String father) {
+        IPage<Map<String, Object>> technologyTemplatePage = technologyTemplateService.selectAllTechTem(new Page<Object>(pageSize, countSize), type, name, father);
+        Map<String, Object> map = new HashMap<>();
+        map.put("total", technologyTemplatePage.getTotal());
+        map.put("row", technologyTemplatePage.getRecords());
+        return Result.success(map);
+    }
+
+    @ApiOperation(value = "鏍规嵁id鏌ヨ璇︽儏")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "id", value = "宸ヨ壓id", dataTypeClass = Integer.class,required = true)
+    })
+    @GetMapping("/selecTechById")
+    public Result selecTechById(Integer id) {
+        return Result.success(technologyTemplateService.getById(id));
+    }
+
+    @ApiOperation(value = "缂栬緫")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "id", value = "宸ヨ壓id", dataTypeClass = Integer.class,required = true)
+    })
+    @PostMapping("/writeTechById")
+    public Result writeTechById(Integer id,@RequestBody TechnologyTemplateDto technologyTemplateDto) {
+        technologyTemplateService.writeTechById(id,technologyTemplateDto);
+        return Result.success("淇敼鎴愬姛!");
+    }
+
+    @ApiOperation(value = "鍒犻櫎")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "id", value = "宸ヨ壓id", dataTypeClass = Integer.class,required = true)
+    })
+    @PostMapping("/delTechById")
+    public Result delTechById(Integer id) {
+        technologyTemplateService.delTechById(id);
+        return Result.success("鍒犻櫎鎴愬姛!");
+    }
+
+    @ApiOperation(value = "鎵归噺鍒犻櫎")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "ids", value = "宸ヨ壓id", dataTypeClass = String.class,required = true)
+    })
+    @PostMapping("/delAllTech")
+    public Result delAllTech(String ids) {
+        technologyTemplateService.delAllTech(ids);
+        return Result.success("鎵归噺鍒犻櫎鎴愬姛!");
+    }
+}
+
diff --git a/base-server/src/main/java/com/yuanchu/mom/mapper/TechnologyTemplateMapper.java b/base-server/src/main/java/com/yuanchu/mom/mapper/TechnologyTemplateMapper.java
new file mode 100644
index 0000000..550a7cb
--- /dev/null
+++ b/base-server/src/main/java/com/yuanchu/mom/mapper/TechnologyTemplateMapper.java
@@ -0,0 +1,25 @@
+package com.yuanchu.mom.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.mom.pojo.TechnologyTemplate;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 宸ヨ壓璺嚎缁存姢琛�(TechnologyTemplate)琛ㄦ暟鎹簱璁块棶灞�
+ *
+ * @author zss
+ * @since 2023-08-18 16:59:14
+ */
+public interface TechnologyTemplateMapper extends BaseMapper<TechnologyTemplate> {
+
+    //鏌ヨ宸ヨ壓璺嚎鍒楄〃
+    IPage<Map<String, Object>> selectAllTechTem(Page<Object> page, Integer type, String name, String father);
+
+    //鎵归噺鍒犻櫎
+    void delAllTech(String ids);
+}
+
diff --git a/standard-server/src/main/java/com/yuanchu/mom/pojo/TechnologyTemplate.java b/base-server/src/main/java/com/yuanchu/mom/pojo/TechnologyTemplate.java
similarity index 66%
rename from standard-server/src/main/java/com/yuanchu/mom/pojo/TechnologyTemplate.java
rename to base-server/src/main/java/com/yuanchu/mom/pojo/TechnologyTemplate.java
index c6d5499..e7dc98f 100644
--- a/standard-server/src/main/java/com/yuanchu/mom/pojo/TechnologyTemplate.java
+++ b/base-server/src/main/java/com/yuanchu/mom/pojo/TechnologyTemplate.java
@@ -3,41 +3,44 @@
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModelProperty;
-import lombok.*;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.util.Date;
 import java.io.Serializable;
 
 /**
- * 宸ヨ壓妯$増琛�(TechnologyTemplate)琛ㄥ疄浣撶被
+ * 宸ヨ壓璺嚎缁存姢琛�(TechnologyTemplate)琛ㄥ疄浣撶被
  *
  * @author zss
- * @since 2023-08-09 11:20:20
+ * @since 2023-08-18 16:59:14
  */
 @Data
 @Accessors(chain = true)
 @AllArgsConstructor
 @NoArgsConstructor
 @EqualsAndHashCode(callSuper = false)
-@Builder
 @TableName("technology_template")
 public class TechnologyTemplate implements Serializable {
     private static final long serialVersionUID = 1L;
 
     /**
-     * 宸ュ簭id
+     * 宸ヨ壓id
      **/
     @TableId(type = IdType.AUTO)
     private Integer id;
 
     /**
-     * 宸ュ簭鍚嶇О
+     * 宸ヨ壓
      **/
     private String name;
 
     /**
-     * 宸ュ簭鐖剁骇
+     * 宸ュ簭(鐖剁被)
      **/
     private String father;
 
@@ -50,33 +53,23 @@
     private Integer state;
 
     @TableField(fill = FieldFill.INSERT)
-    @ApiModelProperty(value = "鍒涘缓鏃堕棿", hidden = true)
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date createTime;
 
     @TableField(fill = FieldFill.INSERT_UPDATE)
-    @ApiModelProperty(value = "鏇存柊鏃堕棿", hidden = true)
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date updateTime;
 
     /**
-     * 鍏冧欢
+     * 鍏冧欢0:鎻掑ご1:鎻掍欢
      **/
     private String element;
 
     /**
-     * 鎺у埗瑕佺偣
+     * 璁惧缁�
      **/
-    private String control;
-
-    /**
-     * 鍩烘湰瑕佹眰
-     **/
-    private String base;
-
-    /**
-     * 澶囨敞
-     **/
-    private String note;
+    private String deviceGroup;
 }
 
diff --git a/base-server/src/main/java/com/yuanchu/mom/pojo/dto/TechnologyTemplateDto.java b/base-server/src/main/java/com/yuanchu/mom/pojo/dto/TechnologyTemplateDto.java
new file mode 100644
index 0000000..1baefff
--- /dev/null
+++ b/base-server/src/main/java/com/yuanchu/mom/pojo/dto/TechnologyTemplateDto.java
@@ -0,0 +1,33 @@
+package com.yuanchu.mom.pojo.dto;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+@Data
+//鏂板宸ヨ壓璺嚎缁存姢鍙傛暟
+public class TechnologyTemplateDto {
+
+    @JsonSerialize
+    @NotNull(message = "绫诲瀷涓嶈兘涓虹┖")
+    private Integer type;
+
+    @JsonSerialize
+    @NotBlank(message = "宸ュ簭涓嶈兘涓虹┖")
+    private String father;
+
+    @JsonSerialize
+    @NotBlank(message = "宸ヨ壓涓嶈兘涓虹┖")
+    private String name;
+
+    @JsonSerialize
+    @NotBlank(message = "鍏冧欢涓嶈兘涓虹┖")
+    private String element;
+
+    @JsonSerialize
+    @NotBlank(message = "璁惧缁勪笉鑳戒负绌�")
+    private String deviceGroup;
+
+}
diff --git a/base-server/src/main/java/com/yuanchu/mom/service/TechnologyTemplateService.java b/base-server/src/main/java/com/yuanchu/mom/service/TechnologyTemplateService.java
new file mode 100644
index 0000000..2a80f59
--- /dev/null
+++ b/base-server/src/main/java/com/yuanchu/mom/service/TechnologyTemplateService.java
@@ -0,0 +1,62 @@
+package com.yuanchu.mom.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.yuanchu.mom.pojo.TechnologyTemplate;
+import com.yuanchu.mom.pojo.dto.TechnologyTemplateDto;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 宸ヨ壓璺嚎缁存姢琛�(TechnologyTemplate)琛ㄦ湇鍔℃帴鍙�
+ *
+ * @author zss
+ * @since 2023-08-18 16:59:14
+ */
+public interface TechnologyTemplateService extends IService<TechnologyTemplate> {
+
+    /**
+     * 閫夋嫨璁惧缁�
+     * @return
+     */
+    List<Map<String,Object>> chooseDevGroup();
+
+    /**
+     * 鏂板宸ヨ壓璺嚎
+     * @param technologyTemplateDto
+     */
+    void addSale(TechnologyTemplateDto technologyTemplateDto);
+
+    /**
+     * 鏌ヨ宸ヨ壓璺嚎鍒楄〃
+     * @param page
+     * @param type
+     * @param name
+     * @param father
+     * @return
+     */
+    IPage<Map<String, Object>> selectAllTechTem(Page<Object> page, Integer type, String name, String father);
+
+
+    /**
+     * 缂栬緫
+     * @param id
+     * @param technologyTemplateDto
+     */
+    void writeTechById(Integer id, TechnologyTemplateDto technologyTemplateDto);
+
+    /**
+     * 鍒犻櫎
+     * @param id
+     */
+    void delTechById(Integer id);
+
+    /**
+     * 鎵归噺鍒犻櫎
+     * @param ids
+     */
+    void delAllTech(String ids);
+}
+
diff --git a/base-server/src/main/java/com/yuanchu/mom/service/impl/TechnologyTemplateServiceImpl.java b/base-server/src/main/java/com/yuanchu/mom/service/impl/TechnologyTemplateServiceImpl.java
new file mode 100644
index 0000000..aa8345b
--- /dev/null
+++ b/base-server/src/main/java/com/yuanchu/mom/service/impl/TechnologyTemplateServiceImpl.java
@@ -0,0 +1,77 @@
+package com.yuanchu.mom.service.impl;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yuanchu.mom.mapper.DeviceMapper;
+import com.yuanchu.mom.mapper.TechnologyTemplateMapper;
+import com.yuanchu.mom.pojo.TechnologyTemplate;
+import com.yuanchu.mom.pojo.dto.TechnologyTemplateDto;
+import com.yuanchu.mom.service.TechnologyTemplateService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 宸ヨ壓璺嚎缁存姢琛�(TechnologyTemplate)琛ㄦ湇鍔″疄鐜扮被
+ *
+ * @author zss
+ * @since 2023-08-18 16:59:14
+ */
+@Service
+public class TechnologyTemplateServiceImpl extends ServiceImpl<TechnologyTemplateMapper, TechnologyTemplate> implements TechnologyTemplateService {
+
+    @Resource
+    TechnologyTemplateMapper technologyTemplateMapper;
+
+    @Resource
+    DeviceMapper deviceMapper;
+
+
+    //閫夋嫨璁惧缁�
+    @Override
+    public List<Map<String, Object>> chooseDevGroup() {
+        return deviceMapper.chooseDevGroup();
+    }
+
+    //鏂板宸ヨ壓璺嚎
+    @Override
+    public void addSale(TechnologyTemplateDto technologyTemplateDto) {
+        TechnologyTemplate technologyTemplate = new TechnologyTemplate();
+        BeanUtils.copyProperties(technologyTemplateDto,technologyTemplate);
+        technologyTemplateMapper.insert(technologyTemplate);
+    }
+
+    //鏌ヨ宸ヨ壓璺嚎鍒楄〃
+    @Override
+    public IPage<Map<String, Object>> selectAllTechTem(Page<Object> page, Integer type, String name, String father) {
+        return technologyTemplateMapper.selectAllTechTem(page,type,name,father);
+    }
+
+    //缂栬緫
+    @Override
+    public void writeTechById(Integer id, TechnologyTemplateDto technologyTemplateDto) {
+        TechnologyTemplate technologyTemplate = new TechnologyTemplate();
+        BeanUtils.copyProperties(technologyTemplateDto,technologyTemplate);
+        technologyTemplate.setId(id);
+        technologyTemplateMapper.updateById(technologyTemplate);
+    }
+
+    //鍒犻櫎
+    @Override
+    public void delTechById(Integer id) {
+        TechnologyTemplate technologyTemplate = new TechnologyTemplate();
+        technologyTemplate.setId(id).setState(0);
+        technologyTemplateMapper.updateById(technologyTemplate);
+    }
+
+    //鎵归噺鍒犻櫎
+    @Override
+    public void delAllTech(String ids) {
+        technologyTemplateMapper.delAllTech(ids);
+    }
+}
+
diff --git a/base-server/src/main/resources/mapper/TechnologyTemplateMapper.xml b/base-server/src/main/resources/mapper/TechnologyTemplateMapper.xml
new file mode 100644
index 0000000..cd5b7db
--- /dev/null
+++ b/base-server/src/main/resources/mapper/TechnologyTemplateMapper.xml
@@ -0,0 +1,27 @@
+<?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.yuanchu.mom.mapper.TechnologyTemplateMapper">
+    <update id="delAllTech">
+        update mom_ocean.technology_template
+        set state=0
+        where id in (${ids})
+    </update>
+    <select id="selectAllTechTem" resultType="java.util.Map">
+        select id,
+        name,
+        father,
+        element,
+        device_group
+        from mom_ocean.technology_template
+        where state=1
+        <if test="type!=null">
+            and type=#{type}
+        </if>
+        <if test="name!=null and name!=''">
+            and name like concat('%',#{name},'%')
+        </if>
+        <if test="father!=null and father!=''">
+            and father like concat('%',#{father},'%')
+        </if>
+    </select>
+</mapper>
\ No newline at end of file
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 1dd3902..d228fbf 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
@@ -74,6 +74,7 @@
                 .downtime(sale.getCreateTime())
                 .deltime(sale.getDelTime())
                 .qualityTraceability(MyUtil.getTimeSixNumberCode("GPT", "GPT"))
+                .downman(sale.getOrderName())
                 .build();
         //鏂板鐢熶骇璁㈠崟
         manufactureOrderMapper.insert(manufactureOrder);
@@ -87,6 +88,7 @@
                     .techfather(technology.getFather())
                     .deviceGroup(technology.getDeviceGroup())
                     .manufactureOrderId(manufactureOrder.getId())
+                    .period((int) Math.ceil((double)manufactureOrder.getNumber()/technology.getProductionQuota()))
                     .build();
             //鏂板缂栧埗宸ュ簭琛�
             manualTechnologyMapper.insert(manualTechnology);
diff --git a/pom.xml b/pom.xml
index 4402414..5522b16 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,6 +23,7 @@
         <module>inventory-server</module>
         <module>system-run</module>
         <module>production-server</module>
+        <module>base-server</module>
     </modules>
 
     <properties>
diff --git a/production-server/src/main/java/com/yuanchu/mom/controller/ManualTechnologyController.java b/production-server/src/main/java/com/yuanchu/mom/controller/ManualTechnologyController.java
deleted file mode 100644
index 54c7334..0000000
--- a/production-server/src/main/java/com/yuanchu/mom/controller/ManualTechnologyController.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.yuanchu.mom.controller;
-
-
-import io.swagger.annotations.Api;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import com.yuanchu.mom.service.ManualTechnologyService;
-
-
-/**
- * 缂栧埗宸ュ簭琛�(ManualTechnology)琛ㄦ帶鍒跺眰
- *
- * @author zss
- * @since 2023-08-17 14:16:46
- */
-@Api(tags = "缂栧埗宸ュ簭琛ㄦ帴鍙�")
-@RestController
-@RequestMapping("/manualTechnology")
-public class ManualTechnologyController {
-
-    @Autowired
-    private ManualTechnologyService manualTechnologyService;
-
-}
-
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 4e64912..d42798d 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
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.mapper.ManualTechnologyMapper;
 import com.yuanchu.mom.pojo.ManualTechnology;
+import com.yuanchu.mom.pojo.dto.ManualTechnologyDto;
 import com.yuanchu.mom.service.DeviceService;
 import com.yuanchu.mom.service.ManualTechnologyService;
 import com.yuanchu.mom.vo.Result;
@@ -13,11 +14,16 @@
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import com.yuanchu.mom.service.ManufactureOrderService;
 
 import javax.annotation.Resource;
+import javax.xml.crypto.Data;
+import java.text.ParseException;
+import java.util.Date;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 
@@ -78,10 +84,33 @@
     }
 
     @ApiOperation(value = "鎺掍骇-->3.鏇存柊")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "date", value = "鎺掍骇寮�濮嬫棩鏈�", dataTypeClass = String.class, required = true)
+    })
     @PostMapping("/output")
-    public Result output(String deviceGroup) {
+    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));
+    }
+
+    @ApiOperation(value = "涓嬭揪")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "manOrdId", value = "鐢熶骇璁㈠崟id", dataTypeClass = Integer.class, required = true)
+    })
+    @PostMapping("/down")
+    public Result down(Integer manOrdId) {
+        manufactureOrderService.down(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
new file mode 100644
index 0000000..721cfbc
--- /dev/null
+++ b/production-server/src/main/java/com/yuanchu/mom/controller/ProductionPlanController.java
@@ -0,0 +1,47 @@
+package com.yuanchu.mom.controller;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+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.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.Map;
+
+@Api(tags = "鐢熶骇绠$悊-->鐢熶骇璁″垝")
+@RestController
+@RequestMapping("/productionPlan")
+public class ProductionPlanController {
+
+    @Resource
+    ProductionPlanService productionPlanService;
+
+
+    @ApiOperation(value = "鏌ヨ璁惧鍒楄〃")
+    @GetMapping("/selectAllDev")
+    public Result selectAllDev() {
+        return Result.success(productionPlanService.selectAllDev());
+    }
+
+    @ApiOperation(value = "鏌ヨ鐢熶骇璁″垝鍒楄〃")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "deviceId", value = "璁惧id", dataTypeClass = Integer.class, required = true),
+            @ApiImplicitParam(name = "orderCode", value = "璁㈠崟鍙�", dataTypeClass = String.class),
+            @ApiImplicitParam(name = "name", value = "浜у搧鍚嶇О", dataTypeClass = String.class),
+            @ApiImplicitParam(name = "startTime", value = "璁″垝寮�濮嬫棩鏈�", dataTypeClass = String.class),
+            @ApiImplicitParam(name = "endTime", value = "璁″垝缁撴潫鏃ユ湡", dataTypeClass = String.class)
+    })
+    @GetMapping("/selectAllPlan")
+    public Result selectAllPlan(Integer deviceId, String orderCode, String name, String startTime, String endTime) {
+        return Result.success(productionPlanService.selectAllPlan(deviceId,orderCode,name,startTime,endTime));
+    }
+}
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 5cfae84..8e7a254 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
@@ -16,5 +16,12 @@
 
     //鎺掍骇-->鏌ョ湅
     List<Map<String, Object>> seleDatil(Integer manOrdId);
+
+    //鎵归噺鏇存柊
+    void updateBatchManualTechnology(List<ManualTechnology> manualTechnologies);
+
+    //鏌ヨ鎵�鏈夎澶囧垪琛�
+    List<Map<String, Object>> selectAllDev();
+
 }
 
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 8581de5..701d27b 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
@@ -4,7 +4,9 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.mom.pojo.ManufactureOrder;
+import com.yuanchu.mom.pojo.dto.ManufactureOrderDto;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -17,5 +19,9 @@
 
     //鏌ヨ鐢熶骇璁㈠崟鍒楄〃
     IPage<Map<String, Object>> selectAllManord(Page<Object> page, String downTime, String delTime, String customerCode, Integer type);
+
+
+    //鏌ョ湅鐢熶骇璁″垝
+    List<Map<String, Object>> selectAllPlan(Integer deviceId, String orderCode, String name, String startTime, String endTime);
 }
 
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 066dbcf..3f9c6d4 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
@@ -50,7 +50,7 @@
     /**
      * 鍏宠仈 璁惧id
      **/
-    private String deviceId;
+    private Integer deviceId;
 
     /**
      * 鍏宠仈 鐢熶骇璁㈠崟id
@@ -69,5 +69,24 @@
     @DateTimeFormat(pattern = "yyyy-MM-dd")
     @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date updateTime;
+
+    /**
+     * 寮�濮嬫棩鏈�(璁″垝)
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date startTime;
+
+    /**
+     * 缁撴潫鏃ユ湡(璁″垝)
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date endTime;
+
+    /**
+     * 鍛ㄦ湡
+     **/
+    private Integer period;
 }
 
diff --git a/production-server/src/main/java/com/yuanchu/mom/pojo/ManufactureOrder.java b/production-server/src/main/java/com/yuanchu/mom/pojo/ManufactureOrder.java
index 3d6d2c8..da81b15 100644
--- a/production-server/src/main/java/com/yuanchu/mom/pojo/ManufactureOrder.java
+++ b/production-server/src/main/java/com/yuanchu/mom/pojo/ManufactureOrder.java
@@ -108,5 +108,15 @@
     @DateTimeFormat(pattern = "yyyy-MM-dd")
     @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date updateTime;
+
+    /**
+     * 涓嬭揪鐘舵��0:寰呬笅杈�;1:宸蹭笅杈�
+     **/
+    private Integer goState;
+
+    /**
+     * 涓嬪崟浜�
+     **/
+    private String downman;
 }
 
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 88ec6f4..15789bf 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,11 +1,46 @@
 package com.yuanchu.mom.pojo.dto;
 
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 
 @Data
 //鏇存柊鎺掍骇(閫夋嫨璁惧)
 public class ManualTechnologyDto {
 
+    //宸ュ簭id
+    @NotNull(message = "id涓嶈兘涓虹┖")
+    @JsonSerialize
     private Integer id;
 
+    /**
+     * 宸ュ簭鍚嶇О
+     **/
+    @NotBlank(message = "宸ュ簭鍚嶇О涓嶈兘涓虹┖")
+    @JsonSerialize
+    private String techname;
+
+    /**
+     * 宸ュ簭鐖剁被
+     **/
+    @NotBlank(message = "宸ュ簭鐖剁被涓嶈兘涓虹┖")
+    @JsonSerialize
+    private String techfather;
+
+    /**
+     * 璁惧缁�
+     **/
+    @NotBlank(message = "璁惧缁勪笉鑳戒负绌�")
+    @JsonSerialize
+    private String deviceGroup;
+
+    /**
+     * 鍏宠仈 璁惧id
+     **/
+    @NotNull(message = "璁惧id涓嶈兘涓虹┖")
+    @JsonSerialize
+    private Integer  deviceId;
+
 }
diff --git a/production-server/src/main/java/com/yuanchu/mom/pojo/dto/ManualTechnologyDto1.java b/production-server/src/main/java/com/yuanchu/mom/pojo/dto/ManualTechnologyDto1.java
new file mode 100644
index 0000000..776a451
--- /dev/null
+++ b/production-server/src/main/java/com/yuanchu/mom/pojo/dto/ManualTechnologyDto1.java
@@ -0,0 +1,53 @@
+package com.yuanchu.mom.pojo.dto;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.util.Date;
+
+//鏌ョ湅鎺掍骇璇︽儏涓殑璁″垝缂栧埗
+@Data
+public class ManualTechnologyDto1 {
+
+    /**
+     * 宸ュ簭id
+     **/
+    private Integer mtechId;
+
+    /**
+     * 宸ュ簭鍚嶇О
+     **/
+    private String techname;
+
+    /**
+     * 宸ュ簭鐖剁被
+     **/
+    private String techfather;
+
+
+    /**
+     * 璁惧鍚�(鏈哄彴)
+     **/
+    private String deviceName;
+
+
+    /**
+     * 寮�濮嬫棩鏈�(璁″垝)
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date startTime;
+
+    /**
+     * 缁撴潫鏃ユ湡(璁″垝)
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date endTime;
+
+    /**
+     * 鍛ㄦ湡
+     **/
+    private Integer period;
+}
diff --git a/production-server/src/main/java/com/yuanchu/mom/pojo/dto/ManufactureOrderDto.java b/production-server/src/main/java/com/yuanchu/mom/pojo/dto/ManufactureOrderDto.java
new file mode 100644
index 0000000..d58bcb6
--- /dev/null
+++ b/production-server/src/main/java/com/yuanchu/mom/pojo/dto/ManufactureOrderDto.java
@@ -0,0 +1,67 @@
+package com.yuanchu.mom.pojo.dto;
+
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+//鏌ョ湅鎺掍骇璇︽儏
+public class ManufactureOrderDto {
+
+    /**
+     * 璁㈠崟id
+     **/
+    private Integer id;
+
+    /**
+     * 璁㈠崟缂栧彿
+     **/
+    private String orderCode;
+
+    /**
+     * 鍚堝悓缂栧彿(瀹㈡埛璁㈠崟鍙�)
+     **/
+    private String customerCode;
+
+    /**
+     * 浜у搧鍚嶇О
+     **/
+    private String name;
+
+    /**
+     * 瑙勬牸鍨嬪彿
+     **/
+    private String specifications;
+
+    /**
+     * 鏁伴噺
+     **/
+    private Integer number;
+
+    /**
+     * 涓嬪崟鏃ユ湡
+     **/
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date downtime;
+
+    /**
+     * 浜よ揣鏃ユ湡
+     **/
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date deltime;
+
+    /*璁″垝缂栧埗*/
+    private List<ManualTechnologyDto1> message;
+
+}
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 6405940..d7df97f 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
@@ -2,7 +2,10 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.yuanchu.mom.pojo.ManualTechnology;
+import com.yuanchu.mom.pojo.dto.ManualTechnologyDto;
 
+import java.text.ParseException;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -20,5 +23,12 @@
      * @return
      */
     List<Map<String,Object>> seleDatil(Integer manOrdId);
+
+    /**
+     * 鎺掍骇==>鏇存柊
+     * @param manualTechnologyDtoList
+     */
+    void output(String date, 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 e3abaae..7207ffa 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
@@ -4,7 +4,9 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.yuanchu.mom.pojo.ManufactureOrder;
+import com.yuanchu.mom.pojo.dto.ManufactureOrderDto;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -25,5 +27,18 @@
      * @return
      */
     IPage<Map<String, Object>> selectAllManord(Page<Object> page, String downTime, String delTime, String customerCode, Integer type);
+
+    /**
+     * 鏌ョ湅鎺掍骇璇︽儏
+     * @param manOrdId
+     * @return
+     */
+    ManufactureOrderDto sePros(Integer manOrdId);
+
+    /**
+     * 涓嬭揪
+     * @param manOrdId
+     */
+    void down(Integer manOrdId);
 }
 
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
new file mode 100644
index 0000000..2c7362d
--- /dev/null
+++ b/production-server/src/main/java/com/yuanchu/mom/service/ProductionPlanService.java
@@ -0,0 +1,29 @@
+package com.yuanchu.mom.service;
+
+
+import java.util.List;
+import java.util.Map;
+
+public interface ProductionPlanService {
+
+
+    /**
+     * 鏌ヨ璁惧鍒楄〃
+     * @return
+     */
+    List<Map<String,Object>> selectAllDev();
+
+    /**
+     * 鏌ヨ鐢熶骇璁″垝鍒楄〃
+     * @param deviceId
+     * @param orderCode
+     * @param name
+     * @param startTime
+     * @param endTime
+     * @return
+     */
+    List<Map<String,Object>> selectAllPlan(Integer deviceId, String orderCode, String name, String startTime, String endTime);
+
+
+
+}
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 874c759..537e132 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
@@ -4,13 +4,24 @@
 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.ManualTechnology;
+import com.yuanchu.mom.pojo.ManufactureOrder;
+import com.yuanchu.mom.pojo.dto.ManualTechnologyDto;
 import com.yuanchu.mom.service.ManualTechnologyService;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
+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.stream.Collectors;
 
 /**
  * 缂栧埗宸ュ簭琛�(ManualTechnology)琛ㄦ湇鍔″疄鐜扮被
@@ -25,12 +36,68 @@
     ManualTechnologyMapper manualTechnologyMapper;
 
     @Resource
-    DeviceMapper deviceMapper;
+    ManufactureOrderMapper manufactureOrderMapper;
+
 
     //鎺掍骇-->鏌ョ湅
     @Override
-    public List<Map<String,Object>> seleDatil(Integer manOrdId) {
+    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 {
+        //鏇存柊姣忎釜宸ュ簭鐨勮澶�
+        List<ManualTechnology> manualTechnologies = manualTechnologyDtoList.stream().map(manualTechnologyDto -> {
+            ManualTechnology manualTechnology = new ManualTechnology();
+            BeanUtils.copyProperties(manualTechnologyDto, manualTechnology);
+            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);
+        calendar.add(Calendar.DATE, manualTechnology.getPeriod());
+        manualTechnology.setStartTime(parse).setEndTime(calendar.getTime());
+        //寰幆璧嬪�兼椂闂�
+        for (int i = 0; i < manualTechnologyList.size()-1 ; i++) {
+            Calendar calendar1 = Calendar.getInstance();
+            calendar1.setTime(manualTechnologyList.get(i).getEndTime());
+            ManualTechnology technology = manualTechnologyList.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;
+    }
 }
 
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 3e3078a..01a5494 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,15 +1,24 @@
 package com.yuanchu.mom.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 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.ManualTechnology;
 import com.yuanchu.mom.pojo.ManufactureOrder;
+import com.yuanchu.mom.pojo.dto.ManualTechnologyDto1;
+import com.yuanchu.mom.pojo.dto.ManufactureOrderDto;
 import com.yuanchu.mom.service.ManufactureOrderService;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 鐢熶骇璁㈠崟琛�(ManufactureOrder)琛ㄦ湇鍔″疄鐜扮被
@@ -23,10 +32,44 @@
     @Resource
     ManufactureOrderMapper manufactureOrderMapper;
 
+    @Resource
+    ManualTechnologyMapper manualTechnologyMapper;
+
+    @Resource
+    DeviceMapper deviceMapper;
+
     //鏌ヨ鐢熶骇璁㈠崟鐨勫垪琛�
     @Override
     public IPage<Map<String, Object>> selectAllManord(Page<Object> page, String downTime, String delTime, String customerCode, Integer type) {
         return manufactureOrderMapper.selectAllManord(page,downTime,delTime,customerCode,type);
     }
+
+
+    //鏌ョ湅鎺掍骇璇︽儏
+    @Override
+    public ManufactureOrderDto sePros(Integer manOrdId) {
+        ManufactureOrderDto manufactureOrderDto = new ManufactureOrderDto();
+        //鍩烘湰淇℃伅
+        ManufactureOrder manufactureOrder = manufactureOrderMapper.selectById(manOrdId);
+        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);
+        return manufactureOrderDto;
+    }
+
+    //涓嬭揪
+    @Override
+    public void down(Integer manOrdId) {
+        ManufactureOrder manufactureOrder = new ManufactureOrder().setId(manOrdId).setGoState(1);
+        manufactureOrderMapper.updateById(manufactureOrder);
+    }
 }
 
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
new file mode 100644
index 0000000..9b01d35
--- /dev/null
+++ b/production-server/src/main/java/com/yuanchu/mom/service/impl/ProductionPlanServiceImpl.java
@@ -0,0 +1,32 @@
+package com.yuanchu.mom.service.impl;
+
+import com.yuanchu.mom.mapper.ManualTechnologyMapper;
+import com.yuanchu.mom.mapper.ManufactureOrderMapper;
+import com.yuanchu.mom.service.ProductionPlanService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class ProductionPlanServiceImpl implements ProductionPlanService {
+
+    @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) {
+        return manufactureOrderMapper.selectAllPlan(deviceId,orderCode,name,startTime,endTime);
+    }
+}
diff --git a/production-server/src/main/resources/mapper/ManualTechnologyMapper.xml b/production-server/src/main/resources/mapper/ManualTechnologyMapper.xml
index 743e3ab..a85ffba 100644
--- a/production-server/src/main/resources/mapper/ManualTechnologyMapper.xml
+++ b/production-server/src/main/resources/mapper/ManualTechnologyMapper.xml
@@ -1,6 +1,33 @@
 <?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.yuanchu.mom.mapper.ManualTechnologyMapper">
+    <!--鎵归噺鏇存柊-->
+    <update id="updateBatchManualTechnology">
+        UPDATE mom_ocean.manual_technology
+        <trim prefix="set" suffixOverrides=",">
+            <trim prefix="device_id=case" suffix="end,">
+                <foreach collection="manualTechnologies" item="manualTechnologie">
+                    WHEN id =#{manualTechnologie.id} THEN #{manualTechnologie.deviceId}
+                </foreach>
+            </trim>
+            <trim prefix="start_time=case" suffix="end,">
+                <foreach collection="manualTechnologies" item="manualTechnologie">
+                    WHEN id =#{manualTechnologie.id} THEN #{manualTechnologie.startTime}
+                </foreach>
+            </trim>
+            <trim prefix="end_time=case" suffix="end,">
+                <foreach collection="manualTechnologies" item="manualTechnologie">
+                    WHEN id =#{manualTechnologie.id} THEN #{manualTechnologie.endTime}
+                </foreach>
+            </trim>
+        </trim>
+        <where>
+            <foreach collection="manualTechnologies" separator="or" item="manualTechnologie">
+                id =#{manualTechnologie.id}
+            </foreach>
+        </where>
+    </update>
+
     <select id="seleDatil" resultType="java.util.Map">
         select manual_technology.id,
                techfather,
@@ -10,6 +37,16 @@
         from mom_ocean.manual_technology
                  left join mom_ocean.device
                            on device.id = device_id
-        where manufacture_order_id=#{manOrdId}
+        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
diff --git a/production-server/src/main/resources/mapper/ManufactureOrderMapper.xml b/production-server/src/main/resources/mapper/ManufactureOrderMapper.xml
index 080c60c..1e10873 100644
--- a/production-server/src/main/resources/mapper/ManufactureOrderMapper.xml
+++ b/production-server/src/main/resources/mapper/ManufactureOrderMapper.xml
@@ -14,6 +14,7 @@
         number,
         DATE_FORMAT(downTime, '%Y-%m-%d') '涓嬪崟鏃ユ湡',
         DATE_FORMAT(delTime, '%Y-%m-%d') '浜よ揣鏃ユ湡',
+        go_state,
         type
         from mom_ocean.manufacture_order
         where state=1
@@ -30,4 +31,34 @@
             and type=#{type}
         </if>
     </select>
+    <!--鏌ョ湅鐢熶骇璁″垝-->
+    <select id="selectAllPlan" resultType="java.util.Map">
+        select order_code,
+               name,
+               specifications,
+               unit,
+               number,
+               proname,
+               saleman,
+               downman,
+               techname,
+               DATE_FORMAT(start_time, '%Y-%m-%d') '璁″垝寮�濮嬫棩鏈�',
+               DATE_FORMAT(end_time, '%Y-%m-%d') '璁″垝缁撴潫鏃ユ湡'
+        from mom_ocean.manual_technology mt
+                 left join mom_ocean.manufacture_order mo
+                           on mt.manufacture_order_id = mo.id
+        where mo.state=1
+        and go_state=1
+        and device_id=#{deviceId}
+        <if test="orderCode!=null and orderCode!=''">
+            and order_code like concat('%',#{orderCode},'%')
+        </if>
+        <if test="startTime!=null and startTime!=''">
+            and DATE_FORMAT(start_time, '%Y-%m-%d')=#{startTime}
+        </if>
+        <if test="endTime!=null and endTime!=''">
+            and DATE_FORMAT(end_time, '%Y-%m-%d')=#{endTime}
+        </if>
+        order by start_time
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/standard-server/src/main/java/com/yuanchu/mom/controller/TechnologyTemplateController.java b/standard-server/src/main/java/com/yuanchu/mom/controller/TechnologyTemplateController.java
deleted file mode 100644
index 4ede6fb..0000000
--- a/standard-server/src/main/java/com/yuanchu/mom/controller/TechnologyTemplateController.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package com.yuanchu.mom.controller;
-
-
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.yuanchu.mom.pojo.dto.TechnologyTemplateDto;
-import com.yuanchu.mom.pojo.vo.TechnologyTemplateVo1;
-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.*;
-import com.yuanchu.mom.service.TechnologyTemplateService;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-
-/**
- * 宸ヨ壓妯$増琛�(TechnologyTemplate)琛ㄦ帶鍒跺眰
- *
- * @author zss
- * @since 2023-08-09 11:20:20
- */
-@Api(tags = "鍩虹鏁版嵁-->宸ュ簭")
-@RestController
-@RequestMapping("/technologyTemplate")
-public class TechnologyTemplateController {
-
-    @Autowired
-    private TechnologyTemplateService technologyTemplateService;
-
-    @ApiOperation(value = "鏂板宸ュ簭妯$増")
-    @PostMapping("/addTech")
-    public Result addTech(@RequestBody TechnologyTemplateDto technologyTemplateDto){
-        technologyTemplateService.addTech(technologyTemplateDto);
-        return Result.success("鏂板鎴愬姛!");
-    }
-
-    @ApiOperation(value = "鏌ヨ鎵�鏈夌被鍨�")
-    @GetMapping("/seleType")
-    public Result seleType(){
-        return Result.success(technologyTemplateService.seleType());
-    }
-
-    @ApiOperation(value = "鏌ヨ宸ュ簭妯$増鍒楄〃(浜岀骇鏍�)")
-    @ApiImplicitParams(value = {
-            @ApiImplicitParam(name = "element", value = "鍏冧欢", dataTypeClass = String.class),
-            @ApiImplicitParam(name = "father", value = "宸ュ簭(鐖剁被)", dataTypeClass = String.class),
-            @ApiImplicitParam(name = "type", value = "绫诲瀷", dataTypeClass = Integer.class,required = true)
-    })
-    @GetMapping("/selTech")
-    public Result selTech(String element,String father,Integer type){
-        List<TechnologyTemplateVo1> map = technologyTemplateService.selTech(element, father, type);
-        return Result.success(map);
-    }
-
-    @ApiOperation(value = "鏌ヨ宸ュ簭妯$増璇︽儏")
-    @ApiImplicitParams(value = {
-            @ApiImplicitParam(name = "id", value = "宸ュ簭id", dataTypeClass = Integer.class,required = true)
-    })
-    @GetMapping("/selTechById")
-    public Result selTechById(Integer id){
-        return Result.success(technologyTemplateService.selTechById(id));
-    }
-
-    @ApiOperation(value = "缂栬緫")
-    @ApiImplicitParams(value = {
-            @ApiImplicitParam(name = "id", value = "宸ュ簭id", dataTypeClass = Integer.class,required = true)
-    })
-    @PostMapping("/updaTechById")
-    public Result updaTechById(Integer id,@RequestBody TechnologyTemplateDto technologyTemplateDto){
-        technologyTemplateService.updaTechById(id,technologyTemplateDto);
-        return Result.success("淇敼鎴愬姛!");
-    }
-
-    @ApiOperation(value = "鏍规嵁閿�鍞崟id鍒犻櫎")
-    @ApiImplicitParams(value = {
-            @ApiImplicitParam(name = "id", value = "宸ュ簭id", dataTypeClass = Integer.class, required = true)
-    })
-    @PostMapping("/delTech")
-    public Result delTech(Integer id) {
-        technologyTemplateService.delTech(id);
-        return Result.success("鍒犻櫎鎴愬姛!");
-    }
-
-    @ApiOperation(value = "鎵归噺鍒犻櫎")
-    @ApiImplicitParams(value = {
-            @ApiImplicitParam(name = "ids", value = "閿�鍞崟id", dataTypeClass = Integer.class, dataType = "List", required = true)
-    })
-    @PostMapping("/delAllTech")
-    public Result delAllTech(@RequestParam("ids") List<Integer> ids) {
-        technologyTemplateService.delAllTech(ids);
-        return Result.success("鎵归噺鍒犻櫎鎴愬姛!");
-    }
-
-
-
-}
-
diff --git a/standard-server/src/main/java/com/yuanchu/mom/mapper/DeviceMapper.java b/standard-server/src/main/java/com/yuanchu/mom/mapper/DeviceMapper.java
index 26146fa..6193bba 100644
--- a/standard-server/src/main/java/com/yuanchu/mom/mapper/DeviceMapper.java
+++ b/standard-server/src/main/java/com/yuanchu/mom/mapper/DeviceMapper.java
@@ -21,4 +21,8 @@
     List<Map<String, Object>> DevicePageList(String codeNameModel, Integer type, Integer deviceStatue, Integer deviceId, String fatherName);
 
     List<Map<String, Object>> getDeviceNameByGroup(String deviceGroup);
+
+    //閫夋嫨璁惧缁�
+    List<Map<String, Object>> chooseDevGroup();
+
 }
diff --git a/standard-server/src/main/java/com/yuanchu/mom/mapper/TechnologyTemplateMapper.java b/standard-server/src/main/java/com/yuanchu/mom/mapper/TechnologyTemplateMapper.java
deleted file mode 100644
index abe9947..0000000
--- a/standard-server/src/main/java/com/yuanchu/mom/mapper/TechnologyTemplateMapper.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.yuanchu.mom.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.yuanchu.mom.pojo.TechnologyTemplate;
-import com.yuanchu.mom.pojo.vo.TechnologyTemplateVo1;
-import org.apache.ibatis.annotations.Select;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * 宸ヨ壓妯$増琛�(TechnologyTemplate)琛ㄦ暟鎹簱璁块棶灞�
- *
- * @author zss
- * @since 2023-08-09 11:20:20
- */
-public interface TechnologyTemplateMapper extends BaseMapper<TechnologyTemplate> {
-
-
-    //鏌ヨ鎵�鏈夌被鍨�
-    List<Integer> seleType();
-
-    //鏌ヨ宸ュ簭妯$増鍒楄〃
-    List<TechnologyTemplateVo1> selTech(String element, String father, Integer type);
-}
-
diff --git a/standard-server/src/main/java/com/yuanchu/mom/pojo/Technology.java b/standard-server/src/main/java/com/yuanchu/mom/pojo/Technology.java
index c9f0d0a..21389a2 100644
--- a/standard-server/src/main/java/com/yuanchu/mom/pojo/Technology.java
+++ b/standard-server/src/main/java/com/yuanchu/mom/pojo/Technology.java
@@ -54,9 +54,11 @@
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date updateTime;
 
-    @ApiModelProperty(value = "鍏宠仈 瑙勬牸id")
+    @ApiModelProperty(value = "鍏宠仈 鍨嬪彿id")
     private Integer specificationsId;
 
+    @ApiModelProperty(value = "鐢熶骇瀹氶(涓�/澶�)")
+    private Integer productionQuota;
 
 
 }
diff --git a/standard-server/src/main/java/com/yuanchu/mom/pojo/dto/TechnologyTemplateDto.java b/standard-server/src/main/java/com/yuanchu/mom/pojo/dto/TechnologyTemplateDto.java
deleted file mode 100644
index 710618d..0000000
--- a/standard-server/src/main/java/com/yuanchu/mom/pojo/dto/TechnologyTemplateDto.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.yuanchu.mom.pojo.dto;
-
-
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import lombok.*;
-import java.io.Serializable;
-
-
-
-@Data
-@JsonSerialize
-//鏂板鎴栬�呬慨鏀瑰伐搴忔ā鐗�
-public class TechnologyTemplateDto {
-
-    /**
-     * 宸ュ簭鍚嶇О
-     **/
-    @JsonSerialize
-    private String name;
-
-    /**
-     * 宸ュ簭鐖剁骇
-     **/
-    @JsonSerialize
-    private String father;
-
-    /**
-     * 0锛氭鑳惰繛鎺ュ櫒锛�1锛氶噾灞炶繛鎺ュ櫒锛�2锛氭箍鎻掓嫈鐢佃繛鎺ュ櫒锛�3锛氬垎鏀粍浠�
-     **/
-    @JsonSerialize
-    private Integer type;
-
-    /**
-     * 鍏冧欢
-     **/
-    @JsonSerialize
-    private String element;
-
-    /**
-     * 鎺у埗瑕佺偣
-     **/
-    @JsonSerialize
-    private String control;
-
-    /**
-     * 鍩烘湰瑕佹眰
-     **/
-    @JsonSerialize
-    private String base;
-
-    /**
-     * 澶囨敞
-     **/
-    @JsonSerialize
-    private String note;
-
-
-}
-
diff --git a/standard-server/src/main/java/com/yuanchu/mom/pojo/vo/TechnologyTemplateVo1.java b/standard-server/src/main/java/com/yuanchu/mom/pojo/vo/TechnologyTemplateVo1.java
deleted file mode 100644
index b94e8d4..0000000
--- a/standard-server/src/main/java/com/yuanchu/mom/pojo/vo/TechnologyTemplateVo1.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.yuanchu.mom.pojo.vo;
-
-
-import com.yuanchu.mom.pojo.dto.ProductDto2;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class TechnologyTemplateVo1 {
-
-    /**
-     * 椤圭洰鍚嶇О
-     */
-    private String father;
-
-    List<TechnologyTemplateVo2> children;
-}
diff --git a/standard-server/src/main/java/com/yuanchu/mom/pojo/vo/TechnologyTemplateVo2.java b/standard-server/src/main/java/com/yuanchu/mom/pojo/vo/TechnologyTemplateVo2.java
deleted file mode 100644
index 00bd44a..0000000
--- a/standard-server/src/main/java/com/yuanchu/mom/pojo/vo/TechnologyTemplateVo2.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.yuanchu.mom.pojo.vo;
-
-
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import lombok.Data;
-
-@Data
-public class TechnologyTemplateVo2 {
-
-    @JsonSerialize
-    private Integer id;
-
-    //宸ュ簭鍚嶇О
-    @JsonSerialize
-    private String name;
-
-    //鍏冧欢
-    @JsonSerialize
-    private String element;
-
-    //鍩烘湰瑕佹眰
-    @JsonSerialize
-    private String base;
-
-    //鎺у埗瑕佺偣
-    @JsonSerialize
-    private String control;
-
-    //澶囨敞
-    @JsonSerialize
-    private String note;
-
-
-}
diff --git a/standard-server/src/main/java/com/yuanchu/mom/service/TechnologyTemplateService.java b/standard-server/src/main/java/com/yuanchu/mom/service/TechnologyTemplateService.java
deleted file mode 100644
index 64b927d..0000000
--- a/standard-server/src/main/java/com/yuanchu/mom/service/TechnologyTemplateService.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package com.yuanchu.mom.service;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.yuanchu.mom.pojo.TechnologyTemplate;
-import com.yuanchu.mom.pojo.dto.TechnologyTemplateDto;
-import com.yuanchu.mom.pojo.vo.TechnologyTemplateVo1;
-
-import java.util.List;
-import java.util.Map;
-
-
-/**
- * 宸ヨ壓妯$増琛�(TechnologyTemplate)琛ㄦ湇鍔℃帴鍙�
- *
- * @author zss
- * @since 2023-08-09 11:20:20
- */
-public interface TechnologyTemplateService extends IService<TechnologyTemplate> {
-
-
-    /**
-     * 鏂板宸ュ簭妯$増
-     * @param technologyTemplateDto
-     */
-    void addTech(TechnologyTemplateDto technologyTemplateDto);
-
-    /**
-     * 鏌ヨ鎵�鏈夌被鍨�
-     * @return
-     */
-    List<Integer> seleType();
-
-    /**
-     * 鏌ヨ宸ュ簭妯$増鍒楄〃
-     * @param page
-     * @param element
-     * @param father
-     * @param type
-     * @return
-     */
-    List<TechnologyTemplateVo1> selTech(String element, String father, Integer type);
-
-    /**
-     * 鏍规嵁id鏌ヨ璇︽儏
-     * @param id
-     * @return
-     */
-    TechnologyTemplateDto selTechById(Integer id);
-
-    /**
-     * 鏍规嵁id淇敼
-     * @param id
-     * @param technologyTemplateDto
-     */
-    void updaTechById(Integer id, TechnologyTemplateDto technologyTemplateDto);
-
-    /**
-     * 鏍规嵁id鍒犻櫎
-     * @param id
-     */
-    void delTech(Integer id);
-
-    /**
-     * 鎵归噺鍒犻櫎
-     * @param ids
-     */
-    void delAllTech(List<Integer> ids);
-}
-
diff --git a/standard-server/src/main/java/com/yuanchu/mom/service/impl/TechnologyTemplateServiceImpl.java b/standard-server/src/main/java/com/yuanchu/mom/service/impl/TechnologyTemplateServiceImpl.java
deleted file mode 100644
index 32b9c30..0000000
--- a/standard-server/src/main/java/com/yuanchu/mom/service/impl/TechnologyTemplateServiceImpl.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package com.yuanchu.mom.service.impl;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.yuanchu.mom.mapper.TechnologyTemplateMapper;
-import com.yuanchu.mom.pojo.TechnologyTemplate;
-import com.yuanchu.mom.pojo.dto.TechnologyTemplateDto;
-import com.yuanchu.mom.pojo.vo.TechnologyTemplateVo1;
-import com.yuanchu.mom.service.TechnologyTemplateService;
-import org.springframework.beans.BeanUtils;
-import org.springframework.stereotype.Service;
-
-import javax.annotation.Resource;
-import java.util.List;
-import java.util.Map;
-
-/**
- * 宸ヨ壓妯$増琛�(TechnologyTemplate)琛ㄦ湇鍔″疄鐜扮被
- *
- * @author zss
- * @since 2023-08-09 11:20:20
- */
-@Service
-public class TechnologyTemplateServiceImpl extends ServiceImpl<TechnologyTemplateMapper, TechnologyTemplate> implements TechnologyTemplateService {
-
-
-    @Resource
-    TechnologyTemplateMapper technologyTemplateMapper;
-
-    //鏂板宸ュ簭妯$増
-    @Override
-    public void addTech(TechnologyTemplateDto technologyTemplateDto) {
-        TechnologyTemplate technologyTemplate = new TechnologyTemplate();
-        BeanUtils.copyProperties(technologyTemplateDto,technologyTemplate);
-        technologyTemplateMapper.insert(technologyTemplate);
-    }
-
-    //鏌ヨ鎵�鏈夌被鍨�
-    @Override
-    public List<Integer> seleType() {
-        return technologyTemplateMapper.seleType();
-    }
-
-    //鏌ヨ宸ュ簭妯$増鍒楄〃
-    @Override
-    public List<TechnologyTemplateVo1> selTech( String element, String father, Integer type) {
-        return technologyTemplateMapper.selTech(element,father,type);
-    }
-
-    //鏍规嵁id鏌ョ湅宸ュ簭璇︽儏
-    @Override
-    public TechnologyTemplateDto selTechById(Integer id) {
-        TechnologyTemplate technologyTemplate = technologyTemplateMapper.selectById(id);
-        TechnologyTemplateDto technologyTemplateDto = new TechnologyTemplateDto();
-        BeanUtils.copyProperties(technologyTemplate,technologyTemplateDto);
-        return technologyTemplateDto;
-    }
-
-    //鏍规嵁id淇敼
-    @Override
-    public void updaTechById(Integer id, TechnologyTemplateDto technologyTemplateDto) {
-        TechnologyTemplate technologyTemplate = technologyTemplateMapper.selectById(id);
-        BeanUtils.copyProperties(technologyTemplateDto,technologyTemplate);
-        technologyTemplateMapper.updateById(technologyTemplate);
-    }
-
-    //鏍规嵁id鍒犻櫎
-    @Override
-    public void delTech(Integer id) {
-        TechnologyTemplate technologyTemplate = technologyTemplateMapper.selectById(id);
-        technologyTemplate.setState(0);
-        technologyTemplateMapper.updateById(technologyTemplate);
-    }
-
-    //鎵归噺鍒犻櫎
-    @Override
-    public void delAllTech(List<Integer> ids) {
-        List<TechnologyTemplate> technologyTemplates = technologyTemplateMapper.selectBatchIds(ids);
-        for (TechnologyTemplate technologyTemplate : technologyTemplates) {
-            technologyTemplate.setState(0);
-            technologyTemplateMapper.updateById(technologyTemplate);
-        }
-    }
-}
-
diff --git a/standard-server/src/main/resources/mapper/DeviceMapper.xml b/standard-server/src/main/resources/mapper/DeviceMapper.xml
index 38e63fd..af9dd90 100644
--- a/standard-server/src/main/resources/mapper/DeviceMapper.xml
+++ b/standard-server/src/main/resources/mapper/DeviceMapper.xml
@@ -59,7 +59,14 @@
     <select id="getDeviceNameByGroup" resultType="java.util.Map">
         select id, name
         from mom_ocean.device
-        where state=1
-        and father=#{deviceGroup}
+        where state = 1
+          and father = #{deviceGroup}
+          and device_status in (1, 5)
+    </select>
+    <!--閫夋嫨璁惧缁�-->
+    <select id="chooseDevGroup" resultType="java.util.Map">
+        select distinct father
+        from mom_ocean.device
+        where state=1 and device_status in(1,5)
     </select>
 </mapper>
diff --git a/standard-server/src/main/resources/mapper/TechnologyTemplateMapper.xml b/standard-server/src/main/resources/mapper/TechnologyTemplateMapper.xml
deleted file mode 100644
index 01e5925..0000000
--- a/standard-server/src/main/resources/mapper/TechnologyTemplateMapper.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?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.yuanchu.mom.mapper.TechnologyTemplateMapper">
-    <select id="seleType" resultType="java.lang.Integer">
-        select distinct type
-        from mom_ocean.technology_template
-        where state = 1
-    </select>
-
-    <resultMap id="selTech" type="com.yuanchu.mom.pojo.vo.TechnologyTemplateVo1">
-        <id property="father" column="father" jdbcType="VARCHAR"/>
-        <collection property="children" resultMap="TechnologyTemplateVo2ListMap"/>
-    </resultMap>
-
-    <resultMap id="TechnologyTemplateVo2ListMap" type="com.yuanchu.mom.pojo.vo.TechnologyTemplateVo2">
-        <id property="id" column="id" jdbcType="INTEGER"/>
-        <result property="name" column="name" jdbcType="VARCHAR"/>
-        <result property="element" column="element" jdbcType="VARCHAR"/>
-        <result property="base" column="base" jdbcType="VARCHAR"/>
-        <result property="control" column="control" jdbcType="VARCHAR"/>
-        <result property="note" column="note" jdbcType="VARCHAR"/>
-    </resultMap>
-    <select id="selTech" resultMap="selTech">
-        select id,
-        father,
-        name,
-        element,
-        base,
-        control,
-        note
-        from mom_ocean.technology_template t
-        <where>
-            state=1
-            <if test="type!=null and type!=''">
-                and type=#{type}
-            </if>
-            <if test="element!=null and element!=''">
-                and element like concat('%',#{element},'%')
-            </if>
-            <if test="father!=null and father!=''">
-                and father like concat('%',#{father},'%')
-            </if>
-        </where>
-
-    </select>
-</mapper>
\ No newline at end of file
diff --git a/system-run/pom.xml b/system-run/pom.xml
index 24b7350..ff731c3 100644
--- a/system-run/pom.xml
+++ b/system-run/pom.xml
@@ -50,6 +50,11 @@
             <artifactId>production-server</artifactId>
             <version>1.0.0</version>
         </dependency>
+        <dependency>
+            <groupId>com.yuanchu.mom</groupId>
+            <artifactId>base-server</artifactId>
+            <version>1.0.0</version>
+        </dependency>
 
         <!--druid-->
         <dependency>

--
Gitblit v1.9.3