diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeAutoController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeAutoController.java new file mode 100644 index 000000000..a0957c7af --- /dev/null +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeAutoController.java @@ -0,0 +1,95 @@ +package com.glxp.api.controller.collect; + +import com.github.pagehelper.PageInfo; +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.inout.IoSplitCodeEntity; +import com.glxp.api.req.collect.CollectOrderCodeAutoRequest; +import com.glxp.api.req.inout.IoSplitCodeRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.collect.CollectOrderCodeAutoResponse; +import com.glxp.api.service.collect.IoCollectOrderCodeAutoService; +import com.glxp.api.service.inout.IoSplitCodeService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 自动赋码 + */ +@Slf4j +@RestController +public class IoCollectOrderCodeAutoController extends BaseController { + + + @Resource + IoSplitCodeService splitCodeService; + @Resource + IoCollectOrderCodeAutoService collectOrderCodeAutoService; + + + /** + * 器械拆零按码查询 + * + * @return + */ + @GetMapping("/udiwms/ioSplit/collect/code/filter") + public BaseResponse filterByCode(IoSplitCodeRequest splitCodeRequest, + BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List splitCodeEntities = splitCodeService.filterList(splitCodeRequest); + PageInfo pageInfo = new PageInfo<>(splitCodeEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(splitCodeEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + /** + * 器械拆零按单查询赋码明细 + * + * @return + */ + @GetMapping("/udiwms/ioSplit/collect/order/filter") + public BaseResponse filterByBillNo(CollectOrderCodeAutoRequest collectOrderCodeAutoRequest, + BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List collectOrderCodeAutoResponses = collectOrderCodeAutoService.filterList(collectOrderCodeAutoRequest); + PageInfo pageInfo = new PageInfo<>(collectOrderCodeAutoResponses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(collectOrderCodeAutoResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + + /** + * 器械拆零按扫码查询处方赋码明细 + * + * @return + */ + @GetMapping("/udiwms/ioSplit/collect/code/filter") + public BaseResponse filterByTagCode(CollectOrderCodeAutoRequest collectOrderCodeAutoRequest, + BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List collectOrderCodeAutoResponses = collectOrderCodeAutoService.filterList(collectOrderCodeAutoRequest); + PageInfo pageInfo = new PageInfo<>(collectOrderCodeAutoResponses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(collectOrderCodeAutoResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + + +} diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeManController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeManController.java new file mode 100644 index 000000000..46d21b751 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderCodeManController.java @@ -0,0 +1,159 @@ +package com.glxp.api.controller.collect; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageInfo; +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.UdiEntity; +import com.glxp.api.entity.collect.IoCollectOrder; +import com.glxp.api.entity.collect.IoCollectOrderBiz; +import com.glxp.api.entity.collect.IoCollectOrderCodeMan; +import com.glxp.api.req.collect.CollectOrderCodeManRequest; +import com.glxp.api.req.inout.AddTagCodeReqeust; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.res.collect.CollectOrderCodeManResponse; +import com.glxp.api.service.basic.UdiRelevanceService; +import com.glxp.api.service.collect.IoCollectOrderBizService; +import com.glxp.api.service.collect.IoCollectOrderCodeManService; +import com.glxp.api.service.collect.IoCollectOrderService; +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; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +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.validation.Valid; +import java.util.Date; +import java.util.List; + +@Slf4j +@RestController +public class IoCollectOrderCodeManController extends BaseController { + + + @Resource + IoCollectOrderService collectOrderService; + @Resource + IoCollectOrderCodeManService collectOrderCodeManService; + @Resource + IoCollectOrderBizService collectOrderBizService; + + + @Resource + UdiRelevanceService udiRelevanceService; + @Resource + IoSplitFifoCodeService splitFifoCodeService; + + + /** + * 器械拆零处方赋码明细 + * + * @return + */ + @GetMapping("/udiwms/ioSplit/collect/manual/code/list") + public BaseResponse manuCodeList(CollectOrderCodeManRequest collectOrderCodeManRequest, + BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List collectOrderCodeManResponses = collectOrderCodeManService.filterList(collectOrderCodeManRequest); + PageInfo pageInfo = new PageInfo<>(collectOrderCodeManResponses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(collectOrderCodeManResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + + + /** + * 器械拆零处方赋码(手动赋码) + * + * @return + */ + @PostMapping("/udiwms/ioSplit/collect/order/tagCode") + public BaseResponse prescribeTagCode(@RequestBody @Valid AddTagCodeReqeust addTagCodeReqeust, + BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + IoCollectOrder collectOrder = collectOrderService.getByBillNo(addTagCodeReqeust.getBillNo()); + if (collectOrder == null) + return ResultVOUtils.error(500, "单据不存在!"); + //1.校验UDI码完整性 + String code = addTagCodeReqeust.getCode(); + if (StringUtils.isBlank(code)) return ResultVOUtils.error(ResultEnum.DATA_ERROR); + if (code.endsWith("\u001D")) { + code = code.replace("\u001D", ""); + } + 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 collectOrderBizs = collectOrderBizService.listByBillNo(addTagCodeReqeust.getBillNo()); + IoCollectOrderBiz collectOrderBiz = vailPrescribeProduct(udiRelevanceResponses, collectOrderBizs, udiEntity); + if (collectOrderBiz == null) + return ResultVOUtils.error(500, "非此单据UDI码!"); + + //3.校验该UDI码是否已经出库(是否在预出库队列) + Boolean b1 = splitFifoCodeService.isExitCode(code, collectOrder.getWorkPlaceCode()); + if (!b1) { + return ResultVOUtils.error(500, "该UDI码未出库,无法使用!"); + } + //4. + IoCollectOrderCodeMan exitCode = collectOrderCodeManService.findByCode(collectOrderBiz.getOrderIdFk(), code); + if (StrUtil.isEmpty(udiEntity.getSerialNo()) && exitCode != null) { + exitCode.setScanCount(IntUtil.value(exitCode.getScanCount()) + 1); + collectOrderCodeManService.updateById(exitCode); + } else if (StrUtil.isNotEmpty(udiEntity.getSerialNo()) && exitCode != null) { + return ResultVOUtils.error(500, "重复扫码!"); + } else { + IoCollectOrderCodeMan collectOrderCodeMan = + IoCollectOrderCodeMan.builder() + .udiCode(code) + .relId(collectOrderBiz.getRelId()) + .nameCode(udiRelevanceResponse.getNameCode()) + .createTime(new Date()) + .createUser(getUserId()) + .updateTime(new Date()) + .updateUser(getUserId()) + .scanCount(1) + .build(); + collectOrderCodeManService.save(collectOrderCodeMan); + } + return ResultVOUtils.success("赋码成功"); + } + + + public IoCollectOrderBiz vailPrescribeProduct(List udiRelevanceResponses, List collectOrderBizs, UdiEntity udiEntity) { + for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) { + for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) { + if (udiRelevanceResponse.getId().equals(collectOrderBiz) && + (StrUtil.isNotEmpty(collectOrderBiz.getBatchNo()) && collectOrderBiz.getBatchNo().equals(udiEntity.getBatchNo())) + ) { + return collectOrderBiz; + } + + } + } + return null; + } + + +} diff --git a/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java new file mode 100644 index 000000000..ff4070722 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/collect/IoCollectOrderController.java @@ -0,0 +1,100 @@ +package com.glxp.api.controller.collect; + +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.github.pagehelper.PageInfo; +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.collect.IoCollectOrder; +import com.glxp.api.req.collect.CollectOrderBindWorkRequest; +import com.glxp.api.req.collect.CollectOrderBizRequest; +import com.glxp.api.req.collect.CollectOrderRequest; +import com.glxp.api.req.collect.CollectOrderSaveRequest; +import com.glxp.api.req.system.DeleteRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.collect.CollectOrderBizResponse; +import com.glxp.api.res.collect.IoCollectOrderResponse; +import com.glxp.api.service.collect.IoCollectOrderBizService; +import com.glxp.api.service.collect.IoCollectOrderService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import javax.annotation.Resource; +import java.util.List; + +@Controller +public class IoCollectOrderController extends BaseController { + + @Resource + IoCollectOrderService collectOrderService; + + @Resource + IoCollectOrderBizService collectOrderBizService; + + @GetMapping("/udiwms/basic/collect/order/filter") + public BaseResponse filterOrder(CollectOrderRequest collectOrderRequest) { + List orderResponses = collectOrderService.filterList(collectOrderRequest); + PageInfo pageInfo = new PageInfo<>(orderResponses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(orderResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + + @GetMapping("/udiwms/basic/collect/order/detail") + public BaseResponse detail(CollectOrderBizRequest collectOrderBizRequest) { + if (StrUtil.isBlank(collectOrderBizRequest.getOrderIdFk())) { + return ResultVOUtils.error(500, "单据号不能为空"); + } + IoCollectOrder collectOrder = collectOrderService.getByBillNo(collectOrderBizRequest.getOrderIdFk()); + if (collectOrder == null) { + return ResultVOUtils.error(500, "未找到单据"); + } + List list = collectOrderBizService.filterList(collectOrderBizRequest); + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(list); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @PostMapping("/udiwms/basic/collect/order/deleteOrder") + public BaseResponse deleteOrder(@RequestBody DeleteRequest deleteRequest) { + String billNo = deleteRequest.getBillNo(); + if (StrUtil.isBlank(billNo)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + collectOrderService.remove(new LambdaQueryWrapper().eq(IoCollectOrder::getBillNo, billNo)); + return ResultVOUtils.success(); + } + + /** + * 保存前端处方信息 + * + * @return + */ + @GetMapping("/udiwms/basic/collect/order/save") + public BaseResponse saveOrder(@RequestBody CollectOrderSaveRequest collectOrderSaveRequest) { + List list = collectOrderSaveRequest.getList(); + collectOrderService.saveOrUpdateBatch(list); + return ResultVOUtils.success(); + } + + + @PostMapping("/udiwms/basic/collect/order/bindWork") + public BaseResponse bindWork(@RequestBody CollectOrderBindWorkRequest bindWorkRequest) { + + for (IoCollectOrder collectOrder : bindWorkRequest.getList()) { + collectOrder.setWorkPlaceCode(bindWorkRequest.getWorkplaceCode()); + } + collectOrderService.updateBatchById(bindWorkRequest.getList()); + return ResultVOUtils.success("绑定成功"); + } + + +} 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 af3166b7f..b3b356427 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -93,6 +93,8 @@ public class IoCodeTempController extends BaseController { IoOrderDetailCodeService ioOrderDetailCodeService; @Resource IoCheckInvService checkInvService; + @Resource + IoSplitFifoCodeService splitFifoCodeService; /** * PDA-----单据上传 @@ -870,7 +872,14 @@ public class IoCodeTempController extends BaseController { //预出库退货校验队列库存 if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_RETURN)) { - //TODO + IoSplitFifoCodeEntity ioSplitFifoCodeEntity = splitFifoCodeService.findByCode(codeEnttity.getCode(), orderEntity.getWorkPlaceCode()); + if (ioSplitFifoCodeEntity == null) + return ResultVOUtils.error(500, "当前工位库存库存不足"); + + if (ioSplitFifoCodeEntity.getScanCount() < codeEnttity.getCount()) { + return ResultVOUtils.error(500, "当前工位库存库存不足"); + } + } diff --git a/src/main/java/com/glxp/api/dao/collect/IoCollectCodeMapper.java b/src/main/java/com/glxp/api/dao/collect/IoCollectCodeMapper.java new file mode 100644 index 000000000..7ef63a63e --- /dev/null +++ b/src/main/java/com/glxp/api/dao/collect/IoCollectCodeMapper.java @@ -0,0 +1,9 @@ +package com.glxp.api.dao.collect; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.entity.collect.IoCollectCode; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface IoCollectCodeMapper extends BaseMapper { +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/dao/collect/IoCollectOrderBizMapper.java b/src/main/java/com/glxp/api/dao/collect/IoCollectOrderBizMapper.java new file mode 100644 index 000000000..e30d2cafa --- /dev/null +++ b/src/main/java/com/glxp/api/dao/collect/IoCollectOrderBizMapper.java @@ -0,0 +1,16 @@ +package com.glxp.api.dao.collect; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.entity.collect.IoCollectOrderBiz; +import com.glxp.api.req.collect.CollectOrderBizRequest; +import com.glxp.api.res.collect.CollectOrderBizResponse; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface IoCollectOrderBizMapper extends BaseMapper { + + List filterList(CollectOrderBizRequest collectOrderRequest); + +} diff --git a/src/main/java/com/glxp/api/dao/collect/IoCollectOrderCodeAutoMapper.java b/src/main/java/com/glxp/api/dao/collect/IoCollectOrderCodeAutoMapper.java new file mode 100644 index 000000000..a3eb04b4f --- /dev/null +++ b/src/main/java/com/glxp/api/dao/collect/IoCollectOrderCodeAutoMapper.java @@ -0,0 +1,16 @@ +package com.glxp.api.dao.collect; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.entity.collect.IoCollectOrderCodeAuto; +import com.glxp.api.req.collect.CollectOrderCodeAutoRequest; +import com.glxp.api.res.collect.CollectOrderCodeAutoResponse; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface IoCollectOrderCodeAutoMapper extends BaseMapper { + + List filterList(CollectOrderCodeAutoRequest collectOrderCodeAutoRequest); + +} diff --git a/src/main/java/com/glxp/api/dao/collect/IoCollectOrderCodeManMapper.java b/src/main/java/com/glxp/api/dao/collect/IoCollectOrderCodeManMapper.java new file mode 100644 index 000000000..0133e5ba2 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/collect/IoCollectOrderCodeManMapper.java @@ -0,0 +1,17 @@ +package com.glxp.api.dao.collect; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.entity.collect.IoCollectOrderCodeMan; +import com.glxp.api.req.collect.CollectOrderCodeManRequest; +import com.glxp.api.res.collect.CollectOrderCodeAutoResponse; +import com.glxp.api.res.collect.CollectOrderCodeManResponse; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface IoCollectOrderCodeManMapper extends BaseMapper { + + List filterList(CollectOrderCodeManRequest collectOrderCodeManRequest); + +} diff --git a/src/main/java/com/glxp/api/dao/collect/IoCollectOrderMapper.java b/src/main/java/com/glxp/api/dao/collect/IoCollectOrderMapper.java new file mode 100644 index 000000000..a1ed11dbd --- /dev/null +++ b/src/main/java/com/glxp/api/dao/collect/IoCollectOrderMapper.java @@ -0,0 +1,16 @@ +package com.glxp.api.dao.collect; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.entity.collect.IoCollectOrder; +import com.glxp.api.req.collect.CollectOrderRequest; +import com.glxp.api.res.collect.IoCollectOrderResponse; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface IoCollectOrderMapper extends BaseMapper { + + List filterList(CollectOrderRequest collectOrderRequest); + +} diff --git a/src/main/java/com/glxp/api/entity/basic/BasicSkPrescribeItemEntity.java b/src/main/java/com/glxp/api/entity/basic/BasicSkPrescribeItemEntity.java index 14233122f..31da14fc6 100644 --- a/src/main/java/com/glxp/api/entity/basic/BasicSkPrescribeItemEntity.java +++ b/src/main/java/com/glxp/api/entity/basic/BasicSkPrescribeItemEntity.java @@ -25,6 +25,9 @@ public class BasicSkPrescribeItemEntity implements Serializable { @TableId(value = "id") private Long id; + + + /** * 第三方id */ diff --git a/src/main/java/com/glxp/api/entity/collect/IoCollectCode.java b/src/main/java/com/glxp/api/entity/collect/IoCollectCode.java new file mode 100644 index 000000000..52c7c7050 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/collect/IoCollectCode.java @@ -0,0 +1,106 @@ +package com.glxp.api.entity.collect; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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.Data; + +@ApiModel(value="com-glxp-api-entity-collect-IoCollectCode") +@Data +@TableName(value = "io_collect_code") +public class IoCollectCode implements Serializable { + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value="") + private Integer id; + + /** + * 追溯码(UDI.药品) + */ + @TableField(value = "code") + @ApiModelProperty(value="追溯码(UDI.药品)") + private String code; + + /** + * 单据来源 + */ + @TableField(value = "fromType") + @ApiModelProperty(value="单据来源") + private String fromType; + + /** + * 单据类型 + */ + @TableField(value = "busType") + @ApiModelProperty(value="单据类型") + private String busType; + + /** + * 单据号 + */ + @TableField(value = "billNo") + @ApiModelProperty(value="单据号") + private Integer billNo; + + /** + * 往来单位 + */ + @TableField(value = "fromCorp") + @ApiModelProperty(value="往来单位") + private String fromCorp; + + /** + * 操作时间 + */ + @TableField(value = "operTime") + @ApiModelProperty(value="操作时间") + private Date operTime; + + /** + * 操作人 + */ + @TableField(value = "operUser") + @ApiModelProperty(value="操作人") + private String operUser; + + /** + * 采集点 + */ + @TableField(value = "collectCode") + @ApiModelProperty(value="采集点") + private String collectCode; + + /** + * 采集点负责人 + */ + @TableField(value = "collectUser") + @ApiModelProperty(value="采集点负责人") + private String collectUser; + + /** + * 工位 + */ + @TableField(value = "workPlaceCode") + @ApiModelProperty(value="工位") + private String workPlaceCode; + + /** + * 工位负责人 + */ + @TableField(value = "workPlaceUser") + @ApiModelProperty(value="工位负责人") + private String workPlaceUser; + + /** + * 备注 + */ + @TableField(value = "remark") + @ApiModelProperty(value="备注") + private String remark; + + private static final long serialVersionUID = 1L; +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/collect/IoCollectOrder.java b/src/main/java/com/glxp/api/entity/collect/IoCollectOrder.java new file mode 100644 index 000000000..4968288c6 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/collect/IoCollectOrder.java @@ -0,0 +1,137 @@ +package com.glxp.api.entity.collect; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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.Data; + +/** + * 采集点单据主表 + */ +@ApiModel(value = "com-glxp-api-entity-collect-IoCollectOrder") +@Data +@TableName(value = "io_collect_order") +public class IoCollectOrder implements Serializable { + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value = "") + private Integer id; + + /** + * 单据号 + */ + @TableField(value = "billNo") + @ApiModelProperty(value = "单据号") + private String billNo; + + /** + * 单据类型 + */ + @TableField(value = "busType") + @ApiModelProperty(value = "单据类型") + private String busType; + + /** + * 来源业务 + */ + @TableField(value = "fromType") + @ApiModelProperty(value = "来源业务") + private String fromType; + + /** + * 来源业务说明 + */ + @TableField(value = "fromTypeDesc") + @ApiModelProperty(value = "来源业务说明") + private String fromTypeDesc; + + /** + * 往来信息 + */ + @TableField(value = "fromCorp") + @ApiModelProperty(value = "往来信息") + private String fromCorp; + + /** + * 单据时间 + */ + @TableField(value = "billTime") + @ApiModelProperty(value = "单据时间") + private Date billTime; + + /** + * 创建时间 + */ + @TableField(value = "createTime") + @ApiModelProperty(value = "创建时间") + private Date createTime; + + /** + * 采集时间 + */ + @TableField(value = "collectTime") + @ApiModelProperty(value = "采集时间") + private Date collectTime; + + /** + * 采集点编码 + */ + @TableField(value = "collectCode") + @ApiModelProperty(value = "采集点编码") + private String collectCode; + + /** + * 工位编码 + */ + @TableField(value = "workPlaceCode") + @ApiModelProperty(value = "工位编码") + private String workPlaceCode; + + /** + * 备注 + */ + @TableField(value = "remark") + @ApiModelProperty(value = "备注") + private String remark; + + /** + * 创建人 + */ + @TableField(value = "`createUser`") + @ApiModelProperty(value = "创建人") + private String createUser; + + /** + * 更新时间 + */ + @TableField(value = "updateTime") + @ApiModelProperty(value = "更新时间") + private Date updateTime; + + /** + * 更新人 + */ + @TableField(value = "updateUser") + @ApiModelProperty(value = "更新人") + private String updateUser; + /** + * 处方赋码状态 1:未赋码;2:赋码中;3:已赋码 + */ + @TableField(value = "tagStatus") + private Integer tagStatus; + + /** + * 处方赋码信息 + */ + @TableField(value = "tagMsg") + private String tagMsg; + + + private static final long serialVersionUID = 1L; +} diff --git a/src/main/java/com/glxp/api/entity/collect/IoCollectOrderBiz.java b/src/main/java/com/glxp/api/entity/collect/IoCollectOrderBiz.java new file mode 100644 index 000000000..dc1940ab4 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/collect/IoCollectOrderBiz.java @@ -0,0 +1,175 @@ +package com.glxp.api.entity.collect; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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.Data; + +/** + * 采集点单据详情 + */ +@ApiModel(value = "com-glxp-api-entity-collect-IoCollectOrderBiz") +@Data +@TableName(value = "io_collect_order_biz") +public class IoCollectOrderBiz implements Serializable { + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value = "") + private Integer id; + /** + * 单据号外键 + */ + @TableField(value = "orderIdFk") + private String orderIdFk; + + + /** + * 耗材字典ID + */ + @TableField(value = "relId") + @ApiModelProperty(value = "耗材字典ID") + private Long relId; + + + /** + * 院内编码(第三方编码) + */ + @TableField(value = "thrCode") + @ApiModelProperty(value = "院内编码(第三方编码)") + private String thrCode; + + /** + * 医保编码 + */ + @TableField(value = "ybbm") + @ApiModelProperty(value = "医保编码") + private String ybbm; + + /** + * 收费编码 + */ + @TableField(value = "payFeeCode") + @ApiModelProperty(value = "收费编码") + private String payFeeCode; + + /** + * 产品通用名称 + */ + @TableField(value = "cpmctymc") + @ApiModelProperty(value = "产品通用名称") + private String cpmctymc; + + /** + * 产品标识 + */ + @TableField(value = "nameCode") + @ApiModelProperty(value = "产品标识") + private String nameCode; + + /** + * 规格型号 + */ + @TableField(value = "ggxh") + @ApiModelProperty(value = "规格型号") + private String ggxh; + + /** + * 批次号 + */ + @TableField(value = "batchNo") + @ApiModelProperty(value = "批次号") + private String batchNo; + + /** + * 生产日期 + */ + @TableField(value = "productDate") + @ApiModelProperty(value = "生产日期") + private String productDate; + + /** + * 失效日期 + */ + @TableField(value = "expireDate") + @ApiModelProperty(value = "失效日期") + private String expireDate; + + /** + * 单据数量 + */ + @TableField(value = "`count`") + @ApiModelProperty(value = "单据数量") + private Integer count; + + /** + * 实际数量 + */ + @TableField(value = "actCount") + @ApiModelProperty(value = "实际数量") + private Integer actCount; + + /** + * 扫码数量 + */ + @TableField(value = "scanCount") + @ApiModelProperty(value = "扫码数量") + private Integer scanCount; + + /** + * 扫码实际数量 + */ + @TableField(value = "scanActCount") + @ApiModelProperty(value = "扫码实际数量") + private Integer scanActCount; + + /** + * 计量单位 + */ + @TableField(value = "measureUnit") + @ApiModelProperty(value = "计量单位") + private String measureUnit; + + /** + * 单据明细赋码状态 1:未赋码;2:部分赋码;3:已赋码 + */ + @TableField(value = "tagStatus") + @ApiModelProperty(value = "单据明细赋码状态 1:未赋码;2:部分赋码;3:已赋码") + private Integer tagStatus; + + /** + * 赋码错误信息 + */ + @TableField(value = "tagMsg") + @ApiModelProperty(value = "赋码错误信息") + private String tagMsg; + + /** + * 备注 + */ + @TableField(value = "remark") + @ApiModelProperty(value = "备注") + private String remark; + + /** + * 创建时间 + */ + @TableField(value = "createTime") + @ApiModelProperty(value = "创建时间") + private Date createTime; + + /** + * 更新时间 + */ + @TableField(value = "updateTime") + @ApiModelProperty(value = "更新时间") + private Date updateTime; + + + private static final long serialVersionUID = 1L; +} diff --git a/src/main/java/com/glxp/api/entity/collect/IoCollectOrderCodeAuto.java b/src/main/java/com/glxp/api/entity/collect/IoCollectOrderCodeAuto.java new file mode 100644 index 000000000..7a0fce600 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/collect/IoCollectOrderCodeAuto.java @@ -0,0 +1,90 @@ +package com.glxp.api.entity.collect; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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-collect-IoCollectOrderCodeAuto") +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "io_collect_order_code_auto") +public class IoCollectOrderCodeAuto implements Serializable { + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value = "") + private Integer id; + + /** + * 拆零表码ID + */ + @TableField(value = "codeIdFk") + @ApiModelProperty(value = "拆零表码ID") + private Integer codeIdFk; + + /** + * udi码、追溯码 + */ + @TableField(value = "udiCode") + @ApiModelProperty(value = "udi码、追溯码") + private String udiCode; + + /** + * 处方单号/业务单号 + */ + @TableField(value = "orderIdFk") + @ApiModelProperty(value = "处方单号/业务单号") + private String orderIdFk; + + /** + * 耗材字典ID + */ + @TableField(value = "relId") + @ApiModelProperty(value = "耗材字典ID") + private Long relId; + + + /** + * 批次号 + */ + @TableField(value = "batchNo") + @ApiModelProperty(value = "批次号") + private String batchNo; + + + @TableField(value = "createTime") + @ApiModelProperty(value = "") + private Date createTime; + + @TableField(value = "`createUser`") + @ApiModelProperty(value = "") + private String createUser; + + @TableField(value = "updateTime") + @ApiModelProperty(value = "") + private Date updateTime; + + @TableField(value = "updateUser") + @ApiModelProperty(value = "") + private String updateUser; + + @TableField(value = "remark") + @ApiModelProperty(value = "") + private String remark; + + private static final long serialVersionUID = 1L; +} diff --git a/src/main/java/com/glxp/api/entity/collect/IoCollectOrderCodeMan.java b/src/main/java/com/glxp/api/entity/collect/IoCollectOrderCodeMan.java new file mode 100644 index 000000000..8163d32e5 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/collect/IoCollectOrderCodeMan.java @@ -0,0 +1,74 @@ +package com.glxp.api.entity.collect; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +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-collect-IoCollectOrderCodeMan") +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@TableName(value = "io_collect_order_code_man") +public class IoCollectOrderCodeMan implements Serializable { + @TableId(value = "id", type = IdType.INPUT) + @ApiModelProperty(value = "") + private Integer id; + + @TableField(value = "orderIdFk") + @ApiModelProperty(value = "") + private String orderIdFk; + + @TableField(value = "udiCode") + @ApiModelProperty(value = "") + private String udiCode; + + @TableField(value = "relId") + @ApiModelProperty(value = "") + private Long relId; + + @TableField(value = "nameCode") + @ApiModelProperty(value = "") + private String nameCode; + + @TableField(value = "remark") + @ApiModelProperty(value = "") + private String remark; + + @TableField(value = "createTime") + @ApiModelProperty(value = "") + private Date createTime; + + @TableField(value = "`createUser`") + @ApiModelProperty(value = "") + private Long createUser; + + @TableField(value = "updateTime") + @ApiModelProperty(value = "") + private Date updateTime; + + @TableField(value = "updateUser") + @ApiModelProperty(value = "") + private Long updateUser; + + @TableField(value = "scanCount") + @ApiModelProperty(value = "扫码数量") + private Integer scanCount; + + + private static final long serialVersionUID = 1L; +} diff --git a/src/main/java/com/glxp/api/req/collect/CollectOrderBindWorkRequest.java b/src/main/java/com/glxp/api/req/collect/CollectOrderBindWorkRequest.java new file mode 100644 index 000000000..2b8b0675b --- /dev/null +++ b/src/main/java/com/glxp/api/req/collect/CollectOrderBindWorkRequest.java @@ -0,0 +1,13 @@ +package com.glxp.api.req.collect; + +import com.glxp.api.entity.collect.IoCollectOrder; +import lombok.Data; + +import java.util.List; + +@Data +public class CollectOrderBindWorkRequest { + + List list; + String workplaceCode; +} diff --git a/src/main/java/com/glxp/api/req/collect/CollectOrderBizRequest.java b/src/main/java/com/glxp/api/req/collect/CollectOrderBizRequest.java new file mode 100644 index 000000000..121766df3 --- /dev/null +++ b/src/main/java/com/glxp/api/req/collect/CollectOrderBizRequest.java @@ -0,0 +1,113 @@ +package com.glxp.api.req.collect; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.util.Date; + +@Data +public class CollectOrderBizRequest extends ListPageRequest { + + + private Integer id; + /** + * 单据号外键 + */ + private String orderIdFk; + + + /** + * 院内编码(第三方编码) + */ + private String thrCode; + + /** + * 医保编码 + */ + private String ybbm; + + /** + * 收费编码 + */ + private String payFeeCode; + + /** + * 产品通用名称 + */ + private String cpmctymc; + + /** + * 产品标识 + */ + private String nameCode; + + /** + * 规格型号 + */ + private String ggxh; + + /** + * 批次号 + */ + private String batchNo; + + /** + * 生产日期 + */ + private String productDate; + + /** + * 失效日期 + */ + private String expireDate; + + /** + * 单据数量 + */ + private Integer count; + + /** + * 实际数量 + */ + private Integer actCount; + + /** + * 扫码数量 + */ + private Integer scanCount; + + /** + * 扫码实际数量 + */ + private Integer scanActCount; + + /** + * 计量单位 + */ + private String measureUnit; + + /** + * 单据明细赋码状态 1:未赋码;2:部分赋码;3:已赋码 + */ + private Integer tagStatus; + + /** + * 赋码错误信息 + */ + private String tagMsg; + + /** + * 备注 + */ + private String remark; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; +} diff --git a/src/main/java/com/glxp/api/req/collect/CollectOrderCodeAutoRequest.java b/src/main/java/com/glxp/api/req/collect/CollectOrderCodeAutoRequest.java new file mode 100644 index 000000000..6977556c3 --- /dev/null +++ b/src/main/java/com/glxp/api/req/collect/CollectOrderCodeAutoRequest.java @@ -0,0 +1,39 @@ +package com.glxp.api.req.collect; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.util.Date; + +@Data +public class CollectOrderCodeAutoRequest extends ListPageRequest { + + private Integer id; + + /** + * 拆零表码ID + */ + private Integer codeIdFk; + + /** + * udi码、追溯码 + */ + private String udiCode; + + /** + * 处方单号/业务单号 + */ + private String orderIdFk; + + private Date createTime; + + private String createUser; + + private Date updateTime; + + private String updateUser; + + private String remark; + + +} diff --git a/src/main/java/com/glxp/api/req/collect/CollectOrderCodeManRequest.java b/src/main/java/com/glxp/api/req/collect/CollectOrderCodeManRequest.java new file mode 100644 index 000000000..2dcd10578 --- /dev/null +++ b/src/main/java/com/glxp/api/req/collect/CollectOrderCodeManRequest.java @@ -0,0 +1,31 @@ +package com.glxp.api.req.collect; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.util.Date; + +@Data +public class CollectOrderCodeManRequest extends ListPageRequest { + + private Integer id; + + private String orderIdFk; + + private String udiCode; + + private Integer relId; + + private String nameCode; + + private String remark; + + private Date createTime; + + private String createUser; + + private Date updateTime; + + private Date updateUser; + +} diff --git a/src/main/java/com/glxp/api/req/collect/CollectOrderRequest.java b/src/main/java/com/glxp/api/req/collect/CollectOrderRequest.java new file mode 100644 index 000000000..fb0532091 --- /dev/null +++ b/src/main/java/com/glxp/api/req/collect/CollectOrderRequest.java @@ -0,0 +1,85 @@ +package com.glxp.api.req.collect; + +import com.glxp.api.util.page.ListPageRequest; +import lombok.Data; + +import java.util.Date; + +@Data +public class CollectOrderRequest extends ListPageRequest { + + + private Integer id; + + /** + * 单据号 + */ + private String billNo; + + /** + * 单据类型 + */ + private String busType; + + /** + * 来源业务 + */ + private String fromType; + + /** + * 来源业务说明 + */ + private String fromTypeDesc; + + /** + * 往来信息 + */ + private String fromCorp; + + /** + * 单据时间 + */ + private Date billTime; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 采集时间 + */ + private Date collectTime; + + /** + * 采集点编码 + */ + private String collectCode; + + /** + * 工位编码 + */ + private String workPlaceCode; + + /** + * 备注 + */ + private String remark; + + /** + * 创建人 + */ + private String createUser; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 更新人 + */ + private String updateUser; + + +} diff --git a/src/main/java/com/glxp/api/req/collect/CollectOrderSaveRequest.java b/src/main/java/com/glxp/api/req/collect/CollectOrderSaveRequest.java new file mode 100644 index 000000000..917c05a17 --- /dev/null +++ b/src/main/java/com/glxp/api/req/collect/CollectOrderSaveRequest.java @@ -0,0 +1,14 @@ +package com.glxp.api.req.collect; + +import com.glxp.api.entity.collect.IoCollectOrder; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +public class CollectOrderSaveRequest { + + @NotNull(message = "处方列表不可以为空!") + List list; +} diff --git a/src/main/java/com/glxp/api/req/inout/AddTagCodeReqeust.java b/src/main/java/com/glxp/api/req/inout/AddTagCodeReqeust.java index 05dd792f9..baed30f39 100644 --- a/src/main/java/com/glxp/api/req/inout/AddTagCodeReqeust.java +++ b/src/main/java/com/glxp/api/req/inout/AddTagCodeReqeust.java @@ -10,7 +10,6 @@ public class AddTagCodeReqeust { /** * 处方编码 */ - @NotNull(message = "处方编码不能为空") private String prescribeNum; /** @@ -19,5 +18,7 @@ public class AddTagCodeReqeust { @NotNull(message = "追溯码不能为空") private String code; + private String billNo; + } diff --git a/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java b/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java new file mode 100644 index 000000000..ccdd05735 --- /dev/null +++ b/src/main/java/com/glxp/api/res/collect/CollectOrderBizResponse.java @@ -0,0 +1,113 @@ +package com.glxp.api.res.collect; + +import lombok.Data; + +import java.util.Date; + +@Data +public class CollectOrderBizResponse { + + + private Integer id; + /** + * 单据号外键 + */ + private String orderIdFk; + + + /** + * 院内编码(第三方编码) + */ + private String thrCode; + + /** + * 医保编码 + */ + private String ybbm; + + /** + * 收费编码 + */ + private String payFeeCode; + + /** + * 产品通用名称 + */ + private String cpmctymc; + + /** + * 产品标识 + */ + private String nameCode; + + /** + * 规格型号 + */ + private String ggxh; + + /** + * 批次号 + */ + private String batchNo; + + /** + * 生产日期 + */ + private String productDate; + + /** + * 失效日期 + */ + private String expireDate; + + /** + * 单据数量 + */ + private Integer count; + + /** + * 实际数量 + */ + private Integer actCount; + + /** + * 扫码数量 + */ + private Integer scanCount; + + /** + * 扫码实际数量 + */ + private Integer scanActCount; + + /** + * 计量单位 + */ + private String measureUnit; + + /** + * 单据明细赋码状态 1:未赋码;2:部分赋码;3:已赋码 + */ + private Integer tagStatus; + + /** + * 赋码错误信息 + */ + private String tagMsg; + + /** + * 备注 + */ + private String remark; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + +} diff --git a/src/main/java/com/glxp/api/res/collect/CollectOrderCodeAutoResponse.java b/src/main/java/com/glxp/api/res/collect/CollectOrderCodeAutoResponse.java new file mode 100644 index 000000000..1052283ba --- /dev/null +++ b/src/main/java/com/glxp/api/res/collect/CollectOrderCodeAutoResponse.java @@ -0,0 +1,38 @@ +package com.glxp.api.res.collect; + +import lombok.Data; + +import java.util.Date; + +@Data +public class CollectOrderCodeAutoResponse { + + private Integer id; + + /** + * 拆零表码ID + */ + private Integer codeIdFk; + + /** + * udi码、追溯码 + */ + private String udiCode; + + /** + * 处方单号/业务单号 + */ + private String orderIdFk; + + private Date createTime; + + private String createUser; + + private Date updateTime; + + private String updateUser; + + private String remark; + + +} diff --git a/src/main/java/com/glxp/api/res/collect/CollectOrderCodeManResponse.java b/src/main/java/com/glxp/api/res/collect/CollectOrderCodeManResponse.java new file mode 100644 index 000000000..9471d3e85 --- /dev/null +++ b/src/main/java/com/glxp/api/res/collect/CollectOrderCodeManResponse.java @@ -0,0 +1,31 @@ +package com.glxp.api.res.collect; + +import lombok.Data; + +import java.util.Date; + +@Data +public class CollectOrderCodeManResponse { + + private Integer id; + + private String orderIdFk; + + private String udiCode; + + private Integer relId; + + private String nameCode; + + private String remark; + + private Date createTime; + + private String createUser; + + private Date updateTime; + + private Date updateUser; + + +} diff --git a/src/main/java/com/glxp/api/res/collect/IoCollectOrderResponse.java b/src/main/java/com/glxp/api/res/collect/IoCollectOrderResponse.java new file mode 100644 index 000000000..72ebd31d7 --- /dev/null +++ b/src/main/java/com/glxp/api/res/collect/IoCollectOrderResponse.java @@ -0,0 +1,83 @@ +package com.glxp.api.res.collect; + +import lombok.Data; + +import java.util.Date; + +@Data +public class IoCollectOrderResponse { + + private Integer id; + + /** + * 单据号 + */ + private String billNo; + + /** + * 单据类型 + */ + private String busType; + + /** + * 来源业务 + */ + private String fromType; + + /** + * 来源业务说明 + */ + private String fromTypeDesc; + + /** + * 往来信息 + */ + private String fromCorp; + + /** + * 单据时间 + */ + private Date billTime; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 采集时间 + */ + private Date collectTime; + + /** + * 采集点编码 + */ + private String collectCode; + + /** + * 工位编码 + */ + private String workPlaceCode; + + /** + * 备注 + */ + private String remark; + + /** + * 创建人 + */ + private String createUser; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 更新人 + */ + private String updateUser; + + +} diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectCodeService.java b/src/main/java/com/glxp/api/service/collect/IoCollectCodeService.java new file mode 100644 index 000000000..204e90614 --- /dev/null +++ b/src/main/java/com/glxp/api/service/collect/IoCollectCodeService.java @@ -0,0 +1,12 @@ +package com.glxp.api.service.collect; + +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.dao.collect.IoCollectCodeMapper; +import com.glxp.api.entity.collect.IoCollectCode; +@Service +public class IoCollectCodeService extends ServiceImpl { + +} diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderBizService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderBizService.java new file mode 100644 index 000000000..671afef3a --- /dev/null +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderBizService.java @@ -0,0 +1,46 @@ +package com.glxp.api.service.collect; + +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.github.pagehelper.PageHelper; +import com.glxp.api.entity.basic.BasicSkPrescribeItemEntity; +import com.glxp.api.req.collect.CollectOrderBizRequest; +import com.glxp.api.req.collect.CollectOrderRequest; +import com.glxp.api.res.collect.CollectOrderBizResponse; +import com.glxp.api.res.collect.IoCollectOrderResponse; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.glxp.api.entity.collect.IoCollectOrderBiz; +import com.glxp.api.dao.collect.IoCollectOrderBizMapper; + +@Service +public class IoCollectOrderBizService extends ServiceImpl { + + @Resource + IoCollectOrderBizMapper collectOrderBizMapper; + + public List filterList(CollectOrderBizRequest collectOrderRequest) { + if (collectOrderRequest == null) { + return Collections.emptyList(); + } + if (collectOrderRequest.getPage() != null) { + int offset = (collectOrderRequest.getPage() - 1) * collectOrderRequest.getLimit(); + PageHelper.offsetPage(offset, collectOrderRequest.getLimit()); + } + List data = collectOrderBizMapper.filterList(collectOrderRequest); + return data; + } + + + public List listByBillNo(String billNo) { + List list = super.list(Wrappers.lambdaQuery(IoCollectOrderBiz.class) + .eq(IoCollectOrderBiz::getOrderIdFk, billNo) + ); + return list; + } + +} diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeAutoService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeAutoService.java new file mode 100644 index 000000000..84dee24aa --- /dev/null +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeAutoService.java @@ -0,0 +1,33 @@ +package com.glxp.api.service.collect; + +import com.github.pagehelper.PageHelper; +import com.glxp.api.req.collect.CollectOrderCodeAutoRequest; +import com.glxp.api.res.collect.CollectOrderCodeAutoResponse; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.glxp.api.dao.collect.IoCollectOrderCodeAutoMapper; +import com.glxp.api.entity.collect.IoCollectOrderCodeAuto; + +@Service +public class IoCollectOrderCodeAutoService extends ServiceImpl { + + @Resource + IoCollectOrderCodeAutoMapper collectOrderCodeAutoMapper; + + public List filterList(CollectOrderCodeAutoRequest collectOrderCodeAutoRequest) { + if (collectOrderCodeAutoRequest == null) { + return Collections.emptyList(); + } + if (collectOrderCodeAutoRequest.getPage() != null) { + int offset = (collectOrderCodeAutoRequest.getPage() - 1) * collectOrderCodeAutoRequest.getLimit(); + PageHelper.offsetPage(offset, collectOrderCodeAutoRequest.getLimit()); + } + return collectOrderCodeAutoMapper.filterList(collectOrderCodeAutoRequest); + + } +} diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java new file mode 100644 index 000000000..affc14d16 --- /dev/null +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderCodeManService.java @@ -0,0 +1,44 @@ +package com.glxp.api.service.collect; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.basic.BasicSkPrescribeItemCodeMapper; +import com.glxp.api.dao.collect.IoCollectOrderCodeAutoMapper; +import com.glxp.api.entity.basic.BasicSkPrescribeItemCode; +import com.glxp.api.req.collect.CollectOrderCodeAutoRequest; +import com.glxp.api.req.collect.CollectOrderCodeManRequest; +import com.glxp.api.res.collect.CollectOrderCodeAutoResponse; +import com.glxp.api.res.collect.CollectOrderCodeManResponse; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.glxp.api.entity.collect.IoCollectOrderCodeMan; +import com.glxp.api.dao.collect.IoCollectOrderCodeManMapper; + +@Service +public class IoCollectOrderCodeManService extends ServiceImpl { + @Resource + IoCollectOrderCodeManMapper collectOrderCodeManMapper; + + public List filterList(CollectOrderCodeManRequest collectOrderCodeManRequest) { + if (collectOrderCodeManRequest == null) { + return Collections.emptyList(); + } + if (collectOrderCodeManRequest.getPage() != null) { + int offset = (collectOrderCodeManRequest.getPage() - 1) * collectOrderCodeManRequest.getLimit(); + PageHelper.offsetPage(offset, collectOrderCodeManRequest.getLimit()); + } + return collectOrderCodeManMapper.filterList(collectOrderCodeManRequest); + + } + + + public IoCollectOrderCodeMan findByCode(String billNo, String code) { + return collectOrderCodeManMapper.selectOne(new LambdaQueryWrapper().eq(IoCollectOrderCodeMan::getOrderIdFk, billNo) + .eq(IoCollectOrderCodeMan::getUdiCode, code).last("limit 1")); + } +} diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java new file mode 100644 index 000000000..d35dc4e01 --- /dev/null +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java @@ -0,0 +1,39 @@ +package com.glxp.api.service.collect; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.pagehelper.PageHelper; +import com.glxp.api.dao.collect.IoCollectOrderMapper; +import com.glxp.api.entity.collect.IoCollectOrder; +import com.glxp.api.req.collect.CollectOrderRequest; +import com.glxp.api.res.collect.IoCollectOrderResponse; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class IoCollectOrderService extends ServiceImpl { + + @Resource + IoCollectOrderMapper collectOrderMapper; + + public IoCollectOrder getByBillNo(String billNo) { + return collectOrderMapper.selectOne(new LambdaQueryWrapper().eq(IoCollectOrder::getBillNo, billNo).last("limit 1")); + } + + public List filterList(CollectOrderRequest collectOrderRequest) { + if (collectOrderRequest == null) { + return Collections.emptyList(); + } + if (collectOrderRequest.getPage() != null) { + int offset = (collectOrderRequest.getPage() - 1) * collectOrderRequest.getLimit(); + PageHelper.offsetPage(offset, collectOrderRequest.getLimit()); + } + List data = collectOrderMapper.filterList(collectOrderRequest); + return data; + } + + +} 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 e2d884285..4b703fa61 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -1269,8 +1269,7 @@ public class IoCheckInoutService { List splitCodeEntities = new ArrayList<>(); if (CollUtil.isNotEmpty(codeList)) { for (IoCodeEntity codeEntity : codeList) { - IoSplitFifoCodeEntity ioSplitFifoCodeEntity = null; - ioSplitFifoCodeEntity = splitFifoCodeService.findByCode(codeEntity.getCode(), orderEntity.getWorkPlaceCode()); + IoSplitFifoCodeEntity 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())); 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 f8a0ec79d..e7c9fce52 100644 --- a/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java +++ b/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java @@ -8,11 +8,17 @@ import com.github.pagehelper.PageHelper; import com.glxp.api.dao.inout.IoSplitCodeMapper; import com.glxp.api.entity.basic.BasicSkPrescribeDiEntity; import com.glxp.api.entity.basic.BasicSkPrescribeEntity; +import com.glxp.api.entity.collect.IoCollectOrder; +import com.glxp.api.entity.collect.IoCollectOrderBiz; +import com.glxp.api.entity.collect.IoCollectOrderCodeAuto; import com.glxp.api.entity.inout.IoSplitCodeEntity; import com.glxp.api.entity.inout.IoSplitFifoCodeEntity; import com.glxp.api.req.inout.IoSplitCodeRequest; import com.glxp.api.service.basic.BasicSkPrescribeDiService; import com.glxp.api.service.basic.BasicSkPrescribeService; +import com.glxp.api.service.collect.IoCollectOrderBizService; +import com.glxp.api.service.collect.IoCollectOrderCodeAutoService; +import com.glxp.api.service.collect.IoCollectOrderService; import com.glxp.api.util.IntUtil; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -20,6 +26,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Collections; +import java.util.Date; import java.util.List; @Service @@ -126,10 +133,107 @@ public class IoSplitCodeService extends ServiceImpl collectOrderBizs = collectOrderBizService.listByBillNo(collectOrder.getBillNo()); + //处方赋码状态 1:未赋码,2:部分赋码,3:全部赋码 + for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) { + + //1.按照先进先出原则,查询拆零表,获取拆零表ID + List ioSplitCodeEntities = findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), collectOrder.getWorkPlaceCode()); + + //2.如果拆零表为空,则自动从预出库队列中获拉取数据 + if (CollUtil.isEmpty(ioSplitCodeEntities)) { + addFifoCode(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), IntUtil.value(collectOrderBiz.getCount())); + } + ioSplitCodeEntities = findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), collectOrder.getWorkPlaceCode()); + + //3.如果拆零表不为空,则开始扣除数量 + int count = 0; + int unCount = 0; //剩余未扣减数量 + unCount = IntUtil.value(collectOrderBiz.getCount()); + for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) { + count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount; + collectOrderCodeAutoService.save(IoCollectOrderCodeAuto.builder() + .codeIdFk(ioSplitCodeEntity.getId()) + .udiCode(ioSplitCodeEntity.getCode()) + .orderIdFk(collectOrder.getBillNo()) + .batchNo(collectOrderBiz.getBatchNo()) + .relId(collectOrderBiz.getRelId()) + .createTime(new Date()) + .updateTime(new Date()) + .build()); + if (count > 0) { + ioSplitCodeEntity.setRemainCount(count); + break; + } else if (count == 0) { + ioSplitCodeEntity.setRemainCount(0); + } else { + ioSplitCodeEntity.setRemainCount(0); + unCount = -count; + } + } + + if (unCount > 0) { + //4.拆零表数量不足,则从预出库队列中获取数据 + Integer fifoCount = addFifoCode(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), unCount); + if (fifoCount == 0) { + //预出库队列数量不足 + collectOrderBiz.setTagStatus(2); + collectOrderBiz.setTagMsg("预出库队列码数量不足,赋码失败!"); + } else { + //再次执行赋码 + ioSplitCodeEntities = findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), collectOrder.getWorkPlaceCode()); + for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) { + count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount; + collectOrderCodeAutoService.save(IoCollectOrderCodeAuto.builder() + .codeIdFk(ioSplitCodeEntity.getId()) + .udiCode(ioSplitCodeEntity.getCode()) + .orderIdFk(collectOrder.getBillNo()) + .batchNo(collectOrderBiz.getBatchNo()) + .relId(collectOrderBiz.getRelId()) + .createTime(new Date()) + .updateTime(new Date()) + .build()); + if (count > 0) { + ioSplitCodeEntity.setRemainCount(count); + break; + } else if (count == 0) { + ioSplitCodeEntity.setRemainCount(0); + } else { + ioSplitCodeEntity.setRemainCount(0); + unCount = -count; + } + } + if (unCount > 0) { + collectOrderBiz.setTagStatus(2); + collectOrderBiz.setTagMsg("预出库队列码数量不足,赋码失败!"); + } else { + collectOrderBiz.setTagStatus(3); + collectOrderBiz.setTagMsg("赋码完成!"); + } + } + } + collectOrderBizService.updateById(collectOrderBiz); + } + collectOrder.setTagStatus(checkStatus(collectOrderBizs)); + collectOrderService.updateById(collectOrder); + } + /** * 处方手动赋码 @@ -176,7 +280,7 @@ public class IoSplitCodeService extends ServiceImpl list) { + public int checkStatus1(List list) { boolean hasTwo = false; boolean hasOne = false; for (BasicSkPrescribeDiEntity di : list) { @@ -198,4 +302,27 @@ public class IoSplitCodeService extends ServiceImpl list) { + boolean hasTwo = false; + boolean hasOne = false; + for (IoCollectOrderBiz di : list) { + int tagStatus = di.getTagStatus(); + if (tagStatus == 2) { + hasTwo = true; + } else if (tagStatus == 1) { + hasOne = true; + } else if (tagStatus != 3) { + throw new IllegalArgumentException("Invalid tagStatus value: " + tagStatus); + } + } + if (hasTwo) { + return 2; + } else if (hasOne) { + return 1; + } else { + return 3; + } + } + + } diff --git a/src/main/resources/mybatis/mapper/collect/IoCollectCodeMapper.xml b/src/main/resources/mybatis/mapper/collect/IoCollectCodeMapper.xml new file mode 100644 index 000000000..eab4a416b --- /dev/null +++ b/src/main/resources/mybatis/mapper/collect/IoCollectCodeMapper.xml @@ -0,0 +1,4 @@ + + + + diff --git a/src/main/resources/mybatis/mapper/collect/IoCollectOrderBizMapper.xml b/src/main/resources/mybatis/mapper/collect/IoCollectOrderBizMapper.xml new file mode 100644 index 000000000..bfaf8d61a --- /dev/null +++ b/src/main/resources/mybatis/mapper/collect/IoCollectOrderBizMapper.xml @@ -0,0 +1,4 @@ + + + + diff --git a/src/main/resources/mybatis/mapper/collect/IoCollectOrderCodeAutoMapper.xml b/src/main/resources/mybatis/mapper/collect/IoCollectOrderCodeAutoMapper.xml new file mode 100644 index 000000000..85dee67e8 --- /dev/null +++ b/src/main/resources/mybatis/mapper/collect/IoCollectOrderCodeAutoMapper.xml @@ -0,0 +1,22 @@ + + + + + diff --git a/src/main/resources/mybatis/mapper/collect/IoCollectOrderCodeManMapper.xml b/src/main/resources/mybatis/mapper/collect/IoCollectOrderCodeManMapper.xml new file mode 100644 index 000000000..ec322e8c1 --- /dev/null +++ b/src/main/resources/mybatis/mapper/collect/IoCollectOrderCodeManMapper.xml @@ -0,0 +1,20 @@ + + + + + diff --git a/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml b/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml new file mode 100644 index 000000000..e63790106 --- /dev/null +++ b/src/main/resources/mybatis/mapper/collect/IoCollectOrderMapper.xml @@ -0,0 +1,33 @@ + + + + +