diff --git a/src/main/java/com/glxp/api/constant/ConstantStatus.java b/src/main/java/com/glxp/api/constant/ConstantStatus.java index f31bff7f8..a53b8d32f 100644 --- a/src/main/java/com/glxp/api/constant/ConstantStatus.java +++ b/src/main/java/com/glxp/api/constant/ConstantStatus.java @@ -47,6 +47,12 @@ public class ConstantStatus { */ public static final Integer ORDER_STATUS_AUDITED_REFUSED = 8; + /** + * 已提交正在处理 + */ + public static final Integer ORDER_STATUS_PROCESSING = 9; + + public static final Integer ORDER_STATUS_ADDITIONAL = 5; //补录单据 // public static final Integer ORDER_STATUS_RECEIVEED = 7; diff --git a/src/main/java/com/glxp/api/dao/inout/IoOrderDao.java b/src/main/java/com/glxp/api/dao/inout/IoOrderDao.java index 11c2aa554..12241a75b 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoOrderDao.java +++ b/src/main/java/com/glxp/api/dao/inout/IoOrderDao.java @@ -24,4 +24,13 @@ public interface IoOrderDao extends BaseMapperPlus filterOrderList(FilterOrderRequest filterOrderRequest); + + + /** + * 查询补单单号为空的单据号 + * + * @return + */ + List selectSupplementOrderList(); + } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailBizEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailBizEntity.java index cce0050c0..559201c2f 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailBizEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailBizEntity.java @@ -11,7 +11,7 @@ import java.math.BigDecimal; @Data @TableName(value = "io_order_detail_biz") public class IoOrderDetailBizEntity { - @TableId(value = "id", type = IdType.INPUT) + @TableId(value = "id", type = IdType.AUTO) private Integer id; /** diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailCodeEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailCodeEntity.java index a7f2b0d57..56a68778c 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailCodeEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailCodeEntity.java @@ -11,7 +11,7 @@ import java.math.BigDecimal; @Data @TableName(value = "io_order_detail_code") public class IoOrderDetailCodeEntity { - @TableId(value = "id", type = IdType.INPUT) + @TableId(value = "id", type = IdType.AUTO) private Integer id; /** diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailResultEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailResultEntity.java index 786282a26..e058f8127 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailResultEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailResultEntity.java @@ -11,7 +11,7 @@ import java.math.BigDecimal; @Data @TableName(value = "io_order_detail_result") public class IoOrderDetailResultEntity { - @TableId(value = "id", type = IdType.INPUT) + @TableId(value = "id", type = IdType.AUTO) private Integer id; /** diff --git a/src/main/java/com/glxp/api/entity/inv/InvProductDetailEntity.java b/src/main/java/com/glxp/api/entity/inv/InvProductDetailEntity.java index 4a61bd17d..cd0a72e39 100644 --- a/src/main/java/com/glxp/api/entity/inv/InvProductDetailEntity.java +++ b/src/main/java/com/glxp/api/entity/inv/InvProductDetailEntity.java @@ -11,7 +11,7 @@ import java.util.Date; @Data @TableName(value = "inv_product_detail") public class InvProductDetailEntity { - @TableId(value = "id", type = IdType.INPUT) + @TableId(value = "id", type = IdType.AUTO) private Integer id; /** 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 2d0887f27..f327b2d6c 100644 --- a/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java +++ b/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java @@ -113,4 +113,6 @@ public class FilterOrderRequest extends ListPageRequest { */ private String invCode; + private String igNoreBillNo; + } diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java index cd6c646d8..c7a6d3540 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java @@ -201,6 +201,10 @@ public class IoOrderResponse { private String fromName; + //是否可以补单 + private boolean enableSupplementOrder; + + public String getFromName() { if (StrUtil.isNotEmpty(fromCorpName)) diff --git a/src/main/java/com/glxp/api/service/basic/UdiRlSupService.java b/src/main/java/com/glxp/api/service/basic/UdiRlSupService.java index 6b49b5824..b699c61b5 100644 --- a/src/main/java/com/glxp/api/service/basic/UdiRlSupService.java +++ b/src/main/java/com/glxp/api/service/basic/UdiRlSupService.java @@ -22,6 +22,8 @@ public interface UdiRlSupService { UdiRlSupEntity findByUdiRlIdUnitFk(String udiRlIdFk, String unitFk); + List findByUdiRlId(String udiRlIdFk); + UdiRlSupEntity findCompanyProductRelevanceByProductUuid(UdiRlSupEntity udiRlSupEntity); List getCompanyProductRelevance(FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest); diff --git a/src/main/java/com/glxp/api/service/basic/impl/UdiRlSupServiceImpl.java b/src/main/java/com/glxp/api/service/basic/impl/UdiRlSupServiceImpl.java index bf37e601a..2dd4fd455 100644 --- a/src/main/java/com/glxp/api/service/basic/impl/UdiRlSupServiceImpl.java +++ b/src/main/java/com/glxp/api/service/basic/impl/UdiRlSupServiceImpl.java @@ -83,6 +83,14 @@ public class UdiRlSupServiceImpl implements UdiRlSupService { return null; } + @Override + public List findByUdiRlId(String udiRlIdFk) { + FilterCompanyProductRelevanceRequest filterCompanyProductRelevanceRequest = new FilterCompanyProductRelevanceRequest(); + filterCompanyProductRelevanceRequest.setUdiRlIdFk(udiRlIdFk); + List companyProductRelevanceEntities = udiRlSupDao.filterCompanyProductRelevance(filterCompanyProductRelevanceRequest); + return companyProductRelevanceEntities; + } + @Override public UdiRlSupEntity findCompanyProductRelevanceByProductUuid(UdiRlSupEntity udiRlSupEntity) { return udiRlSupDao.findCompanyProductRelevanceByProductUuid(udiRlSupEntity); diff --git a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java index 370f9e2a3..4bd4260b4 100644 --- a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java @@ -1,30 +1,47 @@ package com.glxp.api.service.inout; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; +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.Constant; import com.glxp.api.constant.ConstantStatus; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; +import com.glxp.api.entity.basic.BasicCorpEntity; +import com.glxp.api.entity.basic.UdiEntity; import com.glxp.api.entity.basic.UdiRlSupEntity; import com.glxp.api.entity.inout.IoCodeEntity; import com.glxp.api.entity.inout.IoCodeTempEntity; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderEntity; +import com.glxp.api.entity.inv.InvProductDetailEntity; +import com.glxp.api.entity.system.SystemParamConfigEntity; +import com.glxp.api.req.basic.CompanyProductRelevanceRequest; import com.glxp.api.req.basic.FilterCompanyProductRelevanceRequest; +import com.glxp.api.req.inout.FilterOrderRequest; import com.glxp.api.req.inout.PdaCodeEntity; import com.glxp.api.req.inout.PostOrderRequest; import com.glxp.api.res.basic.UdiRelevanceResponse; +import com.glxp.api.service.basic.BasicCorpService; import com.glxp.api.service.basic.UdiRelevanceService; import com.glxp.api.service.basic.UdiRlSupService; import com.glxp.api.service.basic.IBasicBussinessTypeService; +import com.glxp.api.service.inv.InvProductDetailService; +import com.glxp.api.service.inv.InvProductService; +import com.glxp.api.service.system.SystemParamConfigService; +import com.glxp.api.util.CustomUtil; import com.glxp.api.util.DateUtil; import com.glxp.api.util.GennerOrderUtils; import com.glxp.api.util.OrderNoTypeBean; +import com.glxp.api.util.udi.FilterUdiUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Date; import java.util.List; @Service @@ -39,11 +56,266 @@ public class IoAddInoutService { @Resource IoCodeService codeService; @Resource + IoCodeTempService codeTempService; + @Resource UdiRlSupService udiRlSupService; @Resource IoOrderDetailCodeService orderDetailCodeService; @Resource UdiRelevanceService udiRelevanceService; + @Resource + InvProductDetailService invProductDetailService; + @Resource + BasicCorpService basicCorpService; + @Resource + IoCheckInoutService ioCheckInoutService; + @Resource + SystemParamConfigService systemParamConfigService; + + //新增单据处理 + public void dealProcess(IoOrderEntity orderEntity) { + + orderEntity.setRemark("正在处理!"); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESSING); + orderEntity.setUpdateTime(new Date()); + orderService.update(orderEntity); + + List orderEntities = orderService.isExitRepeat(orderEntity.getCorpOrderId(), orderEntity.getBillNo()); + + if (CollUtil.isNotEmpty(orderEntities)) { + orderEntity.setRemark("单据重复上传"); + orderEntity.setStatus(ConstantStatus.ORDER_STATS_ERROR); + orderEntity.setUpdateTime(new Date()); + orderService.update(orderEntity); + return; + } + + BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); + if (bussinessTypeEntity == null) { + orderEntity.setRemark("单据类型不存在"); + orderEntity.setStatus(ConstantStatus.ORDER_STATS_ERROR); + orderEntity.setUpdateTime(new Date()); + orderService.update(orderEntity); + return; + } + if (StrUtil.isEmpty(orderEntity.getFromCorp()) && StrUtil.isEmpty(orderEntity.getFromInvCode())) { + orderEntity.setRemark("未选择往来单位"); + orderEntity.setStatus(ConstantStatus.ORDER_STATS_ERROR); + orderEntity.setUpdateTime(new Date()); + orderService.update(orderEntity); + return; + } else if (StrUtil.isNotEmpty(orderEntity.getFromCorp())) { + if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT && bussinessTypeEntity.isGenUnit()) { + + BasicCorpEntity basicCorpEntity = basicCorpService.selectByName(orderEntity.getFromCorp()); + if (basicCorpEntity == null) { + basicCorpEntity = new BasicCorpEntity(); + basicCorpEntity.setErpId(CustomUtil.getUnitId()); + basicCorpEntity.setCorpType(ConstantStatus.CORP_SICK); + basicCorpEntity.setOutType(ConstantStatus.CORP_SICK_SICK); + basicCorpEntity.setName(orderEntity.getFromCorp()); + + } + orderEntity.setFromCorp(basicCorpEntity.getErpId()); + orderEntity.setUpdateTime(new Date()); + orderService.update(orderEntity); + basicCorpService.insertBasicUnitMaintain(basicCorpEntity); + } + } + + + if (StrUtil.isEmpty(orderEntity.getInvCode())) { + orderEntity.setRemark("未选择当前仓库信息"); + orderEntity.setStatus(ConstantStatus.ORDER_STATS_ERROR); + orderEntity.setUpdateTime(new Date()); + orderService.update(orderEntity); + return; + } + + + List filterList = codeTempService.findByOrderId(orderEntity.getBillNo()); + List insertList = new ArrayList<>(); + + for (int j = 0; j < filterList.size(); j++) { + IoCodeTempEntity warehouseEntity = filterList.get(j); + String result = checkOrderRepeatCode(warehouseEntity, filterList); + if (result == null) { + insertList.add(warehouseEntity); + } else { + orderEntity.setStatus(ConstantStatus.ORDER_STATS_ERROR); + orderEntity.setUpdateTime(new Date()); + orderService.update(orderEntity); + insertList.clear(); + return; + } + //三期校验 + String checkOriginMsg = checkOriginCode(warehouseEntity); + if (StrUtil.isNotEmpty(checkOriginMsg)) { + orderEntity.setRemark("checkOriginMsg"); + orderEntity.setStatus(ConstantStatus.ORDER_STATS_ERROR); + orderEntity.setUpdateTime(new Date()); + orderService.update(orderEntity); + insertList.clear(); + return; + } + + //产品是否已维护已关联 + if ((warehouseEntity.getRelId() == null)) { + orderEntity.setStatus(ConstantStatus.ORDER_STATS_ERROR); + orderEntity.setUpdateTime(new Date()); + orderEntity.setRemark("udi码:" + warehouseEntity.getCode() + "上传时对照数据丢失,请选择对!"); + orderService.update(orderEntity); + return; + } + + //产品是否指定供应商 + if (StrUtil.isEmpty(warehouseEntity.getSupId())) { + orderEntity.setStatus(ConstantStatus.ORDER_STATS_ERROR); + orderEntity.setUpdateTime(new Date()); + orderEntity.setRemark("udi码:" + warehouseEntity.getCode() + "未指定供应商!"); + orderService.update(orderEntity); + return; + } + + //校验是否是当前供应商 + if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { + UdiRlSupEntity udiRlSupEntity = udiRlSupService.findByUdiRlIdUnitFk(warehouseEntity.getRelId() + "", orderEntity.getFromCorp()); + if (udiRlSupEntity == null) { + orderEntity.setStatus(ConstantStatus.ORDER_STATS_ERROR); + orderEntity.setUpdateTime(new Date()); + orderEntity.setRemark("udi码:" + warehouseEntity.getCode() + "当前供应商不存在此配送产品"); + orderService.update(orderEntity); + return; + } + } + + //产品是否可以以使用单元入库 + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(warehouseEntity.getRelId()); + if (udiRelevanceResponse == null) { + orderEntity.setStatus(ConstantStatus.ORDER_STATS_ERROR); + orderEntity.setUpdateTime(new Date()); + orderEntity.setRemark("udi码:" + warehouseEntity.getCode() + "该产品信息未维护"); + orderService.update(orderEntity); + return; + } else if (!udiRelevanceResponse.getUseDy() && udiRelevanceResponse.getDiType() == ConstantStatus.DITYPE_SYDY) { + + orderEntity.setStatus(ConstantStatus.ORDER_STATS_ERROR); + orderEntity.setUpdateTime(new Date()); + orderEntity.setRemark("udi码:" + warehouseEntity.getCode() + "该产品不允许以使用单元入库"); + orderService.update(orderEntity); + return; + } + + } + + if (CollUtil.isNotEmpty(insertList)) { + //临时表转正式表 + List ioCodeEntities = new ArrayList<>(); + for (IoCodeTempEntity codeTempEntity : insertList) { + IoCodeEntity codeEntity = new IoCodeEntity(); + BeanUtils.copyProperties(codeTempEntity, codeEntity); + ioCodeEntities.add(codeEntity); + } + codeService.insertBatch(ioCodeEntities); + + //生成扫码单据详情 + if (!orderDetailCodeService.isExit(orderEntity.getBillNo())) { + for (IoCodeTempEntity codeTempEntity : insertList) { + genOrderDetailCode(orderEntity, codeTempEntity); + } + } + codeTempService.deleteByBillNo(orderEntity.getBillNo()); + + //进行单据校验 + ioCheckInoutService.check(orderEntity.getBillNo()); + } + + } + + //生成扫码单据详情 + public void genOrderDetailCode(IoOrderEntity orderEntity, IoCodeTempEntity codeTempEntity) { + + List ioOrderDetailCodeEntities = orderDetailCodeService.findByOrderId(orderEntity.getBillNo()); + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(codeTempEntity.getRelId()); + if (CollUtil.isEmpty(ioOrderDetailCodeEntities)) { + orderDetailCodeService.insert(buildEntity(orderEntity, codeTempEntity, udiRelevanceResponse)); + } else { + ioOrderDetailCodeEntities.forEach(orderDetailCodeEntity -> + { + if (orderDetailCodeEntity.getBindRlFk().longValue() == udiRelevanceResponse.getId().longValue() && orderDetailCodeEntity.getBatchNo().equals(codeTempEntity.getBatchNo())) { + orderDetailCodeEntity.setCount(orderDetailCodeEntity.getCount() + codeTempEntity.getCount()); + orderDetailCodeEntity.setReCount(orderDetailCodeEntity.getReCount() + codeTempEntity.getReCount()); + orderDetailCodeService.update(orderDetailCodeEntity); + } else { + orderDetailCodeService.insert(buildEntity(orderEntity, codeTempEntity, udiRelevanceResponse)); + } + }); + } + } + + //平衡补单 + public BaseResponse supplementOrder(String orderId) { + + IoOrderEntity order = orderService.findByBillNo(orderId); + BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(order.getAction()); + if (StrUtil.isBlank(bussinessTypeEntity.getSupplementOrderType())) { + return ResultVOUtils.error(ResultEnum.valueOf("此类型单据不可补单")); + } + IoOrderEntity supplementOrder = new IoOrderEntity(); + BeanUtil.copyProperties(order, supplementOrder); + + //生成补单单号,互填单号 + String supplementOrderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(bussinessTypeEntity.getPrefix()), "yyyyMMdd")); + supplementOrder.setSupplementNo(orderId); + order.setSupplementNo(supplementOrderNo); + supplementOrder.setBillNo(supplementOrderNo); + supplementOrder.setCorpOrderId(CustomUtil.getId() + "x"); + + //修改状态 + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); + if ("1".equals(systemParamConfigEntity.getParamValue())) { + supplementOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); //设置状态为补录单据 + } else { + supplementOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL); //设置状态为补录单据 + } + + //交换往来信息 + supplementOrder.setFromDeptCode(order.getDeptCode()); + supplementOrder.setFromInvCode(order.getInvCode()); + supplementOrder.setInvCode(order.getFromInvCode()); + supplementOrder.setDeptCode(order.getFromDeptCode()); + supplementOrder.setFromType(ConstantStatus.FROM_PEACE_CHANGE); + + //设置往来信息 + BasicBussinessTypeEntity supplementType = basicBussinessTypeService.findByAction(bussinessTypeEntity.getSupplementOrderType()); + supplementOrder.setMainAction(supplementType.getMainAction()); + supplementOrder.setAction(supplementType.getAction()); + + //复制码表 + List codes = codeService.findByOrderId(orderId); + List supplementCodes = new ArrayList<>(); + codes.forEach( + code -> { + IoCodeTempEntity supplementCode = new IoCodeTempEntity(); + BeanUtil.copyProperties(code, supplementCode); + supplementCode.setId(null); + supplementCode.setInvCode(order.getFromInvCode()); + supplementCode.setDeptCode(order.getFromDeptCode()); + supplementCode.setOrderId(supplementOrderNo); + supplementCode.setAction(supplementType.getAction()); + supplementCode.setMainAction(supplementType.getMainAction()); + supplementCodes.add(supplementCode); + + } + ); + + //更新数据 + orderService.insertOrder(supplementOrder); + orderService.update(order); + codeTempService.insertBatch(supplementCodes); + dealProcess(supplementOrder); + return ResultVOUtils.success(); + } //手持终端上传生成扫码单据 public void creatOrderByPda(PostOrderRequest postOrderRequest) { @@ -196,28 +468,62 @@ public class IoAddInoutService { return null; } + //查询本单是否有重复条码 + public String checkOrderRepeatCode(IoCodeTempEntity codeEntity, List filterList) { + int count = 0; + if (filterList != null) { + for (IoCodeTempEntity temp : filterList) { + if (temp.getCode().equals(codeEntity.getCode())) { + count = count + 1; + } + } + } + if (count > 1) { + return codeEntity.getCode() + "条码重复"; + } else + return null; + } - //生成扫码单据详情 - public void genOrderDetailCode(IoOrderEntity orderEntity, IoCodeTempEntity codeTempEntity) { - List ioOrderDetailCodeEntities = orderDetailCodeService.findByOrderId(orderEntity.getBillNo()); - UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(codeTempEntity.getRelId()); - if (CollUtil.isEmpty(ioOrderDetailCodeEntities)) { - orderDetailCodeService.insert(buildEntity(orderEntity, codeTempEntity, udiRelevanceResponse)); - } else { - ioOrderDetailCodeEntities.forEach(orderDetailCodeEntity -> - { - if (orderDetailCodeEntity.getBindRlFk().longValue() == udiRelevanceResponse.getId().longValue() && orderDetailCodeEntity.getBatchNo().equals(codeTempEntity.getBatchNo())) { - orderDetailCodeEntity.setCount(orderDetailCodeEntity.getCount() + codeTempEntity.getCount()); - orderDetailCodeEntity.setReCount(orderDetailCodeEntity.getReCount() + codeTempEntity.getReCount()); - orderDetailCodeService.update(orderDetailCodeEntity); - } else { - orderDetailCodeService.insert(buildEntity(orderEntity, codeTempEntity, udiRelevanceResponse)); - } - }); + public String checkOriginCode(IoCodeTempEntity warehouseEntity) { + + UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode()); + //校验条码的完整性 + String errMsg = ""; + UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(udiEntity.getUdi()); + if (udiRelevanceResponse == null) { + return "耗材字典不存在此产品"; + } + InvProductDetailEntity invProductDetailEntity = invProductDetailService.sortFindByCode(warehouseEntity.getCode()); + if (invProductDetailEntity != null) { + if (StrUtil.isEmpty(warehouseEntity.getBatchNo())) { + warehouseEntity.setBatchNo(invProductDetailEntity.getBatchNo()); + } + if (StrUtil.isEmpty(warehouseEntity.getProduceDate())) { + warehouseEntity.setProduceDate(invProductDetailEntity.getProduceDate()); + } + if (StrUtil.isEmpty(warehouseEntity.getExpireDate())) { + warehouseEntity.setExpireDate(invProductDetailEntity.getExpireDate()); + } + } + + if (StrUtil.isEmpty(warehouseEntity.getBatchNo()) && !udiRelevanceResponse.getAllowNoBatch()) { + errMsg = errMsg + ",批次号"; } + if (StrUtil.isEmpty(warehouseEntity.getProduceDate()) && !udiRelevanceResponse.getAllowNoProduct()) { + errMsg = errMsg + ",生产日期"; + } + if (StrUtil.isEmpty(warehouseEntity.getExpireDate()) && !udiRelevanceResponse.getAllowNoExpire()) { + errMsg = errMsg + ",失效日期"; + } + + if (StrUtil.isNotEmpty(errMsg)) { + return "UDI码" + warehouseEntity.getCode() + "产品三期缺失请补齐" + errMsg.substring(1) + ""; + } + return null; } + IoOrderDetailCodeEntity buildEntity(IoOrderEntity orderEntity, IoCodeTempEntity codeTempEntity, UdiRelevanceResponse udiRelevanceResponse) { IoOrderDetailCodeEntity ioOrderDetailCodeEntity = new IoOrderDetailCodeEntity(); ioOrderDetailCodeEntity.setOrderIdFk(orderEntity.getBillNo()); @@ -240,4 +546,5 @@ public class IoAddInoutService { return ioOrderDetailCodeEntity; } + } 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 697254adf..4d1f36e4b 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -137,12 +137,14 @@ public class IoCheckInoutService { //生成业务单据 IoOrderDetailBizEntity orderDetailBizEntity = new IoOrderDetailBizEntity(); BeanUtils.copyProperties(orderDetailCodeEntity, orderDetailBizEntity); + orderDetailBizEntity.setId(null); orderDetailBizService.insert(orderDetailBizEntity); //生成单据结果 IoOrderDetailResultEntity orderDetailResultEntity = new IoOrderDetailResultEntity(); BeanUtils.copyProperties(orderDetailCodeEntity, orderDetailResultEntity); + orderDetailResultEntity.setId(null); orderDetailResultService.insert(orderDetailResultEntity); }); @@ -152,6 +154,7 @@ public class IoCheckInoutService { for (IoCodeTempEntity codeTempEntity : codeTempEntities) { IoCodeEntity codeEnttity = new IoCodeEntity(); BeanUtils.copyProperties(codeTempEntity, codeEnttity); + codeEnttity.setId(null); codeService.insert(codeEnttity); } codeTempService.deleteByBillNo(orderEntity.getBillNo()); @@ -168,7 +171,7 @@ public class IoCheckInoutService { List orderDetailBizEntities = orderDetailBizService.findByOrderId(orderEntity.getBillNo()); if (CollUtil.isEmpty(orderDetailCodeEntities)) { - orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_FAIL); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK); orderEntity.setUpdateTime(new Date()); orderEntity.setErrMsg("校验失败,扫码详情为空!"); orderService.update(orderEntity); @@ -176,12 +179,13 @@ public class IoCheckInoutService { } if (CollUtil.isEmpty(orderDetailBizEntities)) { - orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_FAIL); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK); orderEntity.setUpdateTime(new Date()); orderEntity.setErrMsg("校验失败,业务详情为空!"); orderService.update(orderEntity); return; } + String errMsg = ""; //正向校验 for (IoOrderDetailBizEntity bizEntity : orderDetailBizEntities) { @@ -242,6 +246,7 @@ public class IoCheckInoutService { for (IoOrderDetailBizEntity orderDetailBizEntity : orderDetailBizEntities) { IoOrderDetailResultEntity orderDetailResultEntity = new IoOrderDetailResultEntity(); BeanUtils.copyProperties(orderDetailBizEntity, orderDetailResultEntity); + orderDetailResultEntity.setId(null); orderDetailResultEntity.setReCount(orderDetailBizEntity.getScanCount()); orderDetailResultService.insert(orderDetailResultEntity); } 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 8f4c6458c..b8d11acae 100644 --- a/src/main/java/com/glxp/api/service/inout/IoGenInvService.java +++ b/src/main/java/com/glxp/api/service/inout/IoGenInvService.java @@ -140,6 +140,7 @@ public class IoGenInvService { { InvPreinDetailEntity invPreinDetailEntity = new InvPreinDetailEntity(); BeanUtils.copyProperties(codeEntity, invPreinDetailEntity); + invPreinDetailEntity.setId(null); invPreinDetailEntities.add(invPreinDetailEntity); }); @@ -235,9 +236,13 @@ public class IoGenInvService { if (targetBustypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) { outOrder.setCustomerId(corpName); outOrder.setFromCorp(corpName); + outOrder.setFromInvCode(null); + outOrder.setFromDeptCode(null); } else { outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); outOrder.setFromInvCode(bussinessChangeTypeEntity.getDefaultInvCode()); + outOrder.setFromDeptCode(bussinessChangeTypeEntity.getDefaultDeptCode()); + outOrder.setFromCorp(null); } outOrder.setCorpOrderId(CustomUtil.getId() + "x"); InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(bussinessChangeTypeEntity.getInvCode()); @@ -262,16 +267,20 @@ public class IoGenInvService { for (IoCodeEntity warehouseEntity : temps) { IoCodeTempEntity codeTempEntity = new IoCodeTempEntity(); BeanUtils.copyProperties(warehouseEntity, codeTempEntity); - codeTempEntity.setOrderId(outOrder.getBillNo()); codeTempEntity.setId(null); + codeTempEntity.setOrderId(outOrder.getBillNo()); codeTempEntity.setAction(outOrder.getAction()); codeTempEntity.setMainAction(outOrder.getMainAction()); codeTempEntities.add(codeTempEntity); } codeTempService.insertBatch(codeTempEntities); + addInoutService.dealProcess(outOrder); } } + @Resource + IoAddInoutService addInoutService; + //计算当前库存数量 public int getInvCount(IoCodeEntity codeEntity) { diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java b/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java index 9fe63e0f4..4dd835fec 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java @@ -37,4 +37,6 @@ public interface IoOrderDetailCodeService { int deleteByOrderId(String orderId); public List checkOrderList(String orderId); + + boolean isExit(String orderId); } diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderService.java b/src/main/java/com/glxp/api/service/inout/IoOrderService.java index 837cc6483..bfbe7f14f 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderService.java @@ -11,6 +11,10 @@ public interface IoOrderService { List selectAll(); + List findAll(FilterOrderRequest filterOrderRequest); + + List isExitRepeat(String corpOrderId, String billNo); + IoOrderEntity findById(String orderId); IoOrderEntity findByBillNo(String billNO); @@ -42,4 +46,12 @@ public interface IoOrderService { * @return */ List filterOrderList(FilterOrderRequest filterOrderRequest); + + + List selectSupplementOrderList(); + + /** + * 判断订单是否可以补单 + */ + List checkSupplementOrder(List orderEntities); } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoCodeServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoCodeServiceImpl.java index 0fb58c43d..657bb3909 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoCodeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoCodeServiceImpl.java @@ -25,6 +25,7 @@ public class IoCodeServiceImpl implements IoCodeService { @Override public int insert(IoCodeEntity codeEnttity) { + codeEnttity.setId(null); return ioCodeDao.insert(codeEnttity); } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoCodeTempServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoCodeTempServiceImpl.java index 0f83195e7..9c101d9b1 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoCodeTempServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoCodeTempServiceImpl.java @@ -28,6 +28,7 @@ public class IoCodeTempServiceImpl implements IoCodeTempService { @Override public int insert(IoCodeTempEntity codeEnttity) { + codeEnttity.setId(null); return ioCodeTempDao.insert(codeEnttity); } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java index 4769b5157..15f7fcd6a 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java @@ -29,6 +29,7 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService { @Override public int insert(IoOrderDetailBizEntity orderDetailBizEntity) { + orderDetailBizEntity.setId(null); return ioOrderDetailBizDao.insert(orderDetailBizEntity); } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java index 9e22451df..620434a03 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java @@ -25,6 +25,10 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService { @Resource IoOrderDetailCodeDao ioOrderDetailCodeDao; + @Resource + IoOrderDetailBizService orderDetailBizService; + @Resource + IoCheckInoutService checkInoutService; @Override public List findByOrderId(String orderId) { @@ -38,6 +42,7 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService { @Override public int insert(IoOrderDetailCodeEntity orderDetailCodeEntity) { + orderDetailCodeEntity.setId(null); return ioOrderDetailCodeDao.insert(orderDetailCodeEntity); } @@ -68,11 +73,6 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService { } - @Resource - IoOrderDetailBizService orderDetailBizService; - @Resource - IoCheckInoutService checkInoutService; - @Override public List checkOrderList(String orderId) { @@ -81,4 +81,9 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService { checkInoutService.codeOrderCheck(orderDetailCodeEntities, orderDetailBizEntities); return orderDetailCodeEntities; } + + @Override + public boolean isExit(String orderId) { + return ioOrderDetailCodeDao.exists(new QueryWrapper().eq("orderIdFk", orderId)); + } } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailResultServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailResultServiceImpl.java index 62f3f4933..a0d43c9c5 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailResultServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailResultServiceImpl.java @@ -26,6 +26,7 @@ public class IoOrderDetailResultServiceImpl implements IoOrderDetailResultServic @Override public int insert(IoOrderDetailResultEntity orderDetailResultEntity) { + orderDetailResultEntity.setId(null); return orderDetailResultDao.insert(orderDetailResultEntity); } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java index d600c9987..957851c12 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderServiceImpl.java @@ -1,8 +1,16 @@ package com.glxp.api.service.inout.impl; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; +import com.glxp.api.constant.ConstantStatus; +import com.glxp.api.dao.basic.BasicBussinessTypeDao; import com.glxp.api.dao.inout.IoOrderDao; +import com.glxp.api.entity.auth.SysDictData; +import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.req.inout.FilterOrderRequest; import com.glxp.api.res.inout.IoOrderResponse; @@ -10,6 +18,7 @@ import com.glxp.api.service.inout.IoOrderService; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -24,6 +33,30 @@ public class IoOrderServiceImpl implements IoOrderService { return orderDao.selectList(); } + @Override + public List findAll(FilterOrderRequest filterOrderRequest) { + QueryWrapper queryWrapper = new QueryWrapper() + .eq(StrUtil.isNotEmpty(filterOrderRequest.getCustomerId()), "customerId", filterOrderRequest.getCustomerId()) + .eq(StrUtil.isNotBlank(filterOrderRequest.getCorpOrderId()), "corpOrderId", filterOrderRequest.getCorpOrderId()) + .eq(StrUtil.isNotBlank(filterOrderRequest.getBillNo()), "billNo", filterOrderRequest.getBillNo()) + .ne(StrUtil.isNotEmpty(filterOrderRequest.getIgNoreBillNo()), "billNo", filterOrderRequest.getIgNoreBillNo()); + return orderDao.selectList(queryWrapper); + } + + @Override + public List isExitRepeat(String corpOrderId, String billNo) { + + List filterStatus = new ArrayList<>(); + filterStatus.add(ConstantStatus.ORDER_DEAL_POST); + filterStatus.add(ConstantStatus.ORDER_DEAL_CHECK); + + return orderDao.selectList(new QueryWrapper() + .eq("corpOrderId", corpOrderId) + .ne("billNo", billNo) + .in("dealStatus", filterStatus) + ); + } + @Override public IoOrderEntity findById(String orderId) { return orderDao.selectById(orderId); @@ -36,6 +69,7 @@ public class IoOrderServiceImpl implements IoOrderService { @Override public int insertOrder(IoOrderEntity orderEntity) { + orderEntity.setId(null); return orderDao.insert(orderEntity); } @@ -92,4 +126,38 @@ public class IoOrderServiceImpl implements IoOrderService { return orderDao.filterOrderList(filterOrderRequest); } + @Override + public List selectSupplementOrderList() { + return orderDao.selectSupplementOrderList(); + } + + @Override + public List checkSupplementOrder(List orderEntities) { + if (CollUtil.isEmpty(orderEntities)) { + return Collections.emptyList(); + } + List result = new ArrayList<>(); + orderEntities.forEach(orderEntity -> { + IoOrderResponse response = new IoOrderResponse(); + BeanUtil.copyProperties(orderEntity, response); + if (orderEntity.getStatus().equals(ConstantStatus.ORDER_STATUS_AUDITED) && checkBusTypeSupplementOrder(orderEntity) + && StrUtil.isEmpty(orderEntity.getSupplementNo())) { + response.setEnableSupplementOrder(true); + } + result.add(response); + }); + return result; + } + + @Resource + BasicBussinessTypeDao basicBussinessTypeDao; + + boolean checkBusTypeSupplementOrder(IoOrderEntity orderEntity) { + BasicBussinessTypeEntity supplementOrderType = basicBussinessTypeDao.selectOne(new QueryWrapper().eq("action", orderEntity.getAction())); + if (supplementOrderType != null) { + return true; + } + return false; + } + } diff --git a/src/main/java/com/glxp/api/service/inv/InvProductDetailService.java b/src/main/java/com/glxp/api/service/inv/InvProductDetailService.java index 0a3b7b782..8df090251 100644 --- a/src/main/java/com/glxp/api/service/inv/InvProductDetailService.java +++ b/src/main/java/com/glxp/api/service/inv/InvProductDetailService.java @@ -11,6 +11,8 @@ public interface InvProductDetailService { List selectByUnique(Long relId, String batchNo, String supId, String deptCode, String invCode); + InvProductDetailEntity sortFindByCode(String code); + boolean insertList(List invProductDetailEntities); /** diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPreinOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPreinOrderServiceImpl.java index f7114aef3..d06b35924 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPreinOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPreinOrderServiceImpl.java @@ -17,6 +17,7 @@ public class InvPreinOrderServiceImpl implements InvPreinOrderService { @Override public void insert(InvPreinOrderEntity invPreinOrderEntity) { + invPreinOrderEntity.setId(null); invPreinOrderDao.insert(invPreinOrderEntity); } diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java index b1db70287..1e61f48e8 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvProductDetailServiceImpl.java @@ -1,5 +1,6 @@ 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.dao.inv.InvProductDetailDao; @@ -22,6 +23,7 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { @Override public int insert(InvProductDetailEntity invProductDetailEntity) { + invProductDetailEntity.setId(null); return invProductDetailDao.insert(invProductDetailEntity); } @@ -30,6 +32,15 @@ public class InvProductDetailServiceImpl implements InvProductDetailService { return invProductDetailDao.selectList(new QueryWrapper().eq("relId", relId).eq("batchNo", batchNo).eq("supId", supId).eq("deptCode", deptCode).eq("invCode", invCode)); } + @Override + public InvProductDetailEntity sortFindByCode(String code) { + List invProductDetailEntities = invProductDetailDao.selectList(new QueryWrapper().eq("code", code).orderByDesc("id")); + if (CollUtil.isNotEmpty(invProductDetailEntities)) + return invProductDetailEntities.get(0); + else + return null; + } + @Override public boolean insertList(List invProductDetailEntities) { return invProductDetailDao.insertBatch(invProductDetailEntities); diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvProductServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvProductServiceImpl.java index 44cfd7279..9658dc350 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvProductServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvProductServiceImpl.java @@ -23,6 +23,7 @@ public class InvProductServiceImpl implements InvProductService { @Override public int insert(InvProductEntity invProductEntity) { + invProductEntity.setId(null); return invProductDao.insert(invProductEntity); } diff --git a/src/main/java/com/glxp/api/task/SupplementOrderTask.java b/src/main/java/com/glxp/api/task/SupplementOrderTask.java new file mode 100644 index 000000000..8ec3cb9ff --- /dev/null +++ b/src/main/java/com/glxp/api/task/SupplementOrderTask.java @@ -0,0 +1,80 @@ +package com.glxp.api.task; + +import cn.hutool.core.collection.CollUtil; +import com.glxp.api.dao.schedule.ScheduledDao; +import com.glxp.api.entity.inout.IoOrderEntity; +import com.glxp.api.entity.system.ScheduledEntity; +import com.glxp.api.entity.system.SystemParamConfigEntity; +import com.glxp.api.req.system.ScheduledRequest; +import com.glxp.api.res.inout.IoOrderResponse; +import com.glxp.api.service.inout.IoAddInoutService; +import com.glxp.api.service.inout.IoOrderService; +import com.glxp.api.service.system.SystemParamConfigService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.SchedulingConfigurer; +import org.springframework.scheduling.config.ScheduledTaskRegistrar; +import org.springframework.scheduling.support.CronTrigger; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; + +/** + * 自动补单定时任务 + */ +@Slf4j +@Component +@EnableScheduling +public class SupplementOrderTask implements SchedulingConfigurer { + + @Resource + ScheduledDao scheduledDao; + @Resource + IoOrderService orderService; + @Resource + SystemParamConfigService systemParamConfigService; + @Resource + IoAddInoutService addInoutService; + + @Override + public void configureTasks(ScheduledTaskRegistrar taskRegistrar) { + taskRegistrar.addTriggerTask(() -> process(), + triggerContext -> { + ScheduledRequest scheduledRequest = new ScheduledRequest(); + scheduledRequest.setCronName("supplementOrderTask"); + ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest); + if (scheduledEntity == null) { + log.error("定时任务未配置,请注意!"); + return null; + } + String cron = scheduledEntity.getCron(); + return new CronTrigger(cron).nextExecutionTime(triggerContext); + }); + } + + private void process() { + + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("supplement_order_interval"); + if (!"0".equals(systemParamConfigEntity.getParamValue())) { + log.info("开始扫描需要平衡补单数据"); + //计数器 + AtomicInteger counter = new AtomicInteger(0); + List orderEntities = orderService.selectSupplementOrderList(); + if (CollUtil.isNotEmpty(orderEntities)) { + List orderResponses = orderService.checkSupplementOrder(orderEntities); + for (IoOrderResponse orderResponse : orderResponses) { + if (orderResponse.isEnableSupplementOrder()) { + //此单据可以补单 + addInoutService.supplementOrder(orderResponse.getBillNo()); + counter.addAndGet(1); + } + } + } + log.info("平衡补单,此次补单数量为:{}", counter.get()); + } + } + + +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 973044518..c450cfd9b 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -4,9 +4,9 @@ server: spring: datasource: driver-class-name: com.p6spy.engine.spy.P6SpyDriver - jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true + jdbc-url: jdbc:p6spy:mysql://192.168.0.66:3364/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true username: root - password: 123456 + password: Glxp@6066 hikari: connection-timeout: 60000 maximum-pool-size: 60 diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml index 313d8e391..a2ce4f7ba 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDao.xml @@ -76,7 +76,8 @@ AND deptCode = #{deptCode} - AND createTime between #{startTime} and #{endTime} + AND createTime between #{startTime} + and #{endTime} AND createTime >= #{startTime} @@ -86,4 +87,17 @@ + + + \ No newline at end of file