From d4e2b8598248d7079f7ae4ac95bfbe833265d7d1 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Mon, 12 Aug 2024 20:20:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=86=E9=9B=B6=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/SysWorkplaceController.java | 73 +++++++-- .../inout/IoCodeTempController.java | 32 +++- .../controller/inout/IoSplitController.java | 52 ++++--- .../inout/IoSplitFifoController.java | 19 +++ .../api/dao/inout/IoSplitFifoCodeMapper.java | 2 + .../glxp/api/entity/auth/SysWorkplace.java | 3 +- .../basic/BasicSkPrescribeItemCode.java | 50 ++++--- .../com/glxp/api/entity/basic/UdiEntity.java | 44 +----- .../api/entity/basic/UdiRelevanceEntity.java | 7 + .../glxp/api/entity/inout/IoCodeEntity.java | 5 + .../api/entity/inout/IoCodeTempEntity.java | 6 + .../glxp/api/entity/inout/IoOrderEntity.java | 5 + .../entity/inout/IoSplitFifoCodeEntity.java | 6 + .../glxp/api/req/basic/AddProductRequest.java | 1 + .../req/basic/UdiRelevanceSaveRequest.java | 1 + .../glxp/api/req/inout/AddOrderRequest.java | 5 + .../api/req/inout/IoSplitFifoCodeRequest.java | 2 + .../res/basic/BasicSkPrescribeResponse.java | 3 + .../api/res/basic/UdiRelevanceResponse.java | 3 +- .../api/res/inout/IoSplitCodeResponse.java | 6 +- .../BasicSkPrescribeItemCodeService.java | 11 ++ .../api/service/basic/UdiProductService.java | 3 + .../service/inout/IoCheckInoutService.java | 46 ++++-- .../api/service/inout/IoSplitCodeService.java | 12 +- .../service/inout/IoSplitFifoCodeService.java | 22 +++ .../api/service/sync/WebSocketComponent.java | 8 +- .../mapper/basic/BasicSkPrescribeMapper.xml | 4 +- .../mybatis/mapper/basic/UdiRelevanceDao.xml | 138 +++++++++--------- .../mapper/inout/IoSplitFifoCodeMapper.xml | 59 +++++++- src/main/resources/schemas/schema_v2.1.sql | 2 +- src/main/resources/schemas/schema_v2.4.sql | 13 ++ 31 files changed, 456 insertions(+), 187 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/auth/SysWorkplaceController.java b/src/main/java/com/glxp/api/controller/auth/SysWorkplaceController.java index 9ac95574f..34fb9b88b 100644 --- a/src/main/java/com/glxp/api/controller/auth/SysWorkplaceController.java +++ b/src/main/java/com/glxp/api/controller/auth/SysWorkplaceController.java @@ -1,22 +1,40 @@ package com.glxp.api.controller.auth; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.IdUtil; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +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.SysWorkplace; +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.auth.SysWorkplaceRequest; +import com.glxp.api.req.dev.DeviceInfoDetailQuery; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.service.auth.SysWorkplaceService; +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.DeviceInfoVo; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * @author : zhuzhu @@ -32,9 +50,8 @@ public class SysWorkplaceController extends BaseController { SysWorkplaceService sysWorkplaceService; - @PostMapping("/udiwms/sysWorkplace/page") - public BaseResponse page(@RequestBody SysWorkplaceRequest request){ + public BaseResponse page(@RequestBody SysWorkplaceRequest request) { // Page page = sysWorkplaceService.page(new Page<>(request.getPage(), request.getLimit()), Wrappers.lambdaQuery(SystemWorkplace.class) // .eq(StrUtil.isNotBlank(request.getInvCode()),SystemWorkplace::getInvCode,request.getInvCode()) // .like(StrUtil.isNotBlank(request.getKey()),SystemWorkplace::getWorkplaceId,request.getKey()) @@ -49,22 +66,22 @@ public class SysWorkplaceController extends BaseController { } @PostMapping("/udiwms/sysWorkplace/addWorkplace") - public BaseResponse addWorkplace(@RequestBody SysWorkplace sysWorkplace){ + public BaseResponse addWorkplace(@RequestBody SysWorkplace sysWorkplace) { sysWorkplace.setId(IdUtil.getSnowflakeNextId()); sysWorkplace.setCreateTime(new Date()); sysWorkplace.setUpdateTime(new Date()); boolean save = sysWorkplaceService.save(sysWorkplace); - if (!save){ + if (!save) { return ResultVOUtils.error("新增错误"); } return ResultVOUtils.success("新增成功"); } @PostMapping("/udiwms/sysWorkplace/updateWorkplace") - public BaseResponse updateWorkplace(@RequestBody SysWorkplace sysWorkplace){ + public BaseResponse updateWorkplace(@RequestBody SysWorkplace sysWorkplace) { sysWorkplace.setUpdateTime(new Date()); boolean save = sysWorkplaceService.updateById(sysWorkplace); - if (!save){ + if (!save) { return ResultVOUtils.error("更新错误"); } return ResultVOUtils.success("更新成功"); @@ -72,23 +89,57 @@ public class SysWorkplaceController extends BaseController { @PostMapping("/udiwms/sysWorkplace/deleteWorkplace") - public BaseResponse deleteWorkplace(@RequestBody SysWorkplace sysWorkplace){ + public BaseResponse deleteWorkplace(@RequestBody SysWorkplace sysWorkplace) { boolean save = sysWorkplaceService.removeById(sysWorkplace); - if (!save){ + if (!save) { return ResultVOUtils.error("删除错误"); } return ResultVOUtils.success("删除成功"); } @PostMapping("/udiwms/sysWorkplace/createWorkplaceId") - public BaseResponse createWorkplaceId(){ + public BaseResponse createWorkplaceId() { Long workplaceId = sysWorkplaceService.maxWorkplaceId(); - if (workplaceId != null){ + if (workplaceId != null) { workplaceId = workplaceId + 1; } - return ResultVOUtils.success(workplaceId); + return ResultVOUtils.success(workplaceId); } + @Resource + private SystemPDFModuleService systemPDFModuleService; + @Resource + private SystemPDFTemplateService systemPDFTemplateService; + @Value("${file_path}") + private String filePath; + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/sysWorkplace/label/print") + public BaseResponse printLabel(@RequestBody SysWorkplace sysWorkplace, HttpServletRequest request, HttpServletResponse response) throws Exception { + SysPdfTemplateRelevanceLabelEntity sysPdfTemplateRelevanceLabelEntity = systemPDFModuleService.selectByLabelId(sysWorkplace.getLabelId() + ""); + 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("workplaceId", sysWorkplace.getWorkplaceId() + ""); + supData.put("workplaceName", sysWorkplace.getWorkplaceName() == null ? ' ' : sysWorkplace.getWorkplaceName()); + supData.put("invName", sysWorkplace.getInvName() == null ? ' ' : sysWorkplace.getInvName()); + supData.put("remake", sysWorkplace.getRemake() == null ? ' ' : sysWorkplace.getRemake()); + supData.put("qrCode", "{\"DMHotskey\":{\"workPlace\":" + sysWorkplace.getWorkplaceId() + "}}"); + data.put("data", supData); + String param = JSON.toJSONString(data); + log.error(param); + 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 746cee7d4..ea0e6b66b 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -271,19 +271,22 @@ public class IoCodeTempController extends BaseController { if (code.endsWith("\u001D")) { code = code.substring(0, code.length() - "\u001D".length()); } - return ResultVOUtils.success(code); + udiEntity.setCode(code); + return ResultVOUtils.success(udiEntity); } else { if (newCode.startsWith("21") || (StrUtil.isNotEmpty(udiEntity.getSerialNo()) && newCode.contains("21" + udiEntity.getSerialNo()))) { if (StrUtil.isEmpty(lostMsg)) { lostMsg = ","; } BaseResponse baseResponse = ResultVOUtils.error(503, "条码完整性错误,缺少" + lostMsg.substring(1) + "是否继续添加?"); - baseResponse.setData(code); + udiEntity.setCode(code); + baseResponse.setData(udiEntity); return baseResponse; } } BaseResponse baseResponse = ResultVOUtils.error(502, "校验未完成"); - baseResponse.setData(code); + udiEntity.setCode(code); + baseResponse.setData(udiEntity); return baseResponse; } @@ -706,6 +709,7 @@ public class IoCodeTempController extends BaseController { codeEnttity.setPreSpaceCode(addOrderRequest.getPreCurSpaceCode()); codeEnttity.setPreInSpaceCode(addOrderRequest.getCheckPreInSpaceCode()); codeEnttity.setRelId(addOrderRequest.getRelId()); + codeEnttity.setFifoSplit(addOrderRequest.getFifoSplit()); codeEnttity.setCount(1); String unitFk = null; if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { @@ -716,6 +720,7 @@ public class IoCodeTempController extends BaseController { //产品是否禁用 udiRelevanceResponses = udiRelevanceService.selectGroupByNameCode(codeEnttity.getNameCode(), false); if (udiRelevanceResponses.size() >= 1) { + udiRelevanceResponse = udiRelevanceResponses.get(0); if (udiRelevanceResponse == null) { return ResultVOUtils.error(500, "该产品信息未维护!"); } else if (!udiRelevanceResponse.getUseDy() && udiRelevanceResponse.getDiType() == ConstantStatus.DITYPE_SYDY) { @@ -734,6 +739,12 @@ public class IoCodeTempController extends BaseController { return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "单只允许录入非集采产品!"); } + if (IntUtil.value(addOrderRequest.getFifoSplit()) == 2 && IntUtil.value(udiRelevanceResponse.getSplitEnable())) { + return ResultVOUtils.error(500, "当前上货只允许录入整取产品!"); + } + if (IntUtil.value(addOrderRequest.getFifoSplit()) == 1 && !IntUtil.value(udiRelevanceResponse.getSplitEnable())) { + return ResultVOUtils.error(500, "当前上货只允许录入拆零产品!"); + } //计算实际数量 codeEnttity.setReCount(codeEnttity.getMyCount() * udiCalCountUtil.getActCount(udiRelevanceResponse)); } else if (udiRelevanceResponses.size() == 0) { @@ -778,6 +789,7 @@ public class IoCodeTempController extends BaseController { orderEntity.setBusType(bussinessTypeEntity.getBusType()); orderEntity.setSickerAdNum(addOrderRequest.getSickerAdNum()); orderEntity.setWorkPlaceCode(addOrderRequest.getWorkPlaceCode()); + orderEntity.setFifoSplit(addOrderRequest.getFifoSplit()); orderService.insertOrder(orderEntity); } @@ -1137,7 +1149,12 @@ public class IoCodeTempController extends BaseController { if (bussinessTypeEntity.getVailGroupBuy() == 2 && udiRelevanceResponse.isGroupBuy()) { //只采集非集采产品 return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "单只允许录入非集采产品!"); } - + if (IntUtil.value(addOrderRequest.getFifoSplit()) == 2 && IntUtil.value(udiRelevanceResponse.getSplitEnable())) { + return ResultVOUtils.error(500, "当前上货只允许录入整取产品!"); + } + if (IntUtil.value(addOrderRequest.getFifoSplit()) == 1 && !IntUtil.value(udiRelevanceResponse.getSplitEnable())) { + return ResultVOUtils.error(500, "当前上货只允许录入拆零产品!"); + } //计算实际数量 codeEnttity.setReCount(codeEnttity.getMyCount() * udiCalCountUtil.getActCount(udiRelevanceResponse)); } else if (udiRelevanceResponses.size() == 0) { @@ -2007,7 +2024,12 @@ public class IoCodeTempController extends BaseController { if (bussinessTypeEntity.getVailGroupBuy() == 2 && udiRelevanceResponse.isGroupBuy()) { //只采集非集采产品 return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "单只允许录入非集采产品!"); } - + if (IntUtil.value(addOrderRequest.getFifoSplit()) == 2 && IntUtil.value(udiRelevanceResponse.getSplitEnable())) { + return ResultVOUtils.error(500, "当前上货只允许录入整取产品!"); + } + if (IntUtil.value(addOrderRequest.getFifoSplit()) == 1 && !IntUtil.value(udiRelevanceResponse.getSplitEnable())) { + return ResultVOUtils.error(500, "当前上货只允许录入拆零产品!"); + } //计算实际数量 codeEnttity.setReCount(codeEnttity.getMyCount() * udiCalCountUtil.getActCount(udiRelevanceResponse)); } else if (udiRelevanceResponses.size() == 0) { diff --git a/src/main/java/com/glxp/api/controller/inout/IoSplitController.java b/src/main/java/com/glxp/api/controller/inout/IoSplitController.java index 5d4492550..3f00bd891 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoSplitController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoSplitController.java @@ -7,10 +7,7 @@ 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.basic.BasicSkPrescribeDiEntity; -import com.glxp.api.entity.basic.BasicSkPrescribeEntity; -import com.glxp.api.entity.basic.UdiEntity; -import com.glxp.api.entity.basic.UdiProductEntity; +import com.glxp.api.entity.basic.*; import com.glxp.api.entity.inout.IoSplitCodeEntity; import com.glxp.api.entity.thrsys.BasicInsChdrugEntity; import com.glxp.api.req.inout.AddTagCodeReqeust; @@ -20,13 +17,11 @@ import com.glxp.api.req.thrsys.ThrInsChDrugFeeRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.inout.IoSplitCodeDetailResponse; -import com.glxp.api.service.basic.BasicSkPrescribeDiService; -import com.glxp.api.service.basic.BasicSkPrescribeService; -import com.glxp.api.service.basic.UdiProductService; -import com.glxp.api.service.basic.UdiRelevanceService; +import com.glxp.api.service.basic.*; import com.glxp.api.service.inout.IoSplitCodeDetailService; import com.glxp.api.service.inout.IoSplitCodeService; import com.glxp.api.service.inout.IoSplitFifoCodeService; +import com.glxp.api.util.IntUtil; import com.glxp.api.util.udi.FilterUdiUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -38,6 +33,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.validation.Valid; +import java.util.Date; import java.util.List; @Slf4j @@ -116,6 +112,8 @@ public class IoSplitController extends BaseController { IoSplitFifoCodeService splitFifoCodeService; @Resource BasicSkPrescribeService basicSkPrescribeService; + @Resource + BasicSkPrescribeItemCodeService basicSkPrescribeItemCodeService; /** * 器械拆零处方赋码(手动赋码) @@ -141,10 +139,12 @@ public class IoSplitController extends BaseController { UdiEntity udiEntity = FilterUdiUtils.getUdi(code); if (udiEntity == null) return ResultVOUtils.error(500, "无效条码!"); + UdiRelevanceResponse udiRelevanceResponse; List udiRelevanceResponses = udiRelevanceService.selectGroupByNameCode(udiEntity.getUdi(), null); if (CollUtil.isEmpty(udiRelevanceResponses)) return ResultVOUtils.error(500, "耗材字典不存在此产品!"); - + else + udiRelevanceResponse = udiRelevanceResponses.get(0); //2.校验是否处方单UDI码 List basicSkPrescribeDiEntities = basicSkPrescribeDiService.findByPrescribe(addTagCodeReqeust.getPrescribeNum()); BasicSkPrescribeDiEntity basicSkPrescribeDiEntity = vailPrescribeProduct(udiRelevanceResponses, basicSkPrescribeDiEntities, udiEntity); @@ -156,15 +156,31 @@ public class IoSplitController extends BaseController { if (!b1) { return ResultVOUtils.error(500, "该UDI码未出库,无法使用!"); } -// //3.判断收费项目是否已经赋码或是否满足该收费项目数量 -// splitCodeService. - - -// List splitCodeEntities = splitCodeDetailService.filterList(splitDetailCodeRequest); -// PageInfo pageInfo = new PageInfo<>(splitCodeEntities); -// PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); -// pageSimpleResponse.setTotal(pageInfo.getTotal()); -// pageSimpleResponse.setList(splitCodeEntities); + //4. + BasicSkPrescribeItemCode exitCode = basicSkPrescribeItemCodeService.findByCode(basicSkPrescribeDiEntity.getPrescribeCode(), code); + if (StrUtil.isEmpty(udiEntity.getSerialNo()) && exitCode != null) { + exitCode.setScanCount(IntUtil.value(exitCode.getScanCount()) + 1); + basicSkPrescribeItemCodeService.updateById(exitCode); + } else if (StrUtil.isNotEmpty(udiEntity.getSerialNo()) && exitCode != null) { + return ResultVOUtils.error(500, "重复扫码!"); + } else { + BasicSkPrescribeItemCode basicSkPrescribeItemCode = + BasicSkPrescribeItemCode.builder() + .udiCode(code) + .itemCode(basicSkPrescribeDiEntity.getItemCode()) + .itemName(basicSkPrescribeDiEntity.getItemName()) + .relId(basicSkPrescribeDiEntity.getRelId()) + .nameCode(udiRelevanceResponse.getNameCode()) + .sickerCode(basicSkPrescribeDiEntity.getSickerCode()) + .prescribeCode(basicSkPrescribeDiEntity.getPrescribeCode()) + .createTime(new Date()) + .createUser(getUserId()) + .updateTime(new Date()) + .updateUser(getUserId()) + .scanCount(1) + .build(); + basicSkPrescribeItemCodeService.save(basicSkPrescribeItemCode); + } return ResultVOUtils.success("赋码成功"); } diff --git a/src/main/java/com/glxp/api/controller/inout/IoSplitFifoController.java b/src/main/java/com/glxp/api/controller/inout/IoSplitFifoController.java index 462fb56c6..0dea169bb 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoSplitFifoController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoSplitFifoController.java @@ -39,6 +39,25 @@ public class IoSplitFifoController extends BaseController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } + List splitCodeEntities = splitFifoCodeService.filterGroupList(splitFifoCodeRequest); + PageInfo pageInfo = new PageInfo<>(splitCodeEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(splitCodeEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + /** + * 明细查询 + * + * @return + */ + @GetMapping("/udiwms/ioSplit/code/filter") + public BaseResponse filterList(IoSplitFifoCodeRequest splitFifoCodeRequest, + BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } List splitCodeEntities = splitFifoCodeService.filterList(splitFifoCodeRequest); PageInfo pageInfo = new PageInfo<>(splitCodeEntities); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); diff --git a/src/main/java/com/glxp/api/dao/inout/IoSplitFifoCodeMapper.java b/src/main/java/com/glxp/api/dao/inout/IoSplitFifoCodeMapper.java index a5a2958bb..31ed4fea1 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoSplitFifoCodeMapper.java +++ b/src/main/java/com/glxp/api/dao/inout/IoSplitFifoCodeMapper.java @@ -13,6 +13,8 @@ import java.util.List; @Mapper public interface IoSplitFifoCodeMapper extends BaseMapper { + List filterGroupList(IoSplitFifoCodeRequest splitFifoCodeRequest); + List filterList(IoSplitFifoCodeRequest splitFifoCodeRequest); } diff --git a/src/main/java/com/glxp/api/entity/auth/SysWorkplace.java b/src/main/java/com/glxp/api/entity/auth/SysWorkplace.java index 0a75f5fdf..eefdb2b59 100644 --- a/src/main/java/com/glxp/api/entity/auth/SysWorkplace.java +++ b/src/main/java/com/glxp/api/entity/auth/SysWorkplace.java @@ -71,7 +71,8 @@ public class SysWorkplace implements Serializable { @TableField(exist = false) private String invName; - + @TableField(exist = false) + private String labelId; } diff --git a/src/main/java/com/glxp/api/entity/basic/BasicSkPrescribeItemCode.java b/src/main/java/com/glxp/api/entity/basic/BasicSkPrescribeItemCode.java index 03a5cf894..c78ebeffb 100644 --- a/src/main/java/com/glxp/api/entity/basic/BasicSkPrescribeItemCode.java +++ b/src/main/java/com/glxp/api/entity/basic/BasicSkPrescribeItemCode.java @@ -6,104 +6,116 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; + import java.io.Serializable; import java.util.Date; + +import lombok.AllArgsConstructor; +import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; /** - * 处方手动赋码表 - */ -@ApiModel(value="com-glxp-api-entity-basic-BasicSkPrescribeItemCode") + * 处方手动赋码表 + */ +@ApiModel(value = "com-glxp-api-entity-basic-BasicSkPrescribeItemCode") @Data +@Builder +@AllArgsConstructor +@NoArgsConstructor @TableName(value = "basic_sk_prescribe_item_code") public class BasicSkPrescribeItemCode implements Serializable { @TableId(value = "id", type = IdType.INPUT) - @ApiModelProperty(value="") + @ApiModelProperty(value = "") private Integer id; /** * 绑定UDI码 */ @TableField(value = "udiCode") - @ApiModelProperty(value="绑定UDI码") + @ApiModelProperty(value = "绑定UDI码") private String udiCode; /** * 收费项目编码 */ @TableField(value = "itemCode") - @ApiModelProperty(value="收费项目编码") + @ApiModelProperty(value = "收费项目编码") private String itemCode; /** * 收费项目名称 */ @TableField(value = "itemName") - @ApiModelProperty(value="收费项目名称") + @ApiModelProperty(value = "收费项目名称") private String itemName; /** * 物资字典ID */ @TableField(value = "relId") - @ApiModelProperty(value="物资字典ID") + @ApiModelProperty(value = "物资字典ID") private Long relId; /** * 最小销售产品标识 */ @TableField(value = "nameCode") - @ApiModelProperty(value="最小销售产品标识") + @ApiModelProperty(value = "最小销售产品标识") private String nameCode; /** * 患者编码 */ @TableField(value = "sickerCode") - @ApiModelProperty(value="患者编码") + @ApiModelProperty(value = "患者编码") private String sickerCode; /** * 处方编码 */ @TableField(value = "prescribeCode") - @ApiModelProperty(value="处方编码") + @ApiModelProperty(value = "处方编码") private String prescribeCode; /** * 备注 */ @TableField(value = "remark") - @ApiModelProperty(value="备注") + @ApiModelProperty(value = "备注") private String remark; /** * 创建时间 */ @TableField(value = "createTime") - @ApiModelProperty(value="创建时间") + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 创建人 */ @TableField(value = "`createUser`") - @ApiModelProperty(value="创建人") - private String createUser; + @ApiModelProperty(value = "创建人") + private Long createUser; /** * 更新时间 */ @TableField(value = "updateTime") - @ApiModelProperty(value="更新时间") + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 更新人 */ @TableField(value = "updateUser") - @ApiModelProperty(value="更新人") - private String updateUser; + @ApiModelProperty(value = "更新人") + private Long updateUser; + + @TableField(value = "scanCount") + @ApiModelProperty(value = "扫码数量") + private Integer scanCount; private static final long serialVersionUID = 1L; -} \ No newline at end of file +} diff --git a/src/main/java/com/glxp/api/entity/basic/UdiEntity.java b/src/main/java/com/glxp/api/entity/basic/UdiEntity.java index 6c7fd40e5..56ec2b0f7 100644 --- a/src/main/java/com/glxp/api/entity/basic/UdiEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/UdiEntity.java @@ -1,59 +1,23 @@ package com.glxp.api.entity.basic; import cn.hutool.core.util.StrUtil; +import lombok.Data; /** * @author 彭于晏 * @date 2020/9/22. */ +@Data public class UdiEntity { + + private String code; private String batchNo; private String produceDate; private String expireDate; private String serialNo; private String udi; - public String getBatchNo() { - return batchNo; - } - - public void setBatchNo(String batchNo) { - this.batchNo = batchNo; - } - - public String getProduceDate() { - return produceDate; - } - - public void setProduceDate(String produceDate) { - this.produceDate = produceDate; - } - - public String getExpireDate() { - return expireDate; - } - - public void setExpireDate(String expireDate) { - this.expireDate = expireDate; - } - - public String getSerialNo() { - return serialNo; - } - - public void setSerialNo(String serialNo) { - this.serialNo = serialNo; - } - - public String getUdi() { - return udi; - } - - public void setUdi(String udi) { - this.udi = udi; - } - @Override public String toString() { return "UdiEntity{" + diff --git a/src/main/java/com/glxp/api/entity/basic/UdiRelevanceEntity.java b/src/main/java/com/glxp/api/entity/basic/UdiRelevanceEntity.java index 4f0a8c29f..26829c5d3 100644 --- a/src/main/java/com/glxp/api/entity/basic/UdiRelevanceEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/UdiRelevanceEntity.java @@ -244,6 +244,13 @@ public class UdiRelevanceEntity { private Integer useLeverCount; + /** + * 是否拆零 + */ + @TableField(value = "splitEnable") + private Boolean splitEnable; + + /** * 收费项目编码 */ diff --git a/src/main/java/com/glxp/api/entity/inout/IoCodeEntity.java b/src/main/java/com/glxp/api/entity/inout/IoCodeEntity.java index 4b9ef193c..233be39fa 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoCodeEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoCodeEntity.java @@ -166,6 +166,11 @@ public class IoCodeEntity implements Serializable { @TableField(exist = false) private int scanCount; + /** + * 上货方式:1:拆零上货;2:整取上货 + */ + @TableField(value = "fifoSplit") + private Integer fifoSplit; @JsonIgnore public int getMyCount() { diff --git a/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java b/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java index 393b6cf28..1a820c83d 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java @@ -182,6 +182,12 @@ public class IoCodeTempEntity { @TableField(value = "productType") private Integer productType; + /** + * 上货方式:1:拆零上货;2:整取上货 + */ + @TableField(value = "fifoSplit") + private Integer fifoSplit; + public int getMyCount() { if (count == null) return 0; 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 7f8e6fd16..94582e295 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java @@ -329,5 +329,10 @@ public class IoOrderEntity { @TableField(value = "productType") private Integer productType; + /** + * 上货方式:1:拆零上货;2:整取上货 + */ + @TableField(value = "fifoSplit") + private Integer fifoSplit; } diff --git a/src/main/java/com/glxp/api/entity/inout/IoSplitFifoCodeEntity.java b/src/main/java/com/glxp/api/entity/inout/IoSplitFifoCodeEntity.java index 0654e9a70..fccce25bc 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoSplitFifoCodeEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoSplitFifoCodeEntity.java @@ -191,5 +191,11 @@ public class IoSplitFifoCodeEntity implements Serializable { @ApiModelProperty(value = "备注") private String remark; + /** + * 上货方式:1:拆零上货;2:整取上货 + */ + @TableField(value = "fifoSplit") + private Integer fifoSplit; + private static final long serialVersionUID = 1L; } diff --git a/src/main/java/com/glxp/api/req/basic/AddProductRequest.java b/src/main/java/com/glxp/api/req/basic/AddProductRequest.java index d301295b0..6d8f3ff23 100644 --- a/src/main/java/com/glxp/api/req/basic/AddProductRequest.java +++ b/src/main/java/com/glxp/api/req/basic/AddProductRequest.java @@ -271,6 +271,7 @@ public class AddProductRequest { private String useLevelDi; private String useLevelUnit; private Integer useLeverCount; + private Boolean splitEnable; /** * 收费编码 diff --git a/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java b/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java index 6cce467e0..2077485a4 100644 --- a/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java +++ b/src/main/java/com/glxp/api/req/basic/UdiRelevanceSaveRequest.java @@ -116,6 +116,7 @@ public class UdiRelevanceSaveRequest { private Boolean needCert; //是否需要资质材料 private String certIdFk; private Integer zdcfsycs; + private Boolean splitEnable; /** * 包装规格 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 ab21463eb..167b4241c 100644 --- a/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java +++ b/src/main/java/com/glxp/api/req/inout/AddOrderRequest.java @@ -46,4 +46,9 @@ public class AddOrderRequest { private String workPlaceCode; private Integer productType; + + /** + * 上货方式:1:拆零上货;2:整取上货 + */ + private Integer fifoSplit; } diff --git a/src/main/java/com/glxp/api/req/inout/IoSplitFifoCodeRequest.java b/src/main/java/com/glxp/api/req/inout/IoSplitFifoCodeRequest.java index 7da41148e..0c656be28 100644 --- a/src/main/java/com/glxp/api/req/inout/IoSplitFifoCodeRequest.java +++ b/src/main/java/com/glxp/api/req/inout/IoSplitFifoCodeRequest.java @@ -130,4 +130,6 @@ public class IoSplitFifoCodeRequest extends ListPageRequest { * 备注 */ private String remark; + + private Integer fifoSplit; } diff --git a/src/main/java/com/glxp/api/res/basic/BasicSkPrescribeResponse.java b/src/main/java/com/glxp/api/res/basic/BasicSkPrescribeResponse.java index c1e38b7f0..48ffd61b8 100644 --- a/src/main/java/com/glxp/api/res/basic/BasicSkPrescribeResponse.java +++ b/src/main/java/com/glxp/api/res/basic/BasicSkPrescribeResponse.java @@ -82,7 +82,10 @@ public class BasicSkPrescribeResponse { private String sickName; + private String clinicNumber; + private String workPlaceCode; + private String workPlaceName; /** * 处方明细 */ diff --git a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java index 1f576c845..e01fc848b 100644 --- a/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java +++ b/src/main/java/com/glxp/api/res/basic/UdiRelevanceResponse.java @@ -126,7 +126,7 @@ public class UdiRelevanceResponse { private boolean dispatch; //是否可配送 private boolean groupBuy; //是否集采产品 private boolean needCert; //是否需要资质材料 - + private Boolean splitEnable; private String classifyName; //物资分类名称 private Integer zdcfsycs; @@ -241,7 +241,6 @@ public class UdiRelevanceResponse { private String useLevelDi; private String useLevelUnit; private Integer useLeverCount; - private String payFeeCode; diff --git a/src/main/java/com/glxp/api/res/inout/IoSplitCodeResponse.java b/src/main/java/com/glxp/api/res/inout/IoSplitCodeResponse.java index 3240b574f..ca0ce5652 100644 --- a/src/main/java/com/glxp/api/res/inout/IoSplitCodeResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoSplitCodeResponse.java @@ -66,6 +66,8 @@ public class IoSplitCodeResponse { */ private Long supId; + private String supName; + /** * 部门编码 */ @@ -86,6 +88,8 @@ public class IoSplitCodeResponse { */ private String workPlaceCode; + private String workPlaceName; + /** * 1:耗材;2:药品 */ @@ -132,7 +136,7 @@ public class IoSplitCodeResponse { private String remark; private Integer groupCount; - + private Integer fifoSplit; //产品信息----------------------------start---------------------- private String cpmctymc; private String ggxh; diff --git a/src/main/java/com/glxp/api/service/basic/BasicSkPrescribeItemCodeService.java b/src/main/java/com/glxp/api/service/basic/BasicSkPrescribeItemCodeService.java index 9968bf389..e5eed1e83 100644 --- a/src/main/java/com/glxp/api/service/basic/BasicSkPrescribeItemCodeService.java +++ b/src/main/java/com/glxp/api/service/basic/BasicSkPrescribeItemCodeService.java @@ -1,12 +1,23 @@ package com.glxp.api.service.basic; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.springframework.stereotype.Service; + import javax.annotation.Resource; import java.util.List; + import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.glxp.api.entity.basic.BasicSkPrescribeItemCode; import com.glxp.api.dao.basic.BasicSkPrescribeItemCodeMapper; + @Service public class BasicSkPrescribeItemCodeService extends ServiceImpl { + @Resource + BasicSkPrescribeItemCodeMapper basicSkPrescribeItemCodeMapper; + + public BasicSkPrescribeItemCode findByCode(String prescribeCode, String code) { + return basicSkPrescribeItemCodeMapper.selectOne(new LambdaQueryWrapper().eq(BasicSkPrescribeItemCode::getPrescribeCode, prescribeCode) + .eq(BasicSkPrescribeItemCode::getUdiCode, code).last("limit 1")); + } } diff --git a/src/main/java/com/glxp/api/service/basic/UdiProductService.java b/src/main/java/com/glxp/api/service/basic/UdiProductService.java index 3f6cdf1a1..00d9f32ff 100644 --- a/src/main/java/com/glxp/api/service/basic/UdiProductService.java +++ b/src/main/java/com/glxp/api/service/basic/UdiProductService.java @@ -227,6 +227,7 @@ public class UdiProductService { udiRelevanceEntity.setIsUseDy(false); udiRelevanceEntity.setUuid(udiProductEntity.getUuid()); udiRelevanceEntity.setNeedCert(false); + udiRelevanceEntity.setSplitEnable(false); udiRelevanceEntity.setPurType(1); udiRelevanceEntity.setAttributeType(addProductRequest.getAttributeType()); udiRelevanceEntity.setHcType(addProductRequest.getHcType()); @@ -268,6 +269,7 @@ public class UdiProductService { //修改关联表 udiRelevanceEntity.setUseLeverCount(addProductRequest.getUseLeverCount()); + udiRelevanceEntity.setSplitEnable(addProductRequest.getSplitEnable()); udiRelevanceEntity.setUseLevelDi(addProductRequest.getUseLevelDi()); udiRelevanceEntity.setUseLevelUnit(addProductRequest.getUseLevelUnit()); udiRelevanceEntity.setDistributeLevelDi(addProductRequest.getDistributeLevelDi()); @@ -284,6 +286,7 @@ public class UdiProductService { udiRelevanceEntity.setIsUseDy(false); udiRelevanceEntity.setUuid(IdUtil.getSnowflakeNextId() + ""); udiRelevanceEntity.setNeedCert(false); + udiRelevanceEntity.setSplitEnable(false); udiRelevanceEntity.setPurType(1); udiRelevanceEntity.setProductsType(2); udiRelevanceEntity.setAttributeType(addProductRequest.getAttributeType()); 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 c57e5bb0d..825d1676d 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -1226,12 +1226,27 @@ public class IoCheckInoutService { List splitCodeEntities = new ArrayList<>(); if (CollUtil.isNotEmpty(codeList)) { for (IoCodeEntity codeEntity : codeList) { - IoSplitFifoCodeEntity splitCodeEntity = new IoSplitFifoCodeEntity(); - BeanUtils.copyProperties(codeEntity, splitCodeEntity); - splitCodeEntity.setInBactchNo(codeEntity.getInBatchNo()); - splitCodeEntity.setTotalCount(codeEntity.getReCount()); - splitCodeEntity.setId(null); - splitCodeEntities.add(splitCodeEntity); + IoSplitFifoCodeEntity ioSplitFifoCodeEntity = null; + if (StrUtil.isEmpty(codeEntity.getSerialNo())) { + ioSplitFifoCodeEntity = splitFifoCodeService.findByCode(codeEntity.getCode(), orderEntity.getWorkPlaceCode()); + } + if (ioSplitFifoCodeEntity != null) { + ioSplitFifoCodeEntity.setScanCount(IntUtil.value(ioSplitFifoCodeEntity.getScanCount()) + IntUtil.value(codeEntity.getCount())); + ioSplitFifoCodeEntity.setTotalCount(IntUtil.value(ioSplitFifoCodeEntity.getTotalCount()) + IntUtil.value(codeEntity.getReCount())); + ioSplitFifoCodeEntity.setUpdateTime(new Date()); + splitFifoCodeService.updateById(ioSplitFifoCodeEntity); + } else { + IoSplitFifoCodeEntity splitCodeEntity = new IoSplitFifoCodeEntity(); + BeanUtils.copyProperties(codeEntity, splitCodeEntity); + splitCodeEntity.setInBactchNo(codeEntity.getInBatchNo()); + splitCodeEntity.setScanCount(codeEntity.getCount()); + splitCodeEntity.setTotalCount(codeEntity.getReCount()); + splitCodeEntity.setSupId(Long.parseLong(codeEntity.getSupId())); + splitCodeEntity.setWorkPlaceCode(orderEntity.getWorkPlaceCode()); + splitCodeEntity.setFifoSplit(codeEntity.getFifoSplit()); + splitCodeEntity.setId(null); + splitCodeEntities.add(splitCodeEntity); + } } } splitFifoCodeService.saveBatch(splitCodeEntities); @@ -1241,14 +1256,21 @@ public class IoCheckInoutService { List splitCodeEntities = new ArrayList<>(); if (CollUtil.isNotEmpty(codeList)) { for (IoCodeEntity codeEntity : codeList) { - IoSplitFifoCodeEntity splitCodeEntity = new IoSplitFifoCodeEntity(); - BeanUtils.copyProperties(codeEntity, splitCodeEntity); - splitCodeEntity.setInBactchNo(codeEntity.getInBatchNo()); - splitCodeEntity.setTotalCount(codeEntity.getReCount()); - splitCodeEntity.setId(null); + IoSplitFifoCodeEntity ioSplitFifoCodeEntity = null; + ioSplitFifoCodeEntity = splitFifoCodeService.findByCode(codeEntity.getCode(), orderEntity.getWorkPlaceCode()); + if (StrUtil.isEmpty(codeEntity.getSerialNo())) { + if (ioSplitFifoCodeEntity != null) { + ioSplitFifoCodeEntity.setScanCount(IntUtil.value(ioSplitFifoCodeEntity.getScanCount()) - IntUtil.value(codeEntity.getCount())); + ioSplitFifoCodeEntity.setTotalCount(IntUtil.value(ioSplitFifoCodeEntity.getTotalCount()) - IntUtil.value(codeEntity.getReCount())); + ioSplitFifoCodeEntity.setUpdateTime(new Date()); + splitFifoCodeService.updateById(ioSplitFifoCodeEntity); + } + } else { + splitCodeEntities.add(ioSplitFifoCodeEntity); + } } } - splitFifoCodeService.saveBatch(splitCodeEntities); + splitFifoCodeService.removeBatchByIds(splitCodeEntities); } } } else { diff --git a/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java b/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java index ec2de9e2f..f8a0ec79d 100644 --- a/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java +++ b/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java @@ -59,9 +59,9 @@ public class IoSplitCodeService extends ServiceImpl basicSkPrescribeDiEntities = basicSkPrescribeDiService.findByPrescribe(basicSkPrescribeEntity.getAdNum()); //处方赋码状态 1:未赋码,2:部分赋码,3:全部赋码 @@ -131,6 +131,14 @@ public class IoSplitCodeService extends ServiceImpl filterGroupList(IoSplitFifoCodeRequest splitFifoCodeRequest) { + if (splitFifoCodeRequest == null) { + return Collections.emptyList(); + } + if (splitFifoCodeRequest.getPage() != null) { + int offset = (splitFifoCodeRequest.getPage() - 1) * splitFifoCodeRequest.getLimit(); + PageHelper.offsetPage(offset, splitFifoCodeRequest.getLimit()); + } + return super.baseMapper.filterGroupList(splitFifoCodeRequest); + + } + public List filterList(IoSplitFifoCodeRequest splitFifoCodeRequest) { if (splitFifoCodeRequest == null) { return Collections.emptyList(); @@ -41,4 +53,14 @@ public class IoSplitFifoCodeService extends ServiceImpl() + .eq(IoSplitFifoCodeEntity::getCode, code) + .eq(StrUtil.isNotEmpty(workPlaceCode), IoSplitFifoCodeEntity::getWorkPlaceCode, workPlaceCode) + .last("limit 1") + ); + } + + } diff --git a/src/main/java/com/glxp/api/service/sync/WebSocketComponent.java b/src/main/java/com/glxp/api/service/sync/WebSocketComponent.java index 2f0319c95..b9cc2973f 100644 --- a/src/main/java/com/glxp/api/service/sync/WebSocketComponent.java +++ b/src/main/java/com/glxp/api/service/sync/WebSocketComponent.java @@ -62,7 +62,7 @@ public class WebSocketComponent implements CommandLineRunner { initConnect(client); //等待服务端响应 while (!client.getReadyState().equals(ReadyState.OPEN)) { - log.info("连接中···请稍后"); +// log.info("连接中···请稍后"); Thread.sleep(1000); } //等待WebSocket服务端响应 @@ -94,9 +94,9 @@ public class WebSocketComponent implements CommandLineRunner { } catch (URISyntaxException e) { - e.printStackTrace(); +// e.printStackTrace(); } catch (InterruptedException e) { - e.printStackTrace(); +// e.printStackTrace(); } }); @@ -111,7 +111,7 @@ public class WebSocketComponent implements CommandLineRunner { log.info("重新建立连接"); client.connect(); while (!client.getReadyState().equals(ReadyState.OPEN)) { - log.info("连接中···请稍后"); +// log.info("连接中···请稍后"); try { Thread.sleep(3000); } catch (InterruptedException e) { diff --git a/src/main/resources/mybatis/mapper/basic/BasicSkPrescribeMapper.xml b/src/main/resources/mybatis/mapper/basic/BasicSkPrescribeMapper.xml index e2805c009..7c6b5abb5 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicSkPrescribeMapper.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicSkPrescribeMapper.xml @@ -1,12 +1,12 @@ - select basic_udirel.*, - basic_products.id as PRId, + basic_products.id as PRId, basic_products.originUuid, basic_products.nameCode, basic_products.deviceRecordKey, @@ -347,9 +347,9 @@ basic_products.medicareType, basic_products.price as productPrice, company_product_relevance.unitFk, - basic_corp.erpId as customerId, - basic_corp.name companyName, - th.hsmc hslbName + basic_corp.erpId as customerId, + basic_corp.name companyName, + th.hsmc hslbName FROM basic_udirel inner JOIN basic_products ON basic_products.uuid = basic_udirel.uuid @@ -649,7 +649,7 @@ AND udplatCode = #{udplatCode} - AND basic_products.zczbhhzbapzbh LIKE concat('%',#{zczbhhzbapzbh}, '%') + AND basic_products.zczbhhzbapzbh LIKE concat('%', #{zczbhhzbapzbh}, '%') AND diType = #{diType} @@ -1271,74 +1271,74 @@ replace - INTO basic_udirel - (id, uuid, mainId, thirdId, thirdId1, thirdId2, thirdId3, thirdId4, udplatCode, isUseDy, isDisable, - isLock, - lockStatus, isAdavence, purType, attributeType, hcType, useMuti, useNum, supName, createTime, - updateTime, modifyTime, - createUser, - updateUser, - remark, useExpireTime, dispatch,payFeeCode, groupBuy, needCert) + INTO basic_udirel + (id, uuid, mainId, thirdId, thirdId1, thirdId2, thirdId3, thirdId4, udplatCode, isUseDy, isDisable, + isLock, + lockStatus, isAdavence, purType, attributeType, hcType, useMuti, useNum, supName, createTime, + updateTime, modifyTime, + createUser, + updateUser, + remark, useExpireTime, dispatch, payFeeCode, groupBuy, needCert, splitEnable) values (#{id}, - #{uuid}, - #{mainId}, - #{thirdId}, - #{thirdId1}, - #{thirdId2}, - #{thirdId3}, - #{thirdId4}, - #{udplatCode}, - #{isUseDy}, - #{isDisable}, - #{isLock}, - #{lockStatus}, - #{isAdavence}, #{purType}, #{attributeType}, #{hcType}, - #{useMuti}, - #{useNum}, - #{supName}, - #{createTime}, - #{updateTime}, - #{modifyTime}, - #{createUser}, - #{updateUser}, - #{remark}, #{useExpireTime}, #{dispatch},#{payFeeCode}, #{groupBuy}, #{needCert}) + #{uuid}, + #{mainId}, + #{thirdId}, + #{thirdId1}, + #{thirdId2}, + #{thirdId3}, + #{thirdId4}, + #{udplatCode}, + #{isUseDy}, + #{isDisable}, + #{isLock}, + #{lockStatus}, + #{isAdavence}, #{purType}, #{attributeType}, #{hcType}, + #{useMuti}, + #{useNum}, + #{supName}, + #{createTime}, + #{updateTime}, + #{modifyTime}, + #{createUser}, + #{updateUser}, + #{remark}, #{useExpireTime}, #{dispatch}, #{payFeeCode}, #{groupBuy}, #{needCert}, #{splitEnable}) insert - ignore + ignore INTO basic_udirel - (id, uuid, mainId, thirdId, thirdId1, thirdId2, thirdId3, thirdId4, udplatCode, isUseDy, isDisable, - isLock, - lockStatus, isAdavence, purType, attributeType, hcType, useMuti, useNum, supName, createTime, - updateTime, modifyTime, - createUser, - updateUser, - remark, useExpireTime, dispatch, groupBuy, needCert) + (id, uuid, mainId, thirdId, thirdId1, thirdId2, thirdId3, thirdId4, udplatCode, isUseDy, isDisable, + isLock, + lockStatus, isAdavence, purType, attributeType, hcType, useMuti, useNum, supName, createTime, + updateTime, modifyTime, + createUser, + updateUser, + remark, useExpireTime, dispatch, groupBuy, needCert, splitEnable) values (#{id}, - #{uuid}, - #{mainId}, - #{thirdId}, - #{thirdId1}, - #{thirdId2}, - #{thirdId3}, - #{thirdId4}, - #{udplatCode}, - #{isUseDy}, - #{isDisable}, - #{isLock}, - #{lockStatus}, - #{isAdavence}, #{purType}, #{attributeType}, #{hcType}, - #{useMuti}, - #{useNum}, - #{supName}, - #{createTime}, - #{updateTime}, - #{modifyTime}, - #{createUser}, - #{updateUser}, - #{remark}, #{useExpireTime}, #{dispatch}, #{groupBuy}, #{needCert}) + #{uuid}, + #{mainId}, + #{thirdId}, + #{thirdId1}, + #{thirdId2}, + #{thirdId3}, + #{thirdId4}, + #{udplatCode}, + #{isUseDy}, + #{isDisable}, + #{isLock}, + #{lockStatus}, + #{isAdavence}, #{purType}, #{attributeType}, #{hcType}, + #{useMuti}, + #{useNum}, + #{supName}, + #{createTime}, + #{updateTime}, + #{modifyTime}, + #{createUser}, + #{updateUser}, + #{remark}, #{useExpireTime}, #{dispatch}, #{groupBuy}, #{needCert}, #{splitEnable}) @@ -1469,6 +1469,9 @@ payFeeCode=#{payFeeCode}, + + splitEnable=#{splitEnable}, + WHERE id = #{id} @@ -1498,7 +1501,7 @@ modifyTime, createUser, updateUser, - remark, useExpireTime, dispatch, groupBuy, needCert) + remark, useExpireTime, dispatch, groupBuy, needCert,splitEnable) values @@ -1524,7 +1527,8 @@ #{item.modifyTime}, #{item.createUser}, #{item.updateUser}, - #{item.remark}, #{item.useExpireTime}, #{item.dispatch}, #{item.groupBuy}, #{item.needCert}) + #{item.remark}, #{item.useExpireTime}, #{item.dispatch}, #{item.groupBuy}, + #{item.needCert},#{item.splitEnable}) diff --git a/src/main/resources/mybatis/mapper/inout/IoSplitFifoCodeMapper.xml b/src/main/resources/mybatis/mapper/inout/IoSplitFifoCodeMapper.xml index 4730cd2db..9c528432f 100644 --- a/src/main/resources/mybatis/mapper/inout/IoSplitFifoCodeMapper.xml +++ b/src/main/resources/mybatis/mapper/inout/IoSplitFifoCodeMapper.xml @@ -1,7 +1,7 @@ - + + + diff --git a/src/main/resources/schemas/schema_v2.1.sql b/src/main/resources/schemas/schema_v2.1.sql index a1bab0333..a23792c24 100644 --- a/src/main/resources/schemas/schema_v2.1.sql +++ b/src/main/resources/schemas/schema_v2.1.sql @@ -67,9 +67,9 @@ CALL Pro_Temp_ColumnWork('basic_udirel', 'dispatch', 'tinyint', 1); CALL Pro_Temp_ColumnWork('basic_udirel', 'groupBuy', 'tinyint', 1); CALL Pro_Temp_ColumnWork('basic_udirel', 'isDateBy', 'tinyint', 1); CALL Pro_Temp_ColumnWork('basic_udirel', 'needCert', 'tinyint', 1); +CALL Pro_Temp_ColumnWork('basic_udirel', 'splitEnable', 'tinyint', 1); CALL Pro_Temp_ColumnWork('basic_udirel', 'certIdFk', 'varchar(255)', 1); - CALL Pro_Temp_ColumnWork('basic_products', 'allowNoSerial', 'tinyint', 1); diff --git a/src/main/resources/schemas/schema_v2.4.sql b/src/main/resources/schemas/schema_v2.4.sql index a392533ae..1d661940e 100644 --- a/src/main/resources/schemas/schema_v2.4.sql +++ b/src/main/resources/schemas/schema_v2.4.sql @@ -4147,3 +4147,16 @@ CALL Pro_Temp_ColumnWork('basic_sk_prescribe', 'id', CALL Pro_Temp_ColumnWork('basic_products', 'cphhhbh', 'varchar(255)', 1); +CALL Pro_Temp_ColumnWork('basic_udirel', 'splitEnable', 'tinyint', 1); +CALL Pro_Temp_ColumnWork('io_order', 'fifoSplit', + ' tinyint NULL DEFAULT NULL COMMENT ''上货方式:1:拆零上货;2:整取上货''', + 1); +CALL Pro_Temp_ColumnWork('io_code', 'fifoSplit', + ' tinyint NULL DEFAULT NULL COMMENT ''上货方式:1:拆零上货;2:整取上货''', + 1); +CALL Pro_Temp_ColumnWork('io_code_temp', 'fifoSplit', + ' tinyint NULL DEFAULT NULL COMMENT ''上货方式:1:拆零上货;2:整取上货''', + 1); +CALL Pro_Temp_ColumnWork('io_split_fifo_code', 'fifoSplit', + ' tinyint NULL DEFAULT NULL COMMENT ''上货方式:1:拆零上货;2:整取上货''', + 1);