From 06ef175a1e9f72b3863757319b2f6ff76c5a2f05 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期二, 03 十二月 2024 09:16:55 +0800 Subject: [PATCH] zjh20241202-3 --- ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java | 2 ltkj-admin/src/test/java/zjhTest.java | 51 +++ ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java | 35 ++ ltkj-common/src/main/java/com/ltkj/common/excelConfig/ExcelUtils.java | 46 +++ ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsServiceController.java | 123 ++++++++ ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java | 24 + ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java | 376 +++++++++++++++++--------- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java | 81 ++++- ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TestMapper.java | 57 ++++ 9 files changed, 623 insertions(+), 172 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsServiceController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsServiceController.java index 4d8f309..ec53f35 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsServiceController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/pacs/PacsServiceController.java @@ -13,6 +13,8 @@ import com.ltkj.hosp.sqlDomain.LtkjExamJcbgd; import com.ltkj.hosp.sqlDomain.LtkjExamJcsqd; import com.ltkj.system.service.ISysDeptService; +import com.sun.jna.platform.win32.WinDef; +import com.sun.org.apache.xpath.internal.operations.Bool; import jodd.util.StringUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -24,6 +26,14 @@ import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; + + + + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.URL; /** * @Company: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃 @@ -49,23 +59,126 @@ @Autowired private LtkjExamJcbgdService ltkjExamJcbgdService; + // 浣撴寮�妫�鏌ョ敵璇峰崟璋冪敤姝ゆ帴鍙f帹閫佺粰pacs鏈嶅姟 + public boolean OrderAdd(String tjNumber) + { + try { + //浠庝綋妫�鏁版嵁搴撲腑鏌ヨ鍑虹敵璇峰崟鏁版嵁 璋冪敤 pacs webservice 鎺ュ彛 OrderAdd瀹炵幇鐢宠鍗曟帹閫� + HashMap<String, Object> hashMap = new HashMap<>(); + if (true){ + HashMap<String, Object> result = new HashMap<>(); +// result.put("PatientId",0); +// result.put("PatType","PatType"); +// result.put("Operator","Operator"); +// result.put("HisID","HisID"); + + hashMap.put("Root",result); + } + return ComSjyjtPacs(XmlUtil.mapToXmlStr(hashMap)); + }catch (Exception ex) + { + return false; + } + } + + // 浣撴鎾ら攢鐢宠鍗曞悗璋冪敤姝ゆ帴鍙f挙閿�pacs鐢宠鍗� + public boolean OrderDelete(String tjNumber) + { + //鍏ュ弬瀛楁 +// <PatientId> HIS鎴栦綋妫�鐥呬汉ID </PatientId> +// <PatType>鐥呬汉绫诲瀷</PatType > +// <Operator>鎿嶄綔浜哄伐鍙�</Operator> +// <HisID>HIS鎴栦綋妫�鐢宠鍗曞彿</HisID> + try { + //浠庝綋妫�鏁版嵁搴撲腑鏌ヨ鍑虹敵璇峰崟鏁版嵁 璋冪敤 pacs webservice 鎺ュ彛 OrderAdd瀹炵幇鐢宠鍗曟帹閫� + + HashMap<String, Object> hashMap = new HashMap<>(); + if (null == null){ + HashMap<String, Object> result = new HashMap<>(); + result.put("PatientId",0); + result.put("PatType","PatType"); + result.put("Operator","Operator"); + result.put("HisID","HisID"); + + hashMap.put("Root",result); + } + return ComSjyjtPacs(XmlUtil.mapToXmlStr(hashMap)); + }catch (Exception ex) + { + return false; + } + } + // 闄曞仴鍖婚泦鍥㈣皟鐢╬acs鎺ュ彛Webservice + public boolean ComSjyjtPacs(String inputLine) + { + String apiUrl = "http://100.100.100.222:8000/WebInterfaceService.asmx"; // 鏇挎崲涓轰綘鐨凙PI URL + + try { + URL url = new URL(apiUrl); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setRequestMethod("GET"); + + int responseCode = connection.getResponseCode(); + if (responseCode == HttpURLConnection.HTTP_OK) { + BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); + + StringBuffer response = new StringBuffer(); + + while ((inputLine = in.readLine()) != null) { + response.append(inputLine); + } + + in.close(); + + // 鎵撳嵃缁撴灉 + System.out.println(response.toString()); + } else { +// System.out.println("ComSjyjtPacs闄曞仴鍖婚泦鍥㈣皟鐢╬acs鎺ュ彛Webservice璋冪敤澶辫触锛佲��); + } + } catch (Exception e) { + e.printStackTrace(); + } + return true; + + } + + @PostMapping("InvokeRisService") public String InvokeRisService(String dataSourceName, String action, String message) { + + String rusue=null; switch (StringUtil.toLowerCase(action) ) { case "qeryorder": - return queryOrder(dataSourceName); - break; + rusue= queryOrder(dataSourceName); + break; case "updateorderstatus": - updateOrderstatus(dataSourceName); + rusue= updateOrderstatus(dataSourceName); break; case "reportverifyupload": - return reportVerifyUpload(dataSourceName); - break; + rusue= reportVerifyUpload(dataSourceName); + break; } + HashMap<String, Object> hashMap = new HashMap<>(); + // <Code>鎵ц鐘舵�� 鎵ц鐘舵�� 1 鎴愬姛锛� 0澶辫触</Code> + // <Message>缁撴灉娑堟伅</Message> + HashMap<String, Object> result = new HashMap<>(); + if(rusue==null) + { + result.put("Code", 1); + result.put("Message", "鎺ュ彛鎴愬姛"); + } + else { + result.put("Code", 0); + result.put("Message", rusue); + } + hashMap.put("ResultInfor", result); + return XmlUtil.mapToXmlStr(hashMap); } + + private String updateOrderstatus(@RequestBody String json) { // <PatientId> HIS鎴栦綋妫�鐥呬汉ID </PatientId> // <PatType>鐥呬汉绫诲瀷</PatType > 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 328415d..7521ecc 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 @@ -609,17 +609,27 @@ return AjaxResult.success("鍚屾鎴愬姛"); - - //鍚屾妫�鏌ラ」鐩粰redis缂撳瓨鐜板湪涓嶇敤浜� -// asyncService.updateCheckType(order.getTjNumber()); } -// else if(null !=sfkqdshitulianjie && sfkqdshitulianjie.equals("Y")){ -// List<Map<String,Object>> maps= testMapper.getCcXZxYyLisJgSt(); -// } + else if(null !=sfkqdshitulianjie && sfkqdshitulianjie.equals("Y")){ + List<LtkjHysqd> hysqdList = testMapper.getCcXZxYyLtkjHysqdByLisVi(order.getTjNumber()); + 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); + } + } + } + testMapper.tjUpdateDetatilByVi(order.getTjNumber()); + } //鍖栭獙 testMapper.updateDetailByCall(order.getCardId(), String.valueOf(order.getOrderId()), order.getTjNumber(), UserHoder.getLoginUser().getUserId()); //妫�鏌� -// jcsqdService.saveLtkjExamJcsqd(order.getCardId()); return AjaxResult.success("鍚屾鎴愬姛"); } return AjaxResult.error("鏈煡鍒拌浜哄憳浣撴璁板綍"); diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java index 0ff575c..7a07548 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCustomerController.java @@ -141,17 +141,24 @@ // @Log(title = "瀹㈡埛韬唤淇℃伅", businessType = BusinessType.EXPORT) public AjaxResult getInfoByIdCard(@RequestParam @ApiParam(value = "瀹㈡埛韬唤璇佸彿") String cusIdcard) { if (!"".equals(cusIdcard) && cusIdcard != null) { + + String sfjysfzh = sysConfigService.selectConfigByKey("sfjysfzh"); +// String sfjysjh = configService.selectConfigByKey("sfjysjh"); + //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘ -// if(cusIdcard.length()==18){ -// if (! MatchUtils.isIdCard(cusIdcard)) { -// return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�"); -// } -// } -// if(cusIdcard.length()==9){ -// if (!MatchUtils.cardValidates(cusIdcard)) { -// return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�"); -// } -// } + if(sfjysfzh.equalsIgnoreCase("Y")){ + if(cusIdcard.length()==18){ + if (! MatchUtils.isIdCard(cusIdcard)) { + return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�"); + } + } + if(cusIdcard.length()==9){ + if (!MatchUtils.cardValidates(cusIdcard)) { + return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�"); + } + } + } + // Date dates = new Date(); // final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); @@ -446,7 +453,6 @@ if (null == tjCustomer.getCusIdcard() || null == tjCustomer.getCusPhone()) { return AjaxResult.error("璇疯緭鍏ヨ韩浠借瘉鍙锋垨鎵嬫満鍙�"); } - HisApiGetMethodService hisApiGetMethodService = new HisApiGetMethodService(); Date dates = new Date(); final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); @@ -454,21 +460,32 @@ String cusIdcard = tjCustomer.getCusIdcard(); boolean b = true; + String sfjysfzh = sysConfigService.selectConfigByKey("sfjysfzh"); + String sfjysjh = sysConfigService.selectConfigByKey("sfjysjh"); if (null != tjCustomer.getIdType()) { if (tjCustomer.getIdType().equals("1")) { - b = MatchUtils.isIdCard(cusIdcard); + //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘ + if(sfjysfzh.equalsIgnoreCase("Y")){ + if(cusIdcard.length()==18){ + b = MatchUtils.isIdCard(cusIdcard); + } + } + } else { + if(cusIdcard.length()==9){ + b = MatchUtils.cardValidate(cusIdcard, tjCustomer.getIdType()); + } + } -// else { -// b = MatchUtils.cardValidate(cusIdcard, tjCustomer.getIdType()); -// } } else { return AjaxResult.error("璇烽�夋嫨璇佷欢绫诲瀷"); } if (!b) return AjaxResult.error("璇佷欢鍙锋湁璇�"); //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘ - if (!(MatchUtils.isMobileNO(tjCustomer.getCusPhone()))) - return AjaxResult.error("鎵嬫満鍙烽敊璇�"); + if(sfjysjh.equalsIgnoreCase("Y")){ + if (!(MatchUtils.isMobileNO(tjCustomer.getCusPhone()))) + return AjaxResult.error("鎵嬫満鍙烽敊璇�"); + } LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); wq.eq(TjCustomer::getCusIdcard, cusIdcard); @@ -550,12 +567,30 @@ if (null == cusPhone) { return AjaxResult.error("鎵嬫満鍙蜂笉鑳戒负绌�"); } - /*LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); - wq.eq(TjCustomer::getCusPhone, cusPhone); - TjCustomer customer = tjCustomerService.getOne(wq); - if (customer != null) { - return AjaxResult.error("璇ユ墜鏈哄彿宸茶浣跨敤!"); - }*/ + String sfjysfzh = sysConfigService.selectConfigByKey("sfjysfzh"); + String sfjysjh = sysConfigService.selectConfigByKey("sfjysjh"); + + //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘ + if(sfjysfzh.equalsIgnoreCase("Y")){ + if(tjCustomer.getCusIdcard().length()==18){ + if (!(MatchUtils.isIdCard(tjCustomer.getCusIdcard()))) + return AjaxResult.error("韬唤璇佸彿閿欒"); + } + + if(tjCustomer.getCusIdcard().length()==9){ + if (!MatchUtils.cardValidates(tjCustomer.getCusIdcard())) { + return AjaxResult.error("韬唤璇佸彿鐮侀敊璇�"); + } + } + } + + + //鍒ゆ柇韬唤璇佸彿鏍煎紡鏄惁姝g‘ + if(sfjysjh.equalsIgnoreCase("Y")){ + if (!(MatchUtils.isMobileNO(tjCustomer.getCusPhone()))) + return AjaxResult.error("鎵嬫満鍙烽敊璇�"); + } + tjCustomer.setCusPhone(cusPhone); tjCustomer.setPym(PinyinUtil.getFirstLetter(tjCustomer.getCusName(),"")); if (tjCustomerService.updateById(tjCustomer)) { diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java index f3117bc..61b2f1f 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReservationController.java @@ -15,6 +15,7 @@ import cn.hutool.extra.pinyin.PinyinUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; +import com.alibaba.druid.sql.visitor.functions.Isnull; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -40,10 +41,12 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.web.bind.annotation.*; import com.ltkj.common.core.controller.BaseController; import com.ltkj.common.core.domain.AjaxResult; @@ -60,6 +63,7 @@ @RestController @RequestMapping("/reservation/reservation") @Api(tags = "浣撴棰勭害绠$悊鎺ュ彛") +@Slf4j public class TjReservationController extends BaseController { @Resource private ITjReservationService tjReservationService; @@ -85,12 +89,8 @@ private ITjGroupingProService groupingProService; @Resource private TjAsyncService asyncService; -// @Resource -// private OrderDelayService delayService; @Autowired private TaskService taskService; - @Resource - private ITjReportTemplateService reportTemplateService; @Autowired private ISysDictDataService dictDataService; @Autowired @@ -104,7 +104,7 @@ public void importTemplate(HttpServletResponse response) { //鍘熸潵鐨勪笅杞芥ā鏉胯皟鐢ㄦ帴鍙� String base64String = PDFBinaryUtil.getPDFBinary(configService.selectConfigByKey("default_excelTemplate")); - if(null !=base64String){ + if (null != base64String) { PDFBinaryUtil.base64StringToPDF(base64String, FileUtil.mkdir(value).getPath() + File.separator + "鍥綋棰勭害Excel妯$増.xls"); String filePath = value + File.separator + "鍥綋棰勭害Excel妯$増.xls"; File f = new File(filePath); @@ -157,7 +157,6 @@ } - /** * 鏌ヨ浣撴棰勭害鍒楄〃 */ @@ -186,7 +185,7 @@ public TableDataInfo selectTjReservationByDelete(TjReservation tjReservation) { startPage(); List<TjReservation> list = tjReservationService.selectTjReservationByDelete(tjReservation); - if(null !=list && !list.isEmpty()){ + if (null != list && !list.isEmpty()) { // for (TjReservation reservation : list) { // reservation.setName(MatchUtils.hideCusName(reservation.getName())); // reservation.setPhoe(MatchUtils.hidePhoneNum(reservation.getPhoe())); @@ -227,7 +226,7 @@ } int grouping = dwGroupingService.selectTjDwGroupingByDwDeptId(dwDeptId); - if(grouping==0){ + if (grouping == 0) { return AjaxResult.error("璇锋鏌ラ儴闂ㄤ腑鏄惁瀛樺湪鍒嗙粍鎴栧垎缁勪腑鏄惁瀛樺湪椤圭洰!"); } @@ -239,12 +238,12 @@ TjDwGrouping groupingWoMan = null;//濂� TjDwGrouping groupingWz = null;//鏈煡(涓嶅垎鎬у埆) try { - groupingMan = dwGroupingService.getOne(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId,dwId) - .eq(TjDwGrouping::getDwDeptId,dwDeptId).eq(TjDwGrouping::getSex, 0)); - groupingWoMan = dwGroupingService.getOne(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId,dwId) - .eq(TjDwGrouping::getDwDeptId,dwDeptId).eq(TjDwGrouping::getSex, 1)); - groupingWz = dwGroupingService.getOne(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId,dwId) - .eq(TjDwGrouping::getDwDeptId,dwDeptId).eq(TjDwGrouping::getSex, 2)); + groupingMan = dwGroupingService.getOne(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId, dwId) + .eq(TjDwGrouping::getDwDeptId, dwDeptId).eq(TjDwGrouping::getSex, 0)); + groupingWoMan = dwGroupingService.getOne(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId, dwId) + .eq(TjDwGrouping::getDwDeptId, dwDeptId).eq(TjDwGrouping::getSex, 1)); + groupingWz = dwGroupingService.getOne(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId, dwId) + .eq(TjDwGrouping::getDwDeptId, dwDeptId).eq(TjDwGrouping::getSex, 2)); } catch (Exception e) { return AjaxResult.error("鍒嗙粍淇℃伅鏈夎璇烽噸鏂板垎缁�!"); } @@ -254,21 +253,24 @@ BigDecimal manMoney = new BigDecimal("0.00"); //濂崇粍閲戦 BigDecimal woManMoney = new BigDecimal("0.00"); - int count=0;//鎬昏浜烘暟 - int manCount=0;//鐢风粍浜烘暟 - int woManCount=0;//濂崇粍浜烘暟 + int count = 0;//鎬昏浜烘暟 + int manCount = 0;//鐢风粍浜烘暟 + int woManCount = 0;//濂崇粍浜烘暟 for (TjReservation tjReservation : tjReservations) { String idCard = tjReservation.getIdCard(); String phoe = tjReservation.getPhoe(); if (null != idCard && null != phoe) { -// if (!MatchUtils.isIdCard(idCard) || !MatchUtils.isMobileNO(phoe)) { +// if (!MatchUtils.isIdCard(idCard) || !MatchUtils.isMobileNO(phoe)); if (idCard.isEmpty() || phoe.isEmpty()) { wrongList.add(tjReservation.getName()); } else { + String str = MatchUtils.translateToPlainStr(tjReservation.getPhoe()); + + tjReservation.setPhoe(str); //骞撮緞 tjReservation.setAge(String.valueOf(MatchUtils.getAgeByIdCard(tjReservation.getIdCard()))); //鍑虹敓鏃ユ湡 - tjReservation.setBirthday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()),"yyyy-MM-dd")); + tjReservation.setBirthday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd")); if (null != groupingMan && groupingMan.getSex().equals(String.valueOf(tjReservation.getSex()))) { @@ -276,9 +278,11 @@ tjReservation.setGroupingName(groupingMan.getGroupingName()); tjReservation.setYsPrice(groupingMan.getYsPrice()); //鍚堣 - hjMoney = hjMoney.add(groupingMan.getYsPrice()); count+=1; + hjMoney = hjMoney.add(groupingMan.getYsPrice()); + count += 1; //鐢风粍浜烘暟 - manMoney=manMoney.add(groupingMan.getYsPrice()); manCount+=1; + manMoney = manMoney.add(groupingMan.getYsPrice()); + manCount += 1; } else if (null != groupingWoMan && groupingWoMan.getSex().equals(String.valueOf(tjReservation.getSex()))) { @@ -286,8 +290,10 @@ tjReservation.setGroupingName(groupingWoMan.getGroupingName()); tjReservation.setYsPrice(groupingWoMan.getYsPrice()); //鍚堣 - hjMoney = hjMoney.add(groupingWoMan.getYsPrice()); count+=1; - woManMoney=woManMoney.add(groupingWoMan.getYsPrice());woManCount+=1; + hjMoney = hjMoney.add(groupingWoMan.getYsPrice()); + count += 1; + woManMoney = woManMoney.add(groupingWoMan.getYsPrice()); + woManCount += 1; } else if (null != groupingWz && groupingWz.getSex().equals(String.valueOf(tjReservation.getSex()))) { @@ -295,7 +301,8 @@ tjReservation.setGroupingName(groupingWz.getGroupingName()); tjReservation.setYsPrice(groupingWz.getYsPrice()); //鍚堣 - hjMoney = hjMoney.add(groupingWz.getYsPrice()); count+=1; + hjMoney = hjMoney.add(groupingWz.getYsPrice()); + count += 1; } @@ -342,7 +349,7 @@ @ApiOperation(value = "鍥綋excel琛ㄥ鍏� (鏂扮増鏈笉浼犲崟浣嶉儴闂╥d)") @Transactional public AjaxResult newExcelImportNotDwDeptId(@RequestPart(value = "file") @ApiParam(value = "Excel鏂囦欢") MultipartFile file, - @RequestParam @ApiParam(value = "鍗曚綅id") String dwId) { + @RequestParam @ApiParam(value = "鍗曚綅id") String dwId) { List<TjReservation> tjReservations = null; try { tjReservations = ExcelUtils.readMultipartFile(file, TjReservation.class); @@ -351,7 +358,7 @@ } int grouping = dwGroupingService.selectTjDwGroupingByDwId(dwId); - if(grouping==0){ + if (grouping == 0) { return AjaxResult.error("璇锋鏌ヨ鍗曚綅鏄惁瀛樺惁瀛樺湪椤圭洰!"); } @@ -363,90 +370,191 @@ List<TjDwGrouping> groupingWoMans = null;//濂� List<TjDwGrouping> groupingWzs = null;//鏈煡(涓嶅垎鎬у埆) try { - groupingMans = dwGroupingService.list(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId,dwId) + groupingMans = dwGroupingService.list(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId, dwId) .eq(TjDwGrouping::getSex, 0)); - groupingWoMans = dwGroupingService.list(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId,dwId) + groupingWoMans = dwGroupingService.list(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId, dwId) .eq(TjDwGrouping::getSex, 1)); - groupingWzs = dwGroupingService.list(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId,dwId) + groupingWzs = dwGroupingService.list(new LambdaQueryWrapper<TjDwGrouping>().eq(TjDwGrouping::getDwId, dwId) .eq(TjDwGrouping::getSex, 2)); } catch (Exception e) { return AjaxResult.error("鍒嗙粍淇℃伅鏈夎璇烽噸鏂板垎缁�!"); } + + String sfjysfzh = configService.selectConfigByKey("sfjysfzh"); + String sfjysjh = configService.selectConfigByKey("sfjysjh"); + //璁$畻鍚堣 BigDecimal hjMoney = new BigDecimal("0.00"); //鐢风粍閲戦 BigDecimal manMoney = new BigDecimal("0.00"); //濂崇粍閲戦 BigDecimal woManMoney = new BigDecimal("0.00"); - int count=0;//鎬昏浜烘暟 - int manCount=0;//鐢风粍浜烘暟 - int woManCount=0;//濂崇粍浜烘暟 + int count = 0;//鎬昏浜烘暟 + int manCount = 0;//鐢风粍浜烘暟 + int woManCount = 0;//濂崇粍浜烘暟 + List<String> ids=new ArrayList<>(); + for (TjReservation tjReservation : tjReservations) { String idCard = tjReservation.getIdCard(); String phoe = tjReservation.getPhoe(); - if (null != idCard && null != phoe) { -// if (!MatchUtils.isIdCard(idCard) || !MatchUtils.isMobileNO(phoe)) { - if (idCard.isEmpty() || phoe.isEmpty() || null==tjReservation.getDwxm()) { - wrongList.add(tjReservation.getName()); - } else { - //骞撮緞 - tjReservation.setAge(String.valueOf(MatchUtils.getAgeByIdCard(tjReservation.getIdCard()))); - //鍑虹敓鏃ユ湡 - tjReservation.setBirthday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()),"yyyy-MM-dd")); + idCard= idCard.replaceAll("[',锛�;.銆� 鈥樷�淽",""); - TjDwDept dwDept = dwDeptService.getOne(new LambdaQueryWrapper<TjDwDept>().eq(TjDwDept::getDwDeptName, tjReservation.getDwxm())); - if(null !=dwDept){ - for (TjDwGrouping groupingMan : groupingMans) { - if (null != groupingMan && groupingMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingMan.getDwDeptId().equals(dwDept.getId())) { - tjReservation.setGroupingId(groupingMan.getId()); - tjReservation.setGroupingName(groupingMan.getGroupingName()); - tjReservation.setYsPrice(groupingMan.getYsPrice()); - //鍚堣 - hjMoney = hjMoney.add(groupingMan.getYsPrice()); count+=1; - //鐢风粍浜烘暟 - manMoney=manMoney.add(groupingMan.getYsPrice()); manCount+=1; - } - } + if (!StringUtils.isBlank(idCard) || !StringUtils.isBlank(phoe) || null != tjReservation.getDwxm()) { + //灏嗙瀛﹁鏁扮殑鎵嬫満鍙疯浆鎹㈡垚鏂囨湰褰㈠紡 + phoe = MatchUtils.translateToPlainStr(tjReservation.getPhoe()); - for (TjDwGrouping groupingWoMan : groupingWoMans) { - if (null != groupingWoMan && groupingWoMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingWoMan.getDwDeptId().equals(dwDept.getId())) { - tjReservation.setGroupingId(groupingWoMan.getId()); - tjReservation.setGroupingName(groupingWoMan.getGroupingName()); - tjReservation.setYsPrice(groupingWoMan.getYsPrice()); - //鍚堣 - hjMoney = hjMoney.add(groupingWoMan.getYsPrice()); count+=1; - woManMoney=woManMoney.add(groupingWoMan.getYsPrice());woManCount+=1; - } - } - for (TjDwGrouping groupingWz : groupingWzs) { - if (null != groupingWz && groupingWz.getDwDeptId().equals(dwDept.getId())) { - tjReservation.setGroupingId(groupingWz.getId()); - tjReservation.setGroupingName(groupingWz.getGroupingName()); - tjReservation.setYsPrice(groupingWz.getYsPrice()); - //鍚堣 - hjMoney = hjMoney.add(groupingWz.getYsPrice());count+=1; - if(tjReservation.getSex()==0){ - manMoney=manMoney.add(groupingWz.getYsPrice()); manCount+=1; - } - if(tjReservation.getSex()==1){ - woManMoney=woManMoney.add(groupingWz.getYsPrice());woManCount+=1; - } - - } - } - LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>(); - wq.eq(TjReservation::getIdCard, tjReservation.getIdCard()); - wq.eq(TjReservation::getIsExpire, 2); - TjReservation one = tjReservationService.getOne(wq); - if (null != one) { - yyList.add(one); - } - rightList.add(tjReservation); - }else { - wrongList.add(tjReservation.getName()); - } - + if(!ids.isEmpty() && ids.contains(tjReservation.getIdCard())){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("姝よ韩浠借瘉鍙�: "+tjReservation.getIdCard()+" 閲嶅,璇锋牳瀵瑰悗涓婁紶!"); } + + ids.add(tjReservation.getIdCard()); + +// if (sfjysfzh.equalsIgnoreCase("Y") || sfjysjh.equalsIgnoreCase("Y")) { + if ((sfjysfzh.equalsIgnoreCase("Y") && !MatchUtils.isIdCard(idCard)) || + (sfjysjh.equalsIgnoreCase("Y") && !MatchUtils.isMobileNO(phoe))) { + wrongList.add(tjReservation.getName()); + log.info(tjReservation.getName()+idCard+MatchUtils.isIdCard(idCard)+MatchUtils.isMobileNO(phoe)); + }else { + + + tjReservation.setPhoe(phoe); + + //骞撮緞 + tjReservation.setAge(String.valueOf(MatchUtils.getAgeByIdCard(tjReservation.getIdCard()))); + //鍑虹敓鏃ユ湡 + tjReservation.setBirthday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd")); + + TjDwDept dwDept = dwDeptService.getOne(new LambdaQueryWrapper<TjDwDept>().eq(TjDwDept::getDwDeptName, tjReservation.getDwxm())); + if (null != dwDept) { + for (TjDwGrouping groupingMan : groupingMans) { + if (null != groupingMan && groupingMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingMan.getDwDeptId().equals(dwDept.getId())) { + tjReservation.setGroupingId(groupingMan.getId()); + tjReservation.setGroupingName(groupingMan.getGroupingName()); + tjReservation.setYsPrice(groupingMan.getYsPrice()); + //鍚堣 + hjMoney = hjMoney.add(groupingMan.getYsPrice()); + count += 1; + //鐢风粍浜烘暟 + manMoney = manMoney.add(groupingMan.getYsPrice()); + manCount += 1; + } + } + + for (TjDwGrouping groupingWoMan : groupingWoMans) { + if (null != groupingWoMan && groupingWoMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingWoMan.getDwDeptId().equals(dwDept.getId())) { + tjReservation.setGroupingId(groupingWoMan.getId()); + tjReservation.setGroupingName(groupingWoMan.getGroupingName()); + tjReservation.setYsPrice(groupingWoMan.getYsPrice()); + //鍚堣 + hjMoney = hjMoney.add(groupingWoMan.getYsPrice()); + count += 1; + woManMoney = woManMoney.add(groupingWoMan.getYsPrice()); + woManCount += 1; + } + } + for (TjDwGrouping groupingWz : groupingWzs) { + if (null != groupingWz && groupingWz.getDwDeptId().equals(dwDept.getId())) { + tjReservation.setGroupingId(groupingWz.getId()); + tjReservation.setGroupingName(groupingWz.getGroupingName()); + tjReservation.setYsPrice(groupingWz.getYsPrice()); + //鍚堣 + hjMoney = hjMoney.add(groupingWz.getYsPrice()); + count += 1; + if (tjReservation.getSex() == 0) { + manMoney = manMoney.add(groupingWz.getYsPrice()); + manCount += 1; + } + if (tjReservation.getSex() == 1) { + woManMoney = woManMoney.add(groupingWz.getYsPrice()); + woManCount += 1; + } + + } + } + LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>(); + wq.eq(TjReservation::getIdCard, tjReservation.getIdCard()); + wq.eq(TjReservation::getIsExpire, 2); + TjReservation one = tjReservationService.getOne(wq); + if (null != one) { + yyList.add(one); + } + rightList.add(tjReservation); + } else { + wrongList.add(tjReservation.getName()); + } + } +// } +// else { +// //灏嗙瀛﹁鏁扮殑鎵嬫満鍙疯浆鎹㈡垚鏂囨湰褰㈠紡 +// String str = MatchUtils.translateToPlainStr(tjReservation.getPhoe()); +// tjReservation.setPhoe(str); +// +// //骞撮緞 +// tjReservation.setAge(String.valueOf(MatchUtils.getAgeByIdCard(tjReservation.getIdCard()))); +// //鍑虹敓鏃ユ湡 +// tjReservation.setBirthday(DateUtil.parse(MatchUtils.getBirthDayByIdCard(tjReservation.getIdCard()), "yyyy-MM-dd")); +// +// TjDwDept dwDept = dwDeptService.getOne(new LambdaQueryWrapper<TjDwDept>().eq(TjDwDept::getDwDeptName, tjReservation.getDwxm())); +// if (null != dwDept) { +// for (TjDwGrouping groupingMan : groupingMans) { +// if (null != groupingMan && groupingMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingMan.getDwDeptId().equals(dwDept.getId())) { +// tjReservation.setGroupingId(groupingMan.getId()); +// tjReservation.setGroupingName(groupingMan.getGroupingName()); +// tjReservation.setYsPrice(groupingMan.getYsPrice()); +// //鍚堣 +// hjMoney = hjMoney.add(groupingMan.getYsPrice()); +// count += 1; +// //鐢风粍浜烘暟 +// manMoney = manMoney.add(groupingMan.getYsPrice()); +// manCount += 1; +// } +// } +// +// for (TjDwGrouping groupingWoMan : groupingWoMans) { +// if (null != groupingWoMan && groupingWoMan.getSex().equals(String.valueOf(tjReservation.getSex())) && groupingWoMan.getDwDeptId().equals(dwDept.getId())) { +// tjReservation.setGroupingId(groupingWoMan.getId()); +// tjReservation.setGroupingName(groupingWoMan.getGroupingName()); +// tjReservation.setYsPrice(groupingWoMan.getYsPrice()); +// //鍚堣 +// hjMoney = hjMoney.add(groupingWoMan.getYsPrice()); +// count += 1; +// woManMoney = woManMoney.add(groupingWoMan.getYsPrice()); +// woManCount += 1; +// } +// } +// for (TjDwGrouping groupingWz : groupingWzs) { +// if (null != groupingWz && groupingWz.getDwDeptId().equals(dwDept.getId())) { +// tjReservation.setGroupingId(groupingWz.getId()); +// tjReservation.setGroupingName(groupingWz.getGroupingName()); +// tjReservation.setYsPrice(groupingWz.getYsPrice()); +// //鍚堣 +// hjMoney = hjMoney.add(groupingWz.getYsPrice()); +// count += 1; +// if (tjReservation.getSex() == 0) { +// manMoney = manMoney.add(groupingWz.getYsPrice()); +// manCount += 1; +// } +// if (tjReservation.getSex() == 1) { +// woManMoney = woManMoney.add(groupingWz.getYsPrice()); +// woManCount += 1; +// } +// +// } +// } +// LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>(); +// wq.eq(TjReservation::getIdCard, tjReservation.getIdCard()); +// wq.eq(TjReservation::getIsExpire, 2); +// TjReservation one = tjReservationService.getOne(wq); +// if (null != one) { +// yyList.add(one); +// } +// rightList.add(tjReservation); +// } else { +// wrongList.add(tjReservation.getName()); +// } +// } + } else { wrongList.add(tjReservation.getName()); } @@ -483,18 +591,18 @@ if (null == tjReservation) return AjaxResult.error(); if (null == tjReservation.getName()) return AjaxResult.error("濮撳悕涓嶈兘涓虹┖"); if (null == tjReservation.getReservationTime()) return AjaxResult.error("璇烽�夋嫨棰勭害鏃堕棿"); - boolean b=true; - if(null !=tjReservation.getIdType()){ - if(tjReservation.getIdType().equals("1")){ - b = MatchUtils.isIdCard(tjReservation.getIdCard()); - }else { - b = MatchUtils.cardValidate(tjReservation.getIdCard(), tjReservation.getIdType()); + boolean b = true; + if (null != tjReservation.getIdType()) { + if (tjReservation.getIdType().equals("1")) { + b = MatchUtils.isIdCard(tjReservation.getIdCard()); + } else { + b = MatchUtils.cardValidate(tjReservation.getIdCard(), tjReservation.getIdType()); } - }else { + } else { return AjaxResult.error("璇烽�夋嫨璇佷欢绫诲瀷"); } - if(!b) return AjaxResult.error("璇佷欢鍙锋湁璇�"); + if (!b) return AjaxResult.error("璇佷欢鍙锋湁璇�"); LambdaQueryWrapper<TjReservation> wq = new LambdaQueryWrapper<>(); wq.eq(TjReservation::getIdCard, tjReservation.getIdCard()); wq.eq(TjReservation::getIsExpire, 2); @@ -512,12 +620,12 @@ if (tjReservationService.save(tjReservation)) { // delayService.reservation(tjReservation.getId()); taskService.addTask(new TjReservationTask(tjReservation.getId(), - DateUtil.between(new Date(),DateUtil.endOfDay(tjReservation.getReservationTime()), DateUnit.MS))); + DateUtil.between(new Date(), DateUtil.endOfDay(tjReservation.getReservationTime()), DateUnit.MS))); return AjaxResult.success("棰勭害鎴愬姛!!!"); } - LambdaQueryWrapper<TbTransition> remove=new LambdaQueryWrapper<>(); - remove.between(TbTransition::getCreateTime,DateUtil.offsetMinute(transitionService.getTbTransitionCreateTimeByCusId(tjReservation.getIdCard()),-1),new Date()); - remove.eq(TbTransition::getCusId,tjReservation.getIdCard()); + LambdaQueryWrapper<TbTransition> remove = new LambdaQueryWrapper<>(); + remove.between(TbTransition::getCreateTime, DateUtil.offsetMinute(transitionService.getTbTransitionCreateTimeByCusId(tjReservation.getIdCard()), -1), new Date()); + remove.eq(TbTransition::getCusId, tjReservation.getIdCard()); transitionService.remove(remove); return AjaxResult.error("棰勭害澶辫触"); } @@ -533,12 +641,12 @@ if (null != tjReservation) { if (null != tjReservation.getPacId()) { TjPackage aPackage = packageService.getById(tjReservation.getPacId()); - if(null !=aPackage){ + if (null != aPackage) { tjReservation.setPacName(aPackage.getPacName()); } TjDwDept dwDept = dwDeptService.getById(tjReservation.getPacId()); - if(null !=dwDept){ + if (null != dwDept) { tjReservation.setPacName(dwDept.getDwName()); } @@ -618,7 +726,7 @@ if (tjReservationService.updateById(tjReservation)) { taskService.removeTask(new TjReservationTask(tjReservation.getId())); taskService.addTask(new TjReservationTask(tjReservation.getId(), - DateUtil.between(new Date(),DateUtil.endOfDay(DateUtil.offsetDay(tjReservation.getReservationTime(),reservation.getYxts())), DateUnit.MS))); + DateUtil.between(new Date(), DateUtil.endOfDay(DateUtil.offsetDay(tjReservation.getReservationTime(), reservation.getYxts())), DateUnit.MS))); return AjaxResult.success("鎿嶄綔鎴愬姛"); } return AjaxResult.error("鎿嶄綔澶辫触"); @@ -632,15 +740,15 @@ @ApiOperation(value = "鏍规嵁鍗曚綅id鍜屽洟闃熺紪鍙疯幏鍙栭绾﹁鎯�") public AjaxResult getSelectRecordByTeamNo(@RequestParam @ApiParam(value = "鍒嗙粍id") String groupingId) { LambdaQueryWrapper<TjGroupingPro> wq = new LambdaQueryWrapper<>(); - wq.eq(TjGroupingPro::getGroupingId,groupingId); + wq.eq(TjGroupingPro::getGroupingId, groupingId); List<TjGroupingPro> proList = groupingProService.list(wq); - if(null !=proList && proList.size()>0){ + if (null != proList && proList.size() > 0) { for (TjGroupingPro groupingPro : proList) { TjProject project = projectService.getById(groupingPro.getProId()); - if(null !=project){ - if (project.getProType()==null || project.getProType().equals("")) { + if (null != project) { + if (project.getProType() == null || project.getProType().equals("")) { groupingPro.setProType("2"); - }else { + } else { groupingPro.setProType(project.getProType()); } groupingPro.setProCheckMethod(project.getProCheckMethod()); @@ -673,10 +781,10 @@ asyncService.saveNewReservationConfirm(rightList); //鍥綋浜烘暟鍚堣浠锋牸 - BigDecimal compPay=new BigDecimal("0.00"); + BigDecimal compPay = new BigDecimal("0.00"); //鍥綋浜烘暟 - int tramNum=0; + int tramNum = 0; if (null != rightList && rightList.size() > 0) { String teamNo = PinyinUtil.getFirstLetter(dwDept.getDwName(), "") + DateUtil.format(new Date(), "yyMMddHHmmss"); for (TjReservation reservation : rightList) { @@ -706,13 +814,13 @@ // }else { // reservation.setTjType(String.valueOf(2)); // } - compPay=compPay.add(dwGrouping.getYsPrice()); - tramNum+=1; + compPay = compPay.add(dwGrouping.getYsPrice()); + tramNum += 1; reservation.setTjType(String.valueOf(1)); reservation.setTeamNo(teamNo); reservation.setYxts(dto.getYxts()); tjReservationService.save(reservation); - taskService.addTask(new TjReservationTask(reservation.getId(),DateUtil.between(new Date(),DateUtil.endOfDay(DateUtil.offsetDay(reservation.getReservationTime(),dto.getYxts())), DateUnit.MS))); + taskService.addTask(new TjReservationTask(reservation.getId(), DateUtil.between(new Date(), DateUtil.endOfDay(DateUtil.offsetDay(reservation.getReservationTime(), dto.getYxts())), DateUnit.MS))); } LambdaQueryWrapper<TjCompPay> wq0 = new LambdaQueryWrapper<>(); wq0.eq(TjCompPay::getCompId, dwDept.getDwId()); @@ -747,7 +855,7 @@ recordServiceOne.setCount(tramNum); recordServiceOne.setDifference(compPay); selectRecordService.updateById(recordServiceOne); - }else { + } else { TjTeamSelectRecord selectRecord = new TjTeamSelectRecord(); selectRecord.setCompId(dwDept.getDwId()); selectRecord.setPacId(dwDept.getId()); @@ -789,13 +897,23 @@ String teamNo = PinyinUtil.getFirstLetter(comp.getCnName(), "") + DateUtil.format(date, "yyMMddHHmmss"); //鍥綋浜烘暟鍚堣浠锋牸 - BigDecimal compPay=new BigDecimal("0.00"); + BigDecimal compPay = new BigDecimal("0.00"); String payTypeGlTjType = configService.selectConfigByKey("reservation_pay_type_gl_tj_type"); JSONObject parseObj = JSONUtil.parseObj(payTypeGlTjType); if (null != rightList && !rightList.isEmpty()) { + List<String> ids=new ArrayList<>(); + for (TjReservation reservation : rightList) { + + if(!ids.isEmpty() && ids.contains(reservation.getIdCard())){ + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return AjaxResult.error("姝よ韩浠借瘉鍙�: "+reservation.getIdCard()+" 閲嶅,璇锋牳瀵瑰悗涓婁紶!"); + + } + + ids.add(reservation.getIdCard()); TjDwGrouping dwGrouping = dwGroupingService.getById(reservation.getGroupingId()); @@ -817,29 +935,29 @@ reservation.setCompany(dwGrouping.getDwName()); reservation.setPayType(Long.valueOf(dwGrouping.getPayType())); LambdaQueryWrapper<SysDictData> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(SysDictData::getDictType,"reservation_pay_type"); - wrapper.eq(SysDictData::getDictValue,reservation.getPayType()); + wrapper.eq(SysDictData::getDictType, "reservation_pay_type"); + wrapper.eq(SysDictData::getDictValue, reservation.getPayType()); SysDictData dictData = dictDataService.getOne(wrapper); for (Map.Entry<String, Object> entry : parseObj.entrySet()) { String[] split = entry.getValue().toString().split("-"); - if (split[0].equals(String.valueOf(dictData.getDictCode()))){ + if (split[0].equals(String.valueOf(dictData.getDictCode()))) { reservation.setTjType(dictDataService.selectDictDataById(Long.valueOf(split[1])).getDictValue()); } } reservation.setPacId(dwDept.getId()); - compPay=compPay.add(dwGrouping.getYsPrice()); + compPay = compPay.add(dwGrouping.getYsPrice()); // reservation.setTjType(String.valueOf(1)); reservation.setTeamNo(teamNo); reservation.setYxts(dto.getYxts()); tjReservationService.save(reservation); taskService.addTask(new TjReservationTask(reservation.getId(), - DateUtil.between(date,DateUtil.endOfDay(DateUtil.offsetDay(reservation.getReservationTime(),dto.getYxts())), DateUnit.MS))); + DateUtil.between(date, DateUtil.endOfDay(DateUtil.offsetDay(reservation.getReservationTime(), dto.getYxts())), DateUnit.MS))); } LambdaQueryWrapper<TjCompPay> wq0 = new LambdaQueryWrapper<>(); - wq0.eq(TjCompPay::getCompId,dto.getDwId()); + wq0.eq(TjCompPay::getCompId, dto.getDwId()); wq0.eq(TjCompPay::getTeamNo, teamNo); TjCompPay one = compPayService.getOne(wq0); if (null != one) { @@ -860,13 +978,15 @@ compPayService.save(tjCompPay); } +// .filter(a-> null != a.getPacId()) + Map<String, List<TjReservation>> collect = rightList.stream().collect(Collectors.groupingBy(TjReservation::getPacId)); - if(!collect.isEmpty()){ + if (!collect.isEmpty()) { for (Map.Entry<String, List<TjReservation>> entry : collect.entrySet()) { LambdaQueryWrapper<TjTeamSelectRecord> wq = new LambdaQueryWrapper<>(); wq.eq(TjTeamSelectRecord::getTeamNo, teamNo); - wq.eq(TjTeamSelectRecord::getCompId,dto.getDwId()); + wq.eq(TjTeamSelectRecord::getCompId, dto.getDwId()); TjTeamSelectRecord recordServiceOne = selectRecordService.getOne(wq); if (null != recordServiceOne) { recordServiceOne.setPacId(entry.getKey()); @@ -876,7 +996,7 @@ recordServiceOne.setCount(entry.getValue().size()); recordServiceOne.setDifference(compPay); selectRecordService.updateById(recordServiceOne); - }else { + } else { TjTeamSelectRecord selectRecord = new TjTeamSelectRecord(); selectRecord.setCompId(dto.getDwId()); selectRecord.setPacId(entry.getKey()); diff --git a/ltkj-admin/src/test/java/zjhTest.java b/ltkj-admin/src/test/java/zjhTest.java index 8298b15..81e55b4 100644 --- a/ltkj-admin/src/test/java/zjhTest.java +++ b/ltkj-admin/src/test/java/zjhTest.java @@ -9,6 +9,7 @@ import com.ltkj.LtkjApplication; import com.ltkj.common.core.redis.RedisCache; import com.ltkj.common.utils.SecurityUtils; +import com.ltkj.common.utils.StringUtils; import com.ltkj.framework.config.MatchUtils; import com.ltkj.hosp.domain.DictHosp; import com.ltkj.hosp.domain.TjCustomer; @@ -33,6 +34,7 @@ import javax.annotation.Resource; import java.io.BufferedReader; import java.io.InputStreamReader; +import java.math.BigDecimal; import java.net.HttpURLConnection; import java.net.URL; import java.sql.Connection; @@ -46,6 +48,8 @@ import java.net.HttpURLConnection; import java.net.URL; import java.util.Properties; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * @Author: 瑗垮畨璺嘲绉戞妧鏈夐檺鍏徃/璧典匠璞� @@ -129,13 +133,54 @@ public static void main(String[] args) { -// System.out.println(DateUtil.date()); -// System.out.println(DateUtil.offsetMonth(DateUtil.date(),-1)); + + String s ="612129197611110029"; + + String ss ="13335337160"; + + boolean idCard = MatchUtils.isIdCard(s); + System.out.println(idCard); + + + System.out.println(MatchUtils.isMobileNO(ss)); + } + /** + * 灏嗙瀛﹁鏁版硶鏂囨湰杞崲鎴愬瓧绗︽枃鏈� + * @param number + * @return + */ + public static String translateToPlainStr(String number) { + + return getString(number); + } + + private static String getString(String number) { + if (null == number || number.trim().length() == 0) { + return number; + } + String regEx="^([\\+|-]?\\d+(.{0}|.\\d+))[Ee]{1}([\\+|-]?\\d+)$"; + // 缂栬瘧姝e垯琛ㄨ揪寮� + Pattern pattern = Pattern.compile(regEx); + // 蹇界暐澶у皬鍐欑殑鍐欐硶 + // Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE); + Matcher matcher = pattern.matcher(number); + // 瀛楃涓叉槸鍚︿笌姝e垯琛ㄨ揪寮忕浉鍖归厤 + boolean rs = matcher.matches(); + // 鍒ゆ柇鏄惁涓哄瓧绗︿覆鐨勭瀛﹁鏁版硶 + if(rs){ + // 绉戝璁℃暟娉曡浆鏁板瓧 + BigDecimal originValue = new BigDecimal(number); + System.out.println("鎵嬫満鍙蜂负 ==> " + originValue.toPlainString()); + // 鏁板瓧杞瓧绗︿覆 + return originValue.toPlainString(); + } + return number; + } - public static void forwardUrl(String targetUrl, String forwardUrl) throws Exception { + public static void forwardUrl(String targetUrl, String forwardUrl) throws Exception { // 鍒涘缓URL瀵硅薄 URL url = new URL(forwardUrl); diff --git a/ltkj-common/src/main/java/com/ltkj/common/excelConfig/ExcelUtils.java b/ltkj-common/src/main/java/com/ltkj/common/excelConfig/ExcelUtils.java index 8c49cf0..8ad42e9 100644 --- a/ltkj-common/src/main/java/com/ltkj/common/excelConfig/ExcelUtils.java +++ b/ltkj-common/src/main/java/com/ltkj/common/excelConfig/ExcelUtils.java @@ -2,6 +2,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; import org.apache.poi.hssf.usermodel.HSSFDataValidation; import org.apache.poi.hssf.usermodel.HSSFDateUtil; import org.apache.poi.hssf.usermodel.HSSFWorkbook; @@ -34,6 +35,7 @@ * 鍘熸枃閾炬帴锛堜笉瀹氭椂澧炲姞鏂板姛鑳斤級: https://zyqok.blog.csdn.net/article/details/121994504 */ @SuppressWarnings("unused") +@Slf4j public class ExcelUtils { private static final String XLSX = ".xlsx"; @@ -61,6 +63,7 @@ public static <T> List<T> readMultipartFile(MultipartFile mFile, Class<T> clazz) throws Exception { JSONArray array = readMultipartFile(mFile); + log.info("array鎵ц鍑烘潵鏄�:"+array); return getBeanList(array, clazz); } @@ -214,8 +217,9 @@ } // 鍏朵綑鎯呭喌鏍规嵁绫诲瀷璧嬪�� String fieldClassName = field.getType().getSimpleName(); + String name = field.getName(); try { - if ("String".equalsIgnoreCase(fieldClassName)) { + if ("String".equalsIgnoreCase(fieldClassName) || name.equals("phoe")) { field.set(t, val); } else if ("boolean".equalsIgnoreCase(fieldClassName)) { field.set(t, Boolean.valueOf(val)); @@ -298,6 +302,7 @@ return null; } in.close(); +// Workbook zhuanhuanexcel = zhuanhuanexcel(in); return book; } @@ -1005,4 +1010,43 @@ return s.trim(); } + private static Workbook zhuanhuanexcel(InputStream inputStream){ + Workbook workbook = null; + try { + workbook = WorkbookFactory.create(inputStream); + Sheet sheet = workbook.getSheetAt(0); // 鑾峰彇绗竴涓猄heet椤� + + for (Row row : sheet) { + for (Cell cell : row) { + // 妫�鏌ュ崟鍏冩牸鐨勭被鍨嬪苟杞崲涓烘枃鏈� + switch (cell.getCellType()) { + case STRING: + System.out.print(cell.getStringCellValue() + "\t"); + break; + case NUMERIC: + System.out.print(cell.getNumericCellValue() + "\t"); + break; + case BOOLEAN: + System.out.print(cell.getBooleanCellValue() + "\t"); + break; + case FORMULA: + System.out.print(cell.getCellFormula() + "\t"); + break; + default: break; + } + } + System.out.println(); // 鎹㈣锛岃〃绀轰竴琛屾暟鎹粨鏉� + } + } catch (IOException e) { + throw new RuntimeException(e); + } finally { + try { + workbook.close(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + return workbook; + } + } diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java b/ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java index d31baca..6ccf547 100644 --- a/ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java +++ b/ltkj-framework/src/main/java/com/ltkj/framework/config/MatchUtils.java @@ -2,6 +2,7 @@ import com.ltkj.common.utils.StringUtils; +import java.math.BigDecimal; import java.util.Calendar; import java.util.Collections; import java.util.HashMap; @@ -211,9 +212,9 @@ if (matches && idCardBuilder.length() == SECOND_ID_CARD_LENGTH) { int index = getIdCardCheckIndex(idCardBuilder); // 鑾峰彇浼犲叆韬唤璇佺殑妫�楠岀爜 - //String check = String.valueOf(idCardBuilder.charAt(idCardBuilder.length() - 1)); + String check = String.valueOf(idCardBuilder.charAt(idCardBuilder.length() - 1)); // 妫�楠岀爜鏍¢獙 - //return StringUtils.equalsIgnoreCase(CHECK_INDEX[index], check); + return StringUtils.equalsIgnoreCase(CHECK_INDEX[index], check); } return matches; } @@ -311,7 +312,7 @@ /** * @desc 璁$畻鍑烘牎楠岀爜鎵�鍦ㄦ牎楠岀爜鏁扮粍鐨勪笅鏍囧�� */ - private static int getIdCardCheckIndex(StringBuilder idCardBuilder) { + public static int getIdCardCheckIndex(StringBuilder idCardBuilder) { // 鍒ゆ柇浼犲叆鐨勬槸17浣嶈繕鏄�18浣嶈韩浠借瘉鍙� int length = idCardBuilder.length() == SECOND_ID_CARD_LENGTH ? idCardBuilder.length() - 1 : idCardBuilder.length(); // 璁$畻鍑烘牎楠岀爜 @@ -367,6 +368,34 @@ return nativePlace; } + /** + * 灏唀xcel琛ㄤ腑绉戝璁℃暟鏍煎紡鐨勬墜鏈哄彿杞垚瀛楃涓插舰寮� + * @param number + * @return + */ + public static String translateToPlainStr(String number) { + if (null == number || number.trim().length() == 0) { + return number; + } + String regEx="^([\\+|-]?\\d+(.{0}|.\\d+))[Ee]{1}([\\+|-]?\\d+)$"; + // 缂栬瘧姝e垯琛ㄨ揪寮� + Pattern pattern = Pattern.compile(regEx); + // 蹇界暐澶у皬鍐欑殑鍐欐硶 + // Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE); + Matcher matcher = pattern.matcher(number); + // 瀛楃涓叉槸鍚︿笌姝e垯琛ㄨ揪寮忕浉鍖归厤 + boolean rs = matcher.matches(); + // 鍒ゆ柇鏄惁涓哄瓧绗︿覆鐨勭瀛﹁鏁版硶 + if(rs){ + // 绉戝璁℃暟娉曡浆鏁板瓧 + BigDecimal originValue = new BigDecimal(number); +// System.out.println("鎵嬫満鍙蜂负 ==> " + originValue.toPlainString()); + // 鏁板瓧杞瓧绗︿覆 + return originValue.toPlainString(); + } + return number; + } + private static String getNameString(int code) { switch (code) { case 11: diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java b/ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java index 716effb..b3763b6 100644 --- a/ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java +++ b/ltkj-framework/src/main/java/com/ltkj/framework/config/SecurityConfig.java @@ -111,7 +111,7 @@ .antMatchers("/login", "/register", "/captchaImage","/cus/**","/getCaptchaConfigKey","/report/jmreport/**", "/sqlserver/getdata/**","/api/His/**","/system/config/zx","/system/config/gxxmpym","/system/report/savePdf", "/system/dyjl/saveGjddyjl","/system/dyjl/saveBlGjddyjl","/check/ceshi").permitAll() - .antMatchers("/common/uploadImgExe","/common/listExeVal").permitAll() + .antMatchers("/common/uploadImgExe","/common/listExeVal","/pacs/InvokeRisService/**").permitAll() .antMatchers("/check/dataSynchronizationApi").permitAll() // 闈欐�佽祫婧愶紝鍙尶鍚嶈闂� .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll() diff --git a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TestMapper.java b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TestMapper.java index 1971cac..9c0e3c5 100644 --- a/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TestMapper.java +++ b/ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TestMapper.java @@ -84,6 +84,13 @@ @Param("dockerId")String dockerId); @DataSource(value = DataSourceType.MASTER) + @Select("call tj_update_detatil_by_vi(#{tjnum,mode=IN}") + public void tjUpdateDetatilByVi(@Param("tjnum")String tjnum); + + + + + @DataSource(value = DataSourceType.MASTER) @Select("call tj_jc_update_detatil(#{cardId,mode=IN},#{orderId,mode=IN},#{tjnum,mode=IN},#{dockerId,mode=IN})") public void updateDetailByTjJcCall(@Param("cardId") String cardId, @Param("orderId")String orderId, @@ -227,6 +234,54 @@ @DataSource(value = DataSourceType.SLAVE_LIS) - @Select("SELECT * FROM vi_his_patientresult LIMIT 10") + @Select("SELECT * FROM vi_his_patientresult ") List<Map<String, Object>> getCcXZxYyLisJgSt(); + + + @DataSource(value = DataSourceType.SLAVE_LIS) + @Select("SELECT\n" + + " a.GH_PATIENTNO tjh,\n" + + " a.SAMPLEID tmh,\n" + + " NULL bbbh,\n" + + " NULL bbmc,\n" + + " a.SFXMID xmid,\n" + + " a.SFXMNAME xmmc,\n" + + " a.SENDDATE sqsj,\n" + + " a.SENDDOCTOR sqys,\n" + + " a.CHECKDATE jgsj,\n" + + " a.TXM sqdh,\n" + + " a.SENDDOCTOR sqrxm,\n" + + " '8001' sqrdm,\n" + + " a.AUDITDOCTOR shrxm,\n" + + " '宸插' jybgjg\n" + + " \n" + + "FROM\n" + + " vi_his_patientinfo a\n" + + "WHERE a.HOSPITALID='chkwyy' AND a.PATIENTTYPE=3 AND a.GH_PATIENTNO =#{tjNum}") + List<LtkjHysqd> getCcXZxYyLtkjHysqdByLisVi(String tjNum); + + + @DataSource(value = DataSourceType.SLAVE_LIS) + @Select("SELECT\n" + + " a.SAMPLEID tmh,\n" + + " a.ITEMCODE jcxmid,\n" + + " a.ITEMNAME jcxm,\n" + + " NULL tdh,\n" + + " a.RESULT jyjg,\n" + + " a.UNIT jgdw,\n" + + " a.RANGEDOWN fwzdz,\n" + + " a.RANGEUP fwzgz,\n" + + " CONCAT(a.RANGEDOWN,'-',a.RANGEUP) fwz,\n" + + " b.CHECKDATE jysj,\n" + + " b.CHECKER jyys,\n" + + " b.AUDITDATE shsj,\n" + + " NULL shys,\n" + + " b.AUDITDOCTOR shysmc,\n" + + " NULL tpurl,\n" + + " a.JUDGE ycbz\n" + + "FROM\n" + + " vi_his_patientresult a JOIN vi_his_patientinfo b ON b.SAMPLEID=a.SAMPLEID\n" + + "WHERE b.HOSPITALID='chkwyy' AND b.PATIENTTYPE=3 AND\n" + + " a.SAMPLEID = #{tmh}") + List<LtkjHybgd> getCcXZxYyLtkjHybgdByLisVi(String tmh); } -- Gitblit v1.8.0