diff --git a/src/main/java/com/glxp/api/constant/ConstantStatus.java b/src/main/java/com/glxp/api/constant/ConstantStatus.java index d9b5d021..7cc8a386 100644 --- a/src/main/java/com/glxp/api/constant/ConstantStatus.java +++ b/src/main/java/com/glxp/api/constant/ConstantStatus.java @@ -81,7 +81,6 @@ public class ConstantStatus { public static final Integer BUS_TYPE_INVOICE = 4; //退货单单据类型 - public static final Integer ACTION_TYPE_NORMAL = 1; //带票 public static final Integer ACTION_TYPE_PREIN = 2; //预验收 public static final Integer ACTION_TYPE_ADVANCE = 3; //寄售 @@ -270,4 +269,11 @@ public class ConstantStatus { public static final int PRINT_SUCCESS = 1; //已打印 + //预验收库存状态 1:在库,2:已退回;3.已使用 + + public static final int INVIN_IN = 1; + public static final int INVIN_BACK = 2; + public static final int INVIN_USE = 3; + + } diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeLostController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeLostController.java index dc95649b..0ca40054 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeLostController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeLostController.java @@ -1,18 +1,13 @@ package com.glxp.api.controller.inout; -import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; -import com.glxp.api.constant.ConstantStatus; import com.glxp.api.controller.BaseController; import com.glxp.api.entity.inout.IoCodeLostEntity; import com.glxp.api.entity.inout.IoCodeTempEntity; -import com.glxp.api.req.inout.FilterOrderDetailResultRequest; -import com.glxp.api.res.inout.AcceptOrderResponse; -import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.service.inout.IoCodeLostService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -21,7 +16,6 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.Date; -import java.util.List; @RestController public class IoCodeLostController extends BaseController { 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 de39dc1b..20b6aa8e 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java @@ -327,6 +327,9 @@ public class IoCodeTempController extends BaseController { return null; } + @Resource + IoCodeLostService codeLostService; + //前端扫码提交 @AuthRuleAnnotation("") @PostMapping("warehouse/inout/addOrderWeb") @@ -386,21 +389,21 @@ public class IoCodeTempController extends BaseController { BaseResponse checkOriginCodeRes = checkOriginCode(udiEntity); if (checkOriginCodeRes != null) { -// IoCodeLostEntity codeLostEntity = codeLostService.findByCode(code); -// if (codeLostEntity == null) { -// if (StrUtil.isNotEmpty(orderId)) { -// List ioCodeEnttities = codeTempService.findByOrderId(orderId); -// IoCodeTempEntity ioCodeEnttity = isExitLocal(code, ioCodeEnttities); -// if (ioCodeEnttity == null) { -// return checkOriginCodeRes; -// } -// } else -// return checkOriginCodeRes; -// } else { -// udiEntity.setBatchNo(codeLostEntity.getBatchNo()); -// udiEntity.setExpireDate(codeLostEntity.getExpireDate()); -// udiEntity.setProduceDate(codeLostEntity.getProduceDate()); -// } + IoCodeLostEntity codeLostEntity = codeLostService.findByCode(code); + if (codeLostEntity == null) { + if (StrUtil.isNotEmpty(orderId)) { + List ioCodeEnttities = codeTempService.findByOrderId(orderId); + IoCodeTempEntity ioCodeEnttity = isExitLocal(code, ioCodeEnttities); + if (ioCodeEnttity == null) { + return checkOriginCodeRes; + } + } else + return checkOriginCodeRes; + } else { + udiEntity.setBatchNo(codeLostEntity.getBatchNo()); + udiEntity.setExpireDate(codeLostEntity.getExpireDate()); + udiEntity.setProduceDate(codeLostEntity.getProduceDate()); + } if (StrUtil.isNotEmpty(orderId)) { List ioCodeEnttities = codeTempService.findByOrderId(orderId); @@ -448,7 +451,7 @@ public class IoCodeTempController extends BaseController { //校验预验收是否已存在 if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN) { if (StrUtil.isNotEmpty(udiEntity.getSerialNo())) { - List invProductDetailEntities = invPreinDetailService.findByCode(code); + List invProductDetailEntities = invPreinDetailService.findUseByCode(code); if (CollUtil.isNotEmpty(invProductDetailEntities)) { return ResultVOUtils.error(500, "预验收库存已存在此UDI码,请检查后重试!"); } @@ -457,7 +460,7 @@ public class IoCodeTempController extends BaseController { //校验预验收库存是否已存在 if (bussinessTypeEntity.isScanPreIn()) { - InvPreinDetailEntity invProductDetailEntity = invPreinDetailService.findOneByCode(code); + InvPreinDetailEntity invProductDetailEntity = invPreinDetailService.findUseOneByCode(code); if (invProductDetailEntity == null) { return ResultVOUtils.error(500, "预验收库存未存在此产品!"); } else { @@ -469,7 +472,7 @@ public class IoCodeTempController extends BaseController { if (StrUtil.isEmpty(udiEntity.getSerialNo())) {//该单据已有该产品 //无序列号,则可能存在多个预验收入库单 IoCodeTempEntity codeTempEntity = codeTempService.findByUnique(orderId, code); - List invPreinDetailEntities = invPreinDetailService.findByCode(code); + List invPreinDetailEntities = invPreinDetailService.findUseByCode(code); int count = 0; for (InvPreinDetailEntity temp : invPreinDetailEntities) { count = count + temp.getCount(); 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 6b3afade..d75ca54e 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -28,6 +28,7 @@ import com.glxp.api.service.inout.*; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; +import org.springframework.scheduling.annotation.Async; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -225,6 +226,9 @@ public class IoOrderController extends BaseController { } + + + @Resource IoCodeService codeService; diff --git a/src/main/java/com/glxp/api/controller/inv/InvPreinOrderController.java b/src/main/java/com/glxp/api/controller/inv/InvPreinOrderController.java index 1325588a..9214c9a9 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvPreinOrderController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvPreinOrderController.java @@ -77,7 +77,7 @@ public class InvPreinOrderController extends BaseController { @AuthRuleAnnotation("") @GetMapping("spms/prein/inv/products/getDetaiByCode") public BaseResponse getDetaiByCode(FilterInvProductDetailRequest filterInvProductDetailRequest) { - InvPreinDetailEntity invProductDetailEntity = invPreinDetailService.findOneByCode(filterInvProductDetailRequest.getCode()); + InvPreinDetailEntity invProductDetailEntity = invPreinDetailService.findUseOneByCode(filterInvProductDetailRequest.getCode()); if (invProductDetailEntity == null) { return ResultVOUtils.error(500, "预验收库存未存在此产品!"); } else { @@ -88,7 +88,7 @@ public class InvPreinOrderController extends BaseController { UdiEntity udiEntity = FilterUdiUtils.getUdi(filterInvProductDetailRequest.getCode()); if (StrUtil.isEmpty(udiEntity.getSerialNo())) {//该单据已有该产品 //无序列号,则可能存在多个预验收入库单 - List invPreinDetailEntities = invPreinDetailService.findByCode(filterInvProductDetailRequest.getCode()); + List invPreinDetailEntities = invPreinDetailService.findUseByCode(filterInvProductDetailRequest.getCode()); int count = 0; for (InvPreinDetailEntity temp : invPreinDetailEntities) { count = count + temp.getCount(); diff --git a/src/main/java/com/glxp/api/dao/inout/IoCodeLostMapper.java b/src/main/java/com/glxp/api/dao/inout/IoCodeLostMapper.java index f94c51cb..9e2bd7b6 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoCodeLostMapper.java +++ b/src/main/java/com/glxp/api/dao/inout/IoCodeLostMapper.java @@ -1,9 +1,9 @@ package com.glxp.api.dao.inout; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.inout.IoCodeLostEntity; import org.apache.ibatis.annotations.Mapper; @Mapper -public interface IoCodeLostMapper extends BaseMapper { +public interface IoCodeLostMapper extends BaseMapperPlus { } diff --git a/src/main/java/com/glxp/api/entity/inout/IoCodeLostEntity.java b/src/main/java/com/glxp/api/entity/inout/IoCodeLostEntity.java index 964590fb..bcd1a46a 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoCodeLostEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoCodeLostEntity.java @@ -72,6 +72,10 @@ public class IoCodeLostEntity { @TableField(value = "remark") private String remark; + + @TableField(value = "nameCode") + private String nameCode; + public static final String COL_ID = "id"; public static final String COL_CODE = "code"; diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java index e2ec5ebf..9ba457a3 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java @@ -223,7 +223,7 @@ public class IoOrderEntity { @TableField(value = "processStatus") private Integer processStatus; //退货单据处理状态 - @TableField(value = "processStatus") + @TableField(value = "inCodeStatus") private int inCodeStatus; //内部码生成状态 } diff --git a/src/main/java/com/glxp/api/entity/inv/InvPreinDetailEntity.java b/src/main/java/com/glxp/api/entity/inv/InvPreinDetailEntity.java index 6d9ee65c..52c5f353 100644 --- a/src/main/java/com/glxp/api/entity/inv/InvPreinDetailEntity.java +++ b/src/main/java/com/glxp/api/entity/inv/InvPreinDetailEntity.java @@ -60,6 +60,19 @@ public class InvPreinDetailEntity { @TableField(value = "relId") private Long relId; + /** + * 扫码数量 + */ + @TableField(value = "`originCount`") + private int originCount; + + /** + * 实际数量 + */ + @TableField(value = "originReCount") + private int originReCount; + + /** * 扫码数量 */ diff --git a/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java b/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java index 4d75052e..922b793a 100644 --- a/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java +++ b/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java @@ -139,6 +139,16 @@ public class FilterOrderRequest extends ListPageRequest { */ private String statusType; + /** + * 送货管理界面: supDelivery + * 到货单管理界面: supArrival + * 退货单管理界面: supReturned + * 采购入库单界面: supPurchase + * 发票登记界面: supInvoice + */ + private String actionType; + + private Integer orderType; private Integer syncStatus; diff --git a/src/main/java/com/glxp/api/req/inv/FilterInvPreinDetailRequest.java b/src/main/java/com/glxp/api/req/inv/FilterInvPreinDetailRequest.java index 29a6396b..67b722ef 100644 --- a/src/main/java/com/glxp/api/req/inv/FilterInvPreinDetailRequest.java +++ b/src/main/java/com/glxp/api/req/inv/FilterInvPreinDetailRequest.java @@ -8,4 +8,17 @@ public class FilterInvPreinDetailRequest extends ListPageRequest { private String orderId; private String code; + private String productName; + private String ggxh; + private String manufactory; + private String zczbhhzbapzbh; + private String auditTime; + private String billNo; + private String invCode; + private String batchNo; + private String produceDate; + private String expireDate; + private String startAduditTime; + private String endAduditTime; + private String nameCode; } diff --git a/src/main/java/com/glxp/api/res/inv/InvPreinDetailResponse.java b/src/main/java/com/glxp/api/res/inv/InvPreinDetailResponse.java index a765fc1c..9b60912f 100644 --- a/src/main/java/com/glxp/api/res/inv/InvPreinDetailResponse.java +++ b/src/main/java/com/glxp/api/res/inv/InvPreinDetailResponse.java @@ -56,11 +56,21 @@ public class InvPreinDetailResponse { */ private int count; + + private Integer originReCount; + /** * 实际数量 */ private int reCount; - + private Integer status; private String productName; + private String ggxh; + private String manufactory; + private String zczbhhzbapzbh; + private String auditTime; + private String billNo; + private String invName; + } 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 6b4c9088..747dfa96 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -6,6 +6,7 @@ import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.ConstantStatus; import com.glxp.api.constant.ConstantType; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; +import com.glxp.api.entity.basic.UdiEntity; import com.glxp.api.entity.inout.*; import com.glxp.api.entity.inv.InvPreinDetailEntity; import com.glxp.api.res.inout.IoOrderCheckResultResponse; @@ -16,6 +17,7 @@ import com.glxp.api.service.inv.InvPreinDetailService; import com.glxp.api.service.inv.InvPreinOrderService; import com.glxp.api.util.udi.FilterUdiUtils; import org.springframework.beans.BeanUtils; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -156,6 +158,49 @@ public class IoCheckInoutService { } } + @Resource + IoCodeLostService codeLostService; + + @Async + public void genLostCode(String orderId) { + List ioCodeEntities = codeService.findByOrderId(orderId); + for (IoCodeEntity codeEntity : ioCodeEntities) { + + + UdiEntity udiEntity = FilterUdiUtils.getUdi(codeEntity.getCode()); + + IoCodeLostEntity codeLostEntity = codeLostService.findByCode(codeEntity.getCode()); + if (codeLostEntity == null) + codeLostEntity = new IoCodeLostEntity(); + + //校验是否写入缺失表 + boolean isTrue = false; + if (udiEntity != null) { + if (!StrUtil.trimToEmpty(codeEntity.getBatchNo()).equals(StrUtil.trimToEmpty(udiEntity.getBatchNo()))) { + if (StrUtil.isNotEmpty(codeEntity.getBatchNo())) { + codeLostEntity.setBatchNo(codeEntity.getBatchNo()); + isTrue = true; + } + } + if (!StrUtil.trimToEmpty(codeEntity.getProduceDate()).equals(StrUtil.trimToEmpty(udiEntity.getProduceDate()))) { + if (StrUtil.isNotEmpty(codeEntity.getProduceDate())) { + codeLostEntity.setProduceDate(codeEntity.getProduceDate()); + isTrue = true; + } + } + if (!StrUtil.trimToEmpty(codeEntity.getExpireDate()).equals(StrUtil.trimToEmpty(udiEntity.getExpireDate()))) { + if (StrUtil.isNotEmpty(codeEntity.getExpireDate())) { + codeLostEntity.setExpireDate(codeEntity.getExpireDate()); + isTrue = true; + } + } + if (isTrue) + codeLostService.insertOrUpdate(codeLostEntity); + } + + } + } + public String checkCode(IoCodeTempEntity codeEntity) { boolean isBillExit = orderDetailBizService.isExit(codeEntity.getOrderId()); @@ -229,6 +274,7 @@ public class IoCheckInoutService { orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST); orderEntity.setUpdateTime(new Date()); orderService.update(orderEntity); + genLostCode(orderEntity.getBillNo()); checkThird(orderEntity); } @@ -333,7 +379,11 @@ public class IoCheckInoutService { orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST); orderEntity.setUpdateTime(new Date()); orderService.update(orderEntity); + //生成缺失码 + genLostCode(orderEntity.getBillNo()); checkThird(orderEntity); + + } } @@ -657,8 +707,12 @@ public class IoCheckInoutService { for (IoCodeEntity warehouseEntity : codeList) { List invProductDetailEntities = invPreinDetailService.findByCode(warehouseEntity.getCode()); if (invProductDetailEntities.size() > 0) { - for (InvPreinDetailEntity invPreinDetailEntity : invProductDetailEntities) + for (InvPreinDetailEntity invPreinDetailEntity : invProductDetailEntities) { preInOrder.put(invPreinDetailEntity.getOrderId(), invPreinDetailEntity.getOrderId()); + invPreinDetailEntity.setStatus(ConstantStatus.INVIN_USE); + invPreinDetailService.update(invPreinDetailEntity); + } + } } if (preInOrder.size() > 0) { @@ -673,7 +727,8 @@ public class IoCheckInoutService { BasicBussinessTypeEntity preBusType = basicBussinessTypeService.findByAction(preInEntity.getAction()); //预验收不删除单号,方便后续查询 if (preBusType.isPreInBack()) { //预验收如果带回,则清空相关预验收库存; - invPreinDetailService.deleteByOrderId(preInEntity.getBillNo()); + invPreinDetailService.updateBack(preInEntity.getBillNo()); +// invPreinDetailService.deleteByOrderId(preInEntity.getBillNo()); } else { //预验收如果不带回,则清除已出库相关库存 for (IoCodeEntity codeEntity : codeList) { if (StrUtil.isEmpty(codeEntity.getSerialNo())) { @@ -688,15 +743,17 @@ public class IoCheckInoutService { if (count >= 0) { isBreak = true; if (count == 0) { - invPreinDetailService.deleteByCode(key, codeEntity.getCode()); +// invPreinDetailService.deleteByCode(key, codeEntity.getCode()); } else { + invPreinDetailEntity.setStatus(ConstantStatus.INVIN_IN); invPreinDetailEntity.setCount(count); invPreinDetailService.update(invPreinDetailEntity); } int reCount = invPreinDetailEntity.getReCount() - codeEntity.getMyReCount(); if (reCount == 0) { - invPreinDetailService.deleteByCode(key, codeEntity.getCode()); +// invPreinDetailService.deleteByCode(key, codeEntity.getCode()); } else { + invPreinDetailEntity.setStatus(ConstantStatus.INVIN_IN); invPreinDetailEntity.setReCount(reCount); invPreinDetailService.update(invPreinDetailEntity); } @@ -705,7 +762,7 @@ public class IoCheckInoutService { } } else { - invPreinDetailService.deleteByCode(key, codeEntity.getCode()); +// invPreinDetailService.deleteByCode(key, codeEntity.getCode()); } } diff --git a/src/main/java/com/glxp/api/service/inout/IoCodeLostService.java b/src/main/java/com/glxp/api/service/inout/IoCodeLostService.java index 66e8d5b5..dd4cc411 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCodeLostService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCodeLostService.java @@ -8,6 +8,7 @@ public interface IoCodeLostService { int insert(IoCodeLostEntity ioCodeLostEntity); + boolean insertOrUpdate(IoCodeLostEntity ioCodeLostEntity); int deleteByCode(String code); diff --git a/src/main/java/com/glxp/api/service/inout/IoGenInvService.java b/src/main/java/com/glxp/api/service/inout/IoGenInvService.java index e1317469..e4cce5b1 100644 --- a/src/main/java/com/glxp/api/service/inout/IoGenInvService.java +++ b/src/main/java/com/glxp/api/service/inout/IoGenInvService.java @@ -186,6 +186,9 @@ public class IoGenInvService { InvPreinDetailEntity invPreinDetailEntity = new InvPreinDetailEntity(); BeanUtils.copyProperties(codeEntity, invPreinDetailEntity); invPreinDetailEntity.setId(null); + invPreinDetailEntity.setStatus(ConstantStatus.INVIN_IN); + invPreinDetailEntity.setOriginCount(codeEntity.getCount()); + invPreinDetailEntity.setOriginReCount(codeEntity.getReCount()); invPreinDetailEntities.add(invPreinDetailEntity); }); diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoCodeLostServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoCodeLostServiceImpl.java index ddf611c7..cb07be0f 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoCodeLostServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoCodeLostServiceImpl.java @@ -24,9 +24,15 @@ public class IoCodeLostServiceImpl implements IoCodeLostService { @Override public int insert(IoCodeLostEntity ioCodeLostEntity) { + return codeLostEntityMapper.insert(ioCodeLostEntity); } + @Override + public boolean insertOrUpdate(IoCodeLostEntity ioCodeLostEntity) { + return codeLostEntityMapper.insertOrUpdate(ioCodeLostEntity); + } + @Override public int deleteByCode(String code) { return codeLostEntityMapper.delete(new QueryWrapper().eq("code", code)); diff --git a/src/main/java/com/glxp/api/service/inv/InvPreinDetailService.java b/src/main/java/com/glxp/api/service/inv/InvPreinDetailService.java index b49123e5..2ded2a0c 100644 --- a/src/main/java/com/glxp/api/service/inv/InvPreinDetailService.java +++ b/src/main/java/com/glxp/api/service/inv/InvPreinDetailService.java @@ -17,7 +17,12 @@ public interface InvPreinDetailService { List findByCode(String code); - InvPreinDetailEntity findOneByCode(String code); +// InvPreinDetailEntity findOneByCode(String code); + + + List findUseByCode(String code); + + InvPreinDetailEntity findUseOneByCode(String code); int deleteByOrderId(String orderId); @@ -29,4 +34,6 @@ public interface InvPreinDetailService { int update(InvPreinDetailEntity invPreinDetailEntity); + int updateBack(String orderId); + } diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPreinDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPreinDetailServiceImpl.java index 5e6770a2..633a4e66 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPreinDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPreinDetailServiceImpl.java @@ -3,6 +3,7 @@ package com.glxp.api.service.inv.impl; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; +import com.glxp.api.constant.ConstantStatus; import com.glxp.api.dao.inv.InvPreinDetailDao; import com.glxp.api.dao.inv.InvPreinOrderDao; import com.glxp.api.entity.inv.InvPreProductDetailEntity; @@ -41,19 +42,34 @@ public class InvPreinDetailServiceImpl implements InvPreinDetailService { } @Override - public List findByCode(String code) { - return invPreinDetailDao.selectList(new QueryWrapper().eq("code", code)); + public List findUseByCode(String code) { + return invPreinDetailDao.selectList(new QueryWrapper().eq("code", code).eq("status", ConstantStatus.INVIN_IN)); } @Override - public InvPreinDetailEntity findOneByCode(String code) { - List invPreinDetailEntities = invPreinDetailDao.selectList(new QueryWrapper().eq("code", code).last("limit 1")); + public InvPreinDetailEntity findUseOneByCode(String code) { + List invPreinDetailEntities = invPreinDetailDao.selectList(new QueryWrapper().eq("code", code) + .eq("status", ConstantStatus.INVIN_IN).last("limit 1")); if (CollUtil.isNotEmpty(invPreinDetailEntities)) { return invPreinDetailEntities.get(0); } return null; } + @Override + public List findByCode(String code) { + return invPreinDetailDao.selectList(new QueryWrapper().eq("code", code)); + } +// +// @Override +// public InvPreinDetailEntity findOneByCode(String code) { +// List invPreinDetailEntities = invPreinDetailDao.selectList(new QueryWrapper().eq("code", code).last("limit 1")); +// if (CollUtil.isNotEmpty(invPreinDetailEntities)) { +// return invPreinDetailEntities.get(0); +// } +// return null; +// } + @Override public int deleteByOrderId(String orderId) { return invPreinDetailDao.delete(new QueryWrapper().eq("orderId", orderId)); @@ -81,8 +97,18 @@ public class InvPreinDetailServiceImpl implements InvPreinDetailService { @Override public int update(InvPreinDetailEntity invPreinDetailEntity) { + + return invPreinDetailDao.updateById(invPreinDetailEntity); } + @Override + public int updateBack(String orderId) { + InvPreinDetailEntity invPreinDetailEntity = new InvPreinDetailEntity(); + invPreinDetailEntity.setStatus(ConstantStatus.INVIN_BACK); + invPreinDetailDao.update(invPreinDetailEntity, new QueryWrapper().eq("orderId", orderId).ne("status", ConstantStatus.INVIN_USE)); + return 1; + } + } diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml index 382f29a9..9d590e3f 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml @@ -123,12 +123,6 @@ AND date_format(createTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d') - - AND date_format(createTime, '%Y-%m-%d') >= date_format(#{startTime}, '%Y-%m-%d') - - - AND date_format(createTime, '%Y-%m-%d') <= date_format(#{endTime}, '%Y-%m-%d') - order by createTime desc diff --git a/src/main/resources/mybatis/mapper/inv/InvPreinDetailDao.xml b/src/main/resources/mybatis/mapper/inv/InvPreinDetailDao.xml index 9d50c12c..e7f7944c 100644 --- a/src/main/resources/mybatis/mapper/inv/InvPreinDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvPreinDetailDao.xml @@ -4,16 +4,48 @@