ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java
@@ -1594,7 +1594,7 @@ } List<TjOrderDetail> tjOrderDetails = detailService.getTjOrderDetailListInProParentIdList(String.valueOf(one.getOrderId()), proParentIdList); List<TjOrderDetail> tjOrderDetailList=new ArrayList<>(); TjCustomer customer = tjCustomerService.getById(one.getUserId()); // TjCustomer customer = tjCustomerService.getById(one.getUserId()); if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) { for (TjOrderDetail tjOrderDetail : tjOrderDetails) { TjProject project = projectService.getById(tjOrderDetail.getProId()); ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjAdviceController.java
@@ -116,12 +116,15 @@ @GetMapping("/getKjTjAdviceKjbqBySex") @ApiOperation(value = "根据体检人性别和是否为总检查询体检建议接口") public AjaxResult getKjTjAdviceKjbqBySex(@RequestParam String sex, @RequestParam @ApiParam(value = "1常规医生 0总检") String isZj, @RequestParam(required = false) @ApiParam(value ="建议内容") String jynr, @ApiParam(value = "页码数(默认1)") @RequestParam(defaultValue = "1") Integer page, @ApiParam(value = "显示条数(默认10)") @RequestParam(defaultValue = "10") Integer pageSize) { LambdaQueryWrapper<TjAdvice> wq = new LambdaQueryWrapper<>(); Page<TjAdvice> page1 = new Page<>(page, pageSize); wq.eq(TjAdvice::getAdSex, sex).or().isNull(TjAdvice::getAdSex); // wq.eq(TjAdvice::getAdSex, sex).or().isNull(TjAdvice::getAdSex); wq.eq(TjAdvice::getIsZj, isZj); if(StringUtil.isNotBlank(jynr)) wq.like(TjAdvice::getAdvice,jynr); wq.and(i -> i.eq(TjAdvice::getAdSex, sex).or().isNull(TjAdvice::getAdSex)); Page<TjAdvice> kjbqPage = tjAdviceService.page(page1, wq); return AjaxResult.success(kjbqPage); } ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -1672,14 +1672,20 @@ return AjaxResult.success("该人员没有体检项目数据!"); } @GetMapping ("/getyichangxiangmujianyiguize") @ApiOperation (value = "总检查看异常项目建议规则接口") public AjaxResult getyichangxiangmujianyiguize(@RequestParam String proId,@RequestParam String ycbz) { if (StrUtil.isNotBlank(proId) && StrUtil.isNotBlank(ycbz)) { List<Map<String,Object>> map= rulesService.getyichangxiangmujianyiguize(proId,"",ycbz,""); return AjaxResult.success(map); @GetMapping ("/chushenyemianchakanxiangmujieguo") @ApiOperation (value = "初审页面查看项目结果接口") public AjaxResult chushenyemianchakanxiangmujieguo(@RequestParam String proId,@RequestParam String tjNum) { List<Map<String,Object>> maps = projectService.tjCsXmjgcx(tjNum,proId); return AjaxResult.success(maps); } return AjaxResult.error(); @GetMapping ("/panduaniscunzaiweijian") @ApiOperation (value = "初审页面查看项目前判断是否全部未检接口") public AjaxResult panduaniscunzaiweijian(@RequestParam String tjNum) { int a = orderRemarkService.panduaniscunzaiweijian(tjNum); return AjaxResult.success(a); } } ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -226,6 +226,7 @@ private LisJyflhbService lisJyflhbService; @Autowired private ISysDictDataService sysDictDataService; //将方法返回值解析成json格式 public JSONObject getJSONObject(String builder) { String Response = JSONUtil.parseObj(builder).getStr("Response"); @@ -420,7 +421,7 @@ LambdaQueryWrapper<TjCustomer> wqq = new LambdaQueryWrapper<>(); wqq.like(TjCustomer::getCusName, name); List<TjCustomer> customerList = tjCustomerService.list(wqq); if (null != customerList && customerList.size() > 0) { if (null != customerList && !customerList.isEmpty()) { List<TjOrder> list = new ArrayList<>(); for (TjCustomer customer : customerList) { LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>(); @@ -431,7 +432,7 @@ list.addAll(tjOrderService.list(wq)); } List<TjOrder> collect = null; if (list.size() > 0) { if (!list.isEmpty()) { for (TjOrder order : list) { TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId()); if (null != tjCustomer) { @@ -447,11 +448,15 @@ order.setIdType(tjCustomer.getIdType()); order.setAgeUnit(tjCustomer.getAgeUnit()); order.setTjCount(String.valueOf(tjCustomer.getCusNumber())); } if (null != tjCustomer.getCompName()) { order.setDictCompName(tjCustomer.getCompName()); } else { String firmId = order.getFirmId(); if (firmId != null && null != iDictCompService.getById(String.valueOf(order.getFirmId()))) { order.setDictCompName(iDictCompService.getById(String.valueOf(order.getFirmId())).getCnName()); } } if (null != order.getPacId()) { if (null != tjPackageService.getById(order.getPacId())) { order.setPacName(tjPackageService.getById(order.getPacId()).getPacName()); @@ -462,6 +467,7 @@ } TjDjdDyjl dycs = djdDyjlService.getDjdDyCsByTjNum(order.getTjNumber()); if(null !=dycs)order.setDycs(Math.toIntExact(dycs.getDycs())); } } collect = list.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); } @@ -508,10 +514,13 @@ order.setIdType(tjCustomer.getIdType()); order.setAgeUnit(tjCustomer.getAgeUnit()); order.setTjCount(String.valueOf(tjCustomer.getCusNumber())); } if (null != tjCustomer.getCompName()) { order.setDictCompName(tjCustomer.getCompName()); } else { String firmId = order.getFirmId(); if (firmId != null && null != iDictCompService.getById(String.valueOf(order.getFirmId()))) { order.setDictCompName(iDictCompService.getById(String.valueOf(order.getFirmId())).getCnName()); } } if (null != order.getPacId()) { if (null != tjPackageService.getById(order.getPacId())) { @@ -524,6 +533,7 @@ if(null !=dycs)order.setDycs(Math.toIntExact(dycs.getDycs())); } } } map.put("list", list); map.put("total", page2.getTotal()); return AjaxResult.success(map); @@ -534,6 +544,7 @@ @ApiOperation(value = "体检报告页面——体检记录列表") public AjaxResult getOrderListOO(@ApiParam(value = "页码数(默认1)") @RequestParam(defaultValue = "1") Integer pageNum, @ApiParam(value = "显示条数(默认10)") @RequestParam(defaultValue = "10") Integer pageSize, @ApiParam(value = "打印未打印状态 0未打印 1已打印") @RequestParam(defaultValue = "0") Integer dyzt, @ApiParam(value = "体检号)") @RequestParam(required = false) String tjNum, @ApiParam(value = "姓名)") @RequestParam(required = false) String name, @ApiParam(value = "报告开始时间") @RequestParam(required = false) String djbeginTime, @@ -547,9 +558,13 @@ List<TjOrder> list = new ArrayList<>(); for (TjCustomer customer : customerList) { LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>(); wq.isNotNull(TjOrder::getReportTime); wq.eq(TjOrder::getUserId, customer.getCusId()); wq.eq(TjOrder::getHeshouStatus, 1); //核收状态为1才能打印 if (dyzt == 0) { wq.isNull(TjOrder::getPrintLastTime); wq.eq(TjOrder::getHeshouStatus, 1); } else { wq.isNotNull(TjOrder::getPrintLastTime); } list.addAll(tjOrderService.list(wq)); } List<TjOrder> collect = null; @@ -564,13 +579,18 @@ list.get(i).setTjCustomerSex(tjCustomer.getCusSex()); list.get(i).setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); list.get(i).setTjCustomerName(tjCustomer.getCusName()); list.get(i).setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); list.get(i).setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); list.get(i).setTjCustomerPhone(tjCustomer.getCusPhone()); list.get(i).setTjCusIdCard(tjCustomer.getCusIdcard()); if (null != tjCustomer.getCompName()) { list.get(i).setDictCompName(tjCustomer.getCompName()); } else { String firmId = list.get(i).getFirmId(); if (firmId != null && null != iDictCompService.getById(String.valueOf(list.get(i).getFirmId()))) { list.get(i).setDictCompName(iDictCompService.getById(String.valueOf(list.get(i).getFirmId())).getCnName()); } } if (null != list.get(i).getPacId()) { if (null != tjPackageService.getById(list.get(i).getPacId())) { list.get(i).setPacName(tjPackageService.getById(list.get(i).getPacId()).getPacName()); @@ -579,6 +599,7 @@ list.get(i).setPacName(dwDeptService.getById(list.get(i).getPacId()).getDwDeptName()); } } //从打印记录查出最新打印时间 LambdaQueryWrapper<TjReportPrint> wqqq = new LambdaQueryWrapper<>(); wqqq.eq(TjReportPrint::getTjNumber, list.get(i).getTjNumber()); @@ -604,13 +625,18 @@ } Page<TjOrder> page1 = new Page<>(pageNum, pageSize); LambdaQueryWrapper<TjOrder> wq = new LambdaQueryWrapper<>(); wq.isNotNull(TjOrder::getReportTime); if (dyzt == 0) { wq.isNull(TjOrder::getPrintLastTime); wq.eq(TjOrder::getHeshouStatus, 1); //核收状态为1才能打印 } else { wq.isNotNull(TjOrder::getPrintLastTime); } if (null != djbeginTime && null != djendTime) { wq.between(TjOrder::getCreateTime, DateUtil.beginOfDay(DateUtil.parseDate(djbeginTime)), DateUtil.endOfDay(DateUtil.parseDate(djendTime))); } if (null != tjNum) { wq.eq(TjOrder::getTjNumber, tjNum); wq.like(TjOrder::getTjNumber, tjNum); } wq.orderByDesc(TjOrder::getCreateTime); Page<TjOrder> page2 = tjOrderService.page(page1, wq); @@ -625,14 +651,18 @@ list.get(i).setTjCustomerSex(tjCustomer.getCusSex()); list.get(i).setTjCustomerAge(DateUtil.ageOfNow(tjCustomer.getCusBrithday())); list.get(i).setTjCustomerName(tjCustomer.getCusName()); list.get(i).setTjCustomerPhone(MatchUtils.hidePhoneNum(tjCustomer.getCusPhone())); list.get(i).setTjCustomerPhone(tjCustomer.getCusPhone()); if (tjCustomer.getCusIdcard() != null) { list.get(i).setTjCusIdCard(MatchUtils.hideIdCardNum(tjCustomer.getCusIdcard())); list.get(i).setTjCusIdCard(tjCustomer.getCusIdcard()); } if (null != tjCustomer.getCompName()) { list.get(i).setDictCompName(tjCustomer.getCompName()); } else { String firmId = list.get(i).getFirmId(); if (firmId != null && null != iDictCompService.getById(String.valueOf(list.get(i).getFirmId()))) { list.get(i).setDictCompName(iDictCompService.getById(String.valueOf(list.get(i).getFirmId())).getCnName()); } } if (null != list.get(i).getPacId()) { if (null != tjPackageService.getById(list.get(i).getPacId())) { @@ -643,14 +673,14 @@ } } //从打印记录查出最新打印时间 LambdaQueryWrapper<TjReportPrint> wqqq = new LambdaQueryWrapper<>(); wqqq.eq(TjReportPrint::getTjNumber, list.get(i).getTjNumber()); wqqq.orderByDesc(TjReportPrint::getPrintTime); wqqq.last("limit 1"); TjReportPrint one = tjReportPrintService.getOne(wqqq); if (one != null) { list.get(i).setPrintLastTime(one.getPrintTime()); } // LambdaQueryWrapper<TjReportPrint> wqqq = new LambdaQueryWrapper<>(); // wqqq.eq(TjReportPrint::getTjNumber, list.get(i).getTjNumber()); // wqqq.orderByDesc(TjReportPrint::getPrintTime); // wqqq.last("limit 1"); // TjReportPrint one = tjReportPrintService.getOne(wqqq); // if (one != null) { // list.get(i).setPrintLastTime(one.getPrintTime()); // } } } map.put("list", list); @@ -1242,7 +1272,6 @@ } } @PostMapping("/addPlOrderAndDetail") @@ -3155,5 +3184,48 @@ } @GetMapping("/zongjanyemianshjianzhou") @ApiOperation(value = "总检获取时间轴接口") @Transactional public AjaxResult zongjanyemianshjianzhou(@RequestParam String tjNUm) { TjOrder order = tjOrderService.getOrderByTjNum(tjNUm); if(null !=order){ int czwj = remarkService.panduaniscunzaiweijian(tjNUm); int sfwc = remarkService.panduaniswancheng(tjNUm); Date checkTime = order.getCheckTime(); Date reportTime = order.getReportTime(); Integer heshouStatus = order.getHeshouStatus(); Date lastTime = order.getPrintLastTime(); if(czwj==0){ //未检 return AjaxResult.success(0); } else if(czwj>0) { //在检 return AjaxResult.success(1); }else if(sfwc==0){ //已完成 return AjaxResult.success(2); }else if(null !=checkTime){ //已审核 return AjaxResult.success(3); }else if(null !=reportTime){ //生成报告 return AjaxResult.success(4); }else if(null !=heshouStatus){ //报告核收 return AjaxResult.success(5); }else if(null !=lastTime){ //已出报告 return AjaxResult.success(6); }else { return AjaxResult.error(); } } return AjaxResult.error(); } } ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java
@@ -104,6 +104,8 @@ private HisPDFUtil hisPDFUtil; @Autowired private IDictHospService dictHospService; @Autowired private ITjReportPrintService printService; @GetMapping("/savePdf") @ApiOperation(value = "从本地存储模板到数据库") @@ -1718,22 +1720,23 @@ @ApiOperation(value = "下载体检报告") public void preview(HttpServletResponse response, @PathVariable("flag") boolean flag, @PathVariable("TjNumber") String tjNumber) { //修改order表中的下载报告时间为当前时间 LambdaUpdateWrapper<TjOrder> updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(TjOrder::getTjNumber, tjNumber); updateWrapper.set(TjOrder::getPrintLastTime, new Date()); updateWrapper.set(TjOrder::getDownloadLastTime, new Date()); updateWrapper.set(TjOrder::getStatus, TjConstants.TJ_END); tjOrderService.update(updateWrapper); // LambdaUpdateWrapper<TjOrder> updateWrapper = new LambdaUpdateWrapper<>(); // updateWrapper.eq(TjOrder::getTjNumber, tjNumber); // updateWrapper.set(TjOrder::getPrintLastTime, new Date()); // updateWrapper.set(TjOrder::getDownloadLastTime, new Date()); // updateWrapper.set(TjOrder::getStatus, TjConstants.TJ_END); // tjOrderService.update(updateWrapper); Date date = new Date(); // LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); // wq1.eq(TjOrder::getTjNumber, tjNumber); // TjOrder tjOrder = tjOrderService.getOne(wq1); TjOrder tjOrder = tjOrderService.getOrderByTjNum(tjNumber); LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjOrder::getTjNumber, tjNumber); TjOrder tjOrder = tjOrderService.getOne(wq1); LambdaQueryWrapper<TjCustomer> wq2 = new LambdaQueryWrapper<>(); wq2.eq(TjCustomer::getCusId, tjOrder.getUserId()); TjCustomer tjCustomer = tjCustomerService.getOne(wq2); // LambdaQueryWrapper<TjCustomer> wq2 = new LambdaQueryWrapper<>(); // wq2.eq(TjCustomer::getCusId, tjOrder.getUserId()); TjCustomer tjCustomer = tjCustomerService.getById( tjOrder.getUserId()); LambdaQueryWrapper<TjReport> we = new LambdaQueryWrapper<>(); @@ -1781,6 +1784,17 @@ while ((len = br.read(bs)) > 0) { out.write(bs, 0, len); } if(null !=tjOrder.getHeshouTime() && tjOrder.getHeshouStatus()==1){ TjReportPrint print=new TjReportPrint(); print.setTjNumber(tjNumber); print.setPrintBy(SecurityUtils.getLoginUser().getUser().getNickName()); print.setPrintTime(date); print.setPrintStatus("已打印"); if (printService.save(print)) { tjOrder.setPrintLastTime(date); tjOrderService.updateById(tjOrder); } } out.flush(); out.close(); br.close(); ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportPrintController.java
@@ -5,7 +5,9 @@ import javax.servlet.http.HttpServletResponse; import cn.hutool.core.date.DateTime; import com.alibaba.fastjson2.schema.ValidateResult; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ltkj.hosp.domain.TjCustomer; import com.ltkj.hosp.domain.TjOrder; import com.ltkj.hosp.service.ITjCustomerService; import com.ltkj.hosp.service.ITjOrderService; @@ -37,6 +39,10 @@ public class TjReportPrintController extends BaseController { @Autowired private ITjReportPrintService tjReportPrintService; @Resource private ITjCustomerService customerService; @Autowired private ITjOrderService orderService; /** * 查询打印记录列表 @@ -46,6 +52,15 @@ public TableDataInfo list(TjReportPrint tjReportPrint) { startPage(); List<TjReportPrint> list = tjReportPrintService.selectTjReportPrintList(tjReportPrint); for (TjReportPrint print : list) { TjOrder tjOrder = orderService.getOrderByTjNum(print.getTjNumber()); if(null !=tjOrder){ TjCustomer customer = customerService.getById(tjOrder.getUserId()); if(null !=customer){ print.setCusName(customer.getCusName()); } } } return getDataTable(list); } ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjReportPrint.java
@@ -2,6 +2,7 @@ import java.util.Date; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; @@ -43,6 +44,9 @@ @Excel(name = "体检号") private String tjNumber; @TableField(exist = false) private String cusName; /** * 打印操作员 */ ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderRemarkMapper.java
@@ -187,4 +187,11 @@ void tjYishengjianchajianyi(Map<String,Object> map); @Select("SELECT COUNT(*) a FROM tj_order_remark a WHERE a.deleted=0 AND a.tj_number=#{tjNum} AND a.type =1;") int panduaniscunzaiweijian(String tjNum); @Select("SELECT COUNT(*) a FROM tj_order_remark a WHERE a.deleted=0 AND a.tj_number=#{tjNum} AND a.type in(0,3);") int panduaniswancheng(String tjNum); } ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjProjectMapper.java
@@ -2,6 +2,7 @@ import java.math.BigDecimal; import java.util.List; import java.util.Map; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ltkj.hosp.domain.TjProject; @@ -179,4 +180,8 @@ "\n" + "SELECT a.pro_id FROM tj_project a WHERE a.deleted=0 AND a.pro_status=0 AND LOCATE(#{xmmc},a.pro_name) ) GROUP BY b.tj_number") List<String> getTjNumLIstByXmmx(String xmmc); List<Map<String,Object>> tjCsXmjgcx(Map<String,Object> map); } ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderRemarkService.java
@@ -74,4 +74,8 @@ List<TjOrderRemark> pacsJianChaData(String tjnumber); void tjYishengjianchajianyi(String tjNumber, Long deptId,String nickName, Long userId); int panduaniscunzaiweijian(String tjNum); int panduaniswancheng(String tjNum); } ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjProjectService.java
@@ -2,6 +2,7 @@ import java.math.BigDecimal; import java.util.List; import java.util.Map; import com.baomidou.mybatisplus.extension.service.IService; import com.ltkj.hosp.domain.TjProject; @@ -131,4 +132,7 @@ //根据项目名模糊搜索体检号 List<String> getTjNumLIstByXmmx(String xmmc); List<Map<String,Object>> tjCsXmjgcx(String tjNum, String proId); } ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderRemarkServiceImpl.java
@@ -146,4 +146,14 @@ mapper.tjYishengjianchajianyi(map); } @Override public int panduaniscunzaiweijian(String tjNum) { return mapper.panduaniscunzaiweijian(tjNum); } @Override public int panduaniswancheng(String tjNum) { return 0; } } ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjProjectServiceImpl.java
@@ -1,9 +1,7 @@ package com.ltkj.hosp.service.impl; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.*; import java.util.stream.Collectors; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -12,6 +10,7 @@ import com.ltkj.common.utils.StringUtils; import com.ltkj.common.utils.spring.SpringUtils; import com.ltkj.hosp.treeUtil.TreeSelect; import net.sf.ehcache.constructs.scheduledrefresh.OverseerJob; import org.springframework.stereotype.Service; import com.ltkj.hosp.mapper.TjProjectMapper; import com.ltkj.hosp.domain.TjProject; @@ -257,6 +256,8 @@ return tjProjectMapper.getTjNumLIstByXmmx(xmmc); } /** * 递归列表 */ @@ -294,6 +295,13 @@ } @Override public List<Map<String,Object>> tjCsXmjgcx(String tjNum, String proId) { Map<String,Object> map=new HashMap<>(); map.put("tjnum",tjNum); map.put("proid",proId); return tjProjectMapper.tjCsXmjgcx(map); } } ltkj-hosp/src/main/resources/mapper/TjProjectMapper.xml
@@ -82,6 +82,7 @@ where pro_id = #{proId} and deleted=0 </select> <insert id="insertTjProject" parameterType="TjProject" useGeneratedKeys="true" keyProperty="proId"> insert into tj_project <trim prefix="(" suffix=")" suffixOverrides=","> @@ -187,4 +188,12 @@ #{proId} </foreach> </delete> <select id="tjCsXmjgcx" parameterType="java.util.Map" statementType="CALLABLE" resultType="java.util.Map"> {call tj_cs_xmjgcx( #{tjnum,mode=IN,jdbcType=VARCHAR}, #{proid,mode=IN,jdbcType=VARCHAR} )} </select> </mapper>