Browse Source

付款申请单结案反结案之后增加刷新明细发票锁定金额的逻辑

madan 3 years ago
parent
commit
ae39a09e67
1 changed files with 13 additions and 3 deletions
  1. 13 3
      src/com/uas/erp/service/fa/impl/PayPleaseServiceImpl.java

+ 13 - 3
src/com/uas/erp/service/fa/impl/PayPleaseServiceImpl.java

@@ -430,7 +430,7 @@ public class PayPleaseServiceImpl implements PayPleaseService {
 		handlerService.afterResAudit(caller, pp_id);
 		// 重新计算明细行发票的锁定金额
 		SqlRowList billcode = baseDao.queryForRowSet(
-				"select ppdd_billcode from paypleasedetaildet where ppdd_ppid=? and nvl(ppdd_billcode,' ')<>' '", pp_id);
+				"select distinct ppdd_billcode from paypleasedetaildet where ppdd_ppid=? and nvl(ppdd_billcode,' ')<>' '", pp_id);
 		while (billcode.next()) {
 			baseDao.procedure("SP_APLOCKAMOUNT2", new Object[] { billcode.getObject("pbd_ordercode") });
 		}
@@ -935,7 +935,7 @@ public class PayPleaseServiceImpl implements PayPleaseService {
 		handlerService.afterResSubmit(caller, pp_id);
 		// 重新计算明细行发票的锁定金额
 		SqlRowList billcode = baseDao.queryForRowSet(
-				"select ppdd_billcode from paypleasedetaildet where ppdd_ppid=? and nvl(ppdd_billcode,' ')<>' '", pp_id);
+				"select distinct ppdd_billcode from paypleasedetaildet where ppdd_ppid=? and nvl(ppdd_billcode,' ')<>' '", pp_id);
 		while (billcode.next()) {
 			baseDao.procedure("SP_APLOCKAMOUNT2", new Object[] { billcode.getObject("pbd_ordercode") });
 		}
@@ -998,7 +998,7 @@ public class PayPleaseServiceImpl implements PayPleaseService {
 		}
 		// 重新计算明细行发票的锁定金额
 		SqlRowList rs = baseDao.queryForRowSet(
-				"select ppdd_billcode from PayPleaseDetailDet where ppdd_ppid=? and nvl(ppdd_billcode,' ')<>' '", ppd_ppid);
+				"select distinct ppdd_billcode from PayPleaseDetailDet where ppdd_ppid=? and nvl(ppdd_billcode,' ')<>' '", ppd_ppid);
 		baseDao.deleteByCondition("PayPleaseDetailDet", "ppdd_ppid=" + ppd_ppid);
 		baseDao.deleteByCondition("PayPleaseDetailDetDet", "ppddd_ppid=" + ppd_ppid);
 		while (rs.next()) {
@@ -1258,6 +1258,11 @@ public class PayPleaseServiceImpl implements PayPleaseService {
 	public void endPayPlease(int pp_id, String caller) {
 		// 执行结案操作
 		baseDao.execute("update PayPlease set pp_status='已结案', pp_statuscode='FINISH' where pp_id=" + pp_id);
+		Object code = baseDao.getFieldDataByCondition("PayPlease", "pp_code", "pp_id='" + pp_id + "'");
+		String res = baseDao.callProcedure("SP_APLOCKAMOUNT", new Object[] { code });
+		if (!res.trim().equals("OK") && res != null) {
+			BaseUtil.showError(res);
+		}
 		// 记录操作
 		baseDao.logger.end(caller, "pp_id", pp_id);
 	}
@@ -1266,6 +1271,11 @@ public class PayPleaseServiceImpl implements PayPleaseService {
 	public void resEndPayPlease(int pp_id, String caller) {
 		// 执行反结案操作
 		baseDao.execute("update PayPlease set pp_status='已审核', pp_statuscode='AUDITED' where pp_id=" + pp_id);
+		Object code = baseDao.getFieldDataByCondition("PayPlease", "pp_code", "pp_id='" + pp_id + "'");
+		String res = baseDao.callProcedure("SP_APLOCKAMOUNT", new Object[] { code });
+		if (!res.trim().equals("OK") && res != null) {
+			BaseUtil.showError(res);
+		}
 		// 记录操作
 		baseDao.logger.resEnd(caller, "pp_id", pp_id);
 	}