ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisApiMethod.java
@@ -20,10 +20,7 @@ import javax.annotation.Resource; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import java.util.*; import java.util.stream.Collectors; /* @Authot:zjh @@ -77,22 +74,11 @@ //对接his总接口 注册挂号接诊申请单操作 @Logger public AjaxResult HisApiMethods(TjCustomer customer, Long orderId) { String jzh=null; try { TjOrder tjOrder = orderService.getById(orderId); Date dates = new Date(); final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); // AjaxResult result = controller.Outpincreateapply(customer); // String result1 = getAjaxResult(result); // JSONObject object = getJSONObject(result1); // String code = object.getStr("ResultCode"); // if (code.equals("0")) { // JSONArray resultDatass = object.getJSONArray("ResultData"); // Map<String, Object> resultData = (Map<String, Object>) resultDatass.get(0); // if (null != resultData && resultData.size() > 0) { // String pationid = resultData.get("PationId").toString(); // if (null != pationid) { // customer.setPationId(pationid); // customerService.updateById(customer); OutpinregapplyDto outpinregapplyDto = new OutpinregapplyDto(); outpinregapplyDto.setPationid(customer.getPationId()); outpinregapplyDto.setSqysbm("00029"); @@ -113,6 +99,7 @@ if (null != resultDatas && resultDatas.size() > 0) { Map<String, Object> resultDatasss = (Map<String, Object>) resultDatas.get(0); String hisRegistrationId = resultDatasss.get("his_registration_id").toString(); jzh=hisRegistrationId; //保存挂号入参出参 resultDatasss.put("cardId",hisRegistrationId); JSONObject object4 = JSONUtil.parseObj(resultDatasss); @@ -160,14 +147,13 @@ dto.setSfqj("0"); dto.setJzqk(9); controller.Outpinimpapply(dto); return tijianshenqing(customer, date,tjOrder.getCardId()); } // } // } // } return AjaxResult.error(); } catch (Exception e) { e.printStackTrace(); return AjaxResult.error().put("jzh",jzh); } } @@ -288,12 +274,11 @@ LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); tree.setXmfl(ejjfxmzd.getYjkmdm()); } tree.setCreateTime(DateUtil.date()); ltkjJianchajianyanTreeService.save(tree); } } } //门诊检查申请 OutpinexamapplyDto outpinexamapplyDto = new OutpinexamapplyDto(); @@ -408,6 +393,7 @@ LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); tree.setXmfl(ejjfxmzd.getYjkmdm()); } tree.setCreateTime(DateUtil.date()); ltkjJianchajianyanTreeService.save(tree); } // Map<String, Object> map = object5.getJSONObject("ResultData"); @@ -532,6 +518,7 @@ LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); tree.setXmfl(ejjfxmzd.getYjkmdm()); } tree.setCreateTime(DateUtil.date()); ltkjJianchajianyanTreeService.save(tree); } // Map<String, Object> map = mzylyzsq3.getJSONObject("ResultData"); @@ -661,9 +648,9 @@ result2 = getAjaxResult(ajaxResult); object1 = getJSONObject(result2); code1 = object1.getStr("ResultCode"); // if (!code1.equals("0")) { // return false; // } if (code1.equals("0")) { orderService.delHuoQuZlsqdh(order.getCardId()); } } } @@ -693,6 +680,186 @@ } //作废补录项目 public boolean ZfBlXm(List<String> bldhs, TjOrder order) { if(null !=bldhs && bldhs.size()>0){ try { for (String bldh : bldhs) { List<String> jcsqdh = orderService.getHuoQuBlJcsqdh(order.getCardId(),bldh); List<String> jysqdh = orderService.getHuoQuBlJysqdh(order.getCardId(),bldh); List<String> zlsqdh = orderService.getHuoQuBlZlsqdh(order.getCardId(),bldh); List<String> cfhs = cfService.getCfBlhs(order.getCardId(),bldh); //2.1.6.5 作废门诊检查申请 if (null != jcsqdh && jcsqdh.size()>0) { for (String s : jcsqdh) { AjaxResult result = controller.Outpindelexamapply(order.getCardId(), "00029", s); String result1 = getAjaxResult(result); JSONObject object = getJSONObject(result1); String code = object.getStr("ResultCode"); if (code.equals("0")) { orderService.delHuoQuBlJcsqdh(order.getCardId(),bldh); } } } //2.1.6.3 作废门诊检验申请 AjaxResult ajaxResult = null; String result2 = null; JSONObject object1 = null; String code1 = null; if (null != jysqdh && jysqdh.size()>0) { for (String s : jysqdh) { ajaxResult = controller.Outpindeltestapply(order.getCardId(), "00029", s); result2 = getAjaxResult(ajaxResult); object1 = getJSONObject(result2); code1 = object1.getStr("ResultCode"); if (code1.equals("0")) { orderService.delHuoQuBlJysqdh(order.getCardId(),bldh); } } } //2.1.6.9 作废门诊治疗处置申请 if (null != zlsqdh && zlsqdh.size()>0) { for (String s : zlsqdh) { ajaxResult = controller.Outpintdelreatapply(order.getCardId(), "00029", s); result2 = getAjaxResult(ajaxResult); object1 = getJSONObject(result2); code1 = object1.getStr("ResultCode"); if (code1.equals("0")) { orderService.delHuoQuZlsqdh(order.getCardId(),bldh); } } } //作废药品申请 if(null !=cfhs && cfhs.size()>0){ for (String cfh : cfhs) { AjaxResult result = controller.Outpindelmedicapply(order.getCardId(), "00029", cfh); String result1 = getAjaxResult(result); JSONObject object = getJSONObject(result1); String code = object.getStr("ResultCode"); if(null !=code && code.equals("200")){ cfService.delCfByCardId(cfh); } } } return true; } } catch (Exception e) { e.printStackTrace(); return false; } } return true; } //退费后取消接诊作废申请单等操作 public boolean ZfHisApiMethod(String jzh) { Date dates = new Date(); final String date = DateUtil.format(dates, "yyyy-MM-dd HH:mm:ss"); List<String> jcsqdh = orderService.getHuoQuJcsqdh(jzh); List<String> jysqdh = orderService.getHuoQuJysqdh(jzh); List<String> zlsqdh = orderService.getHuoQuZlsqdh(jzh); List<String> cfhs = cfService.getCfhs(jzh); //2.1.6.5 作废门诊检查申请 if (null != jcsqdh && jcsqdh.size()>0) { for (String s : jcsqdh) { AjaxResult result = controller.Outpindelexamapply(jzh, "00029", s); String result1 = getAjaxResult(result); JSONObject object = getJSONObject(result1); String code = object.getStr("ResultCode"); if (code.equals("0")) { orderService.delHuoQuJcsqdh(jzh); } // else { // return false; // } } } //2.1.6.3 作废门诊检验申请 AjaxResult ajaxResult = null; String result2 = null; JSONObject object1 = null; String code1 = null; if (null != jysqdh && jysqdh.size()>0) { for (String s : jysqdh) { ajaxResult = controller.Outpindeltestapply(jzh, "00029", s); result2 = getAjaxResult(ajaxResult); object1 = getJSONObject(result2); code1 = object1.getStr("ResultCode"); if (code1.equals("0")) { orderService.delHuoQuJysqdh(jzh); } // else { // return false; // } } } //2.1.6.9 作废门诊治疗处置申请 if (null != zlsqdh && zlsqdh.size()>0) { for (String s : zlsqdh) { ajaxResult = controller.Outpintdelreatapply(jzh, "00029", s); result2 = getAjaxResult(ajaxResult); object1 = getJSONObject(result2); code1 = object1.getStr("ResultCode"); if (code1.equals("0")) { orderService.delHuoQuZlsqdh(jzh); } } } //作废药品申请 if(null !=cfhs && cfhs.size()>0){ for (String cfh : cfhs) { AjaxResult result = controller.Outpindelmedicapply(jzh, "00029", cfh); String result1 = getAjaxResult(result); JSONObject object = getJSONObject(result1); String code = object.getStr("ResultCode"); if(null !=code && code.equals("200")){ cfService.delCfByCardId(cfh); } } } //2.1.3 门诊医生取消接诊 ajaxResult = controller.Outpinunconapply(jzh, date, "00029"); result2 = getAjaxResult(ajaxResult); object1 = getJSONObject(result2); code1 = object1.getStr("ResultCode"); // if (!code1.equals("0")) { // return false; // } return true; } //获取门诊结算记录 @Transactional public void getHisMzJsJl(TjOrder order) { ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
@@ -1037,6 +1037,7 @@ LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); tree.setXmfl(ejjfxmzd.getYjkmdm()); } tree.setCreateTime(dates); ltkjJianchajianyanTreeService.save(tree); } @@ -1098,6 +1099,7 @@ LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); tree.setXmfl(ejjfxmzd.getYjkmdm()); } tree.setCreateTime(dates); ltkjJianchajianyanTreeService.save(tree); } } @@ -1145,6 +1147,7 @@ cf.setPj(String.valueOf(detilsDto.getPj())); cf.setJj(String.valueOf(detilsDto.getJj())); cf.setCreateTime(new Date()); cf.setJxbz(jxbz); cfService.save(cf); } } @@ -1206,6 +1209,7 @@ LtkjEjjfxmzd ejjfxmzd = ltkjEjjfxmzdService.getOne(wrapper3); tree.setXmfl(ejjfxmzd.getYjkmdm()); } tree.setCreateTime(dates); ltkjJianchajianyanTreeService.save(tree); } } ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java
@@ -34,6 +34,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ArrayUtils; import org.apache.ibatis.jdbc.Null; import org.springframework.beans.factory.annotation.Autowired; @@ -64,6 +65,7 @@ @RestController @RequestMapping("/system/dept") @Api(tags = "科室部门信息") @Slf4j public class SysDeptController extends BaseController implements Serializable { @Resource private ISysDeptService deptService; @@ -1441,8 +1443,10 @@ // if (cateFeeAll.compareTo(fyhj) != 0){ // return AjaxResult.error("存在未缴费项目"); // } int sfsf = ltkjJianchajianyanTreeService.getSfsfByCardId(tjOrder.getCardId()); if (sfsf > 0){ log.error("路泰科技--- "+DateUtil.date()+" 存在未缴费项目的 就诊号 "+tjOrder.getCardId()+" 体检号 "+tjOrder.getTjNumber()); return AjaxResult.error("存在未缴费项目"); } @@ -1460,6 +1464,7 @@ tjOrderDetailLambdaUpdateWrapper.in(TjOrderDetail::getOrderDetailId,detailIds); detailService.update(tjOrderDetailLambdaUpdateWrapper); }else { log.error("路泰科技--- "+DateUtil.date()+" 未查询到缴费记录的 就诊号 "+tjOrder.getCardId()+" 体检号 "+tjOrder.getTjNumber()); return AjaxResult.error("未查询到缴费记录"); } // } ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -1076,6 +1076,10 @@ AjaxResult result = hisApiMethod.HisApiMethods(tjCustomer, tjOrder.getOrderId()); if (!result.get("code").toString().equals("200")) { TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); Object jzh = result.get("jzh"); if(null !=jzh && null !=jzh.toString()){ hisApiMethod.ZfHisApiMethod(jzh.toString()); } return AjaxResult.error("挂号失败!" + result.get("msg").toString()); } } else { @@ -2834,6 +2838,12 @@ if (advIds.containsAll(dto.getBldhs()) && cateFeeAll.compareTo(BigDecimal.ZERO) != 0) { return AjaxResult.error("改项目已缴费不可撤销!!!"); } } boolean b = hisApiMethod.ZfBlXm(dto.getBldhs(), order); if(!b){ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return AjaxResult.error("撤销失败,调用作废出现失败"); } } for (String bldh : dto.getBldhs()) { ltkj-admin/src/main/resources/application.yml
@@ -5,4 +5,4 @@ #xiaochengxu 泾川县部署小程序环境使用 spring: profiles: active: dev active: prod ltkj-hosp/src/main/java/com/ltkj/hosp/domain/LtkjJianchajianyanTree.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.util.Date; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -69,6 +70,8 @@ //加项标志 private String jxbz; private Date createTime; @TableField(exist = false) private static final long serialVersionUID = 1L; } ltkj-hosp/src/main/java/com/ltkj/hosp/domain/TjCf.java
@@ -31,6 +31,7 @@ private String dcjl; private String pj; private String jj; private String jxbz; private Date createTime; } ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/LtkjJianchajianyanTreeMapper.java
@@ -26,7 +26,7 @@ "LEFT JOIN ( SELECT a.adv_id ,SUM(a.catefee) hj FROM ltkj_querypay a WHERE a.ghxh=#{cardId} GROUP BY" + " CASE WHEN a.adv_id IS NOT NULL AND LOCATE( '_', a.adv_id )> 0 THEN SUBSTRING_INDEX( a.adv_id, '_',- 1 ) ELSE a.adv_id END) cb ON\n" + "\t\tzb.sqdh=(case when cb.adv_id is not null and LOCATE('_',cb.adv_id)>0 then SUBSTRING_INDEX(cb.adv_id,'_',-1) else cb.adv_id end) \n" + "WHERE zb.hj <> cb.hj or cb.adv_id is null;") "WHERE zb.hj <> cb.hj or cb.adv_id is null") int getSfsfByCardId(String cardId); } ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjCfMapper.java
@@ -7,6 +7,7 @@ import com.ltkj.hosp.domain.TjCf; import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import javax.annotation.Resource; @@ -18,7 +19,9 @@ @Delete("DELETE FROM tj_cf WHERE cfh=#{cfh}") void delCfByCardId(String cfh); @Select("SELECT a.cfh FROM tj_cf a WHERE a.card_id=#{cardId}") List<String> getCfhs(String cardId); @Select("SELECT a.cfh FROM tj_cf a WHERE a.card_id=#{cardId} and a.jxbz=#{bldh}") List<String> getCfBlhs(@Param("cardId") String cardId,@Param("bldh") String bldh); } ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderMapper.java
@@ -249,4 +249,19 @@ List<Map<String, Object>> getTjTongJiJieKou(Map<String, Object> map); @Select("SELECT a.sqdh FROM ltkj_jianchajianyan_tree a WHERE a.card_id=#{cardId} and a.jxbz=#{bldh} AND a.type='检查' GROUP BY a.sqdh") List<String> getHuoQuBlJcsqdh(@Param("cardId") String cardId,@Param("bldh") String bldh); @Delete("DELETE FROM ltkj_jianchajianyan_tree WHERE card_id=#{cardId} and jxbz=#{bldh} AND type='检查'") Boolean delHuoQuBlJcsqdh(@Param("cardId")String cardId, @Param("bldh")String bldh); @Select("SELECT a.sqdh FROM ltkj_jianchajianyan_tree a WHERE a.card_id=#{cardId} and a.jxbz=#{bldh} AND a.type='检验' GROUP BY a.sqdh") List<String> getHuoQuBlJysqdh(@Param("cardId")String cardId,@Param("bldh") String bldh); @Delete("DELETE FROM ltkj_jianchajianyan_tree WHERE card_id=#{cardId} and jxbz=#{bldh} AND type='检验'") Boolean delHuoQuBlJysqdh(@Param("cardId")String cardId,@Param("bldh") String bldh); @Select("SELECT a.sqdh FROM ltkj_jianchajianyan_tree a WHERE a.card_id=#{cardId} and a.jxbz=#{bldh} AND a.type='处置' GROUP BY a.sqdh") List<String> getHuoQuBlZlsqdh(@Param("cardId")String cardId,@Param("bldh") String bldh); @Delete("DELETE FROM ltkj_jianchajianyan_tree WHERE card_id=#{cardId} and jxbz=#{bldh} AND type='处置'") Boolean delHuoQuZlsqdh(@Param("cardId")String cardId,@Param("bldh") String bldh); } ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderService.java
@@ -149,4 +149,13 @@ Boolean delHuoQuZlsqdh(String cardId); List<Map<String, Object>> getTjTongJiJieKou(Map<String, Object> map); List<String> getHuoQuBlJcsqdh(String cardId, String bldh); Boolean delHuoQuBlJcsqdh(String cardId, String bldh); List<String> getHuoQuBlJysqdh(String cardId, String bldh); Boolean delHuoQuBlJysqdh(String cardId, String bldh); List<String> getHuoQuBlZlsqdh(String cardId, String bldh); Boolean delHuoQuZlsqdh(String cardId, String bldh); } ltkj-hosp/src/main/java/com/ltkj/hosp/service/TjCfService.java
@@ -14,4 +14,6 @@ void delCfByCardId(String cfh); List<String> getCfhs(String cardId); List<String> getCfBlhs(String cardId, String bldh); } ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjCfServiceImpl.java
@@ -27,4 +27,9 @@ public List<String> getCfhs(String cardId) { return mapper.getCfhs(cardId); } @Override public List<String> getCfBlhs(String cardId, String bldh) { return mapper.getCfBlhs(cardId,bldh); } } ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderServiceImpl.java
@@ -318,4 +318,34 @@ public List<Map<String, Object>> getTjTongJiJieKou(Map<String, Object> map) { return tjOrderMapper.getTjTongJiJieKou(map); } @Override public List<String> getHuoQuBlJcsqdh(String cardId, String bldh) { return tjOrderMapper.getHuoQuBlJcsqdh(cardId,bldh); } @Override public Boolean delHuoQuBlJcsqdh(String cardId, String bldh) { return tjOrderMapper.delHuoQuBlJcsqdh(cardId,bldh); } @Override public List<String> getHuoQuBlJysqdh(String cardId, String bldh) { return tjOrderMapper.getHuoQuBlJysqdh(cardId,bldh); } @Override public Boolean delHuoQuBlJysqdh(String cardId, String bldh) { return tjOrderMapper.delHuoQuBlJysqdh(cardId,bldh); } @Override public List<String> getHuoQuBlZlsqdh(String cardId, String bldh) { return tjOrderMapper.getHuoQuBlZlsqdh(cardId,bldh); } @Override public Boolean delHuoQuZlsqdh(String cardId, String bldh) { return tjOrderMapper.delHuoQuZlsqdh(cardId,bldh); } }