From 0892d843cd394f383ff50f480f7f22f2ec3829bc Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期五, 27 六月 2025 20:24:45 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java | 2040 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 1,812 insertions(+), 228 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java index dc2ccb9..2230d62 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java @@ -1,36 +1,67 @@ package com.ltkj.web.controller.system; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ltkj.common.annotation.RepeatSubmit; import com.ltkj.common.core.domain.AjaxResult; +import com.ltkj.common.core.domain.entity.SysDept; import com.ltkj.common.core.domain.entity.SysUser; import com.ltkj.common.core.redis.RedisCache; +import com.ltkj.common.enums.DataSourceType; import com.ltkj.common.utils.SecurityUtils; import com.ltkj.common.utils.StringUtils; import com.ltkj.framework.config.MatchUtils; +import com.ltkj.framework.config.UserHoder; +import com.ltkj.framework.datasource.DynamicDataSourceContextHolder; import com.ltkj.hosp.domain.*; +import com.ltkj.hosp.mapper.TestMapper; import com.ltkj.hosp.service.*; +import com.ltkj.hosp.sqlDomain.*; +import com.ltkj.hosp.vo.ProFcListVo; import com.ltkj.hosp.vodomain.CsProVo; import com.ltkj.hosp.vodomain.UpdateOrderRemarkVo; import com.ltkj.mall.mallOrderUtils.TjConstants; import com.ltkj.system.service.ISysConfigService; import com.ltkj.system.service.ISysDeptService; import com.ltkj.system.service.ISysUserService; +import com.ltkj.web.controller.his.HisApiGetMethodService; +import com.ltkj.web.controller.his.HisApiMethodService; +import com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException; 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 lombok.var; import org.aspectj.weaver.AjAttribute; +import org.redisson.api.RLock; +import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.math.BigDecimal; +import java.text.Collator; import java.util.*; +import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; + +import static com.ltkj.framework.datasource.DynamicDataSourceContextHolder.log; +import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.save; +import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.setClipRect; +import static org.jeecg.modules.jmreport.dyndb.util.b.a; +import static org.jeecg.modules.jmreport.dyndb.util.b.e; /** * @Author: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃/璧典匠璞� @@ -38,7 +69,8 @@ */ @RestController @RequestMapping("/check") -@Api(tags = "鎬绘鍖诲笀鐩稿叧鎺ュ彛") +@Api(tags = "AAAAAAAAAAAA鎬绘鍖诲笀鐩稿叧鎺ュ彛") +@Slf4j public class TjCheckController { @Resource private ITjOrderService orderService; @@ -70,6 +102,90 @@ private ISysConfigService configService; @Resource private ISysDeptService deptService; + @Resource + private TestMapper testMapper; + @Resource + private TjvLtkjvtjpatService tjvLtkjvtjpatService; + @Resource + private LtkjMiddleDetailService middleDetailService; + @Resource + private LtkjMiddleHeadService headService; + @Resource + private LtkjExamJcbgdService jcbgdService; + @Resource + private LtkjExamJcsqdService jcsqdService; + @Resource + private LtkjHybgdService ltkjHybgdService; + @Resource + private LtkjHysqdService ltkjHysqdService; + @Autowired + private HisApiMethodService controller; + @Autowired + private HisApiGetMethodService service; + @Autowired + private HisApiConfigService hisApiConfigService; + @Autowired + private RedissonClient redissonClient; + @Autowired + private ITjRulesService rulesService; + @Autowired + private ITjProAdvicerulesService tjProAdvicerulesService; + @Autowired + private TjOrderYcxmService ycxmService; + @Autowired + private SysConfigController configController; + @Autowired + private TjJcycxmService jcycxmService; + @Resource + private TjXdtgmdjgService xdtgmdjgService; + @Resource + private TjXdPictureController pictureController; + + @GetMapping("/ceshicc") + @ApiOperation(value = "娴嬭瘯璋冪敤瀛樺偍杩囩▼鑰楁椂鎺ュ彛") + @RepeatSubmit +// @Transactional + public AjaxResult ceshicc() { + + List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd1("8003241206085556"); + if (null != jcsqdList && !jcsqdList.isEmpty()) { + jcsqdService.deletedLtkjJcsqdByTjhAndTmh("8003241206085556"); + jcbgdService.deletedLtkjJcbgdByTjhAndTmh("8003241206085556"); + jcsqdService.saveBatch(jcsqdList); + List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd1("8003241206085556"); + if (null != jcbgdList && !jcbgdList.isEmpty()) jcbgdService.saveBatch(jcbgdList); + DynamicDataSourceContextHolder.clearDataSourceType(); + } + return AjaxResult.success(); + } + + +// @GetMapping ("/ceshi") +// @ApiOperation (value = "娴嬭瘯璋冪敤lis瑙嗗浘鏁版嵁鎺ュ彛") +// @RepeatSubmit +//// @Transactional +// public AjaxResult ceshi() { +// List<Map<String, Object>> ccXZxYyLisJgSt = testMapper.getCcXZxYyLisJgSt(); +// return AjaxResult.success(ccXZxYyLisJgSt); +// } + + +// @GetMapping ("/pacs") +// @ApiOperation (value = "娴嬭瘯璋冪敤pacs瑙嗗浘鏁版嵁鎺ュ彛") +// @RepeatSubmit +// public AjaxResult pacs() { +// List<Map<String, Object>> ccXZxYyPacsJgSt = testMapper.getCcXZxYyPacsJgSt(); +// +// List<LtkjExamJcsqd> list = testMapper.getCcXZxYyPacsLtkjExamJcsqd(""); +// +// log.info(list.toString()); +// +// List<LtkjExamJcbgd> list1 = testMapper.getCcXZxYyPacsLtkjExamJcbgd(""); +// +// log.info(list1.toString()); +// +// return AjaxResult.success(ccXZxYyPacsJgSt); +// } @GetMapping("/getOperationPermissionsByTjNum") @@ -98,85 +214,94 @@ @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); - } +// 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); +// } + 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.getCsCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name, tcm)); } @@ -186,35 +311,61 @@ @GetMapping("/cSWebGetProByTjNumAndOrderId") @ApiOperation(value = "(鍒濆椤甸潰)鐐瑰嚮浣撴浜哄憳灞曠ず浣撴椤圭洰鎺ュ彛") public AjaxResult cSWebGetProByTjNumAndOrderId(@ApiParam(value = "浣撴鍙�") @RequestParam String tjNumber) { - List<TjOrderRemark> orderRemarkList = orderRemarkService.getTjOrderRemarkListByTjNum(tjNumber); - List<CsProVo> list = new ArrayList<>(); - if (null != orderRemarkList && orderRemarkList.size() > 0) { - for (TjOrderRemark remark : orderRemarkList) { - CsProVo vo = new CsProVo(); - vo.setDeptName(deptService.getById(remark.getDeptId()).getDeptName()); - vo.setProName(projectService.getById(remark.getProId()).getProName()); - vo.setType(remark.getType()); - if (null != remark.getDoctorName()) { - vo.setDoctorName(userService.getById(remark.getDoctorName()).getNickName()); - vo.setBcdoctorName(userService.getById(remark.getDoctorName()).getNickName()); - } - vo.setSffs("缁熸敹"); - vo.setIsPay("宸叉敹璐�"); - vo.setQdcreateTime(remark.getCreateTime()); - vo.setBcupdateTime(remark.getUpdateTime()); - vo.setZhupdateTime(remark.getUpdateTime()); - list.add(vo); - } +// List<TjOrderRemark> orderRemarkList = orderRemarkService.getTjOrderRemarkListByTjNum(tjNumber); +// List<CsProVo> list = new ArrayList<>(); +// if (null != orderRemarkList && orderRemarkList.size() > 0) { +// for (TjOrderRemark remark : orderRemarkList) { +// CsProVo vo = new CsProVo(); +// vo.setDeptName(deptService.getById(remark.getDeptId()).getDeptName()); +// vo.setProName(projectService.getById(remark.getProId()).getProName()); +// vo.setType(remark.getType()); +// if (null != remark.getDoctorName()) { +// vo.setDoctorName(userService.getById(remark.getDoctorName()).getNickName()); +// vo.setBcdoctorName(userService.getById(remark.getDoctorName()).getNickName()); +// } +// vo.setSffs("缁熸敹"); +// vo.setIsPay("宸叉敹璐�"); +// vo.setQdcreateTime(remark.getCreateTime()); +// vo.setBcupdateTime(remark.getUpdateTime()); +// vo.setZhupdateTime(remark.getUpdateTime()); +// list.add(vo); +// } +// List<CsProVo> list1 = orderRemarkService.cSWebGetProByTjNumAndOrderId(tjNumber); +// Collections.sort(list, new Comparator<CsProVo>() { +// @Override +// public int compare(CsProVo o1, CsProVo o2) { +// return o1.getType() - o2.getType(); +// } +// }); +// } - Collections.sort(list, new Comparator<CsProVo>() { + List<CsProVo> list = getCsProVos(tjNumber, false); + return AjaxResult.success(list); + } + + public List<CsProVo> getCsProVos(String tjNumber, boolean sfzpacs) { + List<CsProVo> list = orderRemarkService.cSWebGetProByTjNumAndOrderId(tjNumber, sfzpacs); + if (null != list && !list.isEmpty()) { + list.sort(new Comparator<CsProVo>() { @Override public int compare(CsProVo o1, CsProVo o2) { return o1.getType() - o2.getType(); } }); } - return AjaxResult.success(list); + return list; } + + + @PostMapping("/newaddOrderYcXmJyByTjh") + @ApiOperation(value = "鎬绘鍖荤敓椤甸潰鏂板寮傚父椤圭洰寤鸿(鍗曚釜)") + public AjaxResult newaddOrderYcXmJyByTjh(@RequestBody TjOrderYcxm ycxm) { + + ycxm.setJynr(JSONUtil.toJsonStr(ycxm.getMap())); + ycxmService.saveOrUpdate(ycxm); + return AjaxResult.success(); + } + /** @@ -222,26 +373,23 @@ */ @GetMapping("/confirmOrder") @ApiOperation(value = "鍒濆(骞朵慨鏀圭姸鎬�)鎺ュ彛") -// @PreAuthorize("@ss.hasPermi('check:check:confirmOrder')") @Transactional public AjaxResult confirmOrder(@ApiParam(value = "tjNumber") @RequestParam String tjNumber, @ApiParam(value = "鐘舵�� 0鍚屾剰 1鎷掔粷 榛樿鍚屾剰") @RequestParam(defaultValue = "0") Integer status, @ApiParam(value = "椹冲洖鐞嗙敱") @RequestParam(required = false) String remark) { int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber); - if (num > 0) return AjaxResult.error("鏈夊欢鏈熼」鐩殏涓嶈兘瀹℃牳!"); + if (num > 0) return AjaxResult.error("璇锋鏌ユ槸鍚﹀瓨鍦ㄦ湭妫�鎴栧欢鏈熼」鐩�"); if (null != tjNumber) { Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); SysUser sysUser = userService.getById(userId); - LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>(); - wq1.eq(TjOrder::getTjNumber, tjNumber); - TjOrder tjOrder = orderService.getOne(wq1); + TjOrder tjOrder = orderService.getOrderByTjNum(tjNumber); if (null != tjOrder) { tjOrder.setConfirmTime(new DateTime()); tjOrder.setConfirmDoctor(sysUser.getNickName()); - tjOrder.setConfirmStatus(remark); + tjOrder.setConfirmStatus(String.valueOf(status)); if (status == 0) { tjOrder.setStatus(TjConstants.TJ_CHECK); - asyncService.updateCheckType(tjNumber); +// asyncService.updateCheckType(tjNumber); } else { tjOrder.setStatus(TjConstants.TJ_REFUSED); } @@ -251,6 +399,8 @@ confirmLog.setTjNum(tjNumber); confirmLog.setStatus(status); confirmLogService.save(confirmLog); +// asyncService.wCScheckSetCustomerLisByRedis(orderService.getCsTjOrderList(tjNumber, 0, null, null, null)); +// asyncService.yCScheckSetCustomerLisByRedis(orderService.getCsTjOrderList(tjNumber, 1, null, null, null)); return AjaxResult.success("鎿嶄綔鎴愬姛"); } return AjaxResult.error("鎿嶄綔澶辫触"); @@ -262,16 +412,646 @@ /** + * 鍚屾sql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛 + */ + @GetMapping("/dataSynchronization") + @ApiOperation(value = "鍚屾sql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛") + @RepeatSubmit +// @Transactional + public AjaxResult dataSynchronization(@RequestParam String tjNumber) { + String dqyyyqbm = configService.selectConfigByKey("dqyyyqbm"); + RLock lock = redissonClient.getLock("lock:check:dataSynchronization:" + tjNumber); + try { + boolean tryLock = lock.tryLock(3L, TimeUnit.SECONDS); + if (tryLock) { + //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 + final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); + + final String sfkqdyhis = configService.selectConfigByKey("sfkqdyhis"); + final String sfkqdshitulianjie = configService.selectConfigByKey("sfkqdshitulianjie"); + TjOrder order = orderService.getOrderByTjNum(tjNumber); + if (null != order) { + + //寮�鍚瓧鍏稿脊绐� + if ("Y".equals(getInfoFromSqlData)) { + tbhyxm(order); + // List<LtkjExamJcsqd> one2 = testMapper.getExamJcsqdTmh(tjNumber); +// if (one2 != null && one2.size() > 0) { +// DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); +// ltkjExamJcsqdService.saveBatch(one2); +// DynamicDataSourceContextHolder.clearDataSourceType(); +// for (LtkjExamJcsqd ltkjExamJcsqd : one2) { +// List<LtkjExamJcbgd> one3 = testMapper.getExamJcbgdByTjh(ltkjExamJcsqd.getTmh()); +// if (one3 != null && one3.size() > 0) { +// DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); +// ltkjExamJcbgdService.saveBatch(one3); +// DynamicDataSourceContextHolder.clearDataSourceType(); +// } +// } +// } + //鍚屾鍖栭獙椤圭洰 + testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId()); + //鍚屾妫�鏌ラ」鐩� + testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId()); + asyncService.updateCheckType(order.getTjNumber()); + + } + + //寮�鍚拰his瀵规帴 + if (null != sfkqdyhis && sfkqdyhis.equals("Y")) { + + List<String> baoGaoDans = ltkjHybgdService.getJianYanBaoGaoDan(order.getCardId()); + List<String> jianChaBaoGaoDan = ltkjHybgdService.getJianChaBaoGaoDan(order.getCardId()); + //鍚屾妫�楠� + if (null != baoGaoDans && baoGaoDans.size() > 0) { + Date dates = new Date(); + Map<String, Object> map = new HashMap<>(); + map.put("his_registration_id", order.getCardId()); + map.put("ksbm", ""); + map.put("pationid", ""); + map.put("ksrq", DateUtil.format(DateUtil.beginOfDay(order.getCreateTime()), "yyyy-MM-dd HH:mm:ss")); + map.put("jsrq", DateUtil.format(DateUtil.endOfDay(dates), "yyyy-MM-dd HH:mm:ss")); + map.put("pagecount", 10); + map.put("page", 1); + AjaxResult result = controller.Getlabreportinfo(map); + String result1 = getAjaxResult(result); + JSONObject object = getJSONObject(result1); + String code = object.getStr("ResultCode"); + if (null == code || !code.equals("0")) { + return AjaxResult.error("鍖栭獙椤圭洰鏆傛椂鏈嚭缁撴灉,璇风◢鍚庡悓姝�!!!"); + } + JSONArray data = object.getJSONArray("ResultData"); + + for (Object datum : data) { + JSONObject jsonObject = (JSONObject) datum; + LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(order.getCardId(), jsonObject.getStr("JYBGID")); + if (null != jybgid) { + ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(order.getCardId(), jsonObject.getStr("JYBGID")); + ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(jybgid.getTmh()); + } + LtkjHysqd hysqd = new LtkjHysqd(); + hysqd.setTjh(order.getCardId()); + hysqd.setTmh(jsonObject.getStr("JYBGID")); + hysqd.setBbbh(jsonObject.getStr("BBDM")); + hysqd.setBbmc(jsonObject.getStr("BBMC")); + hysqd.setXmid(jsonObject.getStr("JYXMDM")); + hysqd.setXmmc(jsonObject.getStr("JYXMMC")); + hysqd.setSqsj(jsonObject.getStr("SQRQ")); + hysqd.setSqys(jsonObject.getStr("SQRBH")); + hysqd.setJgsj(jsonObject.getStr("JYBGRQ")); + hysqd.setSqrxm(jsonObject.getStr("SQRXM")); + hysqd.setSqdh(jsonObject.getStr("SQDBH")); + hysqd.setShrdm(jsonObject.getStr("JYYSBH")); + hysqd.setShrxm(jsonObject.getStr("JYYSQM")); + hysqd.setJybgjg(jsonObject.getStr("JYBGJG")); + if (ltkjHysqdService.save(hysqd)) { + Map<String, Object> hashMap = new HashMap<>(); + hashMap.put("jybgid", hysqd.getTmh()); + AjaxResult bgdres = controller.Getlabdetailinfo(hashMap); + String result2 = getAjaxResult(bgdres); + JSONObject object1 = getJSONObject(result2); + String code1 = object1.getStr("ResultCode"); + if (null != code1 && code1.equals("0")) { + JSONArray datas = object1.getJSONArray("ResultData"); + for (Object o : datas) { + JSONObject js = (JSONObject) o; +// ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(jsonObject.getStr("JYBGID")); + LtkjHybgd bgd = new LtkjHybgd(); + bgd.setTmh(hysqd.getTmh()); + bgd.setJcxmid(js.getStr("JCZBDM")); + bgd.setJcxm(js.getStr("JCZBMC")); + bgd.setTdh(js.getStr("")); + bgd.setJyjg(js.getStr("JCZBJG")); + bgd.setJgdw(js.getStr("JLDW")); + bgd.setFwzdz(js.getStr("")); + bgd.setFwzgz(js.getStr("")); + bgd.setFwz(js.getStr("CKZFW")); + bgd.setJysj(js.getStr("BGRQ")); + bgd.setJyys(js.getStr("JCRBH")); + bgd.setShsj(js.getStr("BGRQ")); + bgd.setShsj(js.getStr("BGRQ")); + bgd.setShys(js.getStr("SHRBH")); + bgd.setShysmc(js.getStr("SHRXM")); + bgd.setYcbz(js.getStr("YCTS")); +// bgd.setTpurl(js.getStr("")); + ltkjHybgdService.save(bgd); + } + } + + Map<String, Object> fbhashMap = new HashMap<>(); + fbhashMap.put("jybgid", hysqd.getTmh()); + AjaxResult fbres = controller.Getlabgermrepinfo(fbhashMap); + String ajaxResult = getAjaxResult(fbres); + JSONObject fbobject = getJSONObject(ajaxResult); + String fbcode = fbobject.getStr("ResultCode"); + if (null != fbcode && fbcode.equals("0")) { + JSONArray datas = fbobject.getJSONArray("ResultData"); + for (Object o : datas) { + JSONObject js = (JSONObject) o; + LtkjHybgd bgd = new LtkjHybgd(); + bgd.setTmh(hysqd.getTmh()); + bgd.setJcxmid(hysqd.getXmid()); + bgd.setJcxm(hysqd.getXmmc()); + bgd.setTdh(js.getStr("")); + bgd.setJyjg(js.getStr("JCJG")); + bgd.setJgdw("/"); + bgd.setFwzdz("/"); + bgd.setFwzgz("/"); + bgd.setFwz("/"); + bgd.setJysj(js.getStr("BGRQ")); + bgd.setJyys(hysqd.getSqrxm()); + bgd.setShsj(js.getStr("BGRQ")); + bgd.setShys(hysqd.getShrdm()); + bgd.setShysmc(hysqd.getShrxm()); + ltkjHybgdService.save(bgd); + } + } + + } + } + //鍚屾鍖栭獙椤圭洰 + testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId()); + } + + /*鍚屾妫�鏌� his鎺ュ彛*/ + if (null != jianChaBaoGaoDan && jianChaBaoGaoDan.size() > 0) { + Map<String, Object> maps = new HashMap<>(); + maps.put("his_registration_id", order.getCardId()); + maps.put("ksbm", "浣撴涓績"); + maps.put("pagecount", 100); + maps.put("page", 1); + + + LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Getexamreportinfo"); + HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper); + + + /*鍚屾妫�鏌� his瀛樺偍杩囩▼*/ + + String jctbfs = configService.selectConfigByKey("jctbfs"); + AjaxResult results = null; + if (jctbfs.equalsIgnoreCase("Y")) { + results = service.getHISDataNew("Getexamreportinfo", maps); + } else { + results = jcsqdService.getTjJcProByHisCall("浣撴涓績", order.getCardId(), "''", 100, 1, "'1'"); + } + + + DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); + DynamicDataSourceContextHolder.clearDataSourceType(); + + log.info("妫�鏌ラ」鐩煡璇㈣繑鍥炲��: " + results.toString()); + + if (Integer.parseInt(results.get("code").toString()) == 200) { + List<Map<String, Object>> datas = (List<Map<String, Object>>) results.get("data"); + if (null != datas && datas.size() > 0) { + jcsqdService.deletedLtkjJcsqdByTjhAndTmh(order.getCardId()); + jcbgdService.deletedLtkjJcbgdByTjhAndTmh(order.getCardId()); + for (Map<String, Object> objectMap : datas) { + //淇濆瓨鍏ュ弬鍑哄弬 +// service.save((JSONObject)objectMap,"Getexamreportinfo",hisApiConfig,JSONUtil.toJsonStr(maps)); + service.save(JSONUtil.parseObj(objectMap), "Getexamreportinfo", hisApiConfig, JSONUtil.toJsonStr(maps)); + + + LtkjExamJcbgd jcbgd = new LtkjExamJcbgd(); + jcbgd.setTjh(order.getCardId()); + if (null != objectMap.get("JCBGID") || !objectMap.get("JCBGID").equals("")) + jcbgd.setTmh(objectMap.get("JCBGID").toString()); + + if (null != objectMap.get("JCXMDM") || !objectMap.get("JCXMDM").equals("")) + jcbgd.setXmdm(objectMap.get("JCXMDM").toString()); + + if (null != objectMap.get("JCXMMC") || !objectMap.get("JCXMMC").equals("")) + jcbgd.setXmmc(objectMap.get("JCXMMC").toString()); + + if (null != objectMap.get("JCXMJG") || !objectMap.get("JCXMJG").equals("")) + jcbgd.setBgNr(objectMap.get("JCXMJG").toString()); + + if (null != objectMap.get("reporturl") || !objectMap.get("reporturl").equals("")) + jcbgd.setBgUrl(objectMap.get("reporturl").toString()); + + if (null != objectMap.get("SHYSQM") || !objectMap.get("SHYSQM").equals("")) + jcbgd.setShysxm(objectMap.get("SHYSQM").toString()); + + if (null != objectMap.get("SHYSBH") || !objectMap.get("SHYSBH").equals("")) + jcbgd.setShysdm(objectMap.get("SHYSBH").toString()); + + if (null != objectMap.get("YXZD") || !objectMap.get("YXZD").equals("")) + jcbgd.setYxzd(objectMap.get("YXZD").toString()); + + if (null != objectMap.get("YXBX") || !objectMap.get("YXBX").equals("")) { + if (objectMap.get("YXBX").toString().equals("null")) { + jcbgd.setYxbx("鏈寮傚父"); + } else { + jcbgd.setYxbx(objectMap.get("YXBX").toString()); + } + } + if (null != objectMap.get("SJJLSJ") || !objectMap.get("SJJLSJ").equals("")) + jcbgd.setZdsj(objectMap.get("SJJLSJ").toString()); + + if (null != objectMap.get("JCBW") || !objectMap.get("JCBW").equals("")) + jcbgd.setJcbw(objectMap.get("JCBW").toString()); + + if (null != objectMap.get("SQRQSJ") || !objectMap.get("SQRQSJ").equals("")) + jcbgd.setSqsj(objectMap.get("SQRQSJ").toString()); + + jcbgdService.save(jcbgd); + } + jcsqdService.saveLtkjExamJcsqd(order.getCardId()); + + int maxRetries = 3; + for (int attempt = 0; attempt < maxRetries; attempt++) { + try { + testMapper.updateDetailByTjJcCall(order.getCardId(), + String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId()); + break; + } catch (Exception e) { + if (attempt == maxRetries - 1) { + throw e; + } + try { + Thread.sleep(1000); + } catch (InterruptedException ignored) { + } + } + } + } else { + return AjaxResult.error("妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!"); + } + } + } + return AjaxResult.success("鍚屾鎴愬姛"); + } else if (null != sfkqdshitulianjie && sfkqdshitulianjie.equalsIgnoreCase("Y")) { + List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(order.getTjNumber(), dqyyyqbm); + if (null != hysqdList && !hysqdList.isEmpty()) { + for (LtkjHysqd hysqd : hysqdList) { + LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(hysqd.getTjh(), hysqd.getTmh()); + if (null != jybgid) { + ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(hysqd.getTjh(), hysqd.getTmh()); + ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(hysqd.getTmh()); + } + if (ltkjHysqdService.save(hysqd)) { + List<LtkjHybgd> hybgdList = testMapper.getCcXZxYyLtkjHybgdByLisVi(hysqd.getTmh()); + ltkjHybgdService.saveBatch(hybgdList); + } + } + DynamicDataSourceContextHolder.clearDataSourceType(); + } + List<LtkjExamJcsqd> jcsqdList = testMapper.getCcXZxYyPacsLtkjExamJcsqd(order.getTjNumber(), dqyyyqbm); + if (null != jcsqdList && !jcsqdList.isEmpty()) { + jcsqdService.deletedLtkjJcsqdByTjhAndTmh(order.getCardId()); + jcbgdService.deletedLtkjJcbgdByTjhAndTmh(order.getCardId()); + jcsqdService.saveBatch(jcsqdList); + List<LtkjExamJcbgd> jcbgdList = testMapper.getCcXZxYyPacsLtkjExamJcbgd(order.getCardId()); + if (null != jcbgdList && !jcbgdList.isEmpty()) jcbgdService.saveBatch(jcbgdList); + DynamicDataSourceContextHolder.clearDataSourceType(); + } +// String tjNumber1 = order.getTjNumber(); +// log.info("鏌ヨ鍑烘潵鐨勪綋妫�鍙锋槸: " + tjNumber1); +// log.info("浼犺繃鏉ョ殑鐨勪綋妫�鍙锋槸: "+tjNumber); + Map<String, Object> map = new HashMap<>(); + map.put("tjnum", tjNumber); + testMapper.tjUpdateDetatilByVi(map); + } else { + //鍖栭獙 + testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId()); + } + //妫�鏌� + orderService.tjLispacstongbujianyi(null, null, null, null); + return AjaxResult.success("鍚屾鎴愬姛"); + } + return AjaxResult.error("鏈煡鍒拌浜哄憳浣撴璁板綍"); + } + return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑"); + } catch (InterruptedException e) { + log.error(String.valueOf(e), e.getMessage()); + return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑"); + } finally { + lock.unlock(); + } + } + + + /** + * 鍚屾sql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛 + */ + @GetMapping("/dataSynchronizationApi") + @ApiOperation(value = "鍚屾sql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛") + @RepeatSubmit +// @Transactional + public AjaxResult dataSynchronizationApi(@RequestParam String tjNumber) { + RLock lock = redissonClient.getLock("lock:check:dataSynchronization:" + tjNumber); + try { + boolean tryLock = lock.tryLock(3L, TimeUnit.SECONDS); + if (tryLock) { + String doctorId = configService.selectConfigByKey("request_default_check_doctorId"); + //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 + final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); + final String sfkqdyhis = configService.selectConfigByKey("sfkqdyhis"); + TjOrder order = orderService.getOrderByTjNum(tjNumber); + if (null != order) { + + //寮�鍚瓧鍏稿脊绐� + if ("Y".equals(getInfoFromSqlData)) { + tbhyxm(order); + asyncService.updateCheckType(order.getTjNumber()); + + } + //寮�鍚拰his瀵规帴 + if (null != sfkqdyhis && sfkqdyhis.equals("Y")) { + List<String> baoGaoDans = ltkjHybgdService.getJianYanBaoGaoDan(order.getCardId()); + List<String> jianChaBaoGaoDan = ltkjHybgdService.getJianChaBaoGaoDan(order.getCardId()); + //鍚屾妫�楠� + String resultMsg = ""; + if (null != baoGaoDans && !baoGaoDans.isEmpty()) { + Date dates = new Date(); + String jytbfs = configService.selectConfigByKey("jytbfs"); + AjaxResult result; + if (StrUtil.isBlank(jytbfs) || jytbfs.equalsIgnoreCase("Y")){ + Map<String, Object> map = new HashMap<>(); + map.put("his_registration_id", order.getCardId()); + map.put("ksbm", ""); + map.put("pationid", ""); + map.put("ksrq", DateUtil.format(DateUtil.beginOfDay(order.getCreateTime()), "yyyy-MM-dd HH:mm:ss")); + map.put("jsrq", DateUtil.format(DateUtil.endOfDay(dates), "yyyy-MM-dd HH:mm:ss")); + map.put("pagecount", 10); + map.put("page", 1); + result = controller.Getlabreportinfo(map); + }else { + result = ltkjHysqdService.getAsyncDataByPro("浣撴涓績", order.getCardId(), "''", 100, 1, "'1'"); + } + log.info("妫�楠岄」鐩煡璇㈣繑鍥炲��: " + JSONUtil.toJsonStr(result)); + + String result1 = getAjaxResult(result); + JSONObject object = getJSONObject(result1); + String code = object.getStr("ResultCode"); + if (null != code && code.equals("0")) { + JSONArray data = object.getJSONArray("ResultData"); + for (Object datum : data) { + JSONObject jsonObject = (JSONObject) datum; + LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(order.getCardId(), jsonObject.getStr("JYBGID")); + if (null != jybgid) { + ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(order.getCardId(), jsonObject.getStr("JYBGID")); + ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(jybgid.getTmh()); + } + boolean isInsertHysqd = false; + LtkjHysqd hysqd = new LtkjHysqd(); + hysqd.setTjh(order.getCardId()); + hysqd.setTmh(jsonObject.getStr("JYBGID"));// 妫�楠屾姤鍛� ID + hysqd.setBbbh(jsonObject.getStr("BBDM"));// 鏍囨湰浠g爜 + hysqd.setBbmc(jsonObject.getStr("BBMC"));// 鏍囨湰鍚嶇О + hysqd.setXmid(jsonObject.getStr("JYXMDM"));// 妫�楠岄」鐩唬鐮� + hysqd.setXmmc(jsonObject.getStr("JYXMMC"));// 妫�楠岄」鐩悕绉� + hysqd.setSqsj(jsonObject.getStr("SQRQ"));// 鐢宠鏃堕棿 + hysqd.setSqys(jsonObject.getStr("SQRBH"));// 鐢宠鍖荤敓缂栧彿 + hysqd.setJgsj(jsonObject.getStr("JYBGRQ"));// 鎶ュ憡鏃ユ湡 + hysqd.setSqrxm(jsonObject.getStr("SQRXM"));// 鐢宠鍖荤敓濮撳悕 + hysqd.setSqdh(jsonObject.getStr("SQDBH"));// 鐢宠鍖荤敓浠g爜锛屽瓧鍏镐唬鐮� + hysqd.setShrdm(jsonObject.getStr("JYYSBH"));// 瀹℃牳浜哄憳浠g爜锛屽瓧鍏镐唬鐮� + hysqd.setShrxm(jsonObject.getStr("JYYSQM"));// 瀹℃牳浜哄憳濮撳悕 + hysqd.setJybgjg(jsonObject.getStr("JYBGJG"));// 妫�楠屾姤鍛婄粨鏋� + hysqd.setCreateTime(new Date()); + QueryWrapper<LtkjHysqd> queryWrapper = new QueryWrapper<>(hysqd); + List<LtkjHysqd> list = ltkjHysqdService.list(queryWrapper); + if (list.isEmpty()) + isInsertHysqd = true; + if (isInsertHysqd) { + saveHysqd(hysqd); + } else { + saveHybgd(hysqd); + } + } + } else { + resultMsg = "鍖栭獙椤圭洰鏆傛椂鏈嚭缁撴灉,璇风◢鍚庡悓姝�!!!"; + } + //鍚屾鍖栭獙椤圭洰 + testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); + } + /*鍚屾妫�鏌� his鎺ュ彛*/ + if (null != jianChaBaoGaoDan && !jianChaBaoGaoDan.isEmpty()) { + Map<String, Object> maps = new HashMap<>(); + maps.put("his_registration_id", order.getCardId()); + maps.put("ksbm", "浣撴涓績"); + maps.put("pagecount", 100); + maps.put("page", 1); + LambdaQueryWrapper<HisApiConfig> lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(HisApiConfig::getApiMethod, "Getexamreportinfo"); + HisApiConfig hisApiConfig = hisApiConfigService.getOne(lambdaQueryWrapper); + /*鍚屾妫�鏌� his瀛樺偍杩囩▼*/ + String jctbfs = configService.selectConfigByKey("jctbfs"); + AjaxResult results = null; + if (StrUtil.isBlank(jctbfs) || jctbfs.equalsIgnoreCase("Y")) { + results = service.getHISDataNew("Getexamreportinfo", maps); + } else { + results = jcsqdService.getTjJcProByHisCall("浣撴涓績", order.getCardId(), "''", 100, 1, "'1'"); + DynamicDataSourceContextHolder.clearDataSourceType(); + } + log.info("妫�鏌ラ」鐩煡璇㈣繑鍥炲��: " + JSONUtil.toJsonStr(results)); + if (Integer.parseInt(results.get("code").toString()) == 200) { + List<Map<String, Object>> datas = (List<Map<String, Object>>) results.get("data"); + if (null != datas && !datas.isEmpty()) { + jcsqdService.deletedLtkjJcsqdByTjhAndTmh(order.getCardId()); + jcbgdService.deletedLtkjJcbgdByTjhAndTmh(order.getCardId()); + for (Map<String, Object> objectMap : datas) { + //淇濆瓨鍏ュ弬鍑哄弬 + service.save(JSONUtil.parseObj(objectMap), "Getexamreportinfo", hisApiConfig, JSONUtil.toJsonStr(maps)); + LtkjExamJcbgd jcbgd = new LtkjExamJcbgd(); + jcbgd.setTjh(order.getCardId()); + if (null != objectMap.get("JCBGID") || !objectMap.get("JCBGID").equals("")) + jcbgd.setTmh(objectMap.get("JCBGID").toString()); + if (null != objectMap.get("JCXMDM") || !objectMap.get("JCXMDM").equals("")) + jcbgd.setXmdm(objectMap.get("JCXMDM").toString()); + if (null != objectMap.get("JCXMMC") || !objectMap.get("JCXMMC").equals("")) + jcbgd.setXmmc(objectMap.get("JCXMMC").toString()); + if (null != objectMap.get("JCXMJG") || !objectMap.get("JCXMJG").equals("")) + jcbgd.setBgNr(objectMap.get("JCXMJG").toString()); + if (null != objectMap.get("reporturl") || !objectMap.get("reporturl").equals("")) + jcbgd.setBgUrl(objectMap.get("reporturl").toString()); + if (null != objectMap.get("SHYSQM") || !objectMap.get("SHYSQM").equals("")) + jcbgd.setShysxm(objectMap.get("SHYSQM").toString()); + if (null != objectMap.get("SHYSBH") || !objectMap.get("SHYSBH").equals("")) + jcbgd.setShysdm(objectMap.get("SHYSBH").toString()); + if (null != objectMap.get("YXZD") || !objectMap.get("YXZD").equals("")) + jcbgd.setYxzd(objectMap.get("YXZD").toString()); + if (null != objectMap.get("YXBX") || !objectMap.get("YXBX").equals("")) { + if (objectMap.get("YXBX").toString().equals("null")) { + jcbgd.setYxbx("鏈寮傚父"); + } else { + jcbgd.setYxbx(objectMap.get("YXBX").toString()); + } + } + if (null != objectMap.get("SJJLSJ") || !objectMap.get("SJJLSJ").equals("")) + jcbgd.setZdsj(objectMap.get("SJJLSJ").toString()); + if (null != objectMap.get("JCBW") || !objectMap.get("JCBW").equals("")) + jcbgd.setJcbw(objectMap.get("JCBW").toString()); + if (null != objectMap.get("SQRQSJ") || !objectMap.get("SQRQSJ").equals("")) + jcbgd.setSqsj(objectMap.get("SQRQSJ").toString()); + jcbgd.setCreateTime(new Date()); + jcbgdService.save(jcbgd); + } + jcsqdService.saveLtkjExamJcsqd(order.getCardId()); +// List<LtkjExamJcsqd> jcsqdList = jcsqdService.getLtkjJcsqdByTjh(order.getCardId()); +// jcycxmService.deletedByTjh(order.getTjNumber()); +// if(!jcsqdList.isEmpty()){ +// for (LtkjExamJcsqd jcsqd : jcsqdList) { +// if(StringUtil.isNotBlank(jcsqd.getJgzt())){ +// String[] split = jcsqd.getJgzt().replaceAll("\n", "").split("銆倈锛泑;|,|锛�"); +// for (String jg : split) { +// if(StringUtil.isNotBlank(jg) && !jg.contains("鏈寮傚父") +// && !jg.contains("鏈鏄庢樉寮傚父") && !jg.contains("鏈鍗犱綅") && !jg.contains("鏈") +// && !jg.contains("鏈鏄庢樉")&& !jg.contains("姝e父")&& !jg.contains("鍙屼晶妞庨棿瀛旀棤鐙獎")){ +// TjJcycxm jcycxm=new TjJcycxm(); +// jcycxm.setTjh(order.getTjNumber()); +// jcycxm.setYqid("jczyy"); +// String[] split1 = jcsqd.getJcxmid().split(";"); +// jcycxm.setProId(split1[0]); +// jcycxm.setProName(jcsqd.getJcxmmc()); +// jcycxm.setCreateTime(new Date()); +// jcycxm.setJcjg(jg); +// jcycxmService.save(jcycxm); +// } +// } +// } +// } +// } + configController.tjjcycxm(tjNumber, "0"); + testMapper.updateDetailByTjJcCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), doctorId); + } else { + resultMsg += "\n妫�鏌ラ」鐩殏鏃舵湭鍑虹粨鏋�,璇风◢鍚庡悓姝�!!!"; + } + } + } + + if (StrUtil.isBlank(resultMsg)) + return AjaxResult.success("鍚屾鎴愬姛"); + else return AjaxResult.error(resultMsg); + } + return AjaxResult.success("鍚屾鎴愬姛"); + } + return AjaxResult.error("鏈煡鍒拌浜哄憳浣撴璁板綍"); + } + return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑"); + } catch (InterruptedException e) { + log.error(String.valueOf(e), e.getMessage()); + return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑"); + } finally { + lock.unlock(); + } + } + + private void saveHysqd(LtkjHysqd hysqd) { + if (ltkjHysqdService.save(hysqd)) { + saveHybgd(hysqd); + } + } + + private void saveHybgd(LtkjHysqd hysqd) { + Map<String, Object> hashMap = new HashMap<>(); + hashMap.put("jybgid", hysqd.getTmh()); + AjaxResult bgdres = controller.Getlabdetailinfo(hashMap); + String result2 = getAjaxResult(bgdres); + JSONObject object1 = getJSONObject(result2); + String code1 = object1.getStr("ResultCode"); + if (null != code1 && code1.equals("0")) { + JSONArray datas = object1.getJSONArray("ResultData"); + for (Object o : datas) { + JSONObject js = (JSONObject) o; +// ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(jsonObject.getStr("JYBGID")); + LtkjHybgd bgd = new LtkjHybgd(); + bgd.setTmh(hysqd.getTmh()); + bgd.setJcxmid(js.getStr("JCZBDM")); + bgd.setJcxm(js.getStr("JCZBMC")); + bgd.setTdh(js.getStr("")); + bgd.setJyjg(js.getStr("JCZBJG")); + bgd.setJgdw(js.getStr("JLDW")); + bgd.setFwzdz(js.getStr("")); + bgd.setFwzgz(js.getStr("")); + bgd.setFwz(js.getStr("CKZFW")); + bgd.setJysj(js.getStr("BGRQ")); + bgd.setJyys(js.getStr("JCRBH")); + bgd.setShsj(js.getStr("BGRQ")); + bgd.setShsj(js.getStr("BGRQ")); + bgd.setShys(js.getStr("SHRBH")); + bgd.setShysmc(js.getStr("SHRXM")); + bgd.setYcbz(js.getStr("YCTS")); + bgd.setCreateTime(new Date()); +// bgd.setTpurl(js.getStr("")); + QueryWrapper<LtkjHybgd> queryWrapper = new QueryWrapper<>(bgd); + List<LtkjHybgd> list = ltkjHybgdService.list(queryWrapper); + if (list.isEmpty()) + ltkjHybgdService.save(bgd); + } + } + + Map<String, Object> fbhashMap = new HashMap<>(); + fbhashMap.put("jybgid", hysqd.getTmh()); + AjaxResult fbres = controller.Getlabgermrepinfo(fbhashMap); + String ajaxResult = getAjaxResult(fbres); + JSONObject fbobject = getJSONObject(ajaxResult); + String fbcode = fbobject.getStr("ResultCode"); + if (null != fbcode && fbcode.equals("0")) { + JSONArray datas = fbobject.getJSONArray("ResultData"); + for (Object o : datas) { + JSONObject js = (JSONObject) o; + LtkjHybgd bgd = new LtkjHybgd(); + bgd.setTmh(hysqd.getTmh()); + bgd.setJcxmid(hysqd.getXmid()); + bgd.setJcxm(hysqd.getXmmc()); + bgd.setTdh(js.getStr("")); + bgd.setJyjg(js.getStr("JCJG")); + bgd.setJgdw("/"); + bgd.setFwzdz("/"); + bgd.setFwzgz("/"); + bgd.setFwz("/"); + bgd.setJysj(js.getStr("BGRQ")); + bgd.setJyys(hysqd.getSqrxm()); + bgd.setShsj(js.getStr("BGRQ")); + bgd.setShys(hysqd.getShrdm()); + bgd.setShysmc(hysqd.getShrxm()); + QueryWrapper<LtkjHybgd> queryWrapper = new QueryWrapper<>(bgd); + List<LtkjHybgd> list = ltkjHybgdService.list(queryWrapper); + if (list.isEmpty()) + ltkjHybgdService.save(bgd); + } + } + } + + //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡 + public JSONObject getJSONObject(String builder) { + String Response = JSONUtil.parseObj(builder).getStr("Response"); + return JSONUtil.parseObj(Response); + } + + //鑾峰彇鏂规硶杩斿洖鍊间俊鎭� + public String getAjaxResult(AjaxResult result) { + return result.get("data").toString(); + } + + private void tbhyxm(TjOrder order) { + List<LtkjHysqd> one = testMapper.getHysqdByTmh(order.getCardId()); + if (one != null && !one.isEmpty()) { + for (LtkjHysqd ltkjHysqd : one) { + ltkjHysqdService.deletedLtkjHysqdByTjhAndTmh(ltkjHysqd.getTjh(), ltkjHysqd.getTmh()); + ltkjHybgdService.deletedLtkjHybgdByTjhAndTmh(ltkjHysqd.getTmh()); + LtkjHysqd hysqd = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(ltkjHysqd.getTjh(), ltkjHysqd.getTmh()); + if (hysqd == null) { + ltkjHysqdService.save(ltkjHysqd); + DynamicDataSourceContextHolder.clearDataSourceType(); + List<LtkjHybgd> one1 = testMapper.getHybgdByTmh(ltkjHysqd.getTmh()); + if (one1 != null && !one1.isEmpty()) { + DynamicDataSourceContextHolder.setDataSourceType(DataSourceType.MASTER.name()); + ltkjHybgdService.saveBatch(one1); + DynamicDataSourceContextHolder.clearDataSourceType(); + } + } + } + } + } + + + /** * 鏌ヨ浣撴璁板綍瀹㈡埛鍒楄〃 - * - * @param tjNumber - * @param checkStatus - * @param page - * @param pageSize - * @param compId - * @param beginTime - * @param endTime - * @return */ @GetMapping("/getList") @ApiOperation(value = "鏌ヨ浣撴璁板綍瀹㈡埛鍒楄〃")//0寰�1宸� @@ -283,97 +1063,217 @@ @ApiParam(value = "鍗曚綅") @RequestParam(required = false) Long compId, @ApiParam(value = "濮撳悕)") @RequestParam(required = false) String name, @ApiParam(value = "寮�濮嬫椂闂�") @RequestParam(required = false) String beginTime, - @ApiParam(value = "缁撴潫鏃堕棿") @RequestParam(required = false) String endTime) { + @ApiParam(value = "缁撴潫鏃堕棿") @RequestParam(required = false) String endTime, + @ApiParam(value = "浣撴绫诲瀷") @RequestParam(required = false) String tjCategory) { + // String config = configService.selectConfigByKey("tj_confirm"); +// DateTime beginTimes = null; +// DateTime endTimes = null; +// if (null != beginTime && null != endTime) { +// beginTimes = DateUtil.beginOfDay(DateUtil.parse(beginTime)); +// endTimes = DateUtil.endOfDay(DateUtil.parse(endTime)); +// } +// asyncService.checkSetCustomerLisByRedis(config); +// //鍒濆鍖栦綋妫�璁㈠崟琛� +// List<TjOrder> orderList = null; +// List<TjCustomer> customerList = new ArrayList<>(); +// Map<String, Object> map = new HashMap<>(); +// +// //濮撳悕鏌ヨ +// 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) { +// if ("Y".equals(config)) { +// orderList = orderService.getCsTjOrderListByCusId1(customer.getCusId()); +// } else { +// orderList = orderService.getTjOrderListByCusId(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.getFinishTime()); +// 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())); +// customer.setTjCategory(tjOrder.getTjCategory()); +// 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)) { +// //鍒ゆ柇鏄惁寮�鍚垵瀹� +// if ("Y".equals(config)) { +// orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes); +// } else { +// orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes); +// } +// return getResult(page, pageSize, orderList, customerList, map); +// } +// +// List<TjCustomer> customers = null; +// if (null != checkStatus && checkStatus == 0) { +// customers = redisCache.getCacheMapValue("check", "ws"); +// } +// if (null != checkStatus && checkStatus == 1) { +// customers = redisCache.getCacheMapValue("check", "ys"); +// } +// if (customers != null && customers.size() > 0) { +//// asyncService.addRedis(customers); +// 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 { +// //鍒ゆ柇鏄惁寮�鍚垵瀹� +// if ("Y".equals(config)) { +// orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes); +// } else { +// orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes); +// } +// return getResult(page, pageSize, orderList, customerList, map); +// } - String config = configService.selectConfigByKey("tj_confirm"); - DateTime beginTimes = null; - DateTime endTimes = null; - if (null != beginTime && null != endTime) { - beginTimes = DateUtil.beginOfDay(DateUtil.parse(beginTime)); - endTimes = DateUtil.endOfDay(DateUtil.parse(endTime)); - } - asyncService.checkSetCustomerLisByRedis(config); - //鍒濆鍖栦綋妫�璁㈠崟琛� - List<TjOrder> orderList = null; - List<TjCustomer> customerList = new ArrayList<>(); - Map<String, Object> map = new HashMap<>(); - - //濮撳悕鏌ヨ - 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) { - if ("Y".equals(config)) { - orderList = orderService.getCsTjOrderListByCusId1(customer.getCusId()); - } else { - orderList = orderService.getTjOrderListByCusId(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.getFinishTime()); - 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)) { - //鍒ゆ柇鏄惁寮�鍚垵瀹� - if ("Y".equals(config)) { - orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes); - } else { - orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes); - } - return getResult(page, pageSize, orderList, customerList, map); - } - - List<TjCustomer> customers = null; - if (null != checkStatus && checkStatus == 0) { - customers = redisCache.getCacheMapValue("check", "ws"); - } - if (null != checkStatus && checkStatus == 1) { - customers = redisCache.getCacheMapValue("check", "ys"); - } - if (customers != null && customers.size() > 0) { - asyncService.addRedis(customers); - 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 { - //鍒ゆ柇鏄惁寮�鍚垵瀹� - if ("Y".equals(config)) { - orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes); - } else { - orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes); - } - return getResult(page, pageSize, orderList, customerList, map); - } + 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 = ""; + return AjaxResult.success(orderService.getCunChuGuoChengCustomerList(tjNumber, page, pageSize, checkStatus, value, beginTime, endTime, name,tjCategory)); } + + + @GetMapping("/getBghsList") + @ApiOperation(value = "鎶ュ憡鏍告敹椤甸潰鏌ヨ鎺ュ彛")//0寰�1宸� +// @PreAuthorize("@ss.hasPermi('check:check:getList')") + public AjaxResult getBghsList(@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 beginTime, + @ApiParam(value = "缁撴潫鏃堕棿") @RequestParam(required = false) String endTime) { + // String config = configService.selectConfigByKey("tj_confirm"); +// DateTime beginTimes = null; +// DateTime endTimes = null; +// if (null != beginTime && null != endTime) { +// beginTimes = DateUtil.beginOfDay(DateUtil.parse(beginTime)); +// endTimes = DateUtil.endOfDay(DateUtil.parse(endTime)); +// } +// asyncService.checkSetCustomerLisByRedis(config); +// //鍒濆鍖栦綋妫�璁㈠崟琛� +// List<TjOrder> orderList = null; +// List<TjCustomer> customerList = new ArrayList<>(); +// Map<String, Object> map = new HashMap<>(); +// +// //濮撳悕鏌ヨ +// 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) { +// if ("Y".equals(config)) { +// orderList = orderService.getCsTjOrderListByCusId1(customer.getCusId()); +// } else { +// orderList = orderService.getTjOrderListByCusId(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.getFinishTime()); +// 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())); +// customer.setTjCategory(tjOrder.getTjCategory()); +// 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)) { +// //鍒ゆ柇鏄惁寮�鍚垵瀹� +// if ("Y".equals(config)) { +// orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes); +// } else { +// orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes); +// } +// return getResult(page, pageSize, orderList, customerList, map); +// } +// +// List<TjCustomer> customers = null; +// if (null != checkStatus && checkStatus == 0) { +// customers = redisCache.getCacheMapValue("check", "ws"); +// } +// if (null != checkStatus && checkStatus == 1) { +// customers = redisCache.getCacheMapValue("check", "ys"); +// } +// if (customers != null && customers.size() > 0) { +//// asyncService.addRedis(customers); +// 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 { +// //鍒ゆ柇鏄惁寮�鍚垵瀹� +// if ("Y".equals(config)) { +// orderList = orderService.getCsTjOrderList1(tjNumber, checkStatus, compId, beginTimes, endTimes); +// } else { +// orderList = orderService.getTjOrderList(tjNumber, checkStatus, compId, beginTimes, endTimes); +// } +// return getResult(page, pageSize, orderList, customerList, map); +// } + + 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 = ""; + return AjaxResult.success(orderService.getgetBghsList(tjNumber, page, pageSize, value, beginTime, endTime, name)); + } + /** * 鏍规嵁浣撴璁㈠崟鍙疯幏鍙栦綋妫�璇︽儏淇℃伅鎺ュ彛 @@ -388,10 +1288,16 @@ // @PreAuthorize("@ss.hasPermi('check:check:getTjdetailList')") public AjaxResult getTjdetailList(@ApiParam(value = "浣撴tjNumber") @RequestParam String tjNumber, @ApiParam(value = "鎬绘寤鸿") @RequestParam(required = false) String advice, - @ApiParam(value = "瀹℃牳鐘舵��0寰呭鏍�1宸插鏍�") @RequestParam Integer checkStatus) { + @ApiParam(value = "瀹℃牳鐘舵��0寰呭鏍�1宸插鏍�") @RequestParam Integer checkStatus, + @ApiParam(value = "鑱屼笟缁撹") @RequestParam(required = false) String zhiyeJl, + @ApiParam(value = "鑱屼笟缁撴灉") @RequestParam(required = false) String zhiyeJg) { - int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber); - if (num > 0) return AjaxResult.error("鏈夊欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!"); + String config = configService.selectConfigByKey("sfjcwjhyqxm"); + if (null != config && config.equalsIgnoreCase("Y")) { + int num = orderRemarkService.getTjYqOrderRemarkByTjNum(tjNumber); + if (num > 0) return AjaxResult.error("瀛樺湪鏈鎴栧欢鏈熼」鐩殏涓嶈兘鐢熸垚鎶ュ憡!!!"); + } + Date date = new Date(); if (null != tjNumber) { Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); SysUser sysUser = userService.getById(userId); @@ -403,16 +1309,20 @@ tjOrder.setCheckStatus(checkStatus); tjOrder.setStatus(TjConstants.TJ_CHECK); tjOrder.setCheckDoctor(sysUser.getNickName()); - tjOrder.setCheckTime(new Date()); + tjOrder.setCheckTime(date); tjOrder.setStatus(401); + tjOrder.setFinishTime(date); + if (StrUtil.isNotBlank(zhiyeJl)) + tjOrder.setZhiyeJl(zhiyeJl); + if (StrUtil.isNotBlank(zhiyeJg)) + tjOrder.setZhiyeJg(zhiyeJg); if (orderService.updateById(tjOrder)) { TjCustomer customer = customerService.getById(tjOrder.getUserId()); if (null != customer) { customer.setCusNumber(customer.getCusNumber() + 1); + customer.setCardId("0"); if (customerService.updateById(customer)) { - LambdaQueryWrapper<TbTransition> wqq = new LambdaQueryWrapper<>(); - wqq.eq(TbTransition::getCusId, customer.getCusIdcard()); - transitionService.remove(wqq); + asyncService.updateCheckType(tjNumber); return AjaxResult.success("鎿嶄綔鎴愬姛"); } return AjaxResult.error("鎿嶄綔澶辫触"); @@ -427,23 +1337,25 @@ /** - * 鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏 + * 鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏鈥斺�斺�斺�旈潪鍖栭獙椤圭洰 * * @param tjNumber * @return */ @GetMapping("/updateCheckType") - @ApiOperation(value = "鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏") -// @PreAuthorize("@ss.hasPermi('check:check:updateCheckType')") + @ApiOperation(value = "鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏鈥斺�斺�斺�旈潪鍖栭獙椤圭洰") public AjaxResult updateCheckType(@ApiParam(value = "瀹㈡埛浣撴鍙�") @RequestParam String tjNumber) { - if(redisCache.hasKey("updateCheckType"+tjNumber)) { - return redisCache.getCacheMapValue("updateCheckType" + tjNumber, tjNumber); - } - return getAjaxResult(tjNumber); +// if (redisCache.hasKey("updateCheckType" + tjNumber)) { +// List<Map<String, Object>> cacheMapValue = redisCache.getCacheMapValue("updateCheckType" + tjNumber, tjNumber); +// return AjaxResult.success(cacheMapValue); +// } +// return getAjaxResult(tjNumber); + return getResult(tjNumber); } private AjaxResult getAjaxResult(String tjNumber) { - final long l = System.currentTimeMillis(); + + asyncService.updateCheckType(tjNumber); List<Map<String, Object>> list = new ArrayList<>(); TjOrder one = orderService.getOrderByTjNum(tjNumber); @@ -459,6 +1371,16 @@ Map<String, Object> parent = new HashMap<>(); parent.put("checkAdvice", one.getCheckAdvice()); TjProject project = projectService.selectTjProjectByProId(remark.getProId()); + //鍒ゆ柇璇ラ」鐩槸鍚﹂渶瑕佹墦鍗版姤鍛� + if ("N".equals(project.getNeedReport())) { + continue; + } + + //鍒ゆ柇璇ラ」鐩槸鍚︽楠岀椤圭洰 2024/2/28g + if (project.getDeptId() == 241) { + continue; + } + if (null != project) { parent.put("parent", project.getProName()); parent.put("parentId", project.getProId().toString()); @@ -467,22 +1389,42 @@ if (null != tjOrderDetails && tjOrderDetails.size() > 0) { for (TjOrderDetail tjOrderDetail : tjOrderDetails) { final TjProject byId = projectService.selectTjProjectByProId(tjOrderDetail.getProId()); - tjOrderDetail.setProject(byId); + String metering = null; + if (null == byId) { + detailService.removeById(tjOrderDetail.getOrderDetailId()); + } else { + metering = byId.getProMetering(); + tjOrderDetail.setProject(byId); + } List<TjStandard> list2 = tjStandardService.getTjStandardListByProId(String.valueOf(tjOrderDetail.getProId())); if (list2.size() == 0) { - tjOrderDetail.setStandard(new TjStandard()); + TjStandard standard = new TjStandard(); + if (StrUtil.isNotBlank(metering)) + standard.setCompany(metering); + tjOrderDetail.setStandard(standard); } else if (list2.size() == 1) { - tjOrderDetail.setStandard(list2.get(0)); + TjStandard standard = list2.get(0); + if (StrUtil.isNotBlank(metering) && StrUtil.isBlank(standard.getCompany())) + standard.setCompany(metering); + tjOrderDetail.setStandard(standard); } else { final int ageType = StringUtils.getAgeType(DateUtil.ageOfNow(customer.getCusBrithday())); - TjStandard tjStandard1=tjStandardService.getListBySexAndType(customer.getCusSex(),ageType, String.valueOf(tjOrderDetail.getProId())); + TjStandard tjStandard1 = tjStandardService.getListBySexAndType(customer.getCusSex(), ageType, String.valueOf(tjOrderDetail.getProId())); + if (StrUtil.isNotBlank(metering) && StrUtil.isBlank(tjStandard1.getCompany())) + tjStandard1.setCompany(metering); tjOrderDetail.setStandard(tjStandard1); } } String summary = remark.getSummary(); if (null != summary) { - String[] split = summary.split(";"); - parent.put("parentAdvice", tjAdviceService.getAdviceStringByIds(Arrays.asList(split))); + String[] split = summary.split(";"); +// List<Long> longList = new ArrayList<>(); +// for (String str : split) { +// if(!"".equals(str)){ +// longList.add(Long.valueOf(str)); +// } +// } + parent.put("parentAdvice", tjAdviceService.getAdviceStringByIds(split)); } else { parent.put("parentAdvice", null); @@ -496,10 +1438,220 @@ } else { return AjaxResult.success("璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁"); } -// } } - final long l1 = System.currentTimeMillis(); - System.out.println("++++++++++++++++++++++++++++++++++++++++++==============="+(l1-l)); + return AjaxResult.success(list); + } + return AjaxResult.success("璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁锛�"); + } + + + /** + * 鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏鈥斺�斺�斺�斿寲楠岄」鐩� + * + * @param tjNumber + * @return + */ + @GetMapping("/updateCheckTypeHuaYan") + @ApiOperation(value = "鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏鈥斺�斺�斺�斿寲楠岄」鐩�") + public AjaxResult updateCheckTypeHuaYan(@ApiParam(value = "瀹㈡埛浣撴鍙�") @RequestParam String tjNumber) { +// asyncService.updateCheckType(tjNumber); + List<Map<String, Object>> list = new ArrayList<>(); + TjOrder one = orderService.getOrderByTjNum(tjNumber); + + if (one == null) { + return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒"); + } +// final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); +// if(null !=getInfoFromSqlData && getInfoFromSqlData.equals("Y")) +// tbhyxm(one); +// TjCustomer customer = customerService.getById(one.getUserId()); + List<TjOrderRemark> remarkList = orderRemarkService.addHuaYanTable(tjNumber); + List<TjOrderDetail> tjOrderDetails = detailService.addHuaYanTable(tjNumber); + + + if (null != remarkList && !remarkList.isEmpty()) { + for (TjOrderRemark remark : remarkList) { + Map<String, Object> parent = new HashMap<>(); + parent.put("checkAdvice", one.getCheckAdvice()); + parent.put("parent", remark.getProName()); + parent.put("parentId", remark.getProId().toString()); + List<TjOrderDetail> dels = new ArrayList<>(); + if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) { + for (TjOrderDetail tjOrderDetail : tjOrderDetails) { + if (remark.getProId().equals(tjOrderDetail.getProId())) { + String ckfw = tjOrderDetail.getStanId(); + if (StrUtil.isNotBlank(tjOrderDetail.getProAdvice())) { + ckfw = ckfw.replace(tjOrderDetail.getProAdvice().trim(), ""); + } + if (StrUtil.isNotBlank(ckfw)) { + try { + Integer.parseInt(tjOrderDetail.getYcbz()); + String[] split = ckfw.split("-"); + BigDecimal min = new BigDecimal(split[0]); + BigDecimal max = new BigDecimal(split[1]); + String proResult = tjOrderDetail.getProResult(); + BigDecimal jyjgval = new BigDecimal(proResult); + if (jyjgval.compareTo(min) < 0) { + tjOrderDetail.setYcbz("鈫�"); + } else if (jyjgval.compareTo(max) > 0) { + tjOrderDetail.setYcbz("鈫�"); + } else { + tjOrderDetail.setYcbz(""); + } + } catch (NumberFormatException ignored) { + ignored.printStackTrace(); + } + } + if (null != tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().equals("")) { + tjOrderDetail.setProResult(tjOrderDetail.getProResult() + " [" + tjOrderDetail.getYcbz() + "]"); + } + dels.add(tjOrderDetail); + } + } + String summary = remark.getSummary(); + if (null != summary) { + String[] split = summary.split(";"); + parent.put("parentAdvice", tjAdviceService.getAdviceStringByIds(split)); + } else { + parent.put("parentAdvice", null); + } + if (dels.size() == 0) { + continue; + } + parent.put("sons", dels); + parent.put("remark", remark.getRemark()); + if (remark.getDoctorName() != null && null != userService.getById(remark.getDoctorName())) { + parent.put("doctorName", userService.getById(remark.getDoctorName()).getNickName()); + } + + list.add(parent); + } else { + return AjaxResult.success("璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁"); + } + } + return AjaxResult.success(list); + } + return AjaxResult.success("璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁锛�"); + } + + + @GetMapping("/updateHYANDCGCheckType") + @ApiOperation(value = "鎬绘鐐瑰嚮浣撴淇℃伅璇︽儏鈥斺�斺�斺�斿父瑙勫拰鍖栭獙椤圭洰") + public AjaxResult updateHYANDCGCheckType(@ApiParam(value = "瀹㈡埛浣撴鍙�") @RequestParam String tjNumber) { + return getResult(tjNumber); + } + + private AjaxResult getResult(String tjNumber) { + asyncService.updateCheckType(tjNumber); + List<Map<String, Object>> list = new ArrayList<>(); + TjOrder one = orderService.getOrderByTjNum(tjNumber); + + if (one == null) { + return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒"); + } +// final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData"); +// if(null !=getInfoFromSqlData && getInfoFromSqlData.equals("Y")) +// tbhyxm(one); +// TjCustomer customer = customerService.getById(one.getUserId()); + List<TjOrderRemark> remarkList = orderRemarkService.addHuaYanAndCgTable(tjNumber); + List<TjOrderDetail> tjOrderDetails = detailService.addHuaYanAndCgTable(tjNumber); + + + if (null != remarkList && !remarkList.isEmpty()) { + for (TjOrderRemark remark : remarkList) { + Map<String, Object> parent = new HashMap<>(); + parent.put("checkAdvice", one.getCheckAdvice()); + parent.put("parent", remark.getProName()); + parent.put("parentId", remark.getProsId()); + parent.put("xmlb", remark.getXmlb()); + parent.put("", remark.getXmlb()); + parent.put("zhiyejl",one.getZhiyeJl()); + parent.put("zhiyejg", one.getZhiyeJg()); + List<TjOrderDetail> dels = new ArrayList<>(); + if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) { + for (TjOrderDetail tjOrderDetail : tjOrderDetails) { + if (remark.getProsId().equals(tjOrderDetail.getProsId())) { + String ckfw = tjOrderDetail.getStanId(); + if (null != ckfw && StrUtil.isNotBlank(tjOrderDetail.getProAdvice())) { + ckfw = ckfw.replace(tjOrderDetail.getProAdvice().trim(), ""); + } + if (StrUtil.isNotBlank(ckfw)) { + try { + if (ckfw != null && ckfw.contains("-")) { + Integer.parseInt(tjOrderDetail.getYcbz()); + String[] split = ckfw.split("-"); + BigDecimal min = new BigDecimal(split[0]); + BigDecimal max = new BigDecimal(split[1]); + String proResult = tjOrderDetail.getProResult(); + if (null != proResult) { + BigDecimal jyjgval = new BigDecimal(proResult); + if (jyjgval.compareTo(min) < 0) { + tjOrderDetail.setYcbz("鈫�"); + } else if (jyjgval.compareTo(max) > 0) { + tjOrderDetail.setYcbz("鈫�"); + } else if (proResult.contains("闃�")) { + tjOrderDetail.setYcbz(""); + } else { + tjOrderDetail.setYcbz(""); + } + if (null != tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().isEmpty()) { + tjOrderDetail.setProResult(tjOrderDetail.getProResult() + " [" + tjOrderDetail.getYcbz() + "]"); + } + } else { + tjOrderDetail.setYcbz(""); + } + } else { + if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�")) + tjOrderDetail.setYcbz(""); + + if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�")) + tjOrderDetail.setYcbz("鈫�"); + } + } catch (NumberFormatException ignored) { + } + } else { +// tjOrderDetail.setYcbz(""); + if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�")) + tjOrderDetail.setYcbz(""); + + if (tjOrderDetail.getProResult() != null && tjOrderDetail.getProResult().contains("闃�")) + tjOrderDetail.setYcbz("鈫�"); + tjOrderDetail.setProResult(tjOrderDetail.getProResult()); + } + + if (remark.getOrgType().equals(tjOrderDetail.getOrgType())) { + dels.add(tjOrderDetail); + } + } + } + String summary = remark.getSummary(); + if (null != summary) { + String[] split = summary.split(";"); + parent.put("parentAdvice", tjAdviceService.getAdviceStringByIds(split)); + } else { + parent.put("parentAdvice", null); + } + if (dels.isEmpty()) { + continue; + } + dels = dels.stream().sorted(Comparator.comparing(TjOrderDetail::getProName, Collator.getInstance(Locale.CHINA))).collect(Collectors.toList()); + dels = dels.stream() + .sorted(Comparator.comparingInt( + tjPdfVO -> tjPdfVO.getProName().length() // 鏍规嵁鍚嶅瓧鐨勯暱搴︽帓搴� + )) + .collect(Collectors.toList()); + parent.put("sons", dels); + parent.put("remark", remark.getRemark()); + parent.put("jgbx", remark.getJgbx()); + if (remark.getDoctorName() != null) { + parent.put("doctorName", remark.getDoctorName()); + } + + list.add(parent); + } else { + return AjaxResult.success("璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁"); + } + } return AjaxResult.success(list); } return AjaxResult.success("璇ュ鎴锋病鏈変綋妫�椤圭洰鏁版嵁锛�"); @@ -521,7 +1673,7 @@ @PostMapping("/checkUpdateOrderRemark") @ApiOperation(value = "鎬绘淇敼澶囨敞鎺ュ彛") public AjaxResult checkUpdateOrderRemark(@RequestBody List<UpdateOrderRemarkVo> updateOrderRemarkVos) { - if (null != updateOrderRemarkVos && updateOrderRemarkVos.size() > 0) { + if (null != updateOrderRemarkVos && !updateOrderRemarkVos.isEmpty()) { for (UpdateOrderRemarkVo remarkVo : updateOrderRemarkVos) { LambdaQueryWrapper<TjOrderRemark> wqm = new LambdaQueryWrapper<>(); wqm.eq(TjOrderRemark::getTjNumber, remarkVo.getTjNumber()); @@ -553,6 +1705,7 @@ customer.setTjTime(tjOrder.getCreateTime()); customer.setFinishTime(tjOrder.getFinishTime()); customer.setConfirmStatus(String.valueOf(tjOrder.getStatus())); + customer.setTjCategory(tjOrder.getTjCategory()); if (tjOrder.getFirmId() == null) { customer.setTjCompName("鏃�"); } else { @@ -570,4 +1723,435 @@ return AjaxResult.success(map); } + + @GetMapping("/getzongjianyishengchakanyichangxiangmu") + @ApiOperation(value = "鎬绘鏌ョ湅寮傚父椤圭洰鎺ュ彛") + public AjaxResult getzongjianyishengchakanyichangxiangmu(@RequestParam String tjNum) { + try { + if (StrUtil.isNotBlank(tjNum)) { + TjOrder one = orderService.getOrderByTjNum(tjNum); + + if (one == null) { + return AjaxResult.error("鏆傛棤鏁版嵁锛侊紒"); + } + yichangxiangmu(tjNum); + LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>(); + wq.eq(TjOrderYcxm::getTjh, tjNum); + List<TjOrderYcxm> list = ycxmService.list(wq); + if (null != list && !list.isEmpty()) { + Collections.reverse(list); + return getOrderYcxmList(list); + } else { + return zongjianyishengchakanyichangxiangmu(tjNum); + } + } + return AjaxResult.error(); + } catch (Exception ex) { + //throw new RuntimeException(ex); + log.error(ex.getMessage()); + return AjaxResult.error(); + } + } + + private static AjaxResult getOrderYcxmList(List<TjOrderYcxm> list) { + try { + List<Map<String, Object>> maps = getYcxmMapList(list); + if (!maps.isEmpty()) { + List<Map<String, Object>> collect1 = maps.stream() + .sorted((map1, map2) -> map2.get("proName").toString().compareTo(map1.get("proName").toString())) + .collect(Collectors.toList()); + return AjaxResult.success(collect1); + } + return AjaxResult.success(maps); + } catch (Exception ex) { +// throw new RuntimeException(ex); + log.error(ex.getMessage()); + return AjaxResult.error(); + } + } + + private static List<Map<String, Object>> getYcxmMapList(List<TjOrderYcxm> list) { + try { + Map<String, List<TjOrderYcxm>> map = list.stream().collect(Collectors.groupingBy(TjOrderYcxm::getParentName)); + List<Map<String, Object>> maps = new ArrayList<>(); + for (Map.Entry<String, List<TjOrderYcxm>> entry : map.entrySet()) { + Map<String, Object> parent = new HashMap<>(); + List<TjOrderDetail> dels = new ArrayList<>(); + for (TjOrderYcxm ycxm : entry.getValue()) { + TjOrderDetail detail = new TjOrderDetail(); + detail.setOrderDetailId(Long.valueOf(ycxm.getId())); + detail.setProName(ycxm.getJcxm()); + detail.setProResult(ycxm.getJcjg()); + detail.setStanId(ycxm.getCkfw()); + detail.setProAdvice(ycxm.getDw()); + List<Map<String, Object>> btnrlist = new ArrayList<>(); + String jynr = ycxm.getJynr(); + JSONArray array = JSONUtil.parseArray(jynr); + for (Object object : array) { + Map<String, Object> objectMap = new HashMap<>(); + JSONObject jsonObject = (JSONObject) object; + String bt = jsonObject.getStr("bt"); + String nr = jsonObject.getStr("nr"); + objectMap.put("bt", bt); + objectMap.put("nr", nr); + if (null != bt || null != nr) btnrlist.add(objectMap); + } + detail.setAdvices(btnrlist); + dels.add(detail); + } + + parent.put("proName", entry.getKey()); + parent.put("jyjc", entry.getValue().get(0).getJyjc()); + parent.put("sone", dels); + maps.add(parent); + } + return maps; + } catch (NumberFormatException ex) { +// throw new RuntimeException(ex); + log.error(ex.getMessage()); + return null; + } + } + + private AjaxResult zongjianyishengchakanyichangxiangmu(String tjNumber) { + List<Map<String, Object>> list = new ArrayList<>(); + try { + List<TjOrderYcxm> tjOrderYcxms = new ArrayList<>(); + TjOrder order = orderService.getOrderByTjNum(tjNumber); + String xb= customerService.getSexByTjh(tjNumber); + if (null != order) { + List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber); + List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber); + LambdaQueryWrapper<TjOrderYcxm> wq = new LambdaQueryWrapper<>(); + wq.eq(TjOrderYcxm::getTjh, tjNumber); + List<TjOrderYcxm> ycxmList = ycxmService.list(wq); + if (null != remarkList && !remarkList.isEmpty()) { + for (TjOrderRemark remark : remarkList) { + Map<String, Object> parent = new HashMap<>(); + if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) { + List<TjOrderDetail> dels = new ArrayList<>(); + for (TjOrderDetail tjOrderDetail : tjOrderDetails) { + if (remark.getProsId().equals(tjOrderDetail.getProsId())) { + if (null != tjOrderDetail.getProId() && null != tjOrderDetail.getYcbz()) { + if (!tjOrderDetail.getDeptId().equals("2")) { + String replacedAll = tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "") + .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "").replaceAll("鈼�", ""); + List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString() + , replacedAll, + tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber + ,replacedAll + , tjOrderDetail.getProResult()); + + + if (null != maps && !maps.isEmpty()) { + tjOrderDetail.setAdvices(maps); + } + + } else { + String[] split = tjOrderDetail.getProResult().split("[銆�,锛�:锛�.\\s]+"); + List<Map<String, Object>> mapList = new ArrayList<>(); + for (String s : split) { + s = s.replaceAll("\n", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "").replaceAll(" ","") + .replaceAll("鐥�","").replaceAll("[0-9]", ""); + Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0",xb); + if (null != maps && !maps.isEmpty()) { + Object bt = maps.get("bt"); + Object nr = maps.get("nr"); + if (null != bt || null != nr) mapList.add(maps); + } + } + tjOrderDetail.setAdvices(mapList); + } + + } + if (null == ycxmList || ycxmList.isEmpty()) { + TjOrderYcxm ycxm = new TjOrderYcxm(); + ycxm.setTjh(tjNumber); + ycxm.setParentName(remark.getProName()); + ycxm.setJcxm(tjOrderDetail.getProName()); + ycxm.setJcjg(tjOrderDetail.getProResult()); + ycxm.setCkfw(tjOrderDetail.getStanId()); + ycxm.setDw(tjOrderDetail.getProAdvice()); + ycxm.setJynr(JSONUtil.toJsonStr(tjOrderDetail.getAdvices())); + ycxm.setJyjc(remark.getJyjc()); + if (ycxmService.save(ycxm)) { + tjOrderYcxms.add(ycxm); + } + } + dels.add(tjOrderDetail); + } + } + if (!dels.isEmpty()) { + parent.put("proName", remark.getProName()); + parent.put("jyjc", remark.getJyjc()); + parent.put("sone", dels); + list.add(parent); + } + } + } + if (!tjOrderYcxms.isEmpty()) { + Collections.reverse(tjOrderYcxms); + return getOrderYcxmList(tjOrderYcxms); + } + + } + } + return AjaxResult.success(list); + } catch (Exception ex) { +// throw new RuntimeException(ex); + log.error(ex.getMessage()); + return AjaxResult.success(list); + } + } + + private void yichangxiangmu(String tjNumber) { + try { + List<TjOrderYcxm> tjOrderYcxmList= ycxmService.selectListByTjh(tjNumber); + String xb= customerService.getSexByTjh(tjNumber); + if(null !=tjOrderYcxmList && !tjOrderYcxmList.isEmpty()){ + + List<Map<String, Object>> list = new ArrayList<>(); + TjOrder order = orderService.getOrderByTjNum(tjNumber); + if (null != order) { + List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber); + List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber); + if (null != remarkList && !remarkList.isEmpty()) { + for (TjOrderRemark remark : remarkList) { + Map<String, Object> parent = new HashMap<>(); + if (null != tjOrderDetails && !tjOrderDetails.isEmpty()) { + List<TjOrderDetail> dels = new ArrayList<>(); + for (TjOrderDetail tjOrderDetail : tjOrderDetails) { + if (remark.getProsId().equals(tjOrderDetail.getProsId())) { + if (null != tjOrderDetail.getProId() && null != tjOrderDetail.getYcbz()) { + if (!tjOrderDetail.getDeptId().equals("2")) { + + String replacedAll = tjOrderDetail.getProName().replaceAll("[锛�(][^锛�)]*[\u4e00-\u9fa5]+[^锛�)]*[锛�)]", "").replaceAll("[锛�(][^锛�)]*[锛�)]", "") + .replaceAll("[ 娴嬪畾妫�娴媇", "").replaceAll("\\[.*?\\]", "").replaceAll("鈼�", ""); + + List<Map<String, Object>> maps = rulesService.getyichangxiangmujianyiguize(tjOrderDetail.getProId().toString() + ,replacedAll, + tjOrderDetail.getYcbz().replaceAll(" ", ""), tjNumber + , replacedAll + , tjOrderDetail.getProResult()); + + + if (null != maps && !maps.isEmpty()) { + tjOrderDetail.setAdvices(maps); + } + + } else { + String[] split = tjOrderDetail.getProResult().split("銆倈,|锛�"); + List<Map<String, Object>> mapList = new ArrayList<>(); + for (String s : split) { + s = s.replaceAll("\n", "").replaceAll("[锛�(][^锛�)]*[锛�)]", ""); + Map<String, Object> maps = tjProAdvicerulesService.getyichangxiangmujianyiguizeJianCha(remark.getKs(), s, "0",xb); + if (null != maps && !maps.isEmpty()) { + Object bt = maps.get("bt"); + Object nr = maps.get("nr"); + if (null != bt || null != nr) mapList.add(maps); + } + } + tjOrderDetail.setAdvices(mapList); + } + + } + dels.add(tjOrderDetail); + } + } + if (!dels.isEmpty()) { + parent.put("proName", remark.getProName()); + parent.put("jyjc", remark.getJyjc()); + parent.put("sone", dels); + list.add(parent); + } + } + } + } + } + List<Map<String, Object>> maps = getYcxmMapList(tjOrderYcxmList); + List<Map<String, Object>> collect = list.stream() + .filter(b -> maps.stream() + .noneMatch(a -> a.get("proName").equals(b.get("proName")))) // 杩囨护鎺夊湪 maps 涓瓨鍦ㄧ殑鐩稿悓鍏冪礌 + .collect(Collectors.toList()); + + if(!collect.isEmpty()){ + for (Map<String, Object> map : collect) { + for (TjOrderDetail detail : (List<TjOrderDetail>) map.get("sone")) { + TjOrderYcxm ycxm = new TjOrderYcxm(); + ycxm.setTjh(tjNumber); + ycxm.setParentName(map.get("proName").toString()); + ycxm.setJcxm(detail.getProName()); + ycxm.setJcjg(detail.getProResult()); + ycxm.setCkfw(detail.getStanId()); + ycxm.setDw(detail.getProAdvice()); + ycxm.setJynr(JSONUtil.toJsonStr(detail.getAdvices())); + ycxm.setJyjc(map.get("jyjc").toString()); + ycxmService.save(ycxm); + } + } + } + } + + } catch (Exception ex) { + log.error(ex.getMessage()); + } + } + + @GetMapping("/delzongjianyishengchakanyichangxiangmu") + @ApiOperation(value = "鎬绘鍒犻櫎寮傚父椤圭洰鎺ュ彛") + public AjaxResult delzongjianyishengchakanyichangxiangmu(@RequestParam String id) { + ycxmService.removeById(id); + return AjaxResult.success(); + } + + + @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); + } + + @GetMapping("/panduaniscunzaiweijian") + @ApiOperation(value = "鍒濆椤甸潰鏌ョ湅椤圭洰鍓嶅垽鏂槸鍚﹀叏閮ㄦ湭妫�鎺ュ彛") + public AjaxResult panduaniscunzaiweijian(@RequestParam String tjNum) { + int a = orderRemarkService.panduaniscunzaiweijian(tjNum); + return AjaxResult.success(a); + } + + + @PostMapping("/addOrderYcXmByTjh") + @ApiOperation(value = "鎬绘鍖荤敓椤甸潰鏂板寮傚父椤圭洰寤鸿") + public AjaxResult addOrderYcXmJyByTjh(@RequestBody List<TjOrderYcxm> ycxms) { + if (null != ycxms && !ycxms.isEmpty()) { + String tjh = ycxms.get(0).getTjh(); + if (StringUtils.isNotBlank(tjh)) { + ycxmService.delOrderYcXmJyByTjh(tjh); + + for (TjOrderYcxm ycxm : ycxms) { + ycxm.setJynr(JSONUtil.toJsonStr(ycxm.getMap())); + } +// List<TjOrderYcxm> collect = ycxms.stream().distinct().collect(Collectors.toList()); + ycxmService.saveBatch(ycxms); + return AjaxResult.success(); + } + } + return AjaxResult.success(); + } + + + /** + * 鍚屾sql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛 + */ + @GetMapping("/newdataSynchronization") + @ApiOperation(value = "鏈�鏂板叕鍏卞悓姝ql server鏁版嵁鍒版湰鍦版暟鎹簱鏁版嵁鎺ュ彛") + @RepeatSubmit + public AjaxResult newdataSynchronization(@RequestParam String tjNumber) { + try { + //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 + final String sfkqdyhis = configService.selectConfigByKey("sfkqdyhis"); + TjOrder order = orderService.getOrderByTjNum(tjNumber); + if (null != order) { + if (null != sfkqdyhis && sfkqdyhis.equals("Y")) { + dataSynchronizationApi(tjNumber); + } else { + configController.shoudongtbjyjcwsxmjg("jyjc", tjNumber); + } + return AjaxResult.success("鍚屾鎴愬姛"); + } + return AjaxResult.error("鏈煡鍒拌浜哄憳浣撴璁板綍"); + } catch (Exception e) { +// throw new RuntimeException(ex); + log.error(String.valueOf(e), e.getMessage()); + return AjaxResult.error("璇ヤ汉鍛樻暟鎹鍦ㄥ悓姝ヤ腑锛岃绋嶇瓑"); + } + } + + + /** + * 鏌ヨ澶嶆煡椤圭洰鍒楄〃 + * @param tjNum 浣撴鍙� + * @param type 澶嶆煡鐘舵�� 0鏈鏌ョ姸鎬� 1澶嶆煡鐘舵�� + * @return + */ + @GetMapping("/getFcList") + public AjaxResult getFcList(@RequestParam("tjNum") String tjNum,@RequestParam("type") Integer type){ + TjOrder order = orderService.getOrderByTjNum(tjNum); + if (order == null) + return AjaxResult.error(); + List<ProFcListVo> list = detailService.getFcList(order.getOrderId(),type); + return AjaxResult.success(list); + } + + /** + * 澶嶆煡椤圭洰鎻愪氦 + * @param json + * @return + */ + @PostMapping("/UpdFcPro") + public AjaxResult updFcPro(@RequestBody String json) { + return detailService.updFcPro(json); + } + + + + @GetMapping("/zongjianyishengHuiFuyichangxiangmu") + @ApiOperation(value = "鎬绘鎭㈠寮傚父椤圭洰鎺ュ彛") + public AjaxResult zongjianyishengHuiFuyichangxiangmu(@RequestParam String tjNum) { + + List<TjOrderYcxm> list = ycxmService.zongjianyishengHuiFuyichangxiangmu(tjNum); + return AjaxResult.success(list); + } + + + @GetMapping("/zongjianyishengHuiFuyichangxiangmuanniu") + @ApiOperation(value = "鎬绘鎭㈠寮傚父椤圭洰鎸夐挳鎺ュ彛") + public AjaxResult zongjianyishengHuiFuyichangxiangmuanniu(@RequestParam String id) { + + int a = ycxmService.zongjianyishengHuiFuyichangxiangmuanniu(id); + return AjaxResult.success(a); + } + + + @GetMapping("/zongjianyishengCheDiShanChuyichangxiangmuanniu") + @ApiOperation(value = "鎬绘褰诲簳鍒犻櫎寮傚父椤圭洰鎸夐挳鎺ュ彛") + public AjaxResult zongjianyishengCheDiShanChuyichangxiangmuanniu(@RequestParam String id) { + + int a = ycxmService.zongjianyishengCheDiShanChuyichangxiangmuanniu(id); + return AjaxResult.success(a); + } + + + + @GetMapping("/csymxmxzqtyybcjk") + @ApiOperation(value = "鍒濆椤甸潰椤圭洰閫夋嫨鍏朵粬鍘熷洜淇濆瓨鎺ュ彛") + @Transactional + public AjaxResult csymxmxzqtyybcjk(@RequestParam @ApiParam("浣撴鍙�") String tjNum,@RequestParam @ApiParam("椤圭洰ID") String proId, + @RequestParam @ApiParam("鍘熷洜") String yy) { + + try { + String czydm = SecurityUtils.getUsername(); + String czy = SecurityUtils.getLoginUser().getUser().getNickName(); + TjProject tjProject = projectService.getById(proId); + if(null != tjProject){ + SysDept dept = deptService.getById(tjProject.getDeptId()); + + LambdaQueryWrapper<TjOrderRemark> wq = new LambdaQueryWrapper<>(); + wq.eq(TjOrderRemark::getTjNumber, tjNum); + wq.eq(TjOrderRemark::getProId, proId); + TjOrderRemark remark = orderRemarkService.getOne(wq); + remark.setType(1); + if (orderRemarkService.updateById(remark)) { + orderRemarkService.csymxmxzqtyybcjk(tjNum,proId,yy,dept.getOrgType(),czy,czydm); + return AjaxResult.success(); + } + } + } catch (Exception ex) { + log.error(ex.getMessage()); + throw new RuntimeException(ex); + } + return AjaxResult.error(); + } + + } -- Gitblit v1.8.0