|
@@ -93,7 +93,6 @@ public class performancetargetboard extends Controller {
|
|
|
long year= content.getLong("year");
|
|
long year= content.getLong("year");
|
|
|
long month= content.getLong("month");
|
|
long month= content.getLong("month");
|
|
|
String monthstr = String.format("%02d", month);
|
|
String monthstr = String.format("%02d", month);
|
|
|
- String previousmonthstr = String.format("%02d", month-1);
|
|
|
|
|
JSONObject jsonObject =new JSONObject();
|
|
JSONObject jsonObject =new JSONObject();
|
|
|
|
|
|
|
|
BigDecimal gcproportion =BigDecimal.ZERO;
|
|
BigDecimal gcproportion =BigDecimal.ZERO;
|
|
@@ -116,12 +115,10 @@ public class performancetargetboard extends Controller {
|
|
|
personnelsqlFactory.addParameter("siteid", siteid);
|
|
personnelsqlFactory.addParameter("siteid", siteid);
|
|
|
Rows salestargetrows = dbConnect.runSqlQuery(personnelsqlFactory.getSQL());
|
|
Rows salestargetrows = dbConnect.runSqlQuery(personnelsqlFactory.getSQL());
|
|
|
BigDecimal rw_month=BigDecimal.ZERO;
|
|
BigDecimal rw_month=BigDecimal.ZERO;
|
|
|
- BigDecimal rw_previousmonth=BigDecimal.ZERO;
|
|
|
|
|
if(salestargetrows.isNotEmpty()){
|
|
if(salestargetrows.isNotEmpty()){
|
|
|
//月度任务(万)
|
|
//月度任务(万)
|
|
|
jsonObject.put("rw_month",salestargetrows.get(0).getBigDecimal("m"+month+"l"));
|
|
jsonObject.put("rw_month",salestargetrows.get(0).getBigDecimal("m"+month+"l"));
|
|
|
rw_month=salestargetrows.get(0).getBigDecimal("m"+month+"l");
|
|
rw_month=salestargetrows.get(0).getBigDecimal("m"+month+"l");
|
|
|
- rw_previousmonth=salestargetrows.get(0).getBigDecimal("m"+(month-1)+"l");
|
|
|
|
|
}else{
|
|
}else{
|
|
|
jsonObject.put("rw_month",BigDecimal.ZERO);
|
|
jsonObject.put("rw_month",BigDecimal.ZERO);
|
|
|
}
|
|
}
|
|
@@ -149,9 +146,6 @@ public class performancetargetboard extends Controller {
|
|
|
BigDecimal huodong=paymentRowsMap.containsKey("活动预存账户")?paymentRowsMap.get("活动预存账户").toRowsMap("month").containsKey(monthstr)?paymentRowsMap.get("活动预存账户").toRowsMap("month").get(monthstr).get(0).getBigDecimal("amount"):BigDecimal.ZERO:BigDecimal.ZERO;
|
|
BigDecimal huodong=paymentRowsMap.containsKey("活动预存账户")?paymentRowsMap.get("活动预存账户").toRowsMap("month").containsKey(monthstr)?paymentRowsMap.get("活动预存账户").toRowsMap("month").get(monthstr).get(0).getBigDecimal("amount"):BigDecimal.ZERO:BigDecimal.ZERO;
|
|
|
BigDecimal fanli=rebateRowsMap.containsKey(monthstr)?rebateRowsMap.get(monthstr).get(0).getBigDecimal("amount"):BigDecimal.ZERO;
|
|
BigDecimal fanli=rebateRowsMap.containsKey(monthstr)?rebateRowsMap.get(monthstr).get(0).getBigDecimal("amount"):BigDecimal.ZERO;
|
|
|
|
|
|
|
|
- BigDecimal previousxainjin=paymentRowsMap.containsKey("现金账户")?paymentRowsMap.get("现金账户").toRowsMap("month").containsKey(previousmonthstr)?paymentRowsMap.get("现金账户").toRowsMap("month").get(previousmonthstr).get(0).getBigDecimal("amount"):BigDecimal.ZERO:BigDecimal.ZERO;
|
|
|
|
|
- BigDecimal previoushuodong=paymentRowsMap.containsKey("活动预存账户")?paymentRowsMap.get("活动预存账户").toRowsMap("month").containsKey(previousmonthstr)?paymentRowsMap.get("活动预存账户").toRowsMap("month").get(previousmonthstr).get(0).getBigDecimal("amount"):BigDecimal.ZERO:BigDecimal.ZERO;
|
|
|
|
|
- BigDecimal previousfanli=rebateRowsMap.containsKey(previousmonthstr)?rebateRowsMap.get(previousmonthstr).get(0).getBigDecimal("amount"):BigDecimal.ZERO;
|
|
|
|
|
//回款完成额
|
|
//回款完成额
|
|
|
jsonObject.put("completedamount",xainjin.add(huodong).add(fanli));
|
|
jsonObject.put("completedamount",xainjin.add(huodong).add(fanli));
|
|
|
|
|
|
|
@@ -159,13 +153,14 @@ public class performancetargetboard extends Controller {
|
|
|
BigDecimal completedamountexceed100=BigDecimal.ZERO;
|
|
BigDecimal completedamountexceed100=BigDecimal.ZERO;
|
|
|
for(int i=1;i<=month;i++){
|
|
for(int i=1;i<=month;i++){
|
|
|
previousexceed=completedamountexceed100;
|
|
previousexceed=completedamountexceed100;
|
|
|
|
|
+
|
|
|
BigDecimal looprw_month=salestargetrows.isNotEmpty()?salestargetrows.get(0).getBigDecimal("m"+i+"l"):BigDecimal.ZERO;
|
|
BigDecimal looprw_month=salestargetrows.isNotEmpty()?salestargetrows.get(0).getBigDecimal("m"+i+"l"):BigDecimal.ZERO;
|
|
|
- BigDecimal loopxainjin=paymentRowsMap.containsKey("现金账户")?paymentRowsMap.get("现金账户").toRowsMap("month").containsKey(String.valueOf(i))?paymentRowsMap.get("现金账户").toRowsMap("month").get(String.valueOf(i)).get(0).getBigDecimal("amount"):BigDecimal.ZERO:BigDecimal.ZERO;
|
|
|
|
|
- BigDecimal loophuodong=paymentRowsMap.containsKey("活动预存账户")?paymentRowsMap.get("活动预存账户").toRowsMap("month").containsKey(String.valueOf(i))?paymentRowsMap.get("活动预存账户").toRowsMap("month").get(String.valueOf(i)).get(0).getBigDecimal("amount"):BigDecimal.ZERO:BigDecimal.ZERO;
|
|
|
|
|
- BigDecimal loopfanli=rebateRowsMap.containsKey(String.valueOf(i))?rebateRowsMap.get(String.valueOf(i)).get(0).getBigDecimal("amount"):BigDecimal.ZERO;
|
|
|
|
|
|
|
+ BigDecimal loopxainjin=paymentRowsMap.containsKey("现金账户")?paymentRowsMap.get("现金账户").toRowsMap("month").containsKey(String.format("%02d", i))?paymentRowsMap.get("现金账户").toRowsMap("month").get(String.format("%02d", i)).get(0).getBigDecimal("amount"):BigDecimal.ZERO:BigDecimal.ZERO;
|
|
|
|
|
+ BigDecimal loophuodong=paymentRowsMap.containsKey("活动预存账户")?paymentRowsMap.get("活动预存账户").toRowsMap("month").containsKey(String.format("%02d", i))?paymentRowsMap.get("活动预存账户").toRowsMap("month").get(String.format("%02d", i)).get(0).getBigDecimal("amount"):BigDecimal.ZERO:BigDecimal.ZERO;
|
|
|
|
|
+ BigDecimal loopfanli=rebateRowsMap.containsKey(String.format("%02d", i))?rebateRowsMap.get(String.format("%02d", i)).get(0).getBigDecimal("amount"):BigDecimal.ZERO;
|
|
|
|
|
|
|
|
- BigDecimal loopgcgc=paymentRowsMap.containsKey("GC工程现金账户")?paymentRowsMap.get("GC工程现金账户").toRowsMap("month").containsKey(String.valueOf(i))?paymentRowsMap.get("GC工程现金账户").toRowsMap("month").get(String.valueOf(i)).get(0).getBigDecimal("amount"):BigDecimal.ZERO:BigDecimal.ZERO;
|
|
|
|
|
- BigDecimal loopzzgc=paymentRowsMap.containsKey("整装工程现金账户")?paymentRowsMap.get("整装工程现金账户").toRowsMap("month").containsKey(String.valueOf(i))?paymentRowsMap.get("整装工程现金账户").toRowsMap("month").get(String.valueOf(i)).get(0).getBigDecimal("amount"):BigDecimal.ZERO:BigDecimal.ZERO;
|
|
|
|
|
|
|
+ BigDecimal loopgcgc=paymentRowsMap.containsKey("GC工程现金账户")?paymentRowsMap.get("GC工程现金账户").toRowsMap("month").containsKey(String.format("%02d", i))?paymentRowsMap.get("GC工程现金账户").toRowsMap("month").get(String.format("%02d", i)).get(0).getBigDecimal("amount"):BigDecimal.ZERO:BigDecimal.ZERO;
|
|
|
|
|
+ BigDecimal loopzzgc=paymentRowsMap.containsKey("整装工程现金账户")?paymentRowsMap.get("整装工程现金账户").toRowsMap("month").containsKey(String.format("%02d", i))?paymentRowsMap.get("整装工程现金账户").toRowsMap("month").get(String.format("%02d", i)).get(0).getBigDecimal("amount"):BigDecimal.ZERO:BigDecimal.ZERO;
|
|
|
|
|
|
|
|
completedamountexceed100=loopxainjin.add(loophuodong).add(loopfanli).add(previousexceed)
|
|
completedamountexceed100=loopxainjin.add(loophuodong).add(loopfanli).add(previousexceed)
|
|
|
.add(loopgcgc.max(looprw_month.multiply(gcproportion).multiply(BigDecimal.valueOf(10000))))
|
|
.add(loopgcgc.max(looprw_month.multiply(gcproportion).multiply(BigDecimal.valueOf(10000))))
|
|
@@ -176,7 +171,7 @@ public class performancetargetboard extends Controller {
|
|
|
|
|
|
|
|
|
|
|
|
|
//上月完成额超出部分
|
|
//上月完成额超出部分
|
|
|
- jsonObject.put("previousexceed",previousexceed);
|
|
|
|
|
|
|
+ jsonObject.put("previousexceed",previousexceed.compareTo(BigDecimal.ZERO)>0?previousexceed:0);
|
|
|
|
|
|
|
|
BigDecimal gcgc=paymentRowsMap.containsKey("GC工程现金账户")?paymentRowsMap.get("GC工程现金账户").toRowsMap("month").containsKey(monthstr)?paymentRowsMap.get("GC工程现金账户").toRowsMap("month").get(monthstr).get(0).getBigDecimal("amount"):BigDecimal.ZERO:BigDecimal.ZERO;
|
|
BigDecimal gcgc=paymentRowsMap.containsKey("GC工程现金账户")?paymentRowsMap.get("GC工程现金账户").toRowsMap("month").containsKey(monthstr)?paymentRowsMap.get("GC工程现金账户").toRowsMap("month").get(monthstr).get(0).getBigDecimal("amount"):BigDecimal.ZERO:BigDecimal.ZERO;
|
|
|
//GC工程完成额
|
|
//GC工程完成额
|
|
@@ -191,7 +186,7 @@ public class performancetargetboard extends Controller {
|
|
|
jsonObject.put("zzcompletedamountexceed",zzgc.subtract(rw_month.multiply(zzproportion).multiply(BigDecimal.valueOf(10000))).compareTo(BigDecimal.ZERO)>0?zzgc.subtract(rw_month.multiply(zzproportion).multiply(BigDecimal.valueOf(10000))):0);
|
|
jsonObject.put("zzcompletedamountexceed",zzgc.subtract(rw_month.multiply(zzproportion).multiply(BigDecimal.valueOf(10000))).compareTo(BigDecimal.ZERO)>0?zzgc.subtract(rw_month.multiply(zzproportion).multiply(BigDecimal.valueOf(10000))):0);
|
|
|
|
|
|
|
|
//完成额超出100%部分
|
|
//完成额超出100%部分
|
|
|
- jsonObject.put("completedamountexceed100",completedamountexceed100);
|
|
|
|
|
|
|
+ jsonObject.put("completedamountexceed100",completedamountexceed100.compareTo(BigDecimal.ZERO)>0?completedamountexceed100:0);
|
|
|
//实际完成额
|
|
//实际完成额
|
|
|
jsonObject.put("actualcompletedamount",jsonObject.getBigDecimal("completedamount").add(jsonObject.getBigDecimal("gccompletedamount")).add(jsonObject.getBigDecimal("zzcompletedamount")));
|
|
jsonObject.put("actualcompletedamount",jsonObject.getBigDecimal("completedamount").add(jsonObject.getBigDecimal("gccompletedamount")).add(jsonObject.getBigDecimal("zzcompletedamount")));
|
|
|
//实际完成百分比
|
|
//实际完成百分比
|
|
@@ -213,15 +208,7 @@ public class performancetargetboard extends Controller {
|
|
|
int selectmonth= content.getIntValue("month");
|
|
int selectmonth= content.getIntValue("month");
|
|
|
JSONObject jsonObject =new JSONObject();
|
|
JSONObject jsonObject =new JSONObject();
|
|
|
|
|
|
|
|
- BigDecimal gcproportion =BigDecimal.ZERO;
|
|
|
|
|
- BigDecimal zzproportion =BigDecimal.ZERO;
|
|
|
|
|
-
|
|
|
|
|
Rows salestargetbillrows =dbConnect.runSqlQuery("select * from sa_salestargetbill where siteid='"+siteid+"' and year="+year+" and targettype='人员目标'");
|
|
Rows salestargetbillrows =dbConnect.runSqlQuery("select * from sa_salestargetbill where siteid='"+siteid+"' and year="+year+" and targettype='人员目标'");
|
|
|
- Rows rows = dbConnect.runSqlQuery("select * from sys_site_parameter where siteid='" + siteid + "'");
|
|
|
|
|
- if(rows.isNotEmpty()){
|
|
|
|
|
- gcproportion=rows.get(0).getBigDecimal("gcproportion").divide(BigDecimal.valueOf(100));
|
|
|
|
|
- zzproportion=rows.get(0).getBigDecimal("zzproportion").divide(BigDecimal.valueOf(100));
|
|
|
|
|
- }
|
|
|
|
|
long sa_salestargetbillid=0;
|
|
long sa_salestargetbillid=0;
|
|
|
if(salestargetbillrows.isNotEmpty()){
|
|
if(salestargetbillrows.isNotEmpty()){
|
|
|
sa_salestargetbillid=salestargetbillrows.get(0).getLong("sa_salestargetbillid");
|
|
sa_salestargetbillid=salestargetbillrows.get(0).getLong("sa_salestargetbillid");
|
|
@@ -322,7 +309,7 @@ public class performancetargetboard extends Controller {
|
|
|
//回款完成额
|
|
//回款完成额
|
|
|
jsonObject.put("completedamount",completedamount);
|
|
jsonObject.put("completedamount",completedamount);
|
|
|
//上季完成额超出部分
|
|
//上季完成额超出部分
|
|
|
- jsonObject.put("previousexceed",previousexceed);
|
|
|
|
|
|
|
+ jsonObject.put("previousexceed",previousexceed.compareTo(BigDecimal.ZERO)>0?previousexceed:0);
|
|
|
//GC工程完成额
|
|
//GC工程完成额
|
|
|
jsonObject.put("gccompletedamount",gcgccompletedamount);
|
|
jsonObject.put("gccompletedamount",gcgccompletedamount);
|
|
|
//整装工程完成额
|
|
//整装工程完成额
|
|
@@ -369,7 +356,6 @@ public class performancetargetboard extends Controller {
|
|
|
personnelsqlFactory.addParameter("siteid", siteid);
|
|
personnelsqlFactory.addParameter("siteid", siteid);
|
|
|
Rows salestargetrows = dbConnect.runSqlQuery(personnelsqlFactory.getSQL());
|
|
Rows salestargetrows = dbConnect.runSqlQuery(personnelsqlFactory.getSQL());
|
|
|
BigDecimal rw_all=BigDecimal.ZERO;
|
|
BigDecimal rw_all=BigDecimal.ZERO;
|
|
|
- BigDecimal rw_year=BigDecimal.ZERO;
|
|
|
|
|
BigDecimal completedamount=BigDecimal.ZERO;
|
|
BigDecimal completedamount=BigDecimal.ZERO;
|
|
|
BigDecimal gcgccompletedamount=BigDecimal.ZERO;
|
|
BigDecimal gcgccompletedamount=BigDecimal.ZERO;
|
|
|
BigDecimal zzgccompletedamount=BigDecimal.ZERO;
|
|
BigDecimal zzgccompletedamount=BigDecimal.ZERO;
|
|
@@ -377,7 +363,6 @@ public class performancetargetboard extends Controller {
|
|
|
for(Object month : months){
|
|
for(Object month : months){
|
|
|
rw_all=rw_all.add(salestargetrows.get(0).getBigDecimal("m"+ (Integer)month+"l"));
|
|
rw_all=rw_all.add(salestargetrows.get(0).getBigDecimal("m"+ (Integer)month+"l"));
|
|
|
}
|
|
}
|
|
|
- rw_year=salestargetrows.get(0).getBigDecimal("y1l");
|
|
|
|
|
}
|
|
}
|
|
|
ArrayList<Long> list = new ArrayList<>();
|
|
ArrayList<Long> list = new ArrayList<>();
|
|
|
list.add(sa_saleareaid);
|
|
list.add(sa_saleareaid);
|
|
@@ -425,7 +410,8 @@ public class performancetargetboard extends Controller {
|
|
|
jsonObject.put("actualcompletedpercentage",jsonObject.getBigDecimal("actualcompletedamount").divide((rw_all.multiply(BigDecimal.valueOf(10000))),4, RoundingMode.HALF_UP));
|
|
jsonObject.put("actualcompletedpercentage",jsonObject.getBigDecimal("actualcompletedamount").divide((rw_all.multiply(BigDecimal.valueOf(10000))),4, RoundingMode.HALF_UP));
|
|
|
}
|
|
}
|
|
|
//和年度任务的差额
|
|
//和年度任务的差额
|
|
|
- jsonObject.put("differenceamount",rw_all.multiply(BigDecimal.valueOf(7000)).subtract(jsonObject.getBigDecimal("actualcompletedamount")));
|
|
|
|
|
|
|
+ BigDecimal differenceamount=rw_all.multiply(BigDecimal.valueOf(7000)).subtract(jsonObject.getBigDecimal("actualcompletedamount"));
|
|
|
|
|
+ jsonObject.put("differenceamount",differenceamount.compareTo(BigDecimal.ZERO)>0?differenceamount:0);
|
|
|
|
|
|
|
|
return getSucReturnObject().setData(jsonObject).toString();
|
|
return getSucReturnObject().setData(jsonObject).toString();
|
|
|
|
|
|