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