陈昶聿
18 小时以前 8bcc5278995a5de8e8ebacc7d9a2e0fcf64bd4a5
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -17,6 +17,7 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -374,7 +375,10 @@
    public Map<String, Object> patItemCount(ServiceSubtaskVO serviceSubtaskVO) {
        // 直接调用数据库统计方法,在数据库层完成聚合计算
        Map<String, Object> result = serviceSubtaskMapper.countByCondition(serviceSubtaskVO);
        // 处理空异常
        if(MapUtils.isEmpty(result)){
            result = new HashMap<>();
        }
        // 确保所有 key 都有值,避免空指针异常
        // MyBatis 的 SUM 在没有匹配行时会返回 null
        result.putIfAbsent("wzx", 0);
@@ -516,7 +520,15 @@
            }
            if (ObjectUtils.isNotEmpty(serviceTaskVO.getIvrTaskTemplateVO())) {
                tempid = Long.valueOf(ivrTaskTemplateService.saveOrUpdateTempScript(serviceTaskVO.getIvrTaskTemplateVO()));
                tempName = ivrTaskTemplateService.selectIvrTaskTemplateByID(tempid).getTemplateName();
                log.info("IVR模板插入成功,返回的tempid={}", tempid);
                IvrTaskTemplate ivrTaskTemplate = ivrTaskTemplateService.selectIvrTaskTemplateByID(tempid);
                if (ivrTaskTemplate == null) {
                    log.error("根据tempid={}查询IVR模板失败,返回null!请检查del_flag字段是否正确设置", tempid);
                    throw new BaseException("IVR模板保存成功但查询失败,请联系管理员检查数据");
                }
                tempName = ivrTaskTemplate.getTemplateName();
                log.info("IVR模板查询成功,tempName={}", tempName);
            }
            //往任务表中,新增任务
@@ -2971,6 +2983,11 @@
        serviceSubtaskPreachform.setTaskid(taskid);
        List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform);
        if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) {
            //没有随访时间则按当天来算--临时
            if (ObjectUtils.isEmpty(visitTime)) {
                visitTime = new Date();
            }
            String compensateTime = serviceSubtaskPreachforms.get(0).getCompensateTime();
            int hoursToAdd = Integer.valueOf(compensateTime) * 24;
            Calendar calendar = Calendar.getInstance();