From 879b5324946d933f4e569f7dfd978b529476157e Mon Sep 17 00:00:00 2001 From: chenhc <2369838784@qq.com> Date: Sun, 7 Apr 2024 18:29:08 +0800 Subject: [PATCH] =?UTF-8?q?dev=5Fksck=20=E2=86=92=20origin/dev=5Fksck?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/IoDepartmentOrderController.java | 26 +++++++ .../api/entity/basic/BasicSkSickerEntity.java | 4 ++ .../req/basic/FilterBussinessTypeRequest.java | 1 + .../req/inout/AddSkSiackerListRequest.java | 71 +++++++++++++++++++ .../api/req/inout/FilterOrderRequest.java | 2 + .../inout/IoDepartmentOrderService.java | 5 ++ .../impl/IoDepartmentOrderServiceImpl.java | 59 ++++++++++++++- .../mapper/basic/BasicBussinessTypeDao.xml | 3 + .../mapper/basic/BasicSkSickerMapper.xml | 1 + .../mybatis/mapper/inout/IoOrderDao.xml | 3 + src/main/resources/schemas/schema_v2.4.sql | 5 ++ 11 files changed, 179 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/glxp/api/req/inout/AddSkSiackerListRequest.java diff --git a/src/main/java/com/glxp/api/controller/inout/IoDepartmentOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoDepartmentOrderController.java index 82a1d1fad..eb40494d8 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoDepartmentOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoDepartmentOrderController.java @@ -5,6 +5,7 @@ import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.controller.BaseController; import com.glxp.api.entity.basic.BasicSkSickerEntity; +import com.glxp.api.req.inout.AddSkSiackerListRequest; import com.glxp.api.req.inout.FilterSkSiackerListRequest; import com.glxp.api.res.inout.IoOrderResponse; import com.glxp.api.service.inout.IoDepartmentOrderService; @@ -47,4 +48,29 @@ public class IoDepartmentOrderController extends BaseController { return ResultVOUtils.success(list); } + + /** + * 通过患者code 更新更新时间 + * + * @param + * @return + */ + @GetMapping("/udiwms/inout/ioDepartmentOrder/clickToTriggerbyCode") + public BaseResponse clickToTriggerbyCode(String adNum) { + ioDepartmentOrderService.clickToTriggerbyCode(adNum); + return ResultVOUtils.success("点击成功!"); + } + + + /** + * 新增患者 + * + * @param + * @return + */ + @PostMapping("/udiwms/inout/ioDepartmentOrder/addInfoSkSicker") + public BaseResponse addInfoSkSicker(@RequestBody AddSkSiackerListRequest addSkSiackerListRequest) { + ioDepartmentOrderService.addInfoSkSicker(addSkSiackerListRequest); + return ResultVOUtils.success("添加成功!"); + } } diff --git a/src/main/java/com/glxp/api/entity/basic/BasicSkSickerEntity.java b/src/main/java/com/glxp/api/entity/basic/BasicSkSickerEntity.java index 73b99c633..2fb5918ce 100644 --- a/src/main/java/com/glxp/api/entity/basic/BasicSkSickerEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/BasicSkSickerEntity.java @@ -177,4 +177,8 @@ public class BasicSkSickerEntity { @ApiModelProperty(value = "所属科室编码") private String deptCode; + @TableField(value = "sourceType") + @ApiModelProperty(value = "来源类型") + private Integer sourceType; + } diff --git a/src/main/java/com/glxp/api/req/basic/FilterBussinessTypeRequest.java b/src/main/java/com/glxp/api/req/basic/FilterBussinessTypeRequest.java index 1bbc8d0ab..cd7f141cd 100644 --- a/src/main/java/com/glxp/api/req/basic/FilterBussinessTypeRequest.java +++ b/src/main/java/com/glxp/api/req/basic/FilterBussinessTypeRequest.java @@ -112,6 +112,7 @@ public class FilterBussinessTypeRequest extends ListPageRequest { private Integer corpType; private Integer sortNum; private Integer actionType; + private Integer useDyCount; /** diff --git a/src/main/java/com/glxp/api/req/inout/AddSkSiackerListRequest.java b/src/main/java/com/glxp/api/req/inout/AddSkSiackerListRequest.java new file mode 100644 index 000000000..64e6a3b72 --- /dev/null +++ b/src/main/java/com/glxp/api/req/inout/AddSkSiackerListRequest.java @@ -0,0 +1,71 @@ +package com.glxp.api.req.inout; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AddSkSiackerListRequest { + + /** + * 姓名 + */ + @TableField(value = "`name`") + @ApiModelProperty(value = "姓名") + private String name; + + /** + * 住院号 + */ + @TableField(value = "adNum") + @ApiModelProperty(value = "住院号") + private String adNum; + + /** + * 身份证号 + */ + @TableField(value = "idNum") + @ApiModelProperty(value = "身份证号") + private String idNum; + + /** + * 手机号 + */ + @TableField(value = "phone") + @ApiModelProperty(value = "手机号") + private String phone; + + /** + * 性别 + */ + @TableField(value = "gender") + @ApiModelProperty(value = "性别") + private String gender; + + + /** + * 出生年月日 + */ + @TableField(value = "bornDate") + @ApiModelProperty(value = "出生年月日") + private String bornDate; + + /** + * 备注 + */ + @TableField(value = "remark") + @ApiModelProperty(value = "备注") + private String remark; + + /** + * 所属科室名称 + */ + @TableField(value = "deptName") + @ApiModelProperty(value = "所属科室名称") + private String deptName; + + @TableField(value = "deptCode") + @ApiModelProperty(value = "所属科室编码") + private String deptCode; +} diff --git a/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java b/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java index dbb579dbe..1f875ce64 100644 --- a/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java +++ b/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java @@ -212,4 +212,6 @@ public class FilterOrderRequest extends ListPageRequest { private Integer inPreInBack; private String fromPatientCode; + + private String sickerAdNum; } diff --git a/src/main/java/com/glxp/api/service/inout/IoDepartmentOrderService.java b/src/main/java/com/glxp/api/service/inout/IoDepartmentOrderService.java index 36c1b91b5..f648be605 100644 --- a/src/main/java/com/glxp/api/service/inout/IoDepartmentOrderService.java +++ b/src/main/java/com/glxp/api/service/inout/IoDepartmentOrderService.java @@ -1,6 +1,7 @@ package com.glxp.api.service.inout; import com.glxp.api.entity.basic.BasicSkSickerEntity; +import com.glxp.api.req.inout.AddSkSiackerListRequest; import com.glxp.api.req.inout.FilterSkSiackerListRequest; import com.glxp.api.res.inout.IoOrderResponse; @@ -15,4 +16,8 @@ public interface IoDepartmentOrderService { List getSkSickerList(FilterSkSiackerListRequest filterSkSiackerListRequest); List getOrderListbyCode(String adNum); + + void addInfoSkSicker(AddSkSiackerListRequest addSkSiackerListRequest); + + void clickToTriggerbyCode(String adNum); } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoDepartmentOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoDepartmentOrderServiceImpl.java index 179b4a03d..41b254f63 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoDepartmentOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoDepartmentOrderServiceImpl.java @@ -1,31 +1,44 @@ package com.glxp.api.service.inout.impl; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.lang.UUID; +import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.glxp.api.constant.ConstantStatus; import com.glxp.api.dao.basic.BasicSkSickerMapper; import com.glxp.api.dao.inout.IoOrderDao; import com.glxp.api.entity.basic.BasicSkSickerEntity; +import com.glxp.api.exception.JsonException; +import com.glxp.api.req.inout.AddSkSiackerListRequest; import com.glxp.api.req.inout.FilterOrderRequest; import com.glxp.api.req.inout.FilterSkSiackerListRequest; import com.glxp.api.res.basic.BasicSkSickerResponse; import com.glxp.api.res.inout.IoOrderResponse; +import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.inout.IoDepartmentOrderService; import com.glxp.api.util.StringUtils; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Collections; +import java.util.Date; import java.util.List; @Service +@Transactional(rollbackFor = Exception.class) public class IoDepartmentOrderServiceImpl implements IoDepartmentOrderService { @Resource BasicSkSickerMapper skSickerMapper; @Resource IoOrderDao ioOrderDao; + @Resource + CustomerService customerService; @Override public List getSkSickerList(FilterSkSiackerListRequest filterSkSiackerListRequest) { @@ -46,8 +59,52 @@ public class IoDepartmentOrderServiceImpl implements IoDepartmentOrderService { return Collections.emptyList(); } FilterOrderRequest filterOrderRequest = new FilterOrderRequest(); - filterOrderRequest.setFromPatientCode(adNum); + filterOrderRequest.setSickerAdNum(adNum); filterOrderRequest.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE); return ioOrderDao.filterList(filterOrderRequest); } + + @Override + public void addInfoSkSicker(AddSkSiackerListRequest addSkSiackerListRequest) { + //住院号 是否已存在 + String adNum = addSkSiackerListRequest.getAdNum(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("adNum",adNum); + List basicSkSickerEntities = skSickerMapper.selectList(qw); + if (CollectionUtil.isNotEmpty(basicSkSickerEntities)) { + throw new JsonException("住院号:"+ adNum + "已存在! "); + } + + BasicSkSickerEntity basicSkSickerEntity = new BasicSkSickerEntity(); + BeanUtils.copyProperties(addSkSiackerListRequest,basicSkSickerEntity); + basicSkSickerEntity.setCode(generateCode()); + basicSkSickerEntity.setSourceType(2);//手动 + Date date = new Date(); + basicSkSickerEntity.setCreateTime(date); + basicSkSickerEntity.setUpdateTime(date); + String userId = customerService.getUserId() + ""; + basicSkSickerEntity.setCreateUser(userId); + basicSkSickerEntity.setUpdateUser(userId); + skSickerMapper.insertOrUpdate(basicSkSickerEntity); + } + + private String generateCode() { + return UUID.fastUUID().toString(true); + } + + @Override + public void clickToTriggerbyCode(String adNum) { + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("adNum",adNum); + List basicSkSickerEntities = skSickerMapper.selectList(qw); + if (CollectionUtil.isNotEmpty(basicSkSickerEntities)){ + String userId = customerService.getUserId() + ""; + Date date = new Date(); + for (BasicSkSickerEntity basicSkSickerEntity : basicSkSickerEntities) { + basicSkSickerEntity.setUpdateTime(date); + basicSkSickerEntity.setUpdateUser(userId); + skSickerMapper.updateById(basicSkSickerEntity); + } + } + } } diff --git a/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml b/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml index 4badcdc1f..b3c6d2a75 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml @@ -237,6 +237,9 @@ AND basic_bussiness_type.mainAction = #{mainAction} + + AND basic_bussiness_type.useDyCount = #{useDyCount} + group by basic_bussiness_type.action diff --git a/src/main/resources/mybatis/mapper/basic/BasicSkSickerMapper.xml b/src/main/resources/mybatis/mapper/basic/BasicSkSickerMapper.xml index e83ff97b9..f9270a256 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicSkSickerMapper.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicSkSickerMapper.xml @@ -89,6 +89,7 @@ OR basic_sk_sicker.adNum LIKE concat('%', #{name}, '%') + order by basic_sk_sicker.updateTime desc diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml index 11bd7edd5..72556cc9a 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml @@ -139,6 +139,9 @@ AND io.status = #{status} + + AND io.sickerAdNum = #{sickerAdNum} + AND io.orderType = #{orderType} diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index 5c20e719e..643d46a73 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -1940,3 +1940,8 @@ CREATE TABLE IF NOT EXISTS dept_material_category INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`, `is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1866, '科室出库', 1655, 888, 'inout/IoDepartmentOrder', 'inout/IoDepartmentOrder', NULL, 1, 0, 'C', '0', '0', NULL, NULL, '超级用户', '2023-06-14 15:00:11', NULL, NULL, NULL); + + +CALL Pro_Temp_ColumnWork('basic_sk_sicker', 'sourceType', + ' int(0) NULL DEFAULT NULL COMMENT ''来源类型 2:手动''', + 1);