diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/BomController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/BomController.java index be8d56d5..86de212f 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/BomController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/BomController.java @@ -1,11 +1,13 @@ package com.nflg.wms.admin.controller; +import cn.hutool.core.collection.CollectionUtil; import com.nflg.wms.admin.service.BomControllerService; import com.nflg.wms.common.pojo.ApiResult; import com.nflg.wms.common.pojo.PageData; import com.nflg.wms.common.pojo.dto.BomMaterialDTO; import com.nflg.wms.common.pojo.qo.BomSearchQO; import com.nflg.wms.common.pojo.qo.BomUpdateQO; +import com.nflg.wms.common.pojo.qo.ScanTypeUpdateQO; import com.nflg.wms.common.pojo.vo.BomMaterialVO; import com.nflg.wms.starter.BaseController; import jakarta.annotation.Resource; @@ -32,7 +34,7 @@ public class BomController extends BaseController { * 新增 */ @PostMapping("add") - public ApiResult add(@Valid @RequestBody BomMaterialDTO request){ + public ApiResult add(@Valid @RequestBody BomMaterialDTO request) { bomControllerService.add(request); return ApiResult.success(); } @@ -41,18 +43,38 @@ public class BomController extends BaseController { * 更新 */ @PostMapping("update") - public ApiResult update(@Valid @RequestBody BomUpdateQO request){ + public ApiResult update(@Valid @RequestBody BomUpdateQO request) { bomControllerService.update(request); return ApiResult.success(); } + /** + * 更新出入库扫子码类型 + */ + @PostMapping("updateScanType") + public ApiResult updateScanType(@Valid @RequestBody ScanTypeUpdateQO request) { + bomControllerService.updateScanType(request); + return ApiResult.success(); + } + /** * 搜索 * @param request 搜索参数 */ @PostMapping("search") - public ApiResult> search(@Valid @RequestBody BomSearchQO request){ - return ApiResult.success(bomControllerService.search(request)); + public ApiResult> search(@Valid @RequestBody BomSearchQO request) { + PageData pageData = bomControllerService.search(request); + int index1 = 0; + for (BomMaterialVO it : pageData.getItems()) { + it.setIndex(++index1); + if (CollectionUtil.isNotEmpty(it.getChildren())) { + int index2 = 0; + for (BomMaterialVO child : it.getChildren()) { + child.setIndex(++index2); + } + } + } + return ApiResult.success(pageData); } /** @@ -62,7 +84,7 @@ public class BomController extends BaseController { @Transactional @PostMapping("import") public ApiResult importFromExcel(HttpServletResponse response, @RequestParam(value = "file") MultipartFile file) throws IOException { - return bomControllerService.importFromExcel(response,file); + return bomControllerService.importFromExcel(response, file); } /** @@ -70,8 +92,8 @@ public class BomController extends BaseController { * @param ids 选中的id集合 */ @PostMapping("export") - public void exportSelect(HttpServletResponse response,@RequestBody(required = false) List ids) throws Exception { - bomControllerService.exportSelect(response,ids); + public void exportSelect(HttpServletResponse response, @RequestBody(required = false) List ids) throws Exception { + bomControllerService.exportSelect(response, ids); } /** @@ -79,8 +101,8 @@ public class BomController extends BaseController { * @param request 搜索参数 */ @PostMapping("exportSearch") - public void exportSearch(HttpServletResponse response,@Valid @RequestBody BomSearchQO request) throws Exception { - bomControllerService.exportSearch(response,request); + public void exportSearch(HttpServletResponse response, @Valid @RequestBody BomSearchQO request) throws Exception { + bomControllerService.exportSearch(response, request); } } diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentPackingController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentPackingController.java index 39b0a831..5654ece9 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentPackingController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/ComponentPackingController.java @@ -20,7 +20,6 @@ import com.nflg.wms.common.util.PageUtil; import com.nflg.wms.common.util.VUtil; import com.nflg.wms.repository.entity.WmsComponentPacking; import com.nflg.wms.repository.entity.WmsComponentPackingItem; -import com.nflg.wms.repository.service.IParamConfigService; import com.nflg.wms.repository.service.IWmsBomService; import com.nflg.wms.repository.service.IWmsComponentPackingItemService; import com.nflg.wms.repository.service.IWmsComponentPackingService; @@ -51,9 +50,6 @@ public class ComponentPackingController { @Autowired private SapService sapService; - @Resource - private IParamConfigService paramConfigService; - @Resource private IWmsBomService bomService; @@ -200,13 +196,13 @@ public class ComponentPackingController { if (CollectionUtil.isEmpty(tasks)) { return ApiResult.success(Collections.emptyList()); } - boolean enableOutScanChild = paramConfigService.getEnableOutScanChild(); + Integer type = bomService.getScanType(packing.getMatnr()); // 转换为 VO 对象 List daVos = tasks.stream() .map(item1 -> { ComponentPackingItemPdaVO vo = Convert.convert(ComponentPackingItemPdaVO.class, item1); vo.setQiTao(bomService.isParent(vo.getIdnrk())); - if (vo.isQiTao() && enableOutScanChild) { + if (vo.isQiTao() && Objects.equals(type, 1)) { vo.setChildren(bomService.getChildrenVO(vo.getIdnrk())); } return vo; diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java index e406ba79..b2996a26 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java @@ -297,22 +297,27 @@ public class InProduceOrderController extends BaseController { .throwMessage("该订单非待收货状态"); List list = produceOrderItemService.getVOByOrderId(order.getId()); if (order.getList()) { - list = list.stream() - .filter(it -> !Objects.equals(it.getParentId(), 0L)) - .collect(Collectors.groupingBy(InProduceOrderItemVO::getMaterialNo)) - .values() - .stream().map(it -> { - InProduceOrderItemVO vo = it.get(0); - vo.setNum(it.stream().map(InProduceOrderItemVO::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)); - vo.setBinNos(binService.getBinNos(vo.getMaterialNo(), vo.getFactoryNo(), vo.getWarehouseNo())); - return vo; - }).toList(); + List datas = new ArrayList<>(); + list.stream().filter(it -> Objects.equals(it.getParentId(), 0L)).forEach(it -> { + List children = list.stream() + .filter(child -> Objects.equals(child.getParentId(), it.getId())) + .toList(); + Integer type = bomService.getScanType(it.getMaterialNo()); + children.forEach(child -> { + if (Objects.equals(type, 0)) { + child.setMustScan(false); + } + child.setBinNos(binService.getBinNos(child.getMaterialNo(), child.getFactoryNo(), child.getWarehouseNo())); + }); + datas.addAll(children); + }); + return ApiResult.success(datas); } else { list.forEach(it -> { it.setBinNos(binService.getBinNos(it.getMaterialNo(), it.getFactoryNo(), it.getWarehouseNo())); }); + return ApiResult.success(list); } - return ApiResult.success(list); } /** @@ -329,53 +334,64 @@ public class InProduceOrderController extends BaseController { List list = produceOrderItemService.getVOByOrderId(order.getId()); List datas; if (order.getList()) { - datas = list.stream() - .filter(it -> !Objects.equals(it.getParentId(), 0L)) - .collect(Collectors.groupingBy(InProduceOrderItemVO::getMaterialNo)) - .values() - .stream().map(it -> { - InProduceOrderItemVO vo = it.get(0); - vo.setNum(it.stream().map(InProduceOrderItemVO::getNum).reduce(BigDecimal.ZERO, BigDecimal::add)); - vo.setBinNos(binService.getBinNos(vo.getMaterialNo(), vo.getFactoryNo(), vo.getWarehouseNo())); - return vo; - }).toList(); + datas = new ArrayList<>(); + list.stream().filter(it -> Objects.equals(it.getParentId(), 0L)).forEach(it -> { + List children = list.stream() + .filter(child -> Objects.equals(child.getParentId(), it.getId())) + .toList(); + Integer type = bomService.getScanType(it.getMaterialNo()); + children.forEach(child -> { + if (Objects.equals(type, 0)) { + child.setMustScan(false); + } + }); + datas.addAll(children); + }); } else { datas = list; } List materialNos = new ArrayList<>(); List records = new ArrayList<>(); datas.forEach(it -> { - BigDecimal num = BigDecimal.ZERO; - InProduceOrderReceiveMaterialQO materialQO = request.getItems().stream().filter(q -> StrUtil.equals(q.getMaterialNo(), it.getMaterialNo())).findFirst().orElse(null); + InProduceOrderReceiveMaterialQO materialQO = request.getItems() + .stream() + .filter(q -> Objects.equals(q.getId(), it.getId())) + .findFirst() + .orElse(null); if (Objects.isNull(materialQO)) { materialNos.add(it.getMaterialNo()); } else { - for (String qrCode : materialQO.getQrCodes()) { - MaterialQRCodeContentDTO content = NoUtil.getMaterialQRCodeContent(qrCode); - if (Objects.nonNull(content.getNum())) { - num = num.add(content.getNum()); + VUtil.trueThrowBusinessError(it.isMustScan() && CollectionUtil.isEmpty(materialQO.getQrCodes())) + .throwMessage(materialQO.getMaterialNo() + "需要提供扫码信息"); + if (it.isMustScan()) { + BigDecimal num = BigDecimal.ZERO; + for (String qrCode : materialQO.getQrCodes()) { + MaterialQRCodeContentDTO content = NoUtil.getMaterialQRCodeContent(qrCode); + if (Objects.nonNull(content.getNum())) { + num = num.add(content.getNum()); + } + records.add(new InMaterialScanRecord() + .setSource(4) + .setSourceId(order.getId()) + .setSourceItemId(it.getId()) + .setTicketItemId(it.getId()) + .setMaterialNo(it.getMaterialNo()) + .setContent(qrCode) + .setBatchNo(content.getBatchNo()) + .setSerialNo(content.getSerialNo()) + .setUniqNo(content.getUniqNo()) + .setFactoryNo(it.getFactoryNo()) + .setWarehouseNo(it.getWarehouseNo()) + .setBinNos(StrUtil.split(materialQO.getBinNos(), "/")) + .setNum(content.getNum()) + .setUnit(it.getUnit()) + .setCreateBy(UserUtil.getUserName()) + .setCreateTime(Instant.now()) + ); + } + if (num.compareTo(it.getNum()) != 0) { + materialNos.add(it.getMaterialNo()); } - records.add(new InMaterialScanRecord() - .setSource(4) - .setSourceId(order.getId()) - .setSourceItemId(it.getId()) - .setTicketItemId(it.getId()) - .setMaterialNo(it.getMaterialNo()) - .setContent(qrCode) - .setBatchNo(content.getBatchNo()) - .setSerialNo(content.getSerialNo()) - .setUniqNo(content.getUniqNo()) - .setFactoryNo(it.getFactoryNo()) - .setWarehouseNo(it.getWarehouseNo()) - .setBinNos(StrUtil.split(materialQO.getBinNos(), "/")) - .setNum(content.getNum()) - .setUnit(it.getUnit()) - .setCreateBy(UserUtil.getUserName()) - .setCreateTime(Instant.now()) - ); - } - if (num.compareTo(it.getNum()) != 0) { - materialNos.add(it.getMaterialNo()); } if (!order.getList()) { //是否更改了储位 diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutAssistanceController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutAssistanceController.java index f7e103d6..64730991 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutAssistanceController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutAssistanceController.java @@ -169,7 +169,6 @@ public class OutAssistanceController extends BaseController { WmsOutAssistance order = outAssistanceService.lambdaQuery().eq(WmsOutAssistance::getNo, no).one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); List datas = outAssistanceItemService.getList(order.getId()); - boolean enableOutScanChild = paramConfigService.getEnableOutScanChild(); return ApiResult.success(new OutProduce1VO() .setId(order.getId()) .setAufnr(order.getEbeln()) @@ -179,6 +178,7 @@ public class OutAssistanceController extends BaseController { .setItems(datas.stream() .filter(item -> item.getLeft().compareTo(BigDecimal.ZERO) > 0) .map(item -> { + Integer type = bomService.getScanType(item.getMatnr1()); OutProduceItemVO vo = new OutProduceItemVO() .setId(item.getId()) .setLgort2(order.getLgort1()) @@ -188,7 +188,7 @@ public class OutAssistanceController extends BaseController { .setMeins(item.getMeins()) .setNum(item.getLeft()); vo.setQiTao(bomService.isParent(item.getMatnr1())); - if (vo.isQiTao() && enableOutScanChild) { + if (vo.isQiTao() && Objects.equals(type, 1)) { vo.setChildren(bomService.getChildrenVO(item.getMatnr1())); } return vo; diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutCostCenterController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutCostCenterController.java index 50345b6b..01e3178d 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutCostCenterController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutCostCenterController.java @@ -166,7 +166,6 @@ public class OutCostCenterController extends BaseController { WmsOutCostcenter order = outCostcenterService.lambdaQuery().eq(WmsOutCostcenter::getNo, no).one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); List datas = outCostcenterItemService.getList(order.getId()); - boolean enableOutScanChild = paramConfigService.getEnableOutScanChild(); return ApiResult.success(new OutProduce1VO() .setId(order.getId()) .setAufnr(order.getAufnr()) @@ -175,6 +174,7 @@ public class OutCostCenterController extends BaseController { .setItems(datas.stream() .filter(item -> item.getLeft().compareTo(BigDecimal.ZERO) > 0) .map(item -> { + Integer type = bomService.getScanType(item.getMatnr()); OutProduceItemVO vo = new OutProduceItemVO() .setId(item.getId()) .setLgort2(item.getLgort()) @@ -184,7 +184,7 @@ public class OutCostCenterController extends BaseController { .setNum(item.getLeft()) .setMeins(item.getMeins()); vo.setQiTao(bomService.isParent(item.getMatnr())); - if (vo.isQiTao() && enableOutScanChild) { + if (vo.isQiTao() && Objects.equals(type, 1)) { vo.setChildren(bomService.getChildrenVO(item.getMatnr())); } return vo; diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java index d7218460..ab5f04c6 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/OutProduceController.java @@ -281,7 +281,7 @@ public class OutProduceController extends BaseController { WmsOutProduce order = outProduceService.lambdaQuery().eq(WmsOutProduce::getNo, no).one(); VUtil.trueThrowBusinessError(Objects.isNull(order)).throwMessage("订单不存在"); List datas = outProduceItemService.getList(order.getId()); - boolean enableOutScanChild = paramConfigService.getEnableOutScanChild(); + Integer type = bomService.getScanType(order.getPlnbez()); return ApiResult.success(new OutProduce1VO() .setId(order.getId()) .setAufnr(order.getAufnr()) @@ -300,7 +300,7 @@ public class OutProduceController extends BaseController { .setMeins(item.getMeins()) .setNum(item.getSqsl().subtract(item.getNum())); vo.setQiTao(bomService.isParent(item.getMatnr())); - if (vo.isQiTao() && enableOutScanChild) { + if (vo.isQiTao() && Objects.equals(type, 1)) { vo.setChildren(bomService.getChildrenVO(item.getMatnr())); } return vo; diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java index 19c2c4c5..9ac8710f 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferCompanyController.java @@ -202,7 +202,6 @@ public class TransferCompanyController extends BaseController { VUtil.trueThrowBusinessError(datas.stream() .noneMatch(item -> item.getLeft().compareTo(BigDecimal.ZERO) > 0) ).throwMessage("该订单的物料均已出库"); - boolean enableOutScanChild = paramConfigService.getEnableOutScanChild(); return ApiResult.success(new TransferCompanyPdaVO() .setBukrs(order.getBukrs()) .setReswk(order.getReswk()) @@ -212,6 +211,7 @@ public class TransferCompanyController extends BaseController { .setLgort1(order.getLgort()) .setItems(datas.stream() .map(item -> { + Integer type = bomService.getScanType(item.getMatnr()); TransferCompanyPdaItemVO vo = new TransferCompanyPdaItemVO() .setId(item.getId()) .setEbelp(item.getEbelp()) @@ -221,7 +221,7 @@ public class TransferCompanyController extends BaseController { .setNum(item.getLeft()) .setMeins(item.getMeins()); vo.setQiTao(bomService.isParent(item.getMatnr())); - if (vo.isQiTao() && enableOutScanChild) { + if (vo.isQiTao() && Objects.equals(type, 1)) { vo.setChildren(bomService.getChildrenVO(item.getMatnr())); } return vo; diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java index e7b04cef..7c2df4c2 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/TransferFactoryController.java @@ -195,7 +195,6 @@ public class TransferFactoryController extends BaseController { VUtil.trueThrowBusinessError(datas.stream() .noneMatch(item -> item.getLeft().compareTo(BigDecimal.ZERO) > 0) ).throwMessage("该订单的物料均已出库"); - boolean enableOutScanChild = paramConfigService.getEnableOutScanChild(); return ApiResult.success(new TransferFactoryPdaVO() .setRsnum(order.getRsnum()) .setMblnr(order.getMblnr()) @@ -204,6 +203,7 @@ public class TransferFactoryController extends BaseController { .setFactoryNo(order.getWerks()) .setItems(datas.stream() .map(item -> { + Integer type = bomService.getScanType(item.getMatnr()); TransferFactoryPdaItemVO vo = new TransferFactoryPdaItemVO() .setId(item.getId()) .setMatnr(item.getMatnr()) @@ -215,7 +215,7 @@ public class TransferFactoryController extends BaseController { .setBinIn(StrUtil.join("/", storageService.getBinNos(item.getMatnr(), order.getWerks(), order.getUmlgo()))) .setBinOut(StrUtil.join("/", storageService.getBinNos(item.getMatnr(), order.getWerks(), order.getLgort()))); vo.setQiTao(bomService.isParent(item.getMatnr())); - if (vo.isQiTao() && enableOutScanChild) { + if (vo.isQiTao() && Objects.equals(type, 1)) { vo.setChildren(bomService.getChildrenVO(item.getMatnr())); } return vo; diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/BomControllerService.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/BomControllerService.java index e2314c4c..eb4b42a1 100644 --- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/BomControllerService.java +++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/service/BomControllerService.java @@ -11,6 +11,7 @@ import com.nflg.wms.common.pojo.dto.BomImportExcelDTO; import com.nflg.wms.common.pojo.dto.BomMaterialDTO; import com.nflg.wms.common.pojo.qo.BomSearchQO; import com.nflg.wms.common.pojo.qo.BomUpdateQO; +import com.nflg.wms.common.pojo.qo.ScanTypeUpdateQO; import com.nflg.wms.common.pojo.vo.BomMaterialVO; import com.nflg.wms.common.util.DateTimeUtil; import com.nflg.wms.common.util.EecExcelUtil; @@ -70,6 +71,7 @@ public class BomControllerService { .setDescribe(dto.getMaterialDesc()) .setDrawingNo(dto.getDrawingNo()) .setWeight(totalWight) + .setScanType(dto.getScanType()) .setNum(new BigDecimal(1)) .setCreateBy(UserUtil.getUserName()) .setCreateTime(LocalDateTime.now()); @@ -288,4 +290,11 @@ public class BomControllerService { .addSheet(new ListSheet<>(datas)) .writeTo(response.getOutputStream()); } + + public void updateScanType(ScanTypeUpdateQO request) { + bomService.lambdaUpdate() + .set(WmsBom::getScanType, request.getScanType()) + .in(WmsBom::getId, request.getIds()) + .update(); + } } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/BomMaterialDTO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/BomMaterialDTO.java index 99c06544..9f7c7b27 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/BomMaterialDTO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/dto/BomMaterialDTO.java @@ -59,6 +59,12 @@ public class BomMaterialDTO { @NotNull private BigDecimal num; + /** + * 出入库是否扫子码,0:禁用;1:启用;2:仅入库启用 + */ + @NotNull + private Integer scanType = 1; + /** * 下级 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/BomUpdateQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/BomUpdateQO.java index bdb80f63..0f3cbc1d 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/BomUpdateQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/BomUpdateQO.java @@ -16,6 +16,12 @@ public class BomUpdateQO { @NotNull private Long id; + /** + * 出入库是否扫子码,0:禁用;1:启用;2:仅入库启用 + */ + @NotNull + private Integer scanType = 1; + /** * 子级物料 */ diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InProduceOrderReceiveMaterialQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InProduceOrderReceiveMaterialQO.java index a2865367..b3a8bed2 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InProduceOrderReceiveMaterialQO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/InProduceOrderReceiveMaterialQO.java @@ -1,7 +1,7 @@ package com.nflg.wms.common.pojo.qo; import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; import lombok.Data; import java.util.List; @@ -9,6 +9,9 @@ import java.util.List; @Data public class InProduceOrderReceiveMaterialQO { + @NotNull + private Long id; + /** * 物料编号 */ @@ -24,6 +27,5 @@ public class InProduceOrderReceiveMaterialQO { /** * 二维码列表 */ - @NotEmpty private List qrCodes; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ScanTypeUpdateQO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ScanTypeUpdateQO.java new file mode 100644 index 00000000..8d76a61d --- /dev/null +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/qo/ScanTypeUpdateQO.java @@ -0,0 +1,20 @@ +package com.nflg.wms.common.pojo.qo; + +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.util.List; + +@Data +public class ScanTypeUpdateQO { + + @NotEmpty + private List ids; + + /** + * 出入库扫子码类型,0:禁用;1:启用;2:仅入库启用 + */ + @NotNull + private Integer scanType; +} diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/BomMaterialVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/BomMaterialVO.java index 5308c893..535fddd6 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/BomMaterialVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/BomMaterialVO.java @@ -67,4 +67,9 @@ public class BomMaterialVO { * 子节点 */ private List children; + + /** + * 序号 + */ + private Integer index; } diff --git a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/InProduceOrderItemVO.java b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/InProduceOrderItemVO.java index dd847ff7..d7bc062d 100644 --- a/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/InProduceOrderItemVO.java +++ b/nflg-wms-common/src/main/java/com/nflg/wms/common/pojo/vo/InProduceOrderItemVO.java @@ -65,4 +65,9 @@ public class InProduceOrderItemVO { * 序列号 */ private String sernr; + + /** + * 是否必须扫码,如果为false的话可以不扫码 + */ + private boolean mustScan = true; } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsBom.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsBom.java index d7fcfceb..a8574b10 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsBom.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/entity/WmsBom.java @@ -62,6 +62,11 @@ public class WmsBom implements Serializable { */ private BigDecimal weight; + /** + * 出入库是否扫子码,0:禁用;1:启用;2:仅入库启用 + */ + private Integer scanType; + /** * 创建人 */ diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IParamConfigService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IParamConfigService.java index 25175cf0..278dd0a7 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IParamConfigService.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IParamConfigService.java @@ -23,6 +23,4 @@ public interface IParamConfigService extends IService { void updateConfig(ConfigUpdateQO request); PageData search(SearchConfigQO request); - - boolean getEnableOutScanChild(); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsBomService.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsBomService.java index 507d911b..d7b2bae7 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsBomService.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/IWmsBomService.java @@ -33,4 +33,6 @@ public interface IWmsBomService extends IService { List getChildrenVO(String materialNo); boolean isParent(String materialNo); + + Integer getScanType(String materialNo); } diff --git a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/ParamConfigServiceImpl.java b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/ParamConfigServiceImpl.java index a9f63582..2784a7f5 100644 --- a/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/ParamConfigServiceImpl.java +++ b/nflg-wms-repository/src/main/java/com/nflg/wms/repository/service/impl/ParamConfigServiceImpl.java @@ -104,12 +104,4 @@ public class ParamConfigServiceImpl extends ServiceImpl impleme .eq(WmsBom::getNo, materialNo) .exists(); } + + @Override + public Integer getScanType(String materialNo) { + return Optional.ofNullable(lambdaQuery() + .eq(WmsBom::getParentId, 0L) + .eq(WmsBom::getNo, materialNo) + .one() + ).orElse(new WmsBom()) + .getScanType(); + } } \ No newline at end of file