zouyu
2024-03-15 81f615750dec3e3aba4b607033609a1f3c7fc7fd
业务管理:检验任务(update)
已修改8个文件
已添加1个文件
182 ■■■■■ 文件已修改
framework/src/main/java/com/yuanchu/mom/common/AllController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsSampleMapper.xml 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/com/yuanchu/mom/common/AllController.java
@@ -36,7 +36,7 @@
                        type = "查询";
                    } else if(remark.contains("删除")){
                        type = "删除";
                    } else if(remark.contains("添加")||remark.contains("新增")){
                    } else if(remark.contains("添加")||remark.contains("新增")||remark.contains("认领")){
                        type = "添加";
                    } else if(remark.contains("导入")){
                        type = "导入";
inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
@@ -1,13 +1,16 @@
package com.yuanchu.mom.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.pojo.InsOrder;
import com.yuanchu.mom.dto.InsOrderPlanDTO;
import com.yuanchu.mom.service.InsOrderPlanService;
import com.yuanchu.mom.utils.JackSonUtil;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
@@ -25,8 +28,14 @@
    @PostMapping("/selectInsOrderPlanList")
    public Result selectInsOrderPlanList(@RequestBody Map<String, Object> data) throws Exception {
        Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
        InsOrder enums = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), InsOrder.class);
        return Result.success(insOrderPlanService.selectInsOrderPlanList(page, enums));
        InsOrderPlanDTO insOrderPlanDTO = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), InsOrderPlanDTO.class);
        return Result.success(insOrderPlanService.selectInsOrderPlanList(page, insOrderPlanDTO));
    }
    @ApiOperation(value = "认领任务计划")
    @PostMapping("/claimInsOrderPlan")
    public Result claimInsOrderPlan(@RequestBody InsOrderPlanDTO data) {
        return Result.success(insOrderPlanService.claimInsOrderPlan(data));
    }
}
inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
package com.yuanchu.mom.dto;
import com.yuanchu.mom.common.OrderBy;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class InsOrderPlanDTO extends OrderBy {
    @ApiModelProperty("是否只看自己的任务")
    private Boolean viewSelf;
    @ApiModelProperty("检验任务主键id")
    private Long insSampleId;
    @ApiModelProperty("用户id")
    private Long userId;
    @ApiModelProperty("状态(检验处理)")
    private Integer state;
    @ApiModelProperty("子实验室")
    private String childrenLaboratory;
    @ApiModelProperty("样品名称")
    private String sampleName;
    @ApiModelProperty("检验状态")
    private String insState;
}
inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java
@@ -1,7 +1,13 @@
package com.yuanchu.mom.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.dto.InsOrderPlanDTO;
import com.yuanchu.mom.pojo.InsSample;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yuanchu.mom.vo.InsOrderPlanVO;
import org.apache.ibatis.annotations.Param;
/**
* @author Administrator
@@ -11,6 +17,8 @@
*/
public interface InsSampleMapper extends BaseMapper<InsSample> {
    IPage<InsOrderPlanVO> findInsSampleAndOrder(Page page, @Param("ew") InsOrderPlanDTO insOrderPlanDTO);
}
inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java
@@ -1,12 +1,13 @@
package com.yuanchu.mom.pojo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.*;
import java.io.Serializable;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
 * æ ·å“è´Ÿè´£äººè®°å½•
@@ -14,6 +15,7 @@
 */
@TableName(value ="ins_sample_user")
@Data
@NoArgsConstructor
public class InsSampleUser implements Serializable {
    /**
     * 
@@ -34,18 +36,28 @@
    /**
     * 1:确认 0:未确认
     */
    private Integer state;
    /**
     * åˆ›å»ºäºº
     */
    @TableField(fill = FieldFill.INSERT)
    private Integer createUser;
    /**
     * åˆ›å»ºæ—¶é—´
     */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
    public InsSampleUser(Integer insSampleId, Integer userId, Integer state) {
        this.insSampleId = insSampleId;
        this.userId = userId;
        this.state = state;
    }
}
inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
@@ -1,7 +1,9 @@
package com.yuanchu.mom.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.dto.InsOrderPlanDTO;
import com.yuanchu.mom.pojo.InsOrder;
import com.yuanchu.mom.pojo.InsSample;
import java.util.Map;
@@ -9,5 +11,7 @@
 * æ£€éªŒä»»åŠ¡-业务层
 */
