From edbb9450c78019e7cea4bfb0d0496782e90a4a43 Mon Sep 17 00:00:00 2001
From: 罗媛媛 <2454262093@qq.com>
Date: 星期一, 01 四月 2024 15:22:15 +0800
Subject: [PATCH] 功能调整

---
 inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java                     |    3 
 inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java                    |   69 +++++++++++++++++
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderStateServiceImpl.java |   22 +++++
 inspect-server/src/main/resources/mapper/InsSampleMapper.xml                            |    4 
 inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderStateService.java          |   13 +++
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java  |   23 +++++
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java      |   18 +++-
 inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java     |   17 +++
 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderStateMapper.java            |   18 ++++
 README.md                                                                               |    2 
 inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java           |    6 +
 inspect-server/src/main/resources/mapper/InsOrderStateMapper.xml                        |   23 +++++
 12 files changed, 207 insertions(+), 11 deletions(-)

diff --git a/README.md b/README.md
index 1ac30ac..5a9f280 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# 鍚庣涓ぉ娴锋磱
+# 鍚庣涓ぉ妫�娴嬩腑蹇�
 
 #### 浠嬬粛
 {**浠ヤ笅鏄� Gitee 骞冲彴璇存槑锛屾偍鍙互鏇挎崲姝ょ畝浠�**
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
index 160d923..a663789 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
@@ -5,6 +5,7 @@
 import com.yuanchu.mom.service.InsOrderPlanService;
 import com.yuanchu.mom.utils.JackSonUtil;
 import com.yuanchu.mom.vo.Result;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -19,6 +20,7 @@
  */
 @RestController
 @RequestMapping("/insOrderPlan")
+@Api("/妫�楠屼换鍔�")
 @AllArgsConstructor
 public class InsOrderPlanController {
 
@@ -40,8 +42,19 @@
 
     @ApiOperation(value = "鎵ц妫�楠屾搷浣�")
     @PostMapping("/doInsOrder")
-    public Result<?> doInsOrder(Integer id) {
-        return Result.success(insOrderPlanService.doInsOrder(id));
+    public Result<?> doInsOrder(Integer id, String laboratory) {
+        return Result.success(insOrderPlanService.doInsOrder(id, laboratory));
     }
 
+    @ApiOperation(value = "浠诲姟浜ゆ帴")
+    @PostMapping("/upPlanUser")
+    public Result<?> upPlanUser(Integer userId, Integer orderId) {
+        return Result.success(insOrderPlanService.upPlanUser(userId, orderId));
+    }
+
+    @ApiOperation(value = "澶嶆牳妫�楠屼换鍔�")
+    @PostMapping("/verifyPlan")
+    public Result<?> verifyPlan(Integer orderId, String laboratory, Integer type, String tell) {
+        return Result.success(insOrderPlanService.verifyPlan(orderId, laboratory, type, tell));
+    }
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderStateMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderStateMapper.java
new file mode 100644
index 0000000..83fc5c9
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderStateMapper.java
@@ -0,0 +1,18 @@
+package com.yuanchu.mom.mapper;
+
+import com.yuanchu.mom.pojo.InsOrderState;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author admin
+* @description 閽堝琛ㄣ�恑ns_order_state銆戠殑鏁版嵁搴撴搷浣淢apper
+* @createDate 2024-04-01 11:44:50
+* @Entity com.yuanchu.mom.pojo.InsOrderState
+*/
+public interface InsOrderStateMapper extends BaseMapper<InsOrderState> {
+
+}
+
+
+
+
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java
new file mode 100644
index 0000000..19b208a
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java
@@ -0,0 +1,69 @@
+package com.yuanchu.mom.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 
+ * @TableName ins_order_state
+ */
+@TableName(value ="ins_order_state")
+@Data
+public class InsOrderState implements Serializable {
+    /**
+     * 
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 澶栭敭锛歩ns_order琛╥d
+     */
+    @TableField(value = "ins_order_id")
+    private Integer insOrderId;
+
+    /**
+     * 瀹為獙瀹�
+     */
+    @TableField(value = "laboratory")
+    private String laboratory;
+
+    /**
+     * 妫�楠岀姸鎬�(0锛氬緟妫�楠�1:妫�楠屼腑 2:宸叉楠�3锛氬緟澶嶆牳4锛氬鏍告湭閫氳繃 5锛氬鏍搁�氳繃)
+     */
+    @TableField(value = "ins_state")
+    private Integer insState;
+
+    @ApiModelProperty("妫�楠屾椂闂�")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime insTime;
+
+    @TableField(fill = FieldFill.INSERT)
+    private Integer createUser;
+
+    @ApiModelProperty("鍒涘缓鏃堕棿")
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime createTime;
+
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+
+    @ApiModelProperty("淇敼鏃堕棿")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty("澶嶆牳浜�")
+    private Integer verifyUser;
+
+    @ApiModelProperty("澶嶆牳鐞嗙敱")
+    private String verifyTell;
+}
\ No newline at end of file
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
index 79782b1..a2450f0 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
@@ -15,5 +15,9 @@
 
     boolean claimInsOrderPlan(InsOrderPlanDTO entity);
 
-    Map<String, Object> doInsOrder(Integer id);
+    Map<String, Object> doInsOrder(Integer id, String laboratory);
+
+    int upPlanUser(Integer userId, Integer orderId);
+
+    int verifyPlan(Integer orderId, String laboratory, Integer type, String tell);
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderStateService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderStateService.java
new file mode 100644
index 0000000..2e79e2a
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderStateService.java
@@ -0,0 +1,13 @@
+package com.yuanchu.mom.service;
+
+import com.yuanchu.mom.pojo.InsOrderState;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+* @author admin
+* @description 閽堝琛ㄣ�恑ns_order_state銆戠殑鏁版嵁搴撴搷浣淪ervice
+* @createDate 2024-04-01 11:44:50
+*/
+public interface InsOrderStateService extends IService<InsOrderState> {
+
+}
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
index e9bf629..4e01879 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -7,6 +7,7 @@
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 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.common.GetLook;
@@ -14,9 +15,11 @@
 import com.yuanchu.mom.dto.InsOrderPlanDTO;
 import com.yuanchu.mom.dto.SampleProductDto;
 import com.yuanchu.mom.mapper.InsOrderMapper;
+import com.yuanchu.mom.mapper.InsOrderStateMapper;
 import com.yuanchu.mom.mapper.InsSampleMapper;
 import com.yuanchu.mom.mapper.InsSampleUserMapper;
 import com.yuanchu.mom.pojo.InsOrder;
+import com.yuanchu.mom.pojo.InsOrderState;
 import com.yuanchu.mom.pojo.InsProduct;
 import com.yuanchu.mom.pojo.InsSampleUser;
 import com.yuanchu.mom.service.InsOrderPlanService;
@@ -49,6 +52,8 @@
 
     private StandardTemplateService standardTemplateService;
 
+    private InsOrderStateMapper insOrderStateMapper;
+
     @Override
     public Map<String, Object> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) {
         Map<String, Object> map = new HashMap<>();
@@ -75,7 +80,7 @@
     }
 
     @Override
-    public Map<String, Object> doInsOrder(Integer id) {
+    public Map<String, Object> doInsOrder(Integer id, String laboratory) {
         InsOrder insOrder = new InsOrder();
         insOrder.setId(id);
         insOrder.setInsState(1);
@@ -83,6 +88,7 @@
         if(BeanUtil.isEmpty(order.getInsTime())){
             insOrder.setInsTime(LocalDateTime.now());
             insOrderMapper.updateById(insOrder);
+            insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate().eq(InsOrderState::getInsOrderId, id).eq(InsOrderState::getLaboratory, laboratory).set(InsOrderState::getInsTime, LocalDateTime.now()).set(InsOrderState::getInsState, 1));
         }
         Map<String, Object> map = insOrderService.getInsOrder(id);
         Set<Integer> set = new HashSet<>();
@@ -133,4 +139,19 @@
         map.put("sampleProduct", list);
         return map;
     }
+
+    @Override
+    public int upPlanUser(Integer userId, Integer orderId) {
+        InsSampleUser insSampleUser = new InsSampleUser();
+        insSampleUser.setUserId(userId);
+        insSampleUser.setInsSampleId(orderId);
+        insSampleUser.setState(0);
+        return insSampleUserMapper.insert(insSampleUser);
+    }
+
+    @Override
+    public int verifyPlan(Integer orderId, String laboratory, Integer type, String tell) {
+        Integer num = (type==1?5:4);
+        return insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate().eq(InsOrderState::getInsOrderId, orderId).eq(InsOrderState::getLaboratory, laboratory).set(InsOrderState::getInsTime, LocalDateTime.now()).set(InsOrderState::getInsState, num).set(InsOrderState::getVerifyTell, tell));
+    }
 }
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
index 9ece3f3..160c8ef 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderServiceImpl.java
@@ -14,10 +14,7 @@
 import com.yuanchu.mom.dto.SampleOrderDto;
 import com.yuanchu.mom.dto.SampleProductDto;
 import com.yuanchu.mom.mapper.*;
