zjh
2024-07-19 35492c6595e9585e54e25a97eda08e679efa1c12
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjCheckController.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 lombok.var;
import org.aspectj.weaver.AjAttribute;
import org.springframework.beans.factory.annotation.Autowired;
@@ -46,6 +47,7 @@
import java.util.*;
import java.util.stream.Collectors;
import static com.ltkj.framework.datasource.DynamicDataSourceContextHolder.log;
import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.save;
import static org.apache.poi.hemf.record.emfplus.HemfPlusRecordType.setClipRect;
@@ -56,6 +58,7 @@
@RestController
@RequestMapping ("/check")
@Api (tags = "总检医师相关接口")
@Slf4j
public class TjCheckController {
    @Resource
    private ITjOrderService orderService;
@@ -320,8 +323,11 @@
    @GetMapping ("/dataSynchronization")
    @ApiOperation (value = "同步sql server数据到本地数据库数据接口")
    @RepeatSubmit
    @Transactional
//    @Transactional
    public AjaxResult dataSynchronization(@RequestParam String tjNumber) {
        //根据配置调取存储过程 将临时表数据存入预约表2023.12.12
        final String getInfoFromSqlData = configService.selectConfigByKey("getInfoFromSqlData");
@@ -377,10 +383,7 @@
                        return AjaxResult.error("化验项目暂时无结果,请稍后同步!!!");
                    }
                    JSONArray data = object.getJSONArray("ResultData");
//                    int size = data.size();
//                    if(size>0){
//
//                     }
                    for (Object datum : data) {
                        JSONObject jsonObject = (JSONObject) datum;
                        LtkjHysqd jybgid = ltkjHysqdService.getLtkjHysqdByTjhAndTmh(order.getCardId(), jsonObject.getStr("JYBGID"));
@@ -436,25 +439,66 @@
                                    ltkjHybgdService.save(bgd);
                                }
                            }
                            Map<String, Object> fbhashMap = new HashMap<>();
                            fbhashMap.put("jybgid", hysqd.getTmh());
                            AjaxResult fbres = controller.Getlabgermrepinfo(fbhashMap);
                            String ajaxResult = getAjaxResult(fbres);
                            JSONObject fbobject = getJSONObject(ajaxResult);
                            String fbcode = fbobject.getStr("ResultCode");
                            if (null != fbcode && fbcode.equals("0")) {
                                JSONArray datas = fbobject.getJSONArray("ResultData");
                                for (Object o : datas) {
                                    JSONObject js = (JSONObject) o;
                                    LtkjHybgd bgd = new LtkjHybgd();
                                    bgd.setTmh(hysqd.getTmh());
                                    bgd.setJcxmid(hysqd.getXmid());
                                    bgd.setJcxm(hysqd.getXmmc());
                                    bgd.setTdh(js.getStr(""));
                                    bgd.setJyjg(js.getStr("JCJG"));
                                    bgd.setJgdw("/");
                                    bgd.setFwzdz("/");
                                    bgd.setFwzgz("/");
                                    bgd.setFwz("/");
                                    bgd.setJysj(js.getStr("BGRQ"));
                                    bgd.setJyys(hysqd.getSqrxm());
                                    bgd.setShsj(js.getStr("BGRQ"));
                                    bgd.setShys(hysqd.getShrdm());
                                    bgd.setShysmc(hysqd.getShrxm());
                                    ltkjHybgdService.save(bgd);
                                }
                            }
                        }
                    }
                    //同步检查
                    Map<String, Object> maps = new HashMap<>();
                    maps.put("his_registration_id", order.getCardId());
                    maps.put("ksbm", "体检中心");
                    maps.put("pagecount", 100);
                    maps.put("page", 1);
                    AjaxResult results = service.getHISDataNew("Getexamreportinfo", maps);
                    /*同步检查 his接口*/