public interface InsOrderPlanService {
    Map<String,Object> selectInsOrderPlanList(Page page, InsOrder enums);
    Map<String,Object> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO);
    boolean claimInsOrderPlan(InsOrderPlanDTO entity);
}
inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -1,22 +1,24 @@
package com.yuanchu.mom.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
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.common.GetLook;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.dto.InsOrderPlanDTO;
import com.yuanchu.mom.mapper.InsOrderMapper;
import com.yuanchu.mom.mapper.InsSampleMapper;
import com.yuanchu.mom.mapper.InsSampleUserMapper;
import com.yuanchu.mom.pojo.InsOrder;
import com.yuanchu.mom.pojo.InsSampleUser;
import com.yuanchu.mom.service.InsOrderPlanService;
import com.yuanchu.mom.utils.QueryWrappers;
import com.yuanchu.mom.vo.InsOrderPlanVO;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.Objects;
/**
 * æ£€éªŒä»»åŠ¡-业务实现层
@@ -25,12 +27,35 @@
@AllArgsConstructor
public class InsOrderPlanServiceImpl extends ServiceImpl<InsOrderMapper, InsOrder> implements InsOrderPlanService {
    private InsOrderMapper insOrderMapper;
    private InsSampleMapper insSampleMapper;
    private InsSampleUserMapper insSampleUserMapper;
    private GetLook getLook;
    @Override
    public Map<String, Object> selectInsOrderPlanList(Page page, InsOrder insOrder) {
        return null;
    public Map<String, Object> selectInsOrderPlanList(Page page, InsOrderPlanDTO insOrderPlanDTO) {
        //获取表头
        Map<String, Object> map = new HashMap<>();
        map.put("head", PrintChina.printChina(InsOrderPlanVO.class));
        Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("selectInsOrderPlanList");
        Integer userId = map1.get("userId");
        //查询
        insOrderPlanDTO.setUserId(userId.longValue());
        insOrderPlanDTO.setState(1);
        IPage<InsOrderPlanVO> insOrderPage = insSampleMapper.findInsSampleAndOrder(page, insOrderPlanDTO);
        map.put("body", insOrderPage);
        return map;
    }
    @Override
    public boolean claimInsOrderPlan(InsOrderPlanDTO entity) {
        if(Objects.isNull(entity)){
            return false;
        }
        Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId("claimInsOrderPlan");
        Integer userId = map1.get("userId");
        InsSampleUser insSampleUser = new InsSampleUser(entity.getInsSampleId().intValue(), userId, 1);
        return insSampleUserMapper.insert(insSampleUser)>0;
    }
}
inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java
@@ -10,6 +10,8 @@
    private String id;
    private String sampleUserId;
    @ValueTableShow(value = 1,name = "委托编号")
    private String entrustCode;
inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -40,4 +40,61 @@
        appointed,create_user,update_user,
        create_time,update_time
    </sql>
    <select id="findInsSampleAndOrder" resultType="com.yuanchu.mom.vo.InsOrderPlanVO">
        SELECT DISTINCT
            io.entrust_code,
            io.type,
            tempA.id,
            tempA.sample,
            tempA.sample_code,
            tempA.send_time,
            tempA.appointed,
            tempA.ins_state,
            tempA.ins_result,
            tempA.user_id,
            tempA.ins_order_id,
            tempA.sample_user_id,
            ipr.son_laboratory
        FROM
            (
                SELECT
                    temp.*
                FROM
                    (
                        SELECT
                            isa.id,
                            isa.sample,
                            isa.sample_code,
                            isa.send_time,
                            isa.appointed,
                            isa.ins_state,
                            isa.ins_result,
                            isu.user_id,
                            isa.ins_order_id,
                            isu.id as sample_user_id
                        FROM
                            ins_sample isa
                                LEFT JOIN ins_sample_user isu ON isa.id = isu.ins_sample_id
                    ) AS temp
                WHERE
                    temp.user_id = #{ew.userId}
                   OR ( SELECT COUNT(*) FROM ins_sample_user WHERE ins_sample_id = temp.id ) = 0
            ) AS tempA
                LEFT JOIN ins_order io ON tempA.ins_order_id = io.id
                LEFT JOIN ins_product ipr ON tempA.id = ipr.ins_sample_id
        WHERE
          io.state = #{ew.state}
          AND ipr.state = 1
          AND ipr.son_laboratory = #{ew.childrenLaboratory}
          <if test="ew.insState!=null and ew.insState!=''">
              AND tempA.ins_state = #{ew.insState}
          </if>
          <if test="ew.sampleName!=null and ew.sampleName!=''">
              AND tempA.sample like concat('%',#{ew.sampleName},'%')
          </if>
          <if test="ew.viewSelf==true">
              AND tempA.sample_user_id is not null
          </if>
          ORDER BY io.type DESC
    </select>
</mapper>