|
|
@@ -231,6 +231,7 @@ public class cashbill extends Controller {
|
|
|
sqlFactoryupload.addParameter("ownerid", 0);
|
|
|
sqlFactoryupload.addParameter("source", "");
|
|
|
sqlFactoryupload.addParameter("sourcenote", "");
|
|
|
+ sqlFactoryupload.addParameter("discountamount", 0);
|
|
|
if (StringUtils.isBlank(row.getString("period"))) {
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
sqlFactoryupload.addParameter("period", sdf.format(new Date()));
|
|
|
@@ -320,6 +321,7 @@ public class cashbill extends Controller {
|
|
|
}
|
|
|
}
|
|
|
BigDecimal amount = content.getBigDecimal("amount");
|
|
|
+ BigDecimal discountamount = content.getBigDecimal("discountamount");
|
|
|
String remarks = content.getString("remarks");
|
|
|
ArrayList<String> sqlList = new ArrayList<>();
|
|
|
if (sa_cashbillid <= 0 || dbConnect
|
|
|
@@ -347,6 +349,8 @@ public class cashbill extends Controller {
|
|
|
sqlFactory.addParameter("source", "");
|
|
|
sqlFactory.addParameter("sourcenote", "");
|
|
|
sqlFactory.addParameter("period", period);
|
|
|
+ sqlFactory.addParameter("discountamount", discountamount);
|
|
|
+
|
|
|
content.put("sa_cashbillid", sa_cashbillid);
|
|
|
sqlList.add(sqlFactory.getSQL());
|
|
|
if (type == 1) {
|
|
|
@@ -376,6 +380,7 @@ public class cashbill extends Controller {
|
|
|
sqlFactory.addParameter("source", "");
|
|
|
sqlFactory.addParameter("sourcenote", "");
|
|
|
sqlFactory.addParameter("period", period);
|
|
|
+ sqlFactory.addParameter("discountamount", discountamount);
|
|
|
sqlList.add(sqlFactory.getSQL());
|
|
|
sqlList.add(DataContrlLog.createLog(this, "sa_cashbill", sa_cashbillid, "更新", "收支凭证更新成功").getSQL());
|
|
|
}
|
|
|
@@ -724,7 +729,7 @@ public class cashbill extends Controller {
|
|
|
//SQLFactory sqlFactoryquery = new SQLFactory(this, "信用额度调整单状态查询");
|
|
|
//sqlFactoryquery.addParameter("siteid", siteid);
|
|
|
//sqlFactoryquery.addParameter_in("sa_creditbillids", stringArray);
|
|
|
- Rows rows = dbConnect.runSqlQuery("select t1.sa_cashbillid,t1.sys_enterpriseid,t1.sa_accountclassid,t1.status,t1.billno,t1.amount,t1.type,t1.ownerid,t2.accountname,t1.remarks from sa_cashbill t1 left join sa_accountclass t2 on t1.sa_accountclassid=t2.sa_accountclassid and t1.siteid=t2.siteid where t1.sa_cashbillid ='" + sa_cashbillid + "' and t1.siteid='" + siteid + "'");
|
|
|
+ Rows rows = dbConnect.runSqlQuery("select t1.sa_cashbillid,t1.sys_enterpriseid,t1.sa_accountclassid,t1.status,t1.billno,t1.amount,ifnull(t1.discountamount,0) discountamount,t1.type,t1.ownerid,t2.accountname,t1.remarks from sa_cashbill t1 left join sa_accountclass t2 on t1.sa_accountclassid=t2.sa_accountclassid and t1.siteid=t2.siteid where t1.sa_cashbillid ='" + sa_cashbillid + "' and t1.siteid='" + siteid + "'");
|
|
|
for (Row row : rows) {
|
|
|
if (row.getString("status").equals("审核")) {
|
|
|
return getErrReturnObject().setErrMsg("单号为:【" + row.getString("billno") + "】的收支凭证已审核,无法再次审核")
|
|
|
@@ -738,11 +743,12 @@ public class cashbill extends Controller {
|
|
|
|
|
|
ArrayList<String> sqlList = new ArrayList<>();
|
|
|
BigDecimal balance = BigDecimal.ZERO; //当前账户余额
|
|
|
+ BigDecimal discountamount = BigDecimal.ZERO; //当前账户余额
|
|
|
if (!rows.isEmpty()) {
|
|
|
long sys_enterpriseid = rows.get(0).getLong("sys_enterpriseid");
|
|
|
long sa_accountclassid = rows.get(0).getLong("sa_accountclassid");
|
|
|
long type = rows.get(0).getLong("type");
|
|
|
- Rows rowsaccountbalance = dbConnect.runSqlQuery("select sa_accountbalanceid,balance,creditquota from sa_accountbalance where sys_enterpriseid ='" + sys_enterpriseid + "' and sa_accountclassid='" + sa_accountclassid + "' and siteid='" + siteid + "'");
|
|
|
+ Rows rowsaccountbalance = dbConnect.runSqlQuery("select sa_accountbalanceid,balance,creditquota,ifnull(discountamount,0) discountamount from sa_accountbalance where sys_enterpriseid ='" + sys_enterpriseid + "' and sa_accountclassid='" + sa_accountclassid + "' and siteid='" + siteid + "'");
|
|
|
if (type == 1) {
|
|
|
Rows offsettingRows = dbConnect.runSqlQuery("select amount from sa_cashbill where siteid='" + siteid + "' and ownertable='sa_cashbill' and ownerid=" + rows.get(0).getLong("ownerid"));
|
|
|
if (offsettingRows.isNotEmpty()) {
|
|
|
@@ -756,17 +762,19 @@ public class cashbill extends Controller {
|
|
|
sqlFactory.addParameter("sa_accountclassid", sa_accountclassid);
|
|
|
sqlFactory.addParameter("siteid", siteid);
|
|
|
sqlFactory.addParameter("balance", rows.get(0).getBigDecimal("amount"));
|
|
|
+ sqlFactory.addParameter("discountamount", rows.get(0).getBigDecimal("discountamount"));
|
|
|
sqlFactory.addParameter("userid", userid);
|
|
|
sqlFactory.addParameter("username", username);
|
|
|
sqlList.add(sqlFactory.getSQL());
|
|
|
} else {
|
|
|
- BigDecimal canuseamount = rowsaccountbalance.get(0).getBigDecimal("creditquota").add(rowsaccountbalance.get(0).getBigDecimal("balance"));
|
|
|
+ BigDecimal canuseamount = rowsaccountbalance.get(0).getBigDecimal("creditquota").add(rowsaccountbalance.get(0).getBigDecimal("balance")).add(rowsaccountbalance.get(0).getBigDecimal("discountamount"));
|
|
|
if ((rows.get(0).getBigDecimal("amount").add(canuseamount)).compareTo(BigDecimal.ZERO) == -1 && rows.get(0).getBigDecimal("amount").compareTo(BigDecimal.ZERO)<=0) {
|
|
|
return getErrReturnObject().setErrMsg("该营销账户可用余额不足,收入凭证无法审核")
|
|
|
.toString();
|
|
|
}
|
|
|
balance = rows.get(0).getBigDecimal("amount").add(rowsaccountbalance.get(0).getBigDecimal("balance"));
|
|
|
- sqlList.add("update sa_accountbalance set balance='" + rows.get(0).getBigDecimal("amount").add(rowsaccountbalance.get(0).getBigDecimal("balance")) + "',changedate=CURRENT_TIME,changeby ='" + username + "',changeuserid='" + userid + "' where sys_enterpriseid ='" + sys_enterpriseid + "' and sa_accountclassid='" + sa_accountclassid + "' and siteid='" + siteid + "'");
|
|
|
+ discountamount = rows.get(0).getBigDecimal("discountamount").add(rowsaccountbalance.get(0).getBigDecimal("discountamount"));
|
|
|
+ sqlList.add("update sa_accountbalance set balance='" + rows.get(0).getBigDecimal("amount").add(rowsaccountbalance.get(0).getBigDecimal("balance")) + "',discountamount="+discountamount+",changedate=CURRENT_TIME,changeby ='" + username + "',changeuserid='" + userid + "' where sys_enterpriseid ='" + sys_enterpriseid + "' and sa_accountclassid='" + sa_accountclassid + "' and siteid='" + siteid + "'");
|
|
|
}
|
|
|
|
|
|
sqlList.add(DataContrlLog.createLog(this, "sa_cashbill", sa_cashbillid, "审核", "收入凭证审核成功").getSQL());
|
|
|
@@ -784,14 +792,15 @@ public class cashbill extends Controller {
|
|
|
return getErrReturnObject().setErrMsg("该营销账户不存在,支出凭证无法审核")
|
|
|
.toString();
|
|
|
} else {
|
|
|
- BigDecimal canuseamount = rowsaccountbalance.get(0).getBigDecimal("creditquota").add(rowsaccountbalance.get(0).getBigDecimal("balance"));
|
|
|
+ BigDecimal canuseamount = rowsaccountbalance.get(0).getBigDecimal("creditquota").add(rowsaccountbalance.get(0).getBigDecimal("amount")).add(rowsaccountbalance.get(0).getBigDecimal("discountamount"));
|
|
|
if (rows.get(0).getBigDecimal("amount").compareTo(canuseamount) == 1 ) {
|
|
|
return getErrReturnObject().setErrMsg("该营销账户可用余额不足,支出凭证无法审核")
|
|
|
.toString();
|
|
|
}
|
|
|
BigDecimal newbalance = rowsaccountbalance.get(0).getBigDecimal("balance").subtract(rows.get(0).getBigDecimal("amount"));
|
|
|
balance = newbalance;
|
|
|
- sqlList.add("update sa_accountbalance set balance='" + newbalance + "',changedate=CURRENT_TIME,changeby ='" + username + "',changeuserid='" + userid + "' where sys_enterpriseid ='" + sys_enterpriseid + "' and sa_accountclassid='" + sa_accountclassid + "' and siteid='" + siteid + "'");
|
|
|
+ discountamount = rowsaccountbalance.get(0).getBigDecimal("discountamount").subtract(rows.get(0).getBigDecimal("discountamount"));
|
|
|
+ sqlList.add("update sa_accountbalance set balance='" + newbalance + "',discountamount="+discountamount+",changedate=CURRENT_TIME,changeby ='" + username + "',changeuserid='" + userid + "' where sys_enterpriseid ='" + sys_enterpriseid + "' and sa_accountclassid='" + sa_accountclassid + "' and siteid='" + siteid + "'");
|
|
|
}
|
|
|
|
|
|
sqlList.add(DataContrlLog.createLog(this, "sa_cashbill", sa_cashbillid, "审核", "支出凭证审核成功").getSQL());
|
|
|
@@ -834,7 +843,7 @@ public class cashbill extends Controller {
|
|
|
//SQLFactory sqlFactoryquery = new SQLFactory(this, "信用额度调整单状态查询");
|
|
|
//sqlFactoryquery.addParameter("siteid", siteid);
|
|
|
//sqlFactoryquery.addParameter_in("sa_creditbillids", stringArray);
|
|
|
- Rows rows = dbConnect.runSqlQuery("select checkdate,sa_cashbillid,sys_enterpriseid,sa_accountclassid,status,billno,amount,type,ownerid from sa_cashbill where sa_cashbillid ='" + sa_cashbillid + "' and siteid='" + siteid + "'");
|
|
|
+ Rows rows = dbConnect.runSqlQuery("select checkdate,sa_cashbillid,sys_enterpriseid,sa_accountclassid,status,billno,amount,type,ownerid,ifnull(discountamount,0) discountamount from sa_cashbill where sa_cashbillid ='" + sa_cashbillid + "' and siteid='" + siteid + "'");
|
|
|
Date date = new Date();
|
|
|
for (Row row : rows) {
|
|
|
if (!row.getString("status").equals("审核")) {
|
|
|
@@ -853,11 +862,12 @@ public class cashbill extends Controller {
|
|
|
|
|
|
ArrayList<String> sqlList = new ArrayList<>();
|
|
|
BigDecimal balance = BigDecimal.ZERO; //当前账户余额
|
|
|
+ BigDecimal discountamount = BigDecimal.ZERO; //当前账户余额
|
|
|
if (!rows.isEmpty()) {
|
|
|
long sys_enterpriseid = rows.get(0).getLong("sys_enterpriseid");
|
|
|
long sa_accountclassid = rows.get(0).getLong("sa_accountclassid");
|
|
|
long type = rows.get(0).getLong("type");
|
|
|
- Rows rowsaccountbalance = dbConnect.runSqlQuery("select sa_accountbalanceid,balance,creditquota from sa_accountbalance where sys_enterpriseid ='" + sys_enterpriseid + "' and sa_accountclassid='" + sa_accountclassid + "' and siteid='" + siteid + "'");
|
|
|
+ Rows rowsaccountbalance = dbConnect.runSqlQuery("select sa_accountbalanceid,balance,creditquota,ifnull(discountamount,0) discountamount from sa_accountbalance where sys_enterpriseid ='" + sys_enterpriseid + "' and sa_accountclassid='" + sa_accountclassid + "' and siteid='" + siteid + "'");
|
|
|
//System.out.println("select sa_accountbalanceid,balance,creditquota from sa_accountbalance where sys_enterpriseid ='" + sys_enterpriseid + "' and sa_accountclassid='" + sa_accountclassid + "' and siteid='" + siteid + "'");
|
|
|
if (type == 1) {
|
|
|
Rows offsettingRows = dbConnect.runSqlQuery("select amount from sa_cashbill where siteid='" + siteid + "' and ownertable='sa_cashbill' and ownerid=" + rows.get(0).getLong("ownerid"));
|
|
|
@@ -868,14 +878,15 @@ public class cashbill extends Controller {
|
|
|
return getErrReturnObject().setErrMsg("该营销账户不存在,收入凭证无法反审核")
|
|
|
.toString();
|
|
|
} else {
|
|
|
- BigDecimal canuseamount = rowsaccountbalance.get(0).getBigDecimal("creditquota").add(rowsaccountbalance.get(0).getBigDecimal("balance"));
|
|
|
+ BigDecimal canuseamount = rowsaccountbalance.get(0).getBigDecimal("creditquota").add(rowsaccountbalance.get(0).getBigDecimal("balance")).add(rowsaccountbalance.get(0).getBigDecimal("discountamount"));
|
|
|
if (rows.get(0).getBigDecimal("amount").compareTo(canuseamount) == 1) {
|
|
|
return getErrReturnObject().setErrMsg("该营销账户可用余额不足,收入凭证无法反审核")
|
|
|
.toString();
|
|
|
}
|
|
|
BigDecimal newbalance = rowsaccountbalance.get(0).getBigDecimal("balance").subtract(rows.get(0).getBigDecimal("amount"));
|
|
|
balance = newbalance;
|
|
|
- sqlList.add("update sa_accountbalance set balance='" + newbalance + "',changedate=CURRENT_TIME,changeby ='" + username + "',changeuserid='" + userid + "' where sys_enterpriseid ='" + sys_enterpriseid + "' and sa_accountclassid='" + sa_accountclassid + "' and siteid='" + siteid + "'");
|
|
|
+ discountamount= rowsaccountbalance.get(0).getBigDecimal("discountamount").subtract(rows.get(0).getBigDecimal("discountamount"));
|
|
|
+ sqlList.add("update sa_accountbalance set balance='" + newbalance + "',discountamount="+discountamount+",changedate=CURRENT_TIME,changeby ='" + username + "',changeuserid='" + userid + "' where sys_enterpriseid ='" + sys_enterpriseid + "' and sa_accountclassid='" + sa_accountclassid + "' and siteid='" + siteid + "'");
|
|
|
}
|
|
|
|
|
|
sqlList.add(DataContrlLog.createLog(this, "sa_cashbill", sa_cashbillid, "反审核", "收入凭证反审核成功").getSQL());
|