ruoyi-admin/src/main/java/com/ruoyi/web/component/RedisMqReceiver.java
@@ -863,13 +863,8 @@ if (serviceSubtaskPreachform1.getSort() == spSize.size()) { if (failSendstate.equals("4") || failSendstate.equals("5")) { serviceSubtask.setCurrentPreachform(preachform); serviceSubtask.setSendstate(5L); serviceSubtask.setRemark("处理补偿任务,当前处理最后补偿,全部执行失败"); //人工发送超时 if (ObjectUtils.isNotEmpty(preachform) && preachform.equals("1") && failSendstate.equals("7")) { serviceSubtask.setSendstate(7L); serviceSubtask.setRemark("人工发送超时"); } serviceSubtask.setSendstate(7L); serviceSubtask.setRemark("处理补偿任务,当前处理最后补偿,全部执行失败(超时)"); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); return true; } @@ -883,11 +878,6 @@ serviceSubtask.setCurrentPreachform(preachform); serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime(), serviceSubtask.getCurrentPreachform())); serviceSubtask.setSendstate(3L); //人工发送超时 if (ObjectUtils.isNotEmpty(preachform) && preachform.equals("1") && failSendstate.equals("7")) { serviceSubtask.setSendstate(7L); serviceSubtask.setRemark("人工发送超时"); } if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) { //如果是宣教或通知,并且发送成功,则直接将serviceSubtask状态改成6L(这个患者是没有题做的,不会再触发接口进行状态修改) if (failSendstate.equals("2")) { ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/RyTask.java
@@ -608,23 +608,14 @@ //2判断一下,当前的sort是不是等于需要执行的总个数,如果等于的话,说明是最后一个,直接将servuce_subtask的状态改成5,执行失败就行了 Long cs = currentSort.get(); if (cs.equals(serviceSubtaskPreachforms.size())) { if (serviceSubtask.getPreachform().equals("1")) { serviceSubtask.setSendstate(7L); serviceSubtask.setRemark("处理补偿任务,当前处理最后补偿 人工超时"); } else { serviceSubtask.setSendstate(5L); serviceSubtask.setRemark("处理补偿任务,当前处理最后补偿,全部执行失败"); } serviceSubtask.setSendstate(7L); serviceSubtask.setRemark("处理补偿任务,当前处理最后补偿,全部执行失败(超时)"); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); //修改发送方式的状态为失败 if (serviceSubtaskPreachform.getPreachform().equals("1")) { serviceSubtaskPreachform.setSendstate("7"); serviceSubtaskPreachform.setId(id.get()); } else { serviceSubtaskPreachform.setSendstate("5"); serviceSubtaskPreachform.setId(id.get()); } serviceSubtaskPreachform.setSendstate("5"); serviceSubtaskPreachform.setId(id.get()); serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform); continue; } @@ -940,20 +931,6 @@ //市一医院 if (active.equals("hzszlyy")) { //处理中文乱码问题 /**String title = URLEncoder.encode("您好,邀请您填写出院调查表,请点击填写。", StandardCharsets.UTF_8.toString()); String content = URLEncoder.encode("您好,邀请您填写出院调查表,请点击填写。", StandardCharsets.UTF_8.toString()); String encodedUrl = URLEncoder.encode(url, StandardCharsets.UTF_8.toString()); String urlTemp = "http://192.200.54.14:5003/sfjk/SendMessage?sfzh=" + serviceSubtask.getSfzh() + "&title=" + title + "&content=" + content + "&phone=" + patArchive.getTelcode() + "&url=" + encodedUrl + "&key=ff76f8904f5f32b5ee1739e8ea46e60g"; // HttpUtils.sendGet(urlTemp); String sendMsg = ""; sendMsg = HttpUtils.sendPost(urlTemp); log.info(sendMsg); **/ wxCode = smsUtils.sendChat(url, patArchive.getTelcode(), serviceSubtask.getSfzh()); log.info(wxCode); @@ -1004,7 +981,7 @@ } } } else if (descByCode.equals("人工")) { setSuccessPreachForm(serviceSubtask, sendPreachform, "人工超时", "7"); setSuccessPreachForm(serviceSubtask, sendPreachform, "人工发送成功", "2"); } } @@ -1070,14 +1047,9 @@ if (currentSort.get().equals((long) serviceSubtaskPreachforms.size())) { if (allSendStateNot1AndNot9) { //说明全发送失败了 serviceSubtask.setSendstate(5L); serviceSubtask.setSendstate(7L); log.error("getSendPreachform方法 检查是否所有sendstate不等于9, 全失败了"); serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + "," + "所有发送方式均未获取结果,任务失败" : "所有发送方式均未获取结果,任务失败"); //人工发送超时 if (ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("1")) { serviceSubtask.setSendstate(7L); serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + "," + "人工发送超时" : "人工发送超时"); } serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + "," + "所有发送方式均未获取结果,任务失败(超时)" : "所有发送方式均未获取结果,任务失败(超时)"); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); //修改发送状态 setFail(serviceSubtaskPreachforms, serviceSubtask); @@ -1088,7 +1060,6 @@ // 当sort等于列表size时,下一个sort为-1 Long nextSort = currentSort.get() + 1; //如果当前的发送方式不为空,并且开始准备要用下一种方式发送了,那当前的肯定没有发送成功,需要设置失败 // (这里主要是,人工如果没有随访,然后到公众号的时候,就不会再去管人工是否成功,人工的状态会一直卡在2的状态上) if (StringUtils.isNotEmpty(serviceSubtask.getCurrentPreachform())) { setFail(serviceSubtaskPreachforms, serviceSubtask); } @@ -1096,23 +1067,6 @@ // 找到下一个sort对应的preachform String nextPreachform = serviceSubtaskPreachforms.stream().filter(item -> nextSort.equals(item.getSort())).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse("-1"); String orgid = serviceSubtask.getOrgid(); //微信已发送、已领取跳过短信发送,进行人工 -丽水中医院 if (StringUtils.isNotEmpty(orgid) && orgid.equals("47231022633110211A2101")) { //获取当前发送方式 ServiceSubtaskPreachform currentServiceSubtaskPreachform = serviceSubtaskPreachforms.stream().filter(item -> item.getSort().equals(currentSort.get())).findFirst().orElse(new ServiceSubtaskPreachform()); //当前发送方式为微信的,且下一发送方式为短信的,微信发送状态为已发送、已领取的,跳过短信步骤 if (currentServiceSubtaskPreachform.getPreachform().equals("5") && (currentServiceSubtaskPreachform.getSendstate().equals("2") || currentServiceSubtaskPreachform.getSendstate().equals("3"))) { if (StringUtils.isNotEmpty(nextPreachform) && nextPreachform.equals("2")) { log.error("【sfHandlle】微信已发送,短信不发送,跳转人工"); setSuccessPreachForm(serviceSubtask, "-1", "微信已发送,短信不发送,跳转人工", "6"); //跳过短信,执行下一步 Long newNextSort = nextSort + 1; //找到短信再下一个sort对应的preachform nextPreachform = serviceSubtaskPreachforms.stream().filter(item -> newNextSort.equals(item.getSort())).map(ServiceSubtaskPreachform::getPreachform).findFirst().orElse("-1"); } } } //更新一下当前发送时间 if (StringUtils.isNotEmpty(nextPreachform)) { serviceSubtaskPreachform.setCurrentSendTime(new Date()); @@ -1159,16 +1113,11 @@ ServiceSubtaskPreachform subtaskPreachform = new ServiceSubtaskPreachform(); subtaskPreachform.setSendstate("5"); subtaskPreachform.setId(id.get()); //人工发送超时 if (ObjectUtils.isNotEmpty(serviceSubtask.getCurrentPreachform()) && serviceSubtask.getCurrentPreachform().equals("1")) { subtaskPreachform.setSendstate("7"); subtaskPreachform.setRemark("人工发送超时"); } subtaskPreachform.setRemark("当前发送方式在规定时间内未成功获取结果"); return serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(subtaskPreachform); } return 0; } private String getDXCode(String address, String ShouJiHM, String FaSongNR, String FaSongRID, String FaSongRXM, Map<String, Object> headerMap, String token) { Map<String, Object> map = new LinkedHashMap<>(); @@ -1275,9 +1224,9 @@ //电话的未发送状态,需要查2,因为,数据可能卡在队列里了; (没进队列,电话状态还是1) if (preachform.equals("3") && StringUtils.isNotEmpty(failSendstate) && Long.valueOf(failSendstate) > 2) serviceSubtaskPreachform.setSendstate("2"); //人工的未发送状态,需要查2 if (preachform.equals("1") && StringUtils.isNotEmpty(failSendstate) && Long.valueOf(failSendstate) > 2) serviceSubtaskPreachform.setSendstate("2"); // //人工的未发送状态,需要查2 // if (preachform.equals("1") && StringUtils.isNotEmpty(failSendstate) && Long.valueOf(failSendstate) > 2) // serviceSubtaskPreachform.setSendstate("2"); List<ServiceSubtaskPreachform> serviceSubtaskPreachforms = serviceSubtaskPreachformMapper.selectServiceSubtaskPreachformList(serviceSubtaskPreachform); if (CollectionUtils.isNotEmpty(serviceSubtaskPreachforms)) { @@ -1288,30 +1237,19 @@ if (failSendstate.equals("2")) serviceSubtaskPreachform1.setSendstate("9"); } serviceSubtaskPreachform1.setRemark(remark); if (ObjectUtils.isNotEmpty(preachform) && preachform.equals("1")) { serviceSubtaskPreachform1.setSendstate("7"); serviceSubtaskPreachform1.setRemark("人工发送超时"); } serviceSubtaskPreachformMapper.updateServiceSubtaskPreachform(serviceSubtaskPreachform1); //如果当前的preachform已经是最后一个了,那直接将serviceSubtask的sendstate状态改成5就行了(全失败了) //如果当前的preachform已经是最后一个了,那直接将serviceSubtask的sendstate状态改成7就行了(全超时了) if (serviceSubtaskPreachform1.getSort() == sspCount.size()) { if (ObjectUtils.isNotEmpty(preachform) && preachform.equals("1")) { if (failSendstate.equals("4") || failSendstate.equals("5")) { serviceSubtask.setCurrentPreachform(preachform); serviceSubtask.setSendstate(7L); serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + "," + "人工发送超时" : "人工发送超时"); log.error("setSuccessPreachForm方法,当前的preachform已经是最后一个了,全部执行失败"); serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + "," + "所有发送方式均未获取结果,任务失败(超时)" : "所有发送方式均未获取结果,任务失败(超时)"); //serviceSubtask.setRemark("setSuccessPreachForm方法,当前的preachform已经是最后一个了,全部执行失败"); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); return true; } else { if (failSendstate.equals("4") || failSendstate.equals("5")) { serviceSubtask.setCurrentPreachform(preachform); serviceSubtask.setSendstate(5L); log.error("setSuccessPreachForm方法,当前的preachform已经是最后一个了,全部执行失败"); serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + "," + "所有发送方式均未获取结果,任务失败" : "所有发送方式均未获取结果,任务失败"); //serviceSubtask.setRemark("setSuccessPreachForm方法,当前的preachform已经是最后一个了,全部执行失败"); serviceSubtaskMapper.updateServiceSubtask(serviceSubtask); return true; } } } @@ -1319,15 +1257,12 @@ log.error("【定时任务中该患者没有查询到属于他的发送方式,subid:{},prechform:{},orgid:{}】", serviceSubtask.getId(), preachform, serviceSubtask.getOrgid()); return false; } //将下一次的随访时间与当前执行方式记录一下 serviceSubtask.setVisitTime(getNextVisitTime(serviceSubtask.getId(), serviceSubtask.getTaskid(), serviceSubtask.getVisitTime())); serviceSubtask.setCurrentPreachform(preachform); if (ObjectUtils.isNotEmpty(preachform) && preachform.equals("1")) { serviceSubtask.setSendstate(7L); serviceSubtask.setRemark(StringUtils.isNotEmpty(serviceSubtask.getRemark()) ? serviceSubtask.getRemark() + ",人工发送超时" : "人工发送超时"); } else { serviceSubtask.setSendstate(3L); } serviceSubtask.setSendstate(3L); if (serviceSubtask.getType().equals("3") || serviceSubtask.getType().equals("4")) { //如果是宣教或通知,并且发送成功,则直接将serviceSubtask状态改成6L(这个患者是没有题做的,不会再触发接口进行状态修改) if (failSendstate.equals("2")) { smartor/src/main/java/com/smartor/domain/ServiceSubtask.java
@@ -245,10 +245,9 @@ private String sendlimitnend; /** * 发送状态 * 发送状态 1 被领取(在任务中是新建,在服务中是被领取) 2 待发送 3 已发送 4 不执行 5 发送失败 6 已完成 7 超时 */ // @Excel(name = " 发送状态 1 被领取(在任务中是新建,在服务中是被领取) 2 待发送 3 已发送 4 不执行 5 发送失败 6 已完成 7 超时(人工)\") ") @ApiModelProperty(value = "发送状态 1 被领取(在任务中是新建,在服务中是被领取) 2 待发送 3 已发送 4 不执行 5 发送失败 6 已完成 7 超时(人工)") @ApiModelProperty(value = "发送状态 1 被领取(在任务中是新建,在服务中是被领取) 2 待发送 3 已发送 4 不执行 5 发送失败 6 已完成 7 超时") private Long sendstate; /** smartor/src/main/java/com/smartor/domain/ServiceTaskdiag.java
@@ -74,6 +74,34 @@ private String icd10name; /** * 部门编码 */ @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:已删除)") smartor/src/main/java/com/smartor/service/impl/PatMedInhospServiceImpl.java
@@ -485,11 +485,26 @@ pmiJB.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorIcd : errorIcd); patMedInhospMapper.updatePatMedInhosp(pmiJB); } else { int flag = 0; for (ServiceTaskdiag serviceTaskdept1 : serviceTaskdiags) { writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiJB, patArchive, 3, config); //必须科室或病区能匹配上,才可以用这个疾病创建子任务(主要处理一个疾病在多个病区或科室出现) if (StringUtils.isNotEmpty(serviceTaskdept1.getDeptCode()) && serviceTaskdept1.getDeptCode().equals(pmiJB.getLeaveldeptcode())) { writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiJB, patArchive, 3, config); flag = 1; } else if (StringUtils.isNotEmpty(serviceTaskdept1.getWardCode()) && serviceTaskdept1.getWardCode().equals(pmiJB.getLeavehospitaldistrictcode())) { writeInSubTask(serviceTaskdept1.getTaskId(), true, pmiJB, patArchive, 3, config); flag = 1; } } // pmiJB.setDiagcheckFlag("1"); // patMedInhospMapper.updatePatMedInhosp(pmiJB); if (flag == 0) { log.error("该科室或病区对于患者所患疾病未配置长期任务,患者:{}", pmiJB.getInhospid()); errorIcd = "该科室或病区对于患者所患疾病未配置长期任务;"; PatMedInhosp patMedInhosp = patMedInhospMapper.selectPatMedInhospByInhospid(pmiJB.getInhospid()); pmiJB.setDiagcheckFlag("2"); pmiJB.setLongTaskReason(StringUtils.isNotEmpty(patMedInhosp.getLongTaskReason()) ? patMedInhosp.getLongTaskReason() + errorIcd : errorIcd); patMedInhospMapper.updatePatMedInhosp(pmiJB); } } } catch (Exception e) { @@ -916,7 +931,7 @@ } else if (patMedInhosp1.getInhospstate().equals("0")) { serviceSubtask.setVisitDeptCode(patMedInhosp1.getDeptcode()); serviceSubtask.setVisitDeptName(patMedInhosp1.getDeptname()); if(type==5){ if (type == 5) { serviceSubtask.setVisitDeptCode(patMedInhosp1.getHospitaldistrictcode()); serviceSubtask.setVisitDeptName(patMedInhosp1.getHospitaldistrictname()); } @@ -1087,10 +1102,10 @@ /** * * @param taskid 任务id * @param check 是否需要校验 * @param taskid 任务id * @param check 是否需要校验 * @param patMedOperationItem 手术记录 * @param config 配置信息 visit.early.day * @param config 配置信息 visit.early.day */ //将患者放到subtask中 手术专用 private void writeInSubTaskForOp(Long taskid, Boolean check, PatMedOperationItem patMedOperationItem, String config) { smartor/src/main/java/com/smartor/service/impl/ServiceSLTDHealthcareRecordServiceImpl.java
@@ -825,21 +825,14 @@ existingArchives = patArchiveService.selectPatArchiveList(queryByIdCard); } // 第三步:按 patidHis 查重(兼容旧数据,旧数据可能以 patientId 存为 patientno) if (CollectionUtils.isEmpty(existingArchives) && dto.getPatientId() != null) { PatArchive queryByPatidHis = new PatArchive(); queryByPatidHis.setPatientno(String.valueOf(dto.getPatientId())); existingArchives = patArchiveService.selectPatArchiveList(queryByPatidHis); } PatArchive patArchive = buildPatientArchive(dto); if (CollectionUtils.isEmpty(existingArchives)) { try { patArchiveService.insertPatArchive(patArchive); log.debug("【processPatientArchive】新增患者档案,患者编号:{}", patArchive.getPatientno()); log.info("【processPatientArchive】新增患者档案,患者编号:{}", patArchive.getPatientno()); } catch (org.springframework.dao.DuplicateKeyException e) { log.warn("【processPatientArchive】患者档案已存在(并发插入),跳过:patientno={}, idcardno={}", patArchive.getPatientno(), patArchive.getIdcardno()); log.error("【processPatientArchive】患者档案已存在(并发插入),跳过:patientno={}, idcardno={}", patArchive.getPatientno(), patArchive.getIdcardno()); // 并发插入场景,重新查询获取已存在的记录 PatArchive queryRetry = new PatArchive(); queryRetry.setPatientno(patArchive.getPatientno()); @@ -855,7 +848,7 @@ patArchive.setNotrequiredFlag(existingArchives.get(0).getNotrequiredFlag()); patArchive.setNotrequiredreason(existingArchives.get(0).getNotrequiredreason()); patArchiveService.updateArchive(patArchive); log.debug("【processPatientArchive】更新患者档案,患者编号:{}", patArchive.getPatientno()); log.info("【processPatientArchive】更新患者档案,患者编号:{}", patArchive.getPatientno()); } return patArchive; smartor/src/main/java/com/smartor/service/impl/ServiceSubtaskServiceImpl.java
@@ -643,6 +643,13 @@ if (serviceTaskVO.getLongTask() == 1) serviceTaskdiag.setLongtask(1L); serviceTaskdiag.setIcd10code(serviceTaskVO.getIcd10code()); serviceTaskdiag.setIcd10name(serviceTaskVO.getIcd10name()); serviceTaskdiag.setGuid(serviceTask.getGuid()); serviceTaskdiag.setOrgid(serviceTask.getOrgid()); serviceTaskdiag.setCreateTime(new Date()); serviceTaskdiag.setDeptCode(serviceTaskVO.getDeptcode()); serviceTaskdiag.setDeptName(serviceTaskVO.getDeptname()); serviceTaskdiag.setWardCode(serviceTaskVO.getLeavehospitaldistrictcode()); serviceTaskdiag.setWardName(serviceTaskVO.getLeavehospitaldistrictname()); //南华附一的icd10code是有重复的,所以不能用南华附一的icd10code去查询 if (!active.equals("nhfy") && StringUtils.isEmpty(serviceTaskVO.getIcd10name())) { Icd10 icd10 = new Icd10(); @@ -651,9 +658,7 @@ if (CollectionUtils.isNotEmpty(icd10s)) serviceTaskdiag.setIcd10name(icd10s.get(0).getIcdname()); } serviceTaskdiag.setGuid(serviceTask.getGuid()); serviceTaskdiag.setOrgid(serviceTask.getOrgid()); serviceTaskdiag.setCreateTime(new Date()); log.info("----serviceTaskdiag的值为:{}", serviceTaskdiag); if (StringUtils.isNotEmpty(serviceTaskVO.getIcd10code())) { String[] Icd10codes = serviceTaskVO.getIcd10code().split(","); @@ -877,6 +882,10 @@ serviceTaskdiag.setIcd10name(serviceTaskVO.getIcd10name()); serviceTaskdiag.setGuid(serviceTask.getGuid()); serviceTaskdiag.setOrgid(serviceTask.getOrgid()); serviceTaskdiag.setDeptCode(serviceTaskVO.getDeptcode()); serviceTaskdiag.setDeptName(serviceTaskVO.getDeptname()); serviceTaskdiag.setWardCode(serviceTaskVO.getLeavehospitaldistrictcode()); serviceTaskdiag.setWardName(serviceTaskVO.getLeavehospitaldistrictname()); serviceTaskdiag.setUpdateTime(new Date()); if (StringUtils.isNotEmpty(serviceTaskVO.getIcd10code())) { String[] icd10codes = serviceTaskVO.getIcd10code().split(","); smartor/src/main/resources/mapper/smartor/ServiceTaskdiagMapper.xml
@@ -20,6 +20,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="selectServiceTaskdiagVo"> @@ -37,7 +41,11 @@ orgid, guid, pguid, pid pid, dept_code, dept_name, ward_code, ward_name from service_taskdiag </sql> @@ -79,6 +87,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="selectServiceTaskdiagById" parameterType="Long" @@ -119,6 +139,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}, @@ -148,6 +176,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> @@ -197,6 +233,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>