Compare commits

...

8 Commits

Author SHA1 Message Date
曹鹏飞 f5a0983aa5 feat: 入库记录添加工厂、仓位、储位数据 2025-10-09 17:59:56 +08:00
曹鹏飞 88a71210e1 fix: 修复成本中心领料出库时库存查询的仓库未设置为请求参数的仓库信息的问题 2025-10-09 15:10:50 +08:00
曹鹏飞 0db65a862e feat: 仓库搜索条件添加工厂编号 2025-10-09 14:07:15 +08:00
曹鹏飞 dda2f7e8ff fix: 修复零部件出库单查询出错的问题 2025-10-09 14:03:18 +08:00
曹鹏飞 f86b8b0f7f Merge branch 'feature/bug-787' into develop
# Conflicts:
#	nflg-wms-admin/src/main/java/com/nflg/wms/admin/controller/InProduceOrderController.java
2025-10-09 13:54:58 +08:00
曹鹏飞 b1bdf8cbb8 feat: bug-787 生成物料二维码缺少供应商字段导致数据错误 2025-10-09 13:51:04 +08:00
曹鹏飞 6f064ce6e0 Merge branch 'feature/bug-776' into develop 2025-10-09 11:58:19 +08:00
曹鹏飞 119e867890 feat: bug-776 所有的出库操作扫码后流程需要调整 2025-10-09 11:57:55 +08:00
13 changed files with 39 additions and 170 deletions

View File

