From c5286d60680e88a22fbe391385ad35cadb9ac874 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期五, 18 四月 2025 19:38:37 +0800 Subject: [PATCH] 修改套餐id --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjXdPictureController.java | 336 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 306 insertions(+), 30 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjXdPictureController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjXdPictureController.java index d087141..49d19ca 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjXdPictureController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjXdPictureController.java @@ -1,30 +1,34 @@ package com.ltkj.web.controller.system; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.security.Security; +import java.util.*; import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.io.unit.DataUnit; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ltkj.common.core.domain.entity.SysUser; import com.ltkj.common.core.redis.RedisCache; +import com.ltkj.common.utils.SecurityUtils; import com.ltkj.framework.config.MatchUtils; -import com.ltkj.hosp.domain.TjCustomer; -import com.ltkj.hosp.domain.TjProject; -import com.ltkj.hosp.domain.TjSampling; -import com.ltkj.hosp.domain.TjXdPicture; -import com.ltkj.hosp.service.ITjCustomerService; -import com.ltkj.hosp.service.ITjProjectService; -import com.ltkj.hosp.service.ITjXdPictureService; -import com.ltkj.hosp.service.TjAsyncService; +import com.ltkj.hosp.domain.*; +import com.ltkj.hosp.service.*; +import com.ltkj.hosp.sqlDomain.LtkjExamJcbgd; +import com.ltkj.hosp.vodomain.CsProVo; import com.ltkj.system.service.ISysConfigService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import jodd.util.StringUtil; +import lombok.extern.slf4j.Slf4j; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Isolation; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.web.bind.annotation.*; import com.ltkj.common.annotation.Log; import com.ltkj.common.core.controller.BaseController; @@ -42,6 +46,7 @@ @RestController @RequestMapping("/picture/picture") @Api(tags = "浣撴蹇冪數鍥剧鐞�") +@Slf4j public class TjXdPictureController extends BaseController { @Resource private ITjXdPictureService tjXdPictureService; @@ -49,11 +54,24 @@ private ITjCustomerService customerService; @Autowired private ISysConfigService configService; - + @Resource + private ITjOrderService orderService; + @Resource + private ITjOrderDetailService detailService; + @Resource + private ITjOrderRemarkService remarkService; + @Resource + private ITjProjectService projectService; + @Resource + private TjXdtgmdjgService xdtgmdjgService; + @Resource + private LtkjExamJcbgdService jcbgdService; + @Resource + private LtkjExamJcsqdService jcsqdService; /** * 鏌ヨ浣撴蹇冪數鍥剧鐞嗗垪琛� */ - @PreAuthorize("@ss.hasPermi('picture:picture:list')") + //@PreAuthorize("@ss.hasPermi('picture:picture:list')") @GetMapping("/list") @ApiOperation(value = "鏌ヨ浣撴蹇冪數鍥剧鐞嗗垪琛�(鑷甫榛樿)") public TableDataInfo list(TjXdPicture tjXdPicture) { @@ -74,24 +92,27 @@ wq.orderByDesc(TjXdPicture::getCreateTime); List<TjXdPicture> list = tjXdPictureService.list(wq); List<Map<String,Object>> arrayList=new ArrayList<>(); - if(null !=list && list.size()>0){ + if(null !=list && !list.isEmpty()){ Map<String, List<TjXdPicture>> stringListMap = list.stream().collect(Collectors.groupingBy(TjXdPicture::getCusId)); for (Map.Entry<String, List<TjXdPicture>> entry : stringListMap.entrySet()) { Map<String,Object>map=new HashMap<>(); TjCustomer customer = customerService.getById(entry.getKey()); - customer.setCusName(MatchUtils.hideCusName(customer.getCusName())); - customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone())); - customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard())); - customer.setTjNumber(entry.getValue().get(0).getTjNum()); - map.put("list",entry.getValue()); - map.put("customer",customer); - map.put("picturePath",configService.selectConfigByKey("TjXdPicture")); - arrayList.add(map); + if(null !=customer){ + customer.setCusName(MatchUtils.hideCusName(customer.getCusName())); + customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone())); + customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard())); + customer.setTjNumber(entry.getValue().get(0).getTjNum()); + map.put("list",entry.getValue()); + map.put("customer",customer); + map.put("picturePath",configService.selectConfigByKey("TjXdPicture")); + arrayList.add(map); + } + } } List<Map<String, Object>> collect =null; Map<String,Object>map=new HashMap<>(); - if(arrayList.size()>0){ + if(!arrayList.isEmpty()){ collect = arrayList.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); } map.put("list",collect); @@ -102,7 +123,7 @@ /** * 瀵煎嚭浣撴蹇冪數鍥剧鐞嗗垪琛� */ - @PreAuthorize("@ss.hasPermi('picture:picture:export')") + //@PreAuthorize("@ss.hasPermi('picture:picture:export')") @Log(title = "浣撴蹇冪數鍥剧鐞�", businessType = BusinessType.EXPORT) @PostMapping("/export") @ApiOperation(value = "瀵煎嚭浣撴蹇冪數鍥剧鐞嗗垪琛�") @@ -115,7 +136,7 @@ /** * 鑾峰彇浣撴蹇冪數鍥剧鐞嗚缁嗕俊鎭� */ - @PreAuthorize("@ss.hasPermi('picture:picture:query')") + //@PreAuthorize("@ss.hasPermi('picture:picture:query')") @GetMapping(value = "/{id}") @ApiOperation(value = "鑾峰彇浣撴蹇冪數鍥剧鐞嗚缁嗕俊鎭�") public AjaxResult getInfo(@PathVariable("id") String id) { @@ -125,7 +146,7 @@ /** * 鏂板浣撴蹇冪數鍥剧鐞� */ - @PreAuthorize("@ss.hasPermi('picture:picture:add')") + //@PreAuthorize("@ss.hasPermi('picture:picture:add')") @Log(title = "浣撴蹇冪數鍥剧鐞�", businessType = BusinessType.INSERT) @PostMapping @ApiOperation(value = "鏂板浣撴蹇冪數鍥剧鐞�") @@ -136,22 +157,277 @@ /** * 淇敼浣撴蹇冪數鍥剧鐞� */ - @PreAuthorize("@ss.hasPermi('picture:picture:edit')") + //@PreAuthorize("@ss.hasPermi('picture:picture:edit')") @Log(title = "浣撴蹇冪數鍥剧鐞�", businessType = BusinessType.UPDATE) @PutMapping @ApiOperation(value = "淇敼浣撴蹇冪數鍥剧鐞�") public AjaxResult edit(@RequestBody TjXdPicture tjXdPicture) { - return toAjax(tjXdPictureService.updateTjXdPicture(tjXdPicture)); + if (tjXdPictureService.updateById(tjXdPicture)) { + TjOrder order = orderService.getOrderByTjNum(tjXdPicture.getTjNum()); + LambdaQueryWrapper<TjOrderDetail>wq=new LambdaQueryWrapper<>(); + wq.eq(TjOrderDetail::getOrderId,order.getOrderId()); + wq.eq(TjOrderDetail::getProId,tjXdPicture.getProId()); + TjOrderDetail detail = detailService.getOne(wq); + detail.setProResult(tjXdPicture.getProResult()); + detail.setConclusion(tjXdPicture.getConclusion()); + detail.setTjStatus(1L); + detailService.updateById(detail); + + TjProject tjProject = projectService.getById(tjXdPicture.getProId()); + TjProject tjProjectp = projectService.getById(tjProject.getProParentId()); + + LambdaQueryWrapper<TjOrderDetail>wq1=new LambdaQueryWrapper<>(); + wq1.eq(TjOrderDetail::getOrderId,order.getOrderId()); + wq1.eq(TjOrderDetail::getProId,tjProjectp.getProId()); + TjOrderDetail detailp = detailService.getOne(wq); + detailp.setTjStatus(1L); + detailService.updateById(detailp); + + LambdaQueryWrapper<TjOrderRemark> wq2=new LambdaQueryWrapper<>(); + wq2.eq(TjOrderRemark::getTjNumber,tjXdPicture.getTjNum()); + wq2.eq(TjOrderRemark::getProId,tjProjectp.getProId()); + TjOrderRemark remark = remarkService.getOne(wq2); + remark.setType(1); + remark.setRemark(tjXdPicture.getConclusion()); + remarkService.updateById(remark); + return AjaxResult.success(); + } + return AjaxResult.error(); } /** * 鍒犻櫎浣撴蹇冪數鍥剧鐞� */ - @PreAuthorize("@ss.hasPermi('picture:picture:remove')") + //@PreAuthorize("@ss.hasPermi('picture:picture:remove')") @Log(title = "浣撴蹇冪數鍥剧鐞�", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") @ApiOperation(value = "鍒犻櫎浣撴蹇冪數鍥剧鐞�") public AjaxResult remove(@PathVariable String[] ids) { return toAjax(tjXdPictureService.deleteTjXdPictureByIds(ids)); } + + + + @GetMapping ("/getYxJcList") + @ApiOperation (value = "褰卞儚妫�鏌ュ垪琛�(楠ㄥ瘑搴﹀拰蹇冪數鍥�)")//0寰�1宸� + @Transactional + public AjaxResult getYxJcList(@ApiParam (value = "瀹℃牳鐘舵�� 0寰呭鏍� 1宸插鏍�") @RequestParam Integer checkStatus, + @ApiParam (value = "椤电爜鏁�(榛樿1)") @RequestParam (defaultValue = "1") Integer page, + @ApiParam (value = "鏄剧ず鏉℃暟(榛樿10)") @RequestParam (defaultValue = "10") Integer pageSize, + @ApiParam (value = "浣撴鍗曞彿") @RequestParam (required = false) String tjNumber, + @ApiParam (value = "鍗曚綅") @RequestParam (required = false) Long compId, + @ApiParam (value = "濮撳悕)") @RequestParam (required = false) String name, + @ApiParam (value = "濂楅鍚�)") @RequestParam (required = false) String tcm, + @ApiParam (value = "寮�濮嬫椂闂�") @RequestParam (required = false) String beginTime, + @ApiParam (value = "缁撴潫鏃堕棿") @RequestParam (required = false) String endTime) { + +// DateTime beginTimes = null; +// DateTime endTimes = null; +// if (null != beginTime && null != endTime) { +// beginTimes = DateUtil.beginOfDay(DateUtil.parse(beginTime)); +// endTimes = DateUtil.endOfDay(DateUtil.parse(endTime)); +// } +// //鍒濆鍖栦綋妫�璁㈠崟琛� +// List<TjOrder> orderList = null; +// List<TjCustomer> customerList = new ArrayList<>(); +// Map<String, Object> map = new HashMap<>(); +// +// if (checkStatus == 0) +// asyncService.wCScheckSetCustomerLisByRedis(orderService.getCsTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes)); +// if (checkStatus == 1) +// asyncService.yCScheckSetCustomerLisByRedis(orderService.getCsTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes)); +// +// //鏍规嵁濮撳悕鏌ヨ +// if (null != name && !"".equals(name)) { +// List<TjCustomer> list = customerService.getTjCustomerList(name); +// if (null != list && list.size() > 0) { +// List<TjCustomer> lists = new ArrayList<>(); +// for (TjCustomer customer : list) { +// orderList = orderService.getCsTjOrderListByCusId(customer.getCusId()); +// if (null != orderList && orderList.size() > 0) { +// for (TjOrder tjOrder : orderList) { +// customer.setTjNumber(tjOrder.getTjNumber()); +// customer.setTjStatus(Long.valueOf(tjOrder.getCheckStatus())); +// customer.setOrderId(tjOrder.getOrderId()); +// customer.setTjTime(tjOrder.getCreateTime()); +// customer.setFinishTime(tjOrder.getFinishTime()); +// customer.setCusName(MatchUtils.hideCusName(customer.getCusName())); +// customer.setCusPhone(MatchUtils.hidePhoneNum(customer.getCusPhone())); +// customer.setCusIdcard(MatchUtils.hideIdCardNum(customer.getCusIdcard())); +// customer.setConfirmStatus(String.valueOf(tjOrder.getStatus())); +// if (tjOrder.getFirmId().equals("0")) { +// customer.setTjCompName(null); +// } else { +// customer.setTjCompName(compService.selectDictCompByDrugManufacturerId(tjOrder.getFirmId()).getCnName()); +// } +// lists.add(customer); +// } +// } +// } +// List<TjCustomer> customers = null; +// if (lists.size() > 0) { +// customers = lists.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); +// } +// map.put("customers", customers); +// map.put("total", lists.size()); +// return AjaxResult.success(map); +// } +// return AjaxResult.success("鏆傛棤鏁版嵁"); +// } +// +// //鏉′欢鏌ヨ +// if (null != tjNumber || null != compId || (null != beginTime && null != endTime)) { +// orderList = orderService.getCsTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes); +// return getResult(page, pageSize, orderList, customerList, map); +// } +// +// List<TjCustomer> customers = null; +// if (checkStatus == 0) { +// customers = redisCache.getCacheMapValue("cScheck", "ws"); +// } +// if (checkStatus == 1) { +// customers = redisCache.getCacheMapValue("cScheck", "ys"); +// } +// if (customers != null && customers.size() > 0) { +// List<TjCustomer> customerLists = customers.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); +// map.put("customers", customerLists); +// map.put("total", customers.size()); +// return AjaxResult.success(map); +// } else { +// orderList = orderService.getCsTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes); +// return getResult(page, pageSize, orderList, customerList, map); +// } + Long deptId = SecurityUtils.getDeptId(); + log.info("褰卞儚妫�鏌ュ垪琛�(楠ㄥ瘑搴﹀拰蹇冪數鍥�)鎺ュ彛 褰撳墠鐧诲綍浜虹瀹�"+deptId); + String value = String.valueOf(compId); + if (tjNumber == null) tjNumber = ""; + if (compId == null) value = ""; + if (name == null) name = ""; + if (beginTime == null) beginTime = ""; + if (endTime == null) endTime = ""; + if (tcm == null) tcm = ""; + return AjaxResult.success(orderService.getYxJcList(checkStatus,tjNumber, page, pageSize, value, beginTime, endTime, name,tcm,deptId.toString())); + } + + @GetMapping ("/getYxJcXx") + @ApiOperation (value = "褰卞儚妫�鏌ラ瀵嗗害蹇冪數鍥鹃〉闈㈢偣鍑讳綋妫�浜哄憳灞曠ず浣撴椤圭洰鎺ュ彛") + public AjaxResult getYxJcXx(@ApiParam (value = "浣撴鍙�") @RequestParam String tjNumber) { + Long deptId = SecurityUtils.getDeptId(); + log.info("褰卞儚妫�鏌ラ瀵嗗害蹇冪數鍥鹃〉闈㈢偣鍑讳綋妫�浜哄憳灞曠ず浣撴椤圭洰鎺ュ彛褰撳墠鐧诲綍浜虹瀹�"+deptId); + List<CsProVo> list = remarkService.getYxJcXx(tjNumber,deptId.toString()); + return AjaxResult.success(list); + } + + @GetMapping ("/addYxJcXx") + @ApiOperation (value = "鎻愪氦褰卞儚妫�鏌ラ瀵嗗害蹇冪數鍥剧粨鏋滄帴鍙�") + @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.READ_COMMITTED) + public AjaxResult addYxJcXx(@ApiParam (value = "浣撴鍙�") @RequestParam String tjNumber, + @ApiParam (value = "椤圭洰id") @RequestParam String proId, + @ApiParam (value = "妫�鏌ユ墍瑙�") @RequestParam String jcsj, + @ApiParam (value = "妫�鏌ョ粨璁�") @RequestParam String jcjl) { + try { + SysUser user = SecurityUtils.getLoginUser().getUser(); + TjOrder order = orderService.getOrderByTjNum(tjNumber); + if(null !=order){ + TjProject project = projectService.getById(proId); + if(null !=project){ + List<TjProject> projects = projectService.getTjProjectListBySoneId(proId); + LambdaQueryWrapper<TjOrderDetail>wq1=new LambdaQueryWrapper<>(); + wq1.eq(TjOrderDetail::getProId,projects.get(0).getProParentId()); + wq1.eq(TjOrderDetail::getOrderId,order.getOrderId()); + TjOrderDetail detail = detailService.getOne(wq1); + if(null !=detail){ + detail.setProResult(jcjl+"銆�"+jcsj); + detail.setTjStatus(1L); + detailService.updateById(detail); + LambdaQueryWrapper<TjOrderRemark>wq2=new LambdaQueryWrapper<>(); + wq2.eq(TjOrderRemark::getProId,proId); + wq2.eq(TjOrderRemark::getTjNumber,tjNumber); + TjOrderRemark orderRemark = remarkService.getOne(wq2); + if(null !=orderRemark){ + orderRemark.setType(1); + remarkService.updateById(orderRemark); + xdtgmdjgService.deletedByTJhAndProId(tjNumber, proId); + TjXdtgmdjg xdtgmdjg=new TjXdtgmdjg(); + xdtgmdjg.setTjh(tjNumber); + xdtgmdjg.setCardId(order.getCardId()); + xdtgmdjg.setProId(proId); + xdtgmdjg.setProName(project.getProName()); + xdtgmdjg.setJcsj(jcsj); + xdtgmdjg.setJcjl(jcjl); + xdtgmdjg.setCreateBy(user.getNickName()); + xdtgmdjg.setCreateId(user.getUserId().toString()); + xdtgmdjgService.save(xdtgmdjg); + saveTjXdtgmdjgByJcbgd(xdtgmdjg); + } + } + } + return AjaxResult.success(); + } + return AjaxResult.error("鏆傛棤浣撴璁板綍"); + } catch (Exception e) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + log.error("鎻愪氦褰卞儚妫�鏌ラ瀵嗗害蹇冪數鍥剧粨鏋滄帴鍙�"+e.getMessage()); + throw new RuntimeException("鎻愪氦褰卞儚妫�鏌ラ瀵嗗害蹇冪數鍥剧粨鏋滄帴鍙�"); + } + } + @Transactional(propagation = Propagation.REQUIRED) // 鍏变韩浜嬪姟 + public void saveTjXdtgmdjgByJcbgd(TjXdtgmdjg xdtgmdjg) { + try { + int length = xdtgmdjg.getProId().length(); + // 纭繚瀛楃涓查暱搴﹁嚦灏戜负6 + String last6 = length >= 6 ? xdtgmdjg.getProId().substring(length - 6) : xdtgmdjg.getProId(); + Date date = new Date(); + LtkjExamJcbgd jcbgd=new LtkjExamJcbgd(); + jcsqdService.deletedLtkjJcsqdByTjhandtmh(xdtgmdjg.getCardId(),xdtgmdjg.getTjh()+last6); + jcbgdService.deletedLtkjJcbgdByTjhandtmh(xdtgmdjg.getCardId(),xdtgmdjg.getTjh()+last6); + jcbgd.setTjh(xdtgmdjg.getCardId()); + jcbgd.setTmh(xdtgmdjg.getTjh()+last6); + jcbgd.setXmdm(xdtgmdjg.getProId()); + jcbgd.setXmmc(xdtgmdjg.getProName()); + jcbgd.setBgNr(xdtgmdjg.getJcsj()); + jcbgd.setBgUrl(""); + jcbgd.setShysxm(xdtgmdjg.getCreateBy()); + jcbgd.setShysdm(xdtgmdjg.getCreateId()); + jcbgd.setYxzd(xdtgmdjg.getJcjl()); + jcbgd.setYxbx(xdtgmdjg.getJcjl()); + jcbgd.setZdsj(DateUtil.format(date,"yyyy-MM-dd")); + jcbgd.setJcbw(""); + jcbgd.setSqsj(DateUtil.format(date,"yyyy-MM-dd")); + jcbgd.setLx("1"); + jcbgd.setCreateTime(date); + jcbgdService.save(jcbgd); + jcsqdService.deletedLtkjJcsqdByTjhandtmh(xdtgmdjg.getCardId()); + jcsqdService.saveLtkjExamJcsqdxdt(xdtgmdjg.getCardId()); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + + @GetMapping ("/getYxJcXxJg") + @ApiOperation (value = "鑾峰彇褰卞儚妫�鏌ラ瀵嗗害蹇冪數鍥剧粨鏋滄帴鍙�") + @Transactional + public AjaxResult getYxJcXxJg(@ApiParam (value = "浣撴鍙�") @RequestParam String tjNumber, + @ApiParam (value = "椤圭洰id") @RequestParam String proId) { + TjOrder order = orderService.getOrderByTjNum(tjNumber); + if(null !=order){ + LambdaQueryWrapper<TjXdtgmdjg> wq=new LambdaQueryWrapper<>(); + wq.eq(TjXdtgmdjg::getTjh,tjNumber); + wq.eq(TjXdtgmdjg::getProId,proId); + TjXdtgmdjg xdtgmdjg = xdtgmdjgService.getOne(wq); + Map<String,Object>map=new HashMap<>(); + if(null !=xdtgmdjg ){ + map.put("jcsj",xdtgmdjg.getJcsj()); + map.put("jcjl",xdtgmdjg.getJcjl()); + return AjaxResult.success(map); + }else { + TjProject tjProject = projectService.getById(proId); + map.put("jcsj",""); + map.put("jcjl",tjProject.getProDefault()==null ? "":tjProject.getProDefault()); + } + return AjaxResult.success(map); + } + return AjaxResult.error("鏆傛棤浣撴璁板綍"); + } } -- Gitblit v1.8.0