From 1e91dc33009cfdc951b2642877f40280b51c3089 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期五, 28 二月 2025 15:17:01 +0800 Subject: [PATCH] zjh20250228 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java | 187 ++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 154 insertions(+), 33 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java index 82c2df8..1d0d4b1 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java @@ -90,6 +90,7 @@ import org.aspectj.weaver.ast.Var; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.http.HttpRequest; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.security.access.prepost.PreAuthorize; @@ -240,6 +241,8 @@ @Autowired private TbTransitionMapper tbTransitionMapper; + private static final String TJH = "tjhs:tjh"; + //灏嗘柟娉曡繑鍥炲�艰В鏋愭垚json鏍煎紡 public JSONObject getJSONObject(String builder) { String Response = JSONUtil.parseObj(builder).getStr("Response"); @@ -305,7 +308,7 @@ wqq.like(TjCustomer::getCusName, name); List<TjCustomer> customerList = tjCustomerService.list(wqq); List<TjOrder> list2 = new ArrayList<>(); - 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<>(); @@ -316,13 +319,13 @@ list.addAll(tjOrderService.list(wq)); } List<TjOrder> collect = null; - if (list.size() > 0) { + if (!list.isEmpty()) { for (TjOrder order : list) { //绛涢�夋湁璋冩煡闂嵎鐨� LambdaQueryWrapper<TjSurveyRecord> wqq1 = new LambdaQueryWrapper<>(); wqq1.eq(TjSurveyRecord::getTjnumber, order.getTjNumber()); List<TjSurveyRecord> one = surveyRecordService.list(wqq1); - if (one.size() == 0) { + if (one.isEmpty()) { TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId()); if (null != tjCustomer) { order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); @@ -383,7 +386,7 @@ LambdaQueryWrapper<TjSurveyRecord> wqq = new LambdaQueryWrapper<>(); wqq.eq(TjSurveyRecord::getTjnumber, order.getTjNumber()); List<TjSurveyRecord> one = surveyRecordService.list(wqq); - if (one.size() == 0) { + if (one.isEmpty()) { TjCustomer tjCustomer = tjCustomerService.getById(order.getUserId()); if (null != tjCustomer) { order.setTjCustomerName(MatchUtils.hideCusName(tjCustomer.getCusName())); @@ -1034,7 +1037,7 @@ } tjReservation.setIsExpire(1); tjReservationService.updateById(tjReservation); - if (null != tjReservation.getTeamNo() && tjOrder.getTjType().equals("1")) { + if (null != tjReservation.getTeamNo()) { tjOrder.setTjType("1"); } else if (tjOrder.getTjType().equals("2")) { tjOrder.setTjType("2"); @@ -1082,7 +1085,10 @@ tjOrderService.tjQiandaodengji(tjOrder.getTjNumber()); return result; } - } finally { + }catch (Exception e){ + log.error(String.valueOf(e)); + } + finally { lock.unlock(); } return AjaxResult.error(); @@ -1092,14 +1098,15 @@ public AjaxResult processOrderWithTransaction(TjOrder tjOrder, TjCustomer tjCustomer, TjReservation tjReservation, TjFlowingWater tjFlowingWater, MallOrder mallOrder, SysUser sysUser) { //鑾峰彇鎷兼帴鍓嶇紑 - String makeLisTmhPrefix = configService.selectConfigByKey("make_lis_tmh_prefix"); +// String makeLisTmhPrefix = configService.selectConfigByKey("make_lis_tmh_prefix"); + String makeLisTmhPrefix = ""; //鐢熸垚浣撴鍙� // String tjNumber = (SecurityUtils.getUsername() + new SimpleDateFormat("yyMMddHHmmss").format(new Date())); // if(StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber=makeLisTmhPrefix+tjNumber; - String tjNumber = (SecurityUtils.getUsername() + IdUtils.getTjNumber()); + String tjNumber = (SecurityUtils.getUsername() + idUtils.getTjNumber()); if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber; tjOrder.setTjNumber(tjNumber); @@ -1232,8 +1239,8 @@ // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁 tjFlowingWater.setPayStasus(1L); newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); - AjaxResult ajaxResult = hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder, sysUser, result); - if (!ajaxResult.get("code").toString().equals("200")) return ajaxResult; +// AjaxResult ajaxResult = hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder, sysUser, result); +// if (!ajaxResult.get("code").toString().equals("200")) return ajaxResult; tjOrderDetailService.updateTjOrderDetailsByOrderId(String.valueOf(tjOrder.getOrderId()), sysUser.getNickName(), String.valueOf(sysUser.getUserId()), String.valueOf(tjFlowingWater.getTjSerialNumber())); remarkService.updateTjOrderRemarkSfbzByJxbzisnull(tjOrder.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString()); @@ -1245,8 +1252,10 @@ newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null); - - hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId()); + String isUseMx = configService.selectConfigByKey("jcxhis_is_use_mx"); + if (isUseMx.equalsIgnoreCase("Y")) + hisApiMethod.tijianshenqing(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId()); + else hisApiMethod.tijianshenqingJinchuanNew(tjCustomer, DateUtil.format(date1, "yyyy-MM-dd HH:mm:ss"), tjOrder.getCardId()); } return AjaxResult.success(tjNumber); } else { @@ -1343,7 +1352,9 @@ // 鏌ヨ 瀵规帴Lis銆丳acs鐢宠濡傛灉绫诲瀷鍖呭惈鍦ㄩ厤缃唴鍒欎娇鐢ㄥ鎺is銆乸acs + log.info("绛惧埌鐧昏鎺ュ彛璇ヤ汉鍛�: "+tjOrder.getTjNumber()+" 鐨勪綋妫�绫诲瀷鏄�:"+tjOrder.getTjType()); if (lisApiMethod.isUseLisAndPacsRegister(tjOrder)) { + log.info(tjOrder.getTjNumber()+"绛惧埌鐧昏杩涘叆鏈敹璐规柟娉�"); // 杩欐槸涓婇潰涓汉鏂规硶寮曞叆鏁版嵁 tjFlowingWater.setPayStasus(1L); newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); @@ -1353,9 +1364,11 @@ List<TjXdPicture> xdPictureList = xdPictureService.saveTjXdPicture(tjOrder.getTjNumber()); xdPictureService.saveBatch(xdPictureList); List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(tjOrder.getOrderId()); + log.info(tjOrder.getTjNumber()+"绛惧埌鐧昏:閲囨牱鏁版嵁鏌ヨ涓暟"+detailList.size()); addCaiYangDengJi(detailList, !detailList.isEmpty(), tjOrder, sysUser, null); return AjaxResult.success(tjNumber); } else { + log.info(tjOrder.getTjNumber()+"else绛惧埌鐧昏杩涘叆鏀惰垂鏂规硶"); newSaveextracted(tjOrder, tjCustomer, discount, sysUser, tjReservation, tjFlowingWater); AjaxResult error = isRequestCommonHisApi(tjOrder, tjCustomer, tjFlowingWater); if (error != null) return error; @@ -1522,6 +1535,28 @@ } + + @GetMapping("/addCaiYangDengJi") + @ApiOperation(value = "鎵嬪姩娣诲姞閲囨牱璁板綍鎺ュ彛") + public AjaxResult addCaiYangDengJi(@RequestParam("tjNum") String tjNum){ + + try { + TjOrder order = tjOrderService.getOrderByTjNum(tjNum); + if(null !=order){ + Long userId = Long.valueOf(SecurityUtils.getLoginUser().getUserId()); + SysUser sysUser = userService.getById(userId); + List<TjOrderDetail> detailList = tjOrderDetailService.getCaiYangDengJi(order.getOrderId()); + log.info("绛惧埌鐧昏:閲囨牱鏁版嵁鏌ヨ涓暟"+detailList.size()); + addCaiYangDengJi(detailList, !detailList.isEmpty(), order, sysUser, null); + } + } catch (NumberFormatException e) { + log.error(String.valueOf(e)); + } + + return AjaxResult.success(); + } + + @PostMapping("/addPlOrderAndDetail") @ApiOperation(value = "浣撴鎵归噺绛惧埌鐧昏鎺ュ彛") // @Transactional //(鍒囨崲鏁版嵁搴撳嚭閿欙紝鎵�浠ユ敞閲�) @@ -1558,15 +1593,11 @@ // } // } // }); - String tjh = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date())); - - - String finalTjh = tjh; Future<AjaxResult> future = executor.submit(new Callable<AjaxResult>() { @Override public AjaxResult call() throws Exception { - return getAjaxResult(aLong, sysUser, daoDto.getTjCategory(), finalTjh); + return getAjaxResult(aLong, sysUser, daoDto.getTjCategory()); } }); try { @@ -1580,7 +1611,7 @@ errTjh.add(userId); } } catch (InterruptedException | ExecutionException e) { - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); e.printStackTrace(); } } @@ -1588,7 +1619,7 @@ } // TODO 鍥犱负鏈変綋妫�鍙蜂細鏌ュ嚭绌烘暟鎹� 鍏堜娇鐢ㄦ鏁版嵁 鎵撳嵃瀵艰瘖鍗� if (!tjNumbers.isEmpty()) { - Map<String, Object> map = null; + /* Map<String, Object> map = null; try { map = PDFDocumentUtil.getDocument(); Document document = (Document) map.get("document"); @@ -1643,19 +1674,33 @@ } catch (IOException | DocumentException e) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); e.printStackTrace(); - } - return AjaxResult.success("鎿嶄綔鎴愬姛"); + }*/ + Map<String,Object> map=new HashMap<>(); + map.put("tjh",tjNumbers); + return AjaxResult.success("鎿嶄綔鎴愬姛",map); } if (!errTjh.isEmpty()){ - return AjaxResult.success("浠ヤ笂浜哄憳绛惧埌澶辫触",errTjh); + Map<String,Object> map=new HashMap<>(); + map.put("errtjh",errTjh); + return AjaxResult.success("浠ヤ笂浜哄憳绛惧埌澶辫触",map); } return AjaxResult.success(); } - TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return AjaxResult.error(); } -// @Transactional + @GetMapping("/signOrderInfo") + public AjaxResult signOrderInfo(@RequestParam("tjNum") String tjNum){ + List<Map<String, Object>> djdInfos = tjOrderService.selectDjdInfo(tjNum); + Map<String, Object> userInfo = tjOrderService.selectDjdUserInfo(tjNum); + HashMap<String, Object> hashMap = new HashMap<>(); + hashMap.put("djd",djdInfos); + hashMap.put("user",userInfo); + return AjaxResult.success(hashMap); + } + + @Transactional public void getAjaxResults(String cusIdcard) { if (!"".equals(cusIdcard) && cusIdcard != null) { //鏍规嵁閰嶇疆璋冨彇瀛樺偍杩囩▼ 灏嗕复鏃惰〃鏁版嵁瀛樺叆棰勭害琛�2023.12.12 @@ -1790,8 +1835,8 @@ DynamicDataSourceContextHolder.clearDataSourceType(); } -// @Transactional - public AjaxResult getAjaxResult(Long userId, SysUser sysUser, String tjCategory,String tjh) throws IOException { + @Transactional + public AjaxResult getAjaxResult(Long userId, SysUser sysUser, String tjCategory) throws IOException { LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); wq.eq(TjCustomer::getCusId, userId); @@ -1848,14 +1893,33 @@ // tjReservationService.updateById(tjReservation); //鐢熸垚浣撴鍙� - String tjNumber = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date())); +// String tjNumber = (sysUser.getUserName() + new SimpleDateFormat("yyMMddHHmmss").format(new Date())); +// tjNumber = tjNumber.replaceAll(".{6}$", userId.toString().substring(userId.toString().length() - 6)); - tjNumber = tjNumber.replaceAll(".{4}$", userId.toString().substring(userId.toString().length() - 4)); - tjh = tjh.replaceAll(".{4}$", userId.toString().substring(userId.toString().length() - 4)); + //鑾峰彇鎷兼帴鍓嶇紑 + String makeLisTmhPrefix = configService.selectConfigByKey("make_lis_tmh_prefix"); + String tjNumber = (sysUser.getUserName() + idUtils.getTjNumber()); + if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber; -// tjOrder.setTjNumber(tjNumber); - tjOrder.setTjNumber(tjh); + +// if (redisCache.hasKey(TJH)) { +// while (true){ +// List<String> tjh = redisCache.getCacheList(TJH); +// if(tjh.contains(tjNumber)){ +// tjNumber =(sysUser.getUserName() + IdUtils.getTjNumber()); +// if (StringUtil.isNotBlank(makeLisTmhPrefix)) tjNumber = makeLisTmhPrefix + tjNumber; +// }else { +// tjh.add(tjNumber); +// } +// } +// }else { +// List<String> stringList = tjOrderService. +// list(new LambdaQueryWrapper<TjOrder>().select(TjOrder::getTjNumber)).stream().map(TjOrder::getTjNumber).collect(Collectors.toList()); +// stringList.add(tjNumber); +// redisCache.setCacheList(TJH,stringList); +// } + tjOrder.setTjNumber(tjNumber); if (null != tjOrder.getPhoto()) { File file = new File(tjOrder.getPhoto()); if (file.isFile()) { @@ -1900,8 +1964,12 @@ tjFlowingWater.setUpdateTime(date); tjFlowingWater.setCreateBy(sysUser.getNickName()); tjFlowingWater.setUpdateBy(sysUser.getNickName()); - tjFlowingWater.setCopeWith(tbTransitionMapper.sumTbTransitionOrdPriceByTjNum(tjOrder.getTjNumber())); - tjFlowingWater.setPaidIn(tbTransitionMapper.sumTbTransitionNowPriceByTjNum(tjOrder.getTjNumber())); +// BigDecimal bigDecimal = tbTransitionMapper.sumTbTransitionOrdPriceByTjNum(tjOrder.getTjNumber()); + BigDecimal bigDecimal = tbTransitionMapper.sumTbTransitionOrdPriceByTjNumIsNull(tjCustomer.getCusIdcard()); + tjFlowingWater.setCopeWith(bigDecimal); +// BigDecimal bigDecimal1 = tbTransitionMapper.sumTbTransitionNowPriceByTjNum(tjOrder.getTjNumber()); + BigDecimal bigDecimal1 = tbTransitionMapper.sumTbTransitionNowPriceByTjNumIsNull(tjCustomer.getCusIdcard()); + tjFlowingWater.setPaidIn(bigDecimal1); tjFlowingWater.setDiscount(String.valueOf(10)); tjFlowingWater.setPayStasus(1L); tjFlowingWater.setPayType(3L); @@ -3690,6 +3758,20 @@ } + @GetMapping("/chushenyemianyijianjiekou") + @ApiOperation(value = "鍒濆椤甸潰寮冩鎺ュ彛") + @Transactional + public AjaxResult chushenyemianyijianjiekou(@RequestParam String tjNUm, @RequestParam String proId) { + LambdaQueryWrapper<TjOrderRemark> wq = new LambdaQueryWrapper<>(); + wq.eq(TjOrderRemark::getTjNumber, tjNUm); + wq.eq(TjOrderRemark::getProId, proId); + TjOrderRemark remark = remarkService.getOne(wq); + remark.setType(1); + remarkService.updateById(remark); + return AjaxResult.success("鎿嶄綔鎴愬姛!"); + } + + @PostMapping("/zongjanyemianshjianzhou") @ApiOperation(value = "鎬绘鑾峰彇鏃堕棿杞存帴鍙�") @Transactional @@ -3951,5 +4033,44 @@ } return AjaxResult.error(); } + + + + @PostMapping("/addBlTransition") + @ApiOperation(value = "琛ュ綍娣诲姞杩囨浮琛ㄦ暟鎹�") + @Transactional + public AjaxResult addBlTransition(@RequestBody Map<String, Object> map) { + Object packId = map.get("pacId"); + if (null == map.get("cusId")) return AjaxResult.error("璇烽�夋嫨浣撴浜�"); + String cusId = map.get("cusId").toString(); + Object proIds1 = map.get("proIds"); + List<Long> proIds = null; + if (null != proIds1 && !proIds1.equals("")) { + proIds = JSON.parseArray(proIds1.toString(), Long.class); + } + TjCustomer tjCustomer = tjCustomerService.getTjCustomerByCusIdCard(cusId); + String cardId = "0"; + if (null != tjCustomer) { + cardId = tjCustomer.getCardId(); + } + if ((null == proIds || proIds.isEmpty()) && (null == packId || packId.equals(""))) { + transitionService.deletedTbTransitionByCusId(cusId); + } + + //鍗曢」 + if (null != proIds && !proIds.isEmpty()) { + //寮傛淇濆瓨鏁版嵁搴撹〃 + for (Long proId : proIds) { + TjProject project = projectService.selectTjProjectByProId(proId); + if (null != project) { + List<TbTransition> transitionList = transitionService.getTbTransitionListByCusIdAndPacIdAndProId(cusId, String.valueOf(proId)); + if (null == transitionList || transitionList.isEmpty()) { + transitionService.saveRedisTransitionByProId(cusId, cardId, proId); + } + } + } + } + return AjaxResult.success(); + } } -- Gitblit v1.8.0