|
@@ -466,7 +466,7 @@ public class TimerServiceImpl implements TimerService {
|
|
|
" order by `month` DESC LIMIT " + pageStart + "," + pageSize;
|
|
|
sql[2] = sql[2] +
|
|
|
" GROUP BY `month` ) t1 ";
|
|
|
-
|
|
|
+ log.info("sql[0]:{}",sql[0]);
|
|
|
log.info("sql[1]:{}",sql[1]);
|
|
|
}else {
|
|
|
/*sql获取第二层月明细数据*/
|
|
@@ -598,7 +598,7 @@ public class TimerServiceImpl implements TimerService {
|
|
|
ps = connection.prepareStatement(deleteSql);
|
|
|
for (int i = 0; i < monthList.size(); i++) {
|
|
|
ps.setObject(1,monthList.get(i).get("dateField_lcwv382"));
|
|
|
- ps.executeBatch();
|
|
|
+ ps.execute();
|
|
|
}
|
|
|
String sql = "INSERT INTO `lanyun_project_analysis`(`project_name`, `belong_project`, `month`, " +
|
|
|
"`status`, `predict_income`, `open`, `income`, `person`, `person_cost`, `material`, `other_cost`, " +
|
|
@@ -632,7 +632,7 @@ public class TimerServiceImpl implements TimerService {
|
|
|
ps.setObject(16,dataList.get(i).get("numberField_ln701sy"));
|
|
|
ps.setObject(17,dataList.get(i).get("numberField_fmhzxdr"));
|
|
|
ps.setObject(18,dataList.get(i).get("numberField_lz6mt3xr"));
|
|
|
- double net = Double.parseDouble(dataList.get(i).get("numberField_lz6mt3xr").toString());
|
|
|
+ double net = ObjectUtil.isNotNull(dataList.get(i).get("numberField_lz6mt3xr"))?Double.parseDouble(dataList.get(i).get("numberField_lz6mt3xr").toString()):0f;
|
|
|
double net_margin = net/income;
|
|
|
if (income == 0f){
|
|
|
net_margin = 0f;
|
|
@@ -968,21 +968,21 @@ public class TimerServiceImpl implements TimerService {
|
|
|
String[] dateList = new String[2];
|
|
|
dateList[0] = String.valueOf(beginOfMonth.getTime());
|
|
|
dateList[1] = String.valueOf(date.getTime());
|
|
|
- List<Map> materialList = ydService.queryFormData_all(YDParam.builder()
|
|
|
- .appType("APP_ERBDTFS82HOVBPL3NFH0")
|
|
|
- .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
|
|
|
- .formUuid("FORM-4F7FB29798F442E783B1C77AF1E7D644FBI7")
|
|
|
- .searchFieldJson(JSON.toJSONString(UtilMap.map("dateField_lzhqum4c", (Object) dateList)))
|
|
|
- .build());
|
|
|
- if (ObjectUtil.isNotNull(materialList)&&materialList.size()>0){
|
|
|
- materialList.forEach(e->{
|
|
|
- ydClient.operateData(YDParam.builder()
|
|
|
- .appType("APP_ERBDTFS82HOVBPL3NFH0")
|
|
|
- .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
|
|
|
- .formInstanceId(e.get("formInstanceId").toString())
|
|
|
- .build(), YDConf.FORM_OPERATION.delete);
|
|
|
- });
|
|
|
- }
|
|
|
+// List<Map> materialList = ydService.queryFormData_all(YDParam.builder()
|
|
|
+// .appType("APP_ERBDTFS82HOVBPL3NFH0")
|
|
|
+// .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
|
|
|
+// .formUuid("FORM-4F7FB29798F442E783B1C77AF1E7D644FBI7")
|
|
|
+// .searchFieldJson(JSON.toJSONString(UtilMap.map("dateField_lzhqum4c", (Object) dateList)))
|
|
|
+// .build());
|
|
|
+// if (ObjectUtil.isNotNull(materialList)&&materialList.size()>0){
|
|
|
+// materialList.forEach(e->{
|
|
|
+// ydClient.operateData(YDParam.builder()
|
|
|
+// .appType("APP_ERBDTFS82HOVBPL3NFH0")
|
|
|
+// .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
|
|
|
+// .formInstanceId(e.get("formInstanceId").toString())
|
|
|
+// .build(), YDConf.FORM_OPERATION.delete);
|
|
|
+// });
|
|
|
+// }
|
|
|
|
|
|
//获取所有离职员工id
|
|
|
String dingtalkToken = ddClient.getAccessToken(dingtalkAppKey, dingtalkAppSecret);
|
|
@@ -1048,9 +1048,10 @@ public class TimerServiceImpl implements TimerService {
|
|
|
.appType("APP_ERBDTFS82HOVBPL3NFH0")
|
|
|
.systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
|
|
|
.formUuid("FORM-4F7FB29798F442E783B1C77AF1E7D644FBI7")
|
|
|
+ .searchCondition(JSON.toJSONString(UtilMap.map("dateField_lzhqum4c", (Object) dateList)))
|
|
|
//年月,离职人数,入职人数,在职人数
|
|
|
.formDataJson(JSON.toJSONString(UtilMap.map("dateField_lzhqum4c, numberField_lzhqum4e, numberField_lzhqum4f, numberField_lzhqum4d",beginOfMonth.getTime(),month[1],inJobIdSet.size(),employeeIds.size())))
|
|
|
- .build(), YDConf.FORM_OPERATION.create);
|
|
|
+ .build(), YDConf.FORM_OPERATION.upsert);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -1181,21 +1182,83 @@ public class TimerServiceImpl implements TimerService {
|
|
|
}
|
|
|
}
|
|
|
for (int i = 0; i < materialList.size(); i++) {
|
|
|
- HashMap<Object, Object> lastMap = new HashMap<>();
|
|
|
- lastMap.put("code",materialList.get(i).get("textField_ltxutdfi"));
|
|
|
- lastMap.put("name",materialList.get(i).get("textField_lvat5hwb"));
|
|
|
- lastMap.put("entryDate",materialList.get(i).get("dateField_lvvthng6"));
|
|
|
- lastMap.put("whcode",materialList.get(i).get("textField_lr26l3hs"));
|
|
|
- lastMap.put("whmc",materialList.get(i).get("textField_lr26l3ht"));
|
|
|
- lastMap.put("whfl",materialList.get(i).get("textField_lu24bwd1"));
|
|
|
- lastMap.put("salary",materialList.get(i).get("numberField_lu24bwd0"));
|
|
|
+// HashMap<Object, Object> lastMap = new HashMap<>();
|
|
|
+// lastMap.put("code",materialList.get(i).get("textField_ltxutdfi"));
|
|
|
+// lastMap.put("name",materialList.get(i).get("textField_lvat5hwb"));
|
|
|
+// lastMap.put("entryDate",materialList.get(i).get("dateField_lvvthng6"));
|
|
|
+// lastMap.put("whcode",materialList.get(i).get("textField_lr26l3hs"));
|
|
|
+// lastMap.put("whmc",materialList.get(i).get("textField_lr26l3ht"));
|
|
|
+// lastMap.put("whfl",materialList.get(i).get("textField_lu24bwd1"));
|
|
|
+// lastMap.put("salary",materialList.get(i).get("numberField_lu24bwd0"));
|
|
|
for (int j = 0; j < codes.size(); j++) {
|
|
|
if (materialList.get(i).get("textField_ltxutdfi").equals(codes.get(j))){
|
|
|
- lastResult.add(lastMap);
|
|
|
+ lastResult.add(materialList.get(i));
|
|
|
+// lastResult.add(lastMap);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return lastResult;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void updateDailyPrice(String formInstId) {
|
|
|
+
|
|
|
+ System.out.println(formInstId);
|
|
|
+ Map formData = ydClient.queryData(YDParam.builder()
|
|
|
+ .appType("APP_ERBDTFS82HOVBPL3NFH0")
|
|
|
+ .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
|
|
|
+ .formInstId(formInstId).build()
|
|
|
+ , YDConf.FORM_QUERY.retrieve_id).getFormData();
|
|
|
+ System.out.println(formData);
|
|
|
+ if (ObjectUtil.isNotNull(formData)){
|
|
|
+ String area = ObjectUtil.isNotNull(formData.get("selectField_lrn2oy4b"))?formData.get("selectField_lrn2oy4b").toString():"";
|
|
|
+ List<Map> sonList = (List<Map>) formData.get("tableField_lr383i4g");
|
|
|
+ double sum[] = {0,0};
|
|
|
+ if (ObjectUtil.isNotNull(sonList) && sonList.size()>0){
|
|
|
+ sonList.forEach(e->{
|
|
|
+ String code = e.get("textField_lr383i4h").toString();
|
|
|
+ if (ObjectUtil.isNotNull(code)){
|
|
|
+ List<Map> businessList = ydService.queryFormData_all(YDParam.builder()
|
|
|
+ .appType("APP_ERBDTFS82HOVBPL3NFH0")
|
|
|
+ .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
|
|
|
+ .formUuid("FORM-84AFCA01E1C24216BD46DC13FB3A82D4B4ZB")
|
|
|
+ .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_ltxqbvzu, selectField_ltxy8wyr, selectField_ltxqfrj8", code,"启用",area)))
|
|
|
+ .build());
|
|
|
+ if (businessList.size()>=2){
|
|
|
+ businessList = businessList.stream().filter(map -> map.get("textField_ludp2v7i") != "临时采购").collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ System.out.println(businessList.size());
|
|
|
+ if(ObjectUtil.isNotNull(businessList)){
|
|
|
+ if (ObjectUtil.isNotNull(businessList.get(0).get("numberField_ltxqbvzz"))){
|
|
|
+ double fax = Double.parseDouble(businessList.get(0).get("numberField_ltxqbw00").toString());//税率
|
|
|
+ e.put("numberField_ludq7er6",fax);
|
|
|
+ Double unitPrice = Double.parseDouble(businessList.get(0).get("numberField_ltxqbvzz").toString());//供应商价目
|
|
|
+ e.put("numberField_ludokwa6",unitPrice);
|
|
|
+ e.put("selectField_lv4tq48o",businessList.get(0).get("selectField_ltxqfrj8") + "区 ¥" + businessList.get(0).get("numberField_ltxqbvzz") + " " + businessList.get(0).get("textField_ludp2v7i"));
|
|
|
+ Double scbqr = Double.parseDouble(e.get("numberField_lvaft823").toString());//市场部确认
|
|
|
+ e.put("numberField_lxd0y351",String.format("%.8f", scbqr * unitPrice));//实际金额小计
|
|
|
+ sum[0] = sum[0] + scbqr * unitPrice;
|
|
|
+ e.put("numberField_lrzu5n7d",String.format("%.2f",unitPrice * 1.1));//采购单价
|
|
|
+ e.put("numberField_ludokwa9",String.format("%.2f", unitPrice * 1.1 * scbqr));//采购金额小计
|
|
|
+ sum[1] = sum[1] + scbqr * unitPrice * 1.1;
|
|
|
+ e.put("numberField_lv1qokdj",String.format("%.2f", unitPrice/(1+fax/100)));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ System.out.println(sum);
|
|
|
+ ydClient.operateData(YDParam.builder()
|
|
|
+ .appType("APP_ERBDTFS82HOVBPL3NFH0")
|
|
|
+ .systemToken("RRB66F91T97H1WN89QZYC47PKLZO2ZQOUMOQLP")
|
|
|
+ .formInstanceId(formInstId)
|
|
|
+ .updateFormDataJson(JSON.toJSONString(UtilMap.map("numberField_lwk4dwfe, numberField_lr383i48, tableField_lr383i4g",String.format("%.2f", sum[0]),String.format("%.2f", sum[1]),sonList)))
|
|
|
+ .build(), YDConf.FORM_OPERATION.update);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+//实际金额小计
|
|
|
+//numberField_lwk4dwfe
|
|
|
+//采购金额小计
|
|
|
+//numberField_lr383i48
|