feat: bug-996 齐套管理主物料新增一个【状态】属性字段
This commit is contained in:
parent
78f5224f67
commit
bddbaaeb5e
|
|
@ -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<Void> add(@Valid @RequestBody BomMaterialDTO request){
|
||||
public ApiResult<Void> add(@Valid @RequestBody BomMaterialDTO request) {
|
||||
bomControllerService.add(request);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
|
@ -41,18 +43,38 @@ public class BomController extends BaseController {
|
|||
* 更新
|
||||
*/
|
||||
@PostMapping("update")
|
||||
public ApiResult<Void> update(@Valid @RequestBody BomUpdateQO request){
|
||||
public ApiResult<Void> update(@Valid @RequestBody BomUpdateQO request) {
|
||||
bomControllerService.update(request);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新出入库扫子码类型
|
||||
*/
|
||||
@PostMapping("updateScanType")
|
||||
public ApiResult<Void> updateScanType(@Valid @RequestBody ScanTypeUpdateQO request) {
|
||||
bomControllerService.updateScanType(request);
|
||||
return ApiResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 搜索
|
||||
* @param request 搜索参数
|
||||
*/
|
||||
@PostMapping("search")
|
||||
public ApiResult<PageData<BomMaterialVO>> search(@Valid @RequestBody BomSearchQO request){
|
||||
return ApiResult.success(bomControllerService.search(request));
|
||||
public ApiResult<PageData<BomMaterialVO>> search(@Valid @RequestBody BomSearchQO request) {
|
||||
PageData<BomMaterialVO> 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<Long> ids) throws Exception {
|
||||
bomControllerService.exportSelect(response,ids);
|
||||
public void exportSelect(HttpServletResponse response, @RequestBody(required = false) List<Long> 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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<ComponentPackingItemPdaVO> 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;
|
||||
|
|
|
|||
|
|
@ -297,22 +297,27 @@ public class InProduceOrderController extends BaseController {
|
|||
.throwMessage("该订单非待收货状态");
|
||||
List<InProduceOrderItemVO> 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<InProduceOrderItemVO> datas = new ArrayList<>();
|
||||
list.stream().filter(it -> Objects.equals(it.getParentId(), 0L)).forEach(it -> {
|
||||
List<InProduceOrderItemVO> 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<InProduceOrderItemVO> list = produceOrderItemService.getVOByOrderId(order.getId());
|
||||
List<InProduceOrderItemVO> 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<InProduceOrderItemVO> 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<String> materialNos = new ArrayList<>();
|
||||
List<InMaterialScanRecord> 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()) {
|
||||
//是否更改了储位
|
||||
|
|
|
|||
|
|
@ -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<WmsOutAssistanceItem> 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;
|
||||
|
|
|
|||
|
|
@ -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<WmsOutCostcenterItem> 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;
|
||||
|
|
|
|||
|
|
@ -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<WmsOutProduceItem> 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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -59,6 +59,12 @@ public class BomMaterialDTO {
|
|||
@NotNull
|
||||
private BigDecimal num;
|
||||
|
||||
/**
|
||||
* 出入库是否扫子码,0:禁用;1:启用;2:仅入库启用
|
||||
*/
|
||||
@NotNull
|
||||
private Integer scanType = 1;
|
||||
|
||||
/**
|
||||
* 下级
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -16,6 +16,12 @@ public class BomUpdateQO {
|
|||
@NotNull
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 出入库是否扫子码,0:禁用;1:启用;2:仅入库启用
|
||||
*/
|
||||
@NotNull
|
||||
private Integer scanType = 1;
|
||||
|
||||
/**
|
||||
* 子级物料
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -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<String> qrCodes;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<Long> ids;
|
||||
|
||||
/**
|
||||
* 出入库扫子码类型,0:禁用;1:启用;2:仅入库启用
|
||||
*/
|
||||
@NotNull
|
||||
private Integer scanType;
|
||||
}
|
||||
|
|
@ -67,4 +67,9 @@ public class BomMaterialVO {
|
|||
* 子节点
|
||||
*/
|
||||
private List<BomMaterialVO> children;
|
||||
|
||||
/**
|
||||
* 序号
|
||||
*/
|
||||
private Integer index;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,4 +65,9 @@ public class InProduceOrderItemVO {
|
|||
* 序列号
|
||||
*/
|
||||
private String sernr;
|
||||
|
||||
/**
|
||||
* 是否必须扫码,如果为false的话可以不扫码
|
||||
*/
|
||||
private boolean mustScan = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,6 +62,11 @@ public class WmsBom implements Serializable {
|
|||
*/
|
||||
private BigDecimal weight;
|
||||
|
||||
/**
|
||||
* 出入库是否扫子码,0:禁用;1:启用;2:仅入库启用
|
||||
*/
|
||||
private Integer scanType;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -23,6 +23,4 @@ public interface IParamConfigService extends IService<ParamConfig> {
|
|||
void updateConfig(ConfigUpdateQO request);
|
||||
|
||||
PageData<ParamConfigVO> search(SearchConfigQO request);
|
||||
|
||||
boolean getEnableOutScanChild();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,4 +33,6 @@ public interface IWmsBomService extends IService<WmsBom> {
|
|||
List<BomVO> getChildrenVO(String materialNo);
|
||||
|
||||
boolean isParent(String materialNo);
|
||||
|
||||
Integer getScanType(String materialNo);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -104,12 +104,4 @@ public class ParamConfigServiceImpl extends ServiceImpl<ParamConfigMapper, Param
|
|||
.setUpdateTime(d.getUpdateTime());
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getEnableOutScanChild() {
|
||||
return lambdaQuery()
|
||||
.eq(ParamConfig::getCode, "EnableOutScanChild")
|
||||
.eq(ParamConfig::getValue, "true")
|
||||
.exists();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,10 +17,7 @@ import org.springframework.stereotype.Service;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
|
@ -180,4 +177,14 @@ public class WmsBomServiceImpl extends ServiceImpl<WmsBomMapper, WmsBom> 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();
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue