|
@@ -13,6 +13,7 @@ import restcontroller.webmanage.saletool.orderclue.ExportExcel;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Calendar;
|
|
|
|
|
|
@API(title = "管理端-销售目标-人员目标统计")
|
|
|
public class personnelstatistics extends Controller {
|
|
@@ -90,8 +91,358 @@ public class personnelstatistics extends Controller {
|
|
|
}
|
|
|
return sheet;
|
|
|
}
|
|
|
+// @API(title = "获取区域经理的营销区域", apiversion = R.ID20231018093803.v1.class)
|
|
|
+// public String getcurrentusersalearea() throws YosException {
|
|
|
+//
|
|
|
+// SQLFactory sqlFactory = new SQLFactory(this, "业务员列表查询");
|
|
|
+// sqlFactory.addParameter("siteid", siteid);
|
|
|
+// sqlFactory.addParameter("hrid", hrid);
|
|
|
+// Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
|
|
|
+//
|
|
|
+// SQLFactory areasqlFactory = new SQLFactory(this, "下级区域获取");
|
|
|
+// areasqlFactory.addParameter("siteid", siteid);
|
|
|
+// areasqlFactory.addParameter_in("sa_saleareaid", rows.toArrayList("sa_saleareaid",new ArrayList<>()));
|
|
|
+// Rows arearows = dbConnect.runSqlQuery(areasqlFactory.getSQL());
|
|
|
+// return getSucReturnObject().setData(arearows).toString();
|
|
|
+// }
|
|
|
+
|
|
|
+ @API(title = "人员目标统计(区域经理)", apiversion = R.ID20231018103203.v1.class)
|
|
|
+ @CACHEING
|
|
|
+ public String queryList_areamanager() throws YosException {
|
|
|
+ //年份
|
|
|
+ Calendar cal = Calendar.getInstance();
|
|
|
+ int year = cal.get(Calendar.YEAR);
|
|
|
+
|
|
|
+ Rows billRows = dbConnect.runSqlQuery("SELECT sa_salestargetbillid,assessmentindicators FROM sa_salestargetbill WHERE year="+year+" AND siteid ='" + siteid + "'");
|
|
|
+
|
|
|
+ SQLFactory hrsqlFactory = new SQLFactory(this, "业务员列表查询");
|
|
|
+ hrsqlFactory.addParameter("siteid", siteid);
|
|
|
+ hrsqlFactory.addParameter("hrid", hrid);
|
|
|
+ Rows hrrows = dbConnect.runSqlQuery(hrsqlFactory.getSQL());
|
|
|
+ long sa_saleareaid=0;
|
|
|
+ if(hrrows.isNotEmpty()){
|
|
|
+ sa_saleareaid=hrrows.get(0).getLong("sa_saleareaid");
|
|
|
+ }
|
|
|
+ //考核指标类型
|
|
|
+ long sa_salestargetbillid = 0;
|
|
|
+ String assessmentindicators="";
|
|
|
+ if (billRows.isNotEmpty()) {
|
|
|
+ sa_salestargetbillid=billRows.get(0).getLong("sa_salestargetbillid");
|
|
|
+ assessmentindicators=billRows.get(0).getString("assessmentindicators");
|
|
|
+ }
|
|
|
+
|
|
|
+ /*
|
|
|
+ 过滤条件设置
|
|
|
+ */
|
|
|
+ StringBuffer where = new StringBuffer(" 1=1 ");
|
|
|
+
|
|
|
+ SQLFactory sqlFactory = new SQLFactory(this, "人员-目标详情列表");
|
|
|
+ sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
|
|
|
+ sqlFactory.addParameter_SQL("where", where);
|
|
|
+ sqlFactory.addParameter("siteid", siteid);
|
|
|
+ String sql = sqlFactory.getSQL();
|
|
|
+ Rows rows = dbConnect.runSqlQuery(sql);
|
|
|
+
|
|
|
+ Rows saleareas = dbConnect.runSqlQuery("select * from sa_salearea where parentid=0");
|
|
|
+ Long sa_saleareaidtop=0l;
|
|
|
+ if(!saleareas.isEmpty()){
|
|
|
+ sa_saleareaidtop=saleareas.get(0).getLong("sa_saleareaid");
|
|
|
+ }
|
|
|
+
|
|
|
+ for (Row row :rows) {
|
|
|
+ if(row.getLong("parentid")==0){
|
|
|
+ row.put("y1l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("y1l"));
|
|
|
+ row.put("y1h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("y1h"));
|
|
|
+ row.put("s1l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s1l"));
|
|
|
+ row.put("s1h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s1h"));
|
|
|
+ row.put("s2l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s2l"));
|
|
|
+ row.put("s2h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s2h"));
|
|
|
+ row.put("s3l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s3l"));
|
|
|
+ row.put("s3h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s3h"));
|
|
|
+ row.put("s4l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s4l"));
|
|
|
+ row.put("s4h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s4h"));
|
|
|
+ row.put("m1l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m1l"));
|
|
|
+ row.put("m1h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m1h"));
|
|
|
+ row.put("m2l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m2l"));
|
|
|
+ row.put("m2h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m2h"));
|
|
|
+ row.put("m3l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m3l"));
|
|
|
+ row.put("m3h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m3h"));
|
|
|
+ row.put("m4l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m4l"));
|
|
|
+ row.put("m4h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m4h"));
|
|
|
+ row.put("m5l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m5l"));
|
|
|
+ row.put("m5h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m5h"));
|
|
|
+ row.put("m6l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m6l"));
|
|
|
+ row.put("m6h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m6h"));
|
|
|
+ row.put("m7l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m7l"));
|
|
|
+ row.put("m7h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m7h"));
|
|
|
+ row.put("m8l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m8l"));
|
|
|
+ row.put("m8h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m8h"));
|
|
|
+ row.put("m9l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m9l"));
|
|
|
+ row.put("m9h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m9h"));
|
|
|
+ row.put("m10l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m10l"));
|
|
|
+ row.put("m10h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m10h"));
|
|
|
+ row.put("m11l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m11l"));
|
|
|
+ row.put("m11h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m11h"));
|
|
|
+ row.put("m12l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m12l"));
|
|
|
+ row.put("m12h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m12h"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ Rows actualRows = new Rows();
|
|
|
+ //开票
|
|
|
+ if (assessmentindicators .equals("开票")) {
|
|
|
+ sqlFactory = new SQLFactory(this, "人员目标统计-开票");
|
|
|
+ sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
|
|
|
+ sqlFactory.addParameter_SQL("where", where);
|
|
|
+ sqlFactory.addParameter("siteid", siteid);
|
|
|
+ sqlFactory.addParameter("year", year);
|
|
|
+ actualRows = dbConnect.runSqlQuery(sqlFactory);
|
|
|
+
|
|
|
+ }
|
|
|
+ //订单
|
|
|
+ if (assessmentindicators .equals("订单")) {
|
|
|
+ sqlFactory = new SQLFactory(this, "人员目标统计-订单");
|
|
|
+ sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
|
|
|
+ sqlFactory.addParameter_SQL("where", where);
|
|
|
+ sqlFactory.addParameter("siteid", siteid);
|
|
|
+ sqlFactory.addParameter("year", year);
|
|
|
+ actualRows = dbConnect.runSqlQuery(sqlFactory);
|
|
|
+ }
|
|
|
+ //出货
|
|
|
+ if (assessmentindicators .equals("出货")) {
|
|
|
+ sqlFactory = new SQLFactory(this, "人员目标统计-出货");
|
|
|
+ sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
|
|
|
+ sqlFactory.addParameter_SQL("where", where);
|
|
|
+ sqlFactory.addParameter("siteid", siteid);
|
|
|
+ sqlFactory.addParameter("year", year);
|
|
|
+ actualRows = dbConnect.runSqlQuery(sqlFactory);
|
|
|
+ }
|
|
|
+ //收款
|
|
|
+ if (assessmentindicators .equals("收款")) {
|
|
|
+ sqlFactory = new SQLFactory(this, "人员目标统计-收款");
|
|
|
+ sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
|
|
|
+ sqlFactory.addParameter_SQL("where", where);
|
|
|
+ sqlFactory.addParameter("siteid", siteid);
|
|
|
+ sqlFactory.addParameter("year", year);
|
|
|
+ actualRows = dbConnect.runSqlQuery(sqlFactory);
|
|
|
+ }
|
|
|
+
|
|
|
+ for (Row row :actualRows) {
|
|
|
+ if(row.getLong("parentid")==0){
|
|
|
+ row.put("y1a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("y1a"));
|
|
|
+ row.put("s1a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s1a"));
|
|
|
+ row.put("s2a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s2a"));
|
|
|
+ row.put("s3a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s3a"));
|
|
|
+ row.put("s4a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s4a"));
|
|
|
+ row.put("m1a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m1a"));
|
|
|
+ row.put("m2a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m2a"));
|
|
|
+ row.put("m3a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m3a"));
|
|
|
+ row.put("m4a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m4a"));
|
|
|
+ row.put("m5a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m5a"));
|
|
|
+ row.put("m6a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m6a"));
|
|
|
+ row.put("m7a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m7a"));
|
|
|
+ row.put("m8a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m8a"));
|
|
|
+ row.put("m9a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m9a"));
|
|
|
+ row.put("m10a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m10a"));
|
|
|
+ row.put("m11a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m11a"));
|
|
|
+ row.put("m12a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m12a"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Rows rowsResult =new Rows();
|
|
|
+ for (Row row : rows) {
|
|
|
+ if(row.getLong("sa_saleareaid")==sa_saleareaid){
|
|
|
+ rowsResult.add(row);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ for (Row row : rowsResult) {
|
|
|
+ //初始化
|
|
|
+ row = addActualRow(row);
|
|
|
+
|
|
|
+ Long sa_saleareaid1 = row.getLong("sa_saleareaid");
|
|
|
+ Row actualRow = new Row();
|
|
|
+ for (Row tempActualRow : actualRows) {
|
|
|
+ if (tempActualRow.getLong("sa_saleareaid") == sa_saleareaid1) {
|
|
|
+ actualRow.putAll(tempActualRow);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ row.putAll(actualRow);
|
|
|
+ row.putAll(calculate(row, actualRow));
|
|
|
+ }
|
|
|
+
|
|
|
+ return getSucReturnObject().setData(rowsResult).toString();
|
|
|
+ }
|
|
|
+
|
|
|
+ @API(title = "人员目标统计列表(区域经理)", apiversion = R.ID20231018103303.v1.class)
|
|
|
+ @CACHEING
|
|
|
+ public String queryList_areamanagerList() throws YosException {
|
|
|
+ //年份
|
|
|
+ Calendar cal = Calendar.getInstance();
|
|
|
+ int year = cal.get(Calendar.YEAR);
|
|
|
+
|
|
|
+ Rows billRows = dbConnect.runSqlQuery("SELECT sa_salestargetbillid,assessmentindicators FROM sa_salestargetbill WHERE year="+year+" AND siteid ='" + siteid + "'");
|
|
|
+
|
|
|
+ SQLFactory hrsqlFactory = new SQLFactory(this, "业务员列表查询");
|
|
|
+ hrsqlFactory.addParameter("siteid", siteid);
|
|
|
+ hrsqlFactory.addParameter("hrid", hrid);
|
|
|
+ Rows hrrows = dbConnect.runSqlQuery(hrsqlFactory.getSQL());
|
|
|
+
|
|
|
+ SQLFactory areasqlFactory = new SQLFactory(this, "下级区域获取");
|
|
|
+ areasqlFactory.addParameter("siteid", siteid);
|
|
|
+ areasqlFactory.addParameter_in("sa_saleareaid", hrrows.toArrayList("sa_saleareaid",new ArrayList<>()));
|
|
|
+ Rows arearows = dbConnect.runSqlQuery(areasqlFactory.getSQL());
|
|
|
+ ArrayList<Long> areaList = arearows.toArrayList("sa_saleareaid",new ArrayList<Long>());
|
|
|
+ areaList.add(0l);
|
|
|
|
|
|
|
|
|
+ //考核指标类型
|
|
|
+ long sa_salestargetbillid = 0;
|
|
|
+ String assessmentindicators="";
|
|
|
+ if (billRows.isNotEmpty()) {
|
|
|
+ sa_salestargetbillid=billRows.get(0).getLong("sa_salestargetbillid");
|
|
|
+ assessmentindicators=billRows.get(0).getString("assessmentindicators");
|
|
|
+ }
|
|
|
+
|
|
|
+ /*
|
|
|
+ 过滤条件设置
|
|
|
+ */
|
|
|
+ StringBuffer where = new StringBuffer(" 1=1 and t.sa_saleareaid in "+areaList.toString().replace("[", "(").replace("]", ")"));
|
|
|
+
|
|
|
+ SQLFactory sqlFactory = new SQLFactory(this, "人员-目标详情列表");
|
|
|
+ sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
|
|
|
+ sqlFactory.addParameter_SQL("where", where);
|
|
|
+ sqlFactory.addParameter("siteid", siteid);
|
|
|
+ String sql = sqlFactory.getSQL();
|
|
|
+ Rows rows = dbConnect.runSqlQuery(sql);
|
|
|
+
|
|
|
+ Rows saleareas = dbConnect.runSqlQuery("select * from sa_salearea where parentid=0");
|
|
|
+ Long sa_saleareaidtop=0l;
|
|
|
+ if(!saleareas.isEmpty()){
|
|
|
+ sa_saleareaidtop=saleareas.get(0).getLong("sa_saleareaid");
|
|
|
+ }
|
|
|
+
|
|
|
+ for (Row row :rows) {
|
|
|
+ if(row.getLong("parentid")==0){
|
|
|
+ row.put("y1l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("y1l"));
|
|
|
+ row.put("y1h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("y1h"));
|
|
|
+ row.put("s1l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s1l"));
|
|
|
+ row.put("s1h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s1h"));
|
|
|
+ row.put("s2l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s2l"));
|
|
|
+ row.put("s2h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s2h"));
|
|
|
+ row.put("s3l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s3l"));
|
|
|
+ row.put("s3h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s3h"));
|
|
|
+ row.put("s4l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s4l"));
|
|
|
+ row.put("s4h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s4h"));
|
|
|
+ row.put("m1l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m1l"));
|
|
|
+ row.put("m1h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m1h"));
|
|
|
+ row.put("m2l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m2l"));
|
|
|
+ row.put("m2h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m2h"));
|
|
|
+ row.put("m3l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m3l"));
|
|
|
+ row.put("m3h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m3h"));
|
|
|
+ row.put("m4l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m4l"));
|
|
|
+ row.put("m4h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m4h"));
|
|
|
+ row.put("m5l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m5l"));
|
|
|
+ row.put("m5h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m5h"));
|
|
|
+ row.put("m6l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m6l"));
|
|
|
+ row.put("m6h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m6h"));
|
|
|
+ row.put("m7l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m7l"));
|
|
|
+ row.put("m7h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m7h"));
|
|
|
+ row.put("m8l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m8l"));
|
|
|
+ row.put("m8h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m8h"));
|
|
|
+ row.put("m9l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m9l"));
|
|
|
+ row.put("m9h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m9h"));
|
|
|
+ row.put("m10l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m10l"));
|
|
|
+ row.put("m10h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m10h"));
|
|
|
+ row.put("m11l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m11l"));
|
|
|
+ row.put("m11h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m11h"));
|
|
|
+ row.put("m12l",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m12l"));
|
|
|
+ row.put("m12h",rows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m12h"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ Rows actualRows = new Rows();
|
|
|
+ //开票
|
|
|
+ if (assessmentindicators .equals("开票")) {
|
|
|
+ sqlFactory = new SQLFactory(this, "人员目标统计-开票");
|
|
|
+ sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
|
|
|
+ sqlFactory.addParameter_SQL("where", where);
|
|
|
+ sqlFactory.addParameter("siteid", siteid);
|
|
|
+ sqlFactory.addParameter("year", year);
|
|
|
+ actualRows = dbConnect.runSqlQuery(sqlFactory);
|
|
|
+
|
|
|
+ }
|
|
|
+ //订单
|
|
|
+ if (assessmentindicators .equals("订单")) {
|
|
|
+ sqlFactory = new SQLFactory(this, "人员目标统计-订单");
|
|
|
+ sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
|
|
|
+ sqlFactory.addParameter_SQL("where", where);
|
|
|
+ sqlFactory.addParameter("siteid", siteid);
|
|
|
+ sqlFactory.addParameter("year", year);
|
|
|
+ actualRows = dbConnect.runSqlQuery(sqlFactory);
|
|
|
+ }
|
|
|
+ //出货
|
|
|
+ if (assessmentindicators .equals("出货")) {
|
|
|
+ sqlFactory = new SQLFactory(this, "人员目标统计-出货");
|
|
|
+ sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
|
|
|
+ sqlFactory.addParameter_SQL("where", where);
|
|
|
+ sqlFactory.addParameter("siteid", siteid);
|
|
|
+ sqlFactory.addParameter("year", year);
|
|
|
+ actualRows = dbConnect.runSqlQuery(sqlFactory);
|
|
|
+ }
|
|
|
+ //收款
|
|
|
+ if (assessmentindicators .equals("收款")) {
|
|
|
+ sqlFactory = new SQLFactory(this, "人员目标统计-收款");
|
|
|
+ sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
|
|
|
+ sqlFactory.addParameter_SQL("where", where);
|
|
|
+ sqlFactory.addParameter("siteid", siteid);
|
|
|
+ sqlFactory.addParameter("year", year);
|
|
|
+ actualRows = dbConnect.runSqlQuery(sqlFactory);
|
|
|
+ }
|
|
|
+
|
|
|
+ for (Row row :actualRows) {
|
|
|
+ if(row.getLong("parentid")==0){
|
|
|
+ row.put("y1a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("y1a"));
|
|
|
+ row.put("s1a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s1a"));
|
|
|
+ row.put("s2a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s2a"));
|
|
|
+ row.put("s3a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s3a"));
|
|
|
+ row.put("s4a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("s4a"));
|
|
|
+ row.put("m1a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m1a"));
|
|
|
+ row.put("m2a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m2a"));
|
|
|
+ row.put("m3a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m3a"));
|
|
|
+ row.put("m4a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m4a"));
|
|
|
+ row.put("m5a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m5a"));
|
|
|
+ row.put("m6a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m6a"));
|
|
|
+ row.put("m7a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m7a"));
|
|
|
+ row.put("m8a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m8a"));
|
|
|
+ row.put("m9a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m9a"));
|
|
|
+ row.put("m10a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m10a"));
|
|
|
+ row.put("m11a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m11a"));
|
|
|
+ row.put("m12a",actualRows.toRowsMap("parentid").get(sa_saleareaidtop.toString()).sum("m12a"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ for (Row row : rows) {
|
|
|
+ //初始化
|
|
|
+ row = addActualRow(row);
|
|
|
+
|
|
|
+ Long sa_saleareaid1 = row.getLong("sa_saleareaid");
|
|
|
+ Row actualRow = new Row();
|
|
|
+ for (Row tempActualRow : actualRows) {
|
|
|
+ if (tempActualRow.getLong("sa_saleareaid") == sa_saleareaid1) {
|
|
|
+ actualRow.putAll(tempActualRow);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ row.putAll(actualRow);
|
|
|
+ row.putAll(calculate(row, actualRow));
|
|
|
+ }
|
|
|
+
|
|
|
+ return getSucReturnObject().setData(rows).toString();
|
|
|
+ }
|
|
|
+
|
|
|
@API(title = "人员目标统计", apiversion = R.ID20220904134102.v1.class)
|
|
|
@CACHEING
|
|
|
public String queryList() throws YosException {
|
|
@@ -333,7 +684,7 @@ public class personnelstatistics extends Controller {
|
|
|
}
|
|
|
|
|
|
public double getPercent(Double a, Double b) {
|
|
|
- double c = (a - b) * 100 / b;
|
|
|
+ double c = a * 100 / b;
|
|
|
BigDecimal bigDecimal = new BigDecimal(c);
|
|
|
return bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
|
|
|
}
|