zjh
2025-01-23 5e15f28db8bf83cc19697e1ce2bd0078cd9cdfb8
zjh20250123
12个文件已修改
563 ■■■■■ 已修改文件
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java 122 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java 296 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderRemarkMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITbTransitionService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderRemarkService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TbTransitionServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderRemarkServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-hosp/src/main/resources/mapper/hosp/TjOrderRemarkMapper.xml 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ltkj-admin/src/main/java/com/ltkj/web/controller/his/HisPDFUtil.java
@@ -1100,72 +1100,74 @@
                    for (Map.Entry<Long, List<TjOrderDetail>> entry : collect.entrySet()) {
                        if (!entry.getKey().equals(proVo.getProId())) continue;
                        List<TjOrderDetail> details = entry.getValue();
                        String xmmc = details.get(0).getProName();
                        boolean isXmWrite = false;
                        int index = 1;
                        for (TjOrderDetail detail : details) {
                            if (!isXmWrite) {
                                xmXh++;
                                paragraph = new Paragraph("【" + xmXh + "." + xmmc + "】", defaultFont);
                                paragraph.setAlignment(Element.ALIGN_LEFT);
                                document2.add(paragraph);
                                isXmWrite = true;
                            }
                            String result = detail.getProResult();
                            if (StrUtil.isNotBlank(result)) {
                                int index1 = 1;
                                String[] split = result.split("\n");
                                StringBuilder builder = new StringBuilder();
                                for (String s : split) {
                                    if (StrUtil.isBlank(s.replaceAll("\n", "").trim())) continue;
                                    builder.append("    (").append(index1).append(")").append(s).append("\n");
                                    index1++;
                        if(null !=details && !details.isEmpty()){
                            boolean isXmWrite = false;
                            int index = 1;
                            int index1 = 1;
                            for (TjOrderDetail detail : details) {
                                String xmmc = detail.getProName();
                                if (!isXmWrite) {
                                    xmXh++;
                                    paragraph = new Paragraph("【" + xmXh + "." + xmmc + "】", defaultFont);
                                    paragraph.setAlignment(Element.ALIGN_LEFT);
                                    document2.add(paragraph);
                                    isXmWrite = true;
                                }
                                result = builder.toString();
                            }
                            if (StrUtil.isNotBlank(result)) {
                                paragraph = new Paragraph(result, defaultFont);
                                paragraph.setAlignment(Element.ALIGN_LEFT);
                                document2.add(paragraph);
                            } else {
                                paragraph = new Paragraph("建议定期复查", defaultFont);
                                paragraph.setAlignment(Element.ALIGN_LEFT);
                                document2.add(paragraph);
                            }
                            String str = "     ";
                            List<Map<String, Object>> maps = new ArrayList<>();
                            LambdaQueryWrapper<TjOrderYcxm> ycwq=new LambdaQueryWrapper<>();
                            ycwq.eq(TjOrderYcxm::getTjh,tjOrder.getTjNumber());
                            ycwq.eq(TjOrderYcxm::getJcxm,xmmc);
                            TjOrderYcxm ycxm = ycxmService.getOne(ycwq);
                            if(null !=ycxm){
                                String jynr = ycxm.getJynr();
                                JSONArray array = JSONUtil.parseArray(jynr);
                                for (Object object : array) {
                                    Map<String,Object> objectMap=new HashMap<>();
                                    JSONObject jsonObject = (JSONObject) object;
                                    String bt = jsonObject.getStr("bt");
                                    String nr = jsonObject.getStr("nr");
                                    objectMap.put("bt",bt);
                                    objectMap.put("nr",nr);
                                    if(null !=bt || null !=nr) maps.add(objectMap);
                                String result = detail.getProResult();
                                if (StrUtil.isNotBlank(result)) {
                                    String[] split = result.split("\n");
                                    StringBuilder builder = new StringBuilder();
                                    for (String s : split) {
                                        if (StrUtil.isBlank(s.replaceAll("\n", "").trim())) continue;
                                        builder.append("    (").append(index1).append(")").append(s).append("\n");
                                        index1++;
                                    }
                                    result = builder.toString();
                                }
                                List<Map<String, Object>> collect1 = maps.stream().distinct().collect(Collectors.toList());
                                for (Map<String, Object> objectMap : collect1) {
                                    String content = str + objectMap.get("bt").toString() + objectMap.get("nr").toString();
                                    if (StrUtil.isBlank(content)) content = "     ";
                                    paragraph = new Paragraph(content, defaultFont);
                                if (StrUtil.isNotBlank(result)) {
                                    paragraph = new Paragraph(result, defaultFont);
                                    paragraph.setAlignment(Element.ALIGN_LEFT);
                                    document2.add(paragraph);
                                } else {
                                    paragraph = new Paragraph("建议定期复查", defaultFont);
                                    paragraph.setAlignment(Element.ALIGN_LEFT);
                                    document2.add(paragraph);
                                }
                                String str = "     ";
                                List<Map<String, Object>> maps = new ArrayList<>();
                                LambdaQueryWrapper<TjOrderYcxm> ycwq=new LambdaQueryWrapper<>();
                                ycwq.eq(TjOrderYcxm::getTjh,tjOrder.getTjNumber());
                                ycwq.eq(TjOrderYcxm::getJcxm,xmmc);
                                TjOrderYcxm ycxm = ycxmService.getOne(ycwq);
                                if(null !=ycxm){
                                    String jynr = ycxm.getJynr();
                                    JSONArray array = JSONUtil.parseArray(jynr);
                                    for (Object object : array) {
                                        Map<String,Object> objectMap=new HashMap<>();
                                        JSONObject jsonObject = (JSONObject) object;
                                        String bt = jsonObject.getStr("bt");
                                        String nr = jsonObject.getStr("nr");
                                        objectMap.put("bt",bt);
                                        objectMap.put("nr",nr);
                                        if(null !=bt || null !=nr) maps.add(objectMap);
                                    }
                                    List<Map<String, Object>> collect1 = maps.stream().distinct().collect(Collectors.toList());
                                    for (Map<String, Object> objectMap : collect1) {
                                        String content = str + objectMap.get("bt").toString() + objectMap.get("nr").toString();
                                        if (StrUtil.isBlank(content)) content = "     ";
                                        paragraph = new Paragraph(content, defaultFont);
                                        paragraph.setAlignment(Element.ALIGN_LEFT);
                                        document2.add(paragraph);
                                    }
                                }
                                index++;
                                paragraph = PdfUtils.setParagraph(defaultFont, "");
                                paragraph.setLeading(0f);
                                paragraph.setSpacingBefore(0f);
                                paragraph.setSpacingAfter(5f);
                                document2.add(paragraph);
                            }
                            index++;
                            paragraph = PdfUtils.setParagraph(defaultFont, "");
                            paragraph.setLeading(0f);
                            paragraph.setSpacingBefore(0f);
                            paragraph.setSpacingAfter(5f);
                            document2.add(paragraph);
                        }
                    }
                    // 检验
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.java
@@ -57,6 +57,7 @@
import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.save;
import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.setClipRect;
import static org.jeecg.modules.jmreport.dyndb.util.b.a;
import static org.jeecg.modules.jmreport.dyndb.util.b.e;
/**
 * @Author: 西安路泰科技有限公司/赵佳豪
@@ -1583,7 +1584,7 @@
    @PostMapping ("/checkUpdateOrderRemark")
    @ApiOperation (value = "总检修改备注接口")
    public AjaxResult checkUpdateOrderRemark(@RequestBody List<UpdateOrderRemarkVo> updateOrderRemarkVos) {
        if (null != updateOrderRemarkVos && updateOrderRemarkVos.size() > 0) {
        if (null != updateOrderRemarkVos && !updateOrderRemarkVos.isEmpty()) {
            for (UpdateOrderRemarkVo remarkVo : updateOrderRemarkVos) {
                LambdaQueryWrapper<TjOrderRemark> wqm = new LambdaQueryWrapper<>();
                wqm.eq(TjOrderRemark::getTjNumber, remarkVo.getTjNumber());
@@ -1639,6 +1640,12 @@
    @ApiOperation (value = "总检查看异常项目接口")
    public AjaxResult getzongjianyishengchakanyichangxiangmu(@RequestParam String tjNum) {
        if (StrUtil.isNotBlank(tjNum)) {
            TjOrder one = orderService.getOrderByTjNum(tjNum);
            if (one == null) {
                return AjaxResult.error("暂无数据!!");
            }
        LambdaQueryWrapper<TjOrderYcxm> wq=new LambdaQueryWrapper<>();
        wq.eq(TjOrderYcxm::getTjh,tjNum);
        List<TjOrderYcxm> list = ycxmService.list(wq);
@@ -1646,13 +1653,9 @@
            Collections.reverse(list);
            Map<String, List<TjOrderYcxm>> map = list.stream().collect(Collectors.groupingBy(TjOrderYcxm::getParentName));
            List<Map<String, Object>> maps = new ArrayList<>();
            for (Map.Entry<String, List<TjOrderYcxm>> entry : map.entrySet()) {
                Map<String, Object> parent = new HashMap<>();
                List<TjOrderDetail> dels = new ArrayList<>();
                for (TjOrderYcxm ycxm : entry.getValue()) {
                    TjOrderDetail detail=new TjOrderDetail();
                    detail.setProName(ycxm.getJcxm());
@@ -1680,9 +1683,24 @@
                    parent.put("sone",dels);
                    maps.add(parent);
            }
            return AjaxResult.success(maps);
            List<Map<String, Object>> mapList = zongjianyishengchakanyichangxiangmu(tjNum);
            List<Map<String, Object>> collect = maps.stream()
                    .filter(a -> mapList.stream()
                            .allMatch(b -> a.get("jyjc").equals(b.get("jyjc"))))
                    .collect(Collectors.toList());
            if(!collect.isEmpty()){
                mapList.addAll(collect);
//                return AjaxResult.success(result);
            }
           return AjaxResult.success(maps);
        }else {
            return zongjianyishengchakanyichangxiangmu(tjNum);
            List<Map<String, Object>> mapList = zongjianyishengchakanyichangxiangmu(tjNum);
            if(mapList.isEmpty()){
                return AjaxResult.error("暂无数据");
            }
            return AjaxResult.success(mapList);
        }
//            return zongjianyishengchakanyichangxiangmu(tjNum);
@@ -1690,13 +1708,9 @@
        return AjaxResult.error();
    }
    private AjaxResult zongjianyishengchakanyichangxiangmu(String tjNumber) {
    private List<Map<String, Object>> zongjianyishengchakanyichangxiangmu(String tjNumber) {
//        asyncService.updateCheckType(tjNumber);
        TjOrder one = orderService.getOrderByTjNum(tjNumber);
        if (one == null) {
            return AjaxResult.error("暂无数据!!");
        }
        List<TjOrderRemark> remarkList = orderRemarkService.getzongjianyishengchakanyichangxiangmu(tjNumber);
        List<TjOrderDetail> tjOrderDetails = detailService.getzongjianyishengchakanyichangxiangmu(tjNumber);
        List<Map<String, Object>> list = new ArrayList<>();
@@ -1744,13 +1758,11 @@
                        parent.put("sone",dels);
                        list.add(parent);
                    }
                } else {
                    return AjaxResult.success("该人员无异常项目");
                }
            }
            return AjaxResult.success(list);
        }
        return AjaxResult.success("该人员没有体检项目数据!");
        return list;
    }
    @GetMapping ("/chushenyemianchakanxiangmujieguo")
@@ -1779,6 +1791,7 @@
                for (TjOrderYcxm ycxm : ycxms) {
                    ycxm.setJynr(JSONUtil.toJsonStr(ycxm.getMap()));
                }
//                List<TjOrderYcxm> collect = ycxms.stream().distinct().collect(Collectors.toList());
                ycxmService.saveBatch(ycxms);
                return AjaxResult.success();
            }
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjFlowingWaterController.java
@@ -34,6 +34,7 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import jodd.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.transaction.annotation.Transactional;
@@ -234,76 +235,76 @@
//        tjFlowingWater.setPayStasus(1L);
        TjOrder order = orderService.getById(tjFlowingWater.getOrderId());
        if(order.getFinishTime() !=null){
        if (order.getFinishTime() != null) {
            return AjaxResult.error("该人员已签离,不可补录项目!");
        }
        TjCustomer customer = customerService.getById(order.getUserId());
        if (null != tjFlowingWater.getTjProIds() && tjFlowingWater.getTjProIds().length > 0) {
            tjFlowingWater.setWaterId(PinyinUtil.getFirstLetter(customer.getCusName(), "").toUpperCase() +SecurityUtils.getUsername() + DateUtil.format(new Date(), "yyMMddHHmmssSSS"));
            tjFlowingWater.setWaterId(PinyinUtil.getFirstLetter(customer.getCusName(), "").toUpperCase() + SecurityUtils.getUsername() + DateUtil.format(new Date(), "yyMMddHHmmssSSS"));
            tjFlowingWater.setIsAddition("Y");
            if(tjFlowingWater.getPayStasus().toString().equals("0")){
            if (tjFlowingWater.getPayStasus().toString().equals("0")) {
                tjFlowingWater.setPayStasus(0L);
            }else {
            } else {
                tjFlowingWater.setPayStasus(1L);
            }
            if (tjFlowingWaterService.save(tjFlowingWater)) {
                Date dates = new Date();
                String jxbz = DateUtil.format(dates, "yyyyMMddHHmmss")+order.getOrderId();
                String jxbz = DateUtil.format(dates, "yyyyMMddHHmmss") + order.getOrderId();
                //异步单项收费明细
                Boolean b = asyncService.iundividualCharges(tjFlowingWater, order, customer, sysUser,jxbz);
                if (!b){
                Boolean b = asyncService.iundividualCharges(tjFlowingWater, order, customer, sysUser, jxbz);
                if (!b) {
                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    return AjaxResult.error();
                }
                if(tjFlowingWater.getPayStasus().equals(1L)){
                if (tjFlowingWater.getPayStasus().equals(1L)) {
                    detailService.updateTjOrderDetailsFlowingWaterIdByJxbz(order.getOrderId().toString(), jxbz, tjFlowingWater.getTjSerialNumber().toString());
                    remarkService.updateTjOrderRemarkSfbzByJxbz(order.getOrderId().toString(), jxbz, tjFlowingWater.getTjSerialNumber().toString());
                }else {
                } else {
                    String s = configService.selectConfigByKey("is_request_common_his_api");
                    if (null != s && s.equals("Y")) {
                        String apiUrl = configService.selectConfigByKey("common_api_url");
                        String hospbm = configService.selectConfigByKey("common_api_service_hospbm");
                        HashMap<String, Object> map = new HashMap<>();
                        map.put("pationId",customer.getPationId());
                        map.put("cardId",customer.getHisJzkh());
                        map.put("tjNum",tjFlowingWater.getTjSerialNumber());
                        map.put("kaiDanKs","7805");
                        map.put("pationId", customer.getPationId());
                        map.put("cardId", customer.getHisJzkh());
                        map.put("tjNum", tjFlowingWater.getTjSerialNumber());
                        map.put("kaiDanKs", "7805");
                        // 收费标志 1待售费 2待退费
                        map.put("shouTuiStatus","1");
                        map.put("shouTuiStatus", "1");
                        JSONArray array = JSONUtil.createArray();
                        LambdaQueryWrapper<TbTransition> wrapper = new LambdaQueryWrapper<>();
                        wrapper.eq(TbTransition::getTjNum,order.getTjNumber());
                        wrapper.eq(TbTransition::getCusId,customer.getCusIdcard());
                        wrapper.eq(TbTransition::getCardId,customer.getCardId());
                        wrapper.eq(TbTransition::getJxbz,jxbz);
                        wrapper.isNotNull(TbTransition::getOrdPrice);
                        wrapper.gt(TbTransition::getOrdPrice,0);
                        wrapper.eq(TbTransition::getTjNum, order.getTjNumber());
                        wrapper.eq(TbTransition::getCusId, customer.getCusIdcard());
                        wrapper.eq(TbTransition::getCardId, customer.getCardId());
                        wrapper.eq(TbTransition::getJxbz, jxbz);
                        wrapper.isNotNull(TbTransition::getNowPrice);
                        wrapper.gt(TbTransition::getNowPrice, 0);
                        List<TbTransition> list = transitionService.list(wrapper);
                        for (TbTransition transition : list) {
                            LambdaQueryWrapper<TjProject> wrapper1 = new LambdaQueryWrapper<>();
                            wrapper1.eq(TjProject::getProId,transition.getProId());
                            wrapper1.eq(TjProject::getProId, transition.getProId());
                            TjProject project = projectService.getOne(wrapper1);
                            LambdaQueryWrapper<SysDept> wrapper2 = new LambdaQueryWrapper<>();
                            wrapper2.eq(SysDept::getDeptId,project.getDeptId());
                            wrapper2.eq(SysDept::getDeptId, project.getDeptId());
                            SysDept dept = sysDeptService.getOne(wrapper2);
                            JSONObject obj = JSONUtil.createObj();
                            BigDecimal danjia = transition.getOrdPrice();
                            BigDecimal danjia = transition.getNowPrice();
                            Integer sl = project.getSl();
                            BigDecimal allPrice = danjia.multiply(new BigDecimal(sl));
                            obj.putOpt("danJia",danjia);
                            obj.putOpt("jieSuanJe",allPrice);
                            obj.putOpt("shuliang",sl);
                            obj.putOpt("zhiXingKs",dept.getDeptId());
                            obj.putOpt("zhiXingKsMc",dept.getDeptName());
                            obj.putOpt("shouFeiXmId",project.getHisXmbm());
                            obj.putOpt("shouFeiXmMc",project.getHisXmmc());
                            obj.putOpt("danJia", danjia);
                            obj.putOpt("jieSuanJe", allPrice);
                            obj.putOpt("shuliang", sl);
                            obj.putOpt("zhiXingKs", dept.getDeptId());
                            obj.putOpt("zhiXingKsMc", dept.getDeptName());
                            obj.putOpt("shouFeiXmId", project.getHisXmbm());
                            obj.putOpt("shouFeiXmMc", project.getHisXmmc());
//                        obj.putOpt("zhiXingKs","7805");
//                        obj.putOpt("zhiXingKsMc","体检科");
@@ -311,9 +312,9 @@
//                        obj.putOpt("shouFeiXmMc","体检费");
                            array.add(obj);
                        }
                        map.put("feiYongInfoList",array);
                        map.put("feiYongInfoList", array);
                        String post = HttpClientUtils.sendPost(apiUrl + "/api/his/"+hospbm+"/creatCostInfo", map);
                        String post = HttpClientUtils.sendPost(apiUrl + "/api/his/" + hospbm + "/creatCostInfo", map);
                        JSONObject object = JSONUtil.parseObj(post);
                        if (object.getInt("code") == 200) {
                            JSONObject data = object.getJSONObject("data");
@@ -324,7 +325,7 @@
                                tjFlowingWaterHisService.saveBatch(his);
                            }
                            tjFlowingWaterService.updateById(tjFlowingWater);
                        }else {
                        } else {
                            return AjaxResult.error();
                        }
                    }
@@ -348,8 +349,8 @@
//                tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber()));
//                detailService.updateById(tjOrderDetail);
//            }
            detailService.updateTjOrderDetailsFlowingWaterIdByJxbzisnull(String.valueOf(order.getOrderId()),String.valueOf(tjFlowingWater.getTjSerialNumber()));
            remarkService.updateTjOrderRemarkSfbzByJxbzisnull(order.getOrderId().toString(),tjFlowingWater.getTjSerialNumber().toString());
            detailService.updateTjOrderDetailsFlowingWaterIdByJxbzisnull(String.valueOf(order.getOrderId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
            remarkService.updateTjOrderRemarkSfbzByJxbzisnull(order.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
            LambdaQueryWrapper<TjOrderDetail> wq3 = new LambdaQueryWrapper<>();
            wq3.eq(TjOrderDetail::getOrderId, tjFlowingWater.getOrderId());
            wq3.isNotNull(TjOrderDetail::getFlowingWaterId);
@@ -430,10 +431,10 @@
//                tjOrderDetail.setFlowingWaterId(String.valueOf(tjFlowingWater.getTjSerialNumber()));
//                detailService.updateById(tjOrderDetail);
//            }
            if (StrUtil.isBlank(flowingWater.getJxbz())){
                detailService.updateTjOrderDetailsFlowingWaterIdByJxbzisnull(String.valueOf(order.getOrderId()),String.valueOf(tjFlowingWater.getTjSerialNumber()));
                remarkService.updateTjOrderRemarkSfbzByJxbzisnull(order.getOrderId().toString(),tjFlowingWater.getTjSerialNumber().toString());
            }else {
            if (StrUtil.isBlank(flowingWater.getJxbz())) {
                detailService.updateTjOrderDetailsFlowingWaterIdByJxbzisnull(String.valueOf(order.getOrderId()), String.valueOf(tjFlowingWater.getTjSerialNumber()));
                remarkService.updateTjOrderRemarkSfbzByJxbzisnull(order.getOrderId().toString(), tjFlowingWater.getTjSerialNumber().toString());
            } else {
                detailService.updateTjOrderDetailsFlowingWaterIdByJxbz(String.valueOf(order.getOrderId()), flowingWater.getJxbz(), String.valueOf(tjFlowingWater.getTjSerialNumber()));
                remarkService.updateTjOrderRemarkSfbzByJxbz(order.getOrderId().toString(), flowingWater.getJxbz(), tjFlowingWater.getTjSerialNumber().toString());
            }
@@ -456,7 +457,7 @@
                    map.put("mobanId", reportService.getMoBanIds());
                    SysUser user = null;
                    if (flowingWater.getCreateId()!= null)
                    if (flowingWater.getCreateId() != null)
                        user = userService.getById(flowingWater.getCreateId());
                    else user = userService.getById(1L);
                    TjOrder tjOrder = orderService.getById(flowingWater.getOrderId());
@@ -474,39 +475,39 @@
    @ApiOperation(value = "体检点击强制退费按钮接口")
    @Transactional
    @RepeatSubmit
    public AjaxResult refundEdit(@RequestBody String json){
    public AjaxResult refundEdit(@RequestBody String json) {
        JSONObject parseObj = JSONUtil.parseObj(json);
        String tjSerialNumber = parseObj.getStr("tjSerialNumber");
        TjFlowingWater tjFlowingWater = tjFlowingWaterService.getById(tjSerialNumber);
        Long orderId = tjFlowingWater.getOrderId();
        LambdaQueryWrapper<TjOrderRemark> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(TjOrderRemark::getSfbz,tjSerialNumber);
        wrapper.eq(TjOrderRemark::getSfbz, tjSerialNumber);
        List<TjOrderRemark> list = remarkService.list(wrapper);
        if (list.isEmpty()){
        if (list.isEmpty()) {
            return AjaxResult.error("该人员没有已收费项目");
        }
        String tjNumber = list.get(0).getTjNumber();
        List<Long> proIds = list.stream().map(TjOrderRemark::getProId).collect(Collectors.toList());
        LambdaQueryWrapper<TjSampling> wrapper1 = new LambdaQueryWrapper<>();
        wrapper1.eq(TjSampling::getTjNum,tjNumber);
        wrapper1.in(TjSampling::getProId,proIds);
        wrapper1.eq(TjSampling::getIsSignFor,"0");
        wrapper1.eq(TjSampling::getTjNum, tjNumber);
        wrapper1.in(TjSampling::getProId, proIds);
        wrapper1.eq(TjSampling::getIsSignFor, "0");
        List<TjSampling> samplings = tjSamplingService.list(wrapper1);
        if (!samplings.isEmpty())
            return AjaxResult.error("该人员此单中存在已做的化验项目,不可退费");
        if (StrUtil.isBlank(tjFlowingWater.getJxbz())){
        if (StrUtil.isBlank(tjFlowingWater.getJxbz())) {
            LambdaUpdateWrapper<TjOrderDetail> wrapper2 = new LambdaUpdateWrapper<>();
            wrapper2.set(TjOrderDetail::getFlowingWaterId,null)
                    .set(TjOrderDetail::getUpdateTime,new Date())
                    .eq(TjOrderDetail::getOrderId,orderId)
            wrapper2.set(TjOrderDetail::getFlowingWaterId, null)
                    .set(TjOrderDetail::getUpdateTime, new Date())
                    .eq(TjOrderDetail::getOrderId, orderId)
                    .isNull(TjOrderDetail::getJxbz);
            detailService.update(wrapper2);
            LambdaUpdateWrapper<TjOrderRemark> wrapper3 = new LambdaUpdateWrapper<>();
//            wrapper3
        }else {
        } else {
//            detailService.updateTjOrderDetailsFlowingWaterIdByJxbz(String.valueOf(order.getOrderId()), flowingWater.getJxbz(), String.valueOf(tjFlowingWater.getTjSerialNumber()));
//            remarkService.updateTjOrderRemarkSfbzByJxbz(order.getOrderId().toString(), flowingWater.getJxbz(), tjFlowingWater.getTjSerialNumber().toString());
        }
@@ -646,8 +647,8 @@
    @GetMapping("/findTjRefundListByNameAndTjNumAndPhone2")
    @ApiOperation(value = "体检(退费)页面查询接口")
    public AjaxResult findTjRefundListByNameAndTjNumAndPhone2(@RequestParam(required = false) @ApiParam(value = "体检号") String tjNum,
                                                             @RequestParam(required = false) @ApiParam(value = "体检人姓名") String tjName,
                                                             @RequestParam(required = false) @ApiParam(value = "体检人手机号") String tjPhone) {
                                                              @RequestParam(required = false) @ApiParam(value = "体检人姓名") String tjName,
                                                              @RequestParam(required = false) @ApiParam(value = "体检人手机号") String tjPhone) {
        if (null != tjName || null != tjPhone) {
            LambdaQueryWrapper<TjCustomer> wq0 = new LambdaQueryWrapper<>();
@@ -672,7 +673,7 @@
                    }
                    LambdaQueryWrapper<TjFlowingWater> wrapper = new LambdaQueryWrapper<>();
                    wrapper.eq(TjFlowingWater::getOrderId, order.getOrderId());
                    wrapper.eq(TjFlowingWater::getPayStasus,1L);
                    wrapper.eq(TjFlowingWater::getPayStasus, 1L);
                    List<TjFlowingWater> list = tjFlowingWaterService.list(wrapper);
                    for (TjFlowingWater water : list) {
                        TjRefundVo tjRefundVo = new TjRefundVo();
@@ -705,7 +706,7 @@
                for (TjOrder order : orderList) {
                    LambdaQueryWrapper<TjFlowingWater> wrapper = new LambdaQueryWrapper<>();
                    wrapper.eq(TjFlowingWater::getOrderId, order.getOrderId());
                    wrapper.eq(TjFlowingWater::getPayStasus,1L);
                    wrapper.eq(TjFlowingWater::getPayStasus, 1L);
                    List<TjFlowingWater> list = tjFlowingWaterService.list(wrapper);
                    TjCustomer customer = customerService.getById(order.getUserId());
                    for (TjFlowingWater water : list) {
@@ -843,8 +844,8 @@
    @GetMapping("/findTjCollectFeesByNameAndTjNumAndPhoneN")
    @ApiOperation(value = "体检(收费)页面查询接口")
    public AjaxResult findTjCollectFeesByNameAndTjNumAndPhoneNew(@RequestParam(required = false) @ApiParam(value = "体检号") String tjNum,
                                                              @RequestParam(required = false) @ApiParam(value = "体检人姓名") String tjName,
                                                              @RequestParam(required = false) @ApiParam(value = "体检人手机号") String tjPhone) {
                                                                 @RequestParam(required = false) @ApiParam(value = "体检人姓名") String tjName,
                                                                 @RequestParam(required = false) @ApiParam(value = "体检人手机号") String tjPhone) {
        List<TjCollectFeesVo> tjCollectFeesVoList = new ArrayList<>();
        if (null != tjName || null != tjPhone) {
            LambdaQueryWrapper<TjCustomer> wq0 = new LambdaQueryWrapper<>();
@@ -853,48 +854,32 @@
                    .like(TjCustomer::getCusPhone, tjPhone);
            List<TjCustomer> customerList = customerService.list(wq0);
            if (null != customerList && !customerList.isEmpty()) {
                    LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
                    wq1.in(TjOrder::getUserId,customerList.stream().map(TjCustomer::getCusId).collect(Collectors.toList()));
                    wq1.eq(TjOrder::getCheckStatus, 0);
//                    wq1.isNotNull(TjOrder::getReportTime);
                    wq1.orderByDesc(TjOrder::getCreateTime);
                    List<TjOrder> tjOrders = orderService.list(wq1);
                    if (null != tjOrders && !tjOrders.isEmpty()) {
                        for (TjOrder order : tjOrders) {
                            TjCustomer customer = customerService.getById(order.getUserId());
                            LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>();
                            wq2.eq(TjOrderDetail::getOrderId, order.getOrderId());
                            List<TjOrderDetail> detailList = detailService.list(wq2);
                            if (null != detailList && !detailList.isEmpty()) {
                LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
                wq1.in(TjOrder::getUserId, customerList.stream().map(TjCustomer::getCusId).collect(Collectors.toList()));
                List<TjOrder> tjOrders = orderService.list(wq1);
                if (null != tjOrders && !tjOrders.isEmpty()) {
                    for (TjOrder order : tjOrders) {
                            LambdaQueryWrapper<TjFlowingWater> wq = new LambdaQueryWrapper<>();
                            wq.eq(TjFlowingWater::getOrderId, order.getOrderId());
                            List<TjFlowingWater> list = tjFlowingWaterService.list(wq);
                            for (TjFlowingWater water : list) {
                                TjCustomer customer = customerService.getById(order.getUserId());
                                TjCollectFeesVo tjRefundVo = new TjCollectFeesVo();
                                tjRefundVo.setTjType(order.getTjType());
                                tjRefundVo.setTjCusId(String.valueOf(customer.getCusId()));
                                tjRefundVo.setTjName(customer.getCusName());
                                tjRefundVo.setTjPhone(customer.getCusPhone());
                                tjRefundVo.setSex(String.valueOf(customer.getCusSex()));
                                if (null != customer.getCusIdcard()) tjRefundVo.setIdCard(customer.getCusIdcard());
                                DictComp dictComp = compService.getById(order.getFirmId());
                                if (null != dictComp) {
                                    tjRefundVo.setTjComp(dictComp.getCnName());
                                } else {
                                    tjRefundVo.setTjComp("无");
                                }
                                if (null != order.getTjType()) tjRefundVo.setTjType(order.getTjType());
                                LambdaQueryWrapper<TjFlowingWater> wq = new LambdaQueryWrapper<>();
                                wq.eq(TjFlowingWater::getOrderId, order.getOrderId());
//                                wq.eq(TjFlowingWater::getIsAddition, "N");
                                wq.ne(TjFlowingWater::getPayStasus, 2);
                                List<TjFlowingWater> list = tjFlowingWaterService.list(wq);
                                for (TjFlowingWater water : list) {
                                    tjRefundVo.setTjFlowingWater(water);
                                    tjRefundVo.setTjNumber(order.getTjNumber());
                                    tjRefundVo.setTjOrderId(String.valueOf(order.getOrderId()));
                                    TjCollectFeesVo vo = BeanUtil.copyProperties(tjRefundVo, TjCollectFeesVo.class);
                                    tjCollectFeesVoList.add(vo);
                                }
                                tjRefundVo.setIdCard(customer.getCusIdcard());
                                tjRefundVo.setTjComp(order.getFirmName());
                                tjRefundVo.setTjFlowingWater(water);
                                tjRefundVo.setTjNumber(order.getTjNumber());
                                tjRefundVo.setTjOrderId(String.valueOf(order.getOrderId()));
                                tjCollectFeesVoList.add(tjRefundVo);
                            }
                        }
                    }
                }
                return AjaxResult.success(tjCollectFeesVoList);
            }
@@ -904,40 +889,30 @@
        if (null != tjNum) {
            LambdaQueryWrapper<TjOrder> wq1 = new LambdaQueryWrapper<>();
            wq1.likeLeft(TjOrder::getTjNumber, tjNum);
//            wq1.eq(TjOrder::getCheckStatus, 0);
            List<TjOrder> orderList = orderService.list(wq1);
            if (null != orderList && !orderList.isEmpty()) {
                for (TjOrder order : orderList) {
                    LambdaQueryWrapper<TjOrderDetail> wq2 = new LambdaQueryWrapper<>();
                    wq2.eq(TjOrderDetail::getOrderId, order.getOrderId());
                    //wq2.isNull(TjOrderDetail::getFlowingWaterId);
                    List<TjOrderDetail> detailList = detailService.list(wq2);
                    if (null != detailList && !detailList.isEmpty()) {
                    LambdaQueryWrapper<TjFlowingWater> wq = new LambdaQueryWrapper<>();
                    wq.eq(TjFlowingWater::getOrderId, order.getOrderId());
                    List<TjFlowingWater> list = tjFlowingWaterService.list(wq);
                    for (TjFlowingWater water : list) {
                        TjCustomer customer = customerService.getById(order.getUserId());
                        if (null != customer) {
                            TjCollectFeesVo tjRefundVo = new TjCollectFeesVo();
                            tjRefundVo.setTjCusId(String.valueOf(customer.getCusId()));
                            tjRefundVo.setTjName(customer.getCusName());
                            tjRefundVo.setTjPhone(customer.getCusPhone());
                            tjRefundVo.setSex(String.valueOf(customer.getCusSex()));
                            tjRefundVo.setIdCard(customer.getCusIdcard());
                            if (null != order.getFirmId()) {
                                DictComp byId = compService.getById(order.getFirmId());
                                if (null != byId) {
                                    tjRefundVo.setTjComp(byId.getCnName());
                                }
                            }
                            if (null != order.getTjType()) tjRefundVo.setTjType(order.getTjType());
                            TjFlowingWater one = tjFlowingWaterService.getOne(new LambdaQueryWrapper<TjFlowingWater>()
                                    .eq(TjFlowingWater::getOrderId, order.getOrderId())
                                    .eq(TjFlowingWater::getIsAddition, "N")
                                    .ne(TjFlowingWater::getPayStasus, 2));
                            tjRefundVo.setTjFlowingWater(one);
                            tjRefundVo.setTjNumber(order.getTjNumber());
                            tjRefundVo.setTjOrderId(String.valueOf(order.getOrderId()));
                            tjCollectFeesVoList.add(tjRefundVo);
                        }
                        TjCollectFeesVo tjRefundVo = new TjCollectFeesVo();
                        tjRefundVo.setTjType(order.getTjType());
                        tjRefundVo.setTjCusId(String.valueOf(customer.getCusId()));
                        tjRefundVo.setTjName(customer.getCusName());
                        tjRefundVo.setTjPhone(customer.getCusPhone());
                        tjRefundVo.setSex(String.valueOf(customer.getCusSex()));
                        tjRefundVo.setIdCard(customer.getCusIdcard());
                        tjRefundVo.setTjComp(order.getFirmName());
                        tjRefundVo.setTjFlowingWater(water);
                        tjRefundVo.setTjNumber(order.getTjNumber());
                        tjRefundVo.setTjOrderId(String.valueOf(order.getOrderId()));
//                        TjCollectFeesVo vo = BeanUtil.copyProperties(tjRefundVo, TjCollectFeesVo.class);
                        tjCollectFeesVoList.add(tjRefundVo);
                    }
                }
                return AjaxResult.success(tjCollectFeesVoList);
            }
@@ -963,7 +938,7 @@
                } else {
                    tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNotNull(OrderId);
                }
                String pacId = transitionService.selectPacIdByTbTransitionTjNumAndProId(order.getTjNumber(),order.getCardId());
                String pacId = transitionService.selectPacIdByTbTransitionTjNumAndProId(order.getTjNumber(), order.getCardId());
                String s = tjFlowingWaterService.getDiscount(OrderId);
                if (null != tjProjectList && !tjProjectList.isEmpty()) {
                    for (TjProject project : tjProjectList) {
@@ -990,9 +965,9 @@
                            .eq(TjFlowingWater::getPayStasus, 2));
                    if (null != list && !list.isEmpty()) {
                        List<TjProject> projectList = projectService.getTjProListByPacIdAndDeptId(pacId);
                        if(null !=projectList && !projectList.isEmpty()){
                        if (null != projectList && !projectList.isEmpty()) {
                            for (TjProject project : projectList) {
                                project.setProOrdPrice(tjPackageProjectService.getPacProPriceByPacIdAndPro(project.getProId(),pacId)
                                project.setProOrdPrice(tjPackageProjectService.getPacProPriceByPacIdAndPro(project.getProId(), pacId)
                                        .multiply(new BigDecimal(s)).setScale(2));
                                tjProjectList.add(project);
                            }
@@ -1012,29 +987,35 @@
    @GetMapping("/findTjChargedButNotChargedByTjNumN")
    @ApiOperation(value = "体检已收费未收费信息查询接口")
    public AjaxResult findTjChargedButNotChargedByTjNumN(@RequestParam @ApiParam(value = "0未缴费1已缴费") Integer type,
                                                        @RequestParam @ApiParam(value = "体检号") String OrderId,
                                                         @RequestParam @ApiParam(value = "体检号") String OrderId,
                                                         @RequestParam String tjSerialNumber) {
        if (null != OrderId) {
        if (StringUtil.isNotBlank(OrderId)) {
            TjOrder order = orderService.getById(OrderId);
            if (null != order) {
                List<TjProject> tjProjectList = null;
                List<TjProject> tjProjectList = new ArrayList<>();
                List<TjOrderRemark> remarkList = null;
                LambdaQueryWrapper<TjFlowingWater> wrapper = new LambdaQueryWrapper<>();
                wrapper.eq(TjFlowingWater::getTjSerialNumber,tjSerialNumber);
                wrapper.eq(TjFlowingWater::getTjSerialNumber, tjSerialNumber);
//                wrapper.eq(TjFlowingWater::getPayStasus,type);
                TjFlowingWater water = tjFlowingWaterService.getOne(wrapper);
                if (water == null)
                    return AjaxResult.success(tjProjectList);
                if (type == 0) {
                    if (StrUtil.isBlank(water.getJxbz()))
                        tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNullAndJxbzIsNull(OrderId);
                    else tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNullN(OrderId,water.getJxbz());
//                        tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNullAndJxbzIsNull(OrderId);
                        remarkList = remarkService.shoufeiyemianweishoufei(order.getTjNumber(), null);
//                    else tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNullN(OrderId,water.getJxbz());
                    else remarkList = remarkService.shoufeiyemianweishoufei(order.getTjNumber(), water.getJxbz());
                } else {
                    if (StrUtil.isBlank(water.getJxbz()))
                        tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNotNullAndJxbzIsNull(OrderId);
                    else tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNotNullN(OrderId,water.getJxbz());
//                        tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNotNullAndJxbzIsNull(OrderId);
                        remarkList = remarkService.shoufeiyemianyishoufei(order.getTjNumber(), null);
//                    else tjProjectList = detailService.selectTjOrderDetailListByFlowingWaterIdIsNotNullN(OrderId,water.getJxbz());
                    else remarkList = remarkService.shoufeiyemianyishoufei(order.getTjNumber(), water.getJxbz());
                }
                String pacId = transitionService.selectPacIdByTbTransitionTjNumAndProId(order.getTjNumber(),order.getCardId());
                String s = tjFlowingWaterService.getDiscount(OrderId);
//                String pacId = transitionService.selectPacIdByTbTransitionTjNumAndProId(order.getTjNumber(),order.getCardId());
//                String s = tjFlowingWaterService.getDiscount(OrderId);
/*
                if (null != tjProjectList && !tjProjectList.isEmpty()) {
                    for (TjProject project : tjProjectList) {
                        if (project.getProParentId() == 0) {
@@ -1045,12 +1026,12 @@
                                    project.setProPrice(pp.getPriceNow());
                                    project.setProOrdPrice(pp.getPriceNow().multiply(new BigDecimal(s)));
                                } else {
                                    project.setProPrice(project.getProPrice().setScale(2));
                                    project.setProOrdPrice(project.getProPrice().multiply(new BigDecimal(s)).setScale(2));
                                    project.setProPrice(project.getProPrice());
                                    project.setProOrdPrice(project.getProPrice().multiply(new BigDecimal(s)));
                                }
                            } else {
                                project.setProPrice(project.getProPrice().setScale(2));
                                project.setProOrdPrice(project.getProPrice().multiply(new BigDecimal(s)).setScale(2));
                                project.setProPrice(project.getProPrice());
                                project.setProOrdPrice(project.getProPrice().multiply(new BigDecimal(s)));
                            }
                        }
                    }
@@ -1063,12 +1044,25 @@
                        if(null !=projectList && !projectList.isEmpty()){
                            for (TjProject project : projectList) {
                                project.setProOrdPrice(tjPackageProjectService.getPacProPriceByPacIdAndPro(project.getProId(),pacId)
                                        .multiply(new BigDecimal(s)).setScale(2));
                                        .multiply(new BigDecimal(s)));
                                tjProjectList.add(project);
                            }
                        }
                    }
                }
*/
                if (!remarkList.isEmpty()) {
                    for (TjOrderRemark remark : remarkList) {
                        TjProject tjProject = projectService.getById(remark.getProId());
                        BigDecimal newdecimal = transitionService.getTbTransitionNewPriceByTjNumAndParentId(remark.getTjNumber(), remark.getProId().toString());
                        BigDecimal orddecimal = transitionService.getTbTransitionOrdPriceByTjNumAndParentId(remark.getTjNumber(), remark.getProId().toString());
                        tjProject.setProOrdPrice(orddecimal);
                        tjProject.setProPrice(newdecimal);
                        tjProjectList.add(tjProject);
                    }
                }
                return AjaxResult.success(tjProjectList);
            }
@@ -1095,8 +1089,8 @@
            wq.ne(TjOrderDetail::getTjStatus, 3);
            wq.isNotNull(TjOrderDetail::getFlowingWaterId);
            List<TjOrderDetail> detailList = detailService.list(wq);
            String pacId = transitionService.selectPacIdByTbTransitionTjNumAndProId(tjOrder.getTjNumber(),tjOrder.getCardId());
            if (null != detailList && detailList.size() > 0) {
            String pacId = transitionService.selectPacIdByTbTransitionTjNumAndProId(tjOrder.getTjNumber(), tjOrder.getCardId());
            if (null != detailList && !detailList.isEmpty()) {
                List<TjRefundProInfoVo> tjRefundProInfoVoList = new ArrayList<>();
                for (TjOrderDetail detail : detailList) {
                    TjProject project = projectService.getById(detail.getProId());
@@ -1156,16 +1150,16 @@
        if (tjOrder.getCheckStatus() == 0 && tjOrder.getReportTime() == null) {
            List<TjRefundProInfoVo> tjRefundProInfoVoList = new ArrayList<>();
            LambdaQueryWrapper<TjFlowingWater> wrapper = new LambdaQueryWrapper<>();
            wrapper.eq(TjFlowingWater::getOrderId,tjOrder.getOrderId());
            wrapper.eq(TjFlowingWater::getPayStasus,1L);
            wrapper.eq(TjFlowingWater::getOrderId, tjOrder.getOrderId());
            wrapper.eq(TjFlowingWater::getPayStasus, 1L);
            List<TjFlowingWater> list = tjFlowingWaterService.list(wrapper);
            if (list.isEmpty())
                return AjaxResult.error("没有收费项目");
            for (TjFlowingWater water : list) {
                LambdaQueryWrapper<TjOrderRemark> wrapper1 = new LambdaQueryWrapper<>();
                wrapper1.eq(TjOrderRemark::getTjNumber,tjOrder.getTjNumber());
                wrapper1.eq(TjOrderRemark::getTjNumber, tjOrder.getTjNumber());
                if (StrUtil.isNotBlank(water.getJxbz()))
                    wrapper1.eq(TjOrderRemark::getJxbz,water.getJxbz());
                    wrapper1.eq(TjOrderRemark::getJxbz, water.getJxbz());
                else wrapper1.isNull(TjOrderRemark::getJxbz);
                wrapper1.isNotNull(TjOrderRemark::getSfbz);
                List<TjOrderRemark> list1 = remarkService.list(wrapper1);
@@ -1173,8 +1167,8 @@
                    TjProject project = projectService.getById(remark.getProId());
                    QueryWrapper<TbTransition> wrapper2 = new QueryWrapper<>();
                    wrapper2.select("sum(now_price) as now_price");
                    wrapper2.eq("tj_num",remark.getTjNumber());
                    wrapper2.eq("parent_pro_id",remark.getProId());
                    wrapper2.eq("tj_num", remark.getTjNumber());
                    wrapper2.eq("parent_pro_id", remark.getProId());
                    wrapper2.groupBy("parent_pro_id");
                    TbTransition transition = tbTransitionService.getOne(wrapper2);
                    TjRefundProInfoVo proInfoVo = new TjRefundProInfoVo();
@@ -1288,9 +1282,9 @@
        List<TjProject> refundPros = tjFlowingWater.getRefundPros();
        List<Long> proIds = refundPros.stream().map(TjProject::getProId).collect(Collectors.toList());
        LambdaQueryWrapper<TjSampling> wrapper = new LambdaQueryWrapper<>();
        wrapper.in(TjSampling::getProId,proIds);
        wrapper.eq(TjSampling::getTjNum,order.getTjNumber());
        wrapper.eq(TjSampling::getIsSignFor,"0");
        wrapper.in(TjSampling::getProId, proIds);
        wrapper.eq(TjSampling::getTjNum, order.getTjNumber());
        wrapper.eq(TjSampling::getIsSignFor, "0");
        List<TjSampling> list1 = tjSamplingService.list(wrapper);
        if (!list1.isEmpty())
            return AjaxResult.error("所选项目中包含已做检验项目无法退费");
@@ -1356,7 +1350,7 @@
                LambdaUpdateWrapper<TjOrderRemark> wqz = new LambdaUpdateWrapper<>();
                wqz.eq(TjOrderRemark::getTjNumber, order.getTjNumber());
                wqz.eq(TjOrderRemark::getProId, refundPro.getProId());
                wqz.set(TjOrderRemark::getSfbz,null);
                wqz.set(TjOrderRemark::getSfbz, null);
                remarkService.update(wqz);
            }
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjOrderController.java
@@ -1386,8 +1386,8 @@
            wrapper.eq(TbTransition::getTjNum, tjOrder.getTjNumber());
            wrapper.eq(TbTransition::getCusId, tjCustomer.getCusIdcard());
            wrapper.eq(TbTransition::getCardId, tjCustomer.getCardId());
            wrapper.isNotNull(TbTransition::getOrdPrice);
            wrapper.gt(TbTransition::getOrdPrice, 0);
            wrapper.isNotNull(TbTransition::getNowPrice);
            wrapper.gt(TbTransition::getNowPrice, 0);
            List<TbTransition> list = tbTransitionService.list(wrapper);
            for (TbTransition transition : list) {
@@ -1401,7 +1401,7 @@
                JSONObject obj = JSONUtil.createObj();
                Integer sl = project.getSl();
                BigDecimal danjia = transition.getOrdPrice();
                BigDecimal danjia = transition.getNowPrice();
                BigDecimal allPrice = danjia.multiply(new BigDecimal(sl));
                obj.putOpt("danJia", danjia);
                obj.putOpt("jieSuanJe", allPrice);
@@ -1410,11 +1410,6 @@
                obj.putOpt("zhiXingKsMc", dept.getDeptName());
                obj.putOpt("shouFeiXmId", project.getHisXmbm());
                obj.putOpt("shouFeiXmMc", project.getHisXmmc());
//                        obj.putOpt("zhiXingKs","7805");
//                        obj.putOpt("zhiXingKsMc","体检科");
//                        obj.putOpt("shouFeiXmId","4735346");
//                        obj.putOpt("shouFeiXmMc","体检费");
                array.add(obj);
            }
            map.put("feiYongInfoList", array);
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjReportController.java
@@ -2169,7 +2169,7 @@
            one.setPrintLastTime(null);
            one.setDownloadLastTime(null);
            if (tjOrderService.updateById(one)) {
                ycxmService.delOrderYcXmJyByTjh(tjNumber);
//                ycxmService.delOrderYcXmJyByTjh(tjNumber);
                return AjaxResult.success("撤回成功!");
            }
        }
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TbTransitionMapper.java
@@ -275,7 +275,7 @@
//            "\tON aa.pac_id=b.pac_id WHERE b.pro_id=#{proId} ")
//    BigDecimal getTbTransitionPriceAndOrdPrice(@Param("cusId")String cusId,@Param("proId")Long proId);
    @Select("SELECT SUM(a.now_price) FROM tb_transition a WHERE a.cus_id=#{cusId} AND a.parent_pro_id=#{proId}")
    @Select("SELECT SUM(a.now_price) FROM tb_transition a WHERE a.cus_id=#{cusId} and isnull(a.tj_num) AND a.parent_pro_id=#{proId}")
    BigDecimal getTbTransitionPriceAndOrdPrice(@Param("cusId")String cusId,@Param("proId")String proId);
@@ -368,4 +368,12 @@
    @Select("SELECT a.pac_id FROM tb_transition a WHERE  a.cus_id=#{idCard} AND isnull(a.tj_num) and !isnull(a.pac_id)  LIMIT 1 ")
    String  getTbTransitionPacId(String cusId);
    @Select("SELECT SUM(a.now_price) FROM tb_transition a WHERE  a.tj_num=#{tjNum} AND a.parent_pro_id=#{proId}")
    BigDecimal getTbTransitionNewPriceByTjNumAndParentId(@Param("tjNum")String tjNum,@Param("proId")String proId);
    @Select("SELECT SUM(a.ord_price) FROM tb_transition a WHERE  a.tj_num=#{tjNum} AND a.parent_pro_id=#{proId}")
    BigDecimal getTbTransitionOrdPriceByTjNumAndParentId(@Param("tjNum")String tjNum,@Param("proId")String proId);
}
ltkj-hosp/src/main/java/com/ltkj/hosp/mapper/TjOrderRemarkMapper.java
@@ -8,6 +8,7 @@
import com.ltkj.hosp.domain.TjOrderRemark;
import com.ltkj.hosp.vodomain.CsProVo;
import org.apache.ibatis.annotations.*;
import org.apache.ibatis.annotations.Param;
/**
 * 医生备注Mapper接口
@@ -278,4 +279,10 @@
            "             AND dep.org_type = 1"+
            "</script>"})
    List<CsProVo> cSWebGetProByTjNumAndOrderIdJy(String tjNumber);
    List<TjOrderRemark> shoufeiyemianyishoufei(@Param("tjNumber") String tjNumber, @Param("jxbz") String jxbz);
    List<TjOrderRemark> shoufeiyemianweishoufei(@Param("tjNumber") String tjNumber, @Param("jxbz") String jxbz);
}
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITbTransitionService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ltkj.hosp.domain.TbTransition;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.util.Date;
@@ -147,4 +148,9 @@
    String  getTbTransitionPacId(String cusId);
    BigDecimal getTbTransitionNewPriceByTjNumAndParentId(String tjNum, String proId);
    BigDecimal getTbTransitionOrdPriceByTjNumAndParentId(String tjNum, String proId);
}
ltkj-hosp/src/main/java/com/ltkj/hosp/service/ITjOrderRemarkService.java
@@ -91,4 +91,8 @@
    List<TjOrderRemark> yiShengJianChaGetPrentProCJGLY(String tjNumber);
    List<CsProVo> ysjcGetProByTjNumAndOrderId(String tjNumber);
    List<TjOrderRemark> shoufeiyemianyishoufei(String tjNumber,String jxbz);
    List<TjOrderRemark> shoufeiyemianweishoufei(String tjNumber,String jxbz);
}
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TbTransitionServiceImpl.java
@@ -252,4 +252,15 @@
    public String getTbTransitionPacId(String cusId) {
        return tbTransitionMapper.getTbTransitionPacId(cusId);
    }
    @Override
    public BigDecimal getTbTransitionNewPriceByTjNumAndParentId(String tjNum, String proId) {
        return tbTransitionMapper.getTbTransitionNewPriceByTjNumAndParentId(tjNum,proId);
    }
    @Override
    public BigDecimal getTbTransitionOrdPriceByTjNumAndParentId(String tjNum, String proId) {
        return tbTransitionMapper.getTbTransitionOrdPriceByTjNumAndParentId(tjNum,proId);
    }
}
ltkj-hosp/src/main/java/com/ltkj/hosp/service/impl/TjOrderRemarkServiceImpl.java
@@ -183,4 +183,14 @@
        return mapper.ysjcGetProByTjNumAndOrderId(tjNumber);
    }
    @Override
    public List<TjOrderRemark> shoufeiyemianyishoufei(String tjNumber, String jxbz) {
        return mapper.shoufeiyemianyishoufei(tjNumber,jxbz);
    }
    @Override
    public List<TjOrderRemark> shoufeiyemianweishoufei(String tjNumber, String jxbz) {
        return mapper.shoufeiyemianweishoufei(tjNumber,jxbz);
    }
}
ltkj-hosp/src/main/resources/mapper/hosp/TjOrderRemarkMapper.xml
@@ -4,7 +4,8 @@
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ltkj.hosp.mapper.TjOrderRemarkMapper">
    <select id="tjYishengjianchajianyi"  parameterType="java.util.Map"  statementType="CALLABLE" resultType="java.util.Map">
    <select id="tjYishengjianchajianyi" parameterType="java.util.Map" statementType="CALLABLE"
            resultType="java.util.Map">
        {call tj_yishengjianchajianyi(
                #{tjNum,mode=IN,jdbcType=VARCHAR},
                #{ksId,mode=IN,jdbcType=VARCHAR},
@@ -13,4 +14,40 @@
              )}
    </select>
    <select id="shoufeiyemianyishoufei" resultType="com.ltkj.hosp.domain.TjOrderRemark">
        SELECT * FROM tj_order_remark a
        <where>
            a.deleted=0 AND a.type !=2 and !isnull(a.sfbz) AND a.tj_number=#{tjNumber}
            <choose>
                <!-- 如果 jxbz 不为空,走此逻辑 -->
                <when test="jxbz != null and jxbz != ''">
                    AND a.jxbz = #{jxbz}
                </when>
                <!-- 如果 jxbz 为空,走其他逻辑 -->
                <otherwise>
                    AND a.jxbz IS NULL
                </otherwise>
            </choose>
        </where>
    </select>
    <select id="shoufeiyemianweishoufei" resultType="com.ltkj.hosp.domain.TjOrderRemark">
        SELECT * FROM tj_order_remark a
        <where>
            a.deleted=0 AND a.type !=2 and isnull(a.sfbz) AND a.tj_number=#{tjNumber}
            <choose>
                <!-- 如果 jxbz 不为空,走此逻辑 -->
                <when test="jxbz != null and jxbz != ''">
                    AND a.jxbz = #{jxbz}
                </when>
                <!-- 如果 jxbz 为空,走其他逻辑 -->
                <otherwise>
                    AND a.jxbz IS NULL
                </otherwise>
            </choose>
        </where>
    </select>
</mapper>