wlzboy
23 小时以前 6b29bd596f8b48485d3506bfba4a1e0ea6c7df99
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysEmergencyTaskServiceImpl.java
@@ -1,5 +1,6 @@
package com.ruoyi.system.service.impl;
import com.ruoyi.common.utils.BigDecimalUtil;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.SysTask;
@@ -41,9 +42,11 @@
    @Override
    public void saveEmergencyInfo(Long taskId, String createUserName, TaskCreateVO createVO,
                                  String serviceOrderId, String dispatchOrderId, String serviceOrdNo) {
                                  Long serviceOrderId, Long dispatchOrderId, String serviceOrdNo) {
        SysTaskEmergency emergencyInfo = new SysTaskEmergency();
        emergencyInfo.setTaskId(taskId);
        emergencyInfo.setServiceOrdVip(createVO.getServiceOrdVIP());
        emergencyInfo.setFromHq2Is(createVO.getFromHQ2_is());
        if (createVO.getPatient() != null) {
            emergencyInfo.setPatientContact(createVO.getPatient().getContact());
@@ -123,13 +126,13 @@
        }
        if (serviceOrderId != null) {
            emergencyInfo.setLegacyServiceOrdId(Long.parseLong(serviceOrderId));
            emergencyInfo.setLegacyServiceOrdId(serviceOrderId);
            emergencyInfo.setSyncStatus(2);
            emergencyInfo.setSyncTime(DateUtils.getNowDate());
            emergencyInfo.setSyncErrorMsg("旧系统同步过来");
        }
        if (dispatchOrderId != null) {
            emergencyInfo.setLegacyDispatchOrdId(Long.parseLong(dispatchOrderId));
            emergencyInfo.setLegacyDispatchOrdId(dispatchOrderId);
            emergencyInfo.setDispatchSyncStatus(2);
            emergencyInfo.setDispatchSyncTime(DateUtils.getNowDate());
            emergencyInfo.setDispatchSyncErrorMsg("旧系统同步过来");
@@ -143,6 +146,21 @@
        emergencyInfo.setCreateBy(createUserName);
        emergencyInfo.setUpdateBy(createUserName);
        if(createVO.getLegacyDispatchNsTime() != null){
            emergencyInfo.setLegacyDispatchNsTime(createVO.getLegacyDispatchNsTime());
        }
        if(createVO.getLegacyDispatchOrdClass() != null){
            emergencyInfo.setLegacyDispatchOrdClass(createVO.getLegacyDispatchOrdClass());
        }
        if(createVO.getLegacyDispatchOrdNo() != null){
            emergencyInfo.setLegacyDispatchOrdNo(createVO.getLegacyDispatchOrdNo());
        }
        if(createVO.getLegacyServiceNsTime() != null){
            emergencyInfo.setLegacyServiceNsTime(createVO.getLegacyServiceNsTime());
        }
        if(createVO.getLegacyServiceOrdClass() != null){
            emergencyInfo.setLegacyServiceOrdClass(createVO.getLegacyServiceOrdClass());
        }
        sysTaskEmergencyMapper.insertSysTaskEmergency(emergencyInfo);
    }
@@ -276,7 +294,31 @@
        oldEmergency.setUpdateTime(DateUtils.getNowDate());
        oldEmergency.setUpdateBy(userName);
        if( updateVO.getLegacyDispatchNsTime() != null) {
            oldEmergency.setLegacyDispatchNsTime(updateVO.getLegacyDispatchNsTime());
        }
        if( updateVO.getLegacyServiceNsTime() != null){
            oldEmergency.setLegacyServiceNsTime(updateVO.getLegacyServiceNsTime());
        }
        if( updateVO.getLegacyDispatchOrdClass() != null){
            oldEmergency.setLegacyDispatchOrdClass(updateVO.getLegacyDispatchOrdClass());
        }
        if( updateVO.getLegacyDispatchOrdNo() != null){
            oldEmergency.setLegacyDispatchOrdNo(updateVO.getLegacyDispatchOrdNo());
        }
        if( updateVO.getLegacyServiceOrdClass() != null){
            oldEmergency.setLegacyServiceOrdClass(updateVO.getLegacyServiceOrdClass());
        }
        oldEmergency.setFromHq2Is(updateVO.getFromHQ2_is());
        oldEmergency.setServiceOrdVip(updateVO.getServiceOrdVIP());
        sysTaskEmergencyMapper.updateSysTaskEmergency(oldEmergency);
    }
    @Override
    public SysTaskEmergency selectSysTaskEmergencyByTaskId(Long taskId) {
        return sysTaskEmergencyMapper.selectSysTaskEmergencyByTaskId(taskId);
    }
    @Override
