ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysLoginController.java
@@ -100,7 +100,7 @@ if (loginBody.getMobile()) { token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getType(), loginBody.getCode(), loginBody.getUuid(),hospId); } else { token = loginService.Cuslogin(loginBody.getUsername(), loginBody.getPassword(), loginBody.getType(), loginBody.getCode(), loginBody.getUuid()); token = loginService.Cuslogin(loginBody.getUsername(),loginBody.getSfzh(),loginBody.getPassword(), loginBody.getType(), loginBody.getCode(), loginBody.getUuid()); LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); wq.eq(TjCustomer::getCusPhone, loginBody.getUsername()); TjCustomer tjCustomer = customerService.getOne(wq); ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -1462,7 +1462,11 @@ } 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()); } ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -1040,11 +1040,11 @@ } tjReservation.setIsExpire(1); tjReservationService.updateById(tjReservation); if (null != tjReservation.getTeamNo() && tjOrder.getTjType().equals("1")) { tjOrder.setTjType("1"); } else if (tjOrder.getTjType().equals("2")) { tjOrder.setTjType("2"); } // if (null != tjReservation.getTeamNo() && tjOrder.getTjType().equals("1")) { // tjOrder.setTjType("1"); // } else if (tjOrder.getTjType().equals("2")) { // tjOrder.setTjType("2"); // } } if (StringUtil.isBlank(tjOrder.getFirmId())) { tjOrder.setFirmId("0"); @@ -1506,6 +1506,10 @@ List<TbTransition> list = tbTransitionService.list(wrapper); BigDecimal zongjia = new BigDecimal("0.0"); String tjfhisxmbm = configService.selectConfigByKey("tjfhisxmbm"); String lycdzjhmxj = configService.selectConfigByKey("lycdzjhmxj"); for (TbTransition transition : list) { LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>(); wrapper1.eq(TjProject::getProId, transition.getProId()); @@ -1530,7 +1534,24 @@ array.add(obj); zongjia = zongjia.add(allPrice); } map.put("feiYongInfoList", array); if(StringUtil.isNotBlank(lycdzjhmxj) && lycdzjhmxj.equalsIgnoreCase("N")){ map.put("feiYongInfoList", array); }else { JSONArray zjarray = JSONUtil.createArray(); JSONObject obj = JSONUtil.createObj(); int sl = 1; obj.putOpt("danJia", zongjia); obj.putOpt("jieSuanJe", zongjia); obj.putOpt("shuliang", sl); obj.putOpt("zhiXingKs", "100"); obj.putOpt("zhiXingKsMc","体检中心"); obj.putOpt("shouFeiXmId", tjfhisxmbm); obj.putOpt("shouFeiXmMc", "体检费"); zjarray.add(obj); map.put("feiYongInfoList", zjarray); } log.info("调用His接口前 收费总价:{}", zongjia.toString()); String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/creatCostInfo", map); @@ -3214,13 +3235,14 @@ TjOrder order = tjOrderService.getOrderByTjNum(tjNum); if (null != order) { // String payByTjNum = tjOrderService.isPayByTjNum(String.valueOf(order.getOrderId())); // if (null != payByTjNum) { // return AjaxResult.error("该用户已收费不可撤销签到!"); // } if (null != order.getFinishTime()) return AjaxResult.error("该人员已签离,不可撤销!!!"); Boolean useLisAndPacsRegister = lisApiMethod.isUseLisAndPacsRegister(order); String username = SecurityUtils.getUsername(); LambdaQueryWrapper<TjCustomer> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjCustomer::getCusId, order.getUserId()); TjCustomer tjCustomer = tjCustomerService.getOne(wrapper); String s = configService.selectConfigByKey("is_request_common_his_api"); // if (null != s && s.equals("Y") && "2".equals(order.getTjType())) { @@ -3234,9 +3256,7 @@ wrapper1.eq(TjFlowingWater::getOrderId, order.getOrderId()); wrapper1.orderByDesc(TjFlowingWater::getJxbz); List<TjFlowingWater> list = tjFlowingWaterService.list(wrapper1); LambdaQueryWrapper<TjCustomer> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(TjCustomer::getCusId, order.getUserId()); TjCustomer tjCustomer = tjCustomerService.getOne(wrapper); for (TjFlowingWater water : list) { if (water.getPayStasus() == 0L) { @@ -3246,11 +3266,18 @@ } } log.info("工号为: "+username+" 的用户即将撤销 体检号为:"+tjNum+" 的体检记录;" ); AjaxResult error = zuofeiWeiZhifu(weizhifu, tjCustomer, apiUrl, hospbm, order, true, tjNum); if (error != null && !error.get("code").toString().equals("200")) return error; if (error != null && !error.get("code").toString().equals("200")){ log.info("工号为: "+username+" 的用户正在撤销 体检号为:"+tjNum+" 并且未支付的体检记录;" ); return error; } AjaxResult error1 = zuofeiYiZhifu(yizhifu, tjCustomer, order, apiUrl, hospbm, false, tjNum); if (error1 != null && !error.get("code").toString().equals("200")) return error1; if (error1 != null && !error.get("code").toString().equals("200")) { log.info("工号为: "+username+" 的用户正在撤销 体检号为:"+tjNum+" 并且已支付的体检记录;" ); return error1; } } else { tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); @@ -3258,10 +3285,8 @@ tjFlowingWaterService.deleteTjFlowingWaterByOrderId(String.valueOf(order.getOrderId())); transitionService.deletedTbTransitionByTjNum(tjNum); ycxmService.delOrderYcXmJyByTjh(tjNum); TjCustomer customer = tjCustomerService.getById(order.getUserId()); customer.setCardId("0"); tjCustomerService.updateById(customer); tjCustomer.setCardId("0"); tjCustomerService.updateById(tjCustomer); xdPictureService.deleteTjXdPictureBytjNum(tjNum); tjSamplingMapper.deleteByTjNumAndCusId(tjNum, order.getUserId()); } @@ -3471,11 +3496,9 @@ public AjaxResult revokeTjOrderByTjh(@RequestParam @ApiParam(value = "体检号") String tjNum) { TjOrder order = tjOrderService.getOrderByTjNum(tjNum); String username = SecurityUtils.getUsername(); log.info("工号为: "+username+" 的用户即将强制撤销 体检号为:"+tjNum+" 的体检记录;" ); if (null != order) { // String payByTjNum = tjOrderService.isPayByTjNum(String.valueOf(order.getOrderId())); // if (null != payByTjNum) { // return AjaxResult.error("该用户已收费不可撤销签到!"); // } //这里删除的是这个人所有项目包括补录项目 tjOrderService.deleteTjOrderByOrderId(order.getOrderId()); tjOrderDetailService.deleteTjOrderDetailByOrderDetailId(String.valueOf(order.getOrderId())); @@ -3533,7 +3556,10 @@ } TjOrder order = tjOrderService.getOrderByTjNum(dto.getTjh()); String username = SecurityUtils.getUsername(); if (null != order) { log.info("工号为: "+username+" 的用户即将撤销 体检号为:"+dto.getTjh()+"补录单号为: " + dto.getBldhs()+ " 的 补录体检记录;" ); String configByKey = configService.selectConfigByKey("sfkqdyhis"); if (null != configByKey && configByKey.equals("Y")) { log.info("dto的数据是" + JSONUtil.toJsonStr(dto)); @@ -3595,10 +3621,18 @@ wrapper.eq(TjCustomer::getCusId, order.getUserId()); TjCustomer tjCustomer = tjCustomerService.getOne(wrapper); AjaxResult error = zuofeiWeiZhifu(weizhifu, tjCustomer, apiUrl, hospbm, order, true, dto.getTjh()); if (error != null && !error.get("code").toString().equals("200")) return error; if (error != null && !error.get("code").toString().equals("200")) { log.info("工号为: "+username+" 的用户正在撤销 体检号为:"+dto.getTjh()+"补录单号为: " + dto.getBldhs()+ " 并且未支付的补录体检记录;" ); return error; } AjaxResult error1 = zuofeiYiZhifu(yizhifu, tjCustomer, order, apiUrl, hospbm, false, dto.getTjh()); if (error1 != null && !error.get("code").toString().equals("200")) return error1; if (error1 != null && !error.get("code").toString().equals("200")) { log.info("工号为: "+username+" 的用户正在撤销 体检号为:"+dto.getTjh()+"补录单号为: " + dto.getBldhs()+ " 并且已支付的补录体检记录;" ); return error1; } return AjaxResult.success(); } else { try { ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjProjectController.java
@@ -27,6 +27,7 @@ import jodd.util.StringUtil; import lombok.extern.slf4j.Slf4j; import net.sf.ehcache.constructs.scheduledrefresh.OverseerJob; import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.session.SqlSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; @@ -73,6 +74,8 @@ private RedisCache redisCache; @Autowired private TjProjectXgjlService xgjlService; @Autowired private TjBzProService bzProService; @GetMapping("/getTjHyBgList") @@ -761,5 +764,52 @@ } @PostMapping("/addOrupdateProByBz") @ApiOperation(value = "新增或修改所选项目的对应病种信息") @Transactional public AjaxResult addOrupdateProByBz(@ApiParam(value = "项目ID集合")@RequestParam(required = false) List<String> proIds, @ApiParam(value = "病种ID")@RequestParam(required = false)String bz) { try { if(null != proIds && !proIds.isEmpty()){ bzProService.remove(new LambdaQueryWrapper<>(TjBzPro.class).eq(TjBzPro::getBzId,bz)); for (String proId : proIds) { TjBzPro bzPro=new TjBzPro(); bzPro.setBzId(Long.valueOf(bz)); bzPro.setProId(Long.valueOf(proId)); bzProService.save(bzPro); } } return AjaxResult.success(); } catch (Exception e) { throw new RuntimeException(e); } } @GetMapping("/getProByBz") @ApiOperation(value = "查询病种对应项目") public AjaxResult getProByBz(@ApiParam(value = "病种ID")@RequestParam(required = false)String bz) { try { List<TjBzPro> list = bzProService.list(new LambdaQueryWrapper<>(TjBzPro.class).eq(TjBzPro::getBzId, bz)); return AjaxResult.success(list); } catch (Exception e) { throw new RuntimeException(e); } } @DeleteMapping("/delProByBz") @ApiOperation(value = "删除病种对应项目") public AjaxResult delProByBz(@ApiParam(value = "病种ID")@RequestParam(required = false)String bz, @ApiParam(value = "项目ID")@RequestParam(required = false)String proId) { try { bzProService.remove(new LambdaQueryWrapper<>(TjBzPro.class).eq(TjBzPro::getBzId,bz).eq(TjBzPro::getProId,proId)); return AjaxResult.success(); } catch (Exception e) { throw new RuntimeException(e); } } } ltkj-common/src/main/java/com/ltkj/common/core/domain/model/LoginBody.java
@@ -24,6 +24,10 @@ @ApiModelProperty(value = "密码") private String password; @ApiModelProperty(value = "密码") private String sfzh; /** * 验证码 */ ltkj-framework/src/main/java/com/ltkj/framework/web/service/SysLoginService.java
@@ -231,7 +231,7 @@ * @param password 密码 * @return 结果 */ public String Cuslogin(String username, String password, Boolean type,String code,String uuid) { public String Cuslogin(String username,String sfzh, String password, Boolean type,String code,String uuid) { String aSwitch = configService.selectConfigByKey("captcha_switch"); if(null !=aSwitch && aSwitch.equalsIgnoreCase("Y")){ @@ -251,7 +251,7 @@ } LoginUser loginUser = loadCusByCusname(username, password); LoginUser loginUser = loadCusByCusname(username,sfzh, password); if (loginUser == null) { return "用户名或密码错误"; } @@ -273,11 +273,12 @@ return tokenService.createToken(loginUser); } public LoginUser loadCusByCusname(String username, String password) { public LoginUser loadCusByCusname(String username,String sfzh, String password) { LambdaQueryWrapper<TjCustomer> wq = new LambdaQueryWrapper<>(); wq.eq(TjCustomer::getCusPhone, username); wq.eq(TjCustomer::getCusIdcard, sfzh); List<TjCustomer> customerList = customerService.list(wq); if (null == customerList || customerList.size() == 0) { if (null == customerList || customerList.isEmpty()) { //throw new ServiceException("登录用户:" + username + " 不存在"); throw new ServiceException("账号或密码错误,请检查!"); } ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjBzPro.java
New file @@ -0,0 +1,48 @@ package com.ltkj.hosp.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.ltkj.common.core.domain.BaseEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import java.io.File; /** * ClassName: TjBzPro <br/> * Description: <br/> * date: 2025/5/27 17:55<br/> * * @author zjh<br /> */ @Data @NoArgsConstructor @AllArgsConstructor @ApiModel(value = "体检项目对应病种对象") public class TjBzPro extends BaseEntity { /** * 主键id */ @TableId(type = IdType.AUTO) @JsonSerialize(using = ToStringSerializer.class) private Long id; @ApiModelProperty(value = "项目ID") @JsonSerialize(using = ToStringSerializer.class) private Long proId; @ApiModelProperty(value = "病种ID") @JsonSerialize(using = ToStringSerializer.class) private Long bzId; } ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjBzProMapper.java
New file @@ -0,0 +1,16 @@ package com.ltkj.hosp.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ltkj.hosp.domain.TjBzPro; import org.apache.ibatis.annotations.Mapper; /** * ClassName: TjBzProMapper <br/> * Description: <br/> * date: 2025/5/28 16:15<br/> * * @author zjh<br /> */ @Mapper public interface TjBzProMapper extends BaseMapper<TjBzPro> { } ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjBzProService.java
New file @@ -0,0 +1,15 @@ package com.ltkj.hosp.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ltkj.hosp.domain.TjBzPro; /** * ClassName: TjBzProService <br/> * Description: <br/> * date: 2025/5/28 16:15<br/> * * @author zjh<br /> */ public interface TjBzProService extends IService<TjBzPro> { } ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjBzProServiceImpl.java
New file @@ -0,0 +1,18 @@ package com.ltkj.hosp.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ltkj.hosp.domain.TjBzPro; import com.ltkj.hosp.mapper.TjBzProMapper; import com.ltkj.hosp.service.TjBzProService; import org.springframework.stereotype.Service; /** * ClassName: TjBzProServiceImpl <br/> * Description: <br/> * date: 2025/5/28 16:16<br/> * * @author zjh<br /> */ @Service public class TjBzProServiceImpl extends ServiceImpl<TjBzProMapper, TjBzPro> implements TjBzProService { } ltkj-hosp/src/main/resources/mapper/DictCompMapper.xml
@@ -83,7 +83,14 @@ valid_time, wbm, deleted, count_num count_num, dwlx, ssdq, lsgx, jjlx, qygm, hyfl, fxpg from dict_comp </sql> @@ -243,4 +250,4 @@ #{drugManufacturerId} </foreach> </delete> </mapper> </mapper> ltkj-hosp/src/main/resources/mapper/hosp/TjOrderMapper.xml
@@ -328,8 +328,8 @@ <delete id="deleteTjOrderByOrderId" parameterType="Long"> delete from tj_order update tj_order set deleted = 1 where order_id = #{orderId} </delete>