diff --git a/src/main/java/com/glxp/api/constant/Constant.java b/src/main/java/com/glxp/api/constant/Constant.java index 85449ab03..8650c26f1 100644 --- a/src/main/java/com/glxp/api/constant/Constant.java +++ b/src/main/java/com/glxp/api/constant/Constant.java @@ -4,8 +4,8 @@ public class Constant { public static String SYSTEM_CUSTOMER_ID = "110"; - public static final String INV_PRE_IN_CODE = "1000001";//默认预验收仓库号 - public static final String INV_PRE_CODE = "1000002";//默认寄售仓库号 +// public static final String INV_PRE_IN_CODE = "1000001";//默认预验收仓库号 +// public static final String INV_PRE_CODE = "1000002";//默认寄售仓库号 public static String MUTI = "MUTI"; diff --git a/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java b/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java index b488215d6..5110c3b43 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicBussinessTypeController.java @@ -2,6 +2,7 @@ package com.glxp.api.controller.basic; import cn.hutool.core.bean.BeanUtil; import com.glxp.api.constant.Constant; +import com.glxp.api.entity.auth.InvWarehouseEntity; import com.glxp.api.service.auth.InvWarehouseService; import org.springframework.beans.BeanUtils; import cn.hutool.core.collection.CollUtil; @@ -203,9 +204,11 @@ public class BasicBussinessTypeController extends BaseController { List bussinessTypeResponses = new ArrayList<>(); if (detailType.equals("norDetail")) { } else if (detailType.equals("preDetail")) { - bussinessTypeRequest.setCode(Constant.INV_PRE_CODE); + InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByPreInv(); + bussinessTypeRequest.setCode(invWarehouseEntity.getCode()); } else if (detailType.equals("preInDetail")) { - bussinessTypeRequest.setCode(Constant.INV_PRE_IN_CODE); + InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByPreInInv(); + bussinessTypeRequest.setCode(invWarehouseEntity.getCode()); } bussinessTypeResponses = basicBussinessTypeService.filterJoinByInv(bussinessTypeRequest); PageInfo pageInfo; diff --git a/src/main/java/com/glxp/api/controller/basic/BasicSickPrescribeDiController.java b/src/main/java/com/glxp/api/controller/basic/BasicSickPrescribeDiController.java index cee31df13..7ce1b181f 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicSickPrescribeDiController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicSickPrescribeDiController.java @@ -1,12 +1,18 @@ package com.glxp.api.controller.basic; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.entity.basic.BasicSkPrescribeDiEntity; +import com.glxp.api.entity.basic.BasicSkSickerEntity; import com.glxp.api.req.basic.BasicSkPrescribeDiRequest; +import com.glxp.api.req.basic.GetSickPrescribeRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.service.BasicSkPrescribeDiService; +import com.glxp.api.service.basic.BasicSkPrescribeService; +import com.glxp.api.service.basic.BasicSkSickerService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @@ -18,6 +24,10 @@ public class BasicSickPrescribeDiController { @Resource BasicSkPrescribeDiService basicSkPrescribeDiService; + @Resource + BasicSkPrescribeService basicSkPrescribeService; + @Resource + BasicSkSickerService basicSkSickerService; /** * 获取处方使用耗材详情 @@ -34,4 +44,31 @@ public class BasicSickPrescribeDiController { return ResultVOUtils.success(pageSimpleResponse); } + + /** + * 下载并返回处方信息 + */ + @GetMapping("/udiwms/basic/sk/prescribe/di/dlOrFilter") + public BaseResponse filterOrDlSickDi(BasicSkPrescribeDiRequest basicSkPrescribeDiRequest) { + if (StrUtil.isEmpty(basicSkPrescribeDiRequest.getAdNum())) + return ResultVOUtils.error(500, "病人住院信息"); + + List basicSkPrescribeResponses = basicSkPrescribeDiService.filterList(basicSkPrescribeDiRequest); + if (CollUtil.isEmpty(basicSkPrescribeResponses)) { + BasicSkSickerEntity basicSkSickerEntity = basicSkSickerService.findByAdNum(basicSkPrescribeDiRequest.getAdNum()); + GetSickPrescribeRequest getSickPrescribeRequest = new GetSickPrescribeRequest(); + getSickPrescribeRequest.setSickCode(basicSkSickerEntity.getCode()); + getSickPrescribeRequest.setAdNum(basicSkSickerEntity.getAdNum()); + basicSkPrescribeService.downloadSickerPrescribe(getSickPrescribeRequest); + basicSkPrescribeResponses = basicSkPrescribeDiService.filterList(basicSkPrescribeDiRequest); + } + + + PageInfo pageInfo = new PageInfo<>(basicSkPrescribeResponses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(basicSkPrescribeResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + } 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 dfe7c08d8..5f8bfbf85 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicSickerController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicSickerController.java @@ -41,6 +41,15 @@ public class BasicSickerController extends BaseController { return ResultVOUtils.success(pageSimpleResponse); } + + @GetMapping("/udiwms/basic/sk/sicker/filter/noPage") + public BaseResponse filterSickerNoPage(BasicSkSickerRequest basicSkSickerRequest) { + List basicSkSickerResponses = basicSkSickerService.filterNoList(basicSkSickerRequest); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setList(basicSkSickerResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + @CusRedissonAnnotation(cacheName = RedissonCacheKey.DL_SICKER, key = {"#getSickRequest.thirdSys"}, waitTime = 3, timeOutMsg = "后台正在下载,请勿重复提交") @PostMapping("/udiwms/basic/sk/sicker/download") public BaseResponse sickerDl(@RequestBody GetSickRequest getSickRequest, BindingResult bindingResult) { diff --git a/src/main/java/com/glxp/api/controller/dev/DeviceInfoController.java b/src/main/java/com/glxp/api/controller/dev/DeviceInfoController.java index 3e5dfdb9d..90c8cb3df 100644 --- a/src/main/java/com/glxp/api/controller/dev/DeviceInfoController.java +++ b/src/main/java/com/glxp/api/controller/dev/DeviceInfoController.java @@ -1,22 +1,33 @@ package com.glxp.api.controller.dev; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.RandomUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.common.enums.ResultEnum; 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.auth.AuthAdmin; import com.glxp.api.entity.dev.DeviceChangeLogEntity; import com.glxp.api.entity.dev.DeviceInfoEntity; +import com.glxp.api.entity.system.SysPdfTemplateRelevanceLabelEntity; +import com.glxp.api.entity.system.SystemPDFTemplateEntity; import com.glxp.api.exception.JsonException; import com.glxp.api.req.dev.DeviceInfoDetailQuery; import com.glxp.api.req.dev.DeviceInfoQuery; +import com.glxp.api.req.dev.FilterDeptDeviceRequest; +import com.glxp.api.req.dev.FilterDeviceReceiveOrderRequest; import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.dev.DeptDeviceDetailResponse; import com.glxp.api.service.dev.DeviceChangeLogService; import com.glxp.api.service.dev.DeviceInfoService; +import com.glxp.api.service.system.SystemPDFModuleService; +import com.glxp.api.service.system.SystemPDFTemplateService; +import com.glxp.api.util.JasperUtils; import com.glxp.api.vo.dev.DeviceChangeLogVo; import com.glxp.api.vo.dev.DeviceInfoVo; import com.google.zxing.BarcodeFormat; @@ -27,10 +38,13 @@ import com.google.zxing.qrcode.QRCodeWriter; import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.imageio.ImageIO; import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.awt.*; @@ -38,6 +52,7 @@ import java.awt.font.LineMetrics; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.IOException; +import java.text.SimpleDateFormat; import java.util.*; import java.util.List; @@ -52,6 +67,9 @@ public class DeviceInfoController extends BaseController { private final DeviceChangeLogService deviceChangeLogService; + @Value("${file_path}") + private String filePath; + /** * 生成一个设备号 * @@ -306,4 +324,54 @@ public class DeviceInfoController extends BaseController { } } + @Resource + private SystemPDFModuleService systemPDFModuleService; + @Resource + private SystemPDFTemplateService systemPDFTemplateService; + + /** + * 设备标签打印 + * + * @return + */ + @AuthRuleAnnotation("") + @PostMapping("/udiwms/inv/deptDevice/printOrder1") + public BaseResponse printLabel(@RequestBody DeviceInfoDetailQuery query, HttpServletRequest request, HttpServletResponse response) throws Exception { + + List list = deviceInfoService.detail(query); + if (CollUtil.isEmpty(list)) { + throw new JsonException("未找到该设备,无法生成"); + } + DeviceInfoVo obj = list.get(0); + SysPdfTemplateRelevanceLabelEntity sysPdfTemplateRelevanceLabelEntity = systemPDFModuleService.selectByLabelId("5"); + if (null == sysPdfTemplateRelevanceLabelEntity) { + return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误"); + } + + SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(sysPdfTemplateRelevanceLabelEntity.getTemplateId())); + if (null == systemPDFTemplateEntity) { + return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误"); + } + + //打印单号标签 + Map data = new HashMap<>(1); + Map supData = new HashMap<>(); + supData.put("deviceCode", obj.getDeviceCode() == null ? ' ' : obj.getDeviceCode()); + supData.put("deptName", obj.getDeptName() == null ? ' ' : obj.getDeptName()); + supData.put("productName", obj.getProductName() == null ? ' ' : obj.getProductName()); + supData.put("ggxh", obj.getGgxh() == null ? ' ' : obj.getGgxh()); + supData.put("productionDate", obj.getProductionDate() == null ? ' ' : obj.getProductionDate()); + supData.put("expireDate", obj.getExpireDate() == null ? ' ' : obj.getExpireDate()); + supData.put("batchNo", obj.getBatchNo() == null ? ' ' : obj.getBatchNo()); + supData.put("serialNo", obj.getSerialNo() == null ? ' ' : obj.getSerialNo()); + supData.put("manufactory", obj.getManufactory() == null ? ' ' : obj.getManufactory()); + supData.put("measname", obj.getMeasname() == null ? ' ' : obj.getMeasname()); + supData.put("zczbhhzbapzbh", obj.getZczbhhzbapzbh() == null ? ' ' : obj.getZczbhhzbapzbh()); + supData.put("supName", obj.getSupName() == null ? ' ' : obj.getSupName()); + data.put("data", supData); + String param = JSON.toJSONString(data); + JasperUtils.jasperReport(request, response, param, filePath + "pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf"); + + return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误"); + } } diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java index b77cdc80a..85e7d35a4 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -519,19 +519,9 @@ public class IoCodeTempController extends BaseController { } } - if (addOrderRequest.getFromCorp() == null) { - BasicCorpEntity basicCorpEntity = basicUnitMaintainService.selectByName(addOrderRequest.getFromCorp()); - if (basicCorpEntity == null && bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT && bussinessTypeEntity.isGenUnit()) { - basicCorpEntity = new BasicCorpEntity(); - basicCorpEntity.setErpId(CustomUtil.getUnitId()); - addOrderRequest.setFromCorp((basicCorpEntity.getErpId())); - basicCorpEntity.setCorpType(ConstantStatus.CORP_SICK); - basicCorpEntity.setOutType(ConstantStatus.CORP_SICK_SICK); - basicCorpEntity.setName(addOrderRequest.getFromCorp()); - addOrderRequest.setFromCorp(basicCorpEntity.getName()); - basicCorpEntity.setId(IdUtil.getSnowflakeNextId()); - basicUnitMaintainService.insert(basicCorpEntity); - } + if (addOrderRequest.getFromCorp() != null) { + String fromCorp = ioAddInoutService.updateCorp(bussinessTypeEntity, addOrderRequest.getFromCorp(), addOrderRequest.getSickerAdNum()); + addOrderRequest.setFromCorp(fromCorp); } //先生成扫码单据 @@ -711,6 +701,7 @@ public class IoCodeTempController extends BaseController { orderEntity.setInvCode(addOrderRequest.getInvCode()); orderEntity.setOrderType(addOrderRequest.getOrderType()); orderEntity.setBusType(bussinessTypeEntity.getBusType()); + orderEntity.setSickerAdNum(addOrderRequest.getSickerAdNum()); orderService.insertOrder(orderEntity); } diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index 0b8fdf7ea..9ccab1510 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -318,7 +318,7 @@ public class IoOrderController extends BaseController { BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(addOrderRequest.getAction()); //要是特殊往来信息没有就创建 - orderEntity.setFromCorp(ioAddInoutService.updateCorp(bussinessTypeEntity, addOrderRequest.getFromCorp())); + orderEntity.setFromCorp(ioAddInoutService.updateCorp(bussinessTypeEntity, addOrderRequest.getFromCorp(), addOrderRequest.getSickerAdNum())); orderEntity.setAction(addOrderRequest.getAction()); orderEntity.setMainAction(bussinessTypeEntity.getMainAction()); orderEntity.setRemark(addOrderRequest.getRemark()); diff --git a/src/main/java/com/glxp/api/dao/basic/BasicSkSickerMapper.java b/src/main/java/com/glxp/api/dao/basic/BasicSkSickerMapper.java index 733ebcbd0..5b23d40d5 100644 --- a/src/main/java/com/glxp/api/dao/basic/BasicSkSickerMapper.java +++ b/src/main/java/com/glxp/api/dao/basic/BasicSkSickerMapper.java @@ -14,6 +14,8 @@ public interface BasicSkSickerMapper extends BaseMapperPlus filterList(BasicSkSickerRequest basicSkSickerRequest); + List filterNoList(BasicSkSickerRequest basicSkSickerRequest); + } diff --git a/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java b/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java index 133761326..9966a71fa 100644 --- a/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/BasicBussinessTypeEntity.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import org.apache.xpath.operations.Bool; import java.util.Date; @@ -460,4 +461,11 @@ public class BasicBussinessTypeEntity { private Integer deptNoInvType; + /** + * 出库时是否校验处方信息 + */ + @TableField(value = "vailPrescribe") + private Boolean vailPrescribe; + + } diff --git a/src/main/java/com/glxp/api/entity/basic/BasicCorpEntity.java b/src/main/java/com/glxp/api/entity/basic/BasicCorpEntity.java index 8cb89382b..7959141d8 100644 --- a/src/main/java/com/glxp/api/entity/basic/BasicCorpEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/BasicCorpEntity.java @@ -141,4 +141,8 @@ public class BasicCorpEntity { private String remark; + @TableField(value = "adSickNum") + private String adSickNum; + + } diff --git a/src/main/java/com/glxp/api/entity/basic/BasicSkPrescribeEntity.java b/src/main/java/com/glxp/api/entity/basic/BasicSkPrescribeEntity.java index 4a908a665..28ffdf60d 100644 --- a/src/main/java/com/glxp/api/entity/basic/BasicSkPrescribeEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/BasicSkPrescribeEntity.java @@ -7,19 +7,21 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.glxp.api.util.BigDecimalUtil; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; + import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.Date; + import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; /** - * 患者处方 - */ -@ApiModel(value="com-glxp-api-entity-basic-BasicSkPrescribe") + * 患者处方 + */ +@ApiModel(value = "com-glxp-api-entity-basic-BasicSkPrescribe") @Data @Builder @AllArgsConstructor @@ -32,28 +34,35 @@ public class BasicSkPrescribeEntity { * 处方编码 */ @TableId(value = "code") - @ApiModelProperty(value="处方编码") + @ApiModelProperty(value = "处方编码") private String code; /** * 病人编码 */ @TableField(value = "sickerCode") - @ApiModelProperty(value="病人编码") + @ApiModelProperty(value = "病人编码") private String sickerCode; + /** + * 患者住院号 + */ + @TableField(value = "adNum") + @ApiModelProperty(value = "患者住院号") + private String adNum; + /** * 开方时间 */ @TableField(value = "prescribeDate") - @ApiModelProperty(value="开方时间") + @ApiModelProperty(value = "开方时间") private LocalDateTime prescribeDate; /** * 开方医生 */ @TableField(value = "createDr") - @ApiModelProperty(value="开方医生") + @ApiModelProperty(value = "开方医生") private String createDr; /** * 处方费用 @@ -65,52 +74,52 @@ public class BasicSkPrescribeEntity { * 就诊科室编码 */ @TableField(value = "deptCode") - @ApiModelProperty(value="就诊科室编码") + @ApiModelProperty(value = "就诊科室编码") private String deptCode; /** * 就诊科室名称 */ @TableField(value = "deptName") - @ApiModelProperty(value="就诊科室名称") + @ApiModelProperty(value = "就诊科室名称") private String deptName; /** * 诊断内容 */ @TableField(value = "diagnosis") - @ApiModelProperty(value="诊断内容") + @ApiModelProperty(value = "诊断内容") private String diagnosis; @TableField(value = "remark") - @ApiModelProperty(value="") + @ApiModelProperty(value = "") private String remark; /** * 创建人 */ @TableField(value = "`createUser`") - @ApiModelProperty(value="创建人") + @ApiModelProperty(value = "创建人") private String createUser; /** * 创建时间 */ @TableField(value = "createTime") - @ApiModelProperty(value="创建时间") + @ApiModelProperty(value = "创建时间") private LocalDateTime createTime; /** * 更新人 */ @TableField(value = "updateUser") - @ApiModelProperty(value="更新人") + @ApiModelProperty(value = "更新人") private String updateUser; /** * 更新时间 */ @TableField(value = "updateTime") - @ApiModelProperty(value="更新时间") + @ApiModelProperty(value = "更新时间") private LocalDateTime updateTime; } diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java index a86d62e7b..35f7f8e3e 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java @@ -285,5 +285,11 @@ public class IoOrderEntity { @TableField(value = "preInSelected") private Integer preInSelected; + /** + * 病人住院号 + */ + @TableField(value = "sickerAdNum") + private String sickerAdNum; + } diff --git a/src/main/java/com/glxp/api/req/basic/BasicSkSickerRequest.java b/src/main/java/com/glxp/api/req/basic/BasicSkSickerRequest.java index 44551d660..8ac7cf22a 100644 --- a/src/main/java/com/glxp/api/req/basic/BasicSkSickerRequest.java +++ b/src/main/java/com/glxp/api/req/basic/BasicSkSickerRequest.java @@ -110,4 +110,6 @@ public class BasicSkSickerRequest extends ListPageRequest { * 备注 */ private String remark; + + private String key; } diff --git a/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java b/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java index 169235879..e3c56c0e3 100644 --- a/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java +++ b/src/main/java/com/glxp/api/req/basic/BussinessTypeSaveRequest.java @@ -313,4 +313,5 @@ public class BussinessTypeSaveRequest { * 科室无存库模式 0:有库存;1:无库存 */ private Integer deptNoInvType; + private Boolean vailPrescribe; } 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 ae6e5908c..533ab136a 100644 --- a/src/main/java/com/glxp/api/req/basic/FilterBussinessTypeRequest.java +++ b/src/main/java/com/glxp/api/req/basic/FilterBussinessTypeRequest.java @@ -133,5 +133,6 @@ public class FilterBussinessTypeRequest extends ListPageRequest { * 出入库明细类型 */ private String detailType; + private Boolean vailPrescribe; } diff --git a/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java b/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java index 07904573d..74afd32bb 100644 --- a/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java +++ b/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java @@ -42,4 +42,5 @@ public class AddOrderRequest { //预验收价格 private String preInPrice; private String preInBatchNo; + private String sickerAdNum; } diff --git a/src/main/java/com/glxp/api/req/inout/OrderEditRequest.java b/src/main/java/com/glxp/api/req/inout/OrderEditRequest.java index 2969d4f66..c7f1709a0 100644 --- a/src/main/java/com/glxp/api/req/inout/OrderEditRequest.java +++ b/src/main/java/com/glxp/api/req/inout/OrderEditRequest.java @@ -25,6 +25,11 @@ public class OrderEditRequest { */ private Integer preInSelected; + /** + * 病人住院号 + */ + private String sickerAdNum; + /** * 单号集合 */ diff --git a/src/main/java/com/glxp/api/res/basic/BasicBussinessTypeResponse.java b/src/main/java/com/glxp/api/res/basic/BasicBussinessTypeResponse.java index 087f2b112..e28acc871 100644 --- a/src/main/java/com/glxp/api/res/basic/BasicBussinessTypeResponse.java +++ b/src/main/java/com/glxp/api/res/basic/BasicBussinessTypeResponse.java @@ -189,4 +189,5 @@ public class BasicBussinessTypeResponse { * 科室无存库模式 0:有库存;1:无库存 */ private Integer deptNoInvType; + private Boolean vailPrescribe; } diff --git a/src/main/java/com/glxp/api/res/basic/BasicSkPrescribeDiResponse.java b/src/main/java/com/glxp/api/res/basic/BasicSkPrescribeDiResponse.java new file mode 100644 index 000000000..9c3e30c5a --- /dev/null +++ b/src/main/java/com/glxp/api/res/basic/BasicSkPrescribeDiResponse.java @@ -0,0 +1,122 @@ +package com.glxp.api.res.basic; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class BasicSkPrescribeDiResponse { + + /** + * + */ + @TableId(value = "id") + private Long id; + + /** + * 项目组套外键 + */ + @TableField(value = "pId") + private Long pId; + + /** + * 患者编码 + */ + @TableField(value = "sickerCode") + private String sickerCode; + + /** + * 处方编码 + */ + @TableField(value = "prescribeCode") + private String prescribeCode; + + /** + * 住院号 + */ + @TableField(value = "adNum") + private String adNum; + + + /** + * 耗材产品id + */ + @TableField(value = "relId") + private Long relId; + + /** + * DI标识 + */ + @TableField(value = "nameCode") + private String nameCode; + + + /** + * 耗材名称 + */ + @TableField(value = "thrName") + private String thrName; + + /** + * 耗材编码 + */ + @TableField(value = "thrCode") + private String thrCode; + + /** + * 计量数量 + */ + @TableField(value = "measureCount") + private String measureCount; + + /** + * 计量单位 + */ + @TableField(value = "measureUnit") + private String measureUnit; + + /** + * 类别 + */ + @TableField(value = "category") + private String category; + + /** + * 频率 + */ + @TableField(value = "frequency") + private String frequency; + + /** + * 数量 + */ + @TableField(value = "count") + private Integer count; + + /** + * 价格 + */ + @TableField(value = "price") + private BigDecimal price; + + /** + * 规格型号 + */ + @TableField(value = "ggxh") + private String ggxh; + + /** + * 备注 + */ + @TableField(value = "remark") + private String remark; + + /** + * 总金额 + */ + @TableField(value = "amount") + private BigDecimal amount; + +} diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java index ea26e5735..a375fcf05 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java @@ -1,6 +1,7 @@ package com.glxp.api.res.inout; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data; import java.math.BigDecimal; @@ -247,6 +248,10 @@ public class IoOrderResponse { * 是否已被选入 */ private Integer preInSelected; + /** + * 病人住院号 + */ + private String sickerAdNum; private String fromSpmsOrders; //自助单据号 diff --git a/src/main/java/com/glxp/api/res/thrsys/ThrProductsResponse.java b/src/main/java/com/glxp/api/res/thrsys/ThrProductsResponse.java index 31911abe7..e9f65b55b 100644 --- a/src/main/java/com/glxp/api/res/thrsys/ThrProductsResponse.java +++ b/src/main/java/com/glxp/api/res/thrsys/ThrProductsResponse.java @@ -51,7 +51,7 @@ public class ThrProductsResponse { private String remark; private String manufactoryCode; private String supCode; - + private String prcitmcode; public String getSpec() { if(StrUtil.isNotEmpty(spec)){ diff --git a/src/main/java/com/glxp/api/service/auth/InvWarehouseService.java b/src/main/java/com/glxp/api/service/auth/InvWarehouseService.java index 74c38218d..6563ee4c8 100644 --- a/src/main/java/com/glxp/api/service/auth/InvWarehouseService.java +++ b/src/main/java/com/glxp/api/service/auth/InvWarehouseService.java @@ -6,6 +6,7 @@ import com.glxp.api.req.auth.FilterInvSubWarehouseRequest; import com.glxp.api.req.auth.FilterInvWarehouseRequest; import com.glxp.api.res.auth.InvSubWarehouseResponse; import com.glxp.api.res.auth.InvWarehouseThirdSysResponse; +import io.swagger.models.auth.In; import org.apache.ibatis.annotations.Param; import java.util.Date; @@ -105,5 +106,9 @@ public interface InvWarehouseService extends IService { InvWarehouseEntity findNoInvTypeInv(Integer noInvType, String invCode); + InvWarehouseEntity findByPreInInv(); + + InvWarehouseEntity findByPreInv(); + } diff --git a/src/main/java/com/glxp/api/service/auth/impl/InvWarehouseServiceImpl.java b/src/main/java/com/glxp/api/service/auth/impl/InvWarehouseServiceImpl.java index 5104b239d..b68e0289b 100644 --- a/src/main/java/com/glxp/api/service/auth/impl/InvWarehouseServiceImpl.java +++ b/src/main/java/com/glxp/api/service/auth/impl/InvWarehouseServiceImpl.java @@ -296,7 +296,7 @@ public class InvWarehouseServiceImpl extends ServiceImpl().eq("code", invWarehouseEntity.getParentCode()).last("limit 1")); @@ -304,4 +304,16 @@ public class InvWarehouseServiceImpl extends ServiceImpl().eq("advanceType", 2).last("limit 1")); + return invWarehouseEntity; + } + + @Override + public InvWarehouseEntity findByPreInv() { + InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOne(new QueryWrapper().eq("advanceType", 3).last("limit 1")); + return invWarehouseEntity; + } } diff --git a/src/main/java/com/glxp/api/service/basic/BasicCorpService.java b/src/main/java/com/glxp/api/service/basic/BasicCorpService.java index db71d5e18..3750fd47a 100644 --- a/src/main/java/com/glxp/api/service/basic/BasicCorpService.java +++ b/src/main/java/com/glxp/api/service/basic/BasicCorpService.java @@ -11,7 +11,9 @@ import java.util.List; public interface BasicCorpService { List filterList(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest); + List filterList2(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest); + boolean insertBasicUnitMaintain(BasicCorpEntity basicCorpEntity); boolean updateById(BasicCorpEntity basicCorpEntity); @@ -32,6 +34,9 @@ public interface BasicCorpService { BasicCorpEntity selectByName(String name); + + BasicCorpEntity findBySickAdNum(String adNum); + boolean isExit(); diff --git a/src/main/java/com/glxp/api/service/basic/BasicSkPrescribeService.java b/src/main/java/com/glxp/api/service/basic/BasicSkPrescribeService.java index 5e8f4f35a..637745206 100644 --- a/src/main/java/com/glxp/api/service/basic/BasicSkPrescribeService.java +++ b/src/main/java/com/glxp/api/service/basic/BasicSkPrescribeService.java @@ -76,6 +76,7 @@ public class BasicSkPrescribeService extends ServiceImpl skPrescribeItemEntities = item.getItemList(); if (CollUtil.isNotEmpty(skPrescribeItemEntities)) { basicSkPrescirbeDetailService.remove(new QueryWrapper().eq("prescribeCode", item.getCode())); diff --git a/src/main/java/com/glxp/api/service/basic/BasicSkSickerService.java b/src/main/java/com/glxp/api/service/basic/BasicSkSickerService.java index 98ce08487..b721bbc55 100644 --- a/src/main/java/com/glxp/api/service/basic/BasicSkSickerService.java +++ b/src/main/java/com/glxp/api/service/basic/BasicSkSickerService.java @@ -1,6 +1,7 @@ package com.glxp.api.service.basic; import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; @@ -30,6 +31,8 @@ public class BasicSkSickerService extends ServiceImpl filterList(BasicSkSickerRequest basicSkSickerRequest) { if (basicSkSickerRequest == null) { @@ -43,8 +46,24 @@ public class BasicSkSickerService extends ServiceImpl filterNoList(BasicSkSickerRequest basicSkSickerRequest) { + if (basicSkSickerRequest == null) { + return Collections.emptyList(); + } + List data = basicSkSickerMapper.filterNoList(basicSkSickerRequest); + return data; + } + + + public List findBySickCode(String sickCode) { + return basicSkSickerMapper.selectList(new QueryWrapper().eq("code", sickCode)); + } + + + public BasicSkSickerEntity findByAdNum(String adNum) { + return basicSkSickerMapper.selectOne(new QueryWrapper().eq("adNum", adNum).last("limit 1")); + } + public BaseResponse downloadSicker(GetSickRequest request, Integer startPage) { int page = (int) redisUtil.get("thr_sicker_page"); diff --git a/src/main/java/com/glxp/api/service/basic/impl/BasicCorpServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/BasicCorpServiceImpl.java index ccbb4fcb5..6454a2ed1 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/BasicCorpServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/BasicCorpServiceImpl.java @@ -36,6 +36,7 @@ public class BasicCorpServiceImpl implements BasicCorpService { List data = basicCorpDao.filterList(basicUnitMaintainFilterRequest); return data; } + @Override public List filterList2(BasicUnitMaintainFilterRequest basicUnitMaintainFilterRequest) { if (basicUnitMaintainFilterRequest == null) { @@ -49,6 +50,7 @@ public class BasicCorpServiceImpl implements BasicCorpService { List data = basicCorpDao.filterList2(basicUnitMaintainFilterRequest); return data; } + @Override public boolean insertThrUnitMaintainignore(BasicCorpEntity thrUnitMaintainResponse) { thrUnitMaintainResponse.setUpdateTime(new Date()); @@ -168,6 +170,11 @@ public class BasicCorpServiceImpl implements BasicCorpService { return basicCorpDao.selectByName(name); } + @Override + public BasicCorpEntity findBySickAdNum(String adNum) { + return basicCorpDao.selectOne(new QueryWrapper().eq("adSickNum", adNum).last("limit 1")); + } + @Override public boolean isExit() { BasicUnitMaintainFilterRequest filterUdiInfoRequest = new BasicUnitMaintainFilterRequest(); diff --git a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java index b0d44c360..280927258 100644 --- a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java @@ -1,6 +1,8 @@ package com.glxp.api.service.inout; import cn.hutool.core.bean.BeanUtil; +import com.glxp.api.entity.basic.*; +import com.glxp.api.service.basic.*; import com.glxp.api.service.inout.impl.IoCodeService; import com.glxp.api.service.inv.impl.InvProductDetailService; import lombok.extern.slf4j.Slf4j; @@ -17,10 +19,6 @@ import com.glxp.api.constant.ConstantStatus; import com.glxp.api.constant.ConstantType; import com.glxp.api.dao.inout.IoOrderDetailCodeDao; import com.glxp.api.entity.auth.InvWarehouseEntity; -import com.glxp.api.entity.basic.BasicBussinessTypeEntity; -import com.glxp.api.entity.basic.BasicCorpEntity; -import com.glxp.api.entity.basic.UdiEntity; -import com.glxp.api.entity.basic.UdiRlSupEntity; import com.glxp.api.entity.inout.*; import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.entity.system.SystemParamConfigEntity; @@ -28,10 +26,6 @@ import com.glxp.api.req.basic.FilterCompanyProductRelevanceRequest; import com.glxp.api.req.inout.PdaPostOrderRequest; import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.service.auth.InvWarehouseService; -import com.glxp.api.service.basic.BasicCorpService; -import com.glxp.api.service.basic.IBasicBussinessTypeService; -import com.glxp.api.service.basic.UdiRelevanceService; -import com.glxp.api.service.basic.UdiRlSupService; import com.glxp.api.service.inv.InvPreProductDetailService; import com.glxp.api.service.inv.InvPreinProductDetailService; import com.glxp.api.service.system.SystemParamConfigService; @@ -115,23 +109,7 @@ public class IoAddInoutService { orderService.update(orderEntity); return; } else if (StrUtil.isNotEmpty(orderEntity.getFromCorp())) { - if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT && bussinessTypeEntity.isGenUnit()) { - - BasicCorpEntity basicCorpEntity = basicCorpService.selectByName(orderEntity.getFromCorp()); - if (basicCorpEntity == null) { - basicCorpEntity = new BasicCorpEntity(); - basicCorpEntity.setErpId(CustomUtil.getUnitId()); - basicCorpEntity.setCorpType(ConstantStatus.CORP_SICK); - basicCorpEntity.setOutType(ConstantStatus.CORP_SICK_SICK); - basicCorpEntity.setName(orderEntity.getFromCorp()); - basicCorpEntity.setId(IdUtil.getSnowflakeNextId()); - basicCorpService.insert(basicCorpEntity); - } - orderEntity.setFromCorp(basicCorpEntity.getErpId()); - orderEntity.setUpdateTime(new Date()); - orderService.update(orderEntity); - - } + updateCorp(bussinessTypeEntity, orderEntity.getFromCorp(), orderEntity.getSickerAdNum()); } @@ -861,22 +839,36 @@ public class IoAddInoutService { } + @Resource + BasicSkSickerService basicSkSickerService; + /** * 临床出库时更新往来单位信息 */ - public String updateCorp(BasicBussinessTypeEntity bussinessTypeEntity, String fromCorp) { + public String updateCorp(BasicBussinessTypeEntity bussinessTypeEntity, String fromCorp, String adNum) { BasicCorpEntity basicCorpEntity; + BasicSkSickerEntity basicSkSickerEntity; + //要是特殊往来信息没有就创建 if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT && bussinessTypeEntity.isGenUnit()) { - basicCorpEntity = basicCorpService.selectByName(fromCorp); + if (StrUtil.isNotEmpty(adNum)) { + basicCorpEntity = basicCorpService.findBySickAdNum(adNum); + if (basicCorpEntity == null) { + basicSkSickerEntity = basicSkSickerService.findByAdNum(adNum); + if (basicSkSickerEntity != null) { + basicCorpEntity = new BasicCorpEntity(); + basicCorpEntity.setName(basicSkSickerEntity.getName() + " " + basicSkSickerEntity.getAdNum()); + basicCorpEntity.setAdSickNum(basicSkSickerEntity.getAdNum()); + genBasicCorp(basicCorpEntity); + } + } + } else { + basicCorpEntity = basicCorpService.selectByName(fromCorp); + } if (basicCorpEntity == null) { basicCorpEntity = new BasicCorpEntity(); - basicCorpEntity.setErpId(CustomUtil.getUnitId()); - basicCorpEntity.setCorpType(ConstantStatus.CORP_SICK); - basicCorpEntity.setOutType(ConstantStatus.CORP_SICK_SICK); basicCorpEntity.setName(fromCorp); - basicCorpEntity.setId(IdUtil.getSnowflakeNextId()); - basicCorpService.insert(basicCorpEntity); + genBasicCorp(basicCorpEntity); } return basicCorpEntity.getErpId(); @@ -885,6 +877,15 @@ public class IoAddInoutService { } } + + public void genBasicCorp(BasicCorpEntity basicCorpEntity) { + basicCorpEntity.setErpId(CustomUtil.getUnitId()); + basicCorpEntity.setCorpType(ConstantStatus.CORP_SICK); + basicCorpEntity.setOutType(ConstantStatus.CORP_SICK_SICK); + basicCorpEntity.setId(IdUtil.getSnowflakeNextId()); + basicCorpService.insert(basicCorpEntity); + } + public BaseResponse checkSubmitEnable(IoOrderEntity orderEntity) { if (orderEntity == null) { return ResultVOUtils.error(500, "提交失败,请先添加物资!"); diff --git a/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java b/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java index 0698fc8a4..011d24c5f 100644 --- a/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java @@ -204,13 +204,13 @@ public class IoChangeInoutService { } else if (bussinessChangeTypeEntity.getCreateType() == 3) { //预验收转入库单模式 outOrder.setCustomerId(corpName); outOrder.setFromCorp(corpName); - InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(Constant.INV_PRE_IN_CODE); + InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByPreInInv(); outOrder.setFromInvCode(invWarehouseEntity.getCode()); outOrder.setFromDeptCode(invWarehouseEntity.getParentId()); } else if (bussinessChangeTypeEntity.getCreateType() == 4) { //寄售转入库单模式 outOrder.setCustomerId(corpName); outOrder.setFromCorp(corpName); - InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(Constant.INV_PRE_CODE); + InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByPreInv(); outOrder.setFromInvCode(invWarehouseEntity.getCode()); outOrder.setFromDeptCode(invWarehouseEntity.getParentId()); } else if (bussinessChangeTypeEntity.getCreateType() == 5) { //退货出库 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 e9739fa50..b4f8e47bc 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -1133,7 +1133,8 @@ public class IoCheckInoutService { outOrder.setId(null); outOrder.setMainAction(ConstantType.TYPE_OUT); outOrder.setAction(basicBussinessTypeEntity.getPreInBackAction()); - InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(Constant.INV_PRE_IN_CODE); + InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByPreInInv(); +// InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(Constant.INV_PRE_IN_CODE); outOrder.setInvCode(invWarehouseEntity.getCode()); outOrder.setDeptCode(invWarehouseEntity.getParentId()); outOrder.setFromCorp(codeEntity.getSupId()); diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsServiceImpl.java index ad1ac7c28..a9ee51a9b 100644 --- a/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsServiceImpl.java +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrProductsServiceImpl.java @@ -253,11 +253,12 @@ public class ThrProductsServiceImpl extends ServiceImpl + resultType="com.glxp.api.res.basic.BasicSkPrescribeDiResponse"> SELECT * FROM basic_sk_prescribe_item_detail diff --git a/src/main/resources/mybatis/mapper/basic/BasicSkSickerMapper.xml b/src/main/resources/mybatis/mapper/basic/BasicSkSickerMapper.xml index d41d3e2df..16553edc8 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicSkSickerMapper.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicSkSickerMapper.xml @@ -40,20 +40,42 @@ FROM basic_sk_sicker LEFT JOIN auth_user cb ON basic_sk_sicker.createUser = cb.id + + AND (basic_sk_sicker.name LIKE concat('%', #{key}, '%') or + basic_sk_sicker.adNum LIKE concat('%', #{key}, '%')) + - AND name LIKE concat('%', #{name}, '%') + AND basic_sk_sicker.name LIKE concat('%', #{name}, '%') - AND adNum LIKE concat('%', #{adNum}, '%') + AND basic_sk_sicker.adNum LIKE concat('%', #{adNum}, '%') - AND code LIKE concat('%', #{code}, '%') + AND basic_sk_sicker.code LIKE concat('%', #{code}, '%') + + - - - - + diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml index e35418593..2c2a9e780 100644 --- a/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml +++ b/src/main/resources/mybatis/mapper/thrsys/ThrProductsDao.xml @@ -171,7 +171,7 @@ (id, code, `name`, measname, spec, registerNo, manufactory, cplb, flbm, qxlb, ybbm, sptm, tyshxydm, zczbhhzbapzbh, ylqxzcrbarmc, ylqxzcrbarywmc, cpms, thirdSysFk, updateTime, supName, model, standard, qtbm, zczyxqz, remark, remark1, remark2, remark3, - price, createUser, createTime, updateUser, manufactoryCode, supCode, type) + price, createUser, createTime, updateUser, manufactoryCode, supCode, type, prcitmcode) values (#{id}, #{code}, #{name}, @@ -203,7 +203,7 @@ #{price}, #{createUser}, #{createTime}, - #{updateUser}, #{manufactoryCode}, #{supCode}, #{type}) + #{updateUser}, #{manufactoryCode}, #{supCode}, #{type}, #{prcitmcode})