zjh
2024-08-01 af6f1f6ad2f3fffeeed75f1a742a5bb63141db60
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;
@@ -1400,7 +1402,7 @@
     * @param tjNumber
     * @return
     */
    @Transactional
//    @Transactional
    @GetMapping("/getParentList")
    @ApiOperation(value = "医生点击体检信息详情(只显示父项目列表)")
    public AjaxResult getParentList(@ApiParam(value = "客户体检号") @RequestParam String tjNumber) {
@@ -1425,56 +1427,34 @@
            tjFlowingWaterLambdaQueryWrapper.ne(TjFlowingWater::getPayStasus,2);
            tjFlowingWaterLambdaQueryWrapper.eq(TjFlowingWater::getIsAddition,"N");
            TjFlowingWater tjFlowingWater = tjFlowingWaterService.getOne(tjFlowingWaterLambdaQueryWrapper);
//            if (tjFlowingWater1.getPayStasus() != 1){
                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",tjOrder.getCardId());
                AjaxResult queryPay = hisApiGetMethodService.getHISDataNew("QueryPay", hisRequestParams);
                log.info("ltkj--- "+DateUtil.date()+"操作人id: "+userId+"操作科室: "+sysUser.getDeptId()+"操作的体检人: "+tjNumber);
            AjaxResult queryPay = hisApiGetMethodService.getHISDataNew("QueryPay", hisRequestParams);
                if (Integer.parseInt(queryPay.get("code").toString()) == 200) {
                    List<Map<String, String>> data = (List<Map<String, String>>) queryPay.get("data");
                    ArrayList<String> sqdhs = new ArrayList<>();
                    ArrayList<String> xmfls = new ArrayList<>();
                    BigDecimal cateFeeAll = BigDecimal.ZERO;
                    for (Map<String, String> datum : data) {
                        String advId = datum.get("Adv_Id").split("_")[1];
                        BigDecimal cateFee = new BigDecimal(datum.get("CateFee"));
                        String cateCode = datum.get("CateCode");
                        cateFeeAll = cateFeeAll.add(cateFee);
                        sqdhs.add(advId);
                        xmfls.add(cateCode);
                    }
                    LambdaQueryWrapper<LtkjJianchajianyanTree> queryWrapper = new LambdaQueryWrapper<>();
                    queryWrapper.in(LtkjJianchajianyanTree::getSqdh, sqdhs)
                            .in(LtkjJianchajianyanTree::getXmfl, xmfls)
                            .eq(LtkjJianchajianyanTree::getCardId,tjOrder.getCardId())
                            .groupBy(LtkjJianchajianyanTree::getType)
                            .select(LtkjJianchajianyanTree::getFyhj);
                    List<LtkjJianchajianyanTree> results = ltkjJianchajianyanTreeService.list(queryWrapper);
                    BigDecimal total = results.stream()
                            .map(item -> new BigDecimal(item.getFyhj()))
                            .reduce(BigDecimal.ZERO, BigDecimal::add);
                    if (cateFeeAll.compareTo(total) != 0){
//                    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("存在未缴费项目");
                    }
                    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);
                    extracted(tjOrder, tjFlowingWater);
                }else {
                    log.error("路泰科技--- "+DateUtil.date()+" 未查询到缴费记录的 就诊号  "+tjOrder.getCardId()+" 体检号 "+tjOrder.getTjNumber());
                    return AjaxResult.error("未查询到缴费记录");
                }
//            }
@@ -1569,6 +1549,23 @@
        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);
    }
    /**
     * 点击父项目显示子项目详情
     *
@@ -1606,6 +1603,7 @@
            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) {
@@ -1628,50 +1626,50 @@
                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());
@@ -1681,6 +1679,7 @@
                } else {
                    tjOrderDetail.setDoctorName(null);
                }
                tjOrderDetailList.add(tjOrderDetail);
            }
        }
        Map<String, Object> map = new HashMap<>();
@@ -1700,7 +1699,7 @@
        } else {
            map.put("xiaoJieIds", null);
        }
        map.put("sons", tjOrderDetails);
        map.put("sons", tjOrderDetailList);
        map.put("xiaoJie", adviceList);
        map.put("remark", remark.getRemark());