From d00be6eb896fbbb283a8a3ec8eece3796ed1ed9a Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期四, 17 十月 2024 14:35:13 +0800 Subject: [PATCH] zjh20241017 --- ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjSamplingService.java | 21 ++++ ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjSampling.java | 2 ltkj-hosp/src/main/resources/mapper/hosp/TjSamplingMapper.xml | 18 +++ ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjSamplingServiceImpl.java | 30 ++++++ ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java | 52 +++++++++ ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java | 120 ++++++++++++++++-------- 6 files changed, 199 insertions(+), 44 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java index e271b30..b8d687d 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java @@ -15,6 +15,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ltkj.common.core.redis.RedisCache; +import com.ltkj.common.utils.IdUtils; import com.ltkj.framework.config.MatchUtils; import com.ltkj.hosp.domain.*; import com.ltkj.hosp.service.*; @@ -63,6 +64,8 @@ private ITbTransitionService tbTransitionService; @Autowired private LisApiMethod lisApiMethod; + @Autowired + private IdUtils idUtils; /** * 鏌ヨ浣撴閲囨牱绠$悊鍒楄〃 @@ -188,6 +191,7 @@ /** * 鑾峰彇閲囨牱瀹㈡埛鍒楄〃 + * * @param isSignFor * @param tjNum * @param name @@ -205,14 +209,14 @@ @ApiParam(value = "椤电爜鏁�(榛樿1)") @RequestParam(defaultValue = "1") Integer pageNum, @ApiParam(value = "鏄剧ず鏉℃暟(榛樿10)") @RequestParam(defaultValue = "10") Integer pageSize, @ApiParam(value = "寮�濮嬫椂闂�") @RequestParam(required = false) String beginTime, - @ApiParam(value = "缁撴潫鏃堕棿") @RequestParam(required = false) String endTime){ + @ApiParam(value = "缁撴潫鏃堕棿") @RequestParam(required = false) String endTime) { Page<TjSampling> samplingPage = new Page<>(pageNum, pageSize); LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(TjSampling::getIsSignFor,isSignFor); + wrapper.eq(TjSampling::getIsSignFor, isSignFor); if (null != tjNum && StrUtil.isNotBlank(tjNum)) - wrapper.eq(TjSampling::getTjNum,tjNum); + wrapper.eq(TjSampling::getTjNum, tjNum); if (null != name && StrUtil.isNotBlank(name)) - wrapper.eq(TjSampling::getCusName,name); + wrapper.eq(TjSampling::getCusName, name); if (null != beginTime && null != endTime && StrUtil.isNotBlank(beginTime) && StrUtil.isNotBlank(endTime)) wrapper.between(TjSampling::getApplicationTime, beginTime, endTime); wrapper.groupBy(TjSampling::getCusId); @@ -230,70 +234,106 @@ tjCustomers.add(customer); } HashMap<String, Object> hashMap = new HashMap<>(); - hashMap.put("list",tjCustomers); - hashMap.put("total",page.getTotal()); + hashMap.put("list", tjCustomers); + hashMap.put("total", page.getTotal()); return AjaxResult.success(hashMap); } /** * 鏍规嵁瀹㈡埛鑾峰彇閲囨牱鍒楄〃 + * * @param cusId * @return */ @GetMapping("/getCusCyList") @ApiOperation(value = "鏍规嵁瀹㈡埛鑾峰彇閲囨牱鍒楄〃") - public AjaxResult getCusCyList(@RequestParam @ApiParam(value = "瀹㈡埛id") String cusId){ + public AjaxResult getCusCyList(@RequestParam @ApiParam(value = "瀹㈡埛id") String cusId) { if (cusId == null || StrUtil.isBlank(cusId)) - return AjaxResult.error("鍙傛暟閿欒"); + return AjaxResult.error("鍙傛暟閿欒,鏈紶鍙傛暟"); LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(TjSampling::getCusId,cusId); - wrapper.isNull(TjSampling::getParentId); + wrapper.eq(TjSampling::getCusId, cusId); + wrapper.isNull(TjSampling::getParentId).or().eq(TjSampling::getIsMerge,1); + wrapper.orderByDesc(TjSampling::getIsMerge); List<TjSampling> list = tjSamplingService.list(wrapper); - if (list.isEmpty()) - return AjaxResult.error("鍙傛暟閿欒"); + if (list.isEmpty()){ + logger.info("cusId鍙傛暟浼犵殑鏄�:"+cusId); + return AjaxResult.error("鍙傛暟閿欒,鏈煡璇㈠埌鏁版嵁"); + } for (TjSampling sampling : list) { - sampling.setCusName(MatchUtils.hideCusName(sampling.getCusName())); +// sampling.setCusName(MatchUtils.hideCusName(sampling.getCusName())); + sampling.setCusName(sampling.getCusName()); } return AjaxResult.success(list); } - @GetMapping("/mergeCaiYang") + @PostMapping("/mergeCaiYang") @ApiOperation(value = "閲囨牱鐧昏鍚堝苟椤圭洰鎺ュ彛") - public AjaxResult mergeCaiYang(@RequestParam List<String> ids){ - if(null !=ids && !ids.isEmpty()){ + @Transactional + public AjaxResult mergeCaiYang(@RequestBody List<String> ids) { + if (null != ids && !ids.isEmpty()) { + if(ids.size()==1)return AjaxResult.error("璇烽�夋嫨鑷冲皯涓ゆ潯椤圭洰杩涜鍚堝苟!"); int i = tjSamplingService.panduanshifoukeyihebing(ids); - if(i>1){ + if (i > 1) { return AjaxResult.error("鏍囨湰绫诲瀷涓嶄竴鑷�,涓嶅彲鍚堝苟"); } - - TjSampling tjSampling = tjSamplingService.getById(ids.get(0)); - - - //todo 鍔犱竴鏉″垽鏂槸鍚﹀瓨鍦ㄥ悎骞堕」鐩殑鏌ヨsql - //todo 鍒ゆ柇浼犲叆鐨勯」鐩槸鍚﹀瓨鍦ㄥ悎骞堕」鐩� 涓嶅瓨鍦ㄨ蛋鍘熼�昏緫 瀛樺湪璧癳lse - - - Map<String,Object> map= tjSamplingService.hebingCaiYangInFo(ids); - TjSampling sampling=new TjSampling(); - String proId = map.get("proId").toString(); - String proName = map.get("proName").toString(); - BeanUtil.copyProperties(tjSampling,sampling,new String[]{"id"}); - sampling.setProId(proId); - sampling.setProName(proName); - sampling.setIsMerge(1); - if (tjSamplingService.save(sampling)) { - for (String id : ids) { - TjSampling service = tjSamplingService.getById(id); - service.setParentId(sampling.getId()); - service.setIsMerge(1); - tjSamplingService.updateById(service); + int pdsfczhbxm = tjSamplingService.pdsfczhbxm(ids); + if (pdsfczhbxm == ids.size()) return AjaxResult.error("澶氫釜鍚堝苟椤圭洰涓嶅彲鍐嶇户缁悎骞�!"); + if (pdsfczhbxm > 1) return AjaxResult.error("鏈�澶氬厑璁搁�夋嫨涓�涓悎骞惰繃鐨勯」鐩�!"); + if (pdsfczhbxm == 0) { + TjSampling tjSampling = tjSamplingService.getById(ids.get(0)); + Map<String, Object> map = tjSamplingService.hebingCaiYangInFo(ids); + TjSampling sampling = new TjSampling(); + String proId = map.get("proId").toString(); + String proName = map.get("proName").toString(); + BeanUtil.copyProperties(tjSampling, sampling, new String[]{"id"}); + sampling.setProId(proId); + sampling.setProName(proName); + sampling.setIsMerge(1); + sampling.setJyxh(idUtils.generateLisID()); + if (tjSamplingService.save(sampling)) { + if (tjSamplingService.updateHeBingXm(ids, sampling.getId())) { + return AjaxResult.success("鍚堝苟椤圭洰鎴愬姛!"); + } } - return AjaxResult.success("鍚堝苟椤圭洰鎴愬姛!"); + return AjaxResult.error("鎿嶄綔澶辫触!"); + } else { + TjSampling tjSampling = tjSamplingService.getTjSamplingByHb(ids); + List<TjSampling> samplingList = tjSamplingService.getTjSamplingListByHb(ids); + if (null != tjSampling && null != samplingList && !samplingList.isEmpty()) { + List<String> stringList = samplingList.stream().map(TjSampling::getId).collect(Collectors.toList()); + Map<String, Object> map = tjSamplingService.hebingCaiYangInFo(stringList); + String proId = map.get("proId").toString(); + String proName = map.get("proName").toString(); + tjSampling.setProId(proId); + tjSampling.setProName(proName); + if (tjSamplingService.updateById(tjSampling)) { + if (tjSamplingService.updateHeBingXm(stringList, tjSampling.getParentId())) { + return AjaxResult.success("鍚堝苟椤圭洰鎴愬姛!"); + } + } + } + return AjaxResult.error("鎿嶄綔澶辫触!"); } } return AjaxResult.error("璇烽�夋嫨浣犺鍚堝苟鐨勯」鐩�!!!"); } + + @PostMapping("/chexiaoCaiYang") + @ApiOperation(value = "鎾ら攢閲囨牱鐧昏鍚堝苟椤圭洰鎺ュ彛") + @Transactional + public AjaxResult chexiaoCaiYang(@RequestBody List<String> ids) { + if (null != ids && !ids.isEmpty()) { + int pdsfczhbxm = tjSamplingService.pdsfczhbxm(ids); + if (pdsfczhbxm != ids.size()) return AjaxResult.error("瀛樺湪鏈悎骞剁殑椤圭洰涓嶅彲鎾ら攢!!!"); + tjSamplingService.deletedTjSamplingListByHb(ids); + tjSamplingService.updateHeBingXm(ids); + return AjaxResult.success("鎾ら攢鎴愬姛!!!"); + } + return AjaxResult.error("璇烽�夋嫨浣犺鎾ら攢鐨勯」鐩�!!!"); + } + + /** * 瀵煎嚭浣撴閲囨牱绠$悊鍒楄〃 */ diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjSampling.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjSampling.java index 679d72d..efa15e7 100644 --- a/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjSampling.java +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjSampling.java @@ -2,6 +2,7 @@ import java.util.Date; +import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; @@ -108,6 +109,7 @@ /** * 鍚堝苟鍚庣殑鐖秈d */ + @TableField(updateStrategy = FieldStrategy.IGNORED) private String parentId; /** diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java index a048067..9630fbf 100644 --- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjSamplingMapper.java @@ -6,9 +6,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ltkj.hosp.domain.TjSampling; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.*; /** * 浣撴閲囨牱绠$悊Mapper鎺ュ彛 @@ -82,4 +80,52 @@ "</foreach>", "GROUP BY a.specimen_type_code) aa" + "</script>"}) int panduanshifoukeyihebing(@Param("ids") List<String> ids); + + + +// @Update({"<script>","UPDATE tj_sampling a SET a.parent_id=#{parentId} WHERE a.id " + +// "IN ","<foreach collection='ids' item='id' open='(' separator=',' close=')'>", +// "#{id}", +// "</foreach>", +// "</script>"}) + boolean updateHeBingXm(@Param("ids") List<String> ids,@Param("parentId")String parentId); + + + @Select({"<script>","SELECT COUNT(*) FROM tj_sampling a " + + "WHERE a.deleted=0 AND a.is_merge=1 AND a.id IN ","<foreach collection='ids' item='id' open='(' separator=',' close=')'>", + "#{id}", + "</foreach>", + "</script>"}) + int pdsfczhbxm(@Param("ids") List<String> ids); + + @Select({"<script>","SELECT * FROM tj_sampling a " + + "WHERE a.deleted=0 AND a.is_merge=1 AND a.id IN ","<foreach collection='ids' item='id' open='(' separator=',' close=')'>", + "#{id}", + "</foreach>", + "</script>"}) + TjSampling getTjSamplingByHb(@Param("ids") List<String> ids); + + + @Select({"<script>","SELECT * FROM tj_sampling a " + + "WHERE a.deleted=0 AND !ISNULL(a.parent_id) AND a.is_merge=0 AND a.id IN ","<foreach collection='ids' item='id' open='(' separator=',' close=')'>", + "#{id}", + "</foreach>", + "</script>"}) + List<TjSampling> getTjSamplingListByHb(@Param("ids") List<String> ids); + + + @Delete({"<script>","DELETE FROM tj_sampling WHERE id " + + "IN ","<foreach collection='ids' item='id' open='(' separator=',' close=')'>", + "#{id}", + "</foreach>", + "</script>"}) + boolean deletedTjSamplingListByHb(@Param("ids") List<String> ids); + + +// @Update({"<script>","UPDATE tj_sampling a SET a.parent_id=null WHERE a.id " + +// "IN ","<foreach collection='ids' item='id' open='(' separator=',' close=')'>", +// "#{id}", +// "</foreach>", +// "</script>"}) + boolean updateHeBingXms(@Param("ids") List<String> ids); } diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjSamplingService.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjSamplingService.java index abb1411..2cfe467 100644 --- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjSamplingService.java +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjSamplingService.java @@ -62,8 +62,27 @@ */ public int deleteTjSamplingById(String id); + //鎷兼帴瑕佸悎骞堕」鐩殑椤圭洰id鍜岄」鐩悕绉� Map<String, Object> hebingCaiYangInFo(List<String> ids); + //鍒ゆ柇鎵�閫夐」鐩槸鍚﹀彲浠ュ悎骞� + int panduanshifoukeyihebing(List<String> ids); - int panduanshifoukeyihebing(@Param("ids") List<String> ids); + //淇敼鍚堝苟鐨勯」鐩坊鍔犲悎骞剁紪鍙� + boolean updateHeBingXm(List<String> ids, String parentId); + + //鍒ゆ柇鏄惁瀛樺湪鍚堝苟椤圭洰 + int pdsfczhbxm(List<String> ids); + + //鍚堝苟椤圭洰鎺ュ彛涓幏鍙栧悎骞剁殑椤圭洰 + TjSampling getTjSamplingByHb(List<String> ids); + + //鑾峰彇鎵�閫夐」鐩腑鏈悎骞剁殑鍗曢」 + List<TjSampling> getTjSamplingListByHb(List<String> ids); + + //鍒犻櫎鎵�閫夌殑鍚堝苟椤圭洰 + boolean deletedTjSamplingListByHb(@Param("ids") List<String> ids); + + //淇敼鍘熸潵鍚堝苟杩囧緱椤圭洰 + boolean updateHeBingXm(@Param("ids") List<String> ids); } diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjSamplingServiceImpl.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjSamplingServiceImpl.java index 97a03a3..5f5c43f 100644 --- a/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjSamplingServiceImpl.java +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjSamplingServiceImpl.java @@ -100,4 +100,34 @@ public int panduanshifoukeyihebing(List<String> ids) { return tjSamplingMapper.panduanshifoukeyihebing(ids); } + + @Override + public boolean updateHeBingXm(List<String> ids, String parentId) { + return tjSamplingMapper.updateHeBingXm(ids,parentId); + } + + @Override + public int pdsfczhbxm(List<String> ids) { + return tjSamplingMapper.pdsfczhbxm(ids); + } + + @Override + public TjSampling getTjSamplingByHb(List<String> ids) { + return tjSamplingMapper.getTjSamplingByHb(ids); + } + + @Override + public List<TjSampling> getTjSamplingListByHb(List<String> ids) { + return tjSamplingMapper.getTjSamplingListByHb(ids); + } + + @Override + public boolean deletedTjSamplingListByHb(List<String> ids) { + return tjSamplingMapper.deletedTjSamplingListByHb(ids); + } + + @Override + public boolean updateHeBingXm(List<String> ids) { + return tjSamplingMapper.updateHeBingXms(ids); + } } diff --git a/ltkj-hosp/src/main/resources/mapper/hosp/TjSamplingMapper.xml b/ltkj-hosp/src/main/resources/mapper/hosp/TjSamplingMapper.xml index 8b7c749..786f93f 100644 --- a/ltkj-hosp/src/main/resources/mapper/hosp/TjSamplingMapper.xml +++ b/ltkj-hosp/src/main/resources/mapper/hosp/TjSamplingMapper.xml @@ -262,4 +262,22 @@ #{id} </foreach> </delete> + + + <update id="updateHeBingXm" parameterType="java.util.Map"> + UPDATE tj_sampling a SET a.parent_id=#{parentId} WHERE a.id in + <foreach item="id" collection="ids" open="(" separator="," close=")"> + #{id} + </foreach> + </update> + + + <update id="updateHeBingXms" parameterType="java.util.Map"> + UPDATE tj_sampling a SET a.parent_id=null WHERE a.parent_id in + <foreach item="id" collection="ids" open="(" separator="," close=")"> + #{id} + </foreach> + </update> + + </mapper> -- Gitblit v1.8.0