| | |
| | | package com.ltkj.web.controller.system; |
| | | |
| | | import java.io.*; |
| | | import java.math.BigDecimal; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.json.JSONArray; |
| | | import cn.hutool.json.JSONObject; |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | |
| | | 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; |
| | |
| | | @RestController |
| | | @RequestMapping("/system/dept") |
| | | @Api(tags = "科室部门信息") |
| | | @Slf4j |
| | | public class SysDeptController extends BaseController implements Serializable { |
| | | @Resource |
| | | private ISysDeptService deptService; |
| | |
| | | private ITjFlowingWaterService tjFlowingWaterService; |
| | | @Autowired |
| | | private HisApiGetMethodService hisApiGetMethodService; |
| | | @Autowired |
| | | private LtkjJianchajianyanTreeService ltkjJianchajianyanTreeService; |
| | | |
| | | /** |
| | | * 该体检科室下客户列表显示接口 |
| | |
| | | * @param tjNumber |
| | | * @return |
| | | */ |
| | | @Transactional |
| | | // @Transactional |
| | | @GetMapping("/getParentList") |
| | | @ApiOperation(value = "医生点击体检信息详情(只显示父项目列表)") |
| | | public AjaxResult getParentList(@ApiParam(value = "客户体检号") @RequestParam String tjNumber) { |
| | |
| | | LambdaQueryWrapper<TjOrder> tjOrderLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | tjOrderLambdaQueryWrapper.eq(TjOrder::getTjNumber,tjNumber); |
| | | TjOrder tjOrder = orderService.getOne(tjOrderLambdaQueryWrapper); |
| | | LambdaQueryWrapper<TjCustomer> tjCustomerLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | tjCustomerLambdaQueryWrapper.eq(TjCustomer::getCusId,tjOrder.getUserId()); |
| | | TjCustomer tjCustomer = tjCustomerService.getOne(tjCustomerLambdaQueryWrapper); |
| | | HashMap<String, Object> hisRequestParams = new HashMap<>(); |
| | | hisRequestParams.put("card_no",tjCustomer.getCusIdcard()); |
| | | hisRequestParams.put("patientId",tjCustomer.getPationId()); |
| | | LambdaQueryWrapper<TjFlowingWater> tjFlowingWaterLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | tjFlowingWaterLambdaQueryWrapper.eq(TjFlowingWater::getOrderId,tjOrder.getOrderId()); |
| | | tjFlowingWaterLambdaQueryWrapper.ne(TjFlowingWater::getPayStasus,2); |
| | | tjFlowingWaterLambdaQueryWrapper.eq(TjFlowingWater::getIsAddition,"N"); |
| | | TjFlowingWater tjFlowingWater = tjFlowingWaterService.getOne(tjFlowingWaterLambdaQueryWrapper); |
| | | |
| | | HashMap<String, Object> hisRequestParams = new HashMap<>(); |
| | | // 不在需要身份证号 |
| | | hisRequestParams.put("patientId",tjOrder.getCardId()); |
| | | log.info("ltkj--- "+DateUtil.date()+"操作人id: "+userId+"操作科室: "+sysUser.getDeptId()+"操作的体检人: "+tjNumber); |
| | | AjaxResult queryPay = hisApiGetMethodService.getHISDataNew("QueryPay", hisRequestParams); |
| | | if (Integer.parseInt(queryPay.get("code").toString()) == 200) { |
| | | LambdaQueryWrapper<TjFlowingWater> tjFlowingWaterLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | tjFlowingWaterLambdaQueryWrapper.eq(TjFlowingWater::getOrderId,tjOrder.getOrderId()); |
| | | TjFlowingWater tjFlowingWater = tjFlowingWaterService.getOne(tjFlowingWaterLambdaQueryWrapper); |
| | | tjFlowingWater.setPayStasus(1L); |
| | | tjFlowingWater.setPayType(0L); |
| | | tjFlowingWaterService.updateById(tjFlowingWater); |
| | | Long tjSerialNumber = tjFlowingWater.getTjSerialNumber(); |
| | | LambdaQueryWrapper<TjOrderDetail> tjOrderDetailLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | tjOrderDetailLambdaQueryWrapper.eq(TjOrderDetail::getOrderId,tjOrder.getOrderId()); |
| | | List<TjOrderDetail> tjOrderDetails = detailService.list(tjOrderDetailLambdaQueryWrapper); |
| | | List<Long> detailIds = tjOrderDetails.stream().map(TjOrderDetail::getOrderDetailId).collect(Collectors.toList()); |
| | | LambdaUpdateWrapper<TjOrderDetail> tjOrderDetailLambdaUpdateWrapper = new LambdaUpdateWrapper<>(); |
| | | tjOrderDetailLambdaUpdateWrapper.set(TjOrderDetail::getFlowingWaterId,tjSerialNumber); |
| | | tjOrderDetailLambdaUpdateWrapper.in(TjOrderDetail::getOrderDetailId,detailIds); |
| | | detailService.update(tjOrderDetailLambdaUpdateWrapper); |
| | | } |
| | | if (Integer.parseInt(queryPay.get("code").toString()) == 200) { |
| | | // List<Map<String, String>> data = (List<Map<String, String>>) queryPay.get("data"); |
| | | // BigDecimal cateFeeAll = BigDecimal.ZERO; |
| | | // for (Map<String, String> datum : data) { |
| | | // BigDecimal cateFee = new BigDecimal(datum.get("CateFee")); |
| | | // cateFeeAll = cateFeeAll.add(cateFee); |
| | | // } |
| | | // BigDecimal fyhj = ltkjJianchajianyanTreeService.getLtkjJianchajianyanTreeFyhjByCardId(tjOrder.getCardId()); |
| | | // if (cateFeeAll.compareTo(fyhj) != 0){ |
| | | // return AjaxResult.error("存在未缴费项目"); |
| | | // } |
| | | |
| | | int sfsf = ltkjJianchajianyanTreeService.getSfsfByCardId(tjOrder.getCardId()); |
| | | if (sfsf > 0){ |
| | | log.error("路泰科技--- "+DateUtil.date()+" 存在未缴费项目的 就单数 "+sfsf); |
| | | log.error("路泰科技--- "+DateUtil.date()+" 存在未缴费项目的 就诊号 "+tjOrder.getCardId()+" 体检号 "+tjOrder.getTjNumber()); |
| | | return AjaxResult.error("存在未缴费项目"); |
| | | } |
| | | |
| | | extracted(tjOrder, tjFlowingWater); |
| | | }else { |
| | | log.error("路泰科技--- "+DateUtil.date()+" 未查询到缴费记录的 就诊号 "+tjOrder.getCardId()+" 体检号 "+tjOrder.getTjNumber()); |
| | | return AjaxResult.error("未查询到缴费记录"); |
| | | } |
| | | // } |
| | | } |
| | | String config = configService.selectConfigByKey("qt_open_xdt"); |
| | | String byKey = configService.selectConfigByKey("qt_kjksid"); |
| | |
| | | return AjaxResult.error(); |
| | | } |
| | | |
| | | @Transactional |
| | | public void extracted(TjOrder tjOrder, TjFlowingWater tjFlowingWater) { |
| | | tjFlowingWater.setPayStasus(1L); |
| | | tjFlowingWater.setPayType(0L); |
| | | tjFlowingWater.setTollCollectorId("148"); |
| | | tjFlowingWaterService.updateById(tjFlowingWater); |
| | | Long tjSerialNumber = tjFlowingWater.getTjSerialNumber(); |
| | | LambdaQueryWrapper<TjOrderDetail> tjOrderDetailLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | tjOrderDetailLambdaQueryWrapper.eq(TjOrderDetail::getOrderId, tjOrder.getOrderId()); |
| | | List<TjOrderDetail> tjOrderDetails = detailService.list(tjOrderDetailLambdaQueryWrapper); |
| | | List<Long> detailIds = tjOrderDetails.stream().map(TjOrderDetail::getOrderDetailId).collect(Collectors.toList()); |
| | | LambdaUpdateWrapper<TjOrderDetail> tjOrderDetailLambdaUpdateWrapper = new LambdaUpdateWrapper<>(); |
| | | tjOrderDetailLambdaUpdateWrapper.set(TjOrderDetail::getFlowingWaterId,tjSerialNumber); |
| | | tjOrderDetailLambdaUpdateWrapper.in(TjOrderDetail::getOrderDetailId,detailIds); |
| | | detailService.update(tjOrderDetailLambdaUpdateWrapper); |
| | | } |
| | | |
| | | /** |
| | | * 点击父项目显示子项目详情 |
| | | * |
| | |
| | | return AjaxResult.success("该用户暂时没有体检数据"); |
| | | } |
| | | List<TjOrderDetail> tjOrderDetails = detailService.getTjOrderDetailListInProParentIdList(String.valueOf(one.getOrderId()), proParentIdList); |
| | | List<TjOrderDetail> tjOrderDetailList=new ArrayList<>(); |
| | | TjCustomer customer = tjCustomerService.getById(one.getUserId()); |
| | | if (null != tjOrderDetails && tjOrderDetails.size() > 0) { |
| | | for (TjOrderDetail tjOrderDetail : tjOrderDetails) { |
| | |
| | | tjOrderDetail.setRulesList(rulesList); |
| | | |
| | | //查标准和单位----start |
| | | List<TjStandard> list26 = tjStandardService.getTjStandardListByProId(String.valueOf(tjOrderDetail.getProId())); |
| | | if (list26.size() == 0) { |
| | | project.setProMetering("/"); |
| | | project.setProScope("/"); |
| | | } else if (list26.size() == 1) { |
| | | project.setProMetering(list26.get(0).getCompany() == null ? " " : list26.get(0).getCompany()); |
| | | project.setProScope((list26.get(0).getTjStandardLtValue() == null ? " " : list26.get(0).getTjStandardLtValue()) + "-" + (list26.get(0).getTjStandardGtValue() == null ? " " : list26.get(0).getTjStandardGtValue())); |
| | | } else { |
| | | Long cusSex = customer.getCusSex(); |
| | | Date cusBrithday = customer.getCusBrithday(); |
| | | int age = DateUtil.ageOfNow(cusBrithday); |
| | | for (TjStandard tjStandard : list26) { |
| | | LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>(); |
| | | if (tjStandard.getTjSex() != null) { |
| | | wq8.eq(TjStandard::getTjSex, cusSex); |
| | | } |
| | | if (tjStandard.getTjType() != null) { |
| | | wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(age)); |
| | | } |
| | | TjStandard standard = tjStandardService.getOne(wq8); |
| | | project.setProMetering(standard.getCompany()); |
| | | project.setProScope((standard.getTjStandardLtValue() == null ? " " : standard.getTjStandardLtValue()) + "-" + (standard.getTjStandardGtValue() == null ? " " : standard.getTjStandardGtValue())); |
| | | } |
| | | } |
| | | // List<TjStandard> list26 = tjStandardService.getTjStandardListByProId(String.valueOf(tjOrderDetail.getProId())); |
| | | // if (list26.size() == 0) { |
| | | // project.setProMetering("/"); |
| | | // project.setProScope("/"); |
| | | // } else if (list26.size() == 1) { |
| | | // project.setProMetering(list26.get(0).getCompany() == null ? " " : list26.get(0).getCompany()); |
| | | // project.setProScope((list26.get(0).getTjStandardLtValue() == null ? " " : list26.get(0).getTjStandardLtValue()) + "-" + (list26.get(0).getTjStandardGtValue() == null ? " " : list26.get(0).getTjStandardGtValue())); |
| | | // } else { |
| | | // Long cusSex = customer.getCusSex(); |
| | | // Date cusBrithday = customer.getCusBrithday(); |
| | | // int age = DateUtil.ageOfNow(cusBrithday); |
| | | // for (TjStandard tjStandard : list26) { |
| | | // LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>(); |
| | | // if (tjStandard.getTjSex() != null) { |
| | | // wq8.eq(TjStandard::getTjSex, cusSex); |
| | | // } |
| | | // if (tjStandard.getTjType() != null) { |
| | | // wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(age)); |
| | | // } |
| | | // TjStandard standard = tjStandardService.getOne(wq8); |
| | | // project.setProMetering(standard.getCompany()); |
| | | // project.setProScope((standard.getTjStandardLtValue() == null ? " " : standard.getTjStandardLtValue()) + "-" + (standard.getTjStandardGtValue() == null ? " " : standard.getTjStandardGtValue())); |
| | | // } |
| | | // } |
| | | //查标准和单位-----end |
| | | tjOrderDetail.setProject(project); |
| | | List<TjStandard> list2 = tjStandardService.getTjStandardListByProId(String.valueOf(project.getProId())); |
| | | if (list2.size() == 0) { |
| | | tjOrderDetail.setStandard(null); |
| | | } else if (list2.size() == 1) { |
| | | tjOrderDetail.setStandard(list2.get(0)); |
| | | } else { |
| | | for (TjStandard tjStandard : list2) { |
| | | LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>(); |
| | | if (tjStandard.getTjSex() != null) { |
| | | wq8.eq(TjStandard::getTjSex, customer.getCusSex()); |
| | | } |
| | | if (tjStandard.getTjType() != null) { |
| | | wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(DateUtil.ageOfNow(customer.getCusBrithday()))); |
| | | } |
| | | TjStandard standard = tjStandardService.getOne(wq8); |
| | | tjOrderDetail.setStandard(standard); |
| | | } |
| | | } |
| | | // List<TjStandard> list2 = tjStandardService.getTjStandardListByProId(String.valueOf(project.getProId())); |
| | | // if (list2.size() == 0) { |
| | | // tjOrderDetail.setStandard(null); |
| | | // } else if (list2.size() == 1) { |
| | | // tjOrderDetail.setStandard(list2.get(0)); |
| | | // } else { |
| | | // for (TjStandard tjStandard : list2) { |
| | | // LambdaQueryWrapper<TjStandard> wq8 = new LambdaQueryWrapper<>(); |
| | | // if (tjStandard.getTjSex() != null) { |
| | | // wq8.eq(TjStandard::getTjSex, customer.getCusSex()); |
| | | // } |
| | | // if (tjStandard.getTjType() != null) { |
| | | // wq8.eq(TjStandard::getTjType, StringUtils.getAgeType(DateUtil.ageOfNow(customer.getCusBrithday()))); |
| | | // } |
| | | // TjStandard standard = tjStandardService.getOne(wq8); |
| | | // tjOrderDetail.setStandard(standard); |
| | | // } |
| | | // } |
| | | if (null != remark.getDoctorName()) { |
| | | //lg0412 |
| | | SysUser byId = userService.getById(remark.getDoctorName()); |
| | |
| | | } else { |
| | | tjOrderDetail.setDoctorName(null); |
| | | } |
| | | tjOrderDetailList.add(tjOrderDetail); |
| | | } |
| | | } |
| | | Map<String, Object> map = new HashMap<>(); |
| | |
| | | } else { |
| | | map.put("xiaoJieIds", null); |
| | | } |
| | | map.put("sons", tjOrderDetails); |
| | | map.put("sons", tjOrderDetailList); |
| | | map.put("xiaoJie", adviceList); |
| | | map.put("remark", remark.getRemark()); |
| | | |