Browse Source

缺陷:FWHL-376

hella_online_20250508
赵雪冰 2 months ago
parent
commit
14683e8132
  1. 24
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierinvoiceRequest/SupplierinvoiceRequestDetailServiceImpl.java
  2. 61
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierinvoiceRequest/SupplierinvoiceRequestMainServiceImpl.java

24
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierinvoiceRequest/SupplierinvoiceRequestDetailServiceImpl.java

@ -412,9 +412,27 @@ public class SupplierinvoiceRequestDetailServiceImpl implements SupplierinvoiceR
ConfigInfoVO supplierToBeInvoice = configApi.queryConfigInfoByKey("supplierToBeInvoice");
if(supplierToBeInvoice!=null&&"0".equals(supplierToBeInvoice.getValue())) {//控制负数必须全选的开关打开
//202408271816 HL-5686发票申请创建后点击明细,可开票为负数的不允许删除
if (detailDO.getInvoicableQuantity().compareTo(BigDecimal.ZERO) < 0) {
throw exception(INVOICED_NEGATIVE_EXIST);
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);
}
if(supplierCodeList.contains(detailDO.getSupplierCode())){
flag = true;
}
}
if(flag){
//202408271816 HL-5686发票申请创建后点击明细,可开票为负数的不允许删除
if (detailDO.getInvoicableQuantity().compareTo(BigDecimal.ZERO) < 0) {
throw exception(INVOICED_NEGATIVE_EXIST);
}
}
}
supplierinvoiceInvoicedService.abrogateHandle(List.of(detailDO));//更新代开票实际数量

61
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/supplierinvoiceRequest/SupplierinvoiceRequestMainServiceImpl.java

@ -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);
}
}
}
}

Loading…
Cancel
Save