-import com.yuanchu.mom.pojo.InsOrder;
-import com.yuanchu.mom.pojo.InsProduct;
-import com.yuanchu.mom.pojo.InsSample;
-import com.yuanchu.mom.pojo.InsSampleUser;
+import com.yuanchu.mom.pojo.*;
 import com.yuanchu.mom.service.InsOrderService;
 import com.yuanchu.mom.service.StandardTemplateService;
 import com.yuanchu.mom.utils.GiveCode;
@@ -29,6 +26,7 @@
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @author gaoaoy
@@ -52,6 +50,8 @@
 
     private InsSampleUserMapper insSampleUserMapper;
 
+    private InsOrderStateMapper insOrderStateMapper;
+
     //鑾峰彇妫�楠屼笅鍗曟暟鎹�
     @Override
     public Map<String, Object> selectInsOrderParameter(IPage<InsOrder> page, SampleOrderDto sampleOrderDto) {
@@ -71,6 +71,16 @@
         insOrder.setAppointed(LocalDate.parse(appointed));
         insOrder.setSendTime(LocalDateTime.now());
         insOrderMapper.updateById(insOrder);
+        List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getInsOrderId, orderId).select(InsSample::getId));
+        List<Integer> ids = insSamples.stream().map(a-> a.getId()).collect(Collectors.toList());
+        List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery().in(InsProduct::getInsSampleId, ids).select(InsProduct::getSonLaboratory).groupBy(InsProduct::getSonLaboratory));
+        for (InsProduct insProduct : insProducts) {
+            InsOrderState insOrderState = new InsOrderState();
+            insOrderState.setInsOrderId(orderId);
+            insOrderState.setLaboratory(insProduct.getSonLaboratory());
+            insOrderState.setInsState(0);
+            insOrderStateMapper.insert(insOrderState);
+        }
         if(userId!=null){
             InsSampleUser insSampleUser = new InsSampleUser();
             insSampleUser.setState(0);
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderStateServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderStateServiceImpl.java
new file mode 100644
index 0000000..8db04ee
--- /dev/null
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderStateServiceImpl.java
@@ -0,0 +1,22 @@
+package com.yuanchu.mom.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yuanchu.mom.pojo.InsOrderState;
+import com.yuanchu.mom.service.InsOrderStateService;
+import com.yuanchu.mom.mapper.InsOrderStateMapper;
+import org.springframework.stereotype.Service;
+
+/**
+* @author admin
+* @description 閽堝琛ㄣ�恑ns_order_state銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
+* @createDate 2024-04-01 11:44:50
+*/
+@Service
+public class InsOrderStateServiceImpl extends ServiceImpl<InsOrderStateMapper, InsOrderState>
+    implements InsOrderStateService{
+
+}
+
+
+
+
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
index 1cd93c8..b87db93 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
@@ -31,6 +31,9 @@
     @ValueTableShow(value = 7,name = "涓嬪彂鏃堕棿")
     private String sendTime;
 
+    @ValueTableShow(value = 8,name = "鐞嗙敱")
+    private String verifyTell;
+
     private Integer userId;
 
     private String sonLaboratory;
diff --git a/inspect-server/src/main/resources/mapper/InsOrderStateMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderStateMapper.xml
new file mode 100644
index 0000000..adc494b
--- /dev/null
+++ b/inspect-server/src/main/resources/mapper/InsOrderStateMapper.xml
@@ -0,0 +1,23 @@
+<?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.InsOrderStateMapper">
+
+    <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.InsOrderState">
+            <id property="id" column="id" jdbcType="INTEGER"/>
+            <result property="insOrderId" column="ins_order_id" jdbcType="INTEGER"/>
+            <result property="laboratory" column="laboratory" jdbcType="VARCHAR"/>
+            <result property="insState" column="ins_state" jdbcType="INTEGER"/>
+            <result property="createUser" column="create_user" jdbcType="INTEGER"/>
+            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+            <result property="updateUser" column="update_user" jdbcType="INTEGER"/>
+            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        id,ins_order_id,laboratory,
+        ins_state,create_user,create_time,
+        update_user,update_time
+    </sql>
+</mapper>
diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
index b5effec..f376e77 100644
--- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -29,7 +29,7 @@
     <select id="findInsSampleAndOrder" resultType="com.yuanchu.mom.vo.InsOrderPlanVO">
         select * from(
         SELECT
-        *
+        a.*,ios.ins_state,ios.verify_tell
         FROM
         (
         SELECT
@@ -41,7 +41,6 @@
         io.sample_type,
         isu.user_id,
         ip.son_laboratory,
-        io.ins_state,
         io.ins_result
         FROM
         ins_order io
@@ -56,6 +55,7 @@
         ip.son_laboratory,
         io.id
         ) a
+        LEFT JOIN ins_order_state ios ON ios.ins_order_id = a.id AND ios.laboratory = a.son_laboratory
         where a.user_id = #{userId} OR a.user_id is NULL
         ORDER BY
         a.user_id DESC,

--
Gitblit v1.9.3