From 51f607b893f35976627a071d529f7a7681a4291e Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 24 八月 2023 18:00:06 +0800
Subject: [PATCH] 待办消息

---
 /dev/null                                                                                         |   20 --
 user-server/src/main/java/com/yuanchu/limslaboratory/mapper/WaitInformationMapper.java            |   27 +++
 inspection-server/src/main/resources/mapper/InspectionProductMapper.xml                           |    2 
 chart-server/src/main/resources/mapper/WorkMapper.xml                                             |   24 +-
 user-server/src/main/java/com/yuanchu/limslaboratory/pojo/WaitInformation.java                    |   73 ++++++++++
 user-server/src/main/java/com/yuanchu/limslaboratory/service/WaitInformationService.java          |   51 +++++++
 user-server/src/main/java/com/yuanchu/limslaboratory/controller/WaitInformationController.java    |   79 +++++++++++
 user-server/src/main/resources/mapper/WaitInformationMapper.xml                                   |   42 ++++++
 user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/WaitInformationServiceImpl.java |   57 ++++++++
 9 files changed, 341 insertions(+), 34 deletions(-)

diff --git a/chart-server/src/main/resources/mapper/WorkMapper.xml b/chart-server/src/main/resources/mapper/WorkMapper.xml
index 7da6829..385f61c 100644
--- a/chart-server/src/main/resources/mapper/WorkMapper.xml
+++ b/chart-server/src/main/resources/mapper/WorkMapper.xml
@@ -3,8 +3,8 @@
 <mapper namespace="com.yuanchu.limslaboratory.mapper.WorkMapper">
     <!--璐d换浜洪」鐩暟缁熻-->
     <select id="dutyMater" resultType="java.util.Map">
