Browse Source

Merge remote-tracking branch 'origin/master'

master
赵雪冰 2 years ago
parent
commit
d02309da65
  1. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemBaseVO.java
  2. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceBaseVO.java
  3. 34
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/packageovermain/PackageoverMainServiceImpl.java
  4. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productdismantleRequest/ProductdismantleRequestDetailaServiceImpl.java
  5. 21
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productdismantleRequest/ProductdismantleRequestMainServiceImpl.java
  6. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionlineitem/ProductionlineitemServiceImpl.java
  7. 30
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/stdcostprice/StdcostpriceServiceImpl.java

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productionlineitem/vo/ProductionlineitemBaseVO.java

@ -20,11 +20,9 @@ public class ProductionlineitemBaseVO {
private Long id;
@Schema(description = "完工收货库位", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "完工收货库位不能为空")
private String fgLocationCode;
@Schema(description = "产线代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "产线代码不能为空")
private String productionLineCode;
@Schema(description = "物品代码", requiredMode = Schema.RequiredMode.REQUIRED)

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/stdcostprice/vo/StdcostpriceBaseVO.java

@ -21,7 +21,6 @@ public class StdcostpriceBaseVO {
private Long id;
@Schema(description = "供应商代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "供应商代码不能为空")
private String supplierCode;
@Schema(description = "物料代码", requiredMode = Schema.RequiredMode.REQUIRED)

34
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/packageovermain/PackageoverMainServiceImpl.java

@ -171,7 +171,7 @@ public class PackageoverMainServiceImpl implements PackageoverMainService {
transactionCreateReqVOOut.setId(null);
transactionCreateReqVOList.add(transactionCreateReqVOOut);
// 更新包装信息——来源包装
updatePackageDO(detailDO.getFromPackingNumber(),detailDO.getFromQty());
updatePackageDO(detailDO.getFromPackingNumber(),balanceDO.get(0).getQty().subtract(detailDO.getFromQty()));
// 查询一翻几的规则 在基础包装中 翻几 = 标包数量/替代标包数量 库存余额中不够分配的 向上取整
// 例如:库存余额24 翻3包 每包10 那么第一包数量10 第二包数量10 第三包数量4
// 例如:库存余额5 翻3包 每包10 那么第一包数量5
@ -210,13 +210,43 @@ public class PackageoverMainServiceImpl implements PackageoverMainService {
packageDO = packageService.createPackageLabel(packagecreateReqVO);
packageoverDetailDO.setToPackingNumber(packageDO.getNumber());
packageoverDetailDO.setToQty(balanceQty);
// 库存事务——入
TransactionCreateReqVO transactionCreateReqVOIn = new TransactionCreateReqVO();
BeanUtils.copyProperties(packageoverDetailDO, transactionCreateReqVOIn);
transactionCreateReqVOIn.setBusinessType(businesstypeDO.getCode());
TransactiontypeDO transactiontypeDOIn = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType());
transactionCreateReqVOIn.setInventoryAction(transactiontypeDOIn.getInventoryAction());
transactionCreateReqVOIn.setTransactionType(transactiontypeDOIn.getCode());
transactionCreateReqVOIn.setWorker(String.valueOf(userRespDTO.getId()));
transactionCreateReqVOIn.setBatch(packageoverDetailDO.getToBatch());
transactionCreateReqVOIn.setPackingNumber(packageoverDetailDO.getToPackingNumber());
transactionCreateReqVOIn.setInventoryStatus(packageoverDetailDO.getToInventoryStatus());
transactionCreateReqVOIn.setLocationCode(packageoverDetailDO.getLocationCode());
transactionCreateReqVOIn.setSinglePrice(BigDecimal.ZERO);
transactionCreateReqVOIn.setAmount(BigDecimal.ZERO);
transactionCreateReqVOIn.setArriveDate(LocalDateTime.now());
transactionCreateReqVOIn.setProduceDate(LocalDateTime.now());
transactionCreateReqVOIn.setExpireDate(LocalDateTime.now());
transactionCreateReqVOIn.setWarehouseCode(mainDO.getWarehouseCode());
transactionCreateReqVOIn.setRecordNumber(number);
transactionCreateReqVOIn.setQty(packageoverDetailDO.getToQty());
transactionCreateReqVOIn.setId(null);
transactionCreateReqVOList.add(transactionCreateReqVOIn);
packageoverDetailDOList.add(packageoverDetailDO);
break;
} else {
//库存余额数量 < 替代标包数量
//替代标包数量 < 库存余额数量
packagecreateReqVO.setQty(altPackQty);
packageDO = packageService.createPackageLabel(packagecreateReqVO);
packageoverDetailDO.setToPackingNumber(packageDO.getNumber());
packageoverDetailDO.setToQty(altPackQty);
// 当 循环最后一次 库存余额数 仍然 大于 替代标包数量 最后一包放入所有库存数量
if (overCount.intValue()-1 == i) {
packagecreateReqVO.setQty(balanceQty);
packageDO = packageService.createPackageLabel(packagecreateReqVO);
packageoverDetailDO.setToPackingNumber(packageDO.getNumber());
packageoverDetailDO.setToQty(balanceQty);
}
balanceQty = balanceQty.subtract(altPackQty);
}
packageoverDetailDOList.add(packageoverDetailDO);

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productdismantleRequest/ProductdismantleRequestDetailaServiceImpl.java

@ -101,7 +101,7 @@ public class ProductdismantleRequestDetailaServiceImpl implements Productdismant
private void validateDetailMethod(ProductdismantleRequestMainDO mainDO, ProductdismantleRequestDetailaDO detailDo, BusinesstypeDO businesstypeDO) {
// 校验--生产线基本信息
ProductionlineDO productionlineDO = productionlineService.productionLineCodeExist(detailDo.getProductionLineCode());
detailDo.setFromLocationCode(productionlineDO.getRawLocationCode());
// detailDo.setFromLocationCode(productionlineDO.getRawLocationCode());
// 校验--物品基本信息
ItembasicDO itembasicDO = itembasicService.selectItembasic(detailDo.getItemCode());
// 赋值物品Item相关信息
@ -113,11 +113,11 @@ public class ProductdismantleRequestDetailaServiceImpl implements Productdismant
// 提示:计量单位【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.getRawLocationCode());
}
// 校验--工位基础信息 以库存余额中的库位为准 此处无需赋值
// if(StringUtils.isNotEmpty(detailDo.getWorkStationCode())){
// WorkstationDO workstationDO = workstationService.selectWorkstationExist(detailDo.getWorkStationCode(), mainDO.getWorkshopCode(), detailDo.getProductionLineCode());
// detailDo.setFromLocationCode(workstationDO.getRawLocationCode());
// }
// 校验--库存余额 TB——>TB1
validateBalance(detailDo,mainDO);
// 校验--物品类型 DBT——>DBT2——>IT

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

@ -1,6 +1,7 @@
package com.win.module.wms.service.productdismantleRequest;
import cn.hutool.core.exceptions.UtilException;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.win.framework.common.exception.ServiceException;
import com.win.framework.common.pojo.CustomConditions;
@ -14,6 +15,7 @@ import com.win.module.wms.controller.productdismantleRequest.vo.*;
import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestDetailaBaseVO;
import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestDetailaCreateReqVO;
import com.win.module.wms.controller.productrepairRequest.vo.ProductrepairRequestDetailbCreateReqVO;
import com.win.module.wms.controller.rule.vo.RuleRespVO;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
import com.win.module.wms.convert.productdismantleRequest.ProductdismantleRequestDetailaConvert;
import com.win.module.wms.convert.productdismantleRequest.ProductdismantleRequestDetailbConvert;
@ -56,6 +58,7 @@ import com.win.module.wms.service.location.LocationService;
import com.win.module.wms.service.productionline.ProductionlineService;
import com.win.module.wms.service.recordsetting.RecordsettingService;
import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.service.rule.RuleService;
import com.win.module.wms.service.shift.ShiftService;
import com.win.module.wms.service.team.TeamService;
import com.win.module.wms.service.transaction.TransactionService;
@ -90,6 +93,8 @@ import static com.win.module.wms.enums.ErrorCodeConstants.*;
@Validated
public class ProductdismantleRequestMainServiceImpl implements ProductdismantleRequestMainService {
@Resource
private RuleService ruleService;
@Resource
private TransactionService transactionService;
@Resource
@ -548,6 +553,22 @@ public class ProductdismantleRequestMainServiceImpl implements ProductdismantleR
productdismantleRecordDetailbDO.setCreator(null);
productdismantleRecordDetailbDO.setUpdateTime(null);
productdismantleRecordDetailbDO.setUpdater(null);
// 查询管理精度策略
// RuleRespVO managementtRule = ruleService.management(null, null, productdismantleRequestDetailbDO.getItemCode(), workstationDO.getRawLocationCode(), null, null);
// JSONObject jsonObject = new JSONObject(managementtRule.getConfiguration());
// if(!"TRUE".equals(jsonObject.getStr("ManagementPrecision"))) {
// this.deleteById(balanceDO.getId());
// }
// if ("{\"ManagementPrecision\":\"BY_QUANTITY\"}".equals(managementtRule.getConfiguration())) {
// balanceDOList = balanceService.selectByNumber(itemcode, inventoryStatus, locationcode);
// } else if ("{\"ManagementPrecision\":\"BY_BATCH\"}".equals(managementtRule.getConfiguration())) {
// balanceDOList = balanceService.selectByBatch(itemcode, batch, inventoryStatus, locationcode);
// } else if ("{\"ManagementPrecision\":\"BY_PACKAGING\"}".equals(managementtRule.getConfiguration())) {
// balanceDOList = balanceService.selectByPackaging(itemcode, packingnumber, batch, inventoryStatus, locationcode);
// } else if ("{\"ManagementPrecision\":\"BY_UNIQUE_ID\"}".equals(managementtRule.getConfiguration())) {
// balanceDOList = balanceService.selectByUniqueId(packingnumber, locationcode, inventoryStatus);
// }
detailbDOList.add(productdismantleRecordDetailbDO);
//添加库存事务list
// 入动作

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productionlineitem/ProductionlineitemServiceImpl.java

@ -135,7 +135,7 @@ public class ProductionlineitemServiceImpl implements ProductionlineitemService
// 关闭数据权限,避免因为没有数据权限,查询不到数据,进而导致唯一校验不正确
DataPermissionUtils.executeIgnore(() -> {
validateProductionlineitemExists(id);
validateFgLocationCodeExists(fgLocationCode);
// validateFgLocationCodeExists(fgLocationCode);
validateProductionLineCodeExists(productionLineCode);
validateItemCodeExists(itemCode);
validateAvailableExists(available);

30
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/stdcostprice/StdcostpriceServiceImpl.java

@ -106,11 +106,11 @@ public class StdcostpriceServiceImpl implements StdcostpriceService {
} catch (ServiceException ex) {
message.append(ex.getMessage()).append(",");
}
try {
validateSuppercodeExists(stdcostprice.getSupplierCode());
} catch (ServiceException ex) {
message.append(ex.getMessage()).append(",");
}
// try {
// validateSuppercodeExists(stdcostprice.getSupplierCode());
// } catch (ServiceException ex) {
// message.append(ex.getMessage()).append(",");
// }
try {
validateCurrencyExists(stdcostprice.getCurrency());
} catch (ServiceException ex) {
@ -172,7 +172,7 @@ public class StdcostpriceServiceImpl implements StdcostpriceService {
validateStdcostpriceExists(id);
// 校验code唯一
validateCodeExists(id,itemcode,suppercode);
validateSuppercodeExists(suppercode);
// validateSuppercodeExists(suppercode);
validateCurrencyExists(currency);
validatePriceExists(price);
validateAvailableExists(available);
@ -194,9 +194,9 @@ public class StdcostpriceServiceImpl implements StdcostpriceService {
if (itemcode.isEmpty()) {
throw exception(STDCOSTPRICE_ITEN_CODE_NOT_EXISTS);
}
if (suppercode.isEmpty()) {
throw exception(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS);
}
// if (suppercode.isEmpty()) {
// throw exception(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS);
// }
if (StrUtil.isBlank(itemcode)) {
return;
}
@ -216,12 +216,12 @@ public class StdcostpriceServiceImpl implements StdcostpriceService {
}
}
@VisibleForTesting
private void validateSuppercodeExists(String suppercode) {
if (suppercode.isEmpty()) {
throw exception(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS);
}
}
// @VisibleForTesting
// private void validateSuppercodeExists(String suppercode) {
// if (suppercode.isEmpty()) {
// throw exception(STDCOSTPRICE_SUPPLIER_CODE_NOT_EXISTS);
// }
// }
@VisibleForTesting
private void validateCurrencyExists(String currency) {
if (currency.isEmpty()) {

Loading…
Cancel
Save