|
|
@ -288,30 +288,49 @@ public class SupplierinvoiceRequestMainServiceImpl implements SupplierinvoiceReq |
|
|
|
// 子表校验
|
|
|
|
List<SupplierinvoiceRequestDetailCreateReqVO> subList = createReqVO.getSubList(); |
|
|
|
|
|
|
|
//控制负数必须全选的开关打开
|
|
|
|
ConfigInfoVO supplierToBeInvoice = configApi.queryConfigInfoByKey("supplierToBeInvoice"); |
|
|
|
if(supplierToBeInvoice!=null&&"0".equals(supplierToBeInvoice.getValue())){//控制负数必须全选的开关打开
|
|
|
|
//202408271659 HL-5686点击发票申请保存会校验该供应商+订单类型下是否还有负数发票没有选中,有则提示“明细中包含负数发票,请优先选择负数发票”
|
|
|
|
String supplierCode = createReqVO.getSupplierCode(); |
|
|
|
String orderType = createReqVO.getOrderType(); |
|
|
|
SupplierinvoiceRequestDetailPageReqVO pageVO = new SupplierinvoiceRequestDetailPageReqVO(); |
|
|
|
pageVO.setSupplierCode(supplierCode); |
|
|
|
pageVO.setOrderType(orderType); |
|
|
|
pageVO.setIsNegative(true); |
|
|
|
pageVO.setPageNo(1); |
|
|
|
pageVO.setPageSize(Integer.MAX_VALUE); |
|
|
|
List<ReceiptOrReturnRespVO> receiptOrReturnRespVOList = supplierinvoiceRequestDetailService.getPoNumberPoLineInfo(pageVO).getList(); |
|
|
|
if(!receiptOrReturnRespVOList.isEmpty()) { |
|
|
|
Set<String> verify = new HashSet<>(); |
|
|
|
Set<String> subList1 = new HashSet<>(); |
|
|
|
for (ReceiptOrReturnRespVO li : receiptOrReturnRespVOList) { |
|
|
|
verify.add(li.getItemCode() + "#"+li.getRecvBillNum() + "#" + li.getPoLine() + "#" + li.getPoNumber()); |
|
|
|
if(supplierToBeInvoice!=null&&"0".equals(supplierToBeInvoice.getValue())){ |
|
|
|
ConfigInfoVO supplierToBelnvoiceInfo = configApi.queryConfigInfoByKey("supplierToBelnvoiceInfo"); |
|
|
|
String configSupplerCode = supplierToBelnvoiceInfo.getValue(); |
|
|
|
boolean flag = false; |
|
|
|
if("999999".equals(configSupplerCode)){ |
|
|
|
flag = true; |
|
|
|
}else { |
|
|
|
List<String> supplierCodeList = new ArrayList<>(); |
|
|
|
String[] configSupplierCodeArray = configSupplerCode.split(","); |
|
|
|
for(int i=0;i<configSupplierCodeArray.length;i++){ |
|
|
|
String tempSupplierCode = configSupplierCodeArray[i]; |
|
|
|
supplierCodeList.add(tempSupplierCode); |
|
|
|
} |
|
|
|
for (SupplierinvoiceRequestDetailCreateReqVO detail : subList) { |
|
|
|
subList1.add(detail.getItemCode() +"#"+detail.getRecvBillNum()+ "#" + detail.getPoLine() + "#" + detail.getPoNumber()); |
|
|
|
if(supplierCodeList.contains(createReqVO.getSupplierCode())){ |
|
|
|
flag = true; |
|
|
|
} |
|
|
|
boolean b = subList1.containsAll(verify); |
|
|
|
if(!b){ |
|
|
|
throw exception(INVOICED_EXIST); |
|
|
|
} |
|
|
|
if(flag){ |
|
|
|
//202408271659 HL-5686点击发票申请保存会校验该供应商+订单类型下是否还有负数发票没有选中,有则提示“明细中包含负数发票,请优先选择负数发票”
|
|
|
|
String supplierCode = createReqVO.getSupplierCode(); |
|
|
|
String orderType = createReqVO.getOrderType(); |
|
|
|
SupplierinvoiceRequestDetailPageReqVO pageVO = new SupplierinvoiceRequestDetailPageReqVO(); |
|
|
|
pageVO.setSupplierCode(supplierCode); |
|
|
|
pageVO.setOrderType(orderType); |
|
|
|
pageVO.setIsNegative(true); |
|
|
|
pageVO.setPageNo(1); |
|
|
|
pageVO.setPageSize(Integer.MAX_VALUE); |
|
|
|
List<ReceiptOrReturnRespVO> receiptOrReturnRespVOList = supplierinvoiceRequestDetailService.getPoNumberPoLineInfo(pageVO).getList(); |
|
|
|
if(!receiptOrReturnRespVOList.isEmpty()) { |
|
|
|
Set<String> verify = new HashSet<>(); |
|
|
|
Set<String> subList1 = new HashSet<>(); |
|
|
|
for (ReceiptOrReturnRespVO li : receiptOrReturnRespVOList) { |
|
|
|
verify.add(li.getItemCode() + "#"+li.getRecvBillNum() + "#" + li.getPoLine() + "#" + li.getPoNumber()); |
|
|
|
} |
|
|
|
for (SupplierinvoiceRequestDetailCreateReqVO detail : subList) { |
|
|
|
subList1.add(detail.getItemCode() +"#"+detail.getRecvBillNum()+ "#" + detail.getPoLine() + "#" + detail.getPoNumber()); |
|
|
|
} |
|
|
|
boolean b = subList1.containsAll(verify); |
|
|
|
if(!b){ |
|
|
|
throw exception(INVOICED_EXIST); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|