diff --git a/src/main/java/com/glxp/api/controller/basic/BasicSickerController.java b/src/main/java/com/glxp/api/controller/basic/BasicSickerController.java index 86189b9c3..15ec9f1fb 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicSickerController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicSickerController.java @@ -16,6 +16,7 @@ import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.basic.BasicSkSickerResponse; import com.glxp.api.service.basic.BasicSkSickerService; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -53,6 +54,30 @@ public class BasicSickerController extends BaseController { return ResultVOUtils.success(pageSimpleResponse); } + /** + * 远程查询并下载患者信息 + * + * @return + */ + @GetMapping("/udiwms/basic/sk/sicker/filter/remote") + public BaseResponse filterSickerRemote(BasicSkSickerRequest basicSkSickerRequest) { + List basicSkSickerResponses = basicSkSickerService.filterNoList(basicSkSickerRequest); + if (CollUtil.isEmpty(basicSkSickerResponses)) { + GetSickRequest getSickRequest = new GetSickRequest(); + BeanUtils.copyProperties(basicSkSickerRequest, getSickRequest); + BaseResponse> baseResponse = erpBasicClient.getSicker(getSickRequest); + if (CollUtil.isNotEmpty(baseResponse.getData().getList())) { + basicSkSickerService.replaceBatchs(getSickRequest.getSelectSickers()); + } + return baseResponse; + } else { + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setList(basicSkSickerResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + } + + /** * 在线实时获取患者信息 * diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java index 7dd992c31..c874b9cfb 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailResultController.java @@ -23,10 +23,7 @@ import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity; import com.glxp.api.entity.system.SystemPDFTemplateEntity; import com.glxp.api.entity.thrsys.ThrProductsEntity; import com.glxp.api.req.inout.*; -import com.glxp.api.res.inout.CptTraceOrderResponse; -import com.glxp.api.res.inout.CptTraceResultResponse; -import com.glxp.api.res.inout.IoOrderDetailResultResponse; -import com.glxp.api.res.inout.IoOrderDetailVo; +import com.glxp.api.res.inout.*; import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.basic.IBasicBussinessTypeService; @@ -408,4 +405,18 @@ public class IoOrderDetailResultController extends BaseController { return ResultVOUtils.success(cptTraceResultResponses); } + + + /** + * 查询出入库单明细 + */ + + @GetMapping("/udiwms/inout/external/orderDetail/filter") + public BaseResponse externalOrderFilter(FilterOrderDetailResultRequest orderDetailResultRequest) { + List list = orderDetailResultService.exFilterOrderDetail(orderDetailResultRequest); + PageInfo pageInfo = new PageInfo<>(list); + return ResultVOUtils.page(pageInfo); + } + + } diff --git a/src/main/java/com/glxp/api/dao/inout/IoOrderDetailResultDao.java b/src/main/java/com/glxp/api/dao/inout/IoOrderDetailResultDao.java index a110267bb..4d2c5489c 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoOrderDetailResultDao.java +++ b/src/main/java/com/glxp/api/dao/inout/IoOrderDetailResultDao.java @@ -5,6 +5,7 @@ import com.glxp.api.entity.inout.IoOrderDetailResultEntity; import com.glxp.api.req.inout.CptTraceRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest; import com.glxp.api.res.inout.CptTraceOrderResponse; +import com.glxp.api.res.inout.IoExOrderDetailResultResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.res.inv.IoOrderDetailStatRsponse; import io.lettuce.core.dynamic.annotation.Param; @@ -40,4 +41,7 @@ public interface IoOrderDetailResultDao extends BaseMapperPlus cptCodeTrace(CptTraceRequest cptTraceRequest); + + + List exFilterOrderDetail(FilterOrderDetailResultRequest orderDetailResultRequest); } 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 2aa930e2c..73b99c633 100644 --- a/src/main/java/com/glxp/api/entity/basic/BasicSkSickerEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/BasicSkSickerEntity.java @@ -165,4 +165,16 @@ public class BasicSkSickerEntity { @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/http/ErpBasicClient.java b/src/main/java/com/glxp/api/http/ErpBasicClient.java index 31f493a10..e8b803113 100644 --- a/src/main/java/com/glxp/api/http/ErpBasicClient.java +++ b/src/main/java/com/glxp/api/http/ErpBasicClient.java @@ -116,6 +116,9 @@ public class ErpBasicClient { * @return */ public BaseResponse> getSicker(GetSickRequest getSickRequest) { + if (StrUtil.isEmpty(getSickRequest.getThirdSys())) { + getSickRequest.setThirdSys("thirdId"); + } ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(getSickRequest.getThirdSys()); String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/sicker/getInfo"; try { diff --git a/src/main/java/com/glxp/api/req/inout/FilterOrderDetailResultRequest.java b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailResultRequest.java index b9457926c..80e3e7d56 100644 --- a/src/main/java/com/glxp/api/req/inout/FilterOrderDetailResultRequest.java +++ b/src/main/java/com/glxp/api/req/inout/FilterOrderDetailResultRequest.java @@ -54,4 +54,5 @@ public class FilterOrderDetailResultRequest extends ListPageRequest { private String action; private String mainAction; private Integer inoutPrintStatus; + private String invName; } diff --git a/src/main/java/com/glxp/api/res/basic/BasicSkPrescribeDiResponse.java b/src/main/java/com/glxp/api/res/basic/BasicSkPrescribeDiResponse.java index 51145d20e..e7527fe04 100644 --- a/src/main/java/com/glxp/api/res/basic/BasicSkPrescribeDiResponse.java +++ b/src/main/java/com/glxp/api/res/basic/BasicSkPrescribeDiResponse.java @@ -17,7 +17,7 @@ public class BasicSkPrescribeDiResponse { /** * 项目组套外键 */ - private Long pId; + private String pId; /** * 患者编码 diff --git a/src/main/java/com/glxp/api/res/inout/IoExOrderDetailResultResponse.java b/src/main/java/com/glxp/api/res/inout/IoExOrderDetailResultResponse.java new file mode 100644 index 000000000..c94ddec4f --- /dev/null +++ b/src/main/java/com/glxp/api/res/inout/IoExOrderDetailResultResponse.java @@ -0,0 +1,175 @@ +package com.glxp.api.res.inout; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class IoExOrderDetailResultResponse { + + + private Integer id; + + /** + * 订单号外键 + */ + @ExcelProperty(value = "出入库单号", index = 1) + private String orderIdFk; + + /** + * 耗材字典ID外键 + */ + private Long bindRlFk; + + /** + * DI信息UUID外键 + */ + private String uuidFk; + + /** + * DI + */ + @ExcelProperty(value = "DI/物资编码", index = 2) + private String nameCode; + + /** + * 批次号 + */ + @ExcelProperty(value = "批次号", index = 5) + private String batchNo; + + /** + * 生产日期 + */ + @ExcelProperty(value = "生产日期", index = 10) + private String productDate; + + /** + * 失效日期 + */ + @ExcelProperty(value = "失效日期", index = 11) + private String expireDate; + + /** + * 产品通用名称 + */ + @ExcelProperty(value = "物资名称", index = 3) + private String coName; + + /** + * 注册证号 + */ + @ExcelProperty(value = "注册/备案号", index = 14) + private String certCode; + + /** + * 医疗器械注册备案证号 + */ + private String ylqxzcrbarmc; + + /** + * 生产企业 + */ + @ExcelProperty(value = "生产企业", index = 13) + private String manufacturer; + + /** + * 计量单位 + */ + @ExcelProperty(value = "计量单位", index = 8) + private String measname; + + /** + * 规格型号 + */ + @ExcelProperty(value = "规格型号", index = 4) + private String spec; + + /** + * 价格 + */ + private BigDecimal price; + + + /** + * 单据数量 + */ + private int count; + + /** + * 实际数量 + */ + private int reCount; + + /** + * 备注 + */ + private String remark; + + /** + * 扩展字段1 + */ + private String remark1; + + /** + * 扩展字段2 + */ + private String remark2; + + /** + * 扩展字段3 + */ + private String remark3; + + /** + * 扩展字段4 + */ + private String remark4; + + /** + * 扩展字段5 + */ + private String remark5; + + + /** + * 灭菌批号 + */ + private String sterBatchNo; + + /** + * 灭菌日期 + */ + private String sterDate; + + @ExcelProperty(value = "单据类型", index = 9) + private String billTypeName; + private String mainAction; + @ExcelProperty(value = "出入库时间", index = 12) + private Date auditTime; + +// +// @ExcelProperty(value = "往来单位", index = 0) +// private String fromName; + + /** + * 仓库/科室名称 + */ + private String invName; + +// +// public String getFromName() { +// if (StrUtil.isNotEmpty(fromCorpName)) +// return fromCorpName; +// if (StrUtil.isNotEmpty(fromInvName)) +// return fromInvName; +// +// +// return fromName; +// } + + +} diff --git a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java index b4f8e47bc..9f4f261c9 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -407,6 +407,7 @@ public class IoCheckInoutService { if (CollUtil.isEmpty(orderDetailCodeEntities)) { orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_FAIL); + orderEntity.setCheckUser(orderEntity.getCreateUser()); orderEntity.setUpdateTime(new Date()); orderEntity.setErrMsg("校验失败,扫码详情为空!"); orderService.update(orderEntity); @@ -963,6 +964,7 @@ public class IoCheckInoutService { if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_AUDITED) { orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_CHECK); orderEntity.setUpdateTime(new Date()); + orderEntity.setReviewUser(orderEntity.getCheckUser()); if (IntUtil.value(orderEntity.getFromType()) != ConstantStatus.FROM_UDISP) orderEntity.setAuditTime(new Date()); if (StrUtil.isEmpty(orderEntity.getReviewUser())) { diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderDetailResultService.java b/src/main/java/com/glxp/api/service/inout/IoOrderDetailResultService.java index 8f1a66099..48fab077f 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderDetailResultService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderDetailResultService.java @@ -5,6 +5,7 @@ import com.glxp.api.entity.inout.IoOrderDetailResultEntity; import com.glxp.api.req.inout.CptTraceRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest; import com.glxp.api.res.inout.CptTraceOrderResponse; +import com.glxp.api.res.inout.IoExOrderDetailResultResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse; import java.util.List; @@ -28,4 +29,6 @@ public interface IoOrderDetailResultService { List cptTrace(CptTraceRequest cptTraceRequest); + + List exFilterOrderDetail(FilterOrderDetailResultRequest orderDetailResultRequest); } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoCodeLostServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoCodeLostServiceImpl.java index 71a2d9ed1..c0e31125a 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoCodeLostServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoCodeLostServiceImpl.java @@ -41,7 +41,7 @@ public class IoCodeLostServiceImpl extends ServiceImpl codeLostEntities = codeLostEntityMapper.selectList(new QueryWrapper().eq("code", code).last("limit 1")); + List codeLostEntities = codeLostEntityMapper.selectList(new QueryWrapper().like("code", code).last("limit 1")); if (CollUtil.isNotEmpty(codeLostEntities)) { return codeLostEntities.get(0); } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailResultServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailResultServiceImpl.java index 649d073b3..95eea1c7c 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailResultServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailResultServiceImpl.java @@ -9,6 +9,7 @@ import com.glxp.api.entity.inout.IoOrderDetailResultEntity; import com.glxp.api.req.inout.CptTraceRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest; import com.glxp.api.res.inout.CptTraceOrderResponse; +import com.glxp.api.res.inout.IoExOrderDetailResultResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.service.inout.IoOrderDetailResultService; import org.springframework.stereotype.Service; @@ -81,4 +82,15 @@ public class IoOrderDetailResultServiceImpl implements IoOrderDetailResultServic } else return orderDetailResultDao.cptTrace(cptTraceRequest); } + + @Override + public List exFilterOrderDetail(FilterOrderDetailResultRequest orderDetailResultRequest) { + if (null == orderDetailResultRequest) { + return Collections.emptyList(); + } + if (null != orderDetailResultRequest.getPage() && null != orderDetailResultRequest.getLimit()) { + PageHelper.offsetPage((orderDetailResultRequest.getPage() - 1) * orderDetailResultRequest.getLimit(), orderDetailResultRequest.getLimit()); + } + return orderDetailResultDao.exFilterOrderDetail(orderDetailResultRequest); + } } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 458a42841..2c48b855c 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -4,7 +4,7 @@ server: spring: datasource: driver-class-name: com.p6spy.engine.spy.P6SpyDriver - jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms_pzh?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udiwms_qq?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root password: 123456 hikari: diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml index 8cd590109..71a704e3e 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDetailResultDao.xml @@ -185,4 +185,76 @@ + + + diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index c890db6ca..d5523df77 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -208,3 +208,7 @@ CALL Pro_Temp_ColumnWork('io_stat_order', 'startDate', 'datetime', 1); CALL Pro_Temp_ColumnWork('io_stat_order', 'endDate', 'datetime', 1); CALL Pro_Temp_ColumnWork('io_stat_order', 'status', 'tinyint', 1); CALL Pro_Temp_ColumnWork('io_stat_order', 'statType', 'tinyint', 1); + +CALL Pro_Temp_ColumnWork('basic_sk_prescribe', 'deptName', 'varchar(255)', 1); +CALL Pro_Temp_ColumnWork('basic_sk_prescribe', 'deptCode', 'varchar(255)', 1); +