@ -238,6 +238,9 @@ public class InCostCenterBackController extends BaseController {
.setContent(qrCode)
.setBatchNo(qrCodeContent.getBatchNo())
.setSerialNo(qrCodeContent.getSerialNo())
.setFactoryNo(order.getWerks())
.setWarehouseNo(request.getLgort())
.setBinNos(StrUtil.split(it.getBinNos(), "/"))
.setUniqNo(qrCodeContent.getUniqNo())
.setNum(qrCodeContent.getNum())
.setCreateBy(UserUtil.getUserName())

View File

@ -285,6 +285,9 @@ public class InProduceBackController extends BaseController {
.setBatchNo(qrCodeContent.getBatchNo())
.setSerialNo(qrCodeContent.getSerialNo())
.setUniqNo(qrCodeContent.getUniqNo())
.setFactoryNo(order.getDwerk())
.setWarehouseNo(request.getLgort())
// .setBinNos(StrUtil.split(it.getBinNos(), "/"))
.setNum(qrCodeContent.getNum())
.setCreateBy(UserUtil.getUserName())
.setCreateTime(Instant.now())

View File

@ -103,50 +103,8 @@ public class InProduceOrderController extends BaseController {
@GetMapping("searchFromSAP")
public ApiResult<ZWM00MB007DTO> searchFromSAP(@Valid @RequestParam @NotBlank String no) {
return ApiResult.success(sapService.zwm00Mb007(no));
// return ApiResult.success(new ZWM00MB007DTO()
// .setAufnr(RandomUtil.randomNumbers(10))
// .setMatnr(RandomUtil.randomString(11))
// .setMaktx(RandomUtil.randomString(20))
// .setLgort(RandomUtil.randomNumbers(4))
// .setPwerk("1010")
// .setPsmng(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
// .setMeins(RandomUtil.randomString(2))
// .setWemng(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("50")))
// .setWshsl(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("50")))
// );
}
// /**
// * 生成物料列表
// * @param request 请求参数
// * @return 生成结果
// */
// @PostMapping("generateMaterials")
// public ApiResult<InProduceOrderMaterialVO> generateMaterials(@Valid @RequestBody InProduceOrderGenerateMaterialsQO request) {
// InProduceOrderMaterialVO vo=new InProduceOrderMaterialVO()
// .setMaterialNo(request.getMatnr())
// .setMaterialDesc(request.getMaktx())
// .setUnit(request.getMeins())
// .setNum(request.getNum())
// .setFactoryNo(request.getPwerk())
// .setWarehouseNo(request.getLgort())
// .setOderNum(request.getPsmng());
// if (request.getList()){
// List<WmsBom> children = bomService.getChildren(request.getMatnr());
// vo.setChildren(children.stream().map(it -> new InProduceOrderMaterialVO()
// .setMaterialNo(it.getNo())
// .setMaterialDesc(it.getDescribe())
// .setUnit(request.getMeins())
// .setNum(request.getNum().multiply(it.getNum()))
// .setFactoryNo(request.getPwerk())
// .setWarehouseNo(request.getLgort())
// .setOderNum(request.getPsmng())
// ).toList()
// );
// }
// return ApiResult.success(vo);
// }
/**
* 保存
* @param request 请求参数
@ -278,6 +236,7 @@ public class InProduceOrderController extends BaseController {
} else {
dto.setPrintNum(DF.format(BigDecimal.ONE));
}
dto.setSupplierCode("");
dto.setBatchNo("");//NoUtil.getBatchNo("")
dto.setQrCode(QRCodeUtil.generateQRCodeBase64(generateQRContent(dto, ""), 100, 100));
datas.add(dto);
@ -297,9 +256,9 @@ public class InProduceOrderController extends BaseController {
}
private String generateQRContent(DeliverNormalOrderItemDTO order,String indexNo){
String content = StrUtil.format("{}${}${}${}${}${}${}${}"
String content = StrUtil.format("{}${}${}${}${}${}${}${}${}"
, order.getPrintNo(), order.getExternalOrderNo(),order.getRowNo(),order.getMaterialNo(),order.getPrintNum()
, order.getMaterialDesc(), order.getBatchNo(), Optional.ofNullable(indexNo).orElse(""));
, order.getMaterialDesc(), order.getSupplierCode(), order.getBatchNo(), Optional.ofNullable(indexNo).orElse(""));
log.debug("二维码内容:"+ content);
return content;
}
@ -424,6 +383,9 @@ public class InProduceOrderController extends BaseController {
.setBatchNo(content.getBatchNo())
.setSerialNo(content.getSerialNo())
.setUniqNo(content.getUniqNo())
.setFactoryNo(it.getFactoryNo())
.setWarehouseNo(it.getWarehouseNo())
.setBinNos(StrUtil.split(materialQO.getBinNos(), "/"))
.setNum(content.getNum())
.setCreateBy(UserUtil.getUserName())
.setCreateTime(Instant.now())
@ -445,7 +407,7 @@ public class InProduceOrderController extends BaseController {
materialNos.add(it.getMaterialNo());
}
//是否更改了储位
if (Objects.isNull(materialQO.getBinNos())) {
if (StrUtil.isNotBlank(materialQO.getBinNos())) {
syncStorage(it, StrUtil.split(materialQO.getBinNos(), "/"));
}
}

View File

@ -160,25 +160,6 @@ public class NormalOrderController extends BaseController {
*/
@PostMapping("exportPdfPerPage")
public void exportPdfPerPage(HttpServletResponse response, @Valid @RequestBody @NotNull List<Long> ids) throws Exception {
// List<DeliverNormalOrderVO> orders=new ArrayList<>();
// for (int i = 0,count=RandomUtil.randomInt(1,50); i < count; i++) {
// BigDecimal batchNum = RandomUtil.randomBigDecimal(new BigDecimal("10"));
// BigDecimal minPackageNum = RandomUtil.randomBigDecimal(new BigDecimal("1"),new BigDecimal("3"));
// BigDecimal[] result = batchNum.divideAndRemainder(minPackageNum);
// orders.add(new DeliverNormalOrderVO()
// .setId(IdUtil.getSnowflakeNextId())
// .setMaterialNo(RandomUtil.randomNumbers(10))
// .setMaterialDesc(RandomUtil.randomString(10))
// .setBatchNum(batchNum)
// .setMinPackageNum(minPackageNum)
// .setSupplierCode(RandomUtil.randomString(10))
// .setSupplierName(RandomUtil.randomString(10))
// .setExternalOrderNo(RandomUtil.randomNumbers(10))
// .setRowNo(RandomUtil.randomString(10))
// .setIndexNo(RandomUtil.randomString(10))
// .setLableNum(result[1].compareTo(BigDecimal.ZERO)==0?result[0].intValue():result[0].intValue()+1)
// );
// }
List<DeliverNormalOrderVO> orders = deliverNormalOrderService.getList(ids);
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(orders)).throwMessage("没有需要打印的数据");
exportPdfPerPage(convert(orders), response);
@ -190,25 +171,6 @@ public class NormalOrderController extends BaseController {
*/
@PostMapping("exportPdfOnePage")
public void exportPdfOnePage(HttpServletResponse response, @Valid @RequestBody @NotNull List<Long> ids) throws Exception {
// List<DeliverNormalOrderVO> orders=new ArrayList<>();
// for (int i = 0,count=RandomUtil.randomInt(1,50); i < count; i++) {
// BigDecimal batchNum = RandomUtil.randomBigDecimal(new BigDecimal("10"));
// BigDecimal minPackageNum = RandomUtil.randomBigDecimal(new BigDecimal("1"),new BigDecimal("3"));
// BigDecimal[] result = batchNum.divideAndRemainder(minPackageNum);
// orders.add(new DeliverNormalOrderVO()
// .setId(IdUtil.getSnowflakeNextId())
// .setMaterialNo(RandomUtil.randomNumbers(10))
// .setMaterialDesc(RandomUtil.randomString(10))
// .setBatchNum(batchNum)
// .setMinPackageNum(minPackageNum)
// .setSupplierCode(RandomUtil.randomString(10))
// .setSupplierName(RandomUtil.randomString(10))
// .setExternalOrderNo(RandomUtil.randomNumbers(10))
// .setRowNo(RandomUtil.randomString(10))
// .setIndexNo(RandomUtil.randomString(10))
// .setLableNum(result[1].compareTo(BigDecimal.ZERO)==0?result[0].intValue():result[0].intValue()+1)
// );
// }
List<DeliverNormalOrderVO> orders = deliverNormalOrderService.getList(ids);
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(orders)).throwMessage("没有需要打印的数据");
exportPdfInAll(convert(orders), response);
@ -232,6 +194,7 @@ public class NormalOrderController extends BaseController {
} else {
dto.setPrintNum(DF.format(order.getMinPackageNum()));
}
dto.setSupplierCode(order.getSupplierNo());
dto.setQrCode(QRCodeUtil.generateQRCodeBase64(generateQRContent(dto, CollectionUtil.get(indexNos, i)), 100, 100));
datas.add(dto);
}
@ -240,9 +203,9 @@ public class NormalOrderController extends BaseController {
}
private String generateQRContent(DeliverNormalOrderItemDTO order, String indexNo) {
String content = StrUtil.format("{}${}${}${}${}${}${}${}"
String content = StrUtil.format("{}${}${}${}${}${}${}${}${}"
, order.getPrintNo(), order.getExternalOrderNo(), order.getRowNo(), order.getMaterialNo(), order.getPrintNum()
, order.getMaterialDesc(), order.getBatchNo(), Optional.ofNullable(indexNo).orElse(""));
, order.getMaterialDesc(), order.getSupplierCode(), order.getBatchNo(), Optional.ofNullable(indexNo).orElse(""));
log.debug("二维码内容:" + content);
return content;
}
@ -305,7 +268,7 @@ public class NormalOrderController extends BaseController {
exportPdfInAll(convert1(datas.get(0).getSupplierNo(), datas), response);
}
private List<DeliverNormalOrderItemDTO> convert1(String supplierNo, List<DeliverNormalOrderSaveItemQO> orders) throws Exception {
private List<DeliverNormalOrderItemDTO> convert1(String supplierNo, List<DeliverNormalOrderSaveItemQO> orders) {
List<DeliverNormalOrderItemDTO> datas = new ArrayList<>();
for (DeliverNormalOrderSaveItemQO order : orders) {
List<String> indexNos = StrUtil.split(order.getIndexNo(), ",");
@ -328,6 +291,7 @@ public class NormalOrderController extends BaseController {
} else {
dto.setPrintNum(DF.format(order.getMinPackageNum()));
}
dto.setSupplierCode(supplierNo);
dto.setQrCode(QRCodeUtil.generateQRCodeBase64(generateQRContent(dto, CollectionUtil.get(indexNos, i)), 100, 100));
datas.add(dto);
}

View File

@ -171,6 +171,7 @@ public class OutAssistanceController extends BaseController {
.setItems(datas.stream()
.filter(item -> item.getLeft().compareTo(BigDecimal.ZERO) > 0)
.map(item -> new OutProduceItemVO()
.setId(item.getId())
.setLgort2(order.getLgort1())
.setLgpbe(item.getLgpbe())
.setMaktx2(item.getMaktx1())

View File

@ -166,6 +166,7 @@ public class OutCostCenterController extends BaseController {
.setItems(datas.stream()
.filter(item -> item.getLeft().compareTo(BigDecimal.ZERO) > 0)
.map(item -> new OutProduceItemVO()
.setId(item.getId())
.setLgort2(item.getLgort())
.setLgpbe(item.getLgpbe())
.setMaktx2(item.getMaktx())
@ -232,7 +233,7 @@ public class OutCostCenterController extends BaseController {
.setSerialNo(qrCodeContent.getSerialNo())
.setUniqNo(qrCodeContent.getUniqNo())
.setFactoryNo(order.getWerks())
.setWarehouseNo(item.getLgort())
.setWarehouseNo(request.getLgort())
.setNum(qrNum)
.setCreateBy(UserUtil.getUserName())
.setCreateTime(Instant.now())

View File

@ -91,45 +91,6 @@ public class OutProduceController extends BaseController {
List<Zwm3a07VO> vos = sapService.zwm3a07(request);
handleVos(vos);
return ApiResult.success(vos);
// List<WmsInventory> inventories = inventoryService.list();
// List<Zwm3a07VO> vos = new ArrayList<>();
// for (int i = 0, count = inventories.size(); i < count; i++) {
// WmsInventory inventory = inventories.get(i);
// vos.add(new Zwm3a07VO()
// .setInsme(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
// .setDwerk(inventory.getFactoryNo())
// .setMatnr(inventory.getMaterialNo())
// .setAufnr(RandomUtil.randomNumbers(10))
// .setMaktx(RandomUtil.randomString(20))
// .setLgort2(inventory.getWarehouseNo())
// .setLgpbe(RandomUtil.randomString(10))
// .setMeins(RandomUtil.randomString(2))
// .setName(RandomUtil.randomString(10))
// .setQlsl(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
// .setSqsl(RandomUtil.randomBigDecimal(BigDecimal.ZERO, inventory.getNum().divide(new BigDecimal("5"), RoundingMode.HALF_UP)))
// .setSqsl2(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
// .setSqsl3(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
// .setBdmng(RandomUtil.randomBigDecimal(new BigDecimal("50"), new BigDecimal("100")))
// .setLabst(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
// .setKcqls(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
// .setKtext(RandomUtil.randomString(20))
// .setRsnum(RandomUtil.randomNumbers(10))
// .setRsnum2(RandomUtil.randomNumbers(10))
// .setPlnbez(RandomUtil.randomString(20))
// .setEkgrp(RandomUtil.randomString(10))
// .setDispo(RandomUtil.randomString(10))
// .setCusn(RandomUtil.randomNumbers(10))
// .setBdter(DateUtil.format(DateUtil.date(), "yyyy-MM-dd"))
// .setVornr(RandomUtil.randomNumbers(10))
// .setSernr(RandomUtil.randomNumbers(10))
// .setJtsn(RandomUtil.randomNumbers(10))
// .setRspos(RandomUtil.randomNumbers(10))
// .setEnmng(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("50")))
// .setMaktx2(RandomUtil.randomString(20))
// .setLeftNum(inventory.getNum())
// );
// }
// return ApiResult.success(vos);
}
private void handleVos(List<Zwm3a07VO> vos) {
@ -152,45 +113,6 @@ public class OutProduceController extends BaseController {
List<Zwm3a07VO> vos = sapService.zwm3a08(request);
handleVos(vos);
return ApiResult.success(vos);
// List<WmsInventory> inventories = inventoryService.list();
// List<Zwm3a07VO> vos = new ArrayList<>();
// for (int i = 0, count = inventories.size(); i < count; i++) {
// WmsInventory inventory = inventories.get(i);
// vos.add(new Zwm3a07VO()
// .setInsme(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
// .setMatnr(inventory.getMaterialNo())
// .setAufnr(RandomUtil.randomNumbers(10))
// .setMaktx(RandomUtil.randomString(20))
// .setLgort2(inventory.getWarehouseNo())
// .setLgpbe(RandomUtil.randomString(6))
// .setMeins(RandomUtil.randomString(2))
// .setName(RandomUtil.randomString(10))
// .setQlsl(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
// .setSqsl(RandomUtil.randomBigDecimal(BigDecimal.ZERO, inventory.getNum().divide(new BigDecimal("5"), RoundingMode.HALF_UP)))
// .setSqsl2(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
// .setSqsl3(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
// .setBdmng(RandomUtil.randomBigDecimal(new BigDecimal("50"), new BigDecimal("100")))
// .setLabst(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
// .setKcqls(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("100")))
// .setKtext(RandomUtil.randomString(20))
// .setDwerk(inventory.getFactoryNo())
// .setRsnum(RandomUtil.randomNumbers(10))
// .setRsnum2(RandomUtil.randomNumbers(10))
// .setPlnbez(RandomUtil.randomString(20))
// .setEkgrp(RandomUtil.randomString(10))
// .setDispo(RandomUtil.randomString(10))
// .setCusn(RandomUtil.randomNumbers(10))
// .setBdter(DateUtil.format(DateUtil.date(), "yyyy-MM-dd"))
// .setVornr(RandomUtil.randomNumbers(10))
// .setSernr(RandomUtil.randomNumbers(10))
// .setJtsn(RandomUtil.randomNumbers(10))
// .setRspos(RandomUtil.randomNumbers(10))
// .setEnmng(RandomUtil.randomBigDecimal(BigDecimal.ZERO, new BigDecimal("50")))
// .setMaktx2(RandomUtil.randomString(20))
// .setLeftNum(inventory.getNum())
// );
// }
// return ApiResult.success(vos);
}
/**
@ -353,6 +275,7 @@ public class OutProduceController extends BaseController {
.setItems(datas.stream()
.filter(item -> item.getSqsl().subtract(item.getNum()).compareTo(BigDecimal.ZERO) > 0)
.map(item -> new OutProduceItemVO()
.setId(item.getId())
.setLgort2(order.getLgort2())
.setLgpbe(item.getLgpbe())
.setMaktx2(item.getMaktx2())

View File

@ -187,6 +187,7 @@ public class TransferCompanyController extends BaseController {
.setLgort1(order.getLgort())
.setItems(datas.stream()
.map(item -> new TransferCompanyPdaItemVO()
.setId(item.getId())
.setEbelp(item.getEbelp())
.setEbeln(order.getEbeln())
.setMatnr(item.getMatnr())

View File

@ -194,6 +194,7 @@ public class TransferFactoryController extends BaseController {
.setLgort(order.getLgort())
.setItems(datas.stream()
.map(item -> new TransferFactoryPdaItemVO()
.setId(item.getId())
.setMatnr(item.getMatnr())
.setMaktx(item.getMaktx())
.setLgort1(order.getUmlgo())

View File

@ -1,5 +1,6 @@
package com.nflg.wms.common.pojo.qo;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
@ -21,6 +22,7 @@ public class OutProduceSubmitQO {
/**
* 二维码列表
*/
@Valid
@NotEmpty
private List<QRCodeQO> qrCodes;
}

View File

@ -19,4 +19,9 @@ public class WarehouseSearchQO extends PageQO{
* 启用状态
*/
private Boolean enable;
/**
* 工厂编号
*/
private String factoryNo;
}

View File

@ -8,7 +8,7 @@
from wms_component_packing
<where>
<if test="request.no !=null and request.no !=''">
and no ilike concat('%', #{request.no}, '%')
and "no" ilike concat('%', #{request.no}, '%')
</if>
<if test="request.name1 !=null and request.name1 !=''">
and name1 ilike concat('%', #{request.name1}, '%')
@ -41,7 +41,7 @@
from wms_component_packing
where is_completed=0
<if test="no !=null and no !=''">
and no like concat('%', #{no}, '%') or vbelv like concat('%', #{no}, '%')
and ("no" like concat('%', #{no}, '%') or vbelv like concat('%', #{no}, '%'))
</if>
order by datum desc
</select>

View File

@ -16,6 +16,9 @@
<if test="request.name != null and request.name != ''">
and w.name ilike concat('%',#{request.name},'%')
</if>
<if test="request.factoryNo != null and request.factoryNo != ''">
and di.code ilike concat('%',#{request.factoryNo},'%')
</if>
</where>
order by w.id desc
</select>