Merge branch 'feature/NoScanning' into qms/develop-0625
This commit is contained in:
commit
34d75903c0
|
|
@ -861,10 +861,12 @@ public class NormalPGIController extends BaseController {
|
|||
zwm3A17DTOS.add(zwm3A17DTO);
|
||||
}
|
||||
|
||||
Map<String, String> codeBinNoMap = request.getItems().stream()
|
||||
.map(PoReceiveTaskItemConfirmQO::getItems)
|
||||
.flatMap(List::stream)
|
||||
Map<String, String> codeBinNoMap = qo.getItems().stream()
|
||||
.collect(Collectors.toMap(InCostCenterBackSubmitItemQRQO::getQrCode, InCostCenterBackSubmitItemQRQO::getBinNo));
|
||||
// request.getItems().stream()
|
||||
// .map(PoReceiveTaskItemConfirmQO::getItems)
|
||||
// .flatMap(List::stream)
|
||||
// .collect(Collectors.toMap(InCostCenterBackSubmitItemQRQO::getQrCode, InCostCenterBackSubmitItemQRQO::getBinNo));
|
||||
List<WmsQrCodeMaster> qrCodeMasters = qrCodeMasterService.getByCodes(codeBinNoMap.keySet());
|
||||
List<String> tmpQrCodes = qrCodeMasters.stream()
|
||||
.filter(qrCodeMaster -> !Objects.equals(qrCodeMaster.getProcessStage(), BarCodeProcessStage.Received.getState()))
|
||||
|
|
|
|||
|
|
@ -133,7 +133,6 @@ public class NormalQMController extends BaseController {
|
|||
@PostMapping("PDA/task/confirm")
|
||||
@ApiMark(moduleName = "质检物料管理", apiName = "质检任务上架确认")
|
||||
public ApiResult<Void> confirm(@Valid @RequestBody List<QCReceiveTaskConfirmQO> request) {
|
||||
if (CollectionUtil.isEmpty(request))
|
||||
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request)).throwMessage("入库参数为空");
|
||||
|
||||
//根据详情ID 获取到相应的入库单信息
|
||||
|
|
@ -147,7 +146,7 @@ public class NormalQMController extends BaseController {
|
|||
.apply("check_qty>in_qty")
|
||||
.list();
|
||||
|
||||
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(request)).throwMessage("不存在待入库的物料(或此物料已入库)");
|
||||
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(wmsQcReceiveItems)).throwMessage("不存在待入库的物料(或此物料已入库)");
|
||||
|
||||
List<String> qrCodes = CollectionUtil.unionAll(
|
||||
request.stream()
|
||||
|
|
@ -228,14 +227,14 @@ public class NormalQMController extends BaseController {
|
|||
|
||||
List<QCReceiveDTO> qcReceiveDTOS = new ArrayList<>();
|
||||
for (String poNum : poNums) {
|
||||
//封装一个数据
|
||||
QCReceiveDTO qcReceiveDTO = new QCReceiveDTO()
|
||||
// .setUnqualifiedInventories(new ArrayList<>())
|
||||
.setQcIdList(new ArrayList<>())
|
||||
.setReceiveIds(new ArrayList<>())
|
||||
.setWaitModifyItems(new ArrayList<>())
|
||||
.setStorageLocationDTOS(new ArrayList<>())
|
||||
.setQualifiednventories(new ArrayList<>());
|
||||
// //封装一个数据
|
||||
// QCReceiveDTO qcReceiveDTO = new QCReceiveDTO()
|
||||
//// .setUnqualifiedInventories(new ArrayList<>())
|
||||
// .setQcIdList(new ArrayList<>())
|
||||
// .setReceiveIds(new ArrayList<>())
|
||||
// .setWaitModifyItems(new ArrayList<>())
|
||||
// .setStorageLocationDTOS(new ArrayList<>())
|
||||
// .setQualifiednventories(new ArrayList<>());
|
||||
List<QCReceiveTaskConfirmQO> qcReceiveTaskConfirmQOS = request.stream()
|
||||
.filter(q -> q.getPoNum().equals(poNum))
|
||||
.collect(Collectors.toList());
|
||||
|
|
@ -248,6 +247,15 @@ public class NormalQMController extends BaseController {
|
|||
if (Objects.isNull(wmsQcReceiveItem)) {
|
||||
continue;
|
||||
}
|
||||
//封装一个数据
|
||||
QCReceiveDTO qcReceiveDTO = new QCReceiveDTO()
|
||||
// .setUnqualifiedInventories(new ArrayList<>())
|
||||
.setQcIdList(new ArrayList<>())
|
||||
.setReceiveIds(new ArrayList<>())
|
||||
.setWaitModifyItems(new ArrayList<>())
|
||||
.setStorageLocationDTOS(new ArrayList<>())
|
||||
.setQualifiednventories(new ArrayList<>());
|
||||
qcReceiveDTOS.add(qcReceiveDTO);
|
||||
if (!qcReceiveDTO.getReceiveIds().stream().anyMatch(id -> id.equals(wmsQcReceiveItem.getReceiveId()))) {
|
||||
qcReceiveDTO.getReceiveIds().add(wmsQcReceiveItem.getReceiveId());
|
||||
}
|
||||
|
|
@ -362,7 +370,7 @@ public class NormalQMController extends BaseController {
|
|||
}
|
||||
}
|
||||
}
|
||||
qcReceiveDTOS.add(qcReceiveDTO);
|
||||
// qcReceiveDTOS.add(qcReceiveDTO);
|
||||
}
|
||||
qrCodeMasterService.updateBarCode(qrCodeMasters);
|
||||
normalQMControllerService.confirmReceive(qcReceiveDTOS);
|
||||
|
|
|
|||
|
|
@ -389,7 +389,6 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
.setPackagingType((short) 0)
|
||||
.setQuantity(BigDecimal.valueOf(it.getNum()))
|
||||
.setUnit(it.getUnit())
|
||||
.setSupplierId(it.getSupplierId())
|
||||
.setPoNumber(it.getExternalOrderNo())
|
||||
.setPoLineNumber(it.getRowNo())
|
||||
.setExtendId(it.getId())
|
||||
|
|
@ -1205,7 +1204,7 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
List<WmsStructuralPackageOrderTrayItem> items = structuralPackageOrderTrayItemService.getList(request.getId());
|
||||
items.forEach(it -> it.setStoreNum(it.getShipmentNum()));
|
||||
structuralPackageOrderTrayItemService.updateBatchById(items);
|
||||
if (structuralPackageDeliverOrderService.updateStateByOrderId(request.getId()) == 2) {
|
||||
structuralPackageDeliverOrderService.updateStateByOrderId(request.getId());
|
||||
qrCodeMasterService.lambdaUpdate()
|
||||
.set(WmsQrCodeMaster::getProcessStage, BarCodeProcessStage.InBound.getState())
|
||||
.set(WmsQrCodeMaster::getLastScanBy, UserUtil.getUserId())
|
||||
|
|
@ -1213,7 +1212,6 @@ public class StructuralPackageOrderController extends BaseController {
|
|||
.set(WmsQrCodeMaster::getLastScanTime, LocalDateTime.now())
|
||||
.eq(WmsQrCodeMaster::getExtendId, request.getId())
|
||||
.update();
|
||||
}
|
||||
WmsStructuralPackageDeliverOrderMap om = structuralPackageDeliverOrderMapService.lambdaQuery()
|
||||
.eq(WmsStructuralPackageDeliverOrderMap::getOrderId, request.getId())
|
||||
.one();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,26 @@
|
|||
package com.nflg.wms.admin.pojo.dto;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class StorageImportDTO {
|
||||
|
||||
private String factoryNo;
|
||||
|
||||
private String warehouseNo;
|
||||
|
||||
private String binNo;
|
||||
|
||||
/**
|
||||
* 库存地点ID
|
||||
*/
|
||||
private Long warehouseId;
|
||||
|
||||
private Long binId;
|
||||
|
||||
private String error;
|
||||
}
|
||||
|
|
@ -9,6 +9,7 @@ import com.nflg.wms.admin.pojo.dto.ZWM3A27ItemDTO;
|
|||
import com.nflg.wms.common.pojo.dto.OptRecordDTO;
|
||||
import com.nflg.wms.common.pojo.vo.QCTaskItemScanCodesVO;
|
||||
import com.nflg.wms.common.pojo.vo.QCTaskItemVO;
|
||||
import com.nflg.wms.common.util.UserUtil;
|
||||
import com.nflg.wms.repository.entity.WmsQcReceive;
|
||||
import com.nflg.wms.repository.entity.WmsQcReceiveItem;
|
||||
import com.nflg.wms.repository.entity.WmsSrmQualityInspection;
|
||||
|
|
@ -120,11 +121,17 @@ public class NormalQMControllerService {
|
|||
iWmsQcReceiveService.lambdaUpdate()
|
||||
.eq(WmsQcReceive::getId, receiveId)
|
||||
.set(WmsQcReceive::getIsCompleted, 2)
|
||||
.set(WmsQcReceive::getUpdateTime, LocalDateTime.now())
|
||||
.set(WmsQcReceive::getUpdateUserId, UserUtil.getUserId())
|
||||
.set(WmsQcReceive::getUpdateUserName, UserUtil.getUserName())
|
||||
.update();
|
||||
} else {
|
||||
iWmsQcReceiveService.lambdaUpdate()
|
||||
.eq(WmsQcReceive::getId, receiveId)
|
||||
.set(WmsQcReceive::getIsCompleted, 1)
|
||||
.set(WmsQcReceive::getUpdateTime, LocalDateTime.now())
|
||||
.set(WmsQcReceive::getUpdateUserId, UserUtil.getUserId())
|
||||
.set(WmsQcReceive::getUpdateUserName, UserUtil.getUserName())
|
||||
.update();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import cn.hutool.core.convert.Convert;
|
|||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.nflg.wms.admin.pojo.dto.StorageImportDTO;
|
||||
import com.nflg.wms.common.constant.Constant;
|
||||
import com.nflg.wms.common.constant.STATE;
|
||||
import com.nflg.wms.common.pojo.ApiResult;
|
||||
|
|
@ -49,9 +50,7 @@ import java.net.URLEncoder;
|
|||
import java.nio.charset.StandardCharsets;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Component
|
||||
|
|
@ -144,18 +143,77 @@ public class StorageControllerService {
|
|||
|
||||
@Transactional
|
||||
public boolean updateCheckAndImport(List<StorageExcelExportDTO> data) {
|
||||
List<WmsStorage> storages = new ArrayList<>();
|
||||
List<WmsStorage> storagesForAdd = new ArrayList<>();
|
||||
Set<String> materialNos = data.stream().map(StorageExcelExportDTO::getMaterialNo).collect(Collectors.toSet());
|
||||
List<MaterialMainDTO> dtos = bomMaterialService.getList(materialNos);
|
||||
Set<String> fwbs = new HashSet<>();
|
||||
data.forEach(dto -> {
|
||||
if (dtos.stream().noneMatch(d -> StrUtil.equals(d.getMaterialNo(), dto.getMaterialNo()))) {
|
||||
dto.setError("物料编号无效;");
|
||||
} else {
|
||||
if (StrUtil.isNotBlank(dto.getBinNo())) {
|
||||
fwbs.add(dto.getFactoryNo() + "$" + dto.getWarehouseNo() + "$" + dto.getBinNo());
|
||||
}
|
||||
}
|
||||
});
|
||||
List<DictionaryItem> factories = dictionaryItemService.getListByDictionaryCode(Constant.DICTIONARY_FACTORY);
|
||||
List<StorageImportDTO> fwbos = new ArrayList<>();
|
||||
fwbs.forEach(fwb -> {
|
||||
List<String> fwbl = StrUtil.split(fwb, "$");
|
||||
if (factories.stream().noneMatch(f -> StrUtil.equals(f.getValue(), fwbl.get(0)))) {
|
||||
fwbos.add(new StorageImportDTO(fwbl.get(0), fwbl.get(1), fwbl.get(2), null, null, "工厂编号无效"));
|
||||
} else {
|
||||
WmsBin bin = wmsBinService.getByCode(fwbl.get(0), fwbl.get(1), fwbl.get(2));
|
||||
if (Objects.isNull(bin)) {
|
||||
fwbos.add(new StorageImportDTO(fwbl.get(0), fwbl.get(1), fwbl.get(2), null, null, "储位编号无效"));
|
||||
} else {
|
||||
fwbos.add(new StorageImportDTO(fwbl.get(0), fwbl.get(1), fwbl.get(2), bin.getWarehouseId(), bin.getId(), null));
|
||||
}
|
||||
}
|
||||
});
|
||||
List<WmsStorage> storagesForUpdate = storageService.lambdaQuery()
|
||||
.in(WmsStorage::getMaterialNo, materialNos)
|
||||
.list();
|
||||
for (StorageExcelExportDTO dto : data) {
|
||||
WmsStorage storage = new WmsStorage();
|
||||
if (StrUtil.isNotBlank(dto.getError())) {
|
||||
continue;
|
||||
}
|
||||
WmsStorage storage = null;
|
||||
StringBuilder sb = new StringBuilder();
|
||||
if (StrUtil.isBlank(dto.getMaterialNo())) {
|
||||
sb.append("物料编号不能为空;");
|
||||
}
|
||||
String factoryNo = StrUtil.trim(dto.getFactoryNo());
|
||||
if (StrUtil.isBlank(factoryNo)) {
|
||||
sb.append("工厂编号不能为空;");
|
||||
}
|
||||
String warehouseNo = StrUtil.trim(dto.getWarehouseNo());
|
||||
if (StrUtil.isBlank(warehouseNo)) {
|
||||
sb.append("库存地点编号不能为空;");
|
||||
}
|
||||
if (StrUtil.isBlank(dto.getBinNo())) {
|
||||
sb.append("储位编号不能为空;");
|
||||
} else {
|
||||
MaterialMainDTO material = bomMaterialService.getMaterialInfo(dto.getMaterialNo());
|
||||
if (Objects.isNull(material)) {
|
||||
sb.append("物料编号无效;");
|
||||
StorageImportDTO fwbo = fwbos.stream()
|
||||
.filter(f -> StrUtil.equals(f.getFactoryNo(), factoryNo)
|
||||
&& StrUtil.equals(f.getWarehouseNo(), warehouseNo)
|
||||
&& StrUtil.equals(f.getBinNo(), dto.getBinNo())
|
||||
)
|
||||
.findFirst()
|
||||
.get();
|
||||
if (StrUtil.isNotBlank(fwbo.getError())) {
|
||||
sb.append(fwbo.getError()).append(";");
|
||||
} else {
|
||||
storage = storageService.lambdaQuery().eq(WmsStorage::getMaterialNo, material.getMaterialNo()).one();
|
||||
MaterialMainDTO material = dtos.stream()
|
||||
.filter(d -> StrUtil.equals(d.getMaterialNo(), dto.getMaterialNo()))
|
||||
.findFirst()
|
||||
.get();
|
||||
storage = storagesForUpdate.stream()
|
||||
.filter(s -> StrUtil.equals(s.getMaterialNo(), dto.getMaterialNo())
|
||||
&& s.getWarehouseId().equals(fwbo.getWarehouseId())
|
||||
)
|
||||
.findFirst()
|
||||
.orElse(null);
|
||||
if (Objects.isNull(storage)) {
|
||||
storage = new WmsStorage()
|
||||
.setId(IdUtil.getSnowflakeNextId())
|
||||
|
|
@ -164,56 +222,25 @@ public class StorageControllerService {
|
|||
.setMaterialDesc(material.getMaterialDesc())
|
||||
.setCreateBy(UserUtil.getUserName())
|
||||
.setCreateTime(LocalDateTime.now());
|
||||
storagesForAdd.add(storage);
|
||||
} else {
|
||||
storage.setUpdateBy(UserUtil.getUserName());
|
||||
storage.setUpdateTime(LocalDateTime.now());
|
||||
}
|
||||
}
|
||||
}
|
||||
String factoryNo = StrUtil.trim(dto.getFactoryNo());
|
||||
DictionaryItem item = null;
|
||||
if (StrUtil.isBlank(factoryNo)) {
|
||||
sb.append("工厂编号不能为空;");
|
||||
} else {
|
||||
item = dictionaryItemService.getByCode(Constant.DICTIONARY_FACTORY, factoryNo);
|
||||
if (Objects.isNull(item)) {
|
||||
sb.append("工厂编号无效;");
|
||||
}
|
||||
}
|
||||
String warehouseNo = StrUtil.trim(dto.getWarehouseNo());
|
||||
WmsWarehouse warehouse = null;
|
||||
if (StrUtil.isBlank(warehouseNo)) {
|
||||
sb.append("库存地点编号不能为空;");
|
||||
} else if (Objects.nonNull(item)) {
|
||||
warehouse = warehouseService.lambdaQuery().eq(WmsWarehouse::getFactoryId, item.getId()).eq(WmsWarehouse::getNo, warehouseNo).one();
|
||||
if (Objects.isNull(warehouse)) {
|
||||
sb.append("库存地点编号无效;");
|
||||
} else {
|
||||
storage.setWarehouseId(warehouse.getId());
|
||||
}
|
||||
}
|
||||
if (StrUtil.isBlank(dto.getBinNo())) {
|
||||
sb.append("储位编号不能为空;");
|
||||
} else if (Objects.nonNull(warehouse)) {
|
||||
WmsBin bin = wmsBinService.lambdaQuery()
|
||||
.eq(WmsBin::getWarehouseId, warehouse.getId())
|
||||
.eq(WmsBin::getNo, dto.getBinNo())
|
||||
.one();
|
||||
if (Objects.isNull(bin)) {
|
||||
sb.append("储位编号无效;");
|
||||
}else {
|
||||
storage.setBinId(bin.getId());
|
||||
}
|
||||
}
|
||||
storage.setWarehouseId(fwbo.getWarehouseId());
|
||||
storage.setBinId(fwbo.getBinId());
|
||||
storage.setRemark(dto.getRemark());
|
||||
}
|
||||
}
|
||||
dto.setError(sb.toString());
|
||||
storages.add(storage);
|
||||
}
|
||||
if (data.stream().noneMatch(it -> StrUtil.isNotBlank(it.getError()))) {
|
||||
storageService.saveOrUpdateBatch(storages);
|
||||
// storageBinService.remove(new LambdaQueryWrapper<WmsStorageBin>()
|
||||
// .in(WmsStorageBin::getStorageId, storages.stream().map(WmsStorage::getId).toList()));
|
||||
// storageBinService.saveBatch(storageBinAll);
|
||||
if (CollectionUtil.isNotEmpty(storagesForAdd)) {
|
||||
storageService.saveBatch(storagesForAdd);
|
||||
}
|
||||
if (CollectionUtil.isNotEmpty(storagesForUpdate)) {
|
||||
storageService.updateBatchById(storagesForUpdate);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.nflg.wms.common.pojo.dto;
|
||||
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
|
@ -8,6 +9,8 @@ import lombok.experimental.Accessors;
|
|||
@Accessors(chain = true)
|
||||
public class LdapUserDTO {
|
||||
|
||||
private Long id = IdUtil.getSnowflakeNextId();
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -82,4 +82,14 @@ public class QCReceiptVO {
|
|||
* 1 无码收货
|
||||
*/
|
||||
private Integer sourceType;
|
||||
|
||||
/**
|
||||
* 入库时间
|
||||
*/
|
||||
private LocalDateTime inTime;
|
||||
|
||||
/**
|
||||
* 入库人
|
||||
*/
|
||||
private String inUserName;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,7 +19,8 @@ public interface WmsQcReceiveItemMapper extends BaseMapper<WmsQcReceiveItem> {
|
|||
|
||||
List<QCTaskItemVO> getTaskItem(Long taskId);
|
||||
|
||||
void updateCheckNum(BigDecimal InspectionQty, String noteNum, String lineNumber, String itemCode, String materialDoc);
|
||||
void updateCheckNum(BigDecimal InspectionQty, String noteNum, String lineNumber, String itemCode, String materialDoc,
|
||||
BigDecimal UnqualifiedQty ,BigDecimal QualifiedQty);
|
||||
|
||||
void updateInQty(Long id, BigDecimal inQty, BigDecimal unqualifiedQty, BigDecimal qualifiedQty);
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ public interface IWmsQcReceiveItemService extends IService<WmsQcReceiveItem> {
|
|||
|
||||
List<QCTaskItemVO> getTaskItem(@Valid @NotNull Long taskId);
|
||||
|
||||
void updateCheckNum(BigDecimal InspectionQty, String noteNum, String lineNumber, String itemCode,String materialDoc);
|
||||
void updateCheckNum(BigDecimal InspectionQty, String noteNum, String lineNumber, String itemCode,String materialDoc,BigDecimal UnqualifiedQty ,BigDecimal QualifiedQty);
|
||||
|
||||
void updateInQty(Long id, BigDecimal inQty,BigDecimal unqualifiedQty,BigDecimal qualifiedQty);
|
||||
|
||||
|
|
|
|||
|
|
@ -27,8 +27,8 @@ public class WmsQcReceiveItemServiceImpl extends ServiceImpl<WmsQcReceiveItemMap
|
|||
}
|
||||
|
||||
@Override
|
||||
public void updateCheckNum(BigDecimal InspectionQty, String noteNum, String lineNumber, String itemCode, String materialDoc) {
|
||||
baseMapper.updateCheckNum(InspectionQty, noteNum, lineNumber, itemCode, materialDoc);
|
||||
public void updateCheckNum(BigDecimal InspectionQty, String noteNum, String lineNumber, String itemCode, String materialDoc,BigDecimal UnqualifiedQty ,BigDecimal QualifiedQty) {
|
||||
baseMapper.updateCheckNum(InspectionQty, noteNum, lineNumber, itemCode, materialDoc,UnqualifiedQty,QualifiedQty);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -30,7 +30,9 @@
|
|||
|
||||
<update id="updateCheckNum">
|
||||
update wms_qc_receive_item
|
||||
set check_qty=check_qty + #{InspectionQty}
|
||||
set check_qty=check_qty + #{InspectionQty},
|
||||
unqualified_qty= #{ UnqualifiedQty },
|
||||
qualified_qty= #{ QualifiedQty }
|
||||
where note_num = #{ noteNum}
|
||||
and line_number = #{ lineNumber}
|
||||
and material_doc = #{materialDoc}
|
||||
|
|
|
|||
|
|
@ -10,10 +10,12 @@
|
|||
wh.id AS "warehouseId",
|
||||
wh.no AS "warehouseNo",
|
||||
s.bin_id,
|
||||
bin.no as "binNo"
|
||||
bin.no as "binNo",
|
||||
di.value as "factoryNo"
|
||||
FROM wms_storage s
|
||||
INNER JOIN wms_bin bin ON s.bin_id = bin.id
|
||||
LEFT JOIN wms_warehouse wh ON s.warehouse_id = wh.id
|
||||
LEFT JOIN dictionary_item di ON wh.factory_id = di."id"
|
||||
<where>
|
||||
<if test="request.warehouseNo!=null and request.warehouseNo!=''">
|
||||
and wh.no ilike concat('%', #{request.warehouseNo}, '%')
|
||||
|
|
@ -56,10 +58,12 @@
|
|||
wh.id AS "warehouseId",
|
||||
wh.no AS "warehouseNo",
|
||||
s.bin_id,
|
||||
bin.no as "binNo"
|
||||
bin.no as "binNo",
|
||||
di.value as "factoryNo"
|
||||
FROM wms_storage s
|
||||
INNER JOIN wms_bin bin ON s.bin_id = bin.id
|
||||
LEFT JOIN wms_warehouse wh ON s.warehouse_id = wh.id
|
||||
LEFT JOIN dictionary_item di ON wh.factory_id = di."id"
|
||||
<where>
|
||||
<if test="request.warehouseNo!=null and request.warehouseNo!=''">
|
||||
and wh.no like concat('%', #{request.warehouseNo}, '%')
|
||||
|
|
|
|||
|
|
@ -155,6 +155,8 @@ public class SRMController extends BaseController {
|
|||
.eq(WmsQcReceiveItem::getMaterialDoc, data.getReceiveNum())
|
||||
.eq(WmsQcReceiveItem::getLineNumber, data.getLineNumber())
|
||||
.eq(WmsQcReceiveItem::getNoteNum, data.getNoteNum())
|
||||
.eq(WmsQcReceiveItem::getPoLineNumber, data.poLineNumber)
|
||||
.eq(WmsQcReceiveItem::getPoNum, data.getPoNum())
|
||||
.one();
|
||||
if (Objects.isNull(receiveItem)) {
|
||||
log.error("未找到对应收货明细, 质检单号: {}, 物料: {}, 收货单: {}, 行号: {}",
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
package repository;
|
||||
|
||||
import com.nflg.wms.common.pojo.document.SrmMaterialReceiptScanCodes;
|
||||
import org.springframework.data.mongodb.repository.MongoRepository;
|
||||
import org.springframework.data.mongodb.repository.Query;
|
||||
import org.springframework.data.mongodb.repository.Update;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Repository
|
||||
public interface SrmMaterialReceiptScanCodesRepository
|
||||
extends MongoRepository<SrmMaterialReceiptScanCodes, String> {
|
||||
List<SrmMaterialReceiptScanCodes> findByOrderItemId(Long orderItemId);
|
||||
List<SrmMaterialReceiptScanCodes> findByReceiveItemId(Long receiveItemId);
|
||||
|
||||
List<SrmMaterialReceiptScanCodes> findByCodeIdIn(List<String> attr0);
|
||||
|
||||
@Query("{ 'codeId' : { $in : ?0 } }")
|
||||
@Update("{ $set : { 'isIntoStorage' : ?1 } }")
|
||||
void updateIsIntoStorage(List<String> codeIds, boolean isIntoStorage);
|
||||
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue