From 14f9208da19b7030a1c65a40897f9f4146a74d44 Mon Sep 17 00:00:00 2001 From: 赵文轩 <1652863494@qq.com> Date: 星期五, 01 十一月 2024 08:37:14 +0800 Subject: [PATCH] 增加申请业务类型 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjSamplingController.java | 197 ++++++++++++++++++++++++++++++------------------- 1 files changed, 121 insertions(+), 76 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..0f529eb 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 @@ -12,17 +12,20 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.extra.pinyin.PinyinUtil; 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.*; +import com.ltkj.system.service.ISysConfigService; import com.ltkj.web.controller.lis.LisApiMethod; -import com.sun.xml.internal.bind.v2.TODO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; import org.aspectj.weaver.AjAttribute; import org.springframework.beans.BeanUtils; import org.springframework.security.access.prepost.PreAuthorize; @@ -43,6 +46,7 @@ * @author ltkj_璧典匠璞�&鏉庢牸 * @date 2023-04-11 */ +@Slf4j @RestController @RequestMapping("/sampling/sampling") @Api(tags = "PC绔� 浣撴閲囨牱绠$悊") @@ -63,6 +67,8 @@ private ITbTransitionService tbTransitionService; @Autowired private LisApiMethod lisApiMethod; + @Autowired + private ISysConfigService configService; /** * 鏌ヨ浣撴閲囨牱绠$悊鍒楄〃 @@ -188,6 +194,7 @@ /** * 鑾峰彇閲囨牱瀹㈡埛鍒楄〃 + * * @param isSignFor * @param tjNum * @param name @@ -205,14 +212,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); @@ -222,7 +229,7 @@ ArrayList<TjCustomer> tjCustomers = new ArrayList<>(); for (TjSampling tjSampling : list) { TjCustomer customer = customerService.getById(tjSampling.getCusId()); - customer.setCusName(MatchUtils.hideCusName(customer.getCusName())); + customer.setCusName(customer.getCusName()); customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone())); customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard())); customer.setTjNumber(tjSampling.getTjNum()); @@ -230,69 +237,63 @@ 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, + @RequestParam(defaultValue = "1") @ApiParam(value = "0鏄�1鍚�") Integer isSignFor) { 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.eq(TjSampling::getIsSignFor,isSignFor); + wrapper.and(i -> i.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())); + TjCustomer customer = customerService.getById(sampling.getCusId()); + TjOrder order = orderService.getOrderByTjNum(sampling.getTjNum()); + if(null !=order)sampling.setCardId(order.getCardId()); + sampling.setCustomer(customer); } return AjaxResult.success(list); } - @GetMapping("/mergeCaiYang") + @PostMapping("/mergeCaiYang") @ApiOperation(value = "閲囨牱鐧昏鍚堝苟椤圭洰鎺ュ彛") - public AjaxResult mergeCaiYang(@RequestParam List<String> ids){ - if(null !=ids && !ids.isEmpty()){ - int i = tjSamplingService.panduanshifoukeyihebing(ids); - 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); - } - return AjaxResult.success("鍚堝苟椤圭洰鎴愬姛!"); - } - } - return AjaxResult.error("璇烽�夋嫨浣犺鍚堝苟鐨勯」鐩�!!!"); + public AjaxResult mergeCaiYang(@RequestBody List<String> ids) { + return tjSamplingService.mergeCaiYangTran(ids); } + + + @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("璇烽�夋嫨浣犺鎾ら攢鐨勯」鐩�!!!"); + } + /** * 瀵煎嚭浣撴閲囨牱绠$悊鍒楄〃 @@ -358,38 +359,82 @@ @ApiOperation(value = "纭閲囨牱鎺ュ彛") @Transactional public AjaxResult confirmSampling(@RequestBody List<String> ids) { - if (null == ids || ids.size() == 0) { + String config = configService.selectConfigByKey("sfkqdyhis"); + String mergeRequest = configService.selectConfigByKey("use_lis_pacs_is_auto_merge_request"); + return confirm(ids,config,mergeRequest); + } + + /** + * 纭閲囨牱鎺ュ彛 + */ + public Boolean confirmSamplingApi(List<String> ids,String sfkqdyhis,String mergeRequest) { + AjaxResult confirm = confirm(ids, sfkqdyhis, mergeRequest); + log.info("纭閲囨牱杩斿洖 ->{}",confirm); + return confirm.get("code").toString().equals("200"); + } + + private AjaxResult confirm(List<String> ids,String config,String mergeRequest) { + if (null == ids || ids.isEmpty()) { return AjaxResult.error("璇烽�夋嫨瑕佺‘璁ら」"); } - for (String id : ids) { - TjSampling sampling = tjSamplingService.getById(id); - if (null != sampling) { - sampling.setIsSignFor("0"); - LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); - wq.eq(TjProject::getProParentId, sampling.getProId()); - List<TjProject> projectList = projectService.list(wq); - List<String> collect = new ArrayList<>(); - for (TjProject project : projectList) { - Long proId = project.getProId(); - collect.add(String.valueOf(proId)); - } - LambdaQueryWrapper<TjSampling> wq1 = new LambdaQueryWrapper<>(); - wq1.eq(TjSampling::getTjNum, sampling.getTjNum()); - wq1.in(TjSampling::getProId, collect); - List<TjSampling> samplingList = tjSamplingService.list(wq1); - if (null != samplingList && samplingList.size() > 0) { - for (TjSampling tjSampling : samplingList) { - tjSampling.setIsSignFor("0"); - tjSamplingService.updateById(tjSampling); - } - } + List<TjSampling> tjSamplings = tjSamplingService.listByIds(ids); + if (tjSamplings.isEmpty()) + return AjaxResult.error("璇烽�夋嫨瑕佺‘璁ら」"); + String errorMsg = ""; + for (TjSampling sampling : tjSamplings) { + if (sampling.getJyxmdm() == null) + errorMsg+=sampling.getProName()+"鍦╨is绯荤粺鏈壘鍒板搴旂紪鐮佹棤娉曞彂鍑虹敵璇�"; + sampling.setIsSignFor("0"); +// LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); +// wq.eq(TjProject::getProParentId, sampling.getProId()); +// List<TjProject> projectList = projectService.list(wq); +// List<String> collect = new ArrayList<>(); +// for (TjProject project : projectList) { +// Long proId = project.getProId(); +// collect.add(String.valueOf(proId)); +// } +// LambdaQueryWrapper<TjSampling> wq1 = new LambdaQueryWrapper<>(); +// wq1.eq(TjSampling::getTjNum, sampling.getTjNum()); +// wq1.in(TjSampling::getProId, collect); +// List<TjSampling> samplingList = tjSamplingService.list(wq1); +// if (null != samplingList && samplingList.size() > 0) { +// for (TjSampling tjSampling : samplingList) { +// tjSampling.setIsSignFor("0"); +// tjSamplingService.updateById(tjSampling); +// } +// } + TjOrder tjOrder = orderService.getOrderByTjNum(sampling.getTjNum()); + if(null==tjOrder) return AjaxResult.error("浣撴璁板綍涓嶅瓨鍦�"); + TjCustomer tjCustomer = customerService.getById(tjOrder.getUserId()); + boolean updChild; + Boolean save; + if (null != config && config.equals("Y") && !mergeRequest.equals("Y")) { + save = lisApiMethod.save(sampling, tjOrder, tjCustomer); + }else { + save = true; } - if (!tjSamplingService.updateById(sampling)) { - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return AjaxResult.error("鎿嶄綔澶辫触,璇烽噸璇�"); + if (save) { + if (sampling.getIsMerge() == 1) { + LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TjSampling::getParentId, sampling.getId()); + List<TjSampling> list = tjSamplingService.list(wrapper); + for (TjSampling tjSampling : list) { + tjSampling.setIsSignFor("0"); + } + updChild = tjSamplingService.updateBatchById(list); + } else { + updChild = true; + } + if (!tjSamplingService.updateById(sampling) && !updChild) { +// lisApiMethod.cancel(sampling.getJyxh(), tjOrder.getCardId(), PinyinUtil.getFirstLetter(tjCustomer.getCusName(), "")); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("鎿嶄綔澶辫触璇烽噸璇�"); + } + } else { + return AjaxResult.error("鎿嶄綔澶辫触璇烽噸璇�"); } } - + if (StrUtil.isNotBlank(errorMsg)) return AjaxResult.error(errorMsg); return AjaxResult.success("鎿嶄綔鎴愬姛"); } } -- Gitblit v1.8.0