|
@@ -426,30 +426,38 @@ public class PurchaseApCheckServiceImpl implements PurchaseApCheckService {
|
|
|
* @param sourceApCheckList 来源库信息
|
|
* @param sourceApCheckList 来源库信息
|
|
|
* @return 保存结果
|
|
* @return 保存结果
|
|
|
*/
|
|
*/
|
|
|
- public boolean updateSourceInfo(List<SourceForApcheck> sourceApCheckList) {
|
|
|
|
|
- if (!CollectionUtils.isEmpty(sourceApCheckList)) {
|
|
|
|
|
- String saleAcceptSql = setSql(sourceApCheckList, ApCheckTable.SALE_ACCEPT, ApCheckTable.SALE_ACCEPT_QTY, ApCheckTable.SALE_ACCEPT_ID);
|
|
|
|
|
- String saleReturnSql = setSql(sourceApCheckList, ApCheckTable.SALE_RETURN, ApCheckTable.SALE_RETURN_QTY, ApCheckTable.SALE_RETURN_ID);
|
|
|
|
|
- String saleBadInSql = setSql(sourceApCheckList, ApCheckTable.SALE_BADIN, ApCheckTable.SALE_BADIN_QTY, ApCheckTable.SALE_BADIN_ID);
|
|
|
|
|
- String saleBadOutSql = setSql(sourceApCheckList, ApCheckTable.SALE_BADOUT, ApCheckTable.SALE_BADOUT_QTY, ApCheckTable.SALE_BADOUT_ID);
|
|
|
|
|
- String makeAcceptSql = setSql(sourceApCheckList, ApCheckTable.MAKE_ACCEPT, ApCheckTable.MAKE_ACCEPT_QTY, ApCheckTable.MAKE_ACCEPT_ID);
|
|
|
|
|
- String makeReturnSql = setSql(sourceApCheckList, ApCheckTable.MAKE_RETURN, ApCheckTable.MAKE_RETURN_QTY, ApCheckTable.MAKE_RETURN_ID);
|
|
|
|
|
- String adjustmentSql = setSql(sourceApCheckList, ApCheckTable.ADJUSTMENT, ApCheckTable.ADJUSTMENT_QTY, ApCheckTable.ADJUSTMENT_ID);
|
|
|
|
|
- List<String> sqlList = Stream.of(saleAcceptSql, saleReturnSql, saleBadInSql, saleBadOutSql, makeAcceptSql, makeReturnSql, adjustmentSql)
|
|
|
|
|
- .filter(str -> !StringUtils.isEmpty(str)).collect(Collectors.toList());
|
|
|
|
|
- if (!CollectionUtils.isEmpty(sqlList)) {
|
|
|
|
|
- try {
|
|
|
|
|
- commonDao.getJdbcTemplate().batchUpdate(sqlList.toArray(new String[sqlList.size()]));
|
|
|
|
|
- } catch (RuntimeException e) {
|
|
|
|
|
- System.out.println("生成对账单批量更新来源数据失败: " + e.getMessage());
|
|
|
|
|
- throw new IllegalOperatorException("保存失败!");
|
|
|
|
|
- }
|
|
|
|
|
- return true;
|
|
|
|
|
|
|
+ public void updateSourceInfo(List<SourceForApcheck> sourceApCheckList) {
|
|
|
|
|
+ if (CollectionUtils.isEmpty(sourceApCheckList)) {
|
|
|
|
|
+ throw new IllegalOperatorException("保存失败!");
|
|
|
|
|
+ }
|
|
|
|
|
+ String saleAcceptSql = setSql(sourceApCheckList, ApCheckTable.SALE_ACCEPT, ApCheckTable.SALE_ACCEPT_QTY, ApCheckTable.SALE_ACCEPT_ID);
|
|
|
|
|
+ String saleReturnSql = setSql(sourceApCheckList, ApCheckTable.SALE_RETURN, ApCheckTable.SALE_RETURN_QTY, ApCheckTable.SALE_RETURN_ID);
|
|
|
|
|
+ String saleBadInSql = setSql(sourceApCheckList, ApCheckTable.SALE_BADIN, ApCheckTable.SALE_BADIN_QTY, ApCheckTable.SALE_BADIN_ID);
|
|
|
|
|
+ String saleBadOutSql = setSql(sourceApCheckList, ApCheckTable.SALE_BADOUT, ApCheckTable.SALE_BADOUT_QTY, ApCheckTable.SALE_BADOUT_ID);
|
|
|
|
|
+ String makeAcceptSql = setSql(sourceApCheckList, ApCheckTable.MAKE_ACCEPT, ApCheckTable.MAKE_ACCEPT_QTY, ApCheckTable.MAKE_ACCEPT_ID);
|
|
|
|
|
+ String makeReturnSql = setSql(sourceApCheckList, ApCheckTable.MAKE_RETURN, ApCheckTable.MAKE_RETURN_QTY, ApCheckTable.MAKE_RETURN_ID);
|
|
|
|
|
+ String adjustmentSql = setSql(sourceApCheckList, ApCheckTable.ADJUSTMENT, ApCheckTable.ADJUSTMENT_QTY, ApCheckTable.ADJUSTMENT_ID);
|
|
|
|
|
+ List<String> sqlList = Stream.of(saleAcceptSql, saleReturnSql, saleBadInSql, saleBadOutSql, makeAcceptSql, makeReturnSql, adjustmentSql)
|
|
|
|
|
+ .filter(str -> !StringUtils.isEmpty(str)).collect(Collectors.toList());
|
|
|
|
|
+ if (!CollectionUtils.isEmpty(sqlList)) {
|
|
|
|
|
+ try {
|
|
|
|
|
+ commonDao.getJdbcTemplate().batchUpdate(sqlList.toArray(new String[sqlList.size()]));
|
|
|
|
|
+ } catch (RuntimeException e) {
|
|
|
|
|
+ System.out.println("生成对账单批量更新来源数据失败: " + e.getMessage());
|
|
|
|
|
+ throw new IllegalOperatorException("保存失败!");
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- throw new IllegalOperatorException("保存失败!");
|
|
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 根据传入的来源表, 数据统计,id字段已经对账数量字段生成更新的sql语句
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param sourceApCheckList 数据统计
|
|
|
|
|
+ * @param tableName 来源表名称
|
|
|
|
|
+ * @param qtyColumn 对账数量走的
|
|
|
|
|
+ * @param idColumn id字段
|
|
|
|
|
+ * @return 更新语句
|
|
|
|
|
+ */
|
|
|
private String setSql(List<SourceForApcheck> sourceApCheckList, String tableName, String qtyColumn, String idColumn) {
|
|
private String setSql(List<SourceForApcheck> sourceApCheckList, String tableName, String qtyColumn, String idColumn) {
|
|
|
List<SourceForApcheck> filterList = sourceApCheckList.stream()
|
|
List<SourceForApcheck> filterList = sourceApCheckList.stream()
|
|
|
.filter(source -> source.hasInfo() && tableName.equals(source.getSourcetable()))
|
|
.filter(source -> source.hasInfo() && tableName.equals(source.getSourcetable()))
|
|
@@ -468,6 +476,7 @@ public class PurchaseApCheckServiceImpl implements PurchaseApCheckService {
|
|
|
}
|
|
}
|
|
|
idString.append(apCheck.getSourceid());
|
|
idString.append(apCheck.getSourceid());
|
|
|
});
|
|
});
|
|
|
|
|
+ // 如果id为空,前面又筛选出数据,说明数据源存在问题,不能保存对账,抛出异常提示
|
|
|
if (idString.length() == 0) {
|
|
if (idString.length() == 0) {
|
|
|
throw new IllegalOperatorException("更新失败");
|
|
throw new IllegalOperatorException("更新失败");
|
|
|
}
|
|
}
|