diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index eac1c8f1b..5ac74236b 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -399,19 +399,19 @@ public class IoOrderController extends BaseController { //上货校验追溯码是否重复 if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT)) { - for (IoCodeTempEntity codeTempEntity :codeTempEntities){ + for (IoCodeTempEntity codeTempEntity : codeTempEntities) { IoSplitFifoCodeEntity fifoCodeEntity = fifoCodeService.findByCode(codeTempEntity.getCode(), null); if (fifoCodeEntity != null && StrUtil.isNotEmpty(fifoCodeEntity.getSerialNo())) { - return ResultVOUtils.error(500, "当前追溯码:" + fifoCodeEntity.getCode() +"已存在!"); + return ResultVOUtils.error(500, "当前追溯码:" + fifoCodeEntity.getCode() + "已存在!"); } } } //退货校验追溯码是否重复 if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_RETURN)) { - for (IoCodeTempEntity codeTempEntity :codeTempEntities){ + for (IoCodeTempEntity codeTempEntity : codeTempEntities) { IoSplitFifoCodeEntity fifoCodeEntity = fifoCodeService.findByCode(codeTempEntity.getCode(), null); if (fifoCodeEntity != null && StrUtil.isNotEmpty(fifoCodeEntity.getSerialNo())) { - return ResultVOUtils.error(500, "当前追溯码:" + fifoCodeEntity.getCode() +"已存在!"); + return ResultVOUtils.error(500, "当前追溯码:" + fifoCodeEntity.getCode() + "已存在!"); } } } diff --git a/src/main/java/com/glxp/api/controller/inout/WorkPutController.java b/src/main/java/com/glxp/api/controller/inout/WorkPutController.java index eb3e71f38..434f70bb7 100644 --- a/src/main/java/com/glxp/api/controller/inout/WorkPutController.java +++ b/src/main/java/com/glxp/api/controller/inout/WorkPutController.java @@ -20,22 +20,16 @@ import com.glxp.api.entity.inout.IoCodeLostEntity; import com.glxp.api.entity.inout.IoCodeTempEntity; import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inout.IoSplitFifoCodeEntity; -import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.req.inout.AddOrderCodeRequest; import com.glxp.api.req.inout.AddOrderRequest; import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.inout.AddCodeResult; import com.glxp.api.res.inout.VailCodeResultResponse; import com.glxp.api.service.auth.InvWarehouseService; -import com.glxp.api.service.basic.*; -import com.glxp.api.service.collect.IoCollectCodeService; -import com.glxp.api.service.collect.IoCollectOrderService; -import com.glxp.api.service.collect.IoCollectOriginService; +import com.glxp.api.service.basic.IBasicBussinessTypeService; +import com.glxp.api.service.basic.UdiProductService; +import com.glxp.api.service.basic.UdiRelevanceService; import com.glxp.api.service.inout.*; -import com.glxp.api.service.inout.impl.IoCodeService; -import com.glxp.api.service.inv.InvPreinProductDetailService; -import com.glxp.api.service.inv.impl.InvProductDetailService; -import com.glxp.api.service.system.SystemParamConfigService; import com.glxp.api.util.GennerOrderUtils; import com.glxp.api.util.IntUtil; import com.glxp.api.util.MsDateUtil; @@ -129,7 +123,7 @@ public class WorkPutController extends BaseController { //ioSplitFifoInvService.getOne(new LambdaQueryWrapper().eq(IoSplitFifoInv::getInvCode,"").last("limit 1")); } if (IntUtil.value(udiEntity.getProductType()) == 2) { - return adddGrugOrder(addOrderRequest, udiEntity, code); + return adddDrugOrder(addOrderRequest, udiEntity, code); } else { return addMaterOrder(addOrderRequest, udiEntity, code); } @@ -197,7 +191,7 @@ public class WorkPutController extends BaseController { } if (IntUtil.value(udiEntity.getProductType()) == 2) { - baseResponse = adddGrugOrder(addOrderRequest, udiEntity, code); + baseResponse = adddDrugOrder(addOrderRequest, udiEntity, code); } else { baseResponse = addMaterOrder(addOrderRequest, udiEntity, code); } @@ -548,7 +542,7 @@ public class WorkPutController extends BaseController { } @Transactional(rollbackFor = Exception.class) - public BaseResponse adddGrugOrder(AddOrderRequest addOrderRequest, UdiEntity udiEntity, String code) { + public BaseResponse adddDrugOrder(AddOrderRequest addOrderRequest, UdiEntity udiEntity, String code) { AddCodeResult addCodeResult = new AddCodeResult(); BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(addOrderRequest.getAction()); InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(addOrderRequest.getInvCode()); @@ -795,16 +789,6 @@ public class WorkPutController extends BaseController { orderService.insertOrder(orderEntity); } - if (IntUtil.value(addOrderRequest.getOrderType()) == ConstantStatus.ORDER_TYPE_NORMAL && bussinessTypeEntity.isCheckEnable() && bussinessTypeEntity.getCheckWebNew() != 0) { - - boolean isBillExit = orderDetailBizService.isExit(orderEntity.getBillNo()); - if (!isBillExit) { - orderService.deleteByBillNo(orderEntity.getBillNo()); - return ResultVOUtils.error(500, "请先录入业务详情"); - } - } - - BaseResponse baseResponse = checkDrugRelId(codeEnttity, unitFk); if (baseResponse != null) { deleteEmptyBillNo(orderEntity); diff --git a/src/main/java/com/glxp/api/dao/collect/IoSplitFifoInvRelMapper.java b/src/main/java/com/glxp/api/dao/collect/IoSplitFifoInvRelMapper.java index 98ab380dd..752cb436a 100644 --- a/src/main/java/com/glxp/api/dao/collect/IoSplitFifoInvRelMapper.java +++ b/src/main/java/com/glxp/api/dao/collect/IoSplitFifoInvRelMapper.java @@ -4,11 +4,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.api.entity.collect.IoSplitFifoInvRel; import org.apache.ibatis.annotations.Mapper; -/** - * @author : zhangsan - * @date : 2024/9/27 10:26 - * @modyified By : - */ +import java.util.List; + @Mapper -public interface IoSplitFifoInvRelMapper extends BaseMapper { -} +public interface IoSplitFifoInvRelMapper extends BaseMapper { + + List findInvIdFk(Long collectWorkCode, String busType); +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/dao/collect/SysWorkplacePutRelMapper.java b/src/main/java/com/glxp/api/dao/collect/SysWorkplacePutRelMapper.java index 9dfb71053..2df8ea60a 100644 --- a/src/main/java/com/glxp/api/dao/collect/SysWorkplacePutRelMapper.java +++ b/src/main/java/com/glxp/api/dao/collect/SysWorkplacePutRelMapper.java @@ -1,9 +1,11 @@ package com.glxp.api.dao.collect; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.glxp.api.entity.collect.SysWorkplacePutRel; +import com.glxp.api.entity.basic.SysWorkplacePutRel; import org.apache.ibatis.annotations.Mapper; @Mapper public interface SysWorkplacePutRelMapper extends BaseMapper { + + } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/basic/SysWorkplaceBus.java b/src/main/java/com/glxp/api/entity/basic/SysWorkplaceBus.java index c557cfb59..7cda873ef 100644 --- a/src/main/java/com/glxp/api/entity/basic/SysWorkplaceBus.java +++ b/src/main/java/com/glxp/api/entity/basic/SysWorkplaceBus.java @@ -6,13 +6,15 @@ 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 lombok.Data; /** - * 工位单据类型表 - */ -@ApiModel(value="com-glxp-api-entity-collect-SysWorkplaceBus") + * 工位单据类型表 + */ +@ApiModel(value = "com-glxp-api-entity-collect-SysWorkplaceBus") @Data @TableName(value = "sys_workplace_bus") public class SysWorkplaceBus implements Serializable { @@ -20,16 +22,21 @@ public class SysWorkplaceBus implements Serializable { * 工位编码code */ @TableField(value = "workplaceCode") - @ApiModelProperty(value="工位编码code") + @ApiModelProperty(value = "工位编码code") private Long workplaceCode; /** * 单据类型表code */ @TableField(value = "busTypeCode") - @ApiModelProperty(value="单据类型表code") + @ApiModelProperty(value = "单据类型表code") private String busTypeCode; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/collect/SysWorkplacePutRel.java b/src/main/java/com/glxp/api/entity/basic/SysWorkplacePutRel.java similarity index 74% rename from src/main/java/com/glxp/api/entity/collect/SysWorkplacePutRel.java rename to src/main/java/com/glxp/api/entity/basic/SysWorkplacePutRel.java index b1ccbb9c2..7265dab19 100644 --- a/src/main/java/com/glxp/api/entity/collect/SysWorkplacePutRel.java +++ b/src/main/java/com/glxp/api/entity/basic/SysWorkplacePutRel.java @@ -1,4 +1,4 @@ -package com.glxp.api.entity.collect; +package com.glxp.api.entity.basic; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; @@ -6,82 +6,84 @@ 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-SysWorkplacePutRel") + * 上货工位绑定采集工与业务类型 + */ +@ApiModel(value = "com-glxp-api-entity-collect-SysWorkplacePutRel") @Data -@TableName(value = "udi_wms_ywj.sys_workplace_put_rel") +@TableName(value = "sys_workplace_put_rel") public class SysWorkplacePutRel implements Serializable { @TableId(value = "id", type = IdType.INPUT) - @ApiModelProperty(value="") + @ApiModelProperty(value = "") private Integer id; /** * 上货工位编码 */ @TableField(value = "workPlaceCode") - @ApiModelProperty(value="上货工位编码") - private String workPlaceCode; + @ApiModelProperty(value = "上货工位编码") + private Long workPlaceCode; /** * 关联业务类型ID */ @TableField(value = "relBusIdFk") - @ApiModelProperty(value="关联业务类型ID") + @ApiModelProperty(value = "关联业务类型ID") private Integer relBusIdFk; /** * 采集工位编码 */ @TableField(value = "collectWorkCode") - @ApiModelProperty(value="采集工位编码") - private String collectWorkCode; + @ApiModelProperty(value = "采集工位编码") + private Long collectWorkCode; /** * 采集工位业务类型 */ @TableField(value = "collectBusType") - @ApiModelProperty(value="采集工位业务类型") + @ApiModelProperty(value = "采集工位业务类型") private String collectBusType; /** * 创建时间 */ @TableField(value = "createTime") - @ApiModelProperty(value="创建时间") + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 创建人 */ @TableField(value = "createUser") - @ApiModelProperty(value="创建人") + @ApiModelProperty(value = "创建人") private String createUser; /** * 更新时间 */ @TableField(value = "updateTime") - @ApiModelProperty(value="更新时间") + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 更新人 */ @TableField(value = "updateUser") - @ApiModelProperty(value="更新人") + @ApiModelProperty(value = "更新人") private String updateUser; /** * 备注 */ @TableField(value = "remark") - @ApiModelProperty(value="备注") + @ApiModelProperty(value = "备注") private String remark; private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/glxp/api/entity/collect/IoSplitFifoInvRel.java b/src/main/java/com/glxp/api/entity/collect/IoSplitFifoInvRel.java index f5fab5cc8..eeb65bbfc 100644 --- a/src/main/java/com/glxp/api/entity/collect/IoSplitFifoInvRel.java +++ b/src/main/java/com/glxp/api/entity/collect/IoSplitFifoInvRel.java @@ -6,75 +6,77 @@ 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-IoSplitFifoInvRel") + * 工位库存关联业务类型 + */ +@ApiModel(value = "com-glxp-api-entity-collect-IoSplitFifoInvRel") @Data -@TableName(value = "udi_wms_ywj.io_split_fifo_inv_rel") +@TableName(value = "io_split_fifo_inv_rel") public class IoSplitFifoInvRel implements Serializable { @TableId(value = "id", type = IdType.AUTO) - @ApiModelProperty(value="") + @ApiModelProperty(value = "") private Integer id; /** * 库存ID外键 */ @TableField(value = "invIdFk") - @ApiModelProperty(value="库存ID外键") - private Integer invIdFk; + @ApiModelProperty(value = "库存ID外键") + private Long invIdFk; /** * 上货工位编码 */ @TableField(value = "putWorkCode") - @ApiModelProperty(value="上货工位编码") + @ApiModelProperty(value = "上货工位编码") private Long putWorkCode; /** * 采集工位编码 */ @TableField(value = "collectWorkCode") - @ApiModelProperty(value="采集工位编码") + @ApiModelProperty(value = "采集工位编码") private Long collectWorkCode; /** * 业务类型 */ @TableField(value = "busType") - @ApiModelProperty(value="业务类型") + @ApiModelProperty(value = "业务类型") private String busType; /** * 更新时间 */ @TableField(value = "updateTime") - @ApiModelProperty(value="更新时间") + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 创建时间 */ @TableField(value = "createTime") - @ApiModelProperty(value="创建时间") + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 创建人 */ @TableField(value = "createUser") - @ApiModelProperty(value="创建人") + @ApiModelProperty(value = "创建人") private String createUser; /** * 更新人 */ @TableField(value = "updateUser") - @ApiModelProperty(value="更新人") + @ApiModelProperty(value = "更新人") private String updateUser; private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/glxp/api/service/basic/SysWorkplaceDocumentService.java b/src/main/java/com/glxp/api/service/basic/SysWorkplaceDocumentService.java index a279d470b..312f94b5c 100644 --- a/src/main/java/com/glxp/api/service/basic/SysWorkplaceDocumentService.java +++ b/src/main/java/com/glxp/api/service/basic/SysWorkplaceDocumentService.java @@ -72,16 +72,16 @@ public class SysWorkplaceDocumentService extends ServiceImpl sysWorkplaceDocumentResponses = sysWorkplaceDocumentDao.filterList(request); - if (CollUtil.isNotEmpty(sysWorkplaceDocumentResponses)){ + if (CollUtil.isNotEmpty(sysWorkplaceDocumentResponses)) { SysWorkplaceDocumentResponse sysWorkplaceDocumentResponse = sysWorkplaceDocumentResponses.get(0); SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = new SysWorkplaceDocumentEntity(); - BeanUtils.copyProperties(sysWorkplaceDocumentResponse,sysWorkplaceDocumentEntity); + BeanUtils.copyProperties(sysWorkplaceDocumentResponse, sysWorkplaceDocumentEntity); return sysWorkplaceDocumentEntity; - }else - return null; + } else + return null; } - + //独占库存 public Boolean isOnlyInv(Long workPlaceCode, String busType) { SysWorkplaceDocumentEntity sysWorkplaceDocumentEntity = findByWorkplaceCode(workPlaceCode, busType); if (IntUtil.value(sysWorkplaceDocumentEntity.getMonopoly()) == 0) { @@ -127,19 +127,19 @@ public class SysWorkplaceDocumentService extends ServiceImpl().eq(SysWorkplaceBus::getWorkplaceCode,workplaceCode).eq(SysWorkplaceBus::getBusTypeCode,documentTypeCode)); + return sysWorkplaceBusService.remove(new LambdaUpdateWrapper().eq(SysWorkplaceBus::getWorkplaceCode, workplaceCode).eq(SysWorkplaceBus::getBusTypeCode, documentTypeCode)); } } diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java index baf50ea9e..17af6cc18 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java @@ -159,7 +159,7 @@ public class IoCollectOrderService extends ServiceImpl().eq(IoCollectOrderBizOrigin::getOrderIdFk,billNo)); + collectOrderBizOriginService.remove(new LambdaUpdateWrapper().eq(IoCollectOrderBizOrigin::getOrderIdFk, billNo)); for (IoCollectOrderBiz collectOrderBiz : bizList) { if (collectOrderBiz.getRelId() != null) { @@ -819,13 +819,13 @@ public class IoCollectOrderService extends ServiceImpl0){ + if (ioCollectOrders.size() > 0) { return false; } //如果有判断是否是当前单据 - if (ioCollectOrders.size() == 1){ + if (ioCollectOrders.size() == 1) { IoCollectOrder ioCollectOrder = ioCollectOrders.get(0); - if (ioCollectOrder.getBillNo().equals(request.getBillNo())){ + if (ioCollectOrder.getBillNo().equals(request.getBillNo())) { return true; } return false; diff --git a/src/main/java/com/glxp/api/service/collect/IoSplitFifoInvRelService.java b/src/main/java/com/glxp/api/service/collect/IoSplitFifoInvRelService.java index 0ad54ac72..1725476f8 100644 --- a/src/main/java/com/glxp/api/service/collect/IoSplitFifoInvRelService.java +++ b/src/main/java/com/glxp/api/service/collect/IoSplitFifoInvRelService.java @@ -5,7 +5,13 @@ import com.glxp.api.dao.collect.IoSplitFifoInvRelMapper; import com.glxp.api.entity.collect.IoSplitFifoInvRel; import org.springframework.stereotype.Service; +import java.util.List; + @Service public class IoSplitFifoInvRelService extends ServiceImpl { + public List findInvIdFk(Long collectWorkCode, String busType) { + return super.baseMapper.findInvIdFk(collectWorkCode, busType); + } + } 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 f81c39713..269368e3f 100644 --- a/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java +++ b/src/main/java/com/glxp/api/service/inout/IoSplitCodeService.java @@ -6,8 +6,7 @@ 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.inout.IoSplitCodeMapper; -import com.glxp.api.entity.basic.BasicSkPrescribeDiEntity; -import com.glxp.api.entity.basic.BasicSkPrescribeEntity; +import com.glxp.api.entity.basic.SysWorkplacePutRel; import com.glxp.api.entity.basic.UdiRelevanceEntity; import com.glxp.api.entity.collect.*; import com.glxp.api.entity.inout.IoSplitCodeEntity; @@ -15,10 +14,9 @@ import com.glxp.api.entity.inout.IoSplitFifoCodeEntity; import com.glxp.api.entity.inout.IoSplitFifoInv; import com.glxp.api.exception.JsonException; 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.basic.UdiRelevanceService; import com.glxp.api.service.collect.*; +import com.glxp.api.service.thrsys.SysWorkplacePutRelService; import com.glxp.api.util.IntUtil; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -31,17 +29,11 @@ import java.util.stream.Collectors; @Service public class IoSplitCodeService extends ServiceImpl { - @Resource - BasicSkPrescribeDiService basicSkPrescribeDiService; @Resource IoSplitCodeMapper splitCodeMapper; @Resource IoSplitFifoCodeService splitFifoCodeService; @Resource - BasicSkPrescribeService basicSkPrescribeService; - @Resource - IoCollectOrderService collectOrderService; - @Resource IoCollectOrderBizService collectOrderBizService; @Resource IoCollectOrderCodeAutoService collectOrderCodeAutoService; @@ -77,190 +69,6 @@ public class IoSplitCodeService extends ServiceImpl basicSkPrescribeDiEntities = basicSkPrescribeDiService.findByPrescribe(basicSkPrescribeEntity.getAdNum()); -// //处方赋码状态 1:未赋码,2:部分赋码,3:全部赋码 -// for (BasicSkPrescribeDiEntity basicSkPrescribeDiEntity : basicSkPrescribeDiEntities) { -// -// //1.按照先进先出原则,查询拆零表,获取拆零表ID -// List ioSplitCodeEntities = findSplitCodes(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), basicSkPrescribeEntity.getWorkPlaceCode()); -// -// //2.如果拆零表为空,则自动从预出库队列中获拉取数据 -// if (CollUtil.isEmpty(ioSplitCodeEntities)) { -// addFifoCode(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), IntUtil.value(basicSkPrescribeDiEntity.getMeasureCount())); -// } -// ioSplitCodeEntities = findSplitCodes(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), basicSkPrescribeEntity.getWorkPlaceCode()); -// -// //3.如果拆零表不为空,则开始扣除数量 -// int count = 0; -// int unCount = 0; //剩余未扣减数量 -// unCount = IntUtil.value(basicSkPrescribeDiEntity.getMeasureCount()); -// for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) { -// count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount; -// 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(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), unCount); -// if (fifoCount == 0) { -// //预出库队列数量不足 -// basicSkPrescribeDiEntity.setTagStatus(2); -// basicSkPrescribeDiEntity.setTagMsg("预出库队列码数量不足,赋码失败!"); -// } else { -// //再次执行赋码 -// ioSplitCodeEntities = findSplitCodes(basicSkPrescribeDiEntity.getRelId(), basicSkPrescribeDiEntity.getBatchNo(), basicSkPrescribeEntity.getWorkPlaceCode()); -// for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) { -// count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount; -// if (count > 0) { -// ioSplitCodeEntity.setRemainCount(count); -// break; -// } else if (count == 0) { -// ioSplitCodeEntity.setRemainCount(0); -// } else { -// ioSplitCodeEntity.setRemainCount(0); -// unCount = -count; -// } -// } -// if (unCount > 0) { -// basicSkPrescribeDiEntity.setTagStatus(2); -// basicSkPrescribeDiEntity.setTagMsg("预出库队列码数量不足,赋码失败!"); -// } else { -// basicSkPrescribeDiEntity.setTagStatus(3); -// basicSkPrescribeDiEntity.setTagMsg("赋码完成!"); -// } -// } -// } -// basicSkPrescribeDiService.updateById(basicSkPrescribeDiEntity); -// } -// basicSkPrescribeEntity.setTagStatus(checkStatus1(basicSkPrescribeDiEntities)); -// basicSkPrescribeService.updateById(basicSkPrescribeEntity); -// } - - -// /** -// * 单据自动赋码 -// */ -// public void orderAutoTagCode(IoCollectOrder collectOrder) { -// -// List collectOrderBizs = collectOrderBizService.listByBillNo(collectOrder.getBillNo()); -// //处方赋码状态 1:未赋码,2:部分赋码,3:全部赋码 -// for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) { -// if (IntUtil.value(collectOrderBiz.getTagStatus()) == 3) { -// continue; -// } -// //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.getUnTagCount()); -// for (IoSplitCodeEntity ioSplitCodeEntity : ioSplitCodeEntities) { -// count = IntUtil.value(ioSplitCodeEntity.getRemainCount()) - unCount; -// collectOrderCodeAutoService.save(IoCollectOrderCodeAuto.builder() -// .codeIdFk(ioSplitCodeEntity.getId()) -// .udiCode(ioSplitCodeEntity.getCode()) -// .orderIdFk(collectOrder.getBillNo()) -// .batchNo(ioSplitCodeEntity.getBatchNo()) -// .productDate(ioSplitCodeEntity.getProduceDate()) -// .expireDate(ioSplitCodeEntity.getExpireDate()) -// .serialNo(ioSplitCodeEntity.getSerialNo()) -// .relId(collectOrderBiz.getRelId()) -// .bizIdFk(collectOrderBiz.getId()) -// .fifoSplit(ioSplitCodeEntity.getFifoSplit()) -// .createTime(new Date()) -// .updateTime(new Date()) -// .build()); -// if (count > 0) { -// ioSplitCodeEntity.setRemainCount(count); -// unCount = 0; -// splitCodeMapper.updateById(ioSplitCodeEntity); -// break; -// } else if (count == 0) { -// ioSplitCodeEntity.setRemainCount(0); -// unCount = 0; -// } else { -// ioSplitCodeEntity.setRemainCount(0); -// unCount = -count; -// } -// splitCodeMapper.updateById(ioSplitCodeEntity); -// } -// -// 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(ioSplitCodeEntity.getBatchNo()) -// .productDate(ioSplitCodeEntity.getProduceDate()) -// .expireDate(ioSplitCodeEntity.getExpireDate()) -// .serialNo(ioSplitCodeEntity.getSerialNo()) -// .relId(collectOrderBiz.getRelId()) -// .bizIdFk(collectOrderBiz.getId()) -// .fifoSplit(ioSplitCodeEntity.getFifoSplit()) -// .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("赋码完成!"); -// } -// } -// } else { -// collectOrderBiz.setTagStatus(3); -// collectOrderBiz.setTagMsg("赋码完成!"); -// } -// collectOrderBiz.setUnTagCount(unCount); -// collectOrderBizService.updateById(collectOrderBiz); -// } -// collectOrder.setSplitStatus(checkStatus(collectOrderBizs)); -// collectOrderService.updateById(collectOrder); -// } - - public void splitRemove(IoCollectOrderBiz collectOrderBiz, IoCollectOrder collectOrder) { //1.按照先进先出原则,查询拆零表,获取拆零表ID List ioSplitCodeEntities = findSplitCodes(collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo(), collectOrder.getWorkPlaceCode()); @@ -372,13 +180,18 @@ public class IoSplitCodeService extends ServiceImpl collectOrderBizs = collectOrderBizService.listByBillNo(collectOrder.getBillNo()); //如果手动扫码判断该码是否在队列里,如果已在队列,则队列里剔除 List collectOrderCodeMEN = collectOrderCodeManService.listByBillNo(collectOrder.getBillNo()); if (CollUtil.isNotEmpty(collectOrderCodeMEN)) { for (IoCollectOrderCodeMan collectOrderCodeMan : collectOrderCodeMEN) { - IoSplitFifoCodeEntity splitFifoCodeEntity = splitFifoCodeService.findByCode(collectOrderCodeMan.getUdiCode(), collectOrder.getWorkPlaceCode()); + IoSplitFifoCodeEntity splitFifoCodeEntity = splitFifoCodeService.findByCode(collectOrderCodeMan.getUdiCode(), putWorkPlaceCode); if (splitFifoCodeEntity != null) { collectOrderCodeMan.setRemoveFlag(true); if (IntUtil.value(splitFifoCodeEntity.getScanCount()) - IntUtil.value(collectOrderCodeMan.getScanCount()) <= 0) { @@ -447,7 +260,7 @@ public class IoSplitCodeService extends ServiceImpl 0) { - List ioSplitFifoCodeEntities = splitFifoCodeService.findByRelId(collectOrder.getWorkPlaceCode(), collectOrder.getBusType(), collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo()); + List ioSplitFifoCodeEntities = splitFifoCodeService.findByRelId(putWorkPlaceCode, collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo()); if (ioSplitFifoCodeEntities.size() < quotient) { return; // throw new JsonException(500, "提交失败,工位库存数量不足!"); @@ -504,23 +317,48 @@ public class IoSplitCodeService extends ServiceImpl findInvIdFk(IoCollectOrder collectOrder) { + List ioSplitFifoInvRels = splitFifoInvRelService.findInvIdFk(collectOrder.getWorkPlaceCode(), collectOrder.getBusType()); + if (CollUtil.isNotEmpty(ioSplitFifoInvRels)) { + return ioSplitFifoInvRels.stream() + .map(IoSplitFifoInvRel::getInvIdFk) + .collect(Collectors.toList()); + } else + return null; + + + } + + @Resource + SysWorkplacePutRelService workplacePutRelService; + /** * 单据预赋码 * * @param collectOrder */ public void preAutoTagCode(IoCollectOrder collectOrder) { + Long putWorkPlaceCode = null; + //获取上货工位 + SysWorkplacePutRel sysWorkplacePutRel = workplacePutRelService.findPutWorkPlace(collectOrder.getWorkPlaceCode(), collectOrder.getBusType()); + if (sysWorkplacePutRel == null) + putWorkPlaceCode = sysWorkplacePutRel.getCollectWorkCode(); + List collectOrderBizs = collectOrderBizService.listByBillNo(collectOrder.getBillNo()); for (IoCollectOrderBiz collectOrderBiz : collectOrderBizs) { List splitFifoCodeEntities = - splitFifoCodeService.findByRelId(collectOrder.getWorkPlaceCode(), collectOrder.getBusType(), + splitFifoCodeService.findByRelId(putWorkPlaceCode, collectOrderBiz.getRelId(), collectOrderBiz.getBatchNo()); int total = splitFifoCodeEntities.stream() .mapToInt(IoSplitFifoCodeEntity::getTotalCount) .sum(); collectOrderBiz.setTempWorkPlaceCount(total); List splitCodeEntities = splitCodeService.findSplitCodes(collectOrderBiz.getRelId() - , collectOrderBiz.getBatchNo(), collectOrder.getWorkPlaceCode()); + , collectOrderBiz.getBatchNo(), sysWorkplacePutRel.getWorkPlaceCode()); int splitTotal = splitCodeEntities.stream() .mapToInt(IoSplitCodeEntity::getRemainCount) .sum(); @@ -614,28 +452,6 @@ public class IoSplitCodeService extends ServiceImpl list) { - boolean hasTwo = false; - boolean hasOne = false; - for (BasicSkPrescribeDiEntity 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; - } - } - public int checkStatus(List list) { boolean hasTwo = false; boolean hasOne = false; diff --git a/src/main/java/com/glxp/api/service/inout/IoSplitFifoCodeService.java b/src/main/java/com/glxp/api/service/inout/IoSplitFifoCodeService.java index 55332c9de..a2b75d141 100644 --- a/src/main/java/com/glxp/api/service/inout/IoSplitFifoCodeService.java +++ b/src/main/java/com/glxp/api/service/inout/IoSplitFifoCodeService.java @@ -50,11 +50,10 @@ public class IoSplitFifoCodeService extends ServiceImpl findByRelId(Long workPlaceCode, String busType, Long relId, String batchNo) { + public List findByRelId(Long workPlaceCode, Long relId, String batchNo) { List splitFifoCodeEntities = list(new LambdaQueryWrapper() .eq(IoSplitFifoCodeEntity::getWorkPlaceCode, workPlaceCode) - .eq(IoSplitFifoCodeEntity::getRelId, relId) .eq(StrUtil.isNotEmpty(batchNo), IoSplitFifoCodeEntity::getBatchNo, batchNo) .orderByAsc(IoSplitFifoCodeEntity::getInBactchNo) @@ -99,6 +98,8 @@ public class IoSplitFifoCodeService extends ServiceImpl() .eq(IoSplitFifoCodeEntity::getCode, code) @@ -107,6 +108,16 @@ public class IoSplitFifoCodeService extends ServiceImpl invIdFks) { + return splitFifoCodeMapper.selectOne( + new LambdaQueryWrapper() + .eq(IoSplitFifoCodeEntity::getCode, code) + .in(IoSplitFifoCodeEntity::getInvIdFk, invIdFks) + .last("limit 1") + ); + } + + /** * 库存量提醒 * @@ -212,7 +223,7 @@ public class IoSplitFifoCodeService extends ServiceImpl ioSplitInvResponses = splitFifoInvService.filterList(ioSplitFifoInvRequest); - if (CollUtil.isEmpty(ioSplitInvResponses)){ + if (CollUtil.isEmpty(ioSplitInvResponses)) { collectOrderMapper.updateInvAlert(order.getId(), 2); if (CollUtil.isNotEmpty(bizList)) { diff --git a/src/main/java/com/glxp/api/service/inout/IoSplitFifoInvService.java b/src/main/java/com/glxp/api/service/inout/IoSplitFifoInvService.java index 4101af71b..85313ec8a 100644 --- a/src/main/java/com/glxp/api/service/inout/IoSplitFifoInvService.java +++ b/src/main/java/com/glxp/api/service/inout/IoSplitFifoInvService.java @@ -8,11 +8,15 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.pagehelper.PageHelper; import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity; +import com.glxp.api.entity.basic.SysWorkplacePutRel; +import com.glxp.api.entity.collect.IoSplitFifoInvRel; import com.glxp.api.entity.inout.IoCodeEntity; import com.glxp.api.entity.inout.IoSplitFifoCodeEntity; import com.glxp.api.req.inout.IoSplitFifoInvRequest; import com.glxp.api.res.inout.IoSplitInvResponse; import com.glxp.api.service.basic.SysWorkplaceDocumentService; +import com.glxp.api.service.collect.IoSplitFifoInvRelService; +import com.glxp.api.service.thrsys.SysWorkplacePutRelService; import com.glxp.api.util.IntUtil; import org.apache.xpath.operations.Bool; import org.springframework.beans.BeanUtils; @@ -111,6 +115,20 @@ public class IoSplitFifoInvService extends ServiceImpl sysWorkplacePutRels = sysWorkplacePutRelService.selectByWorkPutCode(workPlaceCode); + if (CollUtil.isNotEmpty(sysWorkplacePutRels)) { + for (SysWorkplacePutRel sysWorkplacePutRel : sysWorkplacePutRels) { + IoSplitFifoInvRel splitFifoInvRel = new IoSplitFifoInvRel(); + splitFifoInvRel.setInvIdFk(splitFifoInv.getId()); + splitFifoInvRel.setPutWorkCode(workPlaceCode); + splitFifoInvRel.setCollectWorkCode(sysWorkplacePutRel.getCollectWorkCode()); + splitFifoInvRel.setBusType(sysWorkplacePutRel.getCollectBusType()); + splitFifoInvRel.setCreateTime(new Date()); + splitFifoInvRel.setUpdateTime(new Date()); + splitFifoInvRelService.saveOrUpdate(splitFifoInvRel); + } + } } ioSplitFifoCodeEntity.setInvIdFk(splitFifoInv.getId()); } @@ -118,6 +136,11 @@ public class IoSplitFifoInvService extends ServiceImpl { + public SysWorkplacePutRel findPutWorkPlace(Long workPlaceCode, String busType) { + List sysWorkplacePutRelList = list(new LambdaQueryWrapper().eq(SysWorkplacePutRel::getCollectWorkCode, workPlaceCode).eq(SysWorkplacePutRel::getCollectBusType, busType)); + if (CollUtil.isNotEmpty(sysWorkplacePutRelList)) + return sysWorkplacePutRelList.get(0); + else + return null; + } + + public List selectByWorkPutCode(Long workPlaceCode) { + return list(new LambdaQueryWrapper().eq(SysWorkplacePutRel::getWorkPlaceCode, workPlaceCode) + ); + } } diff --git a/src/main/resources/mybatis/mapper/collect/IoSplitFifoInvRelMapper.xml b/src/main/resources/mybatis/mapper/collect/IoSplitFifoInvRelMapper.xml index dd552fd4e..93fb5cea7 100644 --- a/src/main/resources/mybatis/mapper/collect/IoSplitFifoInvRelMapper.xml +++ b/src/main/resources/mybatis/mapper/collect/IoSplitFifoInvRelMapper.xml @@ -2,4 +2,20 @@ + + diff --git a/src/main/resources/mybatis/mapper/collect/SysWorkplacePutRelMapper.xml b/src/main/resources/mybatis/mapper/collect/SysWorkplacePutRelMapper.xml new file mode 100644 index 000000000..8d775cd1c --- /dev/null +++ b/src/main/resources/mybatis/mapper/collect/SysWorkplacePutRelMapper.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/collect/mybatis/mapper/collect/SysWorkplacePutRelMapper.xml b/src/main/resources/mybatis/mapper/collect/mybatis/mapper/collect/SysWorkplacePutRelMapper.xml deleted file mode 100644 index 837315323..000000000 --- a/src/main/resources/mybatis/mapper/collect/mybatis/mapper/collect/SysWorkplacePutRelMapper.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - id, workPlaceCode, relBusIdFk, collectWorkCode, collectBusType, createTime, `createUser`, - updateTime, updateUser, remark - - \ No newline at end of file