1.新增同德药品采集、宣教功能
2.处理新华采集BUG
3.新增service_subtask的院区ID
4.采集同德的入院申请单信息
5.给出院表新增药品字段、入院申请单字段
| | |
| | | SysUser user = getLoginUser().getUser(); |
| | | if (ObjectUtils.isNotEmpty(user)) serviceSubtask.setOrgid(user.getOrgid()); |
| | | if (ObjectUtils.isNotEmpty(user)) serviceSubtask.setCampusid(user.getCampusid()); |
| | | return toAjax(serviceSubtaskService.insertServiceSubtask(serviceSubtask)); |
| | | serviceSubtask.setCampusid(user.getCampusid()); |
| | | return success(serviceSubtaskService.insertServiceSubtask(serviceSubtask)); |
| | | } |
| | | |
| | | @ApiOperation("æ£è
忬¡é访") |
| | |
| | | sysUserWard.setOrgid(user.getOrgid()); |
| | | sysUserWard.setDeptType("2"); |
| | | List<SysUserDept> wardList = sysUserDeptService.selectSysUserDeptList(sysUserWard); |
| | | if(CollectionUtils.isNotEmpty(wardList)) { |
| | | if (CollectionUtils.isNotEmpty(wardList)) { |
| | | leavehospitaldistrictcodes = wardList.stream().map(SysUserDept::getDeptCode).collect(Collectors.toList()); |
| | | } |
| | | serviceSubtaskCountReq.setLeavehospitaldistrictcodes(leavehospitaldistrictcodes); |
| | |
| | | sysUserDept.setOrgid(user.getOrgid()); |
| | | sysUserDept.setDeptType("1"); |
| | | List<SysUserDept> deptList = sysUserDeptService.selectSysUserDeptList(sysUserDept); |
| | | if(CollectionUtils.isNotEmpty(deptList)){ |
| | | if (CollectionUtils.isNotEmpty(deptList)) { |
| | | deptCodes = deptList.stream().map(SysUserDept::getDeptCode).collect(Collectors.toList()); |
| | | } |
| | | serviceSubtaskCountReq.setDeptcodes(deptCodes); |
| | |
| | | @PostMapping(value = "/goSfRelay") |
| | | public AjaxResult goSfRelay(@RequestParam("taskId") Long taskId, @RequestParam("deptcode") String deptcode, @RequestParam("leavehospitaldistrictcode") String leavehospitaldistrictcode) { |
| | | String url = localIP + ":" + req_path + "/SfRelay?taskid=" + taskId; |
| | | if(StringUtils.isNotEmpty(deptcode)){ |
| | | if (StringUtils.isNotEmpty(deptcode)) { |
| | | url = url + "&deptcode=" + deptcode; |
| | | } |
| | | if(StringUtils.isNotEmpty(leavehospitaldistrictcode)){ |
| | | if (StringUtils.isNotEmpty(leavehospitaldistrictcode)) { |
| | | url = url + "&leavehospitaldistrictcode=" + leavehospitaldistrictcode; |
| | | } |
| | | return AjaxResult.success(url); |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.web.controller.smartor; |
| | | |
| | | import com.ruoyi.common.annotation.AddOrgId; |
| | | import com.ruoyi.common.annotation.Log; |
| | | import com.ruoyi.common.core.controller.BaseController; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.core.page.TableDataInfo; |
| | | import com.ruoyi.common.enums.BusinessType; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.smartor.domain.ServiceTaskmedical; |
| | | import com.smartor.service.IServiceTaskmedicalService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * ä»»å¡è¯åå
³èController |
| | | * |
| | | * @author lihu |
| | | * @date 2026-07-29 |
| | | */ |
| | | @Api("ä»»å¡è¯åå
³è") |
| | | @RestController |
| | | @RequestMapping("/smartor/taskmedical") |
| | | public class ServiceTaskmedicalController extends BaseController { |
| | | @Autowired |
| | | private IServiceTaskmedicalService serviceTaskmedicalService; |
| | | |
| | | /** |
| | | * æ¥è¯¢ä»»å¡è¯åå
³èå表 |
| | | */ |
| | | @ApiOperation("æ¥è¯¢ä»»å¡è¯åå
³èå表") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:taskmedical:list')") |
| | | @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") |
| | | @PostMapping("/list") |
| | | public TableDataInfo list(@RequestBody ServiceTaskmedical serviceTaskmedical) { |
| | | startPage(); |
| | | List<ServiceTaskmedical> list = serviceTaskmedicalService.selectServiceTaskmedicalList(serviceTaskmedical); |
| | | return getDataTable(list); |
| | | } |
| | | |
| | | /** |
| | | * 导åºä»»å¡è¯åå
³èå表 |
| | | */ |
| | | @ApiOperation("导åºä»»å¡è¯åå
³èå表") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:taskmedical:export')") |
| | | @Log(title = "ä»»å¡è¯åå
³è", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/export") |
| | | public void export(HttpServletResponse response, ServiceTaskmedical serviceTaskmedical) { |
| | | List<ServiceTaskmedical> list = serviceTaskmedicalService.selectServiceTaskmedicalList(serviceTaskmedical); |
| | | ExcelUtil<ServiceTaskmedical> util = new ExcelUtil<ServiceTaskmedical>(ServiceTaskmedical.class); |
| | | util.exportExcel(response, list, "ä»»å¡è¯åå
³èæ°æ®"); |
| | | } |
| | | |
| | | /** |
| | | * è·åä»»å¡è¯åå
³è详ç»ä¿¡æ¯ |
| | | */ |
| | | @ApiOperation("è·åä»»å¡è¯åå
³è详ç»ä¿¡æ¯") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:taskmedical:query')") |
| | | @GetMapping(value = "/getInfo/{id}") |
| | | public AjaxResult getInfo(@PathVariable("id") Long id) { |
| | | return success(serviceTaskmedicalService.selectServiceTaskmedicalById(id)); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢ä»»å¡è¯åå
³è |
| | | */ |
| | | @ApiOperation("æ°å¢ä»»å¡è¯åå
³è") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:taskmedical:add')") |
| | | @Log(title = "ä»»å¡è¯åå
³è", businessType = BusinessType.INSERT) |
| | | @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") |
| | | @PostMapping("/add") |
| | | public AjaxResult add(@RequestBody ServiceTaskmedical serviceTaskmedical) { |
| | | return toAjax(serviceTaskmedicalService.insertServiceTaskmedical(serviceTaskmedical)); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹ä»»å¡è¯åå
³è |
| | | */ |
| | | @ApiOperation("ä¿®æ¹ä»»å¡è¯åå
³è") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:taskmedical:edit')") |
| | | @Log(title = "ä»»å¡è¯åå
³è", businessType = BusinessType.UPDATE) |
| | | @AddOrgId(field = "orgid", paramIndex = 0, campusField = "campusid") |
| | | @PostMapping("/edit") |
| | | public AjaxResult edit(@RequestBody ServiceTaskmedical serviceTaskmedical) { |
| | | return toAjax(serviceTaskmedicalService.updateServiceTaskmedical(serviceTaskmedical)); |
| | | } |
| | | |
| | | /** |
| | | * å é¤ä»»å¡è¯åå
³è |
| | | */ |
| | | @ApiOperation("å é¤ä»»å¡è¯åå
³è") |
| | | //@PreAuthorize("@ss.hasPermi('smartor:taskmedical:remove')") |
| | | @Log(title = "ä»»å¡è¯åå
³è", businessType = BusinessType.DELETE) |
| | | @GetMapping("/remove/{ids}") |
| | | public AjaxResult remove(@PathVariable Long[] ids) { |
| | | return toAjax(serviceTaskmedicalService.deleteServiceTaskmedicalByIds(ids)); |
| | | } |
| | | } |
| | |
| | | ServiceSLTDInhospReqVO serviceSLTDInhospReqVO = new ServiceSLTDInhospReqVO(); |
| | | serviceSLTDInhospReqVO.setOrgId("20001001"); |
| | | Long outpPage = 1L; |
| | | int totalCount = 0; // ç»è®¡æ»å
±ééçè¯åæ°é |
| | | |
| | | while (true) { |
| | | serviceSLTDInhospReqVO.setCurrent(outpPage); |
| | | serviceSLTDInhospReqVO.setSize(OUTP_PAGE_SIZE); |
| | | log.info("ãdealHisDataãçç«åå¾·âè¯åæ°æ®âéé第{}é¡µæ°æ®", outpPage); |
| | | Boolean b = serviceSLTDHealthcareRecordService.queryMedicationItemList(serviceSLTDInhospReqVO); |
| | | log.info("ãdealHisDataãçç«åå¾·âè¯åæ°æ®âééç»æï¼{}", b); |
| | | outpPage++; |
| | | log.info("ãdealHisDataãçç«åå¾·\"è¯åæ°æ®\"éé第{}é¡µæ°æ®", outpPage); |
| | | |
| | | try { |
| | | Integer fetchedCount = serviceSLTDHealthcareRecordService.queryMedicationItemList(serviceSLTDInhospReqVO); |
| | | log.info("ãdealHisDataãçç«åå¾·\"è¯åæ°æ®\"第{}页ééå°{}æ¡è®°å½", outpPage, fetchedCount); |
| | | |
| | | totalCount += fetchedCount != null ? fetchedCount : 0; |
| | | |
| | | // 妿è¿åçæ°æ®éå°äº pageSizeï¼è¯´æå·²ç»æ¯æåä¸é¡µäºï¼éåºå¾ªç¯ |
| | | if (fetchedCount == null || fetchedCount < OUTP_PAGE_SIZE) { |
| | | log.info("ãdealHisDataãçç«åå¾·\"è¯åæ°æ®\"ééå®æï¼æ»é¡µæ°:{}, æ»è®¡{}æ¡è®°å½", outpPage, totalCount); |
| | | break; |
| | | } |
| | | |
| | | outpPage++; |
| | | } catch (Exception e) { |
| | | log.error("ãdealHisDataãçç«åå¾·\"è¯åæ°æ®\"第{}页éé失败", outpPage, e); |
| | | // åºéæ¶ä¹å¯ä»¥éæ©éåºæç»§ç»ï¼è¿ééæ©éåºé¿å
æ ééè¯ |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | public void dealHisData2() { |
| | | //å°æ£è
ä¿¡æ¯ãåºå
¥é¢æ°æ®å
¨é¨éé |
| | | // æå®çå¼å§æ¥æ |
| | | LocalDate endDate = LocalDate.of(2025, 3, 3); |
| | | LocalDate endDate = LocalDate.of(2026, 7, 6); |
| | | // å½åæ¥æ |
| | | LocalDate currentDate = LocalDate.now(); |
| | | // å®ä¹æ¥ææ ¼å¼ |
| | |
| | | @ApiModelProperty("'满æåº¦æ è¯ï¼0æªå满度 1ä½é¢æ»¡åº¦åº¦ 2åºé¢æ»¡æåº¦ ï¼å¦ææ¢è¦åä½é¢ï¼åè¦ååºé¢ï¼åç¨â,âåå²ï¼ä¾å¦1,2ï¼") |
| | | @Excel(name = " '满æåº¦æ è¯ï¼0æªå满度 1ä½é¢æ»¡åº¦åº¦ 2åºé¢æ»¡æåº¦ ï¼å¦ææ¢è¦åä½é¢ï¼åè¦ååºé¢ï¼åç¨â,âåå²ï¼ä¾å¦1,2ï¼ ") |
| | | private String inhospMydFlag; |
| | | |
| | | /** |
| | | * è¯åç¼ç ,å¤ä¸ªç¨,åå² |
| | | */ |
| | | @ApiModelProperty("è¯åç¼ç ,å¤ä¸ªç¨,åå²") |
| | | @Excel(name = "è¯åç¼ç ,å¤ä¸ªç¨,åå²") |
| | | private String medicalCode; |
| | | |
| | | /** |
| | | * è¯ååç§°,å¤ä¸ªç¨,åå² |
| | | */ |
| | | @ApiModelProperty("è¯ååç§°,å¤ä¸ªç¨,åå²") |
| | | @Excel(name = "è¯ååç§°,å¤ä¸ªç¨,åå²") |
| | | private String medicalName; |
| | | |
| | | /** |
| | | * è¯åå
¬å¸,å¤ä¸ªç¨,åå² |
| | | */ |
| | | @ApiModelProperty("è¯åå
¬å¸,å¤ä¸ªç¨,åå²") |
| | | @Excel(name = "è¯åå
¬å¸,å¤ä¸ªç¨,åå²") |
| | | private String medicalCompany; |
| | | |
| | | } |
| | |
| | | */ |
| | | @Excel(name = " åé人详æ
") |
| | | @ApiModelProperty(value = "åé人详æ
") |
| | | private String senderdetail; |
| | | private String hospitaldistrictname; |
| | | |
| | | /** |
| | | * 微信 |
| | |
| | | @ApiModelProperty("'满æåº¦æ è¯ï¼0æªå满度 1ä½é¢æ»¡åº¦åº¦ 2åºé¢æ»¡æåº¦ ï¼å¦ææ¢è¦åä½é¢ï¼åè¦ååºé¢ï¼åç¨â,âåå²ï¼ä¾å¦1,2ï¼") |
| | | @Excel(name = " '满æåº¦æ è¯ï¼0æªå满度 1ä½é¢æ»¡åº¦åº¦ 2åºé¢æ»¡æåº¦ ï¼å¦ææ¢è¦åä½é¢ï¼åè¦ååºé¢ï¼åç¨â,âåå²ï¼ä¾å¦1,2ï¼ ") |
| | | private String inhospMydFlag; |
| | | |
| | | /** |
| | | * è¯åç¼ç ,å¤ä¸ªç¨,åå² |
| | | */ |
| | | @ApiModelProperty("è¯åç¼ç ,å¤ä¸ªç¨,åå²") |
| | | @Excel(name = "è¯åç¼ç ,å¤ä¸ªç¨,åå²") |
| | | private String medicalCode; |
| | | |
| | | /** |
| | | * è¯ååç§°,å¤ä¸ªç¨,åå² |
| | | */ |
| | | @ApiModelProperty("è¯ååç§°,å¤ä¸ªç¨,åå²") |
| | | @Excel(name = "è¯ååç§°,å¤ä¸ªç¨,åå²") |
| | | private String medicalName; |
| | | |
| | | /** |
| | | * è¯åå
¬å¸,å¤ä¸ªç¨,åå² |
| | | */ |
| | | @ApiModelProperty("è¯åå
¬å¸,å¤ä¸ªç¨,åå²") |
| | | @Excel(name = "è¯åå
¬å¸,å¤ä¸ªç¨,åå²") |
| | | private String medicalCompany; |
| | | |
| | | } |
| | |
| | | @ApiModelProperty("'满æåº¦æ è¯ï¼0æªå满度 1ä½é¢æ»¡åº¦åº¦ 2åºé¢æ»¡æåº¦ ï¼å¦ææ¢è¦åä½é¢ï¼åè¦ååºé¢ï¼åç¨â,âåå²ï¼ä¾å¦1,2ï¼") |
| | | @Excel(name = " '满æåº¦æ è¯ï¼0æªå满度 1ä½é¢æ»¡åº¦åº¦ 2åºé¢æ»¡æåº¦ ï¼å¦ææ¢è¦åä½é¢ï¼åè¦ååºé¢ï¼åç¨â,âåå²ï¼ä¾å¦1,2ï¼ ") |
| | | private String inhospMydFlag; |
| | | |
| | | /** |
| | | * è¯åç¼ç ,å¤ä¸ªç¨,åå² |
| | | */ |
| | | @ApiModelProperty("è¯åç¼ç ,å¤ä¸ªç¨,åå²") |
| | | @Excel(name = "è¯åç¼ç ,å¤ä¸ªç¨,åå²") |
| | | private String medicalCode; |
| | | |
| | | /** |
| | | * è¯ååç§°,å¤ä¸ªç¨,åå² |
| | | */ |
| | | @ApiModelProperty("è¯ååç§°,å¤ä¸ªç¨,åå²") |
| | | @Excel(name = "è¯ååç§°,å¤ä¸ªç¨,åå²") |
| | | private String medicalName; |
| | | |
| | | /** |
| | | * è¯åå
¬å¸,å¤ä¸ªç¨,åå² |
| | | */ |
| | | @ApiModelProperty("è¯åå
¬å¸,å¤ä¸ªç¨,åå²") |
| | | @Excel(name = "è¯åå
¬å¸,å¤ä¸ªç¨,åå²") |
| | | private String medicalCompany; |
| | | |
| | | } |
| | | |
| | |
| | | private String icd10name; |
| | | |
| | | /** |
| | | * è¯åç¼ç |
| | | */ |
| | | @ApiModelProperty("è¯åç¼ç ") |
| | | @Excel(name = "è¯åç¼ç ") |
| | | private String medicalCode; |
| | | |
| | | /** |
| | | * è¯ååå®¶ |
| | | */ |
| | | @ApiModelProperty("è¯ååå®¶") |
| | | @Excel(name = "è¯ååå®¶") |
| | | private String medicalCompany; |
| | | |
| | | /** |
| | | * ç¾ç
åç§° |
| | | */ |
| | | @ApiModelProperty("è¯ååç§°") |
| | | @Excel(name = "è¯ååç§°") |
| | | private String medicalName; |
| | | |
| | | /** |
| | | * ææ¯ç¼ç |
| | | */ |
| | | @ApiModelProperty("ææ¯ç¼ç ") |
| | |
| | | /** |
| | | * éç¨æ¡ä»¶ç±»åï¼1ãæç§å®¤ã2ãæç
åºã3ãæç¾ç
è¯æã4ãæææ¯ç±»åã5ãæä»»å¡ç» |
| | | */ |
| | | @ApiModelProperty("éç¨æ¡ä»¶ç±»åï¼1ãæç§å®¤ã2ãæç
åºã3ãæç¾ç
è¯æã4ãæææ¯ç±»åã5ãæä»»å¡ç»") |
| | | @ApiModelProperty("éç¨æ¡ä»¶ç±»åï¼1ãæç§å®¤ã2ãæç
åºã3ãæç¾ç
è¯æã4ãæææ¯ç±»åã5ãæä»»å¡ç» 6.æè¯åç¼ç ") |
| | | @Excel(name = "éç¨æ¡ä»¶ç±»åï¼1ãæç§å®¤ã2ãæç
åºã3ãæç¾ç
è¯æã4ãæææ¯ç±»åã5ãæä»»å¡ç»") |
| | | private String appltype; |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.domain; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ruoyi.common.annotation.Excel; |
| | | import com.ruoyi.common.core.domain.BaseEntity; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * ä»»å¡è¯åå
³è对象 service_taskmedical |
| | | * |
| | | * @author lihu |
| | | * @date 2026-07-29 |
| | | */ |
| | | @Data |
| | | @ApiModel("ä»»å¡è¯åå
³è") |
| | | public class ServiceTaskmedical extends BaseEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * èªå¢ID |
| | | */ |
| | | @ApiModelProperty("èªå¢ID") |
| | | //æ°æ®åºèªå¢æ¹æ@TableId(type = IdType.AUTO) |
| | | private Long id; |
| | | |
| | | /** |
| | | * å»é¢æºæID |
| | | */ |
| | | @ApiModelProperty("å»é¢æºæID") |
| | | @Excel(name = "å»é¢æºæID") |
| | | private String orgid; |
| | | |
| | | /** |
| | | * ä»»å¡id |
| | | */ |
| | | @ApiModelProperty("ä»»å¡id") |
| | | @Excel(name = "ä»»å¡id") |
| | | private Long taskId; |
| | | |
| | | /** |
| | | * ä»»å¡åç§° |
| | | */ |
| | | @ApiModelProperty("ä»»å¡åç§°") |
| | | @Excel(name = "ä»»å¡åç§°") |
| | | private String taskName; |
| | | |
| | | /** |
| | | * æ¯å¦æ¯é¿ææ¨¡æ¿ï¼ 0ï¼ä¸æ¯ 1ï¼æ¯ |
| | | */ |
| | | @ApiModelProperty("æ¯å¦æ¯é¿ææ¨¡æ¿ï¼ 0ï¼ä¸æ¯ 1ï¼æ¯") |
| | | @Excel(name = "æ¯å¦æ¯é¿ææ¨¡æ¿ï¼ 0ï¼ä¸æ¯ 1ï¼æ¯") |
| | | private Long longtask; |
| | | |
| | | /** |
| | | * æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯éç¥ï¼6ãæ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥) |
| | | */ |
| | | @ApiModelProperty("æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯éç¥ï¼6ãæ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥)") |
| | | @Excel(name = "æå¡ç±»å(1ãçæµè¯ä¼°ï¼2ãåºé¢é访ï¼3ãé¨è¯é访ï¼4ã宣æå
³æï¼5ãå¤è¯éç¥ï¼6ãæ»¡æåº¦è°æ¥ï¼7ãæ£è
æ¥åï¼ 8ãå
¶ä»éç¥)") |
| | | private String serviceType; |
| | | |
| | | /** |
| | | * ç¾ç
id |
| | | */ |
| | | @ApiModelProperty("ç¾ç
id") |
| | | @Excel(name = "ç¾ç
id") |
| | | private Long icd10id; |
| | | |
| | | /** |
| | | * è¯åç¼ç |
| | | */ |
| | | @ApiModelProperty("è¯åç¼ç ") |
| | | @Excel(name = "è¯åç¼ç ") |
| | | private String medicalCode; |
| | | |
| | | /** |
| | | * è¯ååç§° |
| | | */ |
| | | @ApiModelProperty("è¯ååç§°") |
| | | @Excel(name = "è¯ååç§°") |
| | | private String medicalName; |
| | | |
| | | /** |
| | | * è¯ååå®¶ |
| | | */ |
| | | @ApiModelProperty("è¯ååå®¶") |
| | | @Excel(name = "è¯ååå®¶") |
| | | private String medicalCompany; |
| | | |
| | | /** |
| | | * å 餿 å¿ï¼0ï¼æªå é¤ 1ï¼å·²å é¤ï¼ |
| | | */ |
| | | @ApiModelProperty("å 餿 å¿ï¼0ï¼æªå é¤ 1ï¼å·²å é¤ï¼") |
| | | private String delFlag; |
| | | |
| | | /** |
| | | * ä¸ä¼ æ å¿ï¼0ï¼æªä¸ä¼ 1ï¼å·²ä¸ä¼ ï¼ |
| | | */ |
| | | @ApiModelProperty("ä¸ä¼ æ å¿ï¼0ï¼æªä¸ä¼ 1ï¼å·²ä¸ä¼ ï¼") |
| | | @Excel(name = "ä¸ä¼ æ å¿", readConverterExp = "0=ï¼æªä¸ä¼ ,1=ï¼å·²ä¸ä¼ ") |
| | | private Long isupload; |
| | | |
| | | /** |
| | | * ä¸ä¼ æ¶é´ |
| | | */ |
| | | @ApiModelProperty("ä¸ä¼ æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @Excel(name = "ä¸ä¼ æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") |
| | | private Date uploadTime; |
| | | |
| | | /** |
| | | * GUID |
| | | */ |
| | | @ApiModelProperty("GUID") |
| | | @Excel(name = "GUID") |
| | | private String guid; |
| | | |
| | | /** |
| | | * ç¶GUID |
| | | */ |
| | | @ApiModelProperty("ç¶GUID") |
| | | @Excel(name = "ç¶GUID") |
| | | private String pguid; |
| | | |
| | | /** |
| | | * ç¶ID |
| | | */ |
| | | @ApiModelProperty("ç¶ID") |
| | | @Excel(name = "ç¶ID") |
| | | private Long pid; |
| | | |
| | | /** |
| | | * ç
åºç¼å· |
| | | */ |
| | | @ApiModelProperty("ç
åºç¼å·") |
| | | @Excel(name = "ç
åºç¼å·") |
| | | private String wardCode; |
| | | |
| | | /** |
| | | * ç
åºåç§° |
| | | */ |
| | | @ApiModelProperty("ç
åºåç§°") |
| | | @Excel(name = "ç
åºåç§°") |
| | | private String wardName; |
| | | |
| | | /** |
| | | * ç§å®¤ç¼å· |
| | | */ |
| | | @ApiModelProperty("ç§å®¤ç¼å·") |
| | | @Excel(name = "ç§å®¤ç¼å·") |
| | | private String deptCode; |
| | | |
| | | /** |
| | | * ç§å®¤åç§° |
| | | */ |
| | | @ApiModelProperty("ç§å®¤åç§°") |
| | | @Excel(name = "ç§å®¤åç§°") |
| | | private String deptName; |
| | | |
| | | } |
| | | |
| | |
| | | */ |
| | | @Excel(name = " åé人详æ
") |
| | | @ApiModelProperty(value = "åé人详æ
") |
| | | private String senderdetail; |
| | | private String hospitaldistrictname; |
| | | |
| | | /** |
| | | * ä»»å¡ç±»å(0éç¥ã1宣æã2é¨è¯ã3åºé¢ã4å¤è¯ã5使£ã6é®å·ã7廿â¦â¦) |
| | |
| | | */ |
| | | @Excel(name = " åé人详æ
") |
| | | @ApiModelProperty(value = "åé人详æ
") |
| | | private String senderdetail; |
| | | private String hospitaldistrictname; |
| | | |
| | | /** |
| | | * ä»»å¡ç±»å(0éç¥ã1宣æã2é¨è¯ã3åºé¢ã4å¤è¯ã5使£ã6é®å·ã7廿â¦â¦) |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.mapper; |
| | | |
| | | import com.smartor.domain.ServiceTaskmedical; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * ä»»å¡è¯åå
³èMapperæ¥å£ |
| | | * |
| | | * @author lihu |
| | | * @date 2026-07-29 |
| | | */ |
| | | @Mapper |
| | | public interface ServiceTaskmedicalMapper |
| | | { |
| | | /** |
| | | * æ¥è¯¢ä»»å¡è¯åå
³è |
| | | * |
| | | * @param id ä»»å¡è¯åå
³èä¸»é® |
| | | * @return ä»»å¡è¯åå
³è |
| | | */ |
| | | public ServiceTaskmedical selectServiceTaskmedicalById(Long id); |
| | | |
| | | /** |
| | | * æ¥è¯¢ä»»å¡è¯åå
³èå表 |
| | | * |
| | | * @param serviceTaskmedical ä»»å¡è¯åå
³è |
| | | * @return ä»»å¡è¯åå
³èéå |
| | | */ |
| | | public List<ServiceTaskmedical> selectServiceTaskmedicalList(ServiceTaskmedical serviceTaskmedical); |
| | | |
| | | /** |
| | | * æ°å¢ä»»å¡è¯åå
³è |
| | | * |
| | | * @param serviceTaskmedical ä»»å¡è¯åå
³è |
| | | * @return ç»æ |
| | | */ |
| | | public int insertServiceTaskmedical(ServiceTaskmedical serviceTaskmedical); |
| | | |
| | | /** |
| | | * ä¿®æ¹ä»»å¡è¯åå
³è |
| | | * |
| | | * @param serviceTaskmedical ä»»å¡è¯åå
³è |
| | | * @return ç»æ |
| | | */ |
| | | public int updateServiceTaskmedical(ServiceTaskmedical serviceTaskmedical); |
| | | |
| | | /** |
| | | * å é¤ä»»å¡è¯åå
³è |
| | | * |
| | | * @param id ä»»å¡è¯åå
³èä¸»é® |
| | | * @return ç»æ |
| | | */ |
| | | public int deleteServiceTaskmedicalById(Long id); |
| | | |
| | | /** |
| | | * æ¹éå é¤ä»»å¡è¯åå
³è |
| | | * |
| | | * @param ids éè¦å é¤çæ°æ®ä¸»é®éå |
| | | * @return ç»æ |
| | | */ |
| | | public int deleteServiceTaskmedicalByIds(Long[] ids); |
| | | } |
| | |
| | | * ééå¨é¢æ£è
ç¨è¯ä¿¡æ¯ |
| | | * |
| | | * @param reqVO æ¥è¯¢è¯·æ±åæ° |
| | | * @return è¯åå表 |
| | | * @return å®é
è·åå°çè¯åæ°æ®æ¡æ° |
| | | */ |
| | | Boolean queryMedicationItemList(ServiceSLTDInhospReqVO reqVO); |
| | | Integer queryMedicationItemList(ServiceSLTDInhospReqVO reqVO); |
| | | |
| | | /** |
| | | * ééå»é¢ç¨æ·ä¿¡æ¯ |
| | |
| | | * @param ServiceSubtask åä¸ä»»å¡ï¼éè®¿ï¼ |
| | | * @return ç»æ |
| | | */ |
| | | public int insertServiceSubtask(ServiceSubtask ServiceSubtask); |
| | | public Map<String, Object> insertServiceSubtask(ServiceSubtask ServiceSubtask); |
| | | |
| | | /** |
| | | * 忬¡æ°å¢åä¸ä»»å¡ï¼éè®¿ï¼ |
| | |
| | | |
| | | /** |
| | | * å任塿¨¡æ¿ä¿®æ¹ |
| | | * |
| | | * @param serviceSubtaskTemplateVO |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * ç»è®¡é®é¢çé项çç¾åæ¯ |
| | | * |
| | | * @param taskIds |
| | | * @return |
| | | */ |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.service; |
| | | |
| | | import com.smartor.domain.ServiceTaskmedical; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * ä»»å¡è¯åå
³èServiceæ¥å£ |
| | | * |
| | | * @author lihu |
| | | * @date 2026-07-29 |
| | | */ |
| | | public interface IServiceTaskmedicalService |
| | | { |
| | | /** |
| | | * æ¥è¯¢ä»»å¡è¯åå
³è |
| | | * |
| | | * @param id ä»»å¡è¯åå
³èä¸»é® |
| | | * @return ä»»å¡è¯åå
³è |
| | | */ |
| | | public ServiceTaskmedical selectServiceTaskmedicalById(Long id); |
| | | |
| | | /** |
| | | * æ¥è¯¢ä»»å¡è¯åå
³èå表 |
| | | * |
| | | * @param serviceTaskmedical ä»»å¡è¯åå
³è |
| | | * @return ä»»å¡è¯åå
³èéå |
| | | */ |
| | | public List<ServiceTaskmedical> selectServiceTaskmedicalList(ServiceTaskmedical serviceTaskmedical); |
| | | |
| | | /** |
| | | * æ°å¢ä»»å¡è¯åå
³è |
| | | * |
| | | * @param serviceTaskmedical ä»»å¡è¯åå
³è |
| | | * @return ç»æ |
| | | */ |
| | | public int insertServiceTaskmedical(ServiceTaskmedical serviceTaskmedical); |
| | | |
| | | /** |
| | | * ä¿®æ¹ä»»å¡è¯åå
³è |
| | | * |
| | | * @param serviceTaskmedical ä»»å¡è¯åå
³è |
| | | * @return ç»æ |
| | | */ |
| | | public int updateServiceTaskmedical(ServiceTaskmedical serviceTaskmedical); |
| | | |
| | | /** |
| | | * æ¹éå é¤ä»»å¡è¯åå
³è |
| | | * |
| | | * @param ids éè¦å é¤çä»»å¡è¯åå
³è主é®éå |
| | | * @return ç»æ |
| | | */ |
| | | public int deleteServiceTaskmedicalByIds(Long[] ids); |
| | | |
| | | /** |
| | | * å é¤ä»»å¡è¯åå
³èä¿¡æ¯ |
| | | * |
| | | * @param id ä»»å¡è¯åå
³èä¸»é® |
| | | * @return ç»æ |
| | | */ |
| | | public int deleteServiceTaskmedicalById(Long id); |
| | | } |
| | |
| | | @Autowired |
| | | private ServiceSubtaskPreachformMapper serviceSubtaskPreachformMapper; |
| | | @Autowired |
| | | private PatMedOperationMapper patMedOperationMapper; |
| | | private ServiceTaskmedicalMapper serviceTaskmedicalMapper; |
| | | @Autowired |
| | | private PatMedOperationItemMapper patMedOperationItemMapper; |
| | | @Autowired |
| | |
| | | |
| | | @Override |
| | | public int dealOutHospInfo(String config) { |
| | | PatMedInhosp pmks = new PatMedInhosp(); |
| | | pmks.setDeptcheckFlag("0"); |
| | | pmks.setInhospstate("1"); |
| | | pmks.setFuflag("1"); |
| | | List<PatMedInhosp> patMedInhosps = patMedInhospMapper.selectPatMedInhospList(pmks); |
| | | |
| | | //1.å
¥é¢å®£æ |
| | | String helibrarySwitch = iSysConfigService.selectConfigByKey("in.helibrary.switch"); |
| | | if (StringUtils.isNotEmpty(helibrarySwitch) && "2".equals(helibrarySwitch)) { |
| | | PatMedInhosp inhosp = new PatMedInhosp(); |
| | | inhosp.setInDeptcheckFlag("0"); |
| | | inhosp.setInhospstate("0"); |
| | | inhosp.setFuflag("1"); |
| | | List<PatMedInhosp> inPatMedInhosps = patMedInhospMapper.selectPatMedInhospList(inhosp); |
| | | |
| | | //1.1 ç§å®¤ |
| | | for (PatMedInhosp patMedInhosp1 : inPatMedInhosps) { |
| | | for (PatMedInhosp patMedInhosp1 : patMedInhosps) { |
| | | //è·åæ£è
ä¿¡æ¯ |
| | | PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid()); |
| | | if (Objects.isNull(patArchive)) { |
| | |
| | | |
| | | |
| | | //1.2 ç
åº |
| | | inhosp.setInDeptcheckFlag(null); |
| | | inhosp.setInWardcheckFlag("0"); |
| | | List<PatMedInhosp> inPatMedInhospsWard = patMedInhospMapper.selectPatMedInhospList(inhosp); |
| | | pmks.setInDeptcheckFlag(null); |
| | | pmks.setInWardcheckFlag("0"); |
| | | pmks.setDeptcheckFlag(null); |
| | | List<PatMedInhosp> inPatMedInhospsWard = patMedInhospMapper.selectPatMedInhospList(pmks); |
| | | for (PatMedInhosp patMedInhosp1 : inPatMedInhospsWard) { |
| | | //è·åæ£è
ä¿¡æ¯ |
| | | PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid()); |
| | |
| | | } |
| | | } |
| | | |
| | | //2.åºé¢é访 - åºäºè§åçä»»å¡çæ |
| | | addSubTaskByRule(config); |
| | | //æ ¹æ®æ£è
æå¨ç
åºï¼è·å该ç
åºçé¿æä»»å¡,æ°åå»é¢å¯ä»¥å
ä¸ç¨æ ¹æ®ç
åºåç¾ç
æ¥å |
| | | //2.è¯å宣æ |
| | | for (PatMedInhosp patMedInhosp : patMedInhosps) { |
| | | String medicalCode = patMedInhosp.getMedicalCode(); |
| | | if (StringUtils.isNotEmpty(medicalCode)) { |
| | | String[] split = medicalCode.split(","); |
| | | // é²å¾¡æ§ç¼ç¨ï¼ç¡®ä¿ medicalCompany å medicalName ä¸ä¸º null |
| | | String medicalCompanyStr = patMedInhosp.getMedicalCompany() != null ? patMedInhosp.getMedicalCompany() : ""; |
| | | String medicalNameStr = patMedInhosp.getMedicalName() != null ? patMedInhosp.getMedicalName() : ""; |
| | | String[] medicalCompanyArray = medicalCompanyStr.split(","); |
| | | String[] medicalNameArray = medicalNameStr.split(","); |
| | | |
| | | for (int i = 0; i < split.length; i++) { |
| | | ServiceTaskmedical serviceTaskmedical = new ServiceTaskmedical(); |
| | | //æ¿è¯åç¼ç åå
¬å¸å»æ¥ |
| | | serviceTaskmedical.setMedicalCode(split[i]); |
| | | // 鲿¢ä¸æ è¶çï¼å¦ææ°ç»é¿åº¦ä¸ä¸è´ï¼åæå°é¿åº¦ |
| | | if (i < medicalCompanyArray.length) { |
| | | serviceTaskmedical.setMedicalName(medicalCompanyArray[i]); |
| | | } else { |
| | | log.warn("ãè¯å宣æãè¯åç¼ç {}对åºçå
¬å¸ä¿¡æ¯ä¸æ è¶çï¼medicalCompany æ°ç»é¿åº¦={}, å½åç´¢å¼={}", split[i], medicalCompanyArray.length, i); |
| | | serviceTaskmedical.setMedicalName(""); // è¶çæ¶è®¾ç½®ä¸ºç©º |
| | | } |
| | | List<ServiceTaskmedical> serviceTaskmedicals = serviceTaskmedicalMapper.selectServiceTaskmedicalList(serviceTaskmedical); |
| | | if (CollectionUtils.isNotEmpty(serviceTaskmedicals)) { |
| | | PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp.getPatid()); |
| | | writeInSubTask(serviceTaskmedicals.get(0).getTaskId(), false, patMedInhosp, patArchive, 0, config); |
| | | } |
| | | //æ¥ä¸å°çè¯åå°±æ¯ä¸éè¦å®£æçï¼å°±ä¸ç®¡äº |
| | | } |
| | | } |
| | | } |
| | | |
| | | //3.åºé¢é访 - åºäºè§åçä»»å¡çæ |
| | | // è·åææéè¦å¤ççåºé¢æ£è
ï¼ç§å®¤ç»´åº¦æªå¤çï¼ |
| | | |
| | | addSubTaskByRule(config, patMedInhosps); |
| | | if (!active.equals("xh")) { |
| | | addOperationSubTask(config); |
| | | } |
| | |
| | | * @param check æ¯å¦éè¦æ ¡éª |
| | | * @param patMedInhosp1 ç
人åºå
¥é¢ä¿¡æ¯ |
| | | * @param patArchive ç
äººä¿¡æ¯ |
| | | * @param type é访类å(1-ç§å®¤ï¼2-ç
åºï¼3-ç¾ç
4-å
¥é¢ç§å®¤ 5-å
¥é¢ç
åº) |
| | | * @param type é访类å(0-宣æï¼1-ç§å®¤ï¼2-ç
åºï¼3-ç¾ç
4-å
¥é¢ç§å®¤ 5-å
¥é¢ç
åº) |
| | | * @param config é
ç½®ä¿¡æ¯ visit.early.day |
| | | */ |
| | | //å°æ£è
æ¾å°subtaskä¸ |
| | |
| | | * æ ¹æ®æ£è
离é¢ç§å®¤æç
åºæ¥è¯¢service_task_ruleï¼è·ådeptRuleãwradRuleãdiagRule |
| | | * æ ¹æ®è§åå¼å³å®è°ç¨åªä¸ªæ¹æ³çæéè®¿ä»»å¡ |
| | | */ |
| | | private void addSubTaskByRule(String config) { |
| | | // è·åææéè¦å¤ççåºé¢æ£è
ï¼ç§å®¤ç»´åº¦æªå¤çï¼ |
| | | PatMedInhosp pmks = new PatMedInhosp(); |
| | | pmks.setDeptcheckFlag("0"); |
| | | pmks.setInhospstate("1"); |
| | | pmks.setFuflag("1"); |
| | | List<PatMedInhosp> patMedInhosps = patMedInhospMapper.selectPatMedInhospList(pmks); |
| | | log.info("ãåºäºè§åãéè¦å¤ççåºé¢æ£è
ä¿¡æ¯ï¼{}", CollectionUtils.isNotEmpty(patMedInhosps) ? patMedInhosps.size() : null); |
| | | |
| | | private void addSubTaskByRule(String config, List<PatMedInhosp> patMedInhosps) { |
| | | for (PatMedInhosp patMedInhosp1 : patMedInhosps) { |
| | | // è·åæ£è
åºæ¬ä¿¡æ¯ |
| | | PatArchive patArchive = patArchiveMapper.selectPatArchiveByPatid(patMedInhosp1.getPatid()); |
| | |
| | | |
| | | @Autowired |
| | | private PatArchiveMapper patArchiveMapper; |
| | | @Autowired |
| | | private ServiceTaskmedicalMapper serviceTaskmedicalMapper; |
| | | |
| | | |
| | | /** |
| | |
| | | PatMedOuthospQueryReq patMedOuthospQueryReq = DtoConversionUtils.sourceToTarget(patMedOuthosp, PatMedOuthospQueryReq.class); |
| | | patMedOuthospQueryReq.setBeginAdmitdate(patMedOuthosp.getBeginTime()); |
| | | patMedOuthospQueryReq.setEndAdmitdate(patMedOuthosp.getEndTime()); |
| | | if(!CollectionUtils.isEmpty(patMedOuthosp.getDeptcodes())) { |
| | | String result = String.join(",", patMedOuthosp.getDeptcodes()); |
| | | if (!CollectionUtils.isEmpty(patMedOuthosp.getDeptcodes())) { |
| | | String result = String.join(",", patMedOuthosp.getDeptcodes()); |
| | | patMedOuthospQueryReq.setDeptcode(result); |
| | | } |
| | | |
| | |
| | | PatMedOuthospQueryReq req = new PatMedOuthospQueryReq(); |
| | | String deptcodes = CollectionUtils.isEmpty(patMedReq.getDeptcodeList()) ? null : String.join(",", patMedReq.getDeptcodeList()); |
| | | req.setBeginAdmitdate(patMedReq.getStartDate()); |
| | | req.setEndAdmitdate(DateUtils.addDays(patMedReq.getEndDate(),1)); |
| | | req.setEndAdmitdate(DateUtils.addDays(patMedReq.getEndDate(), 1)); |
| | | req.setDeptcode(deptcodes); |
| | | req.setOrgid(patMedReq.getOrgid()); |
| | | // req.setCampusid(patMedReq.getCampusid()); |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Integer followUpAgainByPatMedOuthosp(PatMedOuthosp patMedOuthosp,Date adminDate, Integer visitTimeNum){ |
| | | public Integer followUpAgainByPatMedOuthosp(PatMedOuthosp patMedOuthosp, Date adminDate, Integer visitTimeNum) { |
| | | int hoursToAdd = visitTimeNum * 24; |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(adminDate); |
| | |
| | | serviceSubtaskEntity0.setDeptcode(deptcode); |
| | | serviceSubtaskEntity0.setSort(0); |
| | | List<ServiceSubtask> serviceSubtaskList0 = serviceSubtaskMapper.selectServiceSubtaskList(serviceSubtaskEntity0); |
| | | if(!CollectionUtils.isEmpty(serviceSubtaskList0)){ |
| | | if (!CollectionUtils.isEmpty(serviceSubtaskList0)) { |
| | | ServiceSubtask serviceSubtask0 = serviceSubtaskList0.get(0); |
| | | serviceSubtask0.setSendstate(6L); |
| | | serviceSubtask0.setUpdateTime(new Date()); |
| | |
| | | serviceSubtask1.setVisitTime(newDate); |
| | | serviceSubtask1.setLongSendTime(newDate); |
| | | i = serviceSubtaskMapper.insertServiceSubtask(serviceSubtask1); |
| | | }else { |
| | | } else { |
| | | //æ¥ç已宿çä»»å¡ |
| | | // ServiceSubtaskEntity serviceSubtaskEntity = new ServiceSubtaskEntity(); |
| | | // serviceSubtaskEntity0.setOrgid(patMedOuthosp.getOrgid()); |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Boolean queryMedicationItemList(ServiceSLTDInhospReqVO reqVO) { |
| | | /** |
| | | * æ¥è¯¢è¯åä¿¡æ¯å表 |
| | | * @return è¿åå®é
è·åå°çè¯åæ°æ®æ¡æ°ï¼å¦æåºéåè¿å null |
| | | */ public Integer queryMedicationItemList(ServiceSLTDInhospReqVO reqVO) { |
| | | try { |
| | | Map<String, Object> requestParams = buildRequestParams(reqVO); |
| | | Map<String, String> headers = buildRequestHeaders(); |
| | | log.info("请æ±åè¯åä¿¡æ¯å°åï¼{},appKey:{}", sltdPubPath + "/hbos-thirdparty-integration/standard/base/mc/service/medication/queryMedicationInfoPage", APP_KEY); |
| | | String result = HttpUtils.sendPostByHeader(sltdPubPath + "/hbos-thirdparty-integration/standard/base/mc/service/medication/queryMedicationInfoPage", new Gson().toJson(requestParams), headers); |
| | | List<Map<String, Object>> dataList = getDataList(result, 2); |
| | | log.info("ãqueryMedicationItemListãå
±è·åå°{}æ¡è¯åæ°æ®", dataList.size()); |
| | | int successCount = 0; |
| | | int failCount = 0; |
| | | for (Map<String, Object> dataItem : dataList) { |
| | | MedicationItem medicationItem = convertToMedication(dataItem); |
| | | log.info("medicationItemçå¼ä¸ºï¼{}", medicationItem); |
| | | medicationItemMapper.insertMedicationItem(medicationItem); |
| | | List<MedicationDoseInfo> doseInfoList = medicationItem.getDoseInfoList(); |
| | | for (MedicationDoseInfo doseInfo : doseInfoList) { |
| | | doseInfo.setMedicationItemId(medicationItem.getId()); |
| | | medicationDoseInfoMapper.insertMedicationDoseInfo(doseInfo); |
| | | try { |
| | | MedicationItem medicationItem = convertToMedication(dataItem); |
| | | log.info("å夿å
¥è¯åæ°æ®ï¼itemName={}, itemCode={}", medicationItem.getItemName(), medicationItem.getItemCode()); |
| | | medicationItem.setCreateTime(new Date()); |
| | | medicationItemMapper.insertMedicationItem(medicationItem); |
| | | |
| | | // 妿æå
¥æåä¸è¿åäºèªå¢ IDï¼åæå
¥å表 |
| | | if (medicationItem.getId() != null) { |
| | | List<MedicationDoseInfo> doseInfoList = medicationItem.getDoseInfoList(); |
| | | if (CollectionUtils.isNotEmpty(doseInfoList)) { |
| | | for (MedicationDoseInfo doseInfo : doseInfoList) { |
| | | try { |
| | | doseInfo.setMedicationItemId(medicationItem.getId()); |
| | | medicationDoseInfoMapper.insertMedicationDoseInfo(doseInfo); |
| | | log.debug("æå
¥åéä¿¡æ¯æåï¼itemId={}, doseUnit={}", medicationItem.getId(), doseInfo.getDoseUnit()); |
| | | } catch (Exception e) { |
| | | log.warn("æå
¥åéä¿¡æ¯å¤±è´¥ï¼itemId={}, doseUnit={}, é误:{}", medicationItem.getId(), doseInfo.getDoseUnit(), e.getMessage(), e); |
| | | failCount++; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | successCount++; |
| | | log.info("â è¯åæ°æ®æå
¥æåï¼{}", medicationItem.getItemName()); |
| | | } catch (Exception e) { |
| | | log.warn("ãqueryMedicationItemListãåæ¡è¯åæ°æ®æå
¥å¤±è´¥ï¼itemName={}, itemCode={}, é误:{}", dataItem.get("itemName"), dataItem.get("itemCode"), e.getMessage(), e); |
| | | failCount++; |
| | | // ç»§ç»å¤çä¸ä¸æ¡æ°æ®ï¼ä¸ä¸ææ´ä¸ªå¾ªç¯ |
| | | } |
| | | } |
| | | log.info("ãqueryMedicationItemListãæ¹éæå
¥å®æï¼æ»æ°:{}, æå:{}, 失败:{}", dataList.size(), successCount, failCount); |
| | | // è¿åå®é
è·åå°çè¯åæ°æ®æ¡æ°ï¼ç¨äºå页夿æ¯å¦è¿ææ´å¤æ°æ® |
| | | return dataList.size(); |
| | | } catch (Exception e) { |
| | | log.error("ãqueryMedicationItemListãè°ç¨çç«åå¾·è¯åä¿¡æ¯æ¥è¯¢æ¥å£å¼å¸¸ï¼è¯·æ±åæ°ï¼{}", reqVO, e); |
| | | throw new RuntimeException(e); |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | if (active.equals("nhfy") || active.equals("sltd")) { |
| | | Map<String, String> drugInfoMap = queryMedicalOrders(dto); |
| | | if (drugInfoMap != null && !drugInfoMap.isEmpty()) { |
| | | patMedInhosp.setMedicalName(drugInfoMap.get("drugItemNames")); |
| | | patMedInhosp.setMedicalCode(drugInfoMap.get("drugItemIds")); |
| | | patMedInhosp.setMedicalCompany(drugInfoMap.get("drugManufacturerNames")); |
| | | |
| | | log.info("è·åè¯åä¿¡æ¯æåï¼åç§°={}, ç¼ç ={}, åå®¶={}", drugInfoMap.get("drugItemNames"), drugInfoMap.get("drugItemIds"), drugInfoMap.get("drugManufacturerNames")); |
| | | } |
| | | } |
| | | return patMedInhosp; |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢å»å±ä¿¡æ¯å¹¶æ¼æ¥è¯åä¿¡æ¯ |
| | | * |
| | | * @param dto å¥åº·è®°å½è¯·æ±å¯¹è±¡ |
| | | * @return è¿åå
å«ä¸ä¸ªå段 Mapï¼ |
| | | * - drugItemNames: è¯ååç§°å表ï¼éå·åéï¼ |
| | | * - drugItemIds: è¯åç¼ç å表ï¼éå·åéï¼ |
| | | * - drugManufacturerNames: è¯ååå®¶å表ï¼éå·åéï¼ |
| | | * <p> |
| | | * è§åï¼ |
| | | * 1. ä¸ä¸ªå段顺åºä½ç½®ä¿æä¸è´ |
| | | * 2. 妿ä¸ä¸ªå段é½ä¸ºç©ºï¼åè·³è¿è¯¥è®°å½ |
| | | * 3. 妿è³å°æä¸ä¸ªå段æå¼ï¼åå
¶ä»ä¸¤ä¸ªä¸ºç©ºç¨ç©ºåç¬¦ä¸²ä»£æ¿ |
| | | */ |
| | | private Map<String, String> queryMedicalOrders(ServiceSLTDInhospResDTO dto) { |
| | | Map<String, String> result = new HashMap<>(); |
| | | List<String> itemNames = new ArrayList<>(); |
| | | List<String> itemIds = new ArrayList<>(); |
| | | List<String> manufacturerNames = new ArrayList<>(); |
| | | |
| | | try { |
| | | // è·åæ£è
çå»å±ä¿¡æ¯ |
| | | Map<String, Object> medicineInfoReq = new HashMap<>(); |
| | | medicineInfoReq.put("orgId", dto.getOrgId()); |
| | | medicineInfoReq.put("patientId", dto.getPatientId()); |
| | | medicineInfoReq.put("campusId", dto.getCampusId()); |
| | | medicineInfoReq.put("medicalRecordNo", dto.getMedicalRecordNo()); |
| | | log.info("ãqueryMedicalOrdersã请æ±åæ°ï¼{}", medicineInfoReq); |
| | | Map<String, String> headers = buildRequestHeaders(); |
| | | String resultStr = HttpUtils.sendPostByHeader(sltdPubPath + "/osj/hbos-thirdparty-integration/standard/common/doctorOrder/queryDoctorOrderList", new Gson().toJson(medicineInfoReq), headers); |
| | | |
| | | if (StringUtils.isEmpty(resultStr)) { |
| | | log.warn("ãqueryMedicalOrdersãæ¥å£è¿å为空ï¼patientId={}", dto.getPatientId()); |
| | | return result; |
| | | } |
| | | |
| | | // è§£æè¿åæ°æ® |
| | | Gson gson = new Gson(); |
| | | Type mapType = new TypeToken<Map<String, Object>>() { |
| | | }.getType(); |
| | | Map<String, Object> responseMap = gson.fromJson(resultStr, mapType); |
| | | |
| | | // æ£æ¥è¿åç |
| | | Object codeObj = responseMap.get("code"); |
| | | if (codeObj != null) { |
| | | String code = BigDecimal.valueOf(((Number) codeObj).longValue()).toPlainString(); |
| | | if (!"200".equals(code)) { |
| | | log.error("ãqueryMedicalOrdersãæ¥å£è¿å失败ï¼code={}, message={}", code, responseMap.get("message")); |
| | | return result; |
| | | } |
| | | } |
| | | |
| | | // è·å data æ°ç» |
| | | Object dataObj = responseMap.get("data"); |
| | | if (dataObj instanceof List) { |
| | | List<?> dataList = (List<?>) dataObj; |
| | | |
| | | // éåå»å±åè¡¨ï¼æåè¯åä¿¡æ¯ |
| | | Set<String> processedItemIds = new HashSet<>(); // ç¨äºå»éï¼åªæ ¹æ® itemId å»éï¼ |
| | | |
| | | for (Object item : dataList) { |
| | | if (item instanceof Map) { |
| | | Map<String, Object> itemMap = (Map<String, Object>) item; |
| | | |
| | | // åªå¤çè¯åç¸å
³çå»å±ï¼itemDomain 为 FH0134.01 表示è¯åï¼ |
| | | Object itemDomainObj = itemMap.get("itemDomain"); |
| | | if (itemDomainObj == null || !"FH0134.01".equals(itemDomainObj.toString())) { |
| | | continue; |
| | | } |
| | | |
| | | // è·åä¸ä¸ªå段 |
| | | Object itemNameObj = itemMap.get("itemName"); |
| | | Object itemIdObj = itemMap.get("itemId"); |
| | | Object manufacturerNameObj = itemMap.get("manufacturerName"); |
| | | |
| | | // 夿æ¯å¦é½ä¸ºç©º |
| | | boolean allEmpty = (itemNameObj == null || StringUtils.isEmpty(itemNameObj.toString())) && (itemIdObj == null || StringUtils.isEmpty(itemIdObj.toString())) && (manufacturerNameObj == null || StringUtils.isEmpty(manufacturerNameObj.toString())); |
| | | |
| | | // 妿ä¸ä¸ªé½ä¸ºç©ºï¼åè·³è¿ |
| | | if (allEmpty) { |
| | | continue; |
| | | } |
| | | |
| | | // è³å°æä¸ä¸ªæå¼ï¼å¤çæ¯ä¸ªå段 |
| | | String itemName = (itemNameObj != null && StringUtils.isNotEmpty(itemNameObj.toString())) ? itemNameObj.toString() : ""; |
| | | |
| | | // itemId ç¹æ®å¤çï¼é¿å
ç§å¦è®¡æ°æ³ï¼Gson å¯è½å°æ°åè§£æä¸º Doubleï¼ |
| | | String itemId = ""; |
| | | if (itemIdObj != null && StringUtils.isNotEmpty(itemIdObj.toString())) { |
| | | if (itemIdObj instanceof Number) { |
| | | // å¦ææ¯æ°å¼ç±»åï¼è½¬æ¢ä¸ºæ´æ°å符串ï¼é¿å
ç§å¦è®¡æ°æ³ |
| | | itemId = String.valueOf(((Number) itemIdObj).longValue()); |
| | | } else { |
| | | itemId = itemIdObj.toString(); |
| | | } |
| | | } |
| | | |
| | | String manufacturerName = (manufacturerNameObj != null && StringUtils.isNotEmpty(manufacturerNameObj.toString())) ? manufacturerNameObj.toString() : ""; |
| | | |
| | | // åªæ ¹æ® itemId å»éï¼åä¸ç¼ç çè¯ååªä¿çä¸ä¸ªï¼ |
| | | if (StringUtils.isNotEmpty(itemId)) { |
| | | if (processedItemIds.contains(itemId)) { |
| | | log.info("ãqueryMedicalOrdersãè·³è¿éå¤è¯åï¼ç¸åç¼ç ï¼ï¼åç§°={}, ç¼ç ={}", itemName, itemId); |
| | | continue; |
| | | } |
| | | processedItemIds.add(itemId); |
| | | } else { |
| | | // itemId 为空æ¶ï¼ä½¿ç¨ itemName ä½ä¸ºå»é便® |
| | | if (processedItemIds.contains(itemName)) { |
| | | log.info("ãqueryMedicalOrdersãè·³è¿éå¤è¯åï¼ç¸ååç§°ï¼ï¼åç§°={}", itemName); |
| | | continue; |
| | | } |
| | | processedItemIds.add(itemName); |
| | | } |
| | | |
| | | // æ·»å å°å表 |
| | | itemNames.add(itemName); |
| | | itemIds.add(itemId); |
| | | manufacturerNames.add(manufacturerName); |
| | | |
| | | log.info("ãqueryMedicalOrdersãæåè¯åä¿¡æ¯ï¼åç§°={}, ç¼ç ={}, åå®¶={}", itemName, itemId, manufacturerName); |
| | | } |
| | | } |
| | | } else { |
| | | log.info("ãqueryMedicalOrdersãdata 䏿¯æ°ç»ç±»åï¼patientId={}", dto.getPatientId()); |
| | | } |
| | | |
| | | // å°åè¡¨æ¼æ¥æéå·åéçå符串 |
| | | if (!itemNames.isEmpty()) { |
| | | result.put("drugItemNames", String.join(",", itemNames)); |
| | | result.put("drugItemIds", String.join(",", itemIds)); |
| | | result.put("drugManufacturerNames", String.join(",", manufacturerNames)); |
| | | } |
| | | |
| | | log.info("ãqueryMedicalOrdersãæåæå{}æ¡è¯åä¿¡æ¯ï¼patientId={}", itemNames.size(), dto.getPatientId()); |
| | | |
| | | } catch (Exception e) { |
| | | log.error("ãqueryMedicalOrdersãæ¥è¯¢å»å±ä¿¡æ¯å¤±è´¥ï¼patientId={}", dto.getPatientId(), e); |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | | private void setDischargeInfo(PatMedInhosp patMedInhosp, ServiceSLTDInhospResDTO dto) { |
| | |
| | | if (importanceFlagCodeListObj instanceof List) { |
| | | List<?> importanceFlagCodeList = (List<?>) importanceFlagCodeListObj; |
| | | // è¿æ»¤æ null å¼ |
| | | List<String> nonNullList = importanceFlagCodeList.stream() |
| | | .filter(Objects::nonNull) |
| | | .map(Object::toString) |
| | | .filter(StringUtils::isNotEmpty) |
| | | .collect(Collectors.toList()); |
| | | List<String> nonNullList = importanceFlagCodeList.stream().filter(Objects::nonNull).map(Object::toString).filter(StringUtils::isNotEmpty).collect(Collectors.toList()); |
| | | |
| | | if (!nonNullList.isEmpty()) { |
| | | String importanceFlagLabel; |
| | |
| | | private ISvyLibTemplateScriptService svyLibTemplateScriptService; |
| | | |
| | | @Autowired |
| | | private ISvyTaskTemplateTargetoptionService svyTaskTemplateTargetoptionService; |
| | | |
| | | @Autowired |
| | | private IIvrTaskTemplateService ivrTaskTemplateService; |
| | | |
| | | @Autowired |
| | |
| | | List<SvyTaskTemplateScriptVO> cacheList = redisCache.getCacheList(key); |
| | | cacheList.sort(Comparator.comparingLong(SvyTaskTemplateScriptVO::getSort)); |
| | | log.info("é®å·åçç»æï¼{}", CollectionUtils.isEmpty(cacheList) ? null : cacheList.size()); |
| | | |
| | | //æ ¡éªä¸ä¸é¢çåºå·æ¯å¦æé®é¢ (å¦ææ ¹æ®é项æ åºè·³è½¬ï¼å°±ä¼å¯¼è´é误) |
| | | cacheList = checkQuestionSort(cacheList); |
| | | |
| | | for (int i = 0; i < cacheList.size(); i++) { |
| | | if (i == 0) { |
| | | //è¿ä¸ªæ¶é´è¦æ¾å°ç¬¬ä¸é¢ |
| | |
| | | String isabnormalFlag = "0"; |
| | | if (serviceSubTaskCacheReq.getType() == 2) { |
| | | List<SvyTaskTemplateScriptVO> cacheList = serviceSubTaskCacheReq.getSvyTaskTemplateScriptVOS(); |
| | | //æ£æ¥å¹¶ä¿®æ£é®å·é¢ç®æåº |
| | | cacheList = checkQuestionSort(cacheList); |
| | | cacheList.sort(Comparator.comparingLong(SvyTaskTemplateScriptVO::getSort)); |
| | | log.info("é®å·åçç»æï¼{}", CollectionUtils.isEmpty(cacheList) ? null : cacheList.size()); |
| | | // 颿¥è¯¢å¾ªç¯ä¸ä¸åçæ°æ®ï¼é¿å
æ¯é¢é夿¥æ°æ®åº |
| | |
| | | ServiceTask preServiceTask = serviceTaskService.selectServiceTaskByTaskid(tid); |
| | | Map<Long, Long> preDetailIdMap = getExistingDetailIdMap(subid); |
| | | Map<Long, Long> preTraceIdMap = getExistingTraceIdMap(subid); |
| | | |
| | | // æåå®ä½ç¬¬ä¸é¢çç´¢å¼ï¼é¿å
åç»åµå¥å¾ªç¯ |
| | | Integer firstSortIndex = -1; |
| | | if (CollectionUtils.isNotEmpty(cacheList)) { |
| | | for (int j = 0; j < cacheList.size(); j++) { |
| | | if (cacheList.get(j).getSort() != null && cacheList.get(j).getSort() == 1L) { |
| | | firstSortIndex = j; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | for (int i = 0; i < cacheList.size(); i++) { |
| | | if (i == 0) { |
| | | //è¿ä¸ªæ¶é´è¦æ¾å°ç¬¬ä¸é¢ |
| | | for (SvyTaskTemplateScriptVO svyTaskTemplateScriptVO : cacheList) { |
| | | if (svyTaskTemplateScriptVO.getSort() == 1L) { |
| | | //è¯´ææ¯ç¬¬ä¸é¢ |
| | | List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = svyTaskTemplateScriptVO.getSvyTaskTemplateTargetoptions(); |
| | | svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions); |
| | | Map<String, String> map = setWJInfo(svyTaskTemplateScriptVO, tid, pid, subid, preServiceSubtaskList, preServiceTask, preDetailIdMap, preTraceIdMap); |
| | | if (map == null) continue; |
| | | if (!Objects.isNull(map.get("nextScriptNo"))) |
| | | nextScriptno = Long.valueOf(map.get("nextScriptNo")); |
| | | if (score == null) { |
| | | score = Double.valueOf(map.get("score")); |
| | | } else { |
| | | score = score + Double.valueOf(map.get("score")); |
| | | } |
| | | isabnormalFlag = map.get("isabnormal"); |
| | | } |
| | | } |
| | | SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = cacheList.get(i); |
| | | log.info("svyTaskTemplateScriptVO çä¿¡æ¯ä¸ºï¼{}ï¼i çå¼ä¸ºï¼{}", svyTaskTemplateScriptVO.getScriptno(), i); |
| | | List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = svyTaskTemplateScriptVO.getSvyTaskTemplateTargetoptions(); |
| | | svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions); |
| | | |
| | | } else { |
| | | SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = cacheList.get(i); |
| | | log.info("svyTaskTemplateScriptVOçä¿¡æ¯ä¸ºï¼{}ï¼içå¼ä¸ºï¼{}", svyTaskTemplateScriptVO.getScriptno(), i); |
| | | List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = cacheList.get(i).getSvyTaskTemplateTargetoptions(); |
| | | svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions); |
| | | // 妿æ¯ç¬¬ä¸é¢æè
å¹é
nextScriptno çé¢ç® |
| | | boolean shouldProcess = false; |
| | | if (i == firstSortIndex) { |
| | | shouldProcess = true; |
| | | } else if (nextScriptno != null && svyTaskTemplateScriptVO.getSort() != null && svyTaskTemplateScriptVO.getSort().equals(nextScriptno)) { |
| | | shouldProcess = true; |
| | | } |
| | | |
| | | if (svyTaskTemplateScriptVO.getSort() != null && svyTaskTemplateScriptVO.getSort().equals(nextScriptno)) { |
| | | Map<String, String> map = setWJInfo(svyTaskTemplateScriptVO, tid, pid, subid, preServiceSubtaskList, preServiceTask, preDetailIdMap, preTraceIdMap); |
| | | log.error("nextScriptNoçä¿¡æ¯ä¸ºï¼{}", map.get("nextScriptNo")); |
| | | if (!Objects.isNull(map.get("nextScriptNo"))) |
| | | nextScriptno = Long.valueOf(map.get("nextScriptNo")); |
| | | if (score == null) { |
| | | score = Double.valueOf(map.get("score")); |
| | | } else { |
| | | score = score + Double.valueOf(map.get("score")); |
| | | } |
| | | isabnormalFlag = map.get("isabnormal"); |
| | | if (shouldProcess) { |
| | | Map<String, String> map = setWJInfo(svyTaskTemplateScriptVO, tid, pid, subid, preServiceSubtaskList, preServiceTask, preDetailIdMap, preTraceIdMap); |
| | | log.error("nextScriptNo çä¿¡æ¯ä¸ºï¼{}", map.get("nextScriptNo")); |
| | | if (map == null) continue; |
| | | |
| | | if (!Objects.isNull(map.get("nextScriptNo"))) |
| | | nextScriptno = Long.valueOf(map.get("nextScriptNo")); |
| | | |
| | | if (score == null) { |
| | | score = Double.valueOf(map.get("score")); |
| | | } else { |
| | | score = score + Double.valueOf(map.get("score")); |
| | | } |
| | | isabnormalFlag = map.get("isabnormal"); |
| | | } |
| | | } |
| | | } else if (serviceSubTaskCacheReq.getType() == 1) { |
| | | List<IvrTaskTemplateScriptVO> cacheList = serviceSubTaskCacheReq.getIvrTaskTemplateScriptVOList(); |
| | | cacheList.sort(Comparator.comparingLong(vo -> Optional.ofNullable(vo.getSort()).orElse(0))); |
| | | log.error("çµè¯é访é®å·åçç»æï¼{}", CollectionUtils.isEmpty(cacheList) ? null : cacheList.size()); |
| | | |
| | | // æåå®ä½ç¬¬ä¸é¢çç´¢å¼ |
| | | Integer firstIvrSortIndex = -1; |
| | | if (CollectionUtils.isNotEmpty(cacheList)) { |
| | | for (int j = 0; j < cacheList.size(); j++) { |
| | | if (cacheList.get(j).getSort() != null && cacheList.get(j).getSort() == 1L) { |
| | | firstIvrSortIndex = j; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | for (int i = 0; i < cacheList.size(); i++) { |
| | | if (i == 0) { |
| | | //è¿ä¸ªæ¶é´è¦æ¾å°ç¬¬ä¸é¢ |
| | | for (IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO : cacheList) { |
| | | if (ivrTaskTemplateScriptVO.getSort() != null && ivrTaskTemplateScriptVO.getSort() == 1L) { |
| | | //è¯´ææ¯ç¬¬ä¸é¢ |
| | | List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptions = ivrTaskTemplateScriptVO.getIvrTaskScriptTargetoptionList(); |
| | | ivrTaskTemplateScriptVO.setIvrTaskScriptTargetoptionList(ivrTaskTemplateTargetoptions); |
| | | //å®ä¿©é½æ¯ivr_task_templatescript_id,æä»¥è¿ééè¦è®¾ç½®ä¸ä¸ |
| | | ivrTaskTemplateScriptVO.setId(ivrTaskTemplateScriptVO.getScriptID()); |
| | | Map<String, String> map = setSFInfo(ivrTaskTemplateScriptVO, tid, pid, subid); |
| | | if (!Objects.isNull(map.get("nextScriptNo"))) |
| | | nextScriptno = Long.valueOf(map.get("nextScriptNo")); |
| | | if (score == null) { |
| | | score = Double.valueOf(map.get("score")); |
| | | } else { |
| | | score = score + Double.valueOf(map.get("score")); |
| | | } |
| | | isabnormalFlag = map.get("isabnormal"); |
| | | } |
| | | } |
| | | IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(cacheList.get(i), IvrTaskTemplateScriptVO.class); |
| | | List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(cacheList.get(i).getIvrTaskScriptTargetoptionList(), IvrTaskTemplateTargetoption.class); |
| | | ivrTaskTemplateScriptVO.setIvrTaskScriptTargetoptionList(ivrTaskTemplateTargetoptions); |
| | | //å®ä¿©é½æ¯ ivr_task_templatescript_id,æä»¥è¿ééè¦è®¾ç½®ä¸ä¸ |
| | | ivrTaskTemplateScriptVO.setId(ivrTaskTemplateScriptVO.getScriptID()); |
| | | |
| | | } else { |
| | | IvrTaskTemplateScriptVO ivrTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(cacheList.get(i), IvrTaskTemplateScriptVO.class); |
| | | List<IvrTaskTemplateTargetoption> ivrTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(cacheList.get(i).getIvrTaskScriptTargetoptionList(), IvrTaskTemplateTargetoption.class); |
| | | ivrTaskTemplateScriptVO.setIvrTaskScriptTargetoptionList(ivrTaskTemplateTargetoptions); |
| | | boolean shouldProcess = false; |
| | | if (i == firstIvrSortIndex) { |
| | | shouldProcess = true; |
| | | } else if (nextScriptno != null && ivrTaskTemplateScriptVO.getSort() != null && Long.valueOf(ivrTaskTemplateScriptVO.getSort()).equals(nextScriptno)) { |
| | | shouldProcess = true; |
| | | } |
| | | |
| | | if (ivrTaskTemplateScriptVO.getSort() != null && Long.valueOf(ivrTaskTemplateScriptVO.getSort()).equals(nextScriptno)) { |
| | | Map<String, String> map = setSFInfo(ivrTaskTemplateScriptVO, tid, pid, subid); |
| | | log.error("----nextScriptNo2çä¿¡æ¯ä¸ºï¼{}", map.get("nextScriptNo")); |
| | | if (!Objects.isNull(map.get("nextScriptNo"))) |
| | | nextScriptno = Long.valueOf(map.get("nextScriptNo")); |
| | | if (score == null) { |
| | | score = Double.valueOf(map.get("score")); |
| | | } else { |
| | | score = score + Double.valueOf(map.get("score")); |
| | | } |
| | | isabnormalFlag = map.get("isabnormal"); |
| | | if (shouldProcess) { |
| | | Map<String, String> map = setSFInfo(ivrTaskTemplateScriptVO, tid, pid, subid); |
| | | log.error("----nextScriptNo2 çä¿¡æ¯ä¸ºï¼{}", map.get("nextScriptNo")); |
| | | if (!Objects.isNull(map.get("nextScriptNo"))) |
| | | nextScriptno = Long.valueOf(map.get("nextScriptNo")); |
| | | if (score == null) { |
| | | score = Double.valueOf(map.get("score")); |
| | | } else { |
| | | score = score + Double.valueOf(map.get("score")); |
| | | } |
| | | isabnormalFlag = map.get("isabnormal"); |
| | | } |
| | | } |
| | | } |
| | |
| | | Double score = null; |
| | | List<SvyTaskTemplateScriptVO> svyTaskTemplateScriptVOS = serviceSubTaskMYDAnswerReq.getSvyTaskTemplateScriptVOS(); |
| | | Long nextScriptno = null; |
| | | |
| | | // æåå®ä½ç¬¬ä¸é¢çç´¢å¼ |
| | | Integer firstMydSortIndex = -1; |
| | | if (CollectionUtils.isNotEmpty(svyTaskTemplateScriptVOS)) { |
| | | for (int j = 0; j < svyTaskTemplateScriptVOS.size(); j++) { |
| | | if (svyTaskTemplateScriptVOS.get(j).getSort() != null && svyTaskTemplateScriptVOS.get(j).getSort() == 1L) { |
| | | firstMydSortIndex = j; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | for (int i = 0; i < svyTaskTemplateScriptVOS.size(); i++) { |
| | | if (i == 0) { |
| | | //è¿ä¸ªæ¶é´è¦æ¾å°ç¬¬ä¸é¢ |
| | | for (SvyTaskTemplateScriptVO svyTaskTemplateScriptVO : svyTaskTemplateScriptVOS) { |
| | | if (svyTaskTemplateScriptVO.getSort() == 1L) { |
| | | //è¯´ææ¯ç¬¬ä¸é¢ |
| | | // SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(svyLibTemplateScriptVOS.get(0), SvyTaskTemplateScriptVO.class); |
| | | List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = svyTaskTemplateScriptVOS.get(0).getSvyTaskTemplateTargetoptions(); |
| | | // List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(svyTaskTemplateTargetoptions, SvyTaskTemplateTargetoption.class); |
| | | svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions); |
| | | Map<String, String> map = setWJInfo(svyTaskTemplateScriptVO, Long.valueOf(serviceSubTaskMYDAnswerReq.getTaskId()), patid, serviceSubTaskMYDAnswerReq.getSubId()); |
| | | if (map == null) continue; |
| | | if (!Objects.isNull(map.get("nextScriptNo"))) |
| | | nextScriptno = Long.valueOf(map.get("nextScriptNo")); |
| | | if (score == null) { |
| | | score = Double.valueOf(map.get("score")); |
| | | } else { |
| | | score = score + Double.valueOf(map.get("score")); |
| | | } |
| | | if (!Objects.isNull(map.get("id"))) { |
| | | idList.add(Long.valueOf(map.get("id"))); |
| | | } |
| | | } |
| | | SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = svyTaskTemplateScriptVOS.get(i); |
| | | List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = svyTaskTemplateScriptVOS.get(i).getSvyTaskTemplateTargetoptions(); |
| | | svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions); |
| | | |
| | | boolean shouldProcess = false; |
| | | if (i == firstMydSortIndex) { |
| | | shouldProcess = true; |
| | | } else if (nextScriptno != null && svyTaskTemplateScriptVO.getSort() != null && svyTaskTemplateScriptVO.getSort().equals(nextScriptno)) { |
| | | shouldProcess = true; |
| | | } |
| | | |
| | | if (shouldProcess) { |
| | | Map<String, String> map = setWJInfo(svyTaskTemplateScriptVO, Long.valueOf(serviceSubTaskMYDAnswerReq.getTaskId()), patid, serviceSubTaskMYDAnswerReq.getSubId()); |
| | | if (map == null) continue; |
| | | |
| | | log.error("nextScriptNo çä¿¡æ¯ä¸ºï¼{}", map.get("nextScriptNo")); |
| | | if (!Objects.isNull(map.get("nextScriptNo"))) |
| | | nextScriptno = Long.valueOf(map.get("nextScriptNo")); |
| | | |
| | | if (score == null) { |
| | | score = Double.valueOf(map.get("score")); |
| | | } else { |
| | | score = score + Double.valueOf(map.get("score")); |
| | | } |
| | | |
| | | } else { |
| | | SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = svyTaskTemplateScriptVOS.get(i); |
| | | // SvyTaskTemplateScriptVO svyTaskTemplateScriptVO = DtoConversionUtils.sourceToTarget(svyLibTemplateScriptVOS.get(i), SvyTaskTemplateScriptVO.class); |
| | | List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = svyTaskTemplateScriptVOS.get(i).getSvyTaskTemplateTargetoptions(); |
| | | // List<SvyTaskTemplateTargetoption> svyTaskTemplateTargetoptions = DtoConversionUtils.sourceToTarget(svyLibTemplateScriptVOS.get(i).getSvyLibTemplateTargetoptions(), SvyTaskTemplateTargetoption.class); |
| | | svyTaskTemplateScriptVO.setSvyTaskTemplateTargetoptions(svyTaskTemplateTargetoptions); |
| | | |
| | | if (svyTaskTemplateScriptVO.getSort() != null && svyTaskTemplateScriptVO.getSort().equals(nextScriptno)) { |
| | | log.error("svyTaskTemplateScriptVOçå¼ä¸ºï¼{}", svyTaskTemplateScriptVO); |
| | | Map<String, String> map = setWJInfo(svyTaskTemplateScriptVO, Long.valueOf(serviceSubTaskMYDAnswerReq.getTaskId()), patid, serviceSubTaskMYDAnswerReq.getSubId()); |
| | | log.error("mapçä¿¡æ¯ä¸ºï¼{}", map); |
| | | if (!Objects.isNull(map.get("nextScriptNo"))) |
| | | nextScriptno = Long.valueOf(map.get("nextScriptNo")); |
| | | if (score == null) { |
| | | score = Double.valueOf(map.get("score")); |
| | | } else { |
| | | score = score + Double.valueOf(map.get("score")); |
| | | } |
| | | if (!Objects.isNull(map.get("id"))) { |
| | | idList.add(Long.valueOf(map.get("id"))); |
| | | } |
| | | if (!Objects.isNull(map.get("id"))) { |
| | | idList.add(Long.valueOf(map.get("id"))); |
| | | } |
| | | } |
| | | } |
| | |
| | | map.put("isabnormal", isabnormalFlag); |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * æ£æ¥å¹¶ä¿®æ£é®å·é¢ç®æåº(å¦ææ ¹æ®é项æ åºè·³è½¬ï¼å°±ä¼å¯¼è´é误) |
| | | * |
| | | * @param svyTaskTemplateScriptVOList é®å·é¢ç® VO å表 |
| | | * @return ä¿®æ£åçé®å·é¢ç®å表 |
| | | */ |
| | | public List<SvyTaskTemplateScriptVO> checkQuestionSort(List<SvyTaskTemplateScriptVO> svyTaskTemplateScriptVOList) { |
| | | if (CollectionUtils.isEmpty(svyTaskTemplateScriptVOList)) { |
| | | return svyTaskTemplateScriptVOList; |
| | | } |
| | | |
| | | // æå½å sort æåº |
| | | svyTaskTemplateScriptVOList.sort(Comparator.comparingLong(SvyTaskTemplateScriptVO::getSort)); |
| | | |
| | | // å
æ£æ¥ä¸ä¸æ¯å¦å·²ç»æ¯æ£ç¡®ç顺åºï¼è¿ç»çåºå· 1,2,3... 䏿åä¸ä¸ªé®é¢ç nextScriptno 为 "0" |
| | | boolean isCorrect = true; |
| | | int expectedValue = 1; |
| | | |
| | | for (int i = 0; i < svyTaskTemplateScriptVOList.size(); i++) { |
| | | SvyTaskTemplateScriptVO vo = svyTaskTemplateScriptVOList.get(i); |
| | | |
| | | // æ£æ¥ sort æ¯å¦è¿ç» |
| | | if (!Objects.equals(expectedValue, vo.getSort())) { |
| | | isCorrect = false; |
| | | break; |
| | | } |
| | | |
| | | // 妿䏿¯æåä¸ä¸ªé®é¢ï¼æ£æ¥ nextScriptno æ¯å¦æ¯ä¸ä¸é¢çåºå· |
| | | if (i < svyTaskTemplateScriptVOList.size() - 1) { |
| | | String expectedNextScriptNo = String.valueOf(expectedValue + 1); |
| | | if (!expectedNextScriptNo.equals(vo.getNextScriptno())) { |
| | | isCorrect = false; |
| | | break; |
| | | } |
| | | } else { |
| | | // æåä¸ä¸ªé®é¢ç nextScriptno å¿
é¡»æ¯ "0" |
| | | if (!"0".equals(vo.getNextScriptno())) { |
| | | isCorrect = false; |
| | | break; |
| | | } |
| | | |
| | | // æ£æ¥æåä¸ä¸ªé®é¢çææé项ç nextQuestion æ¯å¦ä¸º 0 |
| | | if (CollectionUtils.isNotEmpty(vo.getSvyTaskTemplateTargetoptions())) { |
| | | for (SvyTaskTemplateTargetoption option : vo.getSvyTaskTemplateTargetoptions()) { |
| | | if (option.getNextQuestion() == null || !option.getNextQuestion().equals(0)) { |
| | | isCorrect = false; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | expectedValue++; |
| | | } |
| | | |
| | | // å¦æå·²ç»æ¯æ£ç¡®çï¼ç´æ¥è¿åï¼ä¸åè¿è¡æ°æ®åºæ´æ° |
| | | if (isCorrect) { |
| | | log.debug("é®å·é¢ç®æåºæ£ç¡®ï¼æ éä¿®æ£ï¼å
± {} 个é¢ç®", svyTaskTemplateScriptVOList.size()); |
| | | return svyTaskTemplateScriptVOList; |
| | | } |
| | | |
| | | log.info("æ£æµå°é®å·é¢ç®éè¦ä¿®æ£ï¼å¼å§å¤ç..."); |
| | | |
| | | // éæ°åé
è¿ç»ç sort å¼ï¼1, 2, 3... |
| | | int newSortValue = 1; |
| | | List<SvyTaskTemplateScriptVO> updatedList = new ArrayList<>(); |
| | | |
| | | for (int i = 0; i < svyTaskTemplateScriptVOList.size(); i++) { |
| | | SvyTaskTemplateScriptVO vo = svyTaskTemplateScriptVOList.get(i); |
| | | Long oldSort = vo.getSort(); |
| | | |
| | | // 妿 sort 䏿¯é¢æçè¿ç»å¼ï¼åéè¦æ´æ° |
| | | if (!Objects.equals(newSortValue, oldSort)) { |
| | | log.warn("æ£æµå°é¢ç®åºå·ä¸è¿ç»ï¼é¢ç® ID: {}ï¼å sort: {}, æ° sort: {}", vo.getId(), oldSort, newSortValue); |
| | | vo.setSort((long) newSortValue); |
| | | } |
| | | |
| | | // å¤çä¸ä¸ä¸ªé®é¢ç nextScriptnoï¼é¤æåä¸ä¸ªå¤ï¼nextScriptno = å½å sort + 1 |
| | | if (i < svyTaskTemplateScriptVOList.size() - 1) { |
| | | String expectedNextScriptNo = String.valueOf(newSortValue + 1); |
| | | String currentNextScriptNo = vo.getNextScriptno(); |
| | | if (!Objects.equals(expectedNextScriptNo, currentNextScriptNo)) { |
| | | log.warn("æ£æµå° nextScriptno 䏿£ç¡®ï¼é¢ç® ID: {}ï¼å nextScriptno: {}, æ° nextScriptno: {}", vo.getId(), currentNextScriptNo, expectedNextScriptNo); |
| | | vo.setNextScriptno(expectedNextScriptNo); |
| | | } |
| | | } else { |
| | | // æåä¸ä¸ªé®é¢ç nextScriptno å¿
é¡»æ¯ "0" |
| | | String currentNextScriptNo = vo.getNextScriptno(); |
| | | if (!"0".equals(currentNextScriptNo)) { |
| | | log.warn("æ£æµå°æåä¸ä¸ªé¢ç®ç nextScriptno åºä¸º 0ï¼é¢ç® ID: {}ï¼å nextScriptno: {}", vo.getId(), currentNextScriptNo); |
| | | vo.setNextScriptno("0"); |
| | | } |
| | | } |
| | | |
| | | // å¤çæ¯ä¸ªé项ç nextQuestion |
| | | if (CollectionUtils.isNotEmpty(vo.getSvyTaskTemplateTargetoptions())) { |
| | | // 夿æ¯å¦æ¯æåä¸ä¸ªé®é¢ |
| | | boolean isLastQuestion = (i == svyTaskTemplateScriptVOList.size() - 1); |
| | | int expectedNextQuestion = isLastQuestion ? 0 : newSortValue; |
| | | |
| | | for (SvyTaskTemplateTargetoption option : vo.getSvyTaskTemplateTargetoptions()) { |
| | | Integer optionNextQuestion = option.getNextQuestion(); |
| | | int finalNextQuestion = expectedNextQuestion; |
| | | |
| | | if (!isLastQuestion && (optionNextQuestion == null || !optionNextQuestion.equals(newSortValue))) { |
| | | log.info("æ£æµå°é项ç nextQuestion 䏿£ç¡®ï¼é项 ID: {}ï¼é¢ç® ID: {}ï¼å nextQuestion: {}, æ° nextQuestion: {}", option.getId(), vo.getId(), optionNextQuestion, newSortValue); |
| | | finalNextQuestion = newSortValue; |
| | | } else if (isLastQuestion && (optionNextQuestion == null || !optionNextQuestion.equals(0))) { |
| | | log.info("æ£æµå°æåä¸ä¸ªé®é¢çé项 nextQuestion åºä¸º 0ï¼é项 ID: {}ï¼é¢ç® ID: {}ï¼å nextQuestion: {}, æ° nextQuestion: {}", option.getId(), vo.getId(), optionNextQuestion, 0); |
| | | } |
| | | |
| | | option.setNextQuestion(finalNextQuestion); |
| | | } |
| | | } |
| | | |
| | | updatedList.add(vo); |
| | | newSortValue++; |
| | | } |
| | | |
| | | return updatedList; |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | @Autowired |
| | | private IServiceTaskdeptService serviceTaskdeptService; |
| | | @Autowired |
| | | private IServiceTaskmedicalService serviceTaskmedicalService; |
| | | |
| | | @Autowired |
| | | private IServiceTaskdiagService serviceTaskdiagService; |
| | |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int insertServiceSubtask(ServiceSubtask serviceSubtask) { |
| | | public Map<String, Object> insertServiceSubtask(ServiceSubtask serviceSubtask) { |
| | | serviceSubtask.setCreateTime(DateUtils.getNowDate()); |
| | | return serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); |
| | | serviceSubtaskMapper.insertServiceSubtask(serviceSubtask); |
| | | RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample(); |
| | | String taskId = rsaPublicKeyExample.encryptedData(serviceSubtask.getTaskid().toString(), pub_key); |
| | | String patid = rsaPublicKeyExample.encryptedData(serviceSubtask.getPatid().toString(), pub_key); |
| | | String subId = rsaPublicKeyExample.encryptedData(serviceSubtask.getId().toString(), pub_key); |
| | | ServiceOutPath serviceOutPath = new ServiceOutPath(); |
| | | serviceOutPath.setParam1(taskId); |
| | | serviceOutPath.setParam2(patid); |
| | | serviceOutPath.setCreateTime(new Date()); |
| | | serviceOutPath.setParam6(subId); |
| | | serviceOutPath.setOrgid(serviceSubtask.getOrgid()); |
| | | iServiceOutPathService.insertServiceOutPath(serviceOutPath); |
| | | //转æ16è¿å¶ |
| | | String format = String.format("%03X", serviceOutPath.getId()); |
| | | serviceOutPath.setRadix(format); |
| | | serviceOutPath.setUpdateTime(new Date()); |
| | | iServiceOutPathService.updateServiceOutPath(serviceOutPath); |
| | | |
| | | Map<String, Object> result = new HashMap<>(); |
| | | result.put("url", localIP + ":" + req_path + "/wt?p=" + format); |
| | | result.put("subId",serviceSubtask.getId()); |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | |
| | | |
| | | log.info("----serviceTaskScheduleçå¼ä¸ºï¼{}", scheduleVO); |
| | | serviceTaskScheduleService.saveScheduleWithDetail(scheduleVO); |
| | | } else if (serviceTaskVO.getAppltype().equals("6")) { |
| | | ServiceTaskmedical serviceTaskmedical = new ServiceTaskmedical(); |
| | | serviceTaskmedical.setTaskId(serviceTask.getTaskid()); |
| | | serviceTaskmedical.setTaskName(serviceTask.getTaskName()); |
| | | serviceTaskmedical.setServiceType(serviceTaskVO.getServiceType()); |
| | | serviceTaskmedical.setLongtask(Long.valueOf(serviceTask.getLongTask())); |
| | | if (serviceTaskVO.getLongTask() == 1) serviceTaskmedical.setLongtask(1L); |
| | | serviceTaskmedical.setMedicalCode(serviceTaskVO.getIcd10code()); |
| | | serviceTaskmedical.setMedicalName(serviceTaskVO.getIcd10name()); |
| | | serviceTaskmedical.setGuid(serviceTask.getGuid()); |
| | | serviceTaskmedical.setOrgid(serviceTask.getOrgid()); |
| | | serviceTaskmedical.setCreateTime(new Date()); |
| | | serviceTaskmedical.setDeptCode(serviceTaskVO.getDeptcode()); |
| | | serviceTaskmedical.setDeptName(serviceTaskVO.getDeptname()); |
| | | serviceTaskmedical.setWardCode(serviceTaskVO.getLeavehospitaldistrictcode()); |
| | | serviceTaskmedical.setWardName(serviceTaskVO.getLeavehospitaldistrictname()); |
| | | //ååéä¸çicd10codeæ¯æéå¤çï¼æä»¥ä¸è½ç¨ååéä¸çicd10code廿¥è¯¢ |
| | | log.info("----serviceTaskmedicalçå¼ä¸ºï¼{}", serviceTaskmedical); |
| | | if (!StringUtils.isEmpty(serviceTaskVO.getMedicalName())) { |
| | | String[] medicalNames = serviceTaskVO.getMedicalName().split(","); |
| | | String[] medicalcodes = serviceTaskVO.getMedicalCode().split(","); |
| | | String[] medicalCompanys = serviceTaskVO.getMedicalCompany().split(","); |
| | | for (int i = 0; i < medicalNames.length; i++) { |
| | | serviceTaskmedical.setMedicalCode(medicalNames[i]); |
| | | serviceTaskmedical.setMedicalName(medicalcodes[i]); |
| | | if (ObjectUtils.isNotEmpty(medicalCompanys)) |
| | | serviceTaskmedical.setMedicalCompany(medicalcodes[i]); |
| | | serviceTaskmedicalService.insertServiceTaskmedical(serviceTaskmedical); |
| | | } |
| | | } |
| | | } else { |
| | | ServiceTaskdept serviceTaskdept = new ServiceTaskdept(); |
| | | serviceTaskdept.setTaskId(serviceTask.getTaskid()); |
| | |
| | | } |
| | | } |
| | | |
| | | } else if (serviceTaskVO.getAppltype().equals("6")) { |
| | | ServiceTaskmedical serviceTaskmedical = new ServiceTaskmedical(); |
| | | serviceTaskmedical.setTaskId(serviceTask.getTaskid()); |
| | | serviceTaskmedical.setTaskName(serviceTask.getTaskName()); |
| | | if (StringUtils.isEmpty(serviceTaskVO.getIcd10code())) { |
| | | throw new BaseException("è¯åç¼ç 为空"); |
| | | } |
| | | serviceTaskmedical.setLongtask(Long.valueOf(serviceTask.getLongTask())); |
| | | serviceTaskmedical.setMedicalName(serviceTaskVO.getMedicalName()); |
| | | serviceTaskmedical.setGuid(serviceTask1.getGuid()); |
| | | serviceTaskmedical.setServiceType(serviceTask1.getServiceType()); |
| | | serviceTaskmedical.setOrgid(serviceTask1.getOrgid()); |
| | | serviceTaskmedical.setDeptCode(serviceTask1.getDeptcode()); |
| | | serviceTaskmedical.setDeptName(serviceTask1.getDeptname()); |
| | | serviceTaskmedical.setWardCode(serviceTask1.getLeavehospitaldistrictcode()); |
| | | serviceTaskmedical.setWardName(serviceTask1.getLeavehospitaldistrictname()); |
| | | serviceTaskmedical.setUpdateTime(new Date()); |
| | | if (StringUtils.isNotEmpty(serviceTaskVO.getMedicalCode())) { |
| | | String[] medicalCodes = serviceTaskVO.getMedicalCode().split(","); |
| | | String[] medicalNames = serviceTaskVO.getMedicalName().split(","); |
| | | String[] medicalCompany = serviceTaskVO.getMedicalCompany().split(","); |
| | | if (!active.equals("nhfy") && !active.equals("druid")) { |
| | | if (medicalCodes.length != medicalNames.length) { |
| | | throw new BaseException("è¯åç¼ç åè¯ååç§°æ°éä¸ä¸è´"); |
| | | } |
| | | } |
| | | for (int i = 0; i < medicalCodes.length; i++) { |
| | | //å
æ¥è¯¢ä¸ä¸æ¯å¦åå¨ |
| | | ServiceTaskmedical serviceTaskmedical1 = new ServiceTaskmedical(); |
| | | serviceTaskmedical1.setTaskId(serviceTaskVO.getTaskid()); |
| | | serviceTaskmedical1.setMedicalCode(medicalCodes[i]); |
| | | serviceTaskmedical1.setMedicalName(medicalNames[i]); |
| | | List<ServiceTaskmedical> serviceTaskmedicals = serviceTaskmedicalService.selectServiceTaskmedicalList(serviceTaskmedical1); |
| | | serviceTaskmedical.setMedicalCode(medicalCodes[i]); |
| | | serviceTaskmedical.setMedicalName(medicalNames[i]); |
| | | log.info("----serviceTaskmedicalæ´æ°çå¼ä¸ºï¼{}", serviceTaskmedical); |
| | | if (CollectionUtils.isNotEmpty(serviceTaskmedicals)) { |
| | | serviceTaskmedical.setId(serviceTaskmedicals.get(0).getId()); |
| | | serviceTaskmedicalService.updateServiceTaskmedical(serviceTaskmedical); |
| | | } else { |
| | | serviceTaskmedicalService.insertServiceTaskmedical(serviceTaskmedical); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } else if (serviceTaskVO.getAppltype().equals("4")) { |
| | | ServiceTaskoper serviceTaskoper = new ServiceTaskoper(); |
| | | // if (StringUtils.isEmpty(serviceTaskVO.getOpcode())) { |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.smartor.service.impl; |
| | | |
| | | import com.ruoyi.common.utils.DateUtils; |
| | | import com.smartor.domain.ServiceTaskmedical; |
| | | import com.smartor.mapper.ServiceTaskmedicalMapper; |
| | | import com.smartor.service.IServiceTaskmedicalService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * ä»»å¡è¯åå
³èServiceä¸å¡å±å¤ç |
| | | * |
| | | * @author lihu |
| | | * @date 2026-07-29 |
| | | */ |
| | | @Service |
| | | public class ServiceTaskmedicalServiceImpl implements IServiceTaskmedicalService |
| | | { |
| | | @Autowired |
| | | private ServiceTaskmedicalMapper serviceTaskmedicalMapper; |
| | | |
| | | /** |
| | | * æ¥è¯¢ä»»å¡è¯åå
³è |
| | | * |
| | | * @param id ä»»å¡è¯åå
³èä¸»é® |
| | | * @return ä»»å¡è¯åå
³è |
| | | */ |
| | | @Override |
| | | public ServiceTaskmedical selectServiceTaskmedicalById(Long id) |
| | | { |
| | | return serviceTaskmedicalMapper.selectServiceTaskmedicalById(id); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢ä»»å¡è¯åå
³èå表 |
| | | * |
| | | * @param serviceTaskmedical ä»»å¡è¯åå
³è |
| | | * @return ä»»å¡è¯åå
³è |
| | | */ |
| | | @Override |
| | | public List<ServiceTaskmedical> selectServiceTaskmedicalList(ServiceTaskmedical serviceTaskmedical) |
| | | { |
| | | return serviceTaskmedicalMapper.selectServiceTaskmedicalList(serviceTaskmedical); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢ä»»å¡è¯åå
³è |
| | | * |
| | | * @param serviceTaskmedical ä»»å¡è¯åå
³è |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int insertServiceTaskmedical(ServiceTaskmedical serviceTaskmedical) |
| | | { |
| | | serviceTaskmedical.setCreateTime(DateUtils.getNowDate()); |
| | | return serviceTaskmedicalMapper.insertServiceTaskmedical(serviceTaskmedical); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹ä»»å¡è¯åå
³è |
| | | * |
| | | * @param serviceTaskmedical ä»»å¡è¯åå
³è |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int updateServiceTaskmedical(ServiceTaskmedical serviceTaskmedical) |
| | | { |
| | | serviceTaskmedical.setUpdateTime(DateUtils.getNowDate()); |
| | | return serviceTaskmedicalMapper.updateServiceTaskmedical(serviceTaskmedical); |
| | | } |
| | | |
| | | /** |
| | | * æ¹éå é¤ä»»å¡è¯åå
³è |
| | | * |
| | | * @param ids éè¦å é¤çä»»å¡è¯åå
³èä¸»é® |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int deleteServiceTaskmedicalByIds(Long[] ids) |
| | | { |
| | | return serviceTaskmedicalMapper.deleteServiceTaskmedicalByIds(ids); |
| | | } |
| | | |
| | | /** |
| | | * å é¤ä»»å¡è¯åå
³èä¿¡æ¯ |
| | | * |
| | | * @param id ä»»å¡è¯åå
³èä¸»é® |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public int deleteServiceTaskmedicalById(Long id) |
| | | { |
| | | return serviceTaskmedicalMapper.deleteServiceTaskmedicalById(id); |
| | | } |
| | | } |
| | |
| | | private Map<String, String> buildRequestHeaders(LocalDateTime startTime) { |
| | | DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S"); |
| | | Map<String, String> header = new HashMap<>(); |
| | | header.put("x-hcsb-serviceno", "IS044056"); |
| | | // header.put("x-hcsb-serviceno", "IS002347"); |
| | | // header.put("x-hcsb-serviceno", "IS044056"); |
| | | header.put("x-hcsb-serviceno", "IS002347"); |
| | | header.put("x-hcsb-version", "2.0"); |
| | | header.put("x-hcsb-sourcesyscode", "14"); |
| | | header.put("x-hcsb-token", "ArGE2JnHtxG/Zx5nrnGY4eOfMUJGGJokAJHigG1BrCY="); |
| | |
| | | // æ ¡éªdataåæ®µæ¯å¦ä¸ºJsonObject |
| | | JsonElement dataElement = jsonObject.get("data"); |
| | | if (dataElement == null || !dataElement.isJsonObject()) { |
| | | log.warn("ãparseResponseDataãååºæ°æ®ä¸dataåæ®µä¸ºç©ºæé对象类åï¼åå§æ°æ®ï¼{}", result); |
| | | log.info("ãparseResponseDataãååºæ°æ®ä¸dataåæ®µä¸ºç©ºæé对象类åï¼åå§æ°æ®ï¼{}", result); |
| | | return new ArrayList<>(); |
| | | } |
| | | |
| | | JsonObject dataObject = dataElement.getAsJsonObject(); |
| | | JsonElement resultElement = dataObject.get("result"); |
| | | if (resultElement == null || !resultElement.isJsonArray()) { |
| | | log.warn("ãparseResponseDataãååºæ°æ®ä¸resultåæ®µä¸ºç©ºæéæ°ç»ç±»åï¼åå§æ°æ®ï¼{}", result); |
| | | log.info("ãparseResponseDataãååºæ°æ®ä¸resultåæ®µä¸ºç©ºæéæ°ç»ç±»åï¼åå§æ°æ®ï¼{}", result); |
| | | return new ArrayList<>(); |
| | | } |
| | | |
| | |
| | | #{icd10code} |
| | | </foreach> |
| | | </if> |
| | | <if test="medicalCode != null and medicalCode != ''">and b.medical_code = #{medicalCode}</if> |
| | | <if test="medicalName != null and medicalName != ''">and b.medical_name = #{medicalName}</if> |
| | | <if test="medicalCompany != null and medicalCompany != ''">and b.medical_company = #{medicalCompany}</if> |
| | | GROUP BY |
| | | b.inhospid, |
| | | a.age, |
| | |
| | | select |
| | | b.inhospid, |
| | | b.nurse_id, |
| | | b.medical_code, |
| | | b.medical_name, |
| | | b.medical_company, |
| | | b.encounter_source_id, |
| | | b.importance_flag_code, |
| | | b.emergency_level_code, |
| | |
| | | <result property="scheduleDetailId" column="schedule_detail_id"/> |
| | | <result property="scheduleSeq" column="schedule_seq"/> |
| | | <result property="loopCount" column="loop_count"/> |
| | | <result property="campusid" column="campusid"/> |
| | | </resultMap> |
| | | |
| | | <resultMap type="com.smartor.domain.ServiceSubtaskCount" id="ServiceSubtaskResult2"> |
| | |
| | | <sql id="selectServiceSubtaskVo"> |
| | | select id, |
| | | hosp_type, |
| | | campusid, |
| | | task_guid, |
| | | diagname, |
| | | patfrom, |
| | |
| | | <if test="continueTimeNext != null ">continue_time_next,</if> |
| | | <if test="continueContent != null ">continue_content,</if> |
| | | <if test="operationItemId != null ">operation_item_id,</if> |
| | | <if test="campusid != null">campusid,</if> |
| | | <if test="scheduleId != null ">schedule_id,</if> |
| | | <if test="scheduleDetailId != null ">schedule_detail_id,</if> |
| | | <if test="scheduleSeq != null ">schedule_seq,</if> |
| | |
| | | <if test="continueTimeNext != null ">#{continueTimeNext,jdbcType=TIMESTAMP},</if> |
| | | <if test="continueContent != null ">#{continueContent},</if> |
| | | <if test="operationItemId != null ">#{operationItemId},</if> |
| | | <if test="campusid != null">#{campusid},</if> |
| | | <if test="scheduleId != null ">#{scheduleId},</if> |
| | | <if test="scheduleDetailId != null ">#{scheduleDetailId},</if> |
| | | <if test="scheduleSeq != null ">#{scheduleSeq},</if> |
| | |
| | | <if test="continueTimeNext != null ">continue_time_next = #{continueTimeNext,jdbcType=TIMESTAMP},</if> |
| | | <if test="continueContent != null ">continue_content = #{continueContent},</if> |
| | | <if test="operationItemId != null ">operation_item_id = #{operationItemId},</if> |
| | | <if test="campusid != null">campusid=#{campusid},</if> |
| | | <if test="scheduleId != null ">schedule_id = #{scheduleId},</if> |
| | | <if test="scheduleDetailId != null ">schedule_detail_id = #{scheduleDetailId},</if> |
| | | <if test="scheduleSeq != null ">schedule_seq = #{scheduleSeq},</if> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <!DOCTYPE mapper |
| | | PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.smartor.mapper.ServiceTaskmedicalMapper"> |
| | | |
| | | <resultMap type="com.smartor.domain.ServiceTaskmedical" id="ServiceTaskmedicalResult"> |
| | | <result property="id" column="id"/> |
| | | <result property="orgid" column="orgid"/> |
| | | <result property="taskId" column="task_id"/> |
| | | <result property="taskName" column="task_name"/> |
| | | <result property="longtask" column="longtask"/> |
| | | <result property="serviceType" column="service_type"/> |
| | | <result property="icd10id" column="icd10id"/> |
| | | <result property="medicalCode" column="medical_code"/> |
| | | <result property="medicalName" column="medical_name"/> |
| | | <result property="medicalCompany" column="medical_company"/> |
| | | <result property="delFlag" column="del_flag"/> |
| | | <result property="updateBy" column="update_by"/> |
| | | <result property="updateTime" column="update_time"/> |
| | | <result property="createBy" column="create_by"/> |
| | | <result property="createTime" column="create_time"/> |
| | | <result property="isupload" column="isupload"/> |
| | | <result property="uploadTime" column="upload_time"/> |
| | | <result property="guid" column="guid"/> |
| | | <result property="pguid" column="pguid"/> |
| | | <result property="pid" column="pid"/> |
| | | <result property="wardCode" column="ward_code"/> |
| | | <result property="wardName" column="ward_name"/> |
| | | <result property="deptCode" column="dept_code"/> |
| | | <result property="deptName" column="dept_name"/> |
| | | </resultMap> |
| | | |
| | | <sql id="selectServiceTaskmedicalVo"> |
| | | select id, |
| | | orgid, |
| | | task_id, |
| | | task_name, |
| | | longtask, |
| | | service_type, |
| | | icd10id, |
| | | medical_code, |
| | | medical_name, |
| | | medical_company, |
| | | del_flag, |
| | | update_by, |
| | | update_time, |
| | | create_by, |
| | | create_time, |
| | | isupload, |
| | | upload_time, |
| | | guid, |
| | | pguid, |
| | | pid, |
| | | ward_code, |
| | | ward_name, |
| | | dept_code, |
| | | dept_name |
| | | from service_taskmedical |
| | | </sql> |
| | | |
| | | <select id="selectServiceTaskmedicalList" parameterType="com.smartor.domain.ServiceTaskmedical" |
| | | resultMap="ServiceTaskmedicalResult"> |
| | | <include refid="selectServiceTaskmedicalVo"/> |
| | | where 1=1 |
| | | and del_flag=0 |
| | | <if test="orgid != null and orgid != ''"> |
| | | and orgid = #{orgid} |
| | | </if> |
| | | <if test="taskId != null "> |
| | | and task_id = #{taskId} |
| | | </if> |
| | | <if test="taskName != null and taskName != ''"> |
| | | and task_name like concat('%', #{taskName}, '%') |
| | | </if> |
| | | <if test="longtask != null "> |
| | | and longtask = #{longtask} |
| | | </if> |
| | | <if test="serviceType != null and serviceType != ''"> |
| | | and service_type = #{serviceType} |
| | | </if> |
| | | <if test="icd10id != null "> |
| | | and icd10id = #{icd10id} |
| | | </if> |
| | | <if test="medicalCode != null and medicalCode != ''"> |
| | | and medical_code = #{medicalCode} |
| | | </if> |
| | | <if test="medicalName != null and medicalName != ''"> |
| | | and medical_name like concat('%', #{medicalName}, '%') |
| | | </if> |
| | | <if test="medicalCompany != null and medicalCompany != ''"> |
| | | and medical_company = #{medicalCompany} |
| | | </if> |
| | | <if test="isupload != null "> |
| | | and isupload = #{isupload} |
| | | </if> |
| | | <if test="uploadTime != null "> |
| | | and upload_time = #{uploadTime} |
| | | </if> |
| | | <if test="guid != null and guid != ''"> |
| | | and guid = #{guid} |
| | | </if> |
| | | <if test="pguid != null and pguid != ''"> |
| | | and pguid = #{pguid} |
| | | </if> |
| | | <if test="pid != null "> |
| | | and pid = #{pid} |
| | | </if> |
| | | <if test="wardCode != null and wardCode != ''"> |
| | | and ward_code = #{wardCode} |
| | | </if> |
| | | <if test="wardName != null and wardName != ''"> |
| | | and ward_name like concat('%', #{wardName}, '%') |
| | | </if> |
| | | <if test="deptCode != null and deptCode != ''"> |
| | | and dept_code = #{deptCode} |
| | | </if> |
| | | <if test="deptName != null and deptName != ''"> |
| | | and dept_name like concat('%', #{deptName}, '%') |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="selectServiceTaskmedicalById" parameterType="Long" |
| | | resultMap="ServiceTaskmedicalResult"> |
| | | <include refid="selectServiceTaskmedicalVo"/> |
| | | where id = #{id} |
| | | </select> |
| | | |
| | | <insert id="insertServiceTaskmedical" parameterType="com.smartor.domain.ServiceTaskmedical" useGeneratedKeys="true" |
| | | keyProperty="id"> |
| | | insert into service_taskmedical |
| | | <trim prefix="(" suffix=")" suffixOverrides=","> |
| | | <if test="orgid != null">orgid, |
| | | </if> |
| | | <if test="taskId != null">task_id, |
| | | </if> |
| | | <if test="taskName != null">task_name, |
| | | </if> |
| | | <if test="longtask != null">longtask, |
| | | </if> |
| | | <if test="serviceType != null">service_type, |
| | | </if> |
| | | <if test="icd10id != null">icd10id, |
| | | </if> |
| | | <if test="medicalCode != null">medical_code, |
| | | </if> |
| | | <if test="medicalName != null">medical_name, |
| | | </if> |
| | | <if test="medicalCompany != null">medical_company, |
| | | </if> |
| | | <if test="delFlag != null">del_flag, |
| | | </if> |
| | | <if test="updateBy != null">update_by, |
| | | </if> |
| | | <if test="updateTime != null">update_time, |
| | | </if> |
| | | <if test="createBy != null">create_by, |
| | | </if> |
| | | <if test="createTime != null">create_time, |
| | | </if> |
| | | <if test="isupload != null">isupload, |
| | | </if> |
| | | <if test="uploadTime != null">upload_time, |
| | | </if> |
| | | <if test="guid != null">guid, |
| | | </if> |
| | | <if test="pguid != null">pguid, |
| | | </if> |
| | | <if test="pid != null">pid, |
| | | </if> |
| | | <if test="wardCode != null">ward_code, |
| | | </if> |
| | | <if test="wardName != null">ward_name, |
| | | </if> |
| | | <if test="deptCode != null">dept_code, |
| | | </if> |
| | | <if test="deptName != null">dept_name, |
| | | </if> |
| | | </trim> |
| | | <trim prefix="values (" suffix=")" suffixOverrides=","> |
| | | <if test="orgid != null">#{orgid}, |
| | | </if> |
| | | <if test="taskId != null">#{taskId}, |
| | | </if> |
| | | <if test="taskName != null">#{taskName}, |
| | | </if> |
| | | <if test="longtask != null">#{longtask}, |
| | | </if> |
| | | <if test="serviceType != null">#{serviceType}, |
| | | </if> |
| | | <if test="icd10id != null">#{icd10id}, |
| | | </if> |
| | | <if test="medicalCode != null">#{medicalCode}, |
| | | </if> |
| | | <if test="medicalName != null">#{medicalName}, |
| | | </if> |
| | | <if test="medicalCompany != null">#{medicalCompany}, |
| | | </if> |
| | | <if test="delFlag != null">#{delFlag}, |
| | | </if> |
| | | <if test="updateBy != null">#{updateBy}, |
| | | </if> |
| | | <if test="updateTime != null">#{updateTime}, |
| | | </if> |
| | | <if test="createBy != null">#{createBy}, |
| | | </if> |
| | | <if test="createTime != null">#{createTime}, |
| | | </if> |
| | | <if test="isupload != null">#{isupload}, |
| | | </if> |
| | | <if test="uploadTime != null">#{uploadTime}, |
| | | </if> |
| | | <if test="guid != null">#{guid}, |
| | | </if> |
| | | <if test="pguid != null">#{pguid}, |
| | | </if> |
| | | <if test="pid != null">#{pid}, |
| | | </if> |
| | | <if test="wardCode != null">#{wardCode}, |
| | | </if> |
| | | <if test="wardName != null">#{wardName}, |
| | | </if> |
| | | <if test="deptCode != null">#{deptCode}, |
| | | </if> |
| | | <if test="deptName != null">#{deptName}, |
| | | </if> |
| | | </trim> |
| | | </insert> |
| | | |
| | | <update id="updateServiceTaskmedical" parameterType="com.smartor.domain.ServiceTaskmedical"> |
| | | update service_taskmedical |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | <if test="orgid != null">orgid = |
| | | #{orgid}, |
| | | </if> |
| | | <if test="taskId != null">task_id = |
| | | #{taskId}, |
| | | </if> |
| | | <if test="taskName != null">task_name = |
| | | #{taskName}, |
| | | </if> |
| | | <if test="longtask != null">longtask = |
| | | #{longtask}, |
| | | </if> |
| | | <if test="serviceType != null">service_type = |
| | | #{serviceType}, |
| | | </if> |
| | | <if test="icd10id != null">icd10id = |
| | | #{icd10id}, |
| | | </if> |
| | | <if test="medicalCode != null">medical_code = |
| | | #{medicalCode}, |
| | | </if> |
| | | <if test="medicalName != null">medical_name = |
| | | #{medicalName}, |
| | | </if> |
| | | <if test="medicalCompany != null">medical_company = |
| | | #{medicalCompany}, |
| | | </if> |
| | | <if test="delFlag != null">del_flag = |
| | | #{delFlag}, |
| | | </if> |
| | | <if test="updateBy != null">update_by = |
| | | #{updateBy}, |
| | | </if> |
| | | <if test="updateTime != null">update_time = |
| | | #{updateTime}, |
| | | </if> |
| | | <if test="createBy != null">create_by = |
| | | #{createBy}, |
| | | </if> |
| | | <if test="createTime != null">create_time = |
| | | #{createTime}, |
| | | </if> |
| | | <if test="isupload != null">isupload = |
| | | #{isupload}, |
| | | </if> |
| | | <if test="uploadTime != null">upload_time = |
| | | #{uploadTime}, |
| | | </if> |
| | | <if test="guid != null">guid = |
| | | #{guid}, |
| | | </if> |
| | | <if test="pguid != null">pguid = |
| | | #{pguid}, |
| | | </if> |
| | | <if test="pid != null">pid = |
| | | #{pid}, |
| | | </if> |
| | | <if test="wardCode != null">ward_code = |
| | | #{wardCode}, |
| | | </if> |
| | | <if test="wardName != null">ward_name = |
| | | #{wardName}, |
| | | </if> |
| | | <if test="deptCode != null">dept_code = |
| | | #{deptCode}, |
| | | </if> |
| | | <if test="deptName != null">dept_name = |
| | | #{deptName}, |
| | | </if> |
| | | </trim> |
| | | where id = #{id} |
| | | </update> |
| | | |
| | | <update id="deleteServiceTaskmedicalById" parameterType="Long"> |
| | | update service_taskmedical |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | del_flag =1 |
| | | </trim> |
| | | where id = #{id} |
| | | </update> |
| | | |
| | | <update id="deleteServiceTaskmedicalByIds" parameterType="String"> |
| | | update service_taskmedical |
| | | <trim prefix="SET" suffixOverrides=","> |
| | | del_flag =1 |
| | | </trim> |
| | | where id in |
| | | <foreach item="id" collection="array" open="(" separator="," close=")"> |
| | | #{id} |
| | | </foreach> |
| | | </update> |
| | | |
| | | |
| | | </mapper> |
| | |
| | | <result property="age" column="age"/> |
| | | <result property="sfzh" column="sfzh"/> |
| | | <result property="addr" column="addr"/> |
| | | <result property="senderdetail" column="senderdetail"/> |
| | | <result property="hospitaldistrictname" column="hospitaldistrictname"/> |
| | | <result property="type" column="type"/> |
| | | <result property="taskid" column="taskid"/> |
| | | <result property="templateid" column="templateid"/> |
| | |
| | | age, |
| | | sfzh, |
| | | addr, |
| | | senderdetail, |
| | | hospitaldistrictname, |
| | | type, |
| | | taskid, |
| | | templateid, |
| | |
| | | <if test="age != null ">and age = #{age}</if> |
| | | <if test="sfzh != null and sfzh != ''">and sfzh = #{sfzh}</if> |
| | | <if test="addr != null and addr != ''">and addr = #{addr}</if> |
| | | <if test="senderdetail != null and senderdetail != ''">and senderdetail = #{senderdetail}</if> |
| | | <if test="hospitaldistrictname != null and hospitaldistrictname != ''">and hospitaldistrictname = #{hospitaldistrictname}</if> |
| | | <if test="type != null and type != ''">and type = #{type}</if> |
| | | <if test="taskid != null ">and taskid = #{taskid}</if> |
| | | <if test="templateid != null and templateid != ''">and templateid = #{templateid}</if> |
| | |
| | | <if test="age != null">age,</if> |
| | | <if test="sfzh != null">sfzh,</if> |
| | | <if test="addr != null">addr,</if> |
| | | <if test="senderdetail != null">senderdetail,</if> |
| | | <if test="hospitaldistrictname != null">hospitaldistrictname,</if> |
| | | <if test="type != null">type,</if> |
| | | <if test="taskid != null">taskid,</if> |
| | | <if test="templateid != null">templateid,</if> |
| | |
| | | <if test="age != null">#{age},</if> |
| | | <if test="sfzh != null">#{sfzh},</if> |
| | | <if test="addr != null">#{addr},</if> |
| | | <if test="senderdetail != null">#{senderdetail},</if> |
| | | <if test="hospitaldistrictname != null">#{hospitaldistrictname},</if> |
| | | <if test="type != null">#{type},</if> |
| | | <if test="taskid != null">#{taskid},</if> |
| | | <if test="templateid != null">#{templateid},</if> |
| | |
| | | <if test="age != null">age = #{age},</if> |
| | | <if test="sfzh != null">sfzh = #{sfzh},</if> |
| | | <if test="addr != null">addr = #{addr},</if> |
| | | <if test="senderdetail != null">senderdetail = #{senderdetail},</if> |
| | | <if test="hospitaldistrictname != null">hospitaldistrictname = #{hospitaldistrictname},</if> |
| | | <if test="type != null">type = #{type},</if> |
| | | <if test="taskid != null">taskid = #{taskid},</if> |
| | | <if test="templateid != null">templateid = #{templateid},</if> |