From 81f615750dec3e3aba4b607033609a1f3c7fc7fd Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期五, 15 三月 2024 16:03:18 +0800 Subject: [PATCH] 业务管理:检验任务(update) --- inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java | 31 +++++++ inspect-server/src/main/java/com/yuanchu/mom/vo/InsOrderPlanVO.java | 2 inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java | 8 ++ inspect-server/src/main/resources/mapper/InsSampleMapper.xml | 57 ++++++++++++++ framework/src/main/java/com/yuanchu/mom/common/AllController.java | 2 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java | 39 ++++++++- inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java | 17 +++- inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java | 20 ++++- inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java | 6 + 9 files changed, 165 insertions(+), 17 deletions(-) diff --git a/framework/src/main/java/com/yuanchu/mom/common/AllController.java b/framework/src/main/java/com/yuanchu/mom/common/AllController.java index 2097319..5c4c7a5 100644 --- a/framework/src/main/java/com/yuanchu/mom/common/AllController.java +++ b/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 = "瀵煎叆"; 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 2a88607..69e11cb 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 @@ -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)); } } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java b/inspect-server/src/main/java/com/yuanchu/mom/dto/InsOrderPlanDTO.java new file mode 100644 index 0000000..9db96c1 --- /dev/null +++ b/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("妫�楠屼换鍔′富閿甶d") + private Long insSampleId; + + @ApiModelProperty("鐢ㄦ埛id") + private Long userId; + + @ApiModelProperty("鐘舵��(妫�楠屽鐞�)") + private Integer state; + + @ApiModelProperty("瀛愬疄楠屽") + private String childrenLaboratory; + + @ApiModelProperty("鏍峰搧鍚嶇О") + private String sampleName; + + @ApiModelProperty("妫�楠岀姸鎬�") + private String insState; + +} diff --git a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java b/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java index b524e28..997e607 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/mapper/InsSampleMapper.java +++ b/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); + } diff --git a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java b/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java index f2321a2..ae76ec9 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/pojo/InsSampleUser.java +++ b/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; + } } \ 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 478d4a3..99d63fc 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 @@ -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); } 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 669f0fd..c9a8008 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 @@ -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; } } 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 11260ae..da5facc 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 @@ -10,6 +10,8 @@ private String id; + private String sampleUserId; + @ValueTableShow(value = 1,name = "濮旀墭缂栧彿") private String entrustCode; diff --git a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml b/inspect-server/src/main/resources/mapper/InsSampleMapper.xml index 7948d72..35f6dff 100644 --- a/inspect-server/src/main/resources/mapper/InsSampleMapper.xml +++ b/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> -- Gitblit v1.9.3