8fd1f76c097407a6b49707a06f3ea3d421ea2c30..4d09f74ed6873cd8603997be2925af2b8226a476
2026-06-12 liusheng
修改任务规则删除接口
4d09f7 对比 | 目录
2026-06-12 陈昶聿
【市一】手术随访 多选手术等级 配置科室
620f2e 对比 | 目录
2026-06-12 liusheng
短信模板修改
d5d181 对比 | 目录
已修改8个文件
287 ■■■■■ 文件已修改
ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskRuleController.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/ServiceTaskVO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/domain/ServiceTaskoper.java 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java 57 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
smartor/src/main/resources/mapper/smartor/ServiceTaskoperMapper.xml 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -21,6 +21,7 @@
import com.ruoyi.common.utils.sign.Md5Utils;
import com.ruoyi.common.utils.sms.smsUtils;
import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.system.mapper.SysConfigMapper;
import com.ruoyi.system.service.ISysConfigService;
import com.smartor.common.LSHospTokenUtil;
import com.smartor.common.MtSubmitSmUtil;
@@ -121,6 +122,8 @@
    @Autowired
    private ISysConfigService configService;
    @Autowired
    private SysConfigMapper sysConfigMapper;
    public RedisMqReceiver(RedisMessageListenerContainer listenerContainer) {
        super(listenerContainer);
@@ -311,12 +314,11 @@
                        iServiceOutPathService.updateServiceOutPath(serviceOutPath);
                        sendMagParam.setPhone(serviceSubtask.getPhone());
                        sendMagParam.setUrl(ip + ":" + req_path + "/sf?p=" + format);
                        if (active.equals("ls") || active.equals("sltd") || active.equals("nhfy")) {
                            sendMagParam.setContent("您好,邀请您填写出院随访调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!");
                        } else if (active.equals("xh")) {
                            sendMagParam.setContent("【新华医院】您好,邀请您填写出院随访调查表,请点击" + sendMagParam.getUrl() + "填写。感谢您配合!");
                        } else if (active.equals("hzszlyy")) {
                            sendMagParam.setContent("【杭州市第一人民医院】您好,邀请您填写出院调查表,请点击" + sendMagParam.getUrl() + "填写。感谢您配合!");
                        SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template");
                        if (!Objects.isNull(sysConfig)) {
                            String smsContemt = sysConfig.getConfigValue();
//                          sendMagParam.setContent("您好,邀请您填写出院随访调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!");
                            sendMagParam.setContent(smsContemt.replace("${wjurl}", sendMagParam.getUrl()));
                        }
                    } else if (type == 2) {
@@ -340,14 +342,12 @@
                        //如果type是语音随访的话(说明补偿发送方式中有电话随访的方式,这里的外链就地址只能用/sf)
                        if (serviceSubtask.getType().equals("1"))
                            sendMagParam.setUrl(StringUtils.isNotEmpty(req_path) ? ip + ":" + req_path + "/sf?p=" + format : ip + "/sf?p=" + format);
                        if (active.equals("ls") || active.equals("sltd") || active.equals("nhfy")) {
                            sendMagParam.setContent("您好,邀请您填写出院调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!");
                        } else if (active.equals("xh")) {
                            sendMagParam.setContent("【新华医院】您好,邀请您填写出院调查表,请点击" + sendMagParam.getUrl() + "填写。感谢您配合!");
                        } else if (active.equals("druid")) {
                            sendMagParam.setContent("您好,邀请您填写出院调查表,请点击" + sendMagParam.getUrl() + "填写。感谢您配合!");
                        } else if (active.equals("hzszlyy")) {
                            sendMagParam.setContent("【杭州市第一人民医院】您好,邀请您填写出院调查表,请点击" + sendMagParam.getUrl() + "填写。感谢您配合!");
                        SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template");
                        if (!Objects.isNull(sysConfig)) {
                            String smsContemt = sysConfig.getConfigValue();
//                          sendMagParam.setContent("您好,邀请您填写出院随访调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!");
                            sendMagParam.setContent(smsContemt.replace("${wjurl}", sendMagParam.getUrl()));
                        }
                    } else if (type == 3) {
                        //宣教
@@ -367,13 +367,22 @@
                        if (heLibrary.getHetype().equals("1")) {
                            sendMagParam.setPhone(serviceSubtask.getPhone());
                            sendMagParam.setUrl(StringUtils.isNotEmpty(req_path) ? ip + ":" + req_path + "/xj?p=" + format : ip + "/xj?p=" + format);
                            if (active.equals("ls") || active.equals("sltd") || active.equals("nhfy")) {
                                sendMagParam.setContent("您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!");
                            } else if (active.equals("xh")) {
                                sendMagParam.setContent("【新华医院】您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!");
                            } else if (active.equals("hzszlyy")) {
                                sendMagParam.setContent("【杭州市第一人民医院】您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "填写。感谢您配合!");
                            SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique("xj.sms.template");
                            if (!Objects.isNull(sysConfig)) {
                                String smsContemt = sysConfig.getConfigValue();
//                              sendMagParam.setContent("您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!");
                                sendMagParam.setContent(smsContemt.replace("${xjurl}", sendMagParam.getUrl()));
                            }
//                            if (active.equals("ls") || active.equals("sltd") || active.equals("nhfy")) {
//                                sendMagParam.setContent("您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!");
//                            } else if (active.equals("xh")) {
//                                sendMagParam.setContent("【新华医院】您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!");
//                            } else if (active.equals("hzszlyy")) {
//                                sendMagParam.setContent("【杭州市第一人民医院】您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "填写。感谢您配合!");
//                            }
                        } else if (heLibrary.getHetype().equals("2")) {
                            //通知
                            String sc = getSC(serviceSubtask, heLibrary.getPreachcontent());
ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/ServiceTaskRuleController.java
@@ -123,8 +123,12 @@
    @ApiOperation("删除任务执行规则")
    //@PreAuthorize("@ss.hasPermi('smartor:rule:remove')")
    @Log(title = "任务执行规则", businessType = BusinessType.DELETE)
    @GetMapping("/remove/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids) {
        return toAjax(serviceTaskRuleService.deleteServiceTaskRuleByIds(ids));
    @GetMapping("/remove/{id}")
    public AjaxResult remove(@PathVariable Long id) {
        if (id != null) {
            Long[] ids = new Long[]{id};
            return toAjax(serviceTaskRuleService.deleteServiceTaskRuleByIds(ids));
        }
        return error();
    }
}
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -19,6 +19,7 @@
import com.ruoyi.quartz.service.ICollectHISService;
import com.ruoyi.quartz.util.CreateDataTable;
import com.ruoyi.system.domain.SysConfig;
import com.ruoyi.system.mapper.SysConfigMapper;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysDeptService;
import com.smartor.common.LSHospTokenUtil;
@@ -173,6 +174,8 @@
    @Value("${spring.profiles.active}")
    private String active;
    @Autowired
    private SysConfigMapper sysConfigMapper;
    public void ryMultipleParams(String s, Boolean b, Long l, Double d, Integer i) {
        System.out.println(StringUtils.format("执行多参方法: 字符串类型{},布尔类型{},长整型{},浮点型{},整形{}", s, b, l, d, i));
@@ -412,7 +415,7 @@
        }
        LocalDateTime yesterdayZero = todayZero.minusDays(1);
       if (active.trim().equals("sltd") || active.trim().equals("nhfy")) {
        if (active.trim().equals("sltd") || active.trim().equals("nhfy")) {
            //省立同德与华南附一用同一套采集方法(都是来未来提供)
            try {
                //获取省立同德要采集的院区
@@ -444,12 +447,12 @@
                        log.info("【dealHisData】省立同德“门急诊”开始分页采集数据,院区:{}", cid);
                        serviceSLTDInhospReqVO.setStartHeadTime(null);
                        serviceSLTDInhospReqVO.setStartTailTime(null);
                        serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime);
                        serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime);
                        if (active.trim().equals("nhfy")) {
                            serviceSLTDInhospReqVO.setEncounterTimeStart(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
                            serviceSLTDInhospReqVO.setEncounterTimeEnd(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
                        }
//                        serviceSLTDInhospReqVO.setEncounterTimeStart(nowTime);
//                        serviceSLTDInhospReqVO.setEncounterTimeEnd(nowTime);
//                        if (yesterdayZero != null) {
                        serviceSLTDInhospReqVO.setEncounterTimeStart(yesterdayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
                        serviceSLTDInhospReqVO.setEncounterTimeEnd(todayZero.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
//                        }
                        serviceSLTDInhospReqVO.setStatusList(null);
                        List<String> list1 = new ArrayList<>();
                        list1.add("FH0108.01");
@@ -838,19 +841,25 @@
                        //如果type是语音随访的话(说明补偿发送方式中有电话随访的方式,这里的外链就地址只能用/sf)
                        if (serviceSubtask.getType().equals("1"))
                            sendMagParam.setUrl(StringUtils.isNotEmpty(req_path) ? localIP + ":" + req_path + "/sf?p=" + format : localIP + "/sf?p=" + format);
                        sendMagParam.setContent("您好,邀请您填写出院调查表,请点击" + sendMagParam.getUrl() + "填写。感谢您配合!");
                        if (active.equals("xh")) {
                            sendMagParam.setContent("【新华医院】您好,邀请您填写出院调查表,请点击" + sendMagParam.getUrl() + "填写。感谢您配合!");
                        SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique("wj.sms.template");
                        if (!Objects.isNull(sysConfig)) {
                            String smsContemt = sysConfig.getConfigValue();
//                            sendMagParam.setContent("您好,邀请您填写出院调查表,请点击" + sendMagParam.getUrl() + "填写。感谢您配合!");
                            sendMagParam.setContent(smsContemt.replace("${wjurl}", sendMagParam.getUrl()));
                        }
                    } else {
                        HeLibrary heLibrary = heLibraryMapper.selectHeLibraryById(serviceSubtask.getLibtemplateid());
                        if (heLibrary.getHetype().equals("1")) {
                            sendMagParam.setPhone(serviceSubtask.getPhone());
                            sendMagParam.setUrl(StringUtils.isNotEmpty(req_path) ? localIP + ":" + req_path + "/xj?p=" + format : localIP + "/xj?p=" + format);
                            if (active.equals("ls") || active.equals("sltd") || active.equals("nhfy")) {
                                sendMagParam.setContent("您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!");
                            } else if (active.equals("xh")) {
                                sendMagParam.setContent("【新华医院】您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!");
                            SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique("xj.sms.template");
                            if (!Objects.isNull(sysConfig)) {
                                String smsContemt = sysConfig.getConfigValue();
//                              sendMagParam.setContent("您好,邀请您填写出院宣教调查表,请点击" + sendMagParam.getUrl() + "查看。感谢您配合!");
                                sendMagParam.setContent(smsContemt.replace("${xjurl}", sendMagParam.getUrl()));
                            }
                        } else if (heLibrary.getHetype().equals("2")) {
                            //通知
@@ -923,12 +932,12 @@
                        SysDept sysDeptVo = new SysDept();
                        List<SysDept> sysDepts = new ArrayList<>();
                        if (ObjectUtils.isNotEmpty(serviceSubtask.getDeptcode())){
                        if (ObjectUtils.isNotEmpty(serviceSubtask.getDeptcode())) {
                            sysDeptVo.setDeptType("1");
                            sysDeptVo.setOrgid(serviceSubtask.getOrgid());
                            sysDeptVo.setDeptCode(serviceSubtask.getDeptcode());
                            sysDeptService.selectDeptList(sysDeptVo);
                        }else if(ObjectUtils.isNotEmpty(serviceSubtask.getLeavehospitaldistrictcode())){
                        } else if (ObjectUtils.isNotEmpty(serviceSubtask.getLeavehospitaldistrictcode())) {
                            sysDeptVo.setDeptType("2");
                            sysDeptVo.setOrgid(serviceSubtask.getOrgid());
                            sysDeptVo.setDeptCode(serviceSubtask.getLeavehospitaldistrictcode());
@@ -937,13 +946,13 @@
                        SysDept sysDept = CollectionUtils.isNotEmpty(sysDepts) ? sysDepts.get(0) : new SysDept();
                        String campusid = ObjectUtils.isNotEmpty(sysDept) ? sysDept.getCampusid() : "2";
                        //湖滨单独发送方式
                        if("1".equals(campusid)){
                        if ("1".equals(campusid)) {
                            String result = smsUtils.sendSms1(xhsmsPath, xhsmsAccount, xhsmsPwd, sendMagParam.getPhone(), content);
                            //这里需要根据result返回的值去判断,是否成功,然后将值赋值给isSuccess
                            if (StringUtils.isNotEmpty(result) && result.contains("处理成功")) {
                                isSuccess = "true";
                            }
                        }else {
                        } else {
                            String result = smsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, sendMagParam.getPhone(), content);
                            //这里需要根据result返回的值去判断,是否成功,然后将值赋值给isSuccess
                            if (StringUtils.isNotEmpty(result) && result.contains("处理成功")) {
smartor/src/main/java/com/smartor/domain/ServiceTaskVO.java
@@ -433,7 +433,6 @@
    @ApiModelProperty("手术等级编码")
    @Excel(name = "手术等级编码")
    private String oplevelcode;
    /**
     * 适用条件类型:1、按科室、2、按病区、3、按疾病诊断、4、按手术类型
     */
smartor/src/main/java/com/smartor/domain/ServiceTaskoper.java
@@ -6,6 +6,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * 任务手术关联对象 service_taskoper
 *
@@ -18,24 +20,23 @@
    private static final long serialVersionUID = 1L;
    /**
     * 模板库和科室关联id
     * 主键ID
     */
    @ApiModelProperty("模板库和科室关联id")
    //数据库自增改成@TableId(type = IdType.AUTO)
    @ApiModelProperty("主键ID")
    private Long id;
    /**
     * 任务id
     * 任务ID
     */
    @ApiModelProperty("任务id")
    @Excel(name = "任务id")
    @ApiModelProperty("任务ID")
    @Excel(name = "任务ID")
    private Long taskId;
    /**
     * 是否是长期模板:  0:不是    1:是
     * 是否长期模板:0 否,1 是
     */
    @ApiModelProperty("是否是长期模板:  0:不是    1:是")
    @Excel(name = "是否是长期模板:  0:不是    1:是")
    @ApiModelProperty("是否长期模板:0 否,1 是")
    @Excel(name = "是否长期模板:0 否,1 是")
    private Long longtask;
    /**
@@ -46,17 +47,17 @@
    private String taskName;
    /**
     * 服务类型(1、监测评估;2、出院随访;3、门诊随访;4、宣教关怀(出院)  5、复诊管理;6、住院满意度调查;7、患者报告; 8、其他通知 9体检随访 10.医技随访  11,影像专科随访  12、心电专科随访, 13专科随访   14、门诊满意度调查  15投诉建议 16课题随访  17、宣教关怀(入院)  18、入院随访
     * 服务类型
     */
    @ApiModelProperty("服务类型(1、监测评估;2、出院随访;3、门诊随访;4、宣教关怀(出院)  5、复诊管理;6、住院满意度调查;7、患者报告; 8、其他通知 9体检随访 10.医技随访  11,影像专科随访  12、心电专科随访, 13专科随访   14、门诊满意度调查  15投诉建议 16课题随访  17、宣教关怀(入院)  18、入院随访")
    @Excel(name = "服务类型(1、监测评估;2、出院随访;3、门诊随访;4、宣教关怀(出院)  5、复诊管理;6、住院满意度调查;7、患者报告; 8、其他通知 9体检随访 10.医技随访  11,影像专科随访  12、心电专科随访, 13专科随访   14、门诊满意度调查  15投诉建议 16课题随访  17、宣教关怀(入院)  18、入院随访)")
    @ApiModelProperty("服务类型")
    @Excel(name = "服务类型")
    private String serviceType;
    /**
     * 手术id
     * 手术ID
     */
    @ApiModelProperty("手术id")
    @Excel(name = "手术id")
    @ApiModelProperty("手术ID")
    @Excel(name = "手术ID")
    private String opid;
    /**
@@ -67,12 +68,11 @@
    private String opcode;
    /**
     * 手术编码
     * 手术等级代码
     */
    @ApiModelProperty("手术等级代码")
    @Excel(name = "手术等级代码")
    private String oplevelcode;
    /**
     * 手术名称
@@ -82,9 +82,37 @@
    private String opdesc;
    /**
     * 删除标志(0:未删除 1:已删除)
     * 科室编码
     */
    @ApiModelProperty("删除标志(0:未删除 1:已删除)")
    @ApiModelProperty("科室编码")
    @Excel(name = "科室编码")
    private String deptCode;
    /**
     * 科室名称
     */
    @ApiModelProperty("科室名称")
    @Excel(name = "科室名称")
    private String deptName;
    /**
     * 病区编码
     */
    @ApiModelProperty("病区编码")
    @Excel(name = "病区编码")
    private String wardCode;
    /**
     * 病区名称
     */
    @ApiModelProperty("病区名称")
    @Excel(name = "病区名称")
    private String wardName;
    /**
     * 删除标志:0 未删除,1 已删除
     */
    @ApiModelProperty("删除标志:0 未删除,1 已删除")
    private Integer delFlag;
    /**
@@ -95,10 +123,10 @@
    private String orgid;
    /**
     * $column.columnComment
     * GUID
     */
    @ApiModelProperty("$column.columnComment")
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    @ApiModelProperty("GUID")
    @Excel(name = "GUID")
    private String guid;
    /**
@@ -114,6 +142,4 @@
    @ApiModelProperty("父ID")
    @Excel(name = "父ID")
    private Long pid;
}
smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -313,6 +313,7 @@
        addSubTaskByRule(config);
        //根据患者所在病区,获取该病区的长期任务,新华医院可以先不用根据病区和疾病来做
        if (!active.equals("xh")) {
            //todo 手术主表-手术详情表-出院记录表-科室关系? 需要限制科室?
            addOperationSubTask(config);
        }
smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -983,43 +983,38 @@
//                    }
//                serviceTaskoper.setOpcode(serviceTaskVO.getOpcode());
                    serviceTaskoper.setOpdesc(serviceTaskVO.getOpdesc());
                    serviceTaskoper.setOplevelcode(serviceTaskVO.getOplevelcode());
//                    serviceTaskoper.setOplevelcode(serviceTaskVO.getOplevelcode());
                    serviceTaskoper.setTaskId(serviceTask.getTaskid());
                    serviceTaskoper.setTaskName(serviceTask.getTaskName());
                    serviceTaskoper.setLongtask(Long.valueOf(serviceTask.getLongTask()));
                    serviceTaskoper.setGuid(serviceTask.getGuid());
                    serviceTaskoper.setOrgid(serviceTask.getOrgid());
                    serviceTaskoper.setCreateTime(new Date());
//                    if (StringUtils.isNotEmpty(serviceTaskVO.getOpcode())) {
//                        String[] opcodes = serviceTaskVO.getOpcode().split(",");
//                        for (String opcode : opcodes) {
//                            //先查询一下是否存在
//                            ServiceTaskoper serviceTaskoper2 = new ServiceTaskoper();
//                            serviceTaskoper2.setTaskId(serviceTaskVO.getTaskid());
//                            serviceTaskoper2.setOpcode(serviceTaskVO.getOpcode());
//                            List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(serviceTaskoper2);
//
//                            serviceTaskoper.setOpcode(opcode);
//                            log.info("----serviceTaskoper的值为:{}", serviceTaskoper);
//                            if (CollectionUtils.isNotEmpty(serviceTaskopers)) {
//                                serviceTaskoper.setId(serviceTaskopers.get(0).getId());
//                                serviceTaskoperService.updateServiceTaskoper(serviceTaskoper);
//                            } else {
//                                serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
//                            }
//                        }
//                    }
                    ServiceTaskoper serviceTaskoper2 = new ServiceTaskoper();
                    serviceTaskoper2.setTaskId(serviceTaskVO.getTaskid());
                    serviceTaskoper2.setOrgid(serviceTask.getOrgid());
//                    serviceTaskoper2.setOplevelcode(serviceTaskVO.getOplevelcode());
                    List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(serviceTaskoper2);
                    if (CollectionUtils.isNotEmpty(serviceTaskopers)) {
                        serviceTaskoper.setId(serviceTaskopers.get(0).getId());
                        serviceTaskoperService.updateServiceTaskoper(serviceTaskoper);
                    } else {
                        serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
                    serviceTaskoper.setDeptCode(serviceTask1.getDeptcode());
                    serviceTaskoper.setDeptName(serviceTask1.getDeptname());
                    serviceTaskoper.setWardCode(serviceTask1.getLeavehospitaldistrictcode());
                    serviceTaskoper.setWardName(serviceTask1.getLeavehospitaldistrictname());
                    serviceTaskoper.setCreateTime(new Date());
                    if (StringUtils.isNotEmpty(serviceTaskVO.getOplevelcode())) {
                        String[] opLevelcodes = serviceTaskVO.getOplevelcode().split(",");
                        for (String opLevelcode : opLevelcodes) {
                            //先查询一下是否存在
                            log.info("----serviceTaskoper的值为:{}", serviceTaskoper);
                            ServiceTaskoper serviceTaskoper2 = new ServiceTaskoper();
                            serviceTaskoper2.setTaskId(serviceTaskVO.getTaskid());
                            serviceTaskoper2.setOrgid(serviceTask.getOrgid());
                            serviceTaskoper2.setOplevelcode(opLevelcode);
                            List<ServiceTaskoper> serviceTaskopers = serviceTaskoperService.selectServiceTaskoperList(serviceTaskoper2);
                            serviceTaskoper.setOplevelcode(opLevelcode);
                            if (CollectionUtils.isNotEmpty(serviceTaskopers)) {
                                serviceTaskoper.setId(serviceTaskopers.get(0).getId());
                                serviceTaskoperService.updateServiceTaskoper(serviceTaskoper);
                            } else {
                                serviceTaskoperService.insertServiceTaskoper(serviceTaskoper);
                            }
                        }
                    }
                }
            }
smartor/src/main/resources/mapper/smartor/ServiceTaskoperMapper.xml
@@ -21,6 +21,10 @@
        <result property="guid" column="guid"/>
        <result property="pguid" column="pguid"/>
        <result property="pid" column="pid"/>
        <result property="deptCode" column="dept_code"/>
        <result property="deptName" column="dept_name"/>
        <result property="wardCode" column="ward_code"/>
        <result property="wardName" column="ward_name"/>
    </resultMap>
    <sql id="selectServiceTaskoperVo">
@@ -39,7 +43,11 @@
               orgid,
               guid,
               pguid,
               pid
               pid,
               dept_code,
               dept_name,
               ward_code,
               ward_name
        from service_taskoper
    </sql>
@@ -84,6 +92,18 @@
            <if test="pid != null ">
                and pid = #{pid}
            </if>
            <if test="deptCode != null  and deptCode != ''">
                and dept_code = #{deptCode}
            </if>
            <if test="deptName != null  and deptName != ''">
                and dept_name = #{deptName}
            </if>
            <if test="wardCode != null  and wardCode != ''">
                and ward_code = #{wardCode}
            </if>
            <if test="wardName != null  and wardName != ''">
                and ward_name = #{wardName}
            </if>
    </select>
    <select id="selectServiceTaskoperById" parameterType="Long"
@@ -126,6 +146,14 @@
            </if>
            <if test="pid != null">pid,
            </if>
            <if test="deptCode != null">dept_code,
            </if>
            <if test="deptName != null">dept_name,
            </if>
            <if test="wardCode != null">ward_code,
            </if>
            <if test="wardName != null">ward_name,
            </if>
        </trim>
        <trim prefix="values (" suffix=")" suffixOverrides=",">
            <if test="taskId != null">#{taskId},
@@ -157,6 +185,14 @@
            <if test="pguid != null">#{pguid},
            </if>
            <if test="pid != null">#{pid},
            </if>
            <if test="deptCode != null">#{deptCode},
            </if>
            <if test="deptName != null">#{deptName},
            </if>
            <if test="wardCode != null">#{wardCode},
            </if>
            <if test="wardName != null">#{wardName},
            </if>
        </trim>
    </insert>
@@ -209,6 +245,18 @@
            <if test="pid != null">pid =
                #{pid},
            </if>
            <if test="deptCode != null">dept_code =
                #{deptCode},
            </if>
            <if test="deptName != null">dept_name =
                #{deptName},
            </if>
            <if test="wardCode != null">ward_code =
                #{wardCode},
            </if>
            <if test="wardName != null">ward_name =
                #{wardName},
            </if>
        </trim>
        where id = #{id}
    </update>