预验收删除与撤回,清空库存

busUser
anthonyywj2 3 years ago
parent 0531281f4b
commit 0f494b087a

@ -120,7 +120,8 @@ public class StockOrderDetailController {
if (CollUtil.isNotEmpty(codeList)) { if (CollUtil.isNotEmpty(codeList)) {
for (WarehouseEntity codeDetaiEntity : codeList) { for (WarehouseEntity codeDetaiEntity : codeList) {
if (StrUtil.trimToEmpty(codeDetaiEntity.getRelId()).equals(StrUtil.trimToEmpty(stockOrderDetailEntity.getRelId())) if (StrUtil.trimToEmpty(codeDetaiEntity.getRelId()).equals(StrUtil.trimToEmpty(stockOrderDetailEntity.getRelId()))
&& StrUtil.trimToEmpty(codeDetaiEntity.getBatchNo()).equals(StrUtil.trimToEmpty(stockOrderDetailEntity.getBatchNo())) &&
(StrUtil.isEmpty(codeDetaiEntity.getBatchNo()) || StrUtil.trimToEmpty(codeDetaiEntity.getBatchNo()).equals(StrUtil.trimToEmpty(stockOrderDetailEntity.getBatchNo())))
) { ) {
StockOrderDetailEntity item = new StockOrderDetailEntity(); StockOrderDetailEntity item = new StockOrderDetailEntity();
BeanUtils.copyProperties(stockOrderDetailEntity, item); BeanUtils.copyProperties(stockOrderDetailEntity, item);

@ -526,59 +526,63 @@ public class OrderServiceImpl implements OrderService {
//删除单据相关数据,更新库存 //删除单据相关数据,更新库存
try { try {
if (isPreInOrder(orderEntity)) { if (isPreInOrder(orderEntity)) {
//查询预验收库详情
FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest();
filterInvProductDetailRequest.setOrderIdFk(id);
List<InvProductDetailEntity> invProductDetailEntities = invPreInProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest);
Map<String, List<InvProductDetailEntity>> invPreInProductDetailMap = invProductDetailEntities.stream().collect(Collectors.groupingBy(InvProductDetailEntity::getProductIdFk));
List<InvProductEntity> invPreInProductList = new ArrayList<>(invPreInProductDetailMap.keySet().size());
for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) {
FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest();
filterInvProductRequest.setRelIdFk(invProductDetailEntity.getProductIdFk());
filterInvProductRequest.setSupId(invProductDetailEntity.getSupId());
filterInvProductRequest.setInvStorageCode(invProductDetailEntity.getInvStorageCode());
filterInvProductRequest.setInvWarehouseCode(invProductDetailEntity.getInvWarehouseCode());
if (StrUtil.isBlank(invProductDetailEntity.getBatchNo())) {
filterInvProductRequest.setBatchNo("empty");
} else {
filterInvProductRequest.setBatchNo(invProductDetailEntity.getBatchNo());
}
List<InvProductEntity> invPerInProductEntities = invPreInProductDao.filterInvProduct(filterInvProductRequest);
InvProductEntity invProductEntity = invPerInProductEntities.get(0);
if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) {
//入库,扣减入库数量
int count = invProductEntity.getInCount() - invProductDetailEntity.getCount();
invProductEntity.setInCount(count);
} else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) {
//出库,扣减出库数量
int count = invProductEntity.getOutCount() - invProductDetailEntity.getCount();
invProductEntity.setOutCount(count);
}
invPreInProductList.add(invProductEntity);
}
//删除库存详情 invPreInProductDetailDao.deleteByOrderId(orderEntity.getId());
invPreInProductDetailDao.deleteByOrderId(id); invPreInProductDao.deleteByOrderIdFk(orderEntity.getId());
//删除码详情
codesDao.deleteByOrderId(id); // //查询预验收库详情
//更新库存 // FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest();
for (InvProductEntity invProductEntity : invPreInProductList) { // filterInvProductDetailRequest.setOrderIdFk(id);
//查询库存码详情,如果库存码详情为空,则删除此库存 // List<InvProductDetailEntity> invProductDetailEntities = invPreInProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest);
FilterInvProductDetailRequest detailParams = new FilterInvProductDetailRequest(); // Map<String, List<InvProductDetailEntity>> invPreInProductDetailMap = invProductDetailEntities.stream().collect(Collectors.groupingBy(InvProductDetailEntity::getProductIdFk));
detailParams.setBatchNo(invProductEntity.getBatchNo()); //
detailParams.setInvCodes(Collections.singletonList(invProductEntity.getInvStorageCode())); // List<InvProductEntity> invPreInProductList = new ArrayList<>(invPreInProductDetailMap.keySet().size());
detailParams.setProductIdFk(invProductEntity.getRelIdFk()); //
int count = invPreInProductDetailDao.statCount(detailParams); // for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) {
if (count == 0) { // FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest();
//如果库存码详情为空,则删除此库存 // filterInvProductRequest.setRelIdFk(invProductDetailEntity.getProductIdFk());
invPreInProductDao.deleteById(String.valueOf(invProductEntity.getId())); // filterInvProductRequest.setSupId(invProductDetailEntity.getSupId());
} else { // filterInvProductRequest.setInvStorageCode(invProductDetailEntity.getInvStorageCode());
invPreInProductDao.updateInvProduct(invProductEntity); // filterInvProductRequest.setInvWarehouseCode(invProductDetailEntity.getInvWarehouseCode());
} // if (StrUtil.isBlank(invProductDetailEntity.getBatchNo())) {
} // filterInvProductRequest.setBatchNo("empty");
// } else {
// filterInvProductRequest.setBatchNo(invProductDetailEntity.getBatchNo());
// }
// List<InvProductEntity> invPerInProductEntities = invPreInProductDao.filterInvProduct(filterInvProductRequest);
// InvProductEntity invProductEntity = invPerInProductEntities.get(0);
// if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) {
// //入库,扣减入库数量
// int count = invProductEntity.getInCount() - invProductDetailEntity.getCount();
// invProductEntity.setInCount(count);
// } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) {
// //出库,扣减出库数量
// int count = invProductEntity.getOutCount() - invProductDetailEntity.getCount();
// invProductEntity.setOutCount(count);
// }
//
// invPreInProductList.add(invProductEntity);
// }
//
// //删除库存详情
// invPreInProductDetailDao.deleteByOrderId(id);
// //删除码详情
// codesDao.deleteByOrderId(id);
// //更新库存
// for (InvProductEntity invProductEntity : invPreInProductList) {
// //查询库存码详情,如果库存码详情为空,则删除此库存
// FilterInvProductDetailRequest detailParams = new FilterInvProductDetailRequest();
// detailParams.setBatchNo(invProductEntity.getBatchNo());
// detailParams.setInvCodes(Collections.singletonList(invProductEntity.getInvStorageCode()));
// detailParams.setProductIdFk(invProductEntity.getRelIdFk());
// int count = invPreInProductDetailDao.statCount(detailParams);
// if (count == 0) {
// //如果库存码详情为空,则删除此库存
// invPreInProductDao.deleteById(String.valueOf(invProductEntity.getId()));
// } else {
// invPreInProductDao.updateInvProduct(invProductEntity);
// }
// }
} else { } else {
//查询库存详情 //查询库存详情
FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest();

@ -175,11 +175,11 @@ public class StockOrderServiceImpl implements StockOrderService {
} }
@Override @Override
public boolean rollbackOrder(String billNo,Integer contrastStatus) { public boolean rollbackOrder(String billNo, Integer contrastStatus) {
//查询业务单据 //查询业务单据
StockOrderEntity stockOrderEntity = stockOrderDao.selectByBillNo(billNo); StockOrderEntity stockOrderEntity = stockOrderDao.selectByBillNo(billNo);
//查询扫码单据 //查询扫码单据
OrderEntity orderEntity = orderDao.selectByBillNoAndStatus(billNo,contrastStatus); OrderEntity orderEntity = orderDao.selectByBillNoAndStatus(billNo, contrastStatus);
BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction());
if (stockOrderEntity.getStatus().equals(ConstantStatus.SORDER_CHECKED)) { if (stockOrderEntity.getStatus().equals(ConstantStatus.SORDER_CHECKED)) {
//回退未验收单据 //回退未验收单据
@ -222,48 +222,53 @@ public class StockOrderServiceImpl implements StockOrderService {
*/ */
if (isPreInOrder(orderEntity)) { if (isPreInOrder(orderEntity)) {
//查询预验收库库存详情
FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest();
filterInvProductDetailRequest.setOrderIdFk(orderEntity.getId());
List<InvProductDetailEntity> invProductDetailEntities = invPreInProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest);
List<InvProductEntity> invPreInProductList = new ArrayList<>();
for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) {
FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest();
filterInvProductRequest.setRelIdFk(invProductDetailEntity.getProductIdFk());
filterInvProductRequest.setSupId(invProductDetailEntity.getSupId());
filterInvProductRequest.setInvWarehouseCode(invProductDetailEntity.getInvWarehouseCode());
filterInvProductRequest.setInvStorageCode(invProductDetailEntity.getInvStorageCode());
if (StrUtil.isBlank(invProductDetailEntity.getBatchNo())) {
filterInvProductRequest.setBatchNo("empty");
} else {
filterInvProductRequest.setBatchNo(invProductDetailEntity.getBatchNo());
}
List<InvProductEntity> invProductEntities = invPreInProductDao.filterInvProduct(filterInvProductRequest);
if (CollUtil.isNotEmpty(invProductEntities) && invProductEntities.size() > 0) {
InvProductEntity invProductEntity = invProductEntities.get(0);
calculateInvCount(invProductEntity, invProductDetailEntity);
invPreInProductList.add(invProductEntity);
} else {
return false;
}
}
//删除库存详情
invPreInProductDetailDao.deleteByOrderId(orderEntity.getId()); invPreInProductDetailDao.deleteByOrderId(orderEntity.getId());
//更新库存 invPreInProductDao.deleteByOrderIdFk(orderEntity.getId());
for (InvProductEntity invProductEntity : invPreInProductList) {
//查询库存码详情,如果库存码详情为空,则删除此库存
FilterInvProductDetailRequest detailParams = new FilterInvProductDetailRequest(); //查询预验收库库存详情
detailParams.setBatchNo(invProductEntity.getBatchNo()); // FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest();
detailParams.setInvCodes(Collections.singletonList(invProductEntity.getInvStorageCode())); // filterInvProductDetailRequest.setOrderIdFk(orderEntity.getId());
detailParams.setProductIdFk(invProductEntity.getRelIdFk()); // List<InvProductDetailEntity> invProductDetailEntities = invPreInProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest);
int count = invPreInProductDetailDao.statCount(detailParams); // List<InvProductEntity> invPreInProductList = new ArrayList<>();
if (count == 0) { // for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) {
//如果库存码详情为空,则删除此库存 // FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest();
invPreInProductDao.deleteById(String.valueOf(invProductEntity.getId())); // filterInvProductRequest.setRelIdFk(invProductDetailEntity.getProductIdFk());
} else { // filterInvProductRequest.setSupId(invProductDetailEntity.getSupId());
invPreInProductDao.updateInvProduct(invProductEntity); // filterInvProductRequest.setInvWarehouseCode(invProductDetailEntity.getInvWarehouseCode());
} // filterInvProductRequest.setInvStorageCode(invProductDetailEntity.getInvStorageCode());
} // if (StrUtil.isBlank(invProductDetailEntity.getBatchNo())) {
// filterInvProductRequest.setBatchNo("empty");
// } else {
// filterInvProductRequest.setBatchNo(invProductDetailEntity.getBatchNo());
// }
// List<InvProductEntity> invProductEntities = invPreInProductDao.filterInvProduct(filterInvProductRequest);
// if (CollUtil.isNotEmpty(invProductEntities) && invProductEntities.size() > 0) {
// InvProductEntity invProductEntity = invProductEntities.get(0);
// calculateInvCount(invProductEntity, invProductDetailEntity);
// invPreInProductList.add(invProductEntity);
// } else {
// return false;
// }
// }
// //删除库存详情
// invPreInProductDetailDao.deleteByOrderId(orderEntity.getId());
// //更新库存
// for (InvProductEntity invProductEntity : invPreInProductList) {
// //查询库存码详情,如果库存码详情为空,则删除此库存
// FilterInvProductDetailRequest detailParams = new FilterInvProductDetailRequest();
// detailParams.setBatchNo(invProductEntity.getBatchNo());
// detailParams.setInvCodes(Collections.singletonList(invProductEntity.getInvStorageCode()));
// detailParams.setProductIdFk(invProductEntity.getRelIdFk());
// int count = invPreInProductDetailDao.statCount(detailParams);
// if (count == 0) {
// //如果库存码详情为空,则删除此库存
// invPreInProductDao.deleteById(String.valueOf(invProductEntity.getId()));
// } else {
// invPreInProductDao.updateInvProduct(invProductEntity);
// }
// }
} else { } else {
//非预验收单据库存,正常扣减库存 //非预验收单据库存,正常扣减库存
FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest();

@ -1,7 +1,7 @@
# \u751F\u4EA7\u73AF\u5883 # \u751F\u4EA7\u73AF\u5883
server.port=9906 server.port=9906
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.jdbc-url=jdbc:mysql://127.0.0.1:3306/spms_za?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true spring.datasource.jdbc-url=jdbc:mysql://192.168.0.55:3306/spms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=root spring.datasource.username=root
spring.datasource.password=123456 spring.datasource.password=123456
spring.datasource.hikari.connection-timeout=60000 spring.datasource.hikari.connection-timeout=60000

Loading…
Cancel
Save