zss
2023-08-24 51f607b893f35976627a071d529f7a7681a4291e
待办消息
已修改2个文件
已删除2个文件
已添加6个文件
395 ■■■■ 文件已修改
chart-server/src/main/resources/mapper/WorkMapper.xml 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspection-server/src/main/resources/mapper/InspectionProductMapper.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/controller/EnterpriseController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/controller/WaitInformationController.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/mapper/WaitInformationMapper.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/pojo/WaitInformation.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/service/WaitInformationService.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/WaitInformationServiceImpl.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
user-server/src/main/resources/mapper/WaitInformationMapper.xml 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
chart-server/src/main/resources/mapper/WorkMapper.xml
@@ -3,8 +3,8 @@
<mapper namespace="com.yuanchu.limslaboratory.mapper.WorkMapper">
    <!--责任人项目数统计-->
    <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 @@
    <!--责任人执行率-->
    <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
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
user-server/src/main/java/com/yuanchu/limslaboratory/controller/EnterpriseController.java
ÎļþÒÑɾ³ý
user-server/src/main/java/com/yuanchu/limslaboratory/controller/RoleController.java
ÎļþÒÑɾ³ý
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("已读成功");
    }
}
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);
}
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 = "逻辑删除 æ­£å¸¸>=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;
}
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);
}
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);
    }
}
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>