|
|
@@ -33,14 +33,15 @@ public class personnel extends Controller {
|
|
|
@CACHEING_CLEAN(cms = {@cm(clazz = personnel.class, method = {"queryList", "queryDetailList"}), @cm(clazz = personnelstatistics.class, method = {"queryList"})})
|
|
|
public String insert() throws YosException {
|
|
|
Long year = content.getLong("year");
|
|
|
+ String assessmentindicators=content.getString("assessmentindicators");
|
|
|
Long sa_salestargetbillid = content.getLong("sa_salestargetbillid");
|
|
|
JSONArray salesArray = content.getJSONArray("sales");
|
|
|
|
|
|
ArrayList<String> sqlList = new ArrayList<>();
|
|
|
if (sa_salestargetbillid <= 0) {
|
|
|
//查询创建年度是否存在
|
|
|
- if (dbConnect.runSqlQuery("SELECT 1 FROM sa_salestargetbill WHERE `year` = " + year + " AND targettype ='人员目标' AND siteid = '" + siteid + "'").isNotEmpty()) {
|
|
|
- return getErrReturnObject().setErrMsg(year + "年度人员目标已存在,无法创建").toString();
|
|
|
+ if (dbConnect.runSqlQuery("SELECT 1 FROM sa_salestargetbill WHERE `year` = " + year + " and assessmentindicators ='"+assessmentindicators+"' AND targettype ='人员目标' AND siteid = '" + siteid + "'").isNotEmpty()) {
|
|
|
+ return getErrReturnObject().setErrMsg(year + "年度人员考核指标为"+assessmentindicators+"的目标已存在,无法创建").toString();
|
|
|
}
|
|
|
sa_salestargetbillid = createTableID("sa_salestargetbill");
|
|
|
SQLFactory sqlFactory = new SQLFactory(this, "创建新年度");
|
|
|
@@ -50,9 +51,20 @@ public class personnel extends Controller {
|
|
|
sqlFactory.addParameter("sys_enterpriseid", "null");
|
|
|
sqlFactory.addParameter("userid", userid);
|
|
|
sqlFactory.addParameter("year", year);
|
|
|
+ sqlFactory.addParameter("assessmentindicators", assessmentindicators);
|
|
|
sqlFactory.addParameter("targettype", "人员目标");
|
|
|
sqlFactory.addParameter("tradefield", "");
|
|
|
sqlList.add(sqlFactory.getSQL());
|
|
|
+
|
|
|
+ //获取所有启用业务员
|
|
|
+ SQLFactory saleareahrsqlFactory = new SQLFactory(this, "通用-人员范围查询");
|
|
|
+ saleareahrsqlFactory.addParameter("siteid", siteid);
|
|
|
+ saleareahrsqlFactory.addParameter_SQL("where", " 1=1 ");
|
|
|
+ saleareahrsqlFactory.addParameter_SQL("isIn", " not in ");
|
|
|
+ saleareahrsqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
|
|
|
+ String sql = saleareahrsqlFactory.getSQL();
|
|
|
+ Rows saleareahrrows = dbConnect.runSqlQuery(sql);
|
|
|
+ salesArray=saleareahrrows.toJsonArray();
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -63,16 +75,19 @@ public class personnel extends Controller {
|
|
|
|
|
|
for (Object obj : salesArray) {
|
|
|
JSONObject saleObj = (JSONObject) obj;
|
|
|
+ System.out.println(saleObj.toString());
|
|
|
SQLFactory saleFactory = new SQLFactory(this, "人员范围新增");
|
|
|
saleFactory.addParameter("siteid", siteid);
|
|
|
saleFactory.addParameter("sa_salestargethrid", createTableID("sa_salestargethr"));
|
|
|
- saleFactory.addParameter("hrid", saleObj.getString("hrid"));
|
|
|
- saleFactory.addParameter("position", saleObj.getString("position"));
|
|
|
- saleFactory.addParameter("areaname", "");
|
|
|
+ saleFactory.addParameter("hrid", saleObj.getLongValue("hrid"));
|
|
|
+ saleFactory.addParameter("position", saleObj.getStringValue("position"));
|
|
|
+
|
|
|
+ saleFactory.addParameter("sa_saleareaid", saleObj.getStringValue("sa_saleareaid"));
|
|
|
+ saleFactory.addParameter("areaname", saleObj.getStringValue("areaname"));
|
|
|
saleFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
|
|
|
- saleFactory.addParameter("depname", saleObj.getString("depname"));
|
|
|
- saleFactory.addParameter("departmentid", saleObj.getString("departmentid"));
|
|
|
- saleFactory.addParameter("name", saleObj.getString("name"));
|
|
|
+ saleFactory.addParameter("depname", saleObj.getStringValue("depname"));
|
|
|
+ saleFactory.addParameter("departmentid", saleObj.getLongValue("departmentid"));
|
|
|
+ saleFactory.addParameter("name", saleObj.getStringValue("name"));
|
|
|
sqlList.add(saleFactory.getSQL());
|
|
|
|
|
|
for (String type : types) {
|
|
|
@@ -94,7 +109,7 @@ public class personnel extends Controller {
|
|
|
targetFactory.addParameter("type", type);
|
|
|
targetFactory.addParameter("point", i + 1);
|
|
|
targetFactory.addParameter("targettype", "人员目标");
|
|
|
- targetFactory.addParameter("hrid", saleObj.getString("hrid"));
|
|
|
+ targetFactory.addParameter("sa_saleareaid", saleObj.getString("sa_saleareaid"));
|
|
|
targetFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
|
|
|
targetFactory.addParameter("year", year);
|
|
|
targetFactory.addParameter("sa_projectid", "null");
|
|
|
@@ -106,7 +121,7 @@ public class personnel extends Controller {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- sqlList.add(DataContrlLog.createLog(this, "sa_salestargetbill", sa_salestargetbillid, "人员编辑", "添加人员" + saleObj.getString("name")).getSQL());
|
|
|
+ sqlList.add(DataContrlLog.createLog(this, "sa_salestargetbill", sa_salestargetbillid, "区域编辑", "添加区域" + saleObj.getStringValue("areaname")).getSQL());
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -120,12 +135,12 @@ public class personnel extends Controller {
|
|
|
@CACHEING_CLEAN(cms = {@cm(clazz = personnel.class, method = {"queryList", "queryDetailList"}), @cm(clazz = personnelstatistics.class, method = {"queryList"})})
|
|
|
public String deletePeople() throws YosException {
|
|
|
Long sa_salestargetbillid = content.getLong("sa_salestargetbillid");
|
|
|
- JSONArray salesArray = content.getJSONArray("hrid");
|
|
|
+ JSONArray salesArray = content.getJSONArray("sa_saleareaid");
|
|
|
if (salesArray.size() <= 0) {
|
|
|
return getErrReturnObject().setErrMsg("请选择人员").toString();
|
|
|
}
|
|
|
|
|
|
- String sql = "SELECT 1 FROM sa_salestarget WHERE hrid in " + salesArray + " and sa_salestargetbillid = " + sa_salestargetbillid + " and targettype = '人员目标' and (target_l >0 or target_h >0)";
|
|
|
+ String sql = "SELECT 1 FROM sa_salestarget WHERE sa_saleareaid in " + salesArray + " and sa_salestargetbillid = " + sa_salestargetbillid + " and targettype = '人员目标' and (target_l >0 or target_h >0)";
|
|
|
sql = sql.replace("[", "(").replace("]", ")");
|
|
|
if (dbConnect.runSqlQuery(sql).isNotEmpty()) {
|
|
|
return getErrReturnObject().setErrMsg("存在已填写的数据,无法删除").toString();
|
|
|
@@ -136,22 +151,22 @@ public class personnel extends Controller {
|
|
|
SQLFactory sqlFactory = new SQLFactory(this, "人员-删除人员范围");
|
|
|
sqlFactory.addParameter("sa_salestargetbillid", sa_salestargetbillid);
|
|
|
sqlFactory.addParameter("siteid", siteid);
|
|
|
- sqlFactory.addParameter_in("hrid", salesArray.toArray());
|
|
|
+ sqlFactory.addParameter_in("sa_saleareaid", salesArray.toArray());
|
|
|
sqlList.add(sqlFactory.getSQL());
|
|
|
//删除人员目标
|
|
|
SQLFactory sqlFactory2 = new SQLFactory(this, "人员-删除目标明细");
|
|
|
sqlFactory2.addParameter("sa_salestargetbillid", sa_salestargetbillid);
|
|
|
sqlFactory2.addParameter("siteid", siteid);
|
|
|
- sqlFactory2.addParameter_in("hrid", salesArray.toArray());
|
|
|
+ sqlFactory2.addParameter_in("sa_saleareaid", salesArray.toArray());
|
|
|
sqlList.add(sqlFactory2.getSQL());
|
|
|
|
|
|
//操作记录
|
|
|
for (Object obj : salesArray) {
|
|
|
- Long hrid = Long.valueOf(obj.toString());
|
|
|
+ Long sa_saleareaid = Long.valueOf(obj.toString());
|
|
|
String name = "";
|
|
|
- Rows rows = dbConnect.runSqlQuery("SELECT name from sys_hr WHERE hrid = " + hrid);
|
|
|
+ Rows rows = dbConnect.runSqlQuery("SELECT areaname from sa_salearea WHERE sa_saleareaid = " + sa_saleareaid);
|
|
|
if (rows.isNotEmpty()) {
|
|
|
- name = rows.get(0).getString("name");
|
|
|
+ name = rows.get(0).getString("areaname");
|
|
|
}
|
|
|
sqlList.add(DataContrlLog.createLog(this, "sa_salestargetbill", sa_salestargetbillid, "人员编辑", "移除人员" + name).getSQL());
|
|
|
}
|
|
|
@@ -207,10 +222,11 @@ public class personnel extends Controller {
|
|
|
@CACHEING_CLEAN(cms = {@cm(clazz = personnel.class, method = {"queryList", "queryDetailList"}), @cm(clazz = personnelstatistics.class, method = {"queryList"})})
|
|
|
public String edit() throws YosException {
|
|
|
Long sa_salestargetbillid = content.getLongValue("sa_salestargetbillid");
|
|
|
- Long hrid = content.getLong("hrid");
|
|
|
+ Long sa_saleareaid = content.getLong("sa_saleareaid");
|
|
|
if (sa_salestargetbillid == 0) {
|
|
|
Long year = content.getLongValue("year");
|
|
|
- Rows rows = dbConnect.runSqlQuery("SELECT DISTINCT sa_salestargetbillid from sa_salestarget WHERE year = " + year + " and hrid=" + hrid + " and targettype ='人员目标' and siteid='" + siteid + "'");
|
|
|
+ Long assessmentindicators = content.getLongValue("assessmentindicators");
|
|
|
+ Rows rows = dbConnect.runSqlQuery("SELECT DISTINCT sa_salestargetbillid from sa_salestarget WHERE year = " + year + " and assessmentindicators='"+assessmentindicators+"' and sa_saleareaid=" + sa_saleareaid + " and targettype ='人员目标' and siteid='" + siteid + "'");
|
|
|
if (rows.isNotEmpty()) {
|
|
|
sa_salestargetbillid = rows.get(0).getLong("sa_salestargetbillid");
|
|
|
}
|
|
|
@@ -223,13 +239,13 @@ public class personnel extends Controller {
|
|
|
String key_l = "y1l";
|
|
|
String key_h = "y1h";
|
|
|
if (content.containsKey(key_l) && content.containsKey(key_h)) {
|
|
|
- sqlList.add(getSql(content.getString(key_l), content.getString(key_h), sa_salestargetbillid, hrid, "年", 1));
|
|
|
+ sqlList.add(getSql(content.getString(key_l), content.getString(key_h), sa_salestargetbillid, sa_saleareaid, "年", 1));
|
|
|
}
|
|
|
for (int i = 1; i < 5; i++) {
|
|
|
key_l = "s" + i + "l";
|
|
|
key_h = "s" + i + "h";
|
|
|
if (content.containsKey(key_l) && content.containsKey(key_h)) {
|
|
|
- sqlList.add(getSql(content.getString(key_l), content.getString(key_h), sa_salestargetbillid, hrid, "季", i));
|
|
|
+ sqlList.add(getSql(content.getString(key_l), content.getString(key_h), sa_salestargetbillid, sa_saleareaid, "季", i));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -237,7 +253,7 @@ public class personnel extends Controller {
|
|
|
key_l = "m" + i + "l";
|
|
|
key_h = "m" + i + "h";
|
|
|
if (content.containsKey(key_l) && content.containsKey(key_h)) {
|
|
|
- sqlList.add(getSql(content.getString(key_l), content.getString(key_h), sa_salestargetbillid, hrid, "月", i));
|
|
|
+ sqlList.add(getSql(content.getString(key_l), content.getString(key_h), sa_salestargetbillid, sa_saleareaid, "月", i));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -248,9 +264,9 @@ public class personnel extends Controller {
|
|
|
}
|
|
|
|
|
|
|
|
|
- public String getSql(String target_l, String target_h, Long id, Long hrid, String type, int point) {
|
|
|
+ public String getSql(String target_l, String target_h, Long id, Long sa_saleareaid, String type, int point) {
|
|
|
|
|
|
- return " UPDATE sa_salestarget SET target_l=" + target_l + ",target_h = " + target_h + " WHERE sa_salestargetbillid =" + id + " and hrid =" + hrid + " and type ='" + type + "' AND point = " + point;
|
|
|
+ return " UPDATE sa_salestarget SET target_l=" + target_l + ",target_h = " + target_h + " WHERE sa_salestargetbillid =" + id + " and sa_saleareaid =" + sa_saleareaid + " and type ='" + type + "' AND point = " + point;
|
|
|
}
|
|
|
|
|
|
@API(title = "目标详情列表", apiversion = R.ID20220901141802.v1.class)
|
|
|
@@ -280,7 +296,50 @@ public class personnel extends Controller {
|
|
|
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_saleareaid=0l;
|
|
|
+ if(!saleareas.isEmpty()){
|
|
|
+ sa_saleareaid=saleareas.get(0).getLong("sa_saleareaid");
|
|
|
+ }
|
|
|
|
|
|
+ for (Row row :rows) {
|
|
|
+ if(row.getLong("parentid")==0){
|
|
|
+ row.put("y1l",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("y1l"));
|
|
|
+ row.put("y1h",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("y1h"));
|
|
|
+ row.put("s1l",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("s1l"));
|
|
|
+ row.put("s1h",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("s1h"));
|
|
|
+ row.put("s2l",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("s2l"));
|
|
|
+ row.put("s2h",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("s2h"));
|
|
|
+ row.put("s3l",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("s3l"));
|
|
|
+ row.put("s3h",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("s3h"));
|
|
|
+ row.put("s4l",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("s4l"));
|
|
|
+ row.put("s4h",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("s4h"));
|
|
|
+ row.put("m1l",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m1l"));
|
|
|
+ row.put("m1h",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m1h"));
|
|
|
+ row.put("m2l",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m2l"));
|
|
|
+ row.put("m2h",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m2h"));
|
|
|
+ row.put("m3l",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m3l"));
|
|
|
+ row.put("m3h",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m3h"));
|
|
|
+ row.put("m4l",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m4l"));
|
|
|
+ row.put("m4h",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m4h"));
|
|
|
+ row.put("m5l",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m5l"));
|
|
|
+ row.put("m5h",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m5h"));
|
|
|
+ row.put("m6l",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m6l"));
|
|
|
+ row.put("m6h",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m6h"));
|
|
|
+ row.put("m7l",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m7l"));
|
|
|
+ row.put("m7h",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m7h"));
|
|
|
+ row.put("m8l",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m8l"));
|
|
|
+ row.put("m8h",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m8h"));
|
|
|
+ row.put("m9l",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m9l"));
|
|
|
+ row.put("m9h",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m9h"));
|
|
|
+ row.put("m10l",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m10l"));
|
|
|
+ row.put("m10h",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m10h"));
|
|
|
+ row.put("m11l",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m11l"));
|
|
|
+ row.put("m11h",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m11h"));
|
|
|
+ row.put("m12l",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m12l"));
|
|
|
+ row.put("m12h",rows.toRowsMap("parentid").get(sa_saleareaid.toString()).sum("m12h"));
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
return getSucReturnObject().setData(rows).toString();
|
|
|
}
|