给单据的保存和查询相关接口增加其它入库和其它出库的关联逻辑

This commit is contained in:
季圣华
2023-12-05 00:23:40 +08:00
parent 31411c0d6b
commit 040bc6701c
2 changed files with 17 additions and 6 deletions

View File

@@ -470,14 +470,18 @@ public class DepotHeadService {
depotItemMapperEx.batchDeleteDepotItemByDepotHeadIds(new Long[]{depotHead.getId()}); depotItemMapperEx.batchDeleteDepotItemByDepotHeadIds(new Long[]{depotHead.getId()});
//删除单据主表信息 //删除单据主表信息
batchDeleteDepotHeadByIds(depotHead.getId().toString()); batchDeleteDepotHeadByIds(depotHead.getId().toString());
//将关联的单据置为审核状态-针对采购入库、销售出库盘点复盘 //将关联的单据置为审核状态-针对采购入库、销售出库盘点复盘、其它入库、其它出库
if(StringUtil.isNotEmpty(depotHead.getLinkNumber())){ if(StringUtil.isNotEmpty(depotHead.getLinkNumber())){
if((BusinessConstants.DEPOTHEAD_TYPE_IN.equals(depotHead.getType()) && if((BusinessConstants.DEPOTHEAD_TYPE_IN.equals(depotHead.getType()) &&
BusinessConstants.SUB_TYPE_PURCHASE.equals(depotHead.getSubType())) BusinessConstants.SUB_TYPE_PURCHASE.equals(depotHead.getSubType()))
|| (BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType()) && || (BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType()) &&
BusinessConstants.SUB_TYPE_SALES.equals(depotHead.getSubType())) BusinessConstants.SUB_TYPE_SALES.equals(depotHead.getSubType()))
|| (BusinessConstants.DEPOTHEAD_TYPE_OTHER.equals(depotHead.getType()) && || (BusinessConstants.DEPOTHEAD_TYPE_OTHER.equals(depotHead.getType()) &&
BusinessConstants.SUB_TYPE_REPLAY.equals(depotHead.getSubType()))) { BusinessConstants.SUB_TYPE_REPLAY.equals(depotHead.getSubType()))
|| (BusinessConstants.DEPOTHEAD_TYPE_IN.equals(depotHead.getType()) &&
BusinessConstants.SUB_TYPE_OTHER.equals(depotHead.getSubType()))
|| (BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType()) &&
BusinessConstants.SUB_TYPE_OTHER.equals(depotHead.getSubType()))) {
String status = BusinessConstants.BILLS_STATUS_AUDIT; String status = BusinessConstants.BILLS_STATUS_AUDIT;
//查询除当前单据之外的关联单据列表 //查询除当前单据之外的关联单据列表
List<DepotHead> exceptCurrentList = getListByLinkNumberExceptCurrent(depotHead.getLinkNumber(), depotHead.getNumber(), depotHead.getType()); List<DepotHead> exceptCurrentList = getListByLinkNumberExceptCurrent(depotHead.getLinkNumber(), depotHead.getNumber(), depotHead.getType());
@@ -1500,10 +1504,8 @@ public class DepotHeadService {
materialParam, depotArray, offset, rows); materialParam, depotArray, offset, rows);
if (null != list) { if (null != list) {
List<Long> idList = new ArrayList<>(); List<Long> idList = new ArrayList<>();
List<String> numberList = new ArrayList<>();
for (DepotHeadVo4List dh : list) { for (DepotHeadVo4List dh : list) {
idList.add(dh.getId()); idList.add(dh.getId());
numberList.add(dh.getNumber());
} }
//通过批量查询去构造map //通过批量查询去构造map
Map<Long,String> materialsListMap = findMaterialsListMapByHeaderIdList(idList); Map<Long,String> materialsListMap = findMaterialsListMapByHeaderIdList(idList);

View File

@@ -641,10 +641,11 @@ public class DepotItemService {
//更新商品的价格 //更新商品的价格
updateMaterialExtendPrice(materialExtend.getId(), depotHead.getSubType(), rowObj); updateMaterialExtendPrice(materialExtend.getId(), depotHead.getSubType(), rowObj);
} }
//如果关联单据号非空则更新订单的状态,单据类型:采购入库单销售出库单盘点复盘单 //如果关联单据号非空则更新订单的状态,单据类型:采购入库单销售出库单盘点复盘单、其它入库单、其它出库单
if(BusinessConstants.SUB_TYPE_PURCHASE.equals(depotHead.getSubType()) if(BusinessConstants.SUB_TYPE_PURCHASE.equals(depotHead.getSubType())
|| BusinessConstants.SUB_TYPE_SALES.equals(depotHead.getSubType()) || BusinessConstants.SUB_TYPE_SALES.equals(depotHead.getSubType())
|| BusinessConstants.SUB_TYPE_REPLAY.equals(depotHead.getSubType())) { || BusinessConstants.SUB_TYPE_REPLAY.equals(depotHead.getSubType())
|| BusinessConstants.SUB_TYPE_OTHER.equals(depotHead.getSubType())) {
if(StringUtil.isNotEmpty(depotHead.getLinkNumber())) { if(StringUtil.isNotEmpty(depotHead.getLinkNumber())) {
//单据状态:是否全部完成 2-全部完成 3-部分完成(针对订单的分批出入库) //单据状态:是否全部完成 2-全部完成 3-部分完成(针对订单的分批出入库)
String billStatus = getBillStatusByParam(depotHead); String billStatus = getBillStatusByParam(depotHead);
@@ -1037,6 +1038,14 @@ public class DepotItemService {
if(BusinessConstants.SUB_TYPE_SALES_ORDER.equals(depotHead.getSubType())) { if(BusinessConstants.SUB_TYPE_SALES_ORDER.equals(depotHead.getSubType())) {
goToType = BusinessConstants.SUB_TYPE_PURCHASE_ORDER; goToType = BusinessConstants.SUB_TYPE_PURCHASE_ORDER;
} }
} else if("other".equals(linkType)) {
//采购入库、采购退货、销售出库、销售退货都转其它入库
if(BusinessConstants.SUB_TYPE_PURCHASE.equals(depotHead.getSubType())
|| BusinessConstants.SUB_TYPE_PURCHASE_RETURN.equals(depotHead.getSubType())
|| BusinessConstants.SUB_TYPE_SALES.equals(depotHead.getSubType())
|| BusinessConstants.SUB_TYPE_SALES_RETURN.equals(depotHead.getSubType())) {
goToType = BusinessConstants.SUB_TYPE_OTHER;
}
} else { } else {
//采购订单转采购入库 //采购订单转采购入库
if(BusinessConstants.SUB_TYPE_PURCHASE_ORDER.equals(depotHead.getSubType())) { if(BusinessConstants.SUB_TYPE_PURCHASE_ORDER.equals(depotHead.getSubType())) {