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 | 188 +++++++++++++++++++++++++++++++--------------- 1 files changed, 127 insertions(+), 61 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 7172769..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 @@ -6,21 +6,28 @@ import java.util.Map; import java.util.stream.Collectors; import javax.annotation.Resource; +import javax.servlet.ServletSecurityElement; import javax.servlet.http.HttpServletResponse; import javax.swing.plaf.basic.BasicScrollPaneUI; +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 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; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; @@ -39,9 +46,10 @@ * @author ltkj_璧典匠璞�&鏉庢牸 * @date 2023-04-11 */ +@Slf4j @RestController @RequestMapping("/sampling/sampling") -@Api(tags = "浣撴閲囨牱绠$悊") +@Api(tags = "PC绔� 浣撴閲囨牱绠$悊") public class TjSamplingController extends BaseController { @Resource private ITjSamplingService tjSamplingService; @@ -59,6 +67,8 @@ private ITbTransitionService tbTransitionService; @Autowired private LisApiMethod lisApiMethod; + @Autowired + private ISysConfigService configService; /** * 鏌ヨ浣撴閲囨牱绠$悊鍒楄〃 @@ -184,6 +194,7 @@ /** * 鑾峰彇閲囨牱瀹㈡埛鍒楄〃 + * * @param isSignFor * @param tjNum * @param name @@ -194,20 +205,21 @@ * @return */ @GetMapping("/getCusList") + @ApiOperation(value = "鑾峰彇閲囨牱瀹㈡埛鍒楄〃") public AjaxResult getCusList(@RequestParam(defaultValue = "1") @ApiParam(value = "0鏄�1鍚�") Integer isSignFor, @RequestParam(required = false) @ApiParam(value = "浣撴鍙�") String tjNum, @RequestParam(required = false) @ApiParam(value = "瀹㈡埛濮撳悕") String name, @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); @@ -217,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()); @@ -225,40 +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") - public AjaxResult getCusCyList(@RequestParam @ApiParam(value = "瀹㈡埛id") String cusId){ + @ApiOperation(value = "鏍规嵁瀹㈡埛鑾峰彇閲囨牱鍒楄〃") + 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.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("鍙傛暟閿欒"); - List<TjSampling> projectList = new ArrayList<>(); - for (TjSampling sampling : list) { - sampling.setCusName(MatchUtils.hideCusName(sampling.getCusName())); - TjProject project = projectService.getById(sampling.getProId()); - if (null != project && project.getProParentId() == 0) { - projectList.add(sampling); - } + if (list.isEmpty()){ + logger.info("cusId鍙傛暟浼犵殑鏄�:"+cusId); + return AjaxResult.error("鍙傛暟閿欒,鏈煡璇㈠埌鏁版嵁"); } - return AjaxResult.success(projectList); + for (TjSampling sampling : list) { + 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); } @PostMapping("/mergeCaiYang") - public AjaxResult mergeCaiYang(@RequestBody List<String> ids){ - return AjaxResult.success(); + @ApiOperation(value = "閲囨牱鐧昏鍚堝苟椤圭洰鎺ュ彛") + 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("璇烽�夋嫨浣犺鎾ら攢鐨勯」鐩�!!!"); + } + /** * 瀵煎嚭浣撴閲囨牱绠$悊鍒楄〃 @@ -324,51 +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("璇烽�夋嫨瑕佺‘璁ら」"); } - String tjNumber = ""; - ArrayList<TjProject> projects = new ArrayList<>(); - for (String id : ids) { - TjSampling sampling = tjSamplingService.getById(id); - if (null != sampling) { - tjNumber = sampling.getTjNum(); - 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)); - projects.add(project); - } - 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) { + 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 (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"); - tjSamplingService.updateById(tjSampling); } + updChild = tjSamplingService.updateBatchById(list); + } else { + updChild = true; } - } - if (!tjSamplingService.updateById(sampling)) { - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); - return AjaxResult.error("鎿嶄綔澶辫触,璇烽噸璇�"); + 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(tjNumber)){ - TjOrder order = orderService.getOrderByTjNum(tjNumber); - TjCustomer customer = customerService.getById(order.getUserId()); - List<TbTransition> detailList = tbTransitionService.getTbTransitionListByCusId(String.valueOf(customer.getCusId()),order.getCardId()); - Boolean save = lisApiMethod.save(order, customer, projects, detailList); - if (!save){ - - } - } - + if (StrUtil.isNotBlank(errorMsg)) return AjaxResult.error(errorMsg); return AjaxResult.success("鎿嶄綔鎴愬姛"); } } -- Gitblit v1.8.0