@@ -285,7 +327,7 @@
            return;
        }
        
        log.info("更新转运任务 taskId:{}", existingInfo.getTaskId());
//        log.info("更新转运任务 taskId:{}", existingInfo.getTaskId());
        
        // 更新患者信息
        if (createVO.getPatient() != null) {
@@ -341,7 +383,7 @@
                        if (coords != null) {
                            existingInfo.setHospitalOutLongitude(BigDecimal.valueOf(coords.get("lng")));
                            existingInfo.setHospitalOutLatitude(BigDecimal.valueOf(coords.get("lat")));
                            log.info("转出医院GPS坐标自动获取成功: {}, {}", coords.get("lng"), coords.get("lat"));
//                            log.info("转出医院GPS坐标自动获取成功: {}, {}", coords.get("lng"), coords.get("lat"));
                        }
                    } catch (Exception e) {
                        log.error("自动获取转出医院GPS坐标失败", e);
@@ -382,7 +424,7 @@
                        if (coords != null) {
                            existingInfo.setHospitalInLongitude(BigDecimal.valueOf(coords.get("lng")));
                            existingInfo.setHospitalInLatitude(BigDecimal.valueOf(coords.get("lat")));
                            log.info("转入医院GPS坐标自动获取成功: {}, {}", coords.get("lng"), coords.get("lat"));
//                            log.info("转入医院GPS坐标自动获取成功: {}, {}", coords.get("lng"), coords.get("lat"));
                        }
                    } catch (Exception e) {
                        log.error("自动获取转入医院GPS坐标失败", e);
@@ -392,11 +434,12 @@
        }
        
        // 更新费用信息
        if (createVO.getTransferDistance() != null) {
        if (createVO.getTransferDistance() != null && BigDecimalUtil.izBigZero(createVO.getTransferDistance())) {
            existingInfo.setTransferDistance(createVO.getTransferDistance());
        }
        if (createVO.getPrice() != null) {
            existingInfo.setTransferPrice(createVO.getPrice());
//            log.info("任务ID:{},serviceOrdId:{} 更新价格:{}",existingInfo.getTaskId(),existingInfo.getLegacyServiceOrdId(), createVO.getPrice());
        }
        
        // 更新单据类型ID
@@ -420,7 +463,26 @@
        // 系统字段
        existingInfo.setUpdateTime(DateUtils.getNowDate());
        existingInfo.setUpdateBy(userName);
        if(createVO.getLegacyDispatchNsTime() != null){
            existingInfo.setLegacyDispatchNsTime(createVO.getLegacyDispatchNsTime());
        }
        if(createVO.getLegacyDispatchOrdNo() != null){
            existingInfo.setLegacyDispatchOrdNo(createVO.getLegacyDispatchOrdNo());
        }
        if(createVO.getLegacyServiceNsTime() != null){
            existingInfo.setLegacyServiceNsTime(createVO.getLegacyServiceNsTime());
        }
        if(createVO.getLegacyDispatchOrdClass() != null){
            existingInfo.setLegacyDispatchOrdClass(createVO.getLegacyDispatchOrdClass());
        }
        if(createVO.getLegacyServiceOrdClass() != null){
            existingInfo.setLegacyServiceOrdClass(createVO.getLegacyServiceOrdClass());
        }
        existingInfo.setServiceOrdVip(createVO.getServiceOrdVIP());
        existingInfo.setFromHq2Is(createVO.getFromHQ2_is());
        // 执行更新
        sysTaskEmergencyMapper.updateSysTaskEmergency(existingInfo);
    }
@@ -432,6 +494,7 @@
        }
        try {
            sysTaskEmergencyService.markNeedResync(taskId);
        } catch (Exception e) {
            // 标记失败不影响主流程
        }