Bläddra i källkod

付款类单据提交反提交之后都要重新计算锁定金额

madan 3 år sedan
förälder
incheckning
5f288c62b2
1 ändrade filer med 13 tillägg och 0 borttagningar
  1. 13 0
      src/com/uas/erp/service/fa/impl/PayBalanceServiceImpl.java

+ 13 - 0
src/com/uas/erp/service/fa/impl/PayBalanceServiceImpl.java

@@ -494,6 +494,11 @@ public class PayBalanceServiceImpl implements PayBalanceService {
 		Object[] args = baseDao.getFieldsDataByCondition("PayBalance", "pb_auditstatuscode,pb_date", "pb_id=" + pb_id);
 		StateAssert.submitOnlyEntering(args[0]);
 		checkDate(args[1].toString().substring(0, 10));
+		SqlRowList billcode = baseDao.queryForRowSet("select distinct pbd_ordercode from paybalancedetail where pbd_pbid=? and nvl(pbd_ordercode,' ')<>' '",
+				pb_id);
+		while (billcode.next()) {
+			baseDao.procedure("SP_APLOCKAMOUNT2", new Object[] { billcode.getObject("pbd_ordercode") });
+		}
 		String pb_vendcode = baseDao.getJdbcTemplate().queryForObject(
 				"select wmsys.wm_concat(pb_vendcode) from PayBalance left join category on ca_code=pb_catecode "
 						+ "left join vendor on ve_code=pb_vendcode "
@@ -625,6 +630,9 @@ public class PayBalanceServiceImpl implements PayBalanceService {
 		baseDao.submit("PayBalance", "pb_id=" + pb_id, "pb_auditstatus", "pb_auditstatuscode");
 		// 记录操作
 		baseDao.logger.submit(caller, "pb_id", pb_id);
+		while (billcode.next()) {
+			baseDao.procedure("SP_APLOCKAMOUNT2", new Object[] { billcode.getObject("pbd_ordercode") });
+		}
 		// 执行提交后的其它逻辑
 		handlerService.afterSubmit(caller, pb_id);
 	}
@@ -641,6 +649,11 @@ public class PayBalanceServiceImpl implements PayBalanceService {
 				+ "'", "pb_id=" + pb_id);
 		// 记录操作
 		baseDao.logger.resSubmit(caller, "pb_id", pb_id);
+		SqlRowList billcode = baseDao.queryForRowSet("select distinct pbd_ordercode from paybalancedetail where pbd_pbid=? and nvl(pbd_ordercode,' ')<>' '",
+				pb_id);
+		while (billcode.next()) {
+			baseDao.procedure("SP_APLOCKAMOUNT2", new Object[] { billcode.getObject("pbd_ordercode") });
+		}
 		handlerService.afterResSubmit(caller, pb_id);
 	}