Browse Source

Merge remote-tracking branch 'origin/master'

master
赵雪冰 2 years ago
parent
commit
bff927a14a
  1. 17
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/balance/BalanceMapper.java
  2. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainServiceImpl.java
  3. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productdismantleRequest/ProductdismantleRequestMainServiceImpl.java
  4. 28
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordDetailServiceImpl.java

17
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/balance/BalanceMapper.java

@ -97,6 +97,23 @@ public interface BalanceMapper extends BaseMapperX<BalanceDO> {
return selectOne(queryWrapper);
}
/**
* 更新库存余额数量出库qty是负数
*/
default List<BalanceDO> getBalanceListByLocationTypes(String packingNumber, String itemCode, String batch, List<String> inventoryStatusList, List<String> locationTypeList) {
QueryWrapper<BalanceDO> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("packing_number", packingNumber);
queryWrapper.eq("item_code", itemCode);
queryWrapper.eq("batch", batch);
queryWrapper.in("inventory_status", inventoryStatusList);
StringBuilder type = new StringBuilder();
for(String str : locationTypeList) {
type.append("'").append(str).append("',");
}
queryWrapper.inSql("location_code", "SELECT `code` FROM basic_location WHERE `type` IN ("+ type.substring(0, type.length() - 1)+") AND available='TRUE' AND deleted=0");
return selectList(queryWrapper);
}
/**
* 更查找库存余额
* @param packingNumber 包装号

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainServiceImpl.java

@ -290,7 +290,7 @@ public class InspectJobMainServiceImpl implements InspectJobMainService {
BeanUtils.copyProperties(transactionCreateReqVOIn, transactionCreateReqVO);
transactionCreateReqVO.setInventoryStatus("SCRAP");
transactionCreateReqVO.setQty(inspectJobDetailUpdateReqVO.getCrackQty());
transactionCreateReqVO.setLocationCode("HOLD");
transactionCreateReqVO.setLocationCode("SCRAP");
transactionCreateReqVOList.add(transactionCreateReqVO);
}
if (inspectJobDetailUpdateReqVO.getFailedQty() != null && inspectJobDetailUpdateReqVO.getFailedQty().compareTo(BigDecimal.ZERO) > 0) {

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productdismantleRequest/ProductdismantleRequestMainServiceImpl.java

@ -248,11 +248,11 @@ public class ProductdismantleRequestMainServiceImpl implements ProductdismantleR
// 提示:计量单位【uom】错误,应该是【item.uom】
throw exception(ITEMBASIC_UOM_EXCEPTION,detailDo.getUom(),itembasicDO.getUom());
}
// 校验--工位基础信息
if(StringUtils.isNotEmpty(detailDo.getWorkStationCode())){
WorkstationDO workstationDO = workstationService.selectWorkstationExist(detailDo.getWorkStationCode(), mainDO.getWorkshopCode(), detailDo.getProductionLineCode());
detailDo.setFromLocationCode(workstationDO.getFgLocationCode());
}
// 校验--工位基础信息 以库存余额中的库位为准 此处无需赋值
// if(StringUtils.isNotEmpty(detailDo.getWorkStationCode())){
// WorkstationDO workstationDO = workstationService.selectWorkstationExist(detailDo.getWorkStationCode(), mainDO.getWorkshopCode(), detailDo.getProductionLineCode());
// detailDo.setFromLocationCode(workstationDO.getFgLocationCode());
// }
// 校验--库存余额 TB——>TB1
validateBalance(detailDo,mainDO);
// 校验--物品类型 DBT——>DBT2——>IT

28
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/purchasereceiptRecord/PurchasereceiptRecordDetailServiceImpl.java

@ -3,12 +3,18 @@ package com.win.module.wms.service.purchasereceiptRecord;
import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.purchasereceiptRecord.vo.PurchasereceiptRecordDetailPageReqVO;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.purchasereceiptRecord.PurchasereceiptRecordDetailDO;
import com.win.module.wms.dal.mysql.balance.BalanceMapper;
import com.win.module.wms.dal.mysql.purchasereceiptRecord.PurchasereceiptRecordDetailMapper;
import com.win.module.wms.util.JobUtils;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
@ -22,6 +28,10 @@ public class PurchasereceiptRecordDetailServiceImpl implements PurchasereceiptRe
@Resource
private PurchasereceiptRecordDetailMapper purchasereceiptRecordDetailMapper;
@Resource
private BalanceMapper balanceMapper;
@Resource
private JobUtils jobUtils;
@Override
public PageResult<PurchasereceiptRecordDetailDO> getPurchasereceiptRecordDetailSenior(CustomConditions conditions) {
@ -35,7 +45,23 @@ public class PurchasereceiptRecordDetailServiceImpl implements PurchasereceiptRe
@Override
public List<PurchasereceiptRecordDetailDO> selectList(Long masterId) {
return purchasereceiptRecordDetailMapper.selectList(masterId);
//查询from_locating_code
List<PurchasereceiptRecordDetailDO> purchasereceiptRecordDetailDOList = purchasereceiptRecordDetailMapper.selectList(masterId);
List<PurchasereceiptRecordDetailDO> resultList = new ArrayList<>();
for(PurchasereceiptRecordDetailDO purchasereceiptRecordDetailDO : purchasereceiptRecordDetailDOList) {
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("PurchaseReturnRequest");
List<String> inventoryStatusList = Arrays.asList(businesstypeDO.getOutInventoryStatuses().split(","));
List<String> locationTypeList = Arrays.asList(businesstypeDO.getOutLocationTypes().split(","));
List<BalanceDO> balanceDOList = balanceMapper.getBalanceListByLocationTypes(purchasereceiptRecordDetailDO.getToPackingNumber(), purchasereceiptRecordDetailDO.getItemCode(), purchasereceiptRecordDetailDO.getToBatch(), inventoryStatusList, locationTypeList);
if(balanceDOList.isEmpty()) {
continue;
}
BalanceDO balanceDO = balanceDOList.get(0);
purchasereceiptRecordDetailDO.setFromLocationCode(balanceDO.getLocationCode());
purchasereceiptRecordDetailDO.setInventoryStatus(balanceDO.getInventoryStatus());
resultList.add(purchasereceiptRecordDetailDO);
}
return resultList;
}
}

Loading…
Cancel
Save