//                    Map<String, Object> maps = new HashMap<>();
//                    maps.put("his_registration_id", order.getCardId());
//                    maps.put("ksbm", "体检中心");
//                    maps.put("pagecount", 100);
//                    maps.put("page", 1);
//                    AjaxResult results = service.getHISDataNew("Getexamreportinfo", maps);
                    /*同步检查 his存储过程*/
                    AjaxResult results = jcsqdService.getTjJcProByHisCall("体检中心",order.getCardId(),"''",100,1,"'1'");
                    DynamicDataSourceContextHolder.clearDataSourceType();
                    log.info("检查项目查询返回值:      "+results.toString());
                    if (Integer.parseInt(results.get("code").toString()) == 200) {
                        List<Map<String, Object>> datas = (List<Map<String, Object>>) results.get("data");
                        if(null !=datas && datas.size()>0){
                            jcsqdService.deletedLtkjJcsqdByTjhAndTmh(order.getCardId());
                            jcbgdService.deletedLtkjJcbgdByTjhAndTmh(order.getCardId());
                            for (Map<String, Object> objectMap : datas) {
                                LtkjExamJcsqd jybgid = jcsqdService.getLtkjJcsqdByTjhAndTmh(order.getCardId(), objectMap.get("JCBGID").toString());
                                if (null != jybgid) {
                                    jcsqdService.deletedLtkjJcsqdByTjhAndTmh(order.getCardId(), objectMap.get("JCBGID").toString());
                                    jcbgdService.deletedLtkjJcbgdByTjhAndTmh(jybgid.getTmh());
                                }
//                                LtkjExamJcsqd jybgid = jcsqdService.getLtkjJcsqdByTjhAndTmh(order.getCardId(), objectMap.get("JCBGID").toString());
//                                if (null != jybgid) {
//                                    jcsqdService.deletedLtkjJcsqdByTjhAndTmh(order.getCardId(), objectMap.get("JCBGID").toString());
//                                    jcbgdService.deletedLtkjJcbgdByTjhAndTmh(jybgid.getTmh());
//                                }
                                LtkjExamJcbgd jcbgd=new LtkjExamJcbgd();
                                jcbgd.setTjh(order.getCardId());
                                if(null !=objectMap.get("JCBGID") || !objectMap.get("JCBGID").equals(""))
@@ -481,11 +525,21 @@
                                if(null !=objectMap.get("YXZD") || !objectMap.get("YXZD").equals(""))
                                jcbgd.setYxzd(objectMap.get("YXZD").toString());
                                if(null !=objectMap.get("YXBX") || !objectMap.get("YXBX").equals(""))
                                jcbgd.setYxbx(objectMap.get("YXBX").toString());
                                if(null !=objectMap.get("YXBX") || !objectMap.get("YXBX").equals("")){
                                    if(objectMap.get("YXBX").toString().equals("null")){
                                        jcbgd.setYxbx("未检异常");
                                    }else {
                                        jcbgd.setYxbx(objectMap.get("YXBX").toString());
                                    }
                                }
                                if(null !=objectMap.get("SJJLSJ") || !objectMap.get("SJJLSJ").equals(""))
                                jcbgd.setZdsj(objectMap.get("SJJLSJ").toString());
                                if(null !=objectMap.get("JCBW") || !objectMap.get("JCBW").equals(""))
                                    jcbgd.setJcbw(objectMap.get("JCBW").toString());
                                if(null !=objectMap.get("SQRQSJ") || !objectMap.get("SQRQSJ").equals(""))
                                    jcbgd.setSqsj(objectMap.get("SQRQSJ").toString());
                                jcbgdService.save(jcbgd);
                            }
@@ -501,6 +555,7 @@
                asyncService.updateCheckType(order.getTjNumber());
            }
            return AjaxResult.success("同步成功");
//            return AjaxResult.error("化验项目暂时无结果,请稍后同步!!!");
        }
        return AjaxResult.error();
    }
@@ -932,12 +987,13 @@
                parent.put("parent", remark.getProName());
                parent.put("parentId", remark.getProsId());
                parent.put("xmlb", remark.getXmlb());
                parent.put("", remark.getXmlb());
                List<TjOrderDetail> dels = new ArrayList<>();
                if (null != tjOrderDetails && tjOrderDetails.size() > 0) {
                    for (TjOrderDetail tjOrderDetail : tjOrderDetails) {
                        if (remark.getProsId().equals(tjOrderDetail.getProsId())) {
                            String ckfw = tjOrderDetail.getStanId();
                            if (StrUtil.isNotBlank(tjOrderDetail.getProAdvice())) {
                            if (null !=ckfw && StrUtil.isNotBlank(tjOrderDetail.getProAdvice())) {
                                ckfw = ckfw.replace(tjOrderDetail.getProAdvice().trim(), "");
                            }
                            if (StrUtil.isNotBlank(ckfw)) {
@@ -958,10 +1014,13 @@
                                } catch (NumberFormatException ignored) {
                                    ignored.printStackTrace();
                                }
                                if (null != tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().equals("")) {
                                    tjOrderDetail.setProResult(tjOrderDetail.getProResult() + " [" + tjOrderDetail.getYcbz() + "]");
                                }
                            }else {
                                tjOrderDetail.setProResult(tjOrderDetail.getProResult());
                            }
                            if (null != tjOrderDetail.getYcbz() && !tjOrderDetail.getYcbz().equals("")) {
                                tjOrderDetail.setProResult(tjOrderDetail.getProResult() + " [" + tjOrderDetail.getYcbz() + "]");
                            }
                            dels.add(tjOrderDetail);
                        }
                    }
@@ -977,6 +1036,7 @@
                    }
                    parent.put("sons", dels);
                    parent.put("remark", remark.getRemark());
                    parent.put("jgbx", remark.getJgbx());
                    if (remark.getDoctorName() != null) {
                        parent.put("doctorName", remark.getDoctorName());
                    }