外协结算

liweidong
maxiangong 1 week ago
parent ecc864c184
commit 8c8650dc35
  1. 15
      blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java

@ -1495,9 +1495,11 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
for (Map.Entry<String, List<StatementVO>> listEntry : oemAndStatementMap.entrySet()) {
//外协厂商下全部需要结算的结算单
List<StatementVO> statementVOList = listEntry.getValue();
Date minPutStoreTime = statementVOList.stream().map(StatementVO::getPutStoreTime).min(Comparator.naturalOrder()).orElse(null);
Date maxPutStoreTime = statementVOList.stream().map(StatementVO::getPutStoreTime).max(Comparator.naturalOrder()).orElse(null);
//2.以外协名称查出的全部报价单
String oemName = listEntry.getKey();
List<PriceSheetVO> priceSheetAllList = getPriceSheetsWithCondition(oemName);
List<PriceSheetVO> priceSheetAllList = getPriceSheetsWithCondition(oemName, minPutStoreTime, maxPutStoreTime);
if (priceSheetAllList.isEmpty()) {
//【结算异常】
statementVOList.forEach(statementVO -> {
@ -1562,12 +1564,15 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
* @param oemName
* @return
*/
private List<PriceSheetVO> getPriceSheetsWithCondition(String oemName) {
private List<PriceSheetVO> getPriceSheetsWithCondition(String oemName, Date minPutStoreTime, Date maxPutStoreTime) {
PriceSheetQuery query = new PriceSheetQuery();
query.setOcName(oemName);
query.setValidflags(Arrays.asList("有效", "无效"));
query.setPapertype("外协定价");
query.setPricetype("工序协作");
if (maxPutStoreTime != null) {
query.setInDateStart(maxPutStoreTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
}
if (minPutStoreTime != null) {
query.setInDateEnd(minPutStoreTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDate());
}
R<Page<PriceSheetVO>> pageR = erpDataOemClient.priceSheetData(query, new Query() {{
setSize(99999);
}});

Loading…
Cancel
Save