From cc1943045be155851040587b992ba7b56cb1caf2 Mon Sep 17 00:00:00 2001 From: liuchen864 <23082234@qq.com> Date: Thu, 23 Nov 2023 16:02:41 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9Bug=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../permission/PermissionServiceImpl.java | 14 +- .../vo/InspectRequestMainBaseVO.java | 11 -- .../vo/PutawayRequestMainBaseVO.java | 16 +-- .../DocumentsettingServiceImpl.java | 2 +- .../InspectRequestMainServiceImpl.java | 9 +- .../purchase/PurchaseMainServiceImpl.java | 7 +- .../PurchasereceiptJobMainServiceImpl.java | 49 ++++++- .../PurchasereceiptRecordMainServiceImpl.java | 4 +- .../PutawayRequestMainServiceImpl.java | 10 +- .../RequestsettingServiceImpl.java | 2 +- .../com/win/module/wms/util/JobUtils.java | 120 +++++++++--------- 11 files changed, 130 insertions(+), 114 deletions(-) diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/PermissionServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/PermissionServiceImpl.java index aad386f7..f2a5f0a6 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/PermissionServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/permission/PermissionServiceImpl.java @@ -4,6 +4,9 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.extra.spring.SpringUtil; +import com.google.common.annotations.VisibleForTesting; +import com.google.common.base.Suppliers; +import com.google.common.collect.Sets; import com.win.framework.common.enums.CommonStatusEnum; import com.win.framework.common.util.collection.CollectionUtils; import com.win.framework.datapermission.core.annotation.DataPermission; @@ -18,10 +21,6 @@ import com.win.module.system.dal.redis.RedisKeyConstants; import com.win.module.system.enums.permission.DataScopeEnum; import com.win.module.system.service.dept.DeptService; import com.win.module.system.service.user.AdminUserService; -import com.baomidou.dynamic.datasource.annotation.DSTransactional; -import com.google.common.annotations.VisibleForTesting; -import com.google.common.base.Suppliers; -import com.google.common.collect.Sets; import lombok.extern.slf4j.Slf4j; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; @@ -131,9 +130,8 @@ public class PermissionServiceImpl implements PermissionService { // ========== 角色-菜单的相关方法 ========== @Override - @DSTransactional // 多数据源,使用 @DSTransactional 保证本地事务,以及数据源的切换 - @CacheEvict(value = RedisKeyConstants.MENU_ROLE_ID_LIST, - allEntries = true) // allEntries 清空所有缓存,主要一次更新涉及到的 menuIds 较多,反倒批量会更快 + @Transactional + @CacheEvict(value = RedisKeyConstants.MENU_ROLE_ID_LIST, allEntries = true) // allEntries 清空所有缓存,主要一次更新涉及到的 menuIds 较多,反倒批量会更快 public void assignRoleMenu(Long roleId, Set menuIds) { // 获得角色拥有菜单编号 Set dbMenuIds = convertSet(roleMenuMapper.selectListByRoleId(roleId), RoleMenuDO::getMenuId); @@ -198,7 +196,7 @@ public class PermissionServiceImpl implements PermissionService { // ========== 用户-角色的相关方法 ========== @Override - @DSTransactional // 多数据源,使用 @DSTransactional 保证本地事务,以及数据源的切换 + @Transactional @CacheEvict(value = RedisKeyConstants.USER_ROLE_ID_LIST, key = "#userId") public void assignUserRole(Long userId, Set roleIds) { // 获得角色拥有角色编号 diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainBaseVO.java index ba212631..ed29a2fa 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/inspectRequest/vo/InspectRequestMainBaseVO.java @@ -35,7 +35,6 @@ public class InspectRequestMainBaseVO { private String number; @Schema(description = "业务类型", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "业务类型不能为空") private String businessType; @Schema(description = "从仓库代码", requiredMode = Schema.RequiredMode.REQUIRED) @@ -46,14 +45,12 @@ public class InspectRequestMainBaseVO { private String fromAreaCodes; @Schema(description = "从库位类型范围", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "从库位类型范围不能为空") private String fromLocationTypes; @Schema(description = "备注") private String remark; @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "创建时间不能为空") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime createTime; @@ -69,7 +66,6 @@ public class InspectRequestMainBaseVO { private LocalDateTime dueTime; @Schema(description = "部门", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "部门不能为空") private String departmentCode; @Schema(description = "状态") @@ -98,14 +94,12 @@ public class InspectRequestMainBaseVO { private String itemCode; @Schema(description = "检验类型", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "检验类型不能为空") private String inspectType; @Schema(description = "下一步检验动作") private String nextAction; @Schema(description = "抽检方式", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "抽检方式不能为空") private String sampleMethod; @Schema(description = "计量单位") @@ -116,26 +110,21 @@ public class InspectRequestMainBaseVO { private BigDecimal receiveQty; @Schema(description = "样品数量", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "样品数量不能为空") private BigDecimal sampleQty; @Schema(description = "货主代码") private String ownerCode; @Schema(description = "自动提交", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "自动提交不能为空") private String autoCommit; @Schema(description = "自动通过", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "自动通过不能为空") private String autoAgree; @Schema(description = "自动执行", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "自动执行不能为空") private String autoExecute; @Schema(description = "直接生成记录", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "直接生成记录不能为空") private String directCreateRecord; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestMainBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestMainBaseVO.java index ec3345ad..afa985d7 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestMainBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestMainBaseVO.java @@ -2,15 +2,12 @@ package com.win.module.wms.controller.putawayRequest.vo; import com.win.framework.excel.core.annotations.OnlyOne; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import java.time.LocalDateTime; -import javax.validation.constraints.*; +import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; /** @@ -23,7 +20,6 @@ public class PutawayRequestMainBaseVO { @Schema(description = "id", example = "id") private Long id; - @Schema(description = "供应商代码") private String supplierCode; @@ -88,19 +84,15 @@ public class PutawayRequestMainBaseVO { private String toAreaCodes; @Schema(description = "自动提交", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "自动提交不能为空") private String autoCommit; @Schema(description = "自动通过", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "自动通过不能为空") private String autoAgree; @Schema(description = "自动执行", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "自动执行不能为空") private String autoExecute; @Schema(description = "直接生成记录", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "直接生成记录不能为空") private String directCreateRecord; } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/documentsetting/DocumentsettingServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/documentsetting/DocumentsettingServiceImpl.java index 4df23dd0..a7590f2a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/documentsetting/DocumentsettingServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/documentsetting/DocumentsettingServiceImpl.java @@ -287,7 +287,7 @@ public class DocumentsettingServiceImpl implements DocumentsettingService { } @Override public DocumentsettingDO selectDocumentsettingExist(String pcode){ - QueryWrapper queryWrapper = new QueryWrapper(); + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("code",pcode); DocumentsettingDO documentsettingDO = documentsettingMapper.selectOne(queryWrapper); if(documentsettingDO != null && "TRUE".equals(documentsettingDO.getAvailable())){ diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java index 96ae5755..ea23e594 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java @@ -467,12 +467,11 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService if (inspect == null) { throw new UtilException("未找到该策略"); } - JSONArray condition = JSONUtil.parseArray(inspect.getCondition()); + JSONObject configuration = JSONUtil.parseObj(inspect.getConfiguration()); HashMap mapRule = new HashMap<>(); - for (Object o : condition) { - JSONObject entries = JSONUtil.parseObj(o); - mapRule.put(entries.get("ParamCode").toString(), entries.get("Value").toString()); - } + mapRule.put("InspectType", configuration.get("InspectType").toString()); + mapRule.put("SampleMethod", configuration.get("SampleMethod").toString()); + mapRule.put("AqList", configuration.get("AqList").toString()); String aqlList = mapRule.get("AqlList"); if (aqlList != null) { JSONArray objects = JSONUtil.parseArray(aqlList); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java index 69d755a5..9cc0efe9 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchase/PurchaseMainServiceImpl.java @@ -191,9 +191,8 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { if (purchaseMainDO != null && "TRUE".equals(purchaseMainDO.getAvailable())) { if (!"CLOSED".equals(purchaseMainDO.getStatus())) { QueryWrapper queryWrapper1 = new QueryWrapper<>(); - queryWrapper1.eq("master_id", purchaseMainDO.getId()); queryWrapper1.eq("number", pnumber); - queryWrapper1.eq("po_line", poLine); + queryWrapper1.eq("line_number", poLine); queryWrapper1.eq("item_code", pitemCode); PurchaseDetailDO purchaseDetailDO = purchaseDetailMapper.selectOne(queryWrapper1); if (purchaseDetailDO != null && "TRUE".equals(purchaseDetailDO.getAvailable())) { @@ -626,8 +625,8 @@ public class PurchaseMainServiceImpl implements PurchaseMainService { for (PurchaseMainDO purchaseMainDO : purchaseMainDOList) { QueryWrapper purchaseDetailDOQueryWrapper = new QueryWrapper<>(); purchaseDetailDOQueryWrapper.eq("number", poNumber); - purchaseDetailDOQueryWrapper.eq("line_number", poNumber); - purchaseDetailDOQueryWrapper.eq("item_code", poNumber); + purchaseDetailDOQueryWrapper.eq("line_number", poLine); + purchaseDetailDOQueryWrapper.eq("item_code", itemCode); purchaseDetailDOQueryWrapper.eq("available", "TRUE"); List purchaseDetailDOList = purchaseDetailMapper.selectList(purchaseDetailDOQueryWrapper); boolean res = false; diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java index 622b3852..219bcc7e 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java @@ -18,6 +18,8 @@ import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobDet import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainExportReqVO; import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainPageReqVO; import com.win.module.wms.controller.purchasereceiptJob.vo.PurchasereceiptJobMainUpdateReqVO; +import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailCreateReqVO; +import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestMainCreateReqVO; import com.win.module.wms.controller.rule.vo.RuleRespVO; import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; @@ -47,6 +49,8 @@ import com.win.module.wms.service.inspectRequest.InspectRequestMainService; import com.win.module.wms.service.location.LocationService; import com.win.module.wms.service.purchase.PurchaseDetailService; import com.win.module.wms.service.purchase.PurchaseMainService; +import com.win.module.wms.service.putawayRequest.PutawayRequestMainService; +import com.win.module.wms.service.requestsetting.RequestsettingService; import com.win.module.wms.service.rule.RuleService; import com.win.module.wms.service.supplierdeliverRecord.SupplierdeliverRecordMainService; import com.win.module.wms.service.transaction.TransactionService; @@ -57,6 +61,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.*; @@ -113,6 +118,10 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain private LocationService locationService; @Resource private PurchaseDetailService purchaseDetailService; + @Resource + private PutawayRequestMainService putawayRequestMainService; + @Resource + private RequestsettingService requestsettingService; @Override public PageResult getPurchasereceiptJobMainSenior(CustomConditions conditions) { @@ -408,7 +417,8 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain inspectRequestMainCreateReqVO.setPoNumber(recordDetailDO.getPoNumber()); inspectRequestMainCreateReqVO.setPoLine(recordDetailDO.getPoLine()); inspectRequestMainCreateReqVO.setUom(recordDetailDO.getUom()); - inspectRequestMainCreateReqVO.setReceiveQty(recordDetailDO.getQty()); + inspectRequestMainCreateReqVO.setReceiveQty(BigDecimal.ZERO); + inspectRequestMainCreateReqVO.setFromWarehouseCode(purchasereceiptRecordMainDO.getToWarehouseCode()); //创建子表信息 for(PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO : purchasereceiptRecordDetailDOList1) { InspectRequestDetailCreateReqVO inspectRequestDetailCreateReqVO = new InspectRequestDetailCreateReqVO(); @@ -429,15 +439,42 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain inspectRequestDetailCreateReqVOList.add(inspectRequestDetailCreateReqVO); } inspectRequestMainCreateReqVO.setSubList(inspectRequestDetailCreateReqVOList); + //创建检验申请 + inspectRequestMainService.createInspectRequestMain(inspectRequestMainCreateReqVO); } } //采购收货记录 生成后免检物品 创建 上架申请 if(switchDO2.getEffectiveSetValue().equals("TRUE") && "EXAMPT".equals(String.valueOf(jsonObject.get("InspectType")))) { - InspectRequestMainCreateReqVO inspectRequestMainCreateReqVO = new InspectRequestMainCreateReqVO(); - BeanUtils.copyProperties(purchasereceiptRecordMainDO, inspectRequestMainCreateReqVO); - inspectRequestMainCreateReqVO.setId(null); - inspectRequestMainCreateReqVO.setSubList(inspectRequestDetailCreateReqVOList); - inspectRequestMainService.createInspectRequestMain(inspectRequestMainCreateReqVO); + PutawayRequestMainCreateReqVO putawayRequestMainCreateReqVO = new PutawayRequestMainCreateReqVO(); + BeanUtils.copyProperties(purchasereceiptRecordMainDO, putawayRequestMainCreateReqVO); + List putawayRequestDetailCreateReqVOList = new ArrayList<>(); + for(PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO : purchasereceiptRecordDetailDOList) { + PutawayRequestDetailCreateReqVO putawayRequestDetailCreateReqVO = new PutawayRequestDetailCreateReqVO(); + BeanUtils.copyProperties(purchasereceiptRecordDetailDO, putawayRequestDetailCreateReqVO); + putawayRequestDetailCreateReqVO.setPackingNumber(purchasereceiptRecordDetailDO.getToPackingNumber()); + putawayRequestDetailCreateReqVO.setContainerNumber(purchasereceiptRecordDetailDO.getToContainerNumber()); + putawayRequestDetailCreateReqVO.setBatch(purchasereceiptRecordDetailDO.getToBatch()); + putawayRequestDetailCreateReqVO.setFromLocationCode(purchasereceiptRecordDetailDO.getToLocationCode()); + putawayRequestDetailCreateReqVO.setInventoryStatus("OK"); + putawayRequestDetailCreateReqVO.setId(null); + putawayRequestDetailCreateReqVO.setCreateTime(null); + putawayRequestDetailCreateReqVO.setCreator(null); + putawayRequestDetailCreateReqVO.setUpdateTime(null); + putawayRequestDetailCreateReqVO.setUpdater(null); + putawayRequestDetailCreateReqVOList.add(putawayRequestDetailCreateReqVO); + } + putawayRequestMainCreateReqVO.setId(null); + putawayRequestMainCreateReqVO.setCreateTime(null); + putawayRequestMainCreateReqVO.setCreator(null); + putawayRequestMainCreateReqVO.setUpdateTime(null); + putawayRequestMainCreateReqVO.setUpdater(null); + putawayRequestMainCreateReqVO.setSubList(putawayRequestDetailCreateReqVOList); + putawayRequestMainService.createPutawayRequestMain(putawayRequestMainCreateReqVO); + } + if("EXAMPT".equals(String.valueOf(jsonObject.get("InspectType")))) { + for(TransactionCreateReqVO transactionCreateReqVO : transactionCreateReqVOList) { + transactionCreateReqVO.setInventoryStatus("OK"); + } } //增加库存事务 transactionService.createTransaction(transactionCreateReqVOList); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainServiceImpl.java index cbe629cf..8665c2c1 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordMainServiceImpl.java @@ -55,7 +55,9 @@ public class PurchasereceiptRecordMainServiceImpl implements PurchasereceiptReco public PurchasereceiptRecordDetailDO selectPurchasereceiptExist(String ppoNumber,String psupplierCode,String pNumber,String ppoLine,String pitemCode){ QueryWrapper queryWrapperMain = new QueryWrapper<>(); queryWrapperMain.eq("number",pNumber); - queryWrapperMain.eq("supplier_code",psupplierCode); + if(psupplierCode != null && !psupplierCode.isEmpty()) { + queryWrapperMain.eq("supplier_code", psupplierCode); + } queryWrapperMain.eq("available","TRUE"); PurchasereceiptRecordMainDO purchasereceiptRecordMainDO = purchasereceiptRecordMainMapper.selectOne(queryWrapperMain); if(purchasereceiptRecordMainDO != null) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java index 1cb830f7..319a1836 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java @@ -109,12 +109,12 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService @Override @Transactional public Long createPutawayRequestMain(PutawayRequestMainCreateReqVO createReqVO) { - RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PutawayRequest"); - BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PutawayRequest"); + RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("PurchasePutawayRequest"); + BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchasePutawayRequest"); PutawayRequestMainDO putawayRequestMainDO = validatorToCreate(createReqVO, businesstypeDO, requestsettingDO); //调用自动执行方法 if (RequestStatusEnum.HANDLING.getCode().equals(putawayRequestMainDO.getStatus())) { - + this.generateJob(putawayRequestMainDO, putawayRequestDetailMapper.selectList(putawayRequestMainDO.getId())); } trendsApi.createTrends(requestsettingDO.getId(), "PutawayRequest", "增加了上架申请", TrendsTypeEnum.CREATE); return putawayRequestMainDO.getId(); @@ -413,7 +413,7 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService validatorIfOutInventoryStatuses(detailDo.getInventoryStatus(), businesstypeDO); validatorIfInToLocationType(detailDo.getFromLocationCode(), businesstypeDO); ArrayList inventoryStatus = new ArrayList<>(); - inventoryStatus.set(0, detailDo.getInventoryStatus()); + inventoryStatus.add(detailDo.getInventoryStatus()); validatorManagementAccuracy(detailDo.getItemCode(), detailDo.getPackingNumber(), detailDo.getBatch(), detailDo.getFromLocationCode(), inventoryStatus); } @@ -538,7 +538,7 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService } private void validatorIfInToLocationType(String fromLocationCode, BusinesstypeDO businesstypeDO) { - jobUtils.ifInType(fromLocationCode, businesstypeDO); + jobUtils.ifInFromLocationType(fromLocationCode, businesstypeDO); } private void validatorManagementAccuracy(String itemCode, String packingNumber, String batch, String fromLocationCode, List inventoryStatus) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/requestsetting/RequestsettingServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/requestsetting/RequestsettingServiceImpl.java index 259cd8b6..3263c236 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/requestsetting/RequestsettingServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/requestsetting/RequestsettingServiceImpl.java @@ -244,7 +244,7 @@ public class RequestsettingServiceImpl implements RequestsettingService { } @Override public RequestsettingDO selectRequestsettingExist(String pcode){ - QueryWrapper queryWrapper = new QueryWrapper(); + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("code",pcode); queryWrapper.eq("available","TRUE"); RequestsettingDO requestsettingDO = requestsettingMapper.selectOne(queryWrapper); diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java index eaa3a10b..a00dca76 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/util/JobUtils.java @@ -2,7 +2,6 @@ package com.win.module.wms.util; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.win.module.wms.controller.rule.vo.RuleRespVO; import com.win.module.wms.dal.dataobject.balance.BalanceDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; @@ -130,13 +129,13 @@ public class JobUtils { if ("TRUE".equals(allowBiggerQty)) { result = true; } else { - throw exception(QTY_EXCEPTION,"实际数量" + handleQty + " 不允许大于推荐数量" + recommendQty); + throw exception(QTY_EXCEPTION, "实际数量" + handleQty + " 不允许大于推荐数量" + recommendQty); } } else if (handleQty.compareTo(recommendQty) == -1) { if ("TRUE".equals(allowSmallerQty)) { result = true; } else { - throw exception(QTY_EXCEPTION,"实际数量" + handleQty + " 不允许小于推荐数量" + recommendQty); + throw exception(QTY_EXCEPTION, "实际数量" + handleQty + " 不允许小于推荐数量" + recommendQty); } } else if (handleQty.compareTo(recommendQty) == 0) { result = true; @@ -157,13 +156,13 @@ public class JobUtils { if ("TRUE".equals(allowModifyBatch)) { result = true; } else { - throw exception(QTY_EXCEPTION,"实际数量" + jobDetailBatch + " 不允许大于推荐数量" + recordDetailBatch); + throw exception(QTY_EXCEPTION, "实际数量" + jobDetailBatch + " 不允许大于推荐数量" + recordDetailBatch); } } else if (jobDetailBatch.compareTo(recordDetailBatch) == -1) { if ("TRUE".equals(allowModifyBatch)) { result = true; } else { - throw exception(QTY_EXCEPTION,"实际数量" + jobDetailBatch + " 不允许小于推荐数量" + recordDetailBatch); + throw exception(QTY_EXCEPTION, "实际数量" + jobDetailBatch + " 不允许小于推荐数量" + recordDetailBatch); } } if (jobDetailBatch.compareTo(recordDetailBatch) == 0) { @@ -172,7 +171,7 @@ public class JobUtils { if ("TRUE".equals(allowModifyBatch)) { result = true; } else { - throw exception(BATCH_EXCEPTION,"实际批次" + jobDetailBatch + " 与任务推荐批次" + recordDetailBatch + "不一致"); + throw exception(BATCH_EXCEPTION, "实际批次" + jobDetailBatch + " 与任务推荐批次" + recordDetailBatch + "不一致"); } } return result; @@ -288,8 +287,8 @@ public class JobUtils { if (ifInType) { return true; } else { - throw exception(ITEMBASIC_EXCEPTION,"物料类型" + pitemCode + "的类型" + itembasicDO.getType() + " 与业务类型" + businesstypeDO.getName() - + "的物料类型" + businesstypeDO.getItemTypes() +"不一致"); + throw exception(ITEMBASIC_EXCEPTION, "物料类型" + pitemCode + "的类型" + itembasicDO.getType() + " 与业务类型" + businesstypeDO.getName() + + "的物料类型" + businesstypeDO.getItemTypes() + "不一致"); } } @@ -306,9 +305,10 @@ public class JobUtils { if (ifInType) { return true; } else { - throw exception(ITEMBASIC_EXCEPTION,"物料类型" + pitemType + " 与业务类型" + businesstypeDO.getName() + "的物料类型" + businesstypeDO.getItemTypes() +"不一致"); + throw exception(ITEMBASIC_EXCEPTION, "物料类型" + pitemType + " 与业务类型" + businesstypeDO.getName() + "的物料类型" + businesstypeDO.getItemTypes() + "不一致"); } } + //DBT---DBT2---IS 物料状态检验是否一致 public boolean ifInStatus(String pitemCode, BusinesstypeDO businesstypeDO) { ItembasicDO itembasicDO = itembasicService.selectItembasic(pitemCode); @@ -320,13 +320,13 @@ public class JobUtils { ifInStatus = true; } } - }else { - throw exception(ITEMBASIC_EXCEPTION,"物料代码" + pitemCode + "无效"); + } else { + throw exception(ITEMBASIC_EXCEPTION, "物料代码" + pitemCode + "无效"); } - if (ifInStatus == true) { + if (ifInStatus) { return true; } else { - throw exception(ITEMBASIC_EXCEPTION,"物料" + pitemCode + "的状态" + itembasicDO.getStatus() + "与业务类型" + + throw exception(ITEMBASIC_EXCEPTION, "物料" + pitemCode + "的状态" + itembasicDO.getStatus() + "与业务类型" + businesstypeDO.getName() + "的物料状态" + businesstypeDO.getItemStatuses() + "不一致"); } } @@ -342,14 +342,13 @@ public class JobUtils { ifInLocationType = true; } } + } else { + throw exception(LOCATION_EXCEPTION, "库位" + plocationCode + "无效"); } - else { - throw exception(LOCATION_EXCEPTION,"库位" + plocationCode + "无效"); - } - if (ifInLocationType == true) { + if (ifInLocationType) { return true; } else { - throw exception(LOCATION_EXCEPTION,"入库库位" + plocationCode + "的库位类型" + locationDO.getType() + "与业务类型" + + throw exception(LOCATION_EXCEPTION, "入库库位" + plocationCode + "的库位类型" + locationDO.getType() + "与业务类型" + businesstypeDO.getName() + "的入库库位类型" + businesstypeDO.getInLocationTypes() + "不一致"); } } @@ -365,14 +364,13 @@ public class JobUtils { ifOutLocationType = true; } } + } else { + throw exception(LOCATION_EXCEPTION, "库位" + plocationCode + "无效"); } - else { - throw exception(LOCATION_EXCEPTION,"库位" + plocationCode + "无效"); - } - if (ifOutLocationType == true) { + if (ifOutLocationType) { return true; } else { - throw exception(LOCATION_EXCEPTION,"出库库位" + plocationCode + "的库位类型" + locationDO.getType() + "与业务类型与业务类型" + + throw exception(LOCATION_EXCEPTION, "出库库位" + plocationCode + "的库位类型" + locationDO.getType() + "与业务类型与业务类型" + businesstypeDO.getName() + "的出库库位类型" + businesstypeDO.getOutLocationTypes() + "不一致"); } } @@ -387,14 +385,13 @@ public class JobUtils { ifInInventoryStatuses = true; } } + } else { + throw exception(WAREHOUSE_STOCK_EXCEPTION, "入库库存状态" + pinventoryStatus + "为空"); } - else { - throw exception(WAREHOUSE_STOCK_EXCEPTION,"入库库存状态" + pinventoryStatus + "为空"); - } - if (ifInInventoryStatuses == true) { + if (ifInInventoryStatuses) { return true; } else { - throw exception(LOCATION_INVENTORY_EXCEPTION,"入库库存状态" + pinventoryStatus + "与业务类型" + + throw exception(LOCATION_INVENTORY_EXCEPTION, "入库库存状态" + pinventoryStatus + "与业务类型" + businesstypeDO.getName() + "的入库库存状态" + businesstypeDO.getInInventoryStatuses() + "不一致"); } } @@ -409,14 +406,13 @@ public class JobUtils { ifOutInventoryStatuses = true; } } + } else { + throw exception(LOCATION_INVENTORY_EXCEPTION, "出库库存状态" + pinventoryStatus + "为空"); } - else { - throw exception(LOCATION_INVENTORY_EXCEPTION,"出库库存状态" + pinventoryStatus + "为空"); - } - if (ifOutInventoryStatuses == true) { + if (ifOutInventoryStatuses) { return true; } else { - throw exception(LOCATION_INVENTORY_EXCEPTION,"出库库存状态" + pinventoryStatus + "与业务类型" + + throw exception(LOCATION_INVENTORY_EXCEPTION, "出库库存状态" + pinventoryStatus + "与业务类型" + businesstypeDO.getName() + "的出库库存状态" + businesstypeDO.getOutInventoryStatuses() + "不一致"); } } @@ -424,6 +420,7 @@ public class JobUtils { /** * TB------TB4 * 先获取管理模式,再根据管理模式查询库存余额,返回查询结果 + * * @param itemcode 零件号 * @param packingnumber 包装号 * @param batch 批次 @@ -437,19 +434,21 @@ public class JobUtils { List balanceDO = null; if ("{\"ManagementPrecision\":\"BY_QUANTITY\"}".equals(managementtRule.getConfiguration())) { balanceDO = balanceService.selectNumber(itemcode, inventoryStatus, locationcode); - }else if ("{\"ManagementPrecision\":\"BY_BATCH\"}".equals(managementtRule.getConfiguration())) { + } else if ("{\"ManagementPrecision\":\"BY_BATCH\"}".equals(managementtRule.getConfiguration())) { balanceDO = balanceService.selectBatch(itemcode, batch, inventoryStatus, locationcode); - }else if("{\"ManagementPrecision\":\"BY_PACKAGING\"}".equals(managementtRule.getConfiguration())) { + } else if ("{\"ManagementPrecision\":\"BY_PACKAGING\"}".equals(managementtRule.getConfiguration())) { balanceDO = balanceService.selectPackaging(itemcode, packingnumber, batch, inventoryStatus, locationcode); - }else if("{\"ManagementPrecision\":\"BY_UNIQUE_ID\"}".equals(managementtRule.getConfiguration())) { + } else if ("{\"ManagementPrecision\":\"BY_UNIQUE_ID\"}".equals(managementtRule.getConfiguration())) { balanceDO = balanceService.selectUniqueId(packingnumber, locationcode, inventoryStatus); } return balanceDO; } + /** * TB-------TB1 * 查询库存返回管理精度 * 先获取管理模式,再根据管理模式查询库存余额,返回校验结果 + * * @param itemcode 零件号 * @param packingnumber 包装号 * @param batch 批次 @@ -464,30 +463,30 @@ public class JobUtils { List balanceDO = null; if ("{\"ManagementPrecision\":\"BY_QUANTITY\"}".equals(managementtRule.getConfiguration())) { balanceDO = balanceService.selectNumber(itemcode, inventoryStatus, locationcode); - if(balanceDO == null){ + if (balanceDO == null) { throw exception(MANAGEMENTPRECISION_EXCEPTION, "物品代码" + itemcode + "库存状态" + inventoryStatus + "在" + locationcode + "库位中未查找到库存记录"); - }else { + } else { return balanceDO; } - }else if ("{\"ManagementPrecision\":\"BY_BATCH\"}".equals(managementtRule.getConfiguration())) { + } else if ("{\"ManagementPrecision\":\"BY_BATCH\"}".equals(managementtRule.getConfiguration())) { balanceDO = balanceService.selectBatch(itemcode, batch, inventoryStatus, locationcode); - if(balanceDO == null){ + if (balanceDO == null) { throw exception(MANAGEMENTPRECISION_EXCEPTION, "物品代码" + itemcode + "批次" + batch + "库存状态" + inventoryStatus + "在" + locationcode + "库位中未查找到库存记录"); - }else { + } else { return balanceDO; } - }else if("{\"ManagementPrecision\":\"BY_PACKAGING\"}".equals(managementtRule.getConfiguration())) { + } else if ("{\"ManagementPrecision\":\"BY_PACKAGING\"}".equals(managementtRule.getConfiguration())) { balanceDO = balanceService.selectPackaging(itemcode, packingnumber, batch, inventoryStatus, locationcode); - if(balanceDO == null){ - throw exception(MANAGEMENTPRECISION_EXCEPTION,"物品代码" + itemcode + "箱码" + packingnumber + "批次" + batch + "库存状态" + inventoryStatus + "在" + locationcode + "库位中未查找到库存记录"); - }else { + if (balanceDO == null) { + throw exception(MANAGEMENTPRECISION_EXCEPTION, "物品代码" + itemcode + "箱码" + packingnumber + "批次" + batch + "库存状态" + inventoryStatus + "在" + locationcode + "库位中未查找到库存记录"); + } else { return balanceDO; } - }else if("{\"ManagementPrecision\":\"BY_UNIQUE_ID\"}".equals(managementtRule.getConfiguration())) { + } else if ("{\"ManagementPrecision\":\"BY_UNIQUE_ID\"}".equals(managementtRule.getConfiguration())) { balanceDO = balanceService.selectUniqueId(packingnumber, locationcode, inventoryStatus); - if(balanceDO == null){ + if (balanceDO == null) { throw exception(MANAGEMENTPRECISION_EXCEPTION, "唯一码" + packingnumber + "库存状态" + inventoryStatus + "在" + locationcode + "库位中未查找到库存记录"); - }else { + } else { return balanceDO; } } @@ -587,7 +586,7 @@ public class JobUtils { if ("{\"ManagementPrecision\":\"BY_UNIQUE_ID\"}".equals(managementtRule.getConfiguration())) { balanceDO = balanceService.selectUniqueId(packingnumber, locationcode, inventoryStatus); return balanceDO; - }else { + } else { return null; } } @@ -600,7 +599,7 @@ public class JobUtils { if (locationService.selectLocation(fromlocationcode) != null) { return warehouseStockExist(itemcode, packingnumber, batch, fromlocationcode, inventoryStatus, requstqty); } else { - throw exception(LOCATION_NOT_CUST,fromlocationcode); + throw exception(LOCATION_NOT_CUST, fromlocationcode); } } @@ -670,20 +669,20 @@ public class JobUtils { * @return */ public List fromInventoryEffective(String itemCode, String packingNumber, String batch, String locationCode, List inventoryStatus) { - List balanceDOList = selectlocationReturnManagementAccuracy(itemCode, packingNumber, batch, locationCode, inventoryStatus); - return balanceDOList; + return selectlocationReturnManagementAccuracy(itemCode, packingNumber, batch, locationCode, inventoryStatus); } /** * DBT3 * 根据单据设置查询业务类型 - * @author chenfang + * * @param pcode * @return + * @author chenfang */ - public BusinesstypeDO selectDocumentSettingFromBusinessType(String pcode){ + public BusinesstypeDO selectDocumentSettingFromBusinessType(String pcode) { DocumentsettingDO documentsettingDO = documentsettingService.selectDocumentsettingExist(pcode); - if(documentsettingDO == null || documentsettingDO.getBusinessType() == null) { + if (documentsettingDO == null || documentsettingDO.getBusinessType() == null) { return null; } return businesstypeService.selectBusinesstypeExist(documentsettingDO.getBusinessType()); @@ -692,13 +691,14 @@ public class JobUtils { /** * DBT4 * 根据单据设置查询业务类型 - * @author chenfang + * * @param pcode * @return + * @author chenfang */ - public TransactiontypeDO selectDocumentFromTransactionType(String pcode){ + public TransactiontypeDO selectDocumentFromTransactionType(String pcode) { TransactiontypeDO transactionType = transactiontypeService.selectTransactiontype(pcode); - if(transactionType == null || transactionType.getCode() == null) { + if (transactionType == null || transactionType.getCode() == null) { return null; } return transactionType; @@ -717,9 +717,9 @@ public class JobUtils { */ public Boolean fromInventoryEffectiveCustomer(String locationCode, String itemCode, String packingNumber, String batch, List inventoryStatus) { Boolean returnRes = false; - if (locationService.selectLocation(locationCode) != null) { + if (locationService.selectLocation(locationCode) != null) { fromInventoryEffective(itemCode, packingNumber, batch, locationCode, inventoryStatus); - } else{ + } else { return returnRes; } return true; From c1b460aa526fb2e8193249c3389f9c222236a941 Mon Sep 17 00:00:00 2001 From: liuchen864 <23082234@qq.com> Date: Thu, 23 Nov 2023 16:16:54 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9Bug=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchasereceiptJobMainServiceImpl.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java index 219bcc7e..660ce76f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptJob/PurchasereceiptJobMainServiceImpl.java @@ -443,6 +443,15 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain inspectRequestMainService.createInspectRequestMain(inspectRequestMainCreateReqVO); } } + if("EXAMPT".equals(String.valueOf(jsonObject.get("InspectType")))) { + for(TransactionCreateReqVO transactionCreateReqVO : transactionCreateReqVOList) { + transactionCreateReqVO.setInventoryStatus("OK"); + } + } + //增加库存事务 + transactionService.createTransaction(transactionCreateReqVOList); + //移除预计入 + expectinService.deleteExpectinByJobNumber(purchasereceiptJobMainDO.getNumber()); //采购收货记录 生成后免检物品 创建 上架申请 if(switchDO2.getEffectiveSetValue().equals("TRUE") && "EXAMPT".equals(String.valueOf(jsonObject.get("InspectType")))) { PutawayRequestMainCreateReqVO putawayRequestMainCreateReqVO = new PutawayRequestMainCreateReqVO(); @@ -471,15 +480,6 @@ public class PurchasereceiptJobMainServiceImpl implements PurchasereceiptJobMain putawayRequestMainCreateReqVO.setSubList(putawayRequestDetailCreateReqVOList); putawayRequestMainService.createPutawayRequestMain(putawayRequestMainCreateReqVO); } - if("EXAMPT".equals(String.valueOf(jsonObject.get("InspectType")))) { - for(TransactionCreateReqVO transactionCreateReqVO : transactionCreateReqVOList) { - transactionCreateReqVO.setInventoryStatus("OK"); - } - } - //增加库存事务 - transactionService.createTransaction(transactionCreateReqVOList); - //移除预计入 - expectinService.deleteExpectinByJobNumber(purchasereceiptJobMainDO.getNumber()); //变更记录 trendsApi.createTrends(purchasereceiptJobMainDO.getId(), "purchasereceiptJob", "执行了采购收货任务", TrendsTypeEnum.UPDATE); return number; From 3d03dd3716c580aadf87234bcd4e058e5b732075 Mon Sep 17 00:00:00 2001 From: "hongxi.lian" Date: Thu, 23 Nov 2023 16:33:36 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=BA=93=E5=AD=98=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96=E7=94=B3=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/wms/enums/ErrorCodeConstants.java | 4 + .../controller/barcode/vo/BarcodeBaseVO.java | 3 + .../barcode/vo/BarcodeExportReqVO.java | 3 + .../barcode/vo/BarcodePageReqVO.java | 3 + .../labelBarbasic/BarbasicController.java | 106 ++++++++++++++++++ .../labelBarbasic/vo/BarbasicBaseVO.java | 54 +++++++++ .../labelBarbasic/vo/BarbasicCreateReqVO.java | 12 ++ .../labelBarbasic/vo/BarbasicExcelVO.java | 50 +++++++++ .../labelBarbasic/vo/BarbasicExportReqVO.java | 45 ++++++++ .../labelBarbasic/vo/BarbasicPageReqVO.java | 44 ++++++++ .../labelBarbasic/vo/BarbasicRespVO.java | 15 +++ .../labelBarbasic/vo/BarbasicUpdateReqVO.java | 18 +++ .../labelBarbasic/BarbasicConvert.java | 37 ++++++ .../wms/dal/dataobject/barcode/BarcodeDO.java | 5 + .../InventoryinitRequestMainDO.java | 3 +- .../dataobject/labelBarbasic/BarbasicDO.java | 68 +++++++++++ .../wms/dal/mysql/barcode/BarcodeMapper.java | 2 + .../mysql/labelBarbasic/BarbasicMapper.java | 51 +++++++++ .../InspectRequestMainServiceImpl.java | 1 + .../InventoryinitRequestMainServiceImpl.java | 31 ++--- .../labelBarbasic/BarbasicService.java | 71 ++++++++++++ .../labelBarbasic/BarbasicServiceImpl.java | 84 ++++++++++++++ 22 files changed, 695 insertions(+), 15 deletions(-) create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/BarbasicController.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicBaseVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicCreateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicExcelVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicExportReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicPageReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicRespVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicUpdateReqVO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/labelBarbasic/BarbasicConvert.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/labelBarbasic/BarbasicDO.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/labelBarbasic/BarbasicMapper.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/labelBarbasic/BarbasicService.java create mode 100644 win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/labelBarbasic/BarbasicServiceImpl.java diff --git a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java index ce2fab48..0f08bf05 100644 --- a/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java +++ b/win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java @@ -910,5 +910,9 @@ public interface ErrorCodeConstants { ErrorCode QTY_ERRORR = new ErrorCode(1_000_301_001, "上架数量【{}】不能大于库存数量【{}】"); ErrorCode TIME_AFTER = new ErrorCode(1_000_302_000, "申请时间【{}】小于截止时间【{}】"); + + ErrorCode BARBASIC_NOT_EXISTS = new ErrorCode(1_000_303_000, "条码实体基类不存在"); + + ErrorCode BARBASIC_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_000_303_001, "条码实体列表不存在"); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/vo/BarcodeBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/vo/BarcodeBaseVO.java index 9e683b12..7f26f88f 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/vo/BarcodeBaseVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/vo/BarcodeBaseVO.java @@ -58,4 +58,7 @@ public class BarcodeBaseVO { @NotNull(message = "是否加密不能为空") private String isEncypt; + @Schema(description = "条码类型") + private String labelType; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/vo/BarcodeExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/vo/BarcodeExportReqVO.java index 3e3d2b37..c24cdd66 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/vo/BarcodeExportReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/vo/BarcodeExportReqVO.java @@ -43,4 +43,7 @@ public class BarcodeExportReqVO { @Schema(description = "是否加密") private String isEncypt; + @Schema(description = "条码类型") + private String labelType; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/vo/BarcodePageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/vo/BarcodePageReqVO.java index 8a92876d..fcf8c227 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/vo/BarcodePageReqVO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/barcode/vo/BarcodePageReqVO.java @@ -48,4 +48,7 @@ public class BarcodePageReqVO extends PageParam { @Schema(description = "是否加密") private String isEncypt; + @Schema(description = "条码类型") + private String labelType; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/BarbasicController.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/BarbasicController.java new file mode 100644 index 00000000..171d9e6a --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/BarbasicController.java @@ -0,0 +1,106 @@ +package com.win.module.wms.controller.labelBarbasic; + +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; +import com.win.framework.common.pojo.PageResult; +import com.win.framework.common.pojo.CommonResult; +import static com.win.framework.common.pojo.CommonResult.success; +import com.win.framework.excel.core.util.ExcelUtils; +import com.win.framework.operatelog.core.annotations.OperateLog; +import static com.win.framework.operatelog.core.enums.OperateTypeEnum.*; +import com.win.module.wms.controller.labelBarbasic.vo.*; +import com.win.module.wms.dal.dataobject.labelBarbasic.BarbasicDO; +import com.win.module.wms.convert.labelBarbasic.BarbasicConvert; +import com.win.module.wms.service.labelBarbasic.BarbasicService; + + +@Tag(name = "管理后台 - 条码实体基类") +@RestController +@RequestMapping("/wms/barbasic") +@Validated +public class BarbasicController { + + @Resource + private BarbasicService barbasicService; + + @PostMapping("/create") + @Operation(summary = "创建条码实体基类") + @PreAuthorize("@ss.hasPermission('wms:barbasic:create')") + public CommonResult createBarbasic(@Valid @RequestBody BarbasicCreateReqVO createReqVO) { + return success(barbasicService.createBarbasic(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新条码实体基类") + @PreAuthorize("@ss.hasPermission('wms:barbasic:update')") + public CommonResult updateBarbasic(@Valid @RequestBody BarbasicUpdateReqVO updateReqVO) { + int result = barbasicService.updateBarbasic(updateReqVO); + return success(result > 0); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除条码实体基类") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('wms:barbasic:delete')") + public CommonResult deleteBarbasic(@RequestParam("id") Long id) { + int result = barbasicService.deleteBarbasic(id); + return success(result > 0); + } + + @GetMapping("/get") + @Operation(summary = "获得条码实体基类") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('wms:barbasic:query')") + public CommonResult getBarbasic(@RequestParam("id") Long id) { + BarbasicDO barbasic = barbasicService.getBarbasic(id); + return success(BarbasicConvert.INSTANCE.convert(barbasic)); + } + + @GetMapping("/list") + @Operation(summary = "获得条码实体基类列表") + @Parameter(name = "ids", description = "编号列表", required = true, example = "1024,2048") + @PreAuthorize("@ss.hasPermission('wms:barbasic:query')") + public CommonResult> getBarbasicList(@RequestParam("ids") Collection ids) { + List list = barbasicService.getBarbasicList(ids); + return success(BarbasicConvert.INSTANCE.convertList(list)); + } + + @GetMapping("/page") + @Operation(summary = "获得条码实体基类分页") + @PreAuthorize("@ss.hasPermission('wms:barbasic:query')") + public CommonResult> getBarbasicPage(@Valid BarbasicPageReqVO pageVO) { + PageResult pageResult = barbasicService.getBarbasicPage(pageVO); + return success(BarbasicConvert.INSTANCE.convertPage(pageResult)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出条码实体基类 Excel") + @PreAuthorize("@ss.hasPermission('wms:barbasic:export')") + @OperateLog(type = EXPORT) + public void exportBarbasicExcel(@Valid BarbasicExportReqVO exportReqVO, + HttpServletResponse response) throws IOException { + List list = barbasicService.getBarbasicList(exportReqVO); + // 导出 Excel + List datas = BarbasicConvert.INSTANCE.convertList02(list); + ExcelUtils.write(response, "条码实体基类.xls", "数据", BarbasicExcelVO.class, datas); + } + + @GetMapping("/get-import-template") + @Operation(summary = "获得导入条码实体基类模板") + public void importTemplate(HttpServletResponse response) throws IOException { + List list = Arrays.asList(); + // 输出 + ExcelUtils.write(response, "条码实体基类基本信息导入模板.xls", "条码实体基类基本信息列表", BarbasicExcelVO.class, list); + } + + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicBaseVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicBaseVO.java new file mode 100644 index 00000000..942efe16 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicBaseVO.java @@ -0,0 +1,54 @@ +package com.win.module.wms.controller.labelBarbasic.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; + +/** + * 条码实体基类 Base VO,提供给添加、修改、详细的子 VO 使用 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成 + */ +@Data +public class BarbasicBaseVO { + + @Schema(description = "id", example = "id") + private Long id; + + @Schema(description = "标签号", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "标签号不能为空") + private String number; + + @Schema(description = "标签类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "标签类型不能为空") + private String type; + + @Schema(description = "标签模板", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "标签模板不能为空") + private String template; + + @Schema(description = "标签状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + @NotNull(message = "标签状态不能为空") + private String status; + + @Schema(description = "关联号") + private String relateNumber; + + @Schema(description = "标签条码字符串", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "标签条码字符串不能为空") + private String barcodeString; + + @Schema(description = "打印次数", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "打印次数不能为空") + private Integer printTimes; + + @Schema(description = "最后打印时间") + private String lastPrintTime; + + @Schema(description = "最后打印人ID", example = "8732") + private String lastPrintUserId; + + @Schema(description = "最后打印人用户名", example = "王五") + private String lastPrintUserName; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicCreateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicCreateReqVO.java new file mode 100644 index 00000000..1cc93949 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicCreateReqVO.java @@ -0,0 +1,12 @@ +package com.win.module.wms.controller.labelBarbasic.vo; + +import lombok.*; +import io.swagger.v3.oas.annotations.media.Schema; + +@Schema(description = "管理后台 - 条码实体基类创建 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BarbasicCreateReqVO extends BarbasicBaseVO { + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicExcelVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicExcelVO.java new file mode 100644 index 00000000..66562c67 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicExcelVO.java @@ -0,0 +1,50 @@ +package com.win.module.wms.controller.labelBarbasic.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; + +import com.alibaba.excel.annotation.ExcelProperty; + +/** + * 条码实体基类 Excel VO + * + * @author 超级管理员 + */ +@Data +public class BarbasicExcelVO { + + @ExcelProperty("id") + private Long id; + + @ExcelProperty("标签号") + private String number; + + @ExcelProperty("标签类型") + private String type; + + @ExcelProperty("标签模板") + private String template; + + @ExcelProperty("标签状态") + private String status; + + @ExcelProperty("关联号") + private String relateNumber; + + @ExcelProperty("标签条码字符串") + private String barcodeString; + + @ExcelProperty("打印次数") + private Integer printTimes; + + @ExcelProperty("最后打印时间") + private String lastPrintTime; + + @ExcelProperty("最后打印人ID") + private String lastPrintUserId; + + @ExcelProperty("最后打印人用户名") + private String lastPrintUserName; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicExportReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicExportReqVO.java new file mode 100644 index 00000000..faa005b3 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicExportReqVO.java @@ -0,0 +1,45 @@ +package com.win.module.wms.controller.labelBarbasic.vo; + +import com.alibaba.excel.annotation.format.DateTimeFormat; +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.win.framework.common.pojo.PageParam; + +import static com.win.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 条码实体基类 Excel 导出 Request VO,参数和 BarbasicPageReqVO 是一致的") +@Data +public class BarbasicExportReqVO { + + @Schema(description = "标签号") + private String number; + + @Schema(description = "标签类型", example = "1") + private String type; + + @Schema(description = "标签模板") + private String template; + + @Schema(description = "标签状态", example = "2") + private String status; + + @Schema(description = "关联号") + private String relateNumber; + + @Schema(description = "标签条码字符串") + private String barcodeString; + + @Schema(description = "打印次数") + private Integer printTimes; + + @Schema(description = "最后打印时间") + private String[] lastPrintTime; + + @Schema(description = "最后打印人ID", example = "8732") + private String lastPrintUserId; + + @Schema(description = "最后打印人用户名", example = "王五") + private String lastPrintUserName; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicPageReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicPageReqVO.java new file mode 100644 index 00000000..d541f2c3 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicPageReqVO.java @@ -0,0 +1,44 @@ +package com.win.module.wms.controller.labelBarbasic.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import com.win.framework.common.pojo.PageParam; + +@Schema(description = "管理后台 - 条码实体基类分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BarbasicPageReqVO extends PageParam { + + @Schema(description = "标签号") + private String number; + + @Schema(description = "标签类型", example = "1") + private String type; + + @Schema(description = "标签模板") + private String template; + + @Schema(description = "标签状态", example = "2") + private String status; + + @Schema(description = "关联号") + private String relateNumber; + + @Schema(description = "标签条码字符串") + private String barcodeString; + + @Schema(description = "打印次数") + private Integer printTimes; + + @Schema(description = "最后打印时间") + private String[] lastPrintTime; + + @Schema(description = "最后打印人ID", example = "8732") + private String lastPrintUserId; + + @Schema(description = "最后打印人用户名", example = "王五") + private String lastPrintUserName; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicRespVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicRespVO.java new file mode 100644 index 00000000..698cd996 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicRespVO.java @@ -0,0 +1,15 @@ +package com.win.module.wms.controller.labelBarbasic.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +@Schema(description = "管理后台 - 条码实体基类 Response VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BarbasicRespVO extends BarbasicBaseVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "29175") + private Long id; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicUpdateReqVO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicUpdateReqVO.java new file mode 100644 index 00000000..174514f0 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/labelBarbasic/vo/BarbasicUpdateReqVO.java @@ -0,0 +1,18 @@ +package com.win.module.wms.controller.labelBarbasic.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 条码实体基类更新 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class BarbasicUpdateReqVO extends BarbasicBaseVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "29175") + @NotNull(message = "id不能为空") + private Long id; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/labelBarbasic/BarbasicConvert.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/labelBarbasic/BarbasicConvert.java new file mode 100644 index 00000000..0810787b --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/labelBarbasic/BarbasicConvert.java @@ -0,0 +1,37 @@ +package com.win.module.wms.convert.labelBarbasic; + +import java.util.*; + +import com.win.framework.common.pojo.PageResult; + +import com.win.module.wms.controller.labelBarbasic.vo.BarbasicCreateReqVO; +import com.win.module.wms.controller.labelBarbasic.vo.BarbasicExcelVO; +import com.win.module.wms.controller.labelBarbasic.vo.BarbasicRespVO; +import com.win.module.wms.controller.labelBarbasic.vo.BarbasicUpdateReqVO; +import org.mapstruct.Mapper; +import org.mapstruct.factory.Mappers; +import com.win.module.wms.dal.dataobject.labelBarbasic.BarbasicDO; + +/** + * 条码实体基类 Convert + * + * @author 超级管理员 + */ +@Mapper +public interface BarbasicConvert { + + BarbasicConvert INSTANCE = Mappers.getMapper(BarbasicConvert.class); + + BarbasicDO convert(BarbasicCreateReqVO bean); + + BarbasicDO convert(BarbasicUpdateReqVO bean); + + BarbasicRespVO convert(BarbasicDO bean); + + List convertList(List list); + + PageResult convertPage(PageResult page); + + List convertList02(List list); + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/barcode/BarcodeDO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/barcode/BarcodeDO.java index cb8ed046..9cb195d3 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/barcode/BarcodeDO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/barcode/BarcodeDO.java @@ -75,4 +75,9 @@ public class BarcodeDO extends BaseDO { */ private String isEncypt; + /** + * 条码类型 + */ + private String labelType; + } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/inventoryinitRequest/InventoryinitRequestMainDO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/inventoryinitRequest/InventoryinitRequestMainDO.java index 0e09c635..b7328437 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/inventoryinitRequest/InventoryinitRequestMainDO.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/inventoryinitRequest/InventoryinitRequestMainDO.java @@ -21,7 +21,8 @@ import com.win.framework.mybatis.core.dataobject.BaseDO; @Builder @NoArgsConstructor @AllArgsConstructor -public class InventoryinitRequestMainDO extends BaseDO { +public class +InventoryinitRequestMainDO extends BaseDO { /** * id diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/labelBarbasic/BarbasicDO.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/labelBarbasic/BarbasicDO.java new file mode 100644 index 00000000..28705a6b --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/labelBarbasic/BarbasicDO.java @@ -0,0 +1,68 @@ +package com.win.module.wms.dal.dataobject.labelBarbasic; + +import lombok.*; +import java.util.*; +import com.baomidou.mybatisplus.annotation.*; +import com.win.framework.mybatis.core.dataobject.BaseDO; + +/** + * 条码实体基类 DO + * + * @author 超级管理员 + */ +@TableName("label_barbasic") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class BarbasicDO extends BaseDO { + + /** + * id + */ + @TableId + private Long id; + /** + * 标签号 + */ + private String number; + /** + * 标签类型 + */ + private String type; + /** + * 标签模板 + */ + private String template; + /** + * 标签状态 + */ + private String status; + /** + * 关联号 + */ + private String relateNumber; + /** + * 标签条码字符串 + */ + private String barcodeString; + /** + * 打印次数 + */ + private Integer printTimes; + /** + * 最后打印时间 + */ + private String lastPrintTime; + /** + * 最后打印人ID + */ + private String lastPrintUserId; + /** + * 最后打印人用户名 + */ + private String lastPrintUserName; + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/barcode/BarcodeMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/barcode/BarcodeMapper.java index 6720146f..ff39bffd 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/barcode/BarcodeMapper.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/barcode/BarcodeMapper.java @@ -35,6 +35,7 @@ public interface BarcodeMapper extends BaseMapperX { .eqIfPresent(BarcodeDO::getMasterId, reqVO.getMasterId()) .eqIfPresent(BarcodeDO::getTrimEnd, reqVO.getTrimEnd()) .eqIfPresent(BarcodeDO::getIsEncypt, reqVO.getIsEncypt()) + .eqIfPresent(BarcodeDO::getLabelType,reqVO.getLabelType()) .orderByDesc(BarcodeDO::getId)); } @@ -55,6 +56,7 @@ public interface BarcodeMapper extends BaseMapperX { .eqIfPresent(BarcodeDO::getMasterId, reqVO.getMasterId()) .eqIfPresent(BarcodeDO::getTrimEnd, reqVO.getTrimEnd()) .eqIfPresent(BarcodeDO::getIsEncypt, reqVO.getIsEncypt()) + .eqIfPresent(BarcodeDO::getLabelType,reqVO.getLabelType()) .orderByDesc(BarcodeDO::getId)); } diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/labelBarbasic/BarbasicMapper.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/labelBarbasic/BarbasicMapper.java new file mode 100644 index 00000000..7d284111 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/labelBarbasic/BarbasicMapper.java @@ -0,0 +1,51 @@ +package com.win.module.wms.dal.mysql.labelBarbasic; + +import java.util.*; + +import com.win.framework.common.pojo.PageResult; +import com.win.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.win.framework.mybatis.core.mapper.BaseMapperX; +import com.win.module.wms.controller.labelBarbasic.vo.BarbasicExportReqVO; +import com.win.module.wms.controller.labelBarbasic.vo.BarbasicPageReqVO; +import com.win.module.wms.dal.dataobject.labelBarbasic.BarbasicDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 条码实体基类 Mapper + * + * @author 超级管理员 + */ +@Mapper +public interface BarbasicMapper extends BaseMapperX { + + default PageResult selectPage(BarbasicPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(BarbasicDO::getNumber, reqVO.getNumber()) + .eqIfPresent(BarbasicDO::getType, reqVO.getType()) + .eqIfPresent(BarbasicDO::getTemplate, reqVO.getTemplate()) + .eqIfPresent(BarbasicDO::getStatus, reqVO.getStatus()) + .eqIfPresent(BarbasicDO::getRelateNumber, reqVO.getRelateNumber()) + .eqIfPresent(BarbasicDO::getBarcodeString, reqVO.getBarcodeString()) + .eqIfPresent(BarbasicDO::getPrintTimes, reqVO.getPrintTimes()) + .betweenIfPresent(BarbasicDO::getLastPrintTime, reqVO.getLastPrintTime()) + .eqIfPresent(BarbasicDO::getLastPrintUserId, reqVO.getLastPrintUserId()) + .likeIfPresent(BarbasicDO::getLastPrintUserName, reqVO.getLastPrintUserName()) + .orderByDesc(BarbasicDO::getId)); + } + + default List selectList(BarbasicExportReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(BarbasicDO::getNumber, reqVO.getNumber()) + .eqIfPresent(BarbasicDO::getType, reqVO.getType()) + .eqIfPresent(BarbasicDO::getTemplate, reqVO.getTemplate()) + .eqIfPresent(BarbasicDO::getStatus, reqVO.getStatus()) + .eqIfPresent(BarbasicDO::getRelateNumber, reqVO.getRelateNumber()) + .eqIfPresent(BarbasicDO::getBarcodeString, reqVO.getBarcodeString()) + .eqIfPresent(BarbasicDO::getPrintTimes, reqVO.getPrintTimes()) + .betweenIfPresent(BarbasicDO::getLastPrintTime, reqVO.getLastPrintTime()) + .eqIfPresent(BarbasicDO::getLastPrintUserId, reqVO.getLastPrintUserId()) + .likeIfPresent(BarbasicDO::getLastPrintUserName, reqVO.getLastPrintUserName()) + .orderByDesc(BarbasicDO::getId)); + } + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java index ea23e594..5231273a 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectRequest/InspectRequestMainServiceImpl.java @@ -494,6 +494,7 @@ public class InspectRequestMainServiceImpl implements InspectRequestMainService mainDO.setSampleQty(selectInspectType(mainDO.getReceiveQty(), rule)); } + private InspectRequestMainDO validateInspectRequestMainExists(Long id) { InspectRequestMainDO mainDO = inspectRequestMainMapper.selectById(id); if (mainDO == null) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventoryinitRequest/InventoryinitRequestMainServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventoryinitRequest/InventoryinitRequestMainServiceImpl.java index fdad737b..77860c83 100644 --- a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventoryinitRequest/InventoryinitRequestMainServiceImpl.java +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inventoryinitRequest/InventoryinitRequestMainServiceImpl.java @@ -11,7 +11,8 @@ import com.win.module.wms.controller.inventoryinitRecord.vo.InventoryinitRecordD import com.win.module.wms.controller.inventoryinitRecord.vo.InventoryinitRecordMainCreateReqVO; import com.win.module.wms.convert.inventoryinitRecord.InventoryinitRecordDetailConvert; import com.win.module.wms.convert.inventoryinitRecord.InventoryinitRecordMainConvert; -import com.win.module.wms.dal.dataobject.purchasereceiptRequest.PurchasereceiptRequestMainDO; +import com.win.module.wms.dal.dataobject.inventoryinitRecord.InventoryinitRecordDetailDO; +import com.win.module.wms.dal.dataobject.inventoryinitRecord.InventoryinitRecordMainDO; import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO; import com.win.module.wms.enums.request.RequestStatusEnum; import com.win.module.wms.enums.request.RequestStatusState; @@ -118,7 +119,6 @@ public class InventoryinitRequestMainServiceImpl implements InventoryinitRequest detailDO.setNumber(number); } inventoryinitRequestDetailMapper.insertBatch(subDOList); - trendsApi.createTrends(requestsettingDO.getId(), "inventoryinitRequestMain", "增加了库存初始化申请", TrendsTypeEnum.CREATE); // 返回 return mainDO.getId(); @@ -189,7 +189,6 @@ public class InventoryinitRequestMainServiceImpl implements InventoryinitRequest } InventoryinitRequestMainDO inventoryinitRequestMainDO = inventoryinitRequestMainMapper.selectById(id); if (inventoryinitRequestMainDO == null) { - throw exception(INVENTORYINIT_REQUEST_MAIN_NOT_EXISTS); } } @@ -257,27 +256,32 @@ public class InventoryinitRequestMainServiceImpl implements InventoryinitRequest InventoryinitRecordMainCreateReqVO inventoryinitRecordMainCreateReqVO = new InventoryinitRecordMainCreateReqVO(); BeanUtils.copyProperties(mainDO, inventoryinitRecordMainCreateReqVO); inventoryinitRecordMainCreateReqVO.setRequestNumber(mainDO.getNumber()); - String number = serialNumberApi.generateCode(RuleCodeEnum.PURCHASE_RECEIPT_RECORD.getCode()); + String number = serialNumberApi.generateCode(RuleCodeEnum.INVENTORY_INITIAL_RECORD.getCode()); inventoryinitRecordMainCreateReqVO.setNumber(number); - //增加业务类型 - BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReceiptRecord"); - inventoryinitRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode()); - inventoryinitRecordMainMapper.insert(InventoryinitRecordMainConvert.INSTANCE.convert(inventoryinitRecordMainCreateReqVO)); + InventoryinitRecordMainDO inventoryinitRecordMainDO = InventoryinitRecordMainConvert.INSTANCE.convert(inventoryinitRecordMainCreateReqVO); + inventoryinitRecordMainDO.setId(null); + inventoryinitRecordMainDO.setCreator(null); + inventoryinitRecordMainDO.setCreateTime(null); + inventoryinitRecordMainDO.setUpdater(null); + inventoryinitRecordMainDO.setUpdateTime(null); + inventoryinitRecordMainMapper.insert(inventoryinitRecordMainDO); for(InventoryinitRequestDetailDO inventoryinitRequestDetailDO : detailDOList) { InventoryinitRecordDetailCreateReqVO inventoryinitRecordDetailCreateReqVO = new InventoryinitRecordDetailCreateReqVO(); BeanUtils.copyProperties(inventoryinitRequestDetailDO, inventoryinitRecordDetailCreateReqVO); inventoryinitRecordDetailCreateReqVO.setNumber(number); - inventoryinitRecordDetailMapper.insert(InventoryinitRecordDetailConvert.INSTANCE.convert(inventoryinitRecordDetailCreateReqVO)); + InventoryinitRecordDetailDO inventoryinitRecordDetailDO = InventoryinitRecordDetailConvert.INSTANCE.convert(inventoryinitRecordDetailCreateReqVO); + inventoryinitRecordDetailDO.setId(null); + inventoryinitRecordDetailDO.setCreateTime(null); + inventoryinitRecordDetailDO.setCreator(null); + inventoryinitRecordDetailDO.setUpdater(null); + inventoryinitRecordDetailDO.setUpdateTime(null); + inventoryinitRecordDetailMapper.insert(inventoryinitRecordDetailDO); } } - - } - - private InventoryinitRequestDetailDO validitempackaging(InventoryinitRequestDetailDO detailDo){ ItempackagingDO itempackaging = itempackagingService.selectItemPackagingExist(detailDo.getItemCode()); detailDo.setStdPackUnit(itempackaging.getStdPackUnit()); @@ -423,7 +427,6 @@ public class InventoryinitRequestMainServiceImpl implements InventoryinitRequest public Integer reAddInventoryinitRequestMain(Long id) { // 校验存在存在下级单据 InventoryinitRequestMainDO mainDO = valiteInventoryinitRequestMainExists(id); - RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus()); boolean flag = requestStatusState.reAdd(); if(!flag) { diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/labelBarbasic/BarbasicService.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/labelBarbasic/BarbasicService.java new file mode 100644 index 00000000..080f3288 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/labelBarbasic/BarbasicService.java @@ -0,0 +1,71 @@ +package com.win.module.wms.service.labelBarbasic; + +import java.util.*; +import javax.validation.*; +import com.win.module.wms.controller.labelBarbasic.vo.*; +import com.win.module.wms.dal.dataobject.labelBarbasic.BarbasicDO; +import com.win.framework.common.pojo.PageResult; + +/** + * 条码实体基类 Service 接口 + * + * @author 超级管理员 + */ +public interface BarbasicService { + + /** + * 创建条码实体基类 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createBarbasic(@Valid BarbasicCreateReqVO createReqVO); + + /** + * 更新条码实体基类 + * + * @param updateReqVO 更新信息 + */ + Integer updateBarbasic(@Valid BarbasicUpdateReqVO updateReqVO); + + /** + * 删除条码实体基类 + * + * @param id 编号 + */ + Integer deleteBarbasic(Long id); + + /** + * 获得条码实体基类 + * + * @param id 编号 + * @return 条码实体基类 + */ + BarbasicDO getBarbasic(Long id); + + /** + * 获得条码实体基类列表 + * + * @param ids 编号 + * @return 条码实体基类列表 + */ + List getBarbasicList(Collection ids); + + /** + * 获得条码实体基类分页 + * + * @param pageReqVO 分页查询 + * @return 条码实体基类分页 + */ + PageResult getBarbasicPage(BarbasicPageReqVO pageReqVO); + + /** + * 获得条码实体基类列表, 用于 Excel 导出 + * + * @param exportReqVO 查询条件 + * @return 条码实体基类列表 + */ + List getBarbasicList(BarbasicExportReqVO exportReqVO); + + +} diff --git a/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/labelBarbasic/BarbasicServiceImpl.java b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/labelBarbasic/BarbasicServiceImpl.java new file mode 100644 index 00000000..46f3f206 --- /dev/null +++ b/win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/labelBarbasic/BarbasicServiceImpl.java @@ -0,0 +1,84 @@ +package com.win.module.wms.service.labelBarbasic; + + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import com.win.module.wms.controller.labelBarbasic.vo.*; +import com.win.module.wms.dal.dataobject.labelBarbasic.BarbasicDO; +import com.win.framework.common.pojo.PageResult; + +import com.win.module.wms.convert.labelBarbasic.BarbasicConvert; +import com.win.module.wms.dal.mysql.labelBarbasic.BarbasicMapper; + +import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.win.module.wms.enums.ErrorCodeConstants.*; + +/** + * 条码实体基类 Service 实现类 + * + * @author 超级管理员 + */ +@Service +@Validated +public class BarbasicServiceImpl implements BarbasicService { + + @Resource + private BarbasicMapper barbasicMapper; + + @Override + public Long createBarbasic(BarbasicCreateReqVO createReqVO) { + // 插入 + BarbasicDO barbasic = BarbasicConvert.INSTANCE.convert(createReqVO); + barbasicMapper.insert(barbasic); + // 返回 + return barbasic.getId(); + } + + @Override + public Integer updateBarbasic(BarbasicUpdateReqVO updateReqVO) { + // 校验存在 + validateBarbasicExists(updateReqVO.getId()); + // 更新 + BarbasicDO updateObj = BarbasicConvert.INSTANCE.convert(updateReqVO); + return barbasicMapper.updateById(updateObj); + } + + @Override + public Integer deleteBarbasic(Long id) { + // 校验存在 + validateBarbasicExists(id); + // 删除 + return barbasicMapper.deleteById(id); + } + + private void validateBarbasicExists(Long id) { + if (barbasicMapper.selectById(id) == null) { + throw exception(BARBASIC_NOT_EXISTS); + } + } + + @Override + public BarbasicDO getBarbasic(Long id) { + return barbasicMapper.selectById(id); + } + + @Override + public List getBarbasicList(Collection ids) { + return barbasicMapper.selectBatchIds(ids); + } + + @Override + public PageResult getBarbasicPage(BarbasicPageReqVO pageReqVO) { + return barbasicMapper.selectPage(pageReqVO); + } + + @Override + public List getBarbasicList(BarbasicExportReqVO exportReqVO) { + return barbasicMapper.selectList(exportReqVO); + } + + +}