Compare commits

..

No commits in common. "43454304dded621c2e9088570616835fbc2032ca" and "78b5698129510992dc7dfdb71460615dc0b89960" have entirely different histories.

41 changed files with 154 additions and 274 deletions

View File

@ -7,7 +7,6 @@ package com.nflg.wms.admin.controller;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.nflg.wms.admin.pojo.document.SrmMaterialReceiptScanCodes; import com.nflg.wms.admin.pojo.document.SrmMaterialReceiptScanCodes;
import com.nflg.wms.admin.pojo.dto.QCMaterialSyncDTO; import com.nflg.wms.admin.pojo.dto.QCMaterialSyncDTO;
import com.nflg.wms.admin.pojo.dto.ZWM3A17DTO; import com.nflg.wms.admin.pojo.dto.ZWM3A17DTO;
@ -30,9 +29,7 @@ import com.nflg.wms.starter.BaseController;
import com.nflg.wms.starter.annotation.ApiMark; import com.nflg.wms.starter.annotation.ApiMark;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import net.sf.jsqlparser.statement.select.First;
import org.apache.commons.lang3.tuple.Triple; import org.apache.commons.lang3.tuple.Triple;
import org.apache.ibatis.annotations.One;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -112,7 +109,7 @@ public class NormalPGIController extends BaseController {
// 查看扫码记录 // 查看扫码记录
@GetMapping("getScanCodes") @GetMapping("getScanCodes")
@ApiMark(moduleName = "送货单管理", apiName = "获取扫码的详情信息") @ApiMark(moduleName = "送货单管理", apiName = "获取扫码的详情信息")
public ApiResult<List<PDAScanCodeVO>> getScanCodes(@RequestParam Long orderItemId) { public ApiResult<List<PDAScanCodeVO>> getScanCodes(@RequestParam String orderItemId) {
List<SrmMaterialReceiptScanCodes> scanCodes = srmMaterialReceiptCanCodesRepository.findByOrderItemId(orderItemId); List<SrmMaterialReceiptScanCodes> scanCodes = srmMaterialReceiptCanCodesRepository.findByOrderItemId(orderItemId);
List<PDAScanCodeVO> pdas = Convert.toList(PDAScanCodeVO.class, scanCodes); List<PDAScanCodeVO> pdas = Convert.toList(PDAScanCodeVO.class, scanCodes);
return ApiResult.success(pdas); return ApiResult.success(pdas);
@ -292,7 +289,7 @@ public class NormalPGIController extends BaseController {
item.setUpdateUserName(UserUtil.getUserName()); item.setUpdateUserName(UserUtil.getUserName());
receiptItems.add(item); receiptItems.add(item);
//储位处理 //储位处理
if (StrUtil.isNotBlank(qo.getStorageLocationNew()) && qo.getStorageLocation().equals(qo.getStorageLocationNew())) { if (!qo.getStorageLocation().equals(qo.getStorageLocationNew())) {
List<String> bins = Arrays.asList(item.getStorageLocation().split("/")); List<String> bins = Arrays.asList(item.getStorageLocation().split("/"));
storageLocationDTOS.add(new StorageLocationDTO() storageLocationDTOS.add(new StorageLocationDTO()
.setBinNos(bins) .setBinNos(bins)
@ -320,56 +317,33 @@ public class NormalPGIController extends BaseController {
List<ZWM3A17Item1DTO> item1 = zwm3A17DTO.getItem1(); List<ZWM3A17Item1DTO> item1 = zwm3A17DTO.getItem1();
List<ZWM3A17Item2DTO> item2 = zwm3A17DTO.getItem2(); List<ZWM3A17Item2DTO> item2 = zwm3A17DTO.getItem2();
List<SrmMaterialReceiptScanCodes> scanCode = srmMaterialReceiptScanCodesRepository.findByOrderItemId(item.getOrderItemId()); List<SrmMaterialReceiptScanCodes> scanCode = srmMaterialReceiptScanCodesRepository.findByOrderItemId(item.getOrderItemId().toString());
if (CollectionUtil.isNotEmpty(scanCode)) { if (CollectionUtil.isEmpty(scanCode)) {
scanCode.forEach(code -> { scanCode.forEach(code -> {
// 库存 // 库存
InventoryDTO inventoryDTO = inventories.stream() InventoryDTO inventoryDTO = new InventoryDTO()
.filter(inventoriesDTO -> inventoriesDTO.getMaterialNo().equals(item.getItemCode()) .setMaterialNo(item.getItemCode())
&& inventoriesDTO.getBatchNumber().equals(code.getBatchNumber()) .setFactoryNo(wmsPoReceipt.getFactoryCode())
&& inventoriesDTO.getFactoryNo().equals(wmsPoReceipt.getFactoryCode()) .setWarehouseNo(item.getReceivedWarehouse())
&& inventoriesDTO.getWarehouseNo().equals(item.getReceivedWarehouse()) .setBatchNumber(code.getBatchNumber())
).findFirst().orElse(null); .setNum(code.getCodeNum());
inventories.add(inventoryDTO);
if (Objects.isNull(inventoryDTO)) { item1.add(new ZWM3A17Item1DTO()
inventoryDTO = new InventoryDTO() .setEBELP(item.getPoLineNumber())
.setMaterialNo(item.getItemCode()) .setMATNR(item.getItemCode())
.setFactoryNo(wmsPoReceipt.getFactoryCode()) .setERFMG(code.getCodeNum())
.setWarehouseNo(item.getReceivedWarehouse()) .setMEINS(item.getUomCode())
.setBatchNumber(code.getBatchNumber()) .setCHARG(code.getBatchNumber())
.setNum(code.getCodeNum()); .setWERKS(wmsPoReceipt.getFactoryCode())
inventories.add(inventoryDTO); .setLGORT(item.getReceivedWarehouse())
} else { .setKZKRI("")
inventoryDTO.setNum(inventoryDTO.getNum().add(code.getCodeNum())); );
}
ZWM3A17Item1DTO ietm1Dto = item1.stream()
.filter(dto1 ->
dto1.getEBELP().equals(item.getPoLineNumber())
&& dto1.getMATNR().equals(item.getItemCode())
&& dto1.getMeins().equals(item.getUomCode())
&& dto1.getCHARG().equals(code.getBatchNumber())
&& dto1.getWERKS().equals(wmsPoReceipt.getFactoryCode())
&& dto1.getLGORT().equals(item.getReceivedWarehouse())
).findFirst().orElse(null);
if (Objects.isNull(ietm1Dto)) {
item1.add(new ZWM3A17Item1DTO()
.setEBELP(item.getPoLineNumber())
.setMATNR(item.getItemCode())
.setERFMG(code.getCodeNum())
.setMEINS(item.getUomCode())
.setCHARG(code.getBatchNumber())
.setWERKS(wmsPoReceipt.getFactoryCode())
.setLGORT(item.getReceivedWarehouse())
.setKZKRI("")
);
} else {
ietm1Dto.setERFMG(ietm1Dto.getERFMG().add(code.getCodeNum()));
}
item2.add(new ZWM3A17Item2DTO() item2.add(new ZWM3A17Item2DTO()
.setEBELP(item.getPoLineNumber()) .setEBELP(item.getPoLineNumber())
.setFLAG("") .setFLAG("")
.setSERNR(code.getSerialNumbers())); .setFLAG(code.getSerialNumbers()));
}); });
} else { } else {
// 库存 // 库存
@ -449,31 +423,16 @@ public class NormalPGIController extends BaseController {
List<ZWM3A17Item2DTO> item2 = zwm3A17DTO.getItem2(); List<ZWM3A17Item2DTO> item2 = zwm3A17DTO.getItem2();
if (CollectionUtil.isNotEmpty(codes)) { if (CollectionUtil.isNotEmpty(codes)) {
codes.forEach(code -> { codes.forEach(code -> {
ZWM3A17Item1DTO ietm1Dto = item1.stream() item1.add(new ZWM3A17Item1DTO()
.filter(dto1 -> .setEBELP(item.getPoLineNumber())
dto1.getEBELP().equals(item.getPoLineNumber()) .setMATNR(item.getItemCode())
&& dto1.getMATNR().equals(item.getItemCode()) .setERFMG(code.getCodeNum())
&& dto1.getWERKS().equals(materialInfoInOrder.getWerks()) .setMEINS(materialInfoInOrder.getMeins())
&& dto1.getKZKRI().equals(materialInfoInOrder.getKzkri()) .setCHARG(code.getBatchNumber())
&& dto1.getLGORT().equals(materialInfoInOrder.getWarehouseNo()) .setWERKS(materialInfoInOrder.getWerks())
&& dto1.getCHARG().equals(code.getBatchNumber()) .setLGORT(materialInfoInOrder.getWarehouseNo())
&& dto1.getMeins().equals(materialInfoInOrder.getMeins()) .setKZKRI(materialInfoInOrder.getKzkri())
).findFirst().orElse(null); );
if (Objects.isNull(ietm1Dto)) {
item1.add(new ZWM3A17Item1DTO()
.setEBELP(item.getPoLineNumber())
.setMATNR(item.getItemCode())
.setERFMG(code.getCodeNum())
.setMEINS(materialInfoInOrder.getMeins())
.setCHARG(code.getBatchNumber())
.setWERKS(materialInfoInOrder.getWerks())
.setLGORT(materialInfoInOrder.getWarehouseNo())
.setKZKRI(materialInfoInOrder.getKzkri())
);
} else {
ietm1Dto.setERFMG(ietm1Dto.getERFMG().add(code.getCodeNum()));
}
item2.add(new ZWM3A17Item2DTO() item2.add(new ZWM3A17Item2DTO()
.setEBELP(item.getPoLineNumber()) .setEBELP(item.getPoLineNumber())
.setFLAG("") .setFLAG("")

View File

@ -246,7 +246,7 @@ public class OutProduceController extends BaseController {
public ApiResult<Void> save1(@Valid @RequestBody @NotEmpty List<Zwm3a07VO> datas) { public ApiResult<Void> save1(@Valid @RequestBody @NotEmpty List<Zwm3a07VO> datas) {
List<String> materialNos = new ArrayList<>(); List<String> materialNos = new ArrayList<>();
datas.forEach(item -> { datas.forEach(item -> {
BigDecimal max = item.getBdmng(); BigDecimal max = item.getBdmng().subtract(item.getEnmng());
if (item.getSqsl().compareTo(max) > 0) { if (item.getSqsl().compareTo(max) > 0) {
materialNos.add(item.getMatnr()); materialNos.add(item.getMatnr());
} }
@ -257,7 +257,7 @@ public class OutProduceController extends BaseController {
maps.forEach((key, items) -> { maps.forEach((key, items) -> {
WmsOutProduce order = Convert.convert(WmsOutProduce.class, items.get(0)); WmsOutProduce order = Convert.convert(WmsOutProduce.class, items.get(0));
order.setNo(NoUtil.getOutProduceNo()); order.setNo(NoUtil.getOutProduceNo());
order.setType(1); order.setType(0);
order.setCreateBy(UserUtil.getUserName()); order.setCreateBy(UserUtil.getUserName());
order.setCreateTime(LocalDateTime.now()); order.setCreateTime(LocalDateTime.now());
outProduceService.save(order); outProduceService.save(order);
@ -347,14 +347,13 @@ public class OutProduceController extends BaseController {
.setRsnum(order.getRsnum()) .setRsnum(order.getRsnum())
.setLgort(order.getLgort2()) .setLgort(order.getLgort2())
.setItems(datas.stream() .setItems(datas.stream()
.filter(item -> item.getSqsl().subtract(item.getNum()).compareTo(BigDecimal.ZERO) > 0) .filter(item -> item.getLockNum().compareTo(BigDecimal.ZERO) > 0)
.map(item -> new OutProduceItemVO() .map(item -> new OutProduceItemVO()
.setLgort2(order.getLgort2()) .setLgort2(order.getLgort2())
.setLgpbe(item.getLgpbe()) .setLgpbe(item.getLgpbe())
.setMaktx2(item.getMaktx2()) .setMaktx2(item.getMaktx2())
.setMatnr(item.getMatnr()) .setMatnr(item.getMatnr())
.setNum(item.getSqsl().subtract(item.getNum()))) .setNum(item.getLockNum())).toList()
.toList()
) )
); );
} }

View File

@ -65,7 +65,7 @@ public class POReceiptController {
*/ */
@GetMapping("getScanCodes") @GetMapping("getScanCodes")
@ApiMark(moduleName = "采购单入库管理", apiName = "获取扫码的详情信息") @ApiMark(moduleName = "采购单入库管理", apiName = "获取扫码的详情信息")
public ApiResult<List<PDAScanCodeVO>> getScanCodes(@RequestParam Long orderItemId) { public ApiResult<List<PDAScanCodeVO>> getScanCodes(@RequestParam String orderItemId) {
List<SrmMaterialReceiptScanCodes> scanCodes = srmMaterialReceiptCanCodesRepository.findByOrderItemId(orderItemId); List<SrmMaterialReceiptScanCodes> scanCodes = srmMaterialReceiptCanCodesRepository.findByOrderItemId(orderItemId);
List<PDAScanCodeVO> pdas = Convert.toList(PDAScanCodeVO.class, scanCodes); List<PDAScanCodeVO> pdas = Convert.toList(PDAScanCodeVO.class, scanCodes);
return ApiResult.success(pdas); return ApiResult.success(pdas);

View File

@ -69,7 +69,7 @@ public class QCReceiptController {
*/ */
@GetMapping("getScanCodes") @GetMapping("getScanCodes")
@ApiMark(moduleName = "质检物料入库单", apiName = "获取扫码的详情信息") @ApiMark(moduleName = "质检物料入库单", apiName = "获取扫码的详情信息")
public ApiResult<List<PDAScanCodeVO>> getScanCodes(@RequestParam Long orderItemId) { public ApiResult<List<PDAScanCodeVO>> getScanCodes(@RequestParam String orderItemId) {
List<SrmMaterialReceiptScanCodes> scanCodes = srmMaterialReceiptCanCodesRepository.findByOrderItemId(orderItemId); List<SrmMaterialReceiptScanCodes> scanCodes = srmMaterialReceiptCanCodesRepository.findByOrderItemId(orderItemId);
List<PDAScanCodeVO> pdas = Convert.toList(PDAScanCodeVO.class, scanCodes); List<PDAScanCodeVO> pdas = Convert.toList(PDAScanCodeVO.class, scanCodes);
return ApiResult.success(pdas); return ApiResult.success(pdas);

View File

@ -10,6 +10,7 @@ import com.nflg.wms.common.pojo.ApiResult;
import com.nflg.wms.starter.BaseController; import com.nflg.wms.starter.BaseController;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -38,21 +39,13 @@ public class ScanRecordController extends BaseController {
/** /**
* 获取钢构包打包扫码记录 * 获取钢构包打包扫码记录
* @param trayItemId 托盘项id * @param poNum 采购订单号
* @param materialNo 物料编号
*/ */
@GetMapping("package") @GetMapping("package")
public ApiResult<List<PackageMaterialScanRecord>> getPackageScanRecord1(@Valid @RequestParam @NotNull Long trayItemId) { public ApiResult<List<PackageMaterialScanRecord>> getScanRecord(@Valid @RequestParam @NotBlank String poNum
return ApiResult.success(packageMaterialScanRecordRepository.findByTrayItemId(trayItemId)); , @Valid @RequestParam @NotBlank String materialNo) {
} return ApiResult.success(packageMaterialScanRecordRepository.findByPoNumAndMaterialNo(poNum, materialNo));
/**
* 获取钢构包订单扫码记录
* @param poNum 采购订单号
* @param materialNo 钢构件物料编号
*/
@GetMapping("package1")
public ApiResult<List<PackageMaterialScanRecord>> getPackageScanRecord2(String poNum, String materialNo) {
return ApiResult.success(packageMaterialScanRecordRepository.findByPoNumAndPackageNo(poNum, materialNo));
} }
/** /**

View File

@ -16,7 +16,6 @@ import cn.idev.excel.write.metadata.fill.FillConfig;
import com.nflg.wms.admin.pojo.document.PackageMaterialScanRecord; import com.nflg.wms.admin.pojo.document.PackageMaterialScanRecord;
import com.nflg.wms.admin.pojo.dto.SAPMaterialInfoInOrderDTO; import com.nflg.wms.admin.pojo.dto.SAPMaterialInfoInOrderDTO;
import com.nflg.wms.admin.repository.PackageMaterialScanRecordRepository; import com.nflg.wms.admin.repository.PackageMaterialScanRecordRepository;
import com.nflg.wms.admin.service.BasdeSerialNumberControllerService;
import com.nflg.wms.admin.service.BinService; import com.nflg.wms.admin.service.BinService;
import com.nflg.wms.admin.service.SapService; import com.nflg.wms.admin.service.SapService;
import com.nflg.wms.admin.service.StructuralPackageControllerService; import com.nflg.wms.admin.service.StructuralPackageControllerService;
@ -46,6 +45,7 @@ import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.ClassPathResource;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -88,6 +88,9 @@ public class StructuralPackageOrderController extends BaseController {
@Resource @Resource
private SapService sapService; private SapService sapService;
@Resource
private StringRedisTemplate stringRedisTemplate;
@Resource @Resource
private FileUploadService fileUploadService; private FileUploadService fileUploadService;
@ -118,9 +121,6 @@ public class StructuralPackageOrderController extends BaseController {
@Resource @Resource
private StructuralPackageControllerService structuralPackageControllerService; private StructuralPackageControllerService structuralPackageControllerService;
@Resource
private BasdeSerialNumberControllerService serialNumberControllerService;
/** /**
* 搜索SAP订单 * 搜索SAP订单
* @param request 请求参数 * @param request 请求参数
@ -128,24 +128,22 @@ public class StructuralPackageOrderController extends BaseController {
@PostMapping("searchSAPOrder") @PostMapping("searchSAPOrder")
public ApiResult<List<SAPOrderDTO>> searchSAPOrder(@Valid @RequestBody @NotNull SearchSAPOrderQO request) { public ApiResult<List<SAPOrderDTO>> searchSAPOrder(@Valid @RequestBody @NotNull SearchSAPOrderQO request) {
List<SAPMaterialInfoInOrderDTO> orders = sapService.zim004(request.getOrderNo(), request.getSupplierNo(), request.getMaterialNo()); List<SAPMaterialInfoInOrderDTO> orders = sapService.zim004(request.getOrderNo(), request.getSupplierNo(), request.getMaterialNo());
UserSupplier supplier = userSupplierService.getByCode(request.getSupplierNo());
List<SAPOrderDTO> datas = orders.stream() List<SAPOrderDTO> datas = orders.stream()
.map(order -> { .map(order -> new SAPOrderDTO()
UserSupplier supplier = userSupplierService.getByCode(order.getLifnr()); .setIndex(IdUtil.getSnowflakeNextId())
return new SAPOrderDTO() .setOrderNo(order.getEbeln())
.setIndex(IdUtil.getSnowflakeNextId()) .setSupplierNo(request.getSupplierNo())
.setOrderNo(order.getEbeln()) .setSupplierName(supplier.getSupplierName())
.setSupplierNo(order.getLifnr()) .setOrderRowNo(order.getEbelp())
.setSupplierName(Objects.isNull(supplier) ? "" : supplier.getSupplierName()) .setMaterialNo(order.getMatnr())
.setOrderRowNo(order.getEbelp()) .setMaterialDesc(order.getMaktx())
.setMaterialNo(order.getMatnr()) .setPlanNum(order.getMenge())
.setMaterialDesc(order.getMaktx()) .setReceivedNum(order.getWemng())
.setPlanNum(order.getMenge()) .setTransportNum(order.getTransportNum())
.setReceivedNum(order.getWemng()) .setLbprt(order.getLbprt())
.setTransportNum(order.getTransportNum()) .setUnit(order.getMeins())
.setLbprt(order.getLbprt()) .setKzkri(order.getKzkri())
.setUnit(order.getMeins())
.setKzkri(order.getKzkri());
}
) )
.toList(); .toList();
if (Objects.equals(request.getType(), 1)) { if (Objects.equals(request.getType(), 1)) {
@ -229,7 +227,7 @@ public class StructuralPackageOrderController extends BaseController {
.throwMessage("单据号不一致"); .throwMessage("单据号不一致");
orderNo = deliverStructuralPackageOrderService.getById(ids.get(0)).getOrderNo(); orderNo = deliverStructuralPackageOrderService.getById(ids.get(0)).getOrderNo();
} else { } else {
orderNo = serialNumberControllerService.generateSerialNumber(3); orderNo = getDeliverNormalOrderNo();
} }
request.getItems().forEach(orderQO -> { request.getItems().forEach(orderQO -> {
WmsStructuralPackageOrder order = Convert.convert(WmsStructuralPackageOrder.class, orderQO); WmsStructuralPackageOrder order = Convert.convert(WmsStructuralPackageOrder.class, orderQO);
@ -277,6 +275,11 @@ public class StructuralPackageOrderController extends BaseController {
return ApiResult.success(); return ApiResult.success();
} }
private String getDeliverNormalOrderNo() {
Long index = stringRedisTemplate.opsForValue().increment("package:trayNo:index");
return "S" + NoUtil.getForOrderNo() + StrUtil.padPre(String.valueOf(index), 4, "0");
}
/** /**
* 搜索 * 搜索
* @param request 请求参数 * @param request 请求参数
@ -318,10 +321,10 @@ public class StructuralPackageOrderController extends BaseController {
vo.setItems(items.stream().map(item -> { vo.setItems(items.stream().map(item -> {
WmsStructuralPackageOrderTray tray = trays.stream().filter(it -> Objects.equals(it.getId(), item.getTrayId())).findFirst().get(); WmsStructuralPackageOrderTray tray = trays.stream().filter(it -> Objects.equals(it.getId(), item.getTrayId())).findFirst().get();
TrayItemVO ivo = Convert.convert(TrayItemVO.class, item); TrayItemVO ivo = Convert.convert(TrayItemVO.class, item);
ivo.setNo(tray.getNo()); if (tray.getState() > 0) {
if (Objects.equals(tray.getState(), (short) 3)) { ivo.setScanCount(1);
ivo.setStoreNum(item.getShipmentNum());
} }
ivo.setNo(tray.getNo());
return ivo; return ivo;
}).toList()); }).toList());
// SAPMaterialInfoInOrderDTO dto = sapService.zim004(orderVO.getExternalOrderNo(), orderVO.getSupplierCode(), orderVO.getPackageNo()).get(0); // SAPMaterialInfoInOrderDTO dto = sapService.zim004(orderVO.getExternalOrderNo(), orderVO.getSupplierCode(), orderVO.getPackageNo()).get(0);
@ -507,7 +510,6 @@ public class StructuralPackageOrderController extends BaseController {
public ApiResult<DeliverStructuralPackageOrderTrayVO> getTrayInfoByNo(@Valid @RequestParam @NotBlank String trayNo) { public ApiResult<DeliverStructuralPackageOrderTrayVO> getTrayInfoByNo(@Valid @RequestParam @NotBlank String trayNo) {
DeliverStructuralPackageOrderTrayVO vo = deliverStructuralPackageOrderTrayService.getInfoByNo(trayNo); DeliverStructuralPackageOrderTrayVO vo = deliverStructuralPackageOrderTrayService.getInfoByNo(trayNo);
VUtil.trueThrowBusinessError(Objects.isNull(vo)).throwMessage("无效的托盘号"); VUtil.trueThrowBusinessError(Objects.isNull(vo)).throwMessage("无效的托盘号");
VUtil.trueThrowBusinessError(!Objects.equals(vo.getState(), 0)).throwMessage("该托盘已打包");
vo.setItems(deliverStructuralPackageOrderTrayItemService.getSimpleListByTrayNo(trayNo)); vo.setItems(deliverStructuralPackageOrderTrayItemService.getSimpleListByTrayNo(trayNo));
return ApiResult.success(vo); return ApiResult.success(vo);
} }
@ -522,24 +524,16 @@ public class StructuralPackageOrderController extends BaseController {
WmsStructuralPackageOrderTray tray = deliverStructuralPackageOrderTrayService.lambdaQuery().eq(WmsStructuralPackageOrderTray::getNo, request.getTrayNo()).one(); WmsStructuralPackageOrderTray tray = deliverStructuralPackageOrderTrayService.lambdaQuery().eq(WmsStructuralPackageOrderTray::getNo, request.getTrayNo()).one();
VUtil.trueThrowBusinessError(Objects.isNull(tray)).throwMessage("托盘不存在"); VUtil.trueThrowBusinessError(Objects.isNull(tray)).throwMessage("托盘不存在");
VUtil.trueThrowBusinessError(!Objects.equals(tray.getState(), OrderState.Unpackaged.getState())).throwMessage("请勿重复打包"); VUtil.trueThrowBusinessError(!Objects.equals(tray.getState(), OrderState.Unpackaged.getState())).throwMessage("请勿重复打包");
DeliverStructuralPackageOrderVO order = deliverStructuralPackageOrderService.getInfo(tray.getOrderId());
List<DeliverStructuralPackageOrderTrayItemVO> trayItemVOS = deliverStructuralPackageOrderTrayItemService.getListByTrayId(tray.getId()); List<DeliverStructuralPackageOrderTrayItemVO> trayItemVOS = deliverStructuralPackageOrderTrayItemService.getListByTrayId(tray.getId());
List<String> materialNos = new ArrayList<>(); List<String> materialNos = new ArrayList<>();
List<StructuralPackageMaterialQRCodeContentDTO> qrCodeDTOs = request.getQrCodes().stream().map(NoUtil::getStructuralPackageMaterialQRCodeContent).toList(); List<StructuralPackageMaterialQRCodeContentDTO> qrCodeDTOs = request.getQrCodes().stream().map(NoUtil::getStructuralPackageMaterialQRCodeContent).toList();
trayItemVOS.forEach(it -> { trayItemVOS.forEach(it -> {
List<StructuralPackageMaterialQRCodeContentDTO> dtos = qrCodeDTOs.stream() if (it.getShipmentNum().compareTo(qrCodeDTOs.stream()
.filter(qr -> StrUtil.equals(qr.getMaterialNo(), it.getMaterialNo())) .filter(qr -> StrUtil.equals(qr.getMaterialNo(), it.getMaterialNo()))
.toList();
if (it.getShipmentNum().compareTo(dtos.stream()
.map(StructuralPackageMaterialQRCodeContentDTO::getNum) .map(StructuralPackageMaterialQRCodeContentDTO::getNum)
.reduce(BigDecimal.ZERO, BigDecimal::add)) != 0) { .reduce(BigDecimal.ZERO, BigDecimal::add)) != 0) {
materialNos.add(it.getMaterialNo()); materialNos.add(it.getMaterialNo());
} }
dtos.forEach(dto -> {
dto.setPoNum(order.getExternalOrderNo());
dto.setPackageNo(order.getPackageNo());
dto.setTrayItemId(it.getId());
});
}); });
VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(materialNos)) VUtil.trueThrowBusinessError(CollectionUtil.isNotEmpty(materialNos))
.throwMessage("以下物料的数量与托盘数量不一致:" + StrUtil.join(",", materialNos)); .throwMessage("以下物料的数量与托盘数量不一致:" + StrUtil.join(",", materialNos));
@ -567,9 +561,6 @@ public class StructuralPackageOrderController extends BaseController {
.setContent(qrCode.getContent()) .setContent(qrCode.getContent())
.setMaterialNo(qrCode.getMaterialNo()) .setMaterialNo(qrCode.getMaterialNo())
.setTrayNo(qrCode.getTrayNo()) .setTrayNo(qrCode.getTrayNo())
.setPoNum(qrCode.getPoNum())
.setPackageNo(qrCode.getPackageNo())
.setTrayItemId(qrCode.getTrayItemId())
.setType(type) .setType(type)
.setNum(qrCode.getNum()) .setNum(qrCode.getNum())
.setCreateBy(UserUtil.getUserName()) .setCreateBy(UserUtil.getUserName())
@ -625,12 +616,10 @@ public class StructuralPackageOrderController extends BaseController {
.setCreateBy(UserUtil.getUserName()) .setCreateBy(UserUtil.getUserName())
.setCreateTime(LocalDateTime.now()); .setCreateTime(LocalDateTime.now());
structuralPackageDeliverOrderService.save(deliverOrder); structuralPackageDeliverOrderService.save(deliverOrder);
structuralPackageDeliverOrderMapService.saveBatch(trays.stream() structuralPackageDeliverOrderMapService.saveBatch(trays.stream().map(DeliverStructuralPackageOrderExtendVO::getTrayId).distinct().map(id ->
.map(DeliverStructuralPackageOrderExtendVO::getId) new WmsStructuralPackageDeliverOrderMap()
.distinct().map(id -> .setDeliverId(deliverOrder.getId())
new WmsStructuralPackageDeliverOrderMap() .setOrderId(id)).toList());
.setDeliverId(deliverOrder.getId())
.setOrderId(id)).toList());
deliverStructuralPackageOrderTrayService.setStateByIds(ids, OrderState.InTransit); deliverStructuralPackageOrderTrayService.setStateByIds(ids, OrderState.InTransit);
return ApiResult.success(); return ApiResult.success();
} }
@ -778,7 +767,6 @@ public class StructuralPackageOrderController extends BaseController {
.setKzkri(order.getKzkri()) .setKzkri(order.getKzkri())
.setUnqualifiedQty(BigDecimal.ZERO) .setUnqualifiedQty(BigDecimal.ZERO)
.setQualifiedQty(BigDecimal.valueOf(order.getNum())) .setQualifiedQty(BigDecimal.valueOf(order.getNum()))
.setInspectionQty(BigDecimal.valueOf(order.getNum()))
.setFactory("1010") .setFactory("1010")
.setDataStatus((short) 0) .setDataStatus((short) 0)
.setReceivedWarehouse(storageService.getWarehouseNo("1010", order.getPackageNo())) .setReceivedWarehouse(storageService.getWarehouseNo("1010", order.getPackageNo()))
@ -796,7 +784,7 @@ public class StructuralPackageOrderController extends BaseController {
* @param no 任务单号或原始单号 * @param no 任务单号或原始单号
*/ */
@GetMapping("searchIn") @GetMapping("searchIn")
public ApiResult<List<InTaskVO>> searchIn(@Valid @RequestParam(required = false) String no) { public ApiResult<List<InTaskVO>> searchIn(@Valid @RequestParam @NotBlank String no) {
return ApiResult.success(inTaskService.searchForIn(no)); return ApiResult.success(inTaskService.searchForIn(no));
} }
@ -825,7 +813,6 @@ public class StructuralPackageOrderController extends BaseController {
* 上架PDA使用 * 上架PDA使用
* @param request 请求参数 * @param request 请求参数
*/ */
@Transactional
@PostMapping("materialStorage") @PostMapping("materialStorage")
public ApiResult<Void> materialStorage(@Valid @RequestBody @NotNull MaterialStorageQO request) { public ApiResult<Void> materialStorage(@Valid @RequestBody @NotNull MaterialStorageQO request) {
WmsInTask task = inTaskService.getByNo(request.getTaskNo()); WmsInTask task = inTaskService.getByNo(request.getTaskNo());
@ -833,19 +820,12 @@ public class StructuralPackageOrderController extends BaseController {
VUtil.trueThrowBusinessError(!Objects.equals(task.getTaskStatus(), (short) 0)).throwMessage("请勿重复上架"); VUtil.trueThrowBusinessError(!Objects.equals(task.getTaskStatus(), (short) 0)).throwMessage("请勿重复上架");
List<WmsInTaskItem> datas = inTaskItemService.getForIn(request); List<WmsInTaskItem> datas = inTaskItemService.getForIn(request);
if (CollectionUtil.isNotEmpty(datas)) { if (CollectionUtil.isNotEmpty(datas)) {
datas.forEach(it -> {
MaterialStorageItemQO qo = request.getItems().stream().filter(r -> StrUtil.equals(r.getMaterialNo(), it.getItemCode())).findFirst().get();
it.setReceivedQty(it.getInspectionQty().subtract(qo.getNum()));
it.setBins(StrUtil.join(",", qo.getBinNos()));
it.setDataStatus((short) 1);
});
inTaskItemService.updateBatchById(datas);
inTaskService.updateState(request.getTaskNo());
datas.stream() datas.stream()
.filter(it -> request.getItems().stream().anyMatch(r -> StrUtil.equals(r.getMaterialNo(), it.getItemCode()))) .filter(it -> request.getItems().stream().anyMatch(r -> StrUtil.equals(r.getMaterialNo(), it.getItemCode())))
.collect(Collectors.groupingBy(WmsInTaskItem::getPoNum)) .collect(Collectors.groupingBy(WmsInTaskItem::getPoNum))
.values() .values()
.forEach(it -> structuralPackageControllerService.materialStorage(it, request.getItems())); .forEach(it -> structuralPackageControllerService.materialStorage(it, request.getItems()));
inTaskService.updateState(request.getTaskNo());
} }
return ApiResult.success(); return ApiResult.success();
} }

View File

@ -61,11 +61,6 @@ public class PackageMaterialScanRecord {
*/ */
private Integer type; private Integer type;
/**
* 钢构件编号
*/
private String packageNo;
/** /**
* 托盘项ID * 托盘项ID
*/ */

View File

@ -117,4 +117,7 @@ public class SAPMaterialInfoInOrderDTO {
* 供应商账号 * 供应商账号
*/ */
private String lifnr; private String lifnr;
} }

View File

@ -9,9 +9,7 @@ import java.util.List;
@Repository @Repository
public interface PackageMaterialScanRecordRepository extends MongoRepository<PackageMaterialScanRecord, String> { public interface PackageMaterialScanRecordRepository extends MongoRepository<PackageMaterialScanRecord, String> {
List<PackageMaterialScanRecord> findByPoNumAndPackageNo(String poNum, String packageNo); List<PackageMaterialScanRecord> findByPoNumAndMaterialNo(String poNum, String materialNo);
void removeByTrayNo(String trayNo); void removeByTrayNo(String trayNo);
List<PackageMaterialScanRecord> findByTrayItemId(Long trayItemId);
} }

View File

@ -8,7 +8,7 @@ import java.util.List;
@Repository @Repository
public interface SrmMaterialReceiptScanCodesRepository extends MongoRepository<SrmMaterialReceiptScanCodes, String> { public interface SrmMaterialReceiptScanCodesRepository extends MongoRepository<SrmMaterialReceiptScanCodes, String> {
List<SrmMaterialReceiptScanCodes> findByOrderItemId(Long orderItemId); List<SrmMaterialReceiptScanCodes> findByOrderItemId(String orderItemId);
List<SrmMaterialReceiptScanCodes> findByCodeIdIn(List<String> attr0); List<SrmMaterialReceiptScanCodes> findByCodeIdIn(List<String> attr0);
} }

View File

@ -293,7 +293,6 @@ public class NormalPGIControllerService {
.update(); .update();
} }
if (CollectionUtil.isNotEmpty(inventories)) { if (CollectionUtil.isNotEmpty(inventories)) {
inventoryService.in(inventories); inventoryService.in(inventories);
} }
@ -312,7 +311,7 @@ public class NormalPGIControllerService {
wmsPoReceiptItemService.lambdaUpdate() wmsPoReceiptItemService.lambdaUpdate()
.eq(WmsPoReceiptItem::getPoNum, zwm3A17DTO.getEbeln()) .eq(WmsPoReceiptItem::getPoNum, zwm3A17DTO.getEbeln())
.eq(WmsPoReceiptItem::getReceiveId, taskId) .eq(WmsPoReceiptItem::getReceiveId, taskId)
.set(WmsPoReceiptItem::getMaterialDoc, returnDto.getKey().getKey()) .set(WmsPoReceiptItem::getMaterialDoc, returnDto.getValue().getKey())
.set(WmsPoReceiptItem::getMaterialDocYear, returnDto.getValue().getValue()) .set(WmsPoReceiptItem::getMaterialDocYear, returnDto.getValue().getValue())
.update(); .update();
} }

View File

@ -70,10 +70,9 @@ public class NormalQMControllerService {
} }
} }
} }
return tasks; return tasks.stream()
// return tasks.stream() .filter(task -> task.getInQty().compareTo(BigDecimal.ZERO) > 0)
// .filter(task -> task.getInQty().compareTo(BigDecimal.ZERO) > 0) .toList();
// .toList();
} }
@Transactional @Transactional

View File

@ -75,19 +75,13 @@ public class SapService {
JCoFunction function = exec("ZWM00_MB007", parameters); JCoFunction function = exec("ZWM00_MB007", parameters);
JCoStructure eReturn = function.getExportParameterList().getStructure("E_RETURN"); JCoStructure sreturn = function.getExportParameterList().getStructure("E_RETURN");
print("E_RETURN", eReturn); log.info("sreturn:" + sreturn);
JCoStructure eOutput = function.getExportParameterList().getStructure("E_OUTPUT"); VUtil.trueThrowBusinessError(!StrUtil.equals(sreturn.getString("TYPE"), "S"))
print("E_OUTPUT", eOutput); .throwMessage("SAP错误:" + sreturn.getString("MESSAGE"));
ZWM00MB007DTO dto = JCoUtil.toBean(eOutput, ZWM00MB007DTO.class); JCoStructure structure = function.getExportParameterList().getStructure("E_OUTPUT");
if (StrUtil.isBlank(dto.getAufnr())) { return JCoUtil.toBean(structure, ZWM00MB007DTO.class);
VUtil.trueThrowBusinessError(!StrUtil.equals(eReturn.getString("TYPE"), "S"))
.throwMessage("SAP错误:" + eReturn.getString("MESSAGE"));
return null;
} else {
return dto;
}
} }
/** /**

View File

@ -420,22 +420,32 @@ public class StructuralPackageControllerService {
@Transactional @Transactional
public void materialStorage(List<WmsInTaskItem> list, List<MaterialStorageItemQO> items) { public void materialStorage(List<WmsInTaskItem> list, List<MaterialStorageItemQO> items) {
items.forEach(this::syncStorage); items.forEach(this::syncStorage);
inventoryService.in(list.stream().map(it -> new InventoryDTO() try {
.setMaterialNo(it.getItemCode()) inventoryService.in(list.stream().map(it -> new InventoryDTO()
.setBatchNumber(it.getBatchNumber()) .setMaterialNo(it.getItemCode())
.setFactoryNo(it.getFactory()) .setBatchNumber(it.getBatchNumber())
.setWarehouseNo(it.getReceivedWarehouse()) .setFactoryNo(it.getFactory())
.setNum(it.getInspectionQty())) .setWarehouseNo(it.getReceivedWarehouse())
.toList() .setNum(it.getInspectionQty()))
); .toList()
Pair<Pair<String, String>, Pair<String, String>> pair = syncInToSAP(list); );
list.forEach(it -> { Pair<Pair<String, String>, Pair<String, String>> pair = syncInToSAP(list);
it.setMatDoc101(pair.getKey().getKey()); list.forEach(it -> {
it.setDocYear101(pair.getKey().getValue()); it.setMatDoc101(pair.getKey().getKey());
it.setMatDoc103(pair.getValue().getKey()); it.setDocYear101(pair.getKey().getValue());
it.setDocYear103(pair.getValue().getValue()); it.setMatDoc103(pair.getValue().getKey());
}); it.setDocYear103(pair.getValue().getValue());
inTaskItemService.updateBatchById(list); it.setDataStatus((short) 1);
it.setStorageLocation(StrUtil.join(",", items.stream()
.filter(f -> f.getMaterialNo().equals(it.getItemCode()))
.findFirst()
.get()
.getBinNos()));
});
inTaskItemService.saveBatch(list);
} catch (Exception ex) {
saveSapError(list, ex.getMessage());
}
} }
@Transactional(propagation = Propagation.REQUIRES_NEW) @Transactional(propagation = Propagation.REQUIRES_NEW)
@ -443,7 +453,7 @@ public class StructuralPackageControllerService {
list.forEach(it -> { list.forEach(it -> {
it.setFailResult(msg); it.setFailResult(msg);
}); });
inTaskItemService.updateBatchById(list); inTaskItemService.saveBatch(list);
} }
/** /**
@ -456,7 +466,7 @@ public class StructuralPackageControllerService {
.setItem1(list.stream().map(it -> new ZWM3A17Item1DTO() .setItem1(list.stream().map(it -> new ZWM3A17Item1DTO()
.setEBELP(it.getPoLineNumber()) .setEBELP(it.getPoLineNumber())
.setMATNR(it.getItemCode()) .setMATNR(it.getItemCode())
.setERFMG(it.getReceivedQty()) .setERFMG(it.getInspectionQty())
.setMEINS(it.getUnit()) .setMEINS(it.getUnit())
.setCHARG(it.getBatchNumber()) .setCHARG(it.getBatchNumber())
.setWERKS(it.getFactory()) .setWERKS(it.getFactory())

View File

@ -177,7 +177,7 @@
<td th:text="${iterStat.count}">序号</td> <td th:text="${iterStat.count}">序号</td>
<td th:text="${item.matnr}">物料号</td> <td th:text="${item.matnr}">物料号</td>
<td th:text="${item.maktx}" class="col-left">非金属联件和紧固件等 M6 DIN 982 不锈钢304</td> <td th:text="${item.maktx}" class="col-left">非金属联件和紧固件等 M6 DIN 982 不锈钢304</td>
<td th:text="${info.lgort}">收料库</td> <td th:text="${item.lgort}">收料库</td>
<td th:text="${item.matkl}">物料组</td> <td th:text="${item.matkl}">物料组</td>
<td th:text="${item.meins}">单位</td> <td th:text="${item.meins}">单位</td>
<td th:text="${item.num}">1000.00</td> <td th:text="${item.num}">1000.00</td>

View File

@ -24,21 +24,6 @@ public class StructuralPackageMaterialQRCodeContentDTO {
*/ */
private String trayNo; private String trayNo;
/**
* 采购订单号
*/
private String poNum;
/**
* 钢构件编号
*/
private String packageNo;
/**
* 托盘项ID
*/
private Long trayItemId;
/** /**
* 数量 * 数量
*/ */

View File

@ -1,6 +1,5 @@
package com.nflg.wms.common.pojo.dto; package com.nflg.wms.common.pojo.dto;
import cn.hutool.core.util.StrUtil;
import com.nflg.wms.common.util.BomUtil; import com.nflg.wms.common.util.BomUtil;
import lombok.Data; import lombok.Data;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
@ -16,19 +15,11 @@ public class ZWM00MB007DTO {
*/ */
private String aufnr; private String aufnr;
public String getAufnr() {
return StrUtil.removeAllPrefix(aufnr, "0");
}
/** /**
* 物料号 * 物料号
*/ */
private String matnr; private String matnr;
public String getMatnr() {
return StrUtil.removeAllPrefix(matnr, "0");
}
/** /**
* 物料描述 * 物料描述
*/ */
@ -50,7 +41,7 @@ public class ZWM00MB007DTO {
private BigDecimal psmng; private BigDecimal psmng;
/** /**
* 此订单项的收货数量 * 收货数量
*/ */
private BigDecimal wemng; private BigDecimal wemng;
@ -67,9 +58,4 @@ public class ZWM00MB007DTO {
public String getMeins() { public String getMeins() {
return BomUtil.changeMeins(meins); return BomUtil.changeMeins(meins);
} }
/**
* 序列号
*/
private String sernr;
} }

View File

@ -1,6 +1,5 @@
package com.nflg.wms.common.pojo.qo; package com.nflg.wms.common.pojo.qo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
import lombok.Data; import lombok.Data;
@ -43,6 +42,5 @@ public class MaterialStorageItemQO {
/** /**
* 越库数量 * 越库数量
*/ */
@JsonIgnore
private BigDecimal num = BigDecimal.ZERO; private BigDecimal num = BigDecimal.ZERO;
} }

View File

@ -74,10 +74,11 @@ public class PackageDeliverOrderSaveItemQO {
@NotBlank @NotBlank
private String unit; private String unit;
/** // /**
* 标志关键部件 // * 标志关键部件
*/ // */
private String kzkri; // @NotBlank
// private String kzkri;
@JsonIgnore @JsonIgnore
private String key1; private String key1;

View File

@ -1,5 +1,6 @@
package com.nflg.wms.common.pojo.qo; package com.nflg.wms.common.pojo.qo;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
@ -15,6 +16,7 @@ public class SearchSAPOrderQO {
/** /**
* 供应商编号 * 供应商编号
*/ */
@NotBlank
private String supplierNo; private String supplierNo;
/** /**

View File

@ -81,7 +81,7 @@ public class DeliverStructuralPackageOrderForPackageItemVO {
/** /**
* 机台号 * 机台号
*/ */
private String workbenchCode; private Long workbenchCode;
/** /**
* 托盘数量 * 托盘数量

View File

@ -18,7 +18,7 @@ public class DeliverStructuralPackageOrderTrayItemSimpleVO {
private String materialDesc; private String materialDesc;
/** /**
* 出货数量 * 计划数量
*/ */
private BigDecimal shipmentNum; private BigDecimal planNum;
} }

View File

@ -8,6 +8,7 @@ import java.util.List;
@Data @Data
public class DeliverStructuralPackageOrderTrayVO { public class DeliverStructuralPackageOrderTrayVO {
/** /**
* 供应商代码 * 供应商代码
*/ */
@ -43,10 +44,5 @@ public class DeliverStructuralPackageOrderTrayVO {
*/ */
private BigDecimal num; private BigDecimal num;
/**
* 状态0未打包1已打包2-在途3已收货
*/
private Integer state;
private List<DeliverStructuralPackageOrderTrayItemSimpleVO> items; private List<DeliverStructuralPackageOrderTrayItemSimpleVO> items;
} }

View File

@ -35,7 +35,7 @@ public class InProduceOrderMaterialVO {
/** /**
* 订单数量 * 订单数量
*/ */
private BigDecimal orderNum; private BigDecimal oderNum;
/** /**
* 数量 * 数量

View File

@ -44,7 +44,7 @@ public class POReceiptVO {
/** /**
* 发货时间 * 发货时间
*/ */
private String deliveryNoteDate; private LocalDate deliveryNoteDate;
/** /**
* 运单号 * 运单号

View File

@ -10,8 +10,6 @@ import java.math.BigDecimal;
@Accessors(chain = true) @Accessors(chain = true)
public class TrayItemVO { public class TrayItemVO {
private Long id;
/** /**
* 托盘编号 * 托盘编号
*/ */
@ -61,5 +59,5 @@ public class TrayItemVO {
/** /**
* 条码数量 * 条码数量
*/ */
private String codeNum = "点击查看"; private Integer scanCount = 0;
} }

View File

@ -135,11 +135,6 @@ public class WmsInTaskItem implements Serializable {
*/ */
private BigDecimal inspectionQty; private BigDecimal inspectionQty;
/**
* 实际收货数量
*/
private BigDecimal receivedQty;
/** /**
* 101物料凭证编号 * 101物料凭证编号
*/ */
@ -149,7 +144,7 @@ public class WmsInTaskItem implements Serializable {
/** /**
* 101物料凭证年度 * 101物料凭证年度
*/ */
@TableField("doc_year_101") @TableField("mat_doc_101")
private String docYear101; private String docYear101;
/** /**
@ -161,7 +156,7 @@ public class WmsInTaskItem implements Serializable {
/** /**
* 103物料凭证年度 * 103物料凭证年度
*/ */
@TableField("doc_year_103") @TableField("mat_doc_103")
private String docYear103; private String docYear103;
/** /**
@ -180,9 +175,4 @@ public class WmsInTaskItem implements Serializable {
* 标志关键部件 * 标志关键部件
*/ */
private String kzkri; private String kzkri;
/**
* 实际上架储位
*/
private String bins;
} }

View File

@ -58,6 +58,7 @@ public class WmsInTaskServiceImpl extends ServiceImpl<WmsInTaskMapper, WmsInTask
.setTaskNumber(taskNumber) .setTaskNumber(taskNumber)
.setOrderNumber(task.getNoteNum()) .setOrderNumber(task.getNoteNum())
.setCreateTime(LocalDateTime.now()) .setCreateTime(LocalDateTime.now())
.setUpdateTime(LocalDateTime.now())
); );
} }
} else { } else {

View File

@ -1,4 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nflg.wms.repository.mapper.WmsInTaskItemMapper"> <mapper namespace="com.nflg.wms.repository.mapper.WmsInTaskItemMapper">
</mapper> </mapper>

View File

@ -6,10 +6,9 @@
SELECT * SELECT *
FROM wms_in_task FROM wms_in_task
where task_status = 0 where task_status = 0
<if test="no != null and no!=''"> <if test="request.no != null and request.no!=''">
AND task_number like CONCAT('%', #{no}, '%') AND task_number like CONCAT('%', #{request.no}, '%')
</if> </if>
order by id desc
</select> </select>
<select id="search" resultType="com.nflg.wms.common.pojo.vo.InTaskVO"> <select id="search" resultType="com.nflg.wms.common.pojo.vo.InTaskVO">
@ -26,6 +25,5 @@
AND task_number like CONCAT('%', #{request.no}, '%') AND task_number like CONCAT('%', #{request.no}, '%')
</if> </if>
</where> </where>
order by id desc
</select> </select>
</mapper> </mapper>

View File

@ -9,7 +9,7 @@
create_time, create_time,
factory_code factory_code
from wms_qc_receive from wms_qc_receive
where is_completed = 0 and is_check = true where is_completed = 0
<if test="orderNo != null and orderNo != ''"> <if test="orderNo != null and orderNo != ''">
and ( in_no like concat( '%',#{orderNo},'%') or order_no like concat( '%',#{orderNo},'%') ) and ( in_no like concat( '%',#{orderNo},'%') or order_no like concat( '%',#{orderNo},'%') )
</if> </if>

View File

@ -53,7 +53,11 @@
<select id="getUnCompletedItem" resultType="com.nflg.wms.repository.entity.WmsSrmOrder"> <select id="getUnCompletedItem" resultType="com.nflg.wms.repository.entity.WmsSrmOrder">
select id select id
from wms_srm_order_item from wms_srm_order
where order_id = #{orderId} where id = #{orderId}
and wms_srm_order_item.delivery_qty > wms_srm_order_item.receipt_qty</select> and not exists(select 1
from wms_srm_order_item
where wms_srm_order.id = wms_srm_order_item.order_id
and wms_srm_order_item.delivery_qty > wms_srm_order_item.receipt_qty)
</select>
</mapper> </mapper>

View File

@ -32,7 +32,6 @@
and pdo.create_time &lt;= #{request.endDate} and pdo.create_time &lt;= #{request.endDate}
</if> </if>
</where> </where>
order by pdo.id desc
</select> </select>
<select id="getIdsByExternalOrderNo" resultType="java.lang.Long"> <select id="getIdsByExternalOrderNo" resultType="java.lang.Long">

View File

@ -76,8 +76,7 @@
</select> </select>
<select id="getInfoByNo" resultType="com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderTrayVO"> <select id="getInfoByNo" resultType="com.nflg.wms.common.pojo.vo.DeliverStructuralPackageOrderTrayVO">
SELECT o.external_order_no,o.row_no,sp."no" AS "package_no",sp."name" AS "package_desc",ot.num,us.supplier_name SELECT o.external_order_no,o.row_no,sp."no" AS "package_no",sp."name" AS "package_desc",ot.num,us.supplier_name,us.supplier_code
,us.supplier_code,ot.state
FROM wms_structural_package_order o FROM wms_structural_package_order o
LEFT JOIN wms_workbench wb ON o.workbench_id=wb."id" LEFT JOIN wms_workbench wb ON o.workbench_id=wb."id"
LEFT JOIN user_supplier us ON o.supplier_id=us.user_id LEFT JOIN user_supplier us ON o.supplier_id=us.user_id

View File

@ -34,6 +34,5 @@
and lgfsb1 like concat('%',#{request.lgfsb1},'%') and lgfsb1 like concat('%',#{request.lgfsb1},'%')
</if> </if>
</where> </where>
order by id desc
</select> </select>
</mapper> </mapper>

View File

@ -7,6 +7,5 @@
FROM wms_transfer_company_ticket_item tcti FROM wms_transfer_company_ticket_item tcti
INNER JOIN wms_transfer_company_item tci ON tcti.order_item_id=tci."id" INNER JOIN wms_transfer_company_item tci ON tcti.order_item_id=tci."id"
WHERE tcti.ticket_id=#{id} WHERE tcti.ticket_id=#{id}
order by tcti.id desc
</select> </select>
</mapper> </mapper>

View File

@ -35,7 +35,6 @@
and lgfsb1 like concat('%',#{request.lgfsb1},'%') and lgfsb1 like concat('%',#{request.lgfsb1},'%')
</if> </if>
</where> </where>
order by tct.id desc
</select> </select>
<select id="getInfo" resultType="com.nflg.wms.common.pojo.vo.TransferCompanyTicketVO"> <select id="getInfo" resultType="com.nflg.wms.common.pojo.vo.TransferCompanyTicketVO">

View File

@ -28,6 +28,5 @@
and werks like concat('%',#{request.werks},'%') and werks like concat('%',#{request.werks},'%')
</if> </if>
</where> </where>
order by id desc
</select> </select>
</mapper> </mapper>

View File

@ -7,6 +7,5 @@
from wms_transfer_factory_item tfi from wms_transfer_factory_item tfi
inner join wms_transfer_factory_ticket_item tfti on tfi.id = tfti.order_item_id inner join wms_transfer_factory_ticket_item tfti on tfi.id = tfti.order_item_id
where tfti.ticket_id = #{id} where tfti.ticket_id = #{id}
order by tfi.id desc
</select> </select>
</mapper> </mapper>

View File

@ -29,7 +29,6 @@
and werks like concat('%',#{request.werks},'%') and werks like concat('%',#{request.werks},'%')
</if> </if>
</where> </where>
order by tft.id desc
</select> </select>
<select id="getInfo" resultType="com.nflg.wms.common.pojo.vo.TransferFactoryTicketInfoVO"> <select id="getInfo" resultType="com.nflg.wms.common.pojo.vo.TransferFactoryTicketInfoVO">

View File

@ -2,7 +2,6 @@ package com.nflg.wms.srm.receive.controller;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import com.nflg.wms.common.pojo.dto.SRMOrderReceiveDTO; import com.nflg.wms.common.pojo.dto.SRMOrderReceiveDTO;
@ -152,7 +151,7 @@ public class SRMController extends BaseController {
.setSupplerNum(data.getSupplierNum()) .setSupplerNum(data.getSupplierNum())
.setInspectionType(data.getInspectionType()) .setInspectionType(data.getInspectionType())
.setPoLineNumber(String.valueOf(data.getPoLineNumber())) .setPoLineNumber(String.valueOf(data.getPoLineNumber()))
.setInspectionQty(ObjectUtil.defaultIfNull(data.getInspectionQty(), BigDecimal.ZERO)) .setInspectionQty(data.getInspectionQty())
.setItemName(data.getItemName()) .setItemName(data.getItemName())
.setUnit(data.getUnit()) .setUnit(data.getUnit())
.setReceivedWarehouse(data.getReceivedWarehouse()) .setReceivedWarehouse(data.getReceivedWarehouse())