-        select n.name, 鏈畬鎴�, 宸插畬鎴�
-        from (select distinct user.name, count(inspection_product.id) '鏈畬鎴�'
+        select n.name, unfinish, finsh
+        from (select distinct user.name, count(inspection_product.id) unfinish
               from lims_laboratory.inspection_product
                        left join lims_laboratory.user on inspection_product.user_pro_id = user.id
               where state = 1
@@ -20,7 +20,7 @@
                               and type = #{type}
                               and start_time between #{startTime} and #{endTime}))
               group by user.name) n,
-             (select distinct user.name, count(inspection_product.id) '宸插畬鎴�'
+             (select distinct user.name, count(inspection_product.id) finsh
               from lims_laboratory.inspection_product
                        left join lims_laboratory.user on inspection_product.user_pro_id = user.id
               where state = 1
@@ -41,8 +41,8 @@
 
     <!--鎵ц浜洪」鐩暟缁熻-->
     <select id="executeMater" resultType="java.util.Map">
-        select n.name, 鏈畬鎴�, 宸插畬鎴�
-        from (select distinct user.name, count(inspection_product.id) '鏈畬鎴�'
+        select n.name, unfinsh, finsh
+        from (select distinct user.name, count(inspection_product.id) unfinsh
               from lims_laboratory.inspection_product
                        left join lims_laboratory.user on inspection_product.user_id = user.id
               where state = 1
@@ -58,7 +58,7 @@
                               and type = #{type}
                               and start_time between #{startTime} and #{endTime}))
               group by user.name) n,
-             (select distinct user.name, count(inspection_product.id) '宸插畬鎴�'
+             (select distinct user.name, count(inspection_product.id) finsh
               from lims_laboratory.inspection_product
                        left join lims_laboratory.user on inspection_product.user_id = user.id
               where state = 1
@@ -79,8 +79,8 @@
 
     <!--璐d换浜烘墽琛岀巼-->
     <select id="dutytimely" resultType="java.util.Map">
-        select n.name, 椤圭洰鎬绘暟, 鍙婃椂瀹屾垚鏁� / 椤圭洰鎬绘暟 * 100 '鍙婃椂鐜�'
-        from (select distinct user.name, count(inspection_product.id) '椤圭洰鎬绘暟'
+        select n.name, total, finshByTime / total * 100 timely
+        from (select distinct user.name, count(inspection_product.id) total
               from lims_laboratory.inspection_product
                        left join lims_laboratory.user on inspection_product.user_pro_id = user.id
               where state = 1
@@ -95,7 +95,7 @@
                               and type = #{type}
                               and start_time between #{startTime} and #{endTime}))
               group by user.name) n,
-             (select distinct user.name, count(inspection_product.id) '鍙婃椂瀹屾垚鏁�'
+             (select distinct user.name, count(inspection_product.id) finshByTime
               from lims_laboratory.inspection_product
                        left join lims_laboratory.user
                                  on inspection_product.user_pro_id = user.id
@@ -122,8 +122,8 @@
 
     <!--鎵ц浜哄強鏃剁巼-->
     <select id="executetimely" resultType="java.util.Map">
-        select n.name, 椤圭洰鎬绘暟, 鍙婃椂瀹屾垚鏁� / 椤圭洰鎬绘暟 * 100 '鍙婃椂鐜�'
-        from (select distinct user.name, count(inspection_product.id) '椤圭洰鎬绘暟'
+        select n.name, total, finshByTime / total * 100 timely
+        from (select distinct user.name, count(inspection_product.id) total
               from lims_laboratory.inspection_product
                        left join lims_laboratory.user on inspection_product.user_id = user.id
               where state = 1
@@ -138,7 +138,7 @@
                               and type = #{type}
                               and start_time between #{startTime} and #{endTime}))
               group by user.name) n,
-             (select distinct user.name, count(inspection_product.id) '鍙婃椂瀹屾垚鏁�'
+             (select distinct user.name, count(inspection_product.id) finshByTime
               from lims_laboratory.inspection_product
                        left join lims_laboratory.user
                                  on inspection_product.user_id = user.id
diff --git a/inspection-server/src/main/resources/mapper/InspectionProductMapper.xml b/inspection-server/src/main/resources/mapper/InspectionProductMapper.xml
index f1b39da..1af01e7 100644
--- a/inspection-server/src/main/resources/mapper/InspectionProductMapper.xml
+++ b/inspection-server/src/main/resources/mapper/InspectionProductMapper.xml
@@ -1,8 +1,6 @@
 <?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.limslaboratory.mapper.InspectionProductMapper">
-
-
     <!--鏍规嵁妫�楠屽崟id鏌ヨ妫�楠岄」鐩殑妫�楠岀粨鏋�-->
     <select id="getresult" resultType="java.lang.Integer">
         select test_state
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/controller/EnterpriseController.java b/user-server/src/main/java/com/yuanchu/limslaboratory/controller/EnterpriseController.java
deleted file mode 100644
index 65ecfc8..0000000
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/controller/EnterpriseController.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.yuanchu.limslaboratory.controller;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- *  鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
- * @since 2023-07-07
- */
-@RestController
-@RequestMapping("/enterprise")
-public class EnterpriseController {
-
-}
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleController.java b/user-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleController.java
deleted file mode 100644
index 0191900..0000000
--- a/user-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleController.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.yuanchu.limslaboratory.controller;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- *  鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃
- * @since 2023-07-07
- */
-@RestController
-@RequestMapping("/role")
-public class RoleController {
-
-}
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/controller/WaitInformationController.java b/user-server/src/main/java/com/yuanchu/limslaboratory/controller/WaitInformationController.java
new file mode 100644
index 0000000..df02520
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/controller/WaitInformationController.java
@@ -0,0 +1,79 @@
+package com.yuanchu.limslaboratory.controller;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.yuanchu.limslaboratory.utils.JackSonUtil;
+import com.yuanchu.limslaboratory.utils.RedisUtil;
+import com.yuanchu.limslaboratory.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.limslaboratory.service.WaitInformationService;
+
+import java.util.HashMap;
+import java.util.Map;
+
+
+/**
+ * 鎴戠殑寰呭姙琛�(WaitInformation)琛ㄦ帶鍒跺眰
+ *
+ * @author zss
+ * @since 2023-08-24 10:00:21
+ */
+@Api(tags = "娑堟伅寰呭姙-->鎴戠殑寰呭姙")
+@RestController
+@RequestMapping("/waitInformation")
+public class WaitInformationController {
+
+    @Autowired
+    private WaitInformationService waitInformationService;
+
+    @ApiOperation(value = "鏌ヨ寰呭姙琛ㄥ垪琛�")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "pageSize", value = "椤垫暟", dataTypeClass = Integer.class, required = true),
+            @ApiImplicitParam(name = "countSize", value = "鏉℃暟/椤�", dataTypeClass = Integer.class, required = true),
+            @ApiImplicitParam(name = "title", value = "鏍囬", dataTypeClass = String.class),
+            @ApiImplicitParam(name = "text", value = "鍐呭", dataTypeClass = String.class),
+            @ApiImplicitParam(name = "type", value = "鐘舵��(涓虹┖=鍏ㄩ儴)", dataTypeClass = Integer.class)
+    })
+    @GetMapping("/selectWaitInforList")
+    public Result selectWaitInforList(@RequestHeader("token") String token,int pageSize, int countSize, String title, String text, Integer type) throws Exception {
+        Object object = RedisUtil.get(token);
+        Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
+        IPage<Map<String, Object>> waitInformationPage = waitInformationService.selectWaitInforList(new Page<Object>(pageSize, countSize),unmarshal.get("name").toString(), title, text, type);
+        Map<String, Object> map = new HashMap<>();
+        map.put("total", waitInformationPage.getTotal());
+        map.put("row", waitInformationPage.getRecords());
+        return Result.success(map);
+    }
+
+    @ApiOperation(value = "鎵归噺鍒犻櫎")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "ids", value = "寰呭姙id", dataTypeClass = String.class,required = true)
+    })
+    @GetMapping("/delAllWaitInfor")
+    public Result delAllWaitInfor(@RequestHeader("token") String token,String ids) throws Exception {
+        Object object = RedisUtil.get(token);
+        Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
+        waitInformationService.delAllWaitInfor(unmarshal.get("name").toString(),ids);
+        return Result.success("鍒犻櫎鎴愬姛!");
+    }
+
+    @ApiOperation(value = "鎵归噺鏍囦负宸茶")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "ids", value = "寰呭姙id", dataTypeClass = String.class,required = true)
+    })
+    @GetMapping("/writeAllWaitInfor")
+    public Result writeAllWaitInfor(@RequestHeader("token") String token,String ids) throws Exception {
+        Object object = RedisUtil.get(token);
+        Map<String, Object> unmarshal = JackSonUtil.unmarshal(JackSonUtil.marshal(object), Map.class);
+        waitInformationService.writeAllWaitInfor(unmarshal.get("name").toString(),ids);
+        return Result.success("宸茶鎴愬姛");
+    }
+
+}
+
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/WaitInformationMapper.java b/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/WaitInformationMapper.java
new file mode 100644
index 0000000..a51e5a6
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/mapper/WaitInformationMapper.java
@@ -0,0 +1,27 @@
+package com.yuanchu.limslaboratory.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.limslaboratory.pojo.WaitInformation;
+
+import java.util.Map;
+
+/**
+ * 鎴戠殑寰呭姙琛�(WaitInformation)琛ㄦ暟鎹簱璁块棶灞�
+ *
+ * @author zss
+ * @since 2023-08-24 10:00:21
+ */
+public interface WaitInformationMapper extends BaseMapper<WaitInformation> {
+
+    //鏌ヨ寰呭姙琛ㄥ垪琛�
+    IPage<Map<String, Object>> selectWaitInforList(Page<Object> page,String rename, String title, String text,Integer type);
+
+    //鎵归噺鍒犻櫎
+    void delAllWaitInfor(String rename,String ids);
+
+    //鎵归噺宸茶
+    void writeAllWaitInfor(String rename,String ids);
+}
+
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/pojo/WaitInformation.java b/user-server/src/main/java/com/yuanchu/limslaboratory/pojo/WaitInformation.java
new file mode 100644
index 0000000..daed7a6
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/pojo/WaitInformation.java
@@ -0,0 +1,73 @@
+package com.yuanchu.limslaboratory.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.*;
+import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+import java.io.Serializable;
+
+/**
+ * 鎴戠殑寰呭姙琛�(WaitInformation)琛ㄥ疄浣撶被
+ *
+ * @author zss
+ * @since 2023-08-24 10:00:22
+ */
+@Data
+@Accessors(chain = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@EqualsAndHashCode(callSuper = false)
+@Builder
+@TableName("wait_information")
+public class WaitInformation implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * id
+     **/
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 鍙戜欢浜�
+     **/
+    private String name;
+
+    /**
+     * 鍙戜欢浜�
+     **/
+    private String rename;
+
+    /**
+     * 鏍囬
+     **/
+    private String title;
+
+    /**
+     * 寰呭姙鍐呭
+     **/
+    private String text;
+
+    /**
+     * 鐘舵�� 0:鏈;1:宸茶
+     **/
+    private Integer type;
+
+    @ApiModelProperty(value = "閫昏緫鍒犻櫎 姝e父>=1,鍒犻櫎<=0", hidden = true)
+    private Integer state;
+
+    @TableField(fill = FieldFill.INSERT)
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date createTime;
+
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date updateTime;
+}
+
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/service/WaitInformationService.java b/user-server/src/main/java/com/yuanchu/limslaboratory/service/WaitInformationService.java
new file mode 100644
index 0000000..83d9e6e
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/service/WaitInformationService.java
@@ -0,0 +1,51 @@
+package com.yuanchu.limslaboratory.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.limslaboratory.pojo.WaitInformation;
+
+import java.util.Map;
+
+/**
+ * 鎴戠殑寰呭姙琛�(WaitInformation)琛ㄦ湇鍔℃帴鍙�
+ *
+ * @author zss
+ * @since 2023-08-24 10:00:22
+ */
+public interface WaitInformationService extends IService<WaitInformation> {
+
+
+    /**
+     * 娣诲姞寰呭姙
+     * @param name
+     * @param title
+     * @param text
+     */
+    //todo:娣诲姞寰呭姙娑堟伅
+    void addWaitInfor(String name,String title,String text,String rename);
+
+
+    /**
+     * 鏌ヨ寰呭姙琛ㄥ垪琛�
+     * @param page
+     * @param title
+     * @param text
+     * @return
+     */
+    IPage<Map<String, Object>> selectWaitInforList(Page<Object> page,String rename, String title, String text,Integer type);
+
+    /**
+     * 鎵归噺鍒犻櫎
+     * @param ids
+     */
+    void delAllWaitInfor(String rename,String ids);
+
+
+    /**
+     * 鎵归噺宸茶
+     * @param ids
+     */
+    void writeAllWaitInfor(String rename,String ids);
+}
+
diff --git a/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/WaitInformationServiceImpl.java b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/WaitInformationServiceImpl.java
new file mode 100644
index 0000000..d7ffdbc
--- /dev/null
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/WaitInformationServiceImpl.java
@@ -0,0 +1,57 @@
+package com.yuanchu.limslaboratory.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.limslaboratory.mapper.WaitInformationMapper;
+import com.yuanchu.limslaboratory.pojo.WaitInformation;
+import com.yuanchu.limslaboratory.service.WaitInformationService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Map;
+
+/**
+ * 鎴戠殑寰呭姙琛�(WaitInformation)琛ㄦ湇鍔″疄鐜扮被
+ *
+ * @author zss
+ * @since 2023-08-24 10:00:22
+ */
+@Service
+public class WaitInformationServiceImpl extends ServiceImpl<WaitInformationMapper, WaitInformation> implements WaitInformationService {
+
+    @Resource
+    WaitInformationMapper waitInformationMapper;
+
+
+    //娣诲姞寰呭姙
+    @Override
+    public void addWaitInfor(String name, String title, String text, String rename) {
+        WaitInformation waitInformation = WaitInformation.builder()
+                .name(name)
+                .title(title)
+                .text(text)
+                .rename(rename)
+                .build();
+        waitInformationMapper.insert(waitInformation);
+    }
+
+    //鏌ヨ寰呭姙琛ㄥ垪琛�
+    @Override
+    public IPage<Map<String, Object>> selectWaitInforList(Page<Object> page, String rename, String title, String text, Integer type) {
+        return waitInformationMapper.selectWaitInforList(page, rename, title, text, type);
+    }
+
+    //鎵归噺鍒犻櫎
+    @Override
+    public void delAllWaitInfor(String rename, String ids) {
+        waitInformationMapper.delAllWaitInfor(rename, ids);
+    }
+
+    //鎵归噺宸茶
+    @Override
+    public void writeAllWaitInfor(String rename, String ids) {
+        waitInformationMapper.writeAllWaitInfor(rename, ids);
+    }
+}
+
diff --git a/user-server/src/main/resources/mapper/WaitInformationMapper.xml b/user-server/src/main/resources/mapper/WaitInformationMapper.xml
new file mode 100644
index 0000000..ad224f8
--- /dev/null
+++ b/user-server/src/main/resources/mapper/WaitInformationMapper.xml
@@ -0,0 +1,42 @@
+<?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.limslaboratory.mapper.WaitInformationMapper">
+    <!--鏌ヨ寰呭姙琛ㄥ垪琛�-->
+    <select id="selectWaitInforList" resultType="java.util.Map">
+        select id,
+        name,
+        title,
+        text,
+        DATE_FORMAT(create_time,'%Y-%m-%d') creatTime,
+        type
+        from lims_laboratory.wait_information
+        where state=1
+        and `rename`=#{rename}
+        <if test="title!=null and title!=''">
+            and title like concat('%',#{title},'%')
+        </if>
+        <if test="text!=null and text!=''">
+            and text like concat('%',#{text},'%')
+        </if>
+        <if test="type!=null ">
+            and type =#{type}
+        </if>
+    </select>
+
+    <!--鎵归噺鍒犻櫎-->
+    <update id="delAllWaitInfor">
+        update lims_laboratory.wait_information
+        set state=0
+        where `rename`=#{rename}
+          and  id in (${ids})
+    </update>
+
+    <!--鎵归噺宸茶-->
+    <update id="writeAllWaitInfor">
+        update lims_laboratory.wait_information
+        set type=1
+        where wait_information.state = 1
+          and `rename`=#{rename}
+          and id in (${ids})
+    </update>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.3