inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderController.java
@@ -64,6 +64,7 @@ @ValueClassify("æ£éªä¸å") @ApiOperation(value = "æ£éªåé ") @PostMapping("/upInsOrder") //ææ¶åç¨ public Result<?> upInsOrder(Integer orderId, Integer sampleId, String appointed, Integer userId,String sonLaboratory) { return Result.success(insOrderService.upInsOrder(orderId, sampleId, appointed, userId,sonLaboratory)); } inspect-server/src/main/java/com/yuanchu/mom/controller/InsOrderPlanController.java
@@ -10,10 +10,7 @@ import com.yuanchu.mom.dto.InsProductResultDto; import com.yuanchu.mom.pojo.InsOrderFile; import com.yuanchu.mom.pojo.InsOrderState; import com.yuanchu.mom.service.InsOrderFileService; import com.yuanchu.mom.service.InsOrderPlanService; import com.yuanchu.mom.service.InsOrderStateService; import com.yuanchu.mom.service.InsProductService; import com.yuanchu.mom.service.*; import com.yuanchu.mom.utils.JackSonUtil; import com.yuanchu.mom.vo.InsProductResultVo; import com.yuanchu.mom.vo.Result; @@ -39,6 +36,7 @@ public class InsOrderPlanController { private InsOrderPlanService insOrderPlanService; private InsOrderUserService insOrderUserService; private InsOrderFileService insOrderFileService; @@ -117,8 +115,8 @@ @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "æ£éªä»»å¡æäº¤") @PostMapping("/submitPlan") public Result<?> submitPlan(Integer orderId,String laboratory, Integer verifyUser, String entrustCode) { int num = insOrderPlanService.submitPlan(orderId, laboratory, verifyUser, entrustCode); public Result<?> submitPlan(Integer orderId,String laboratory, Integer verifyUser, String entrustCode, String note,String term) { int num = insOrderPlanService.submitPlan(orderId, laboratory, verifyUser, entrustCode,note,term); return num == 1 ? Result.success() : Result.fail("æäº¤å¤±è´¥ï¼é¨å项ç®è¿æªè¿è¡æ£éª"); } @@ -212,11 +210,25 @@ return Result.success(insOrderStateService.updateById(orderState)); } @ValueClassify("æ£éªä»»å¡") @ValueAuth @PostMapping("/getInsOrderUserList") @ApiOperation("æ¥çæ£éªåå²å表") public Result<?> getInsOrderUserList(Integer insOrderStateId) { return Result.success(insOrderPlanService.getInsOrderUserList(insOrderStateId)); } @ValueAuth @PostMapping("/getInsProduct2") @ApiOperation("æ¥çæ£éªåå²") public Result<?> getInsProduct2(Integer id, Integer type, String laboratory, HttpServletRequest request,Integer num) { return Result.success(insOrderPlanService.getInsProduct2(id, type, laboratory, request,num)); } @ValueClassify("æ£éªä»»å¡") @ApiOperation(value = "æ«ç æ¥æ£") @PostMapping("/scanInsOrderState") public Result scanInsOrderState(String sonLaboratory,String sampleCode) { return Result.success(insOrderPlanService.scanInsOrderState(sonLaboratory,sampleCode)); } } inspect-server/src/main/java/com/yuanchu/mom/mapper/InsOrderUserMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ package com.yuanchu.mom.mapper; import com.yuanchu.mom.pojo.InsOrderUser; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import java.util.List; /** * <p> * æ¯æ¬¡æ£éªä»»å¡éå¤è®°å½ Mapper æ¥å£ * </p> * * @author æ±èéµ·éç½ç»ç§ææéå ¬å¸ * @since 2024-09-14 10:08:31 */ public interface InsOrderUserMapper extends BaseMapper<InsOrderUser> { List<InsOrderUser> getInsOrderUserList(Integer insOrderStateId); } inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderState.java
@@ -98,4 +98,6 @@ @TableField(exist = false,select = false) private String userName; private List<InsOrderUser> insOrderUserList; } inspect-server/src/main/java/com/yuanchu/mom/pojo/InsOrderUser.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,56 @@ 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 java.io.Serializable; import java.time.LocalDateTime; import com.yuanchu.mom.common.OrderBy; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; /** * <p> * æ¯æ¬¡æ£éªä»»å¡éå¤è®°å½ * </p> * * @author æ±èéµ·éç½ç»ç§ææéå ¬å¸ * @since 2024-09-14 10:08:31 */ @Getter @Setter @TableName("ins_order_user") @ApiModel(value = "InsOrderUser对象", description = "æ¯æ¬¡æ£éªä»»å¡éå¤è®°å½") public class InsOrderUser extends OrderBy implements Serializable { @TableId(value = "id", type = IdType.AUTO) private Integer id; @ApiModelProperty("å¤é®ï¼æ£éªä»»å¡id") private Integer insOrderStateId; @ApiModelProperty("æäº¤äºº") private Integer submitUser; @TableField(select = false,exist = false) private String submitUserName; @ApiModelProperty("æäº¤æ¶é´") private LocalDateTime submitTime; @ApiModelProperty("æ£éªæ¬¡æ°") private Integer num; @ApiModelProperty("夿³¨") private String note; @ApiModelProperty("æ¡ä»¶") private String term; @ApiModelProperty("çç±") private String tell; } inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderPlanService.java
@@ -4,6 +4,7 @@ import com.yuanchu.mom.dto.InsOrderPlanDTO; import com.yuanchu.mom.dto.InsProductResultDto; import com.yuanchu.mom.pojo.InsOrderFile; import com.yuanchu.mom.pojo.InsOrderUser; import com.yuanchu.mom.pojo.InsProduct; import com.yuanchu.mom.vo.InsProductResultVo; import org.springframework.web.multipart.MultipartFile; @@ -35,7 +36,7 @@ int verifyPlan(Integer orderId, String laboratory, Integer type, String tell) throws IOException; int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode); int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode, String note,String term); List<InsProduct> getInsProduct(Integer id, Integer type, String laboratory, HttpServletRequest request); List<InsProduct> getInsProduct2(Integer id, Integer type, String laboratory, HttpServletRequest request,Integer num); @@ -50,4 +51,8 @@ int deleteInsContext(InsProductResultVo insProductResultVo); //æ«ç æ¥æ£ int scanInsOrderState(String sonLaboratory, String sampleCode); List<InsOrderUser> getInsOrderUserList(Integer insOrderStateId); } inspect-server/src/main/java/com/yuanchu/mom/service/InsOrderUserService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package com.yuanchu.mom.service; import com.yuanchu.mom.pojo.InsOrderUser; import com.baomidou.mybatisplus.extension.service.IService; /** * <p> * æ¯æ¬¡æ£éªä»»å¡éå¤è®°å½ æå¡ç±» * </p> * * @author æ±èéµ·éç½ç»ç§ææéå ¬å¸ * @since 2024-09-14 10:08:31 */ public interface InsOrderUserService extends IService<InsOrderUser> { } inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderPlanServiceImpl.java
@@ -87,6 +87,8 @@ @Resource private InsProductMapper insProductMapper; @Resource private InsOrderUserMapper insOrderUserMapper; @Resource private ShiftTimeMapper shiftTimeMapper; @Resource private PerformanceShiftMapper performanceShiftMapper; @@ -179,31 +181,6 @@ public boolean claimInsOrderPlan(InsOrderPlanDTO entity) { if (Objects.isNull(entity)) { return false; } /*认é¢éè¦å¤æè¯¥æ ·åæ¯å¦å¨åº*/ //æ¥è¯¢æ ·åid(è¿æ»¤æ²¡ææ£éªé¡¹ç®çæ ·å) List<Integer> sampleIds = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery() .eq(InsSample::getInsOrderId, entity.getInsSampleId())).stream().map(InsSample::getId).collect(Collectors.toList()); for (Integer samId : sampleIds) { //è¿æ»¤æ²¡ææ£éªé¡¹ç®çæ ·åid if (ObjectUtils.isEmpty(insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() .eq(InsProduct::getInsSampleId, samId) .eq(InsProduct::getState, 1)))) { continue; } //å ¥åºæ¬¡æ° Long inCount = warehouseHistoryMapper.selectCount(Wrappers.<WarehouseHistory>lambdaQuery() .eq(WarehouseHistory::getState, 1) .eq(WarehouseHistory::getInsSampleId, samId)); //åºåºæ¬¡æ° Long outCount = warehouseHistoryMapper.selectCount(Wrappers.<WarehouseHistory>lambdaQuery() .eq(WarehouseHistory::getState, 2) .eq(WarehouseHistory::getInsSampleId, samId)); if (inCount > 0 && inCount > outCount) { continue; } else { throw new ErrorException("æéçæ ·ååºåä¸è¶³,è¯·æ£æ¥å ¥åºååºåºè®°å½!"); } } Map<String, Integer> map1 = getLook.selectPowerByMethodAndUserId(null); Integer userId = map1.get("userId"); @@ -359,6 +336,54 @@ .eq(InsProductResult2::getFrequency, insProductResultVo.getFrequency()) .eq(InsProductResult2::getNum, insProductResultVo.getNum()) .in(InsProductResult2::getInsProductId, insProductResultVo.getProductIds())); } //æ«ç æ¥æ£ @Override public int scanInsOrderState(String sonLaboratory, String sampleCode) { //å å¤æè¯¥è®¢åæ¯å¦æè¿ä¸ªç«ç¹çé¡¹ç® InsSample insSample = insSampleMapper.selectOne(Wrappers.<InsSample>lambdaQuery().eq(InsSample::getSampleCode, sampleCode)); List<Integer> sampleIds = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery() .eq(InsSample::getInsOrderId, insSample.getInsOrderId())).stream().map(InsSample::getId).collect(Collectors.toList()); List<String> collect = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() .eq(InsProduct::getState, 1) .in(InsProduct::getInsSampleId, sampleIds)).stream().map(InsProduct::getSonLaboratory).collect(Collectors.toList()); if (!collect.contains(sonLaboratory)) { throw new ErrorException("è¯¥è®¢åæ²¡æ" + sonLaboratory + "ç«ç¹çç¸å ³é¡¹ç®,请æ¥çä¸å详æ !"); } //å¤æè¯¥è®¢åæ¯å¦ç«ç¹ä»»å¡æç»æè¯éª List<InsOrderState> orderStates = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery() .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId()) .eq(InsOrderState::getInsState, 5)); if (CollectionUtils.isNotEmpty(orderStates)) { throw new ErrorException("该订åç«ç¹çä»»å¡å·²ç»ç»æè¯éª,æ æ³å次è¿è¡è¯éª!"); } InsOrderState orderState = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery() .eq(InsOrderState::getInsOrderId, insSample.getInsOrderId()) .eq(InsOrderState::getLaboratory, sonLaboratory)); if (ObjectUtils.isNotEmpty(orderState)) { //ç»§ç»è¯éª if (orderState.getInsState() == 6) { orderState.setInsState(0); orderState.setNum(orderState.getNum() + 1);//éå¢ insOrderStateMapper.updateById(orderState); } else { throw new ErrorException("该订åç«ç¹çä»»å¡å·²å建,æ æ³å次å建!"); } } else { InsOrderState insOrderState = new InsOrderState(); insOrderState.setInsOrderId(insSample.getInsOrderId()); insOrderState.setLaboratory(sonLaboratory); insOrderState.setInsState(0); insOrderState.setNum(1);//åå§æ¯ç¬¬ä¸æ¬¡ insOrderStateMapper.insert(insOrderState); } return 1; } @Override public List<InsOrderUser> getInsOrderUserList(Integer insOrderStateId) { return insOrderUserMapper.getInsOrderUserList(insOrderStateId); } @@ -879,18 +904,22 @@ } insUnPassService.saveBatch(insUnPasses); /*type=0 忬¡è¯éª; type=1 ç»§ç»è¯éª ; type=2 ç»æè¯éª*/ switch (type) { case 0: /*忬¡è¯éª:该ååéåå°æ£éªç¶æ(æåºæ¹æå½åçæå),次æ°éå¢(ä¿ç以åçæ°æ®)ï¼*/ //æ´æ°åæ¥çæ£éªä»»å¡ // æ¥è¯¢æ ¹æ® id ååºæåçç¬¬ä¸æ¡è®°å½ InsOrderState record = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery() .eq(InsOrderState::getInsOrderId, orderId) .eq(InsOrderState::getLaboratory, laboratory) .orderByDesc(InsOrderState::getId) .last("LIMIT 1")); // ç¡®ä¿åªå䏿¡è®°å½ if (record != null) { // è·åå°ç¬¬ä¸æ¡è®°å½ç id åï¼æ§è¡æ´æ°æä½ // æ¥è¯¢æ ¹æ® id ååºæåçç¬¬ä¸æ¡è®°å½ InsOrderState record = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery() .eq(InsOrderState::getInsOrderId, orderId) .eq(InsOrderState::getLaboratory, laboratory) .orderByDesc(InsOrderState::getId) .last("LIMIT 1")); // ç¡®ä¿åªå䏿¡è®°å½ if (record != null) { //æ´æ°è®°å½ insOrderUserMapper.update(null, Wrappers.<InsOrderUser>lambdaUpdate() .eq(InsOrderUser::getInsOrderStateId, record.getId()) .eq(InsOrderUser::getNum, record.getNum()) .set(InsOrderUser::getTell, tell)); switch (type) { case 0: /*忬¡è¯éª:该ååéåå°æ£éªç¶æ(æåºæ¹æå½åçæå),次æ°éå¢(ä¿ç以åçæ°æ®)ï¼*/ //æ´æ°åæ¥çæ£éªä»»å¡ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() .eq(InsOrderState::getId, record.getId()) .set(InsOrderState::getInsTime, now) @@ -899,80 +928,34 @@ .set(InsOrderState::getVerifyUser, userId) .set(InsOrderState::getNum, record.getNum() + 1)//次æ°å 1 .set(InsOrderState::getCreateTime, LocalDateTime.now())); } break; case 1: //ç»§ç»è¯éª:åç»§ç»å°æ£éªä»»å¡è½¬æ¥è³ä¸ä¸ç«ç¹ï¼ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() .eq(InsOrderState::getInsOrderId, orderId) .eq(InsOrderState::getLaboratory, laboratory) .set(InsOrderState::getInsTime, now) .set(InsOrderState::getInsState, 6) .set(InsOrderState::getVerifyTell, tell) .set(InsOrderState::getVerifyUser, userId)); //转æ¥è³ä¸ä¸ç«ç¹,éè¦å 夿æ¯å¦è¿æå ¶ä½è¯éªå®¤,妿æå ¶ä½è¯éªå®¤éè¦å°è®¢åä¸å List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery() .eq(InsSample::getInsOrderId, orderId).select(InsSample::getId)); List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList()); List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() .in(InsProduct::getInsSampleId, ids) .eq(InsProduct::getState, 1)); List<Integer> list = new ArrayList<>(); list.add(4); list.add(5); list.add(6); List<InsOrderState> insOrderStates = insOrderStateMapper.selectList(Wrappers.<InsOrderState>lambdaQuery() .eq(InsOrderState::getInsOrderId, orderId) .in(InsOrderState::getInsState, list)); List<String> strings = insOrderStates.stream().map(InsOrderState::getLaboratory).distinct().collect(Collectors.toList()); //é¤å»å½å夿 ¸çè¯éªå®¤åå·²ç»å¤æ ¸çè¯éªå®¤ List<String> collect = insProducts.stream() .map(InsProduct::getSonLaboratory) .distinct() .filter(s -> !s.equals(laboratory)) .filter(s -> !strings.contains(s)) .collect(Collectors.toList()); if (collect.size() > 0) { //è¦å¤æå©ä½è¯éªå®¤ä¸åªä¸ªæç©ºé²å°±å®æç»åªä¸ª Map<String, Long> dataCounts = new HashMap<>(); for (String sonLaboratory : collect) { Long count = insOrderStateMapper.selectCount(Wrappers.<InsOrderState>lambdaQuery() .eq(InsOrderState::getLaboratory, sonLaboratory) .ne(InsOrderState::getInsState, 4) .ne(InsOrderState::getInsState, 5) .ne(InsOrderState::getInsState, 6)); dataCounts.put(sonLaboratory, count); break; case 1: //ç»§ç»è¯éª:åç»§ç»å°æ£éªä»»å¡è½¬æ¥è³ä¸ä¸ç«ç¹ï¼ insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() .eq(InsOrderState::getInsOrderId, orderId) .eq(InsOrderState::getLaboratory, laboratory) .set(InsOrderState::getInsTime, now) .set(InsOrderState::getInsState, 6) .set(InsOrderState::getVerifyTell, tell) .set(InsOrderState::getVerifyUser, userId)); break; case 2: //ç»æè¯éª:æ¤å§æå忢è¯éªï¼ç´æ¥çææç»æ¥ååè´¹ç¨ç»è®¡ã insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() .eq(InsOrderState::getInsOrderId, orderId) .eq(InsOrderState::getLaboratory, laboratory) .set(InsOrderState::getInsTime, now) .set(InsOrderState::getInsState, 5) .set(InsOrderState::getVerifyTell, tell) .set(InsOrderState::getVerifyUser, userId)); //å¦æè®¢åç±»åæ¯åçæ ·æº,å该订åç´æ¥éç¯ InsOrder insOrder = insOrderMapper.selectById(orderId); if (insOrder.getFormType().equals("åçæ ·æº")) { insOrder.setState(4); insOrderMapper.updateById(insOrder); } // æ¥æ¾æ°æ®éæå°çå ç´ String minElement = null; Long minCount = Long.MAX_VALUE; for (Map.Entry<String, Long> entry : dataCounts.entrySet()) { if (entry.getValue() < minCount) { minCount = entry.getValue(); minElement = entry.getKey(); } } InsOrderState insOrderState = new InsOrderState(); insOrderState.setInsOrderId(orderId); insOrderState.setLaboratory(minElement); insOrderState.setInsState(0); insOrderState.setNum(1);//åå§æ¯ç¬¬ä¸æ¬¡ insOrderStateMapper.insert(insOrderState); } else { //å¦æç»§ç»è¯éªæ²¡æå ¶ä»ç«ç¹çæ£éªä»»å¡é£å°±ç»æè¯éª verifyPlan(orderId, laboratory, 2, tell); } break; case 2: //ç»æè¯éª:æ¤å§æå忢è¯éªï¼ç´æ¥çææç»æ¥ååè´¹ç¨ç»è®¡ã insOrderStateMapper.update(null, Wrappers.<InsOrderState>lambdaUpdate() .eq(InsOrderState::getInsOrderId, orderId) .eq(InsOrderState::getLaboratory, laboratory) .set(InsOrderState::getInsTime, now) .set(InsOrderState::getInsState, 5) .set(InsOrderState::getVerifyTell, tell) .set(InsOrderState::getVerifyUser, userId)); break; break; } } /*夿 ¸å®æä¹åçæä»èªå·±çç«ç¹æ¥å(ä» éè¾å°è¯éªæ£æµ(è¿åº,è¿åº)åçµè·¯è¯éª)*/ /*switch (laboratory) { @@ -992,7 +975,7 @@ } //çæçµè·¯è¯éªçexcelæä»¶ private MultipartFile generateExcelFile(Integer orderId, String laboratory) throws IOException{ private MultipartFile generateExcelFile(Integer orderId, String laboratory) throws IOException { // å建ä¸ä¸ªWorkbook对象 Workbook workbook = new XSSFWorkbook(); @@ -1048,7 +1031,7 @@ } @Override public int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode) { public int submitPlan(Integer orderId, String laboratory, Integer verifyUser, String entrustCode, String note, String term) { List<InsSample> insSamples = insSampleMapper.selectList(Wrappers.<InsSample>lambdaQuery() .eq(InsSample::getInsOrderId, orderId).select(InsSample::getId)); InsOrderState orderState = insOrderStateMapper.selectOne(Wrappers.<InsOrderState>lambdaQuery() @@ -1056,6 +1039,15 @@ .eq(InsOrderState::getLaboratory, laboratory) .orderByDesc(InsOrderState::getId) .last("LIMIT 1"));// ç¡®ä¿åªå䏿¡è®°å½ /*è®°å½æ£éªä»»å¡æ¯æ¬¡ç夿³¨ä¿¡æ¯*/ InsOrderUser insOrderUser = new InsOrderUser(); insOrderUser.setInsOrderStateId(orderState.getId()); insOrderUser.setSubmitUser(getLook.selectPowerByMethodAndUserId(null).get("userId")); insOrderUser.setSubmitTime(LocalDateTime.now()); insOrderUser.setNum(orderState.getNum()); insOrderUser.setNote(ObjectUtils.isNotEmpty(note) ? note : null); insOrderUser.setTerm(ObjectUtils.isNotEmpty(term) ? term : null); insOrderUserMapper.insert(insOrderUser); List<Integer> ids = insSamples.stream().map(a -> a.getId()).collect(Collectors.toList()); List<InsProduct> insProducts = insProductMapper.selectList(Wrappers.<InsProduct>lambdaQuery() .in(InsProduct::getInsSampleId, ids) inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsOrderUserServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ package com.yuanchu.mom.service.impl; import com.yuanchu.mom.pojo.InsOrderUser; import com.yuanchu.mom.mapper.InsOrderUserMapper; import com.yuanchu.mom.service.InsOrderUserService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; /** * <p> * æ¯æ¬¡æ£éªä»»å¡éå¤è®°å½ æå¡å®ç°ç±» * </p> * * @author æ±èéµ·éç½ç»ç§ææéå ¬å¸ * @since 2024-09-14 10:08:31 */ @Service public class InsOrderUserServiceImpl extends ServiceImpl<InsOrderUserMapper, InsOrderUser> implements InsOrderUserService { } inspect-server/src/main/resources/mapper/InsOrderStateMapper.xml
@@ -4,33 +4,34 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.yuanchu.mom.mapper.InsOrderStateMapper"> <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.InsOrderState"> <id property="id" column="id" jdbcType="INTEGER"/> <id property="id" column="idd" jdbcType="INTEGER"/> <result property="insOrderId" column="ins_order_id" jdbcType="INTEGER"/> <result property="laboratory" column="laboratory" jdbcType="VARCHAR"/> <result property="insState" column="ins_state" jdbcType="INTEGER"/> <result property="sort" column="sort" jdbcType="INTEGER"/> <result property="version" column="version" jdbcType="INTEGER"/> <result property="createUser" column="create_user" jdbcType="INTEGER"/> <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> <result property="updateUser" column="update_user" jdbcType="INTEGER"/> <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/> <result property="sortTime" column="sort_time" jdbcType="TIMESTAMP"/> <collection property="insOrderUserList" resultMap="insOrderUsers"/> </resultMap> <sql id="Base_Column_List"> id,ins_order_id,laboratory, ins_state,create_user,create_time, update_user,update_time,sort,sort_time </sql> <select id="getInsOrderStateCount" resultType="com.yuanchu.mom.pojo.InsOrderState"> select distinct ios.*,userName <resultMap id="insOrderUsers" type="com.yuanchu.mom.pojo.InsOrderUser"> <id column="id" property="id"/> <result column="submit_user" property="submitUser"/> <result column="submitUserName" property="submitUserName"/> <result column="submit_time" property="submitTime"/> <result column="num" property="num"/> <result column="note" property="note"/> <result column="term" property="term"/> <result column="tell" property="tell"/> </resultMap> <select id="getInsOrderStateCount" resultMap="BaseResultMap"> select ios.id idd,laboratory,version, iou.*,name submitUserName from ins_order_state ios LEFT JOIN ( SELECT ins_sample_id,GROUP_CONCAT( DISTINCT uu.name SEPARATOR ',') AS userName FROM ins_sample_user u LEFT JOIN user uu ON u.user_id = uu.id WHERE u.state=0 GROUP BY ins_sample_id ORDER BY ins_sample_id ) isu ON isu.ins_sample_id = ios.ins_order_id left join ins_order_user iou on ios.id = iou.ins_order_state_id left join user on submit_user=user.id where ios.ins_order_id = #{id} </select> </mapper> inspect-server/src/main/resources/mapper/InsOrderUserMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,21 @@ <?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.mom.mapper.InsOrderUserMapper"> <!-- éç¨æ¥è¯¢æ å°ç»æ --> <resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.InsOrderUser"> <id column="id" property="id"/> <result column="ins_order_state_id" property="insOrderStateId"/> <result column="submit_user" property="submitUser"/> <result column="submit_time" property="submitTime"/> <result column="num" property="num"/> <result column="note" property="note"/> <result column="term" property="term"/> <result column="tell" property="tell"/> </resultMap> <select id="getInsOrderUserList" resultType="com.yuanchu.mom.pojo.InsOrderUser"> select iou.*, name submitUserName from ins_order_user iou left join user on submit_user = user.id </select> </mapper>