zhaowenxuan
4 天以前 2b2763c83e352f8ffd2ac0b5c46b60c49ee78439
ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjAskMedicalHistoryController.java
@@ -5,10 +5,15 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.bean.BeanUtil;
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.ltkj.framework.config.MatchUtils;
import com.ltkj.hosp.domain.*;
import com.ltkj.hosp.service.*;
import com.ltkj.web.controller.dto.PutAskMedicalHistoryDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.val;
@@ -121,13 +126,23 @@
                    askWorkLog.setHarmTypeLogs(skuNos);
                }
                TjOrder order = tjOrderService.getOrderByTjNum(tjNumber);
                one.setTjLx(order.getTjCategory());
                LambdaQueryWrapper<TjAskHistorys> wqq111 = new LambdaQueryWrapper<>();
                wqq111.eq(TjAskHistorys::getAskId, one.getAskId());
                final List<TjAskHistorys> list11 = historysService.list(wqq111);
                wqq111.eq(TjAskHistorys::getDataType,1);
                List<TjAskHistorys> list11 = historysService.list(wqq111);
                one.setTjAskHistorysList(list11);
                TjOrder order = tjOrderService.getOrderByTjNum(tjNumber);
                one.setTjLx(order.getTjCategory());
                wqq111 = new LambdaQueryWrapper<>();
                wqq111.eq(TjAskHistorys::getAskId, one.getAskId());
                wqq111.eq(TjAskHistorys::getDataType,2);
                list11 = historysService.list(wqq111);
                one.setZhiyezzList(list11);
                return AjaxResult.success(one);
            }else {
                TjAskMedicalHistory a = new TjAskMedicalHistory();
@@ -191,11 +206,82 @@
    /**
     * pc端修改问诊
     */
//    @ApiOperation(value = "pc端修改问诊")
//    @Log(title = "问诊", businessType = BusinessType.UPDATE)
//    @PutMapping
//    @Transactional
//    public AjaxResult edit(@RequestBody TjAskMedicalHistory tjAskMedicalHistory) {
//        LambdaQueryWrapper<TjAskWorkLog> wq = new LambdaQueryWrapper<>();
//        wq.eq(TjAskWorkLog::getTjNumber, tjAskMedicalHistory.getTjNum());
//        tjAskWorkLogService.remove(wq);
//        LambdaQueryWrapper<TjHarmTypeLog> wq1 = new LambdaQueryWrapper<>();
//        wq1.eq(TjHarmTypeLog::getTjNumber, tjAskMedicalHistory.getTjNum());
//        tjHarmTypeLogService.remove(wq1);
//
//
//        boolean b = false;
//        tjAskMedicalHistory.setFromBy("PC端");
//        if (tjAskMedicalHistory.getAskId() != null) {
//            b = tjAskMedicalHistoryService.updateById(tjAskMedicalHistory);
//        } else {
//            b = tjAskMedicalHistoryService.save(tjAskMedicalHistory);
//        }
//        if (b) {
//            List<TjAskHistorys> tjAskHistorysList = tjAskMedicalHistory.getTjAskHistorysList();
//            if (tjAskHistorysList != null && tjAskHistorysList.size() > 0) {
//                for (TjAskHistorys tjAskHistorys : tjAskMedicalHistory.getTjAskHistorysList()) {
//                    tjAskHistorys.setAskId(tjAskMedicalHistory.getAskId());
//                    boolean b1 = historysService.saveOrUpdate(tjAskHistorys);
//                    if (!b1) {
//                        return AjaxResult.error();
//                    }
//                }
//            }
//
//            List<TjAskWorkLog> askWorkLogs = tjAskMedicalHistory.getWorkLogs();
//            if (askWorkLogs != null && askWorkLogs.size() > 0) {
//                for (TjAskWorkLog askWorkLog : askWorkLogs) {
//                    askWorkLog.setCusId(tjAskMedicalHistory.getCusId());
//                    askWorkLog.setCusName(tjAskMedicalHistory.getCusName());
//                    askWorkLog.setTjNumber(tjAskMedicalHistory.getTjNum());
//                    askWorkLog.setAskId(tjAskMedicalHistory.getAskId());
//                    boolean b1 = tjAskWorkLogService.saveOrUpdate(askWorkLog);
//                    List<String> harmTypeLogs = askWorkLog.getHarmTypeLogs();
//                    if (harmTypeLogs != null) {
//                        for (String harmTypeLog : harmTypeLogs) {
//                            final TjHarmType byId = tjHarmTypeService.getById(harmTypeLog);
//                            if (byId != null) {
//                                TjHarmTypeLog log = new TjHarmTypeLog();
//                                log.setAid(byId.getAid());
//                                log.setCusId(tjAskMedicalHistory.getCusId());
//                                log.setCusName(tjAskMedicalHistory.getCusName());
//                                log.setTjNumber(tjAskMedicalHistory.getTjNum());
//                                log.setWorkId(askWorkLog.getId());
//                                tjHarmTypeLogService.save(log);
//                            }
//                        }
//                    }
//                    if (!b1) {
//                        return AjaxResult.error();
//                    }
//                }
//            }
//            return AjaxResult.success(tjAskMedicalHistory);
//        }
//        return AjaxResult.error();
//        //return toAjax(tjAskMedicalHistoryService.updateTjAskMedicalHistory(tjAskMedicalHistory));
//    }
    /**
     * pc端修改问诊
     */
    @ApiOperation(value = "pc端修改问诊")
    @Log(title = "问诊", businessType = BusinessType.UPDATE)
    @PutMapping
    @Transactional
    public AjaxResult edit(@RequestBody TjAskMedicalHistory tjAskMedicalHistory) {
    public AjaxResult edit(@RequestBody PutAskMedicalHistoryDto askMedicalHistoryDto) {
        TjAskMedicalHistory tjAskMedicalHistory = new TjAskMedicalHistory();
        BeanUtil.copyProperties(askMedicalHistoryDto,tjAskMedicalHistory,true);
        LambdaQueryWrapper<TjAskWorkLog> wq = new LambdaQueryWrapper<>();
        wq.eq(TjAskWorkLog::getTjNumber, tjAskMedicalHistory.getTjNum());
        tjAskWorkLogService.remove(wq);
@@ -206,6 +292,19 @@
        boolean b = false;
        tjAskMedicalHistory.setFromBy("PC端");
        JSONArray medicalHistory = askMedicalHistoryDto.getMedicalHistory();
        String medicalHistoryTxt = medicalHistory.stream().map(item -> {
            JSONObject entries = (JSONObject) item;
            return entries.getStr("icdname");
        }).collect(Collectors.joining(","));
        String medicalHistoryIds = medicalHistory.stream().map(item -> {
            JSONObject entries = (JSONObject) item;
            return entries.getStr("id");
        }).collect(Collectors.joining(","));
        tjAskMedicalHistory.setMedicalHistoryIds(medicalHistoryIds);
        tjAskMedicalHistory.setMedicalHistory(medicalHistoryTxt);
        if (tjAskMedicalHistory.getAskId() != null) {
            b = tjAskMedicalHistoryService.updateById(tjAskMedicalHistory);
        } else {
@@ -213,9 +312,22 @@
        }
        if (b) {
            List<TjAskHistorys> tjAskHistorysList = tjAskMedicalHistory.getTjAskHistorysList();
            if (tjAskHistorysList != null && tjAskHistorysList.size() > 0) {
            if (tjAskHistorysList != null && !tjAskHistorysList.isEmpty()) {
                for (TjAskHistorys tjAskHistorys : tjAskMedicalHistory.getTjAskHistorysList()) {
                    tjAskHistorys.setAskId(tjAskMedicalHistory.getAskId());
                    tjAskHistorys.setDataType(1);
                    boolean b1 = historysService.saveOrUpdate(tjAskHistorys);
                    if (!b1) {
                        return AjaxResult.error();
                    }
                }
            }
            List<TjAskHistorys> zhiyezzList = askMedicalHistoryDto.getZhiyezzList();
            if (zhiyezzList != null && !zhiyezzList.isEmpty()) {
                for (TjAskHistorys tjAskHistorys : zhiyezzList) {
                    tjAskHistorys.setAskId(tjAskMedicalHistory.getAskId());
                    tjAskHistorys.setDataType(2);
                    boolean b1 = historysService.saveOrUpdate(tjAskHistorys);
                    if (!b1) {
                        return AjaxResult.error();
@@ -224,7 +336,7 @@
            }
            List<TjAskWorkLog> askWorkLogs = tjAskMedicalHistory.getWorkLogs();
            if (askWorkLogs != null && askWorkLogs.size() > 0) {
            if (askWorkLogs != null && !askWorkLogs.isEmpty()) {
                for (TjAskWorkLog askWorkLog : askWorkLogs) {
                    askWorkLog.setCusId(tjAskMedicalHistory.getCusId());
                    askWorkLog.setCusName(tjAskMedicalHistory.getCusName());
@@ -254,7 +366,16 @@
            return AjaxResult.success(tjAskMedicalHistory);
        }
        return AjaxResult.error();
        //return toAjax(tjAskMedicalHistoryService.updateTjAskMedicalHistory(tjAskMedicalHistory));
    }
    /**
     * 删除病史或症状
     * @param historyId
     * @return
     */
    @PostMapping("/removeAskHistorys")
    public AjaxResult removeAskHistorys(@RequestBody List<String > historyId){
        return toAjax(historysService.removeByIds(historyId));
    }
@@ -288,9 +409,20 @@
                LambdaQueryWrapper<TjAskHistorys> wqq111 = new LambdaQueryWrapper<>();
                wqq111.eq(TjAskHistorys::getAskId, one.getAskId());
                final List<TjAskHistorys> list11 = historysService.list(wqq111);
                wqq111.eq(TjAskHistorys::getDataType,1);
                List<TjAskHistorys> list11 = historysService.list(wqq111);
                one.setTjAskHistorysList(list11);
                wqq111 = new LambdaQueryWrapper<>();
                wqq111.eq(TjAskHistorys::getAskId, one.getAskId());
                wqq111.eq(TjAskHistorys::getDataType,2);
                list11 = historysService.list(wqq111);
                one.setZhiyezzList(list11);
                TjOrder order = tjOrderService.getOrderByTjNum(tjNumber);
                one.setTjLx(order.getTjCategory());
                return AjaxResult.success(one);
            }else {
                TjAskMedicalHistory a = new TjAskMedicalHistory();