Merge branch 'master' of http://121.40.234.130:8899/root/wuHanXinRui
This commit is contained in:
@@ -52,12 +52,6 @@ public class PerformancemstController {
|
||||
return new ResponseEntity<>(performancemstService.workLoadStatQuery(whereJson,page),HttpStatus.OK);
|
||||
}
|
||||
|
||||
@ApiOperation("导出数据")
|
||||
@GetMapping(value = "/workloadstat/download")
|
||||
public void download(HttpServletResponse response, @RequestParam Map whereJson) throws IOException {
|
||||
performancemstService.download(whereJson, response);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
@Log("新增工作量汇报")
|
||||
@ApiOperation("新增工作量汇报")
|
||||
@@ -133,4 +127,10 @@ public class PerformancemstController {
|
||||
public ResponseEntity<Object> getHeader(){
|
||||
return new ResponseEntity<>(performancemstService.getHeader(),HttpStatus.OK);
|
||||
}
|
||||
|
||||
@ApiOperation("导出数据")
|
||||
@GetMapping(value = "/download")
|
||||
public void download(HttpServletResponse response, @RequestParam Map whereJson) throws IOException {
|
||||
performancemstService.download(whereJson, response);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,10 +95,6 @@ public interface PerformancemstService {
|
||||
*/
|
||||
JSONArray getHeader();
|
||||
|
||||
/**
|
||||
* 导出数据
|
||||
*
|
||||
* @param whereJson /
|
||||
*/
|
||||
void download(Map whereJson, HttpServletResponse response) throws IOException;
|
||||
|
||||
}
|
||||
|
||||
@@ -31,10 +31,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author Liuxy
|
||||
@@ -249,23 +246,6 @@ public class PerformancemstServiceImpl implements PerformancemstService {
|
||||
JSONObject jsonObject = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst.assessor_date asc");
|
||||
JSONArray re = jsonObject.getJSONArray("content");
|
||||
// ===== 2.根据日期查出当天日期所有人员及分数
|
||||
/* for (int i = 0; i < re.size(); i++) {
|
||||
JSONObject json = re.getJSONObject(i);
|
||||
JSONArray arr = WQLObject.getWQLObject("QL_TEST_PerformanceMst").query("assessor_date = '" + json.getString("assessor_date") + "'").getResultJSONArray(0);
|
||||
double total = 0; //总分
|
||||
double average = 0; //平均分
|
||||
for (int j = 0; j < arr.size(); j++) {
|
||||
JSONObject json2 = arr.getJSONObject(j);
|
||||
json.put(String.valueOf(json2.getString("assessor_id")), json2.getString("total_score"));
|
||||
total = total + json2.getDoubleValue("total_score");
|
||||
average = NumberUtil.div(total, arr.size());
|
||||
}
|
||||
//查询出有多少个员工 要用到它们的个数
|
||||
JSONArray jsonArr = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParam("flag", "5").process().getResultJSONArray(0);
|
||||
json.put(String.valueOf(jsonArr.size() + 2), total);
|
||||
json.put(String.valueOf(jsonArr.size() + 1), average);
|
||||
are.add(json);
|
||||
}*/
|
||||
for (int i = 0; i < re.size(); i++) {
|
||||
JSONObject json = re.getJSONObject(i);
|
||||
JSONArray userArr = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParam("flag", "7").addParam("assessor_date", json.getString("assessor_date")).process().getResultJSONArray(0);
|
||||
@@ -322,9 +302,64 @@ public class PerformancemstServiceImpl implements PerformancemstService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void download(Map whereJson, HttpServletResponse response) throws IOException {
|
||||
String begin_time = (String) whereJson.get("begin_time");
|
||||
String end_time = (String) whereJson.get("end_time");
|
||||
String assessor_id = (String) whereJson.get("assessor_id");
|
||||
HashMap<Object, Object> map = new HashMap<>();
|
||||
map.put("flag", "8");
|
||||
map.put("begin_time", begin_time);
|
||||
map.put("end_time", end_time);
|
||||
map.put("assessor_id", assessor_id);
|
||||
// ===== 1.查出所有不相同的日期(唯一日期)
|
||||
JSONArray are = new JSONArray();
|
||||
JSONArray re = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParamMap(map).process().getResultJSONArray(0);
|
||||
// ===== 2.根据日期查出当天日期所有人员及分数
|
||||
for (int i = 0; i < re.size(); i++) {
|
||||
JSONObject json = re.getJSONObject(i);
|
||||
JSONArray userArr = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParam("flag", "7").addParam("assessor_date", json.getString("assessor_date")).process().getResultJSONArray(0);
|
||||
|
||||
double total = 0; //总分
|
||||
double average = 0; //平均分
|
||||
for (int j = 0; j < userArr.size(); j++) {
|
||||
JSONObject json2 = userArr.getJSONObject(j);
|
||||
json.put(String.valueOf(json2.getString("assessor_id")), json2.getString("total_score"));
|
||||
|
||||
total = total + json2.getDoubleValue("total_score");
|
||||
average = NumberUtil.div(total, userArr.size());
|
||||
}
|
||||
|
||||
//查询出有多少个员工 要用到它们的个数
|
||||
JSONArray jsonArr = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParam("flag", "5").process().getResultJSONArray(0);
|
||||
json.put(String.valueOf(jsonArr.size() + 2), total);
|
||||
json.put(String.valueOf(jsonArr.size() + 1), average);
|
||||
are.add(json);
|
||||
}
|
||||
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
for (int i = 0; i < are.size(); i++) {
|
||||
JSONObject json = are.getJSONObject(i);
|
||||
|
||||
Map<String, Object> map_dtl = new LinkedHashMap<>();
|
||||
map_dtl.put("日期",json.getString("assessor_date"));
|
||||
|
||||
JSONArray jsonArr = WQL.getWO("QL_TEST_PERFORMANCEMST01").addParam("flag", "5").process().getResultJSONArray(0);
|
||||
for (int j = 0; j < jsonArr.size(); j++) {
|
||||
JSONObject jsonObject = jsonArr.getJSONObject(j);
|
||||
|
||||
JSONObject jsonUser = WQLObject.getWQLObject("sys_user").query("user_id = '" + (String) jsonObject.getString("assessor_id") + "'").uniqueResult(0);
|
||||
|
||||
map_dtl.put(jsonUser.getString("nick_name"),"");
|
||||
String assessor_id1 = jsonObject.getString("assessor_id");
|
||||
if (ObjectUtil.isNotEmpty(json.getString(assessor_id1))) {
|
||||
map_dtl.put(jsonUser.getString("nick_name"),json.getString(assessor_id1));
|
||||
}
|
||||
}
|
||||
map_dtl.put("平均分",json.getString(String.valueOf(jsonArr.size() + 1)));
|
||||
map_dtl.put("总分",json.getString(String.valueOf(jsonArr.size() + 2)));
|
||||
list.add(map_dtl);
|
||||
|
||||
}
|
||||
FileUtil.downloadExcel(list, response);
|
||||
}
|
||||
|
||||
|
||||
@@ -181,5 +181,37 @@
|
||||
ENDPAGEQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "8"
|
||||
QUERY
|
||||
SELECT
|
||||
mst.assessor_date,count(mst.assessor_date)
|
||||
FROM
|
||||
QL_TEST_PerformanceMst mst
|
||||
LEFT JOIN sys_user user ON mst.assessor_id = user.user_id
|
||||
|
||||
WHERE
|
||||
mst.status = '30'
|
||||
AND mst.is_delete = '0'
|
||||
|
||||
OPTION 输入.begin_time <> ""
|
||||
mst.assessor_date >= 输入.begin_time
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.end_time <> ""
|
||||
mst.assessor_date <= 输入.end_time
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.assessor_id <> ""
|
||||
user.nick_name = 输入.assessor_id
|
||||
ENDOPTION
|
||||
|
||||
GROUP BY mst.assessor_date
|
||||
|
||||
ORDER BY mst.assessor_date asc
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
SELECT
|
||||
oder.id,
|
||||
oder.id AS source_billdtl_id,
|
||||
oder.vbillcode AS source_bill_code,
|
||||
oder.vbillcode,
|
||||
mater.material_id,
|
||||
unit.measure_unit_id AS qty_unit_id,
|
||||
oder.input_time,
|
||||
|
||||
@@ -457,11 +457,8 @@ public class DailyplanServiceImpl implements DailyplanService {
|
||||
if (StrUtil.isNotEmpty(query.getString("nowstart_date"))) {
|
||||
String nowstart_date2 = query.getString("nowstart_date").substring(0,10);
|
||||
Date date2 = DateUtil.parse(nowstart_date2);
|
||||
//指定日期小于最晚的日计划日期
|
||||
if(date2.getTime() >= date.getTime()){
|
||||
nowstart_date = nowstart_date2;
|
||||
date = date2;
|
||||
}
|
||||
nowstart_date = nowstart_date2;
|
||||
date = date2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -22,10 +22,6 @@ public interface PowderOrderQueryService {
|
||||
*/
|
||||
JSONArray getHeader();
|
||||
|
||||
/**
|
||||
* 导出数据
|
||||
*
|
||||
* @param whereJson /
|
||||
*/
|
||||
void download(Map whereJson, HttpServletResponse response) throws IOException;
|
||||
|
||||
}
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
package org.nl.wms.statistics.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUnit;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
@@ -19,7 +16,6 @@ import org.nl.wql.core.bean.WQLObject;
|
||||
import org.nl.wql.util.WqlUtil;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
@@ -153,9 +149,110 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void download(Map whereJson, HttpServletResponse response) throws IOException {
|
||||
String pcsn = MapUtil.getStr(whereJson, "pcsn");
|
||||
String material_code = MapUtil.getStr(whereJson, "material_code");
|
||||
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
map.put("flag", "4");
|
||||
map.put("begin_time", MapUtil.getStr(whereJson, "begin_time"));
|
||||
map.put("end_time", MapUtil.getStr(whereJson, "end_time"));
|
||||
map.put("status", MapUtil.getStr(whereJson, "status"));
|
||||
if (ObjectUtil.isNotEmpty(pcsn)) map.put("pcsn", "%"+pcsn+"%");
|
||||
if (ObjectUtil.isNotEmpty(material_code)) map.put("material_code", "%"+material_code+"%");
|
||||
|
||||
JSONArray contentArr = WQL.getWO("QP_POWDERORDERQUERY01").addParamMap(map).process().getResultJSONArray(0);
|
||||
JSONArray jsonResultArr = new JSONArray();
|
||||
|
||||
for (int i = 0; i < contentArr.size(); i++) {
|
||||
JSONObject json = contentArr.getJSONObject(i);
|
||||
JSONObject jsonResult = new JSONObject();
|
||||
jsonResult.put("0", json.getString("create_time"));
|
||||
jsonResult.put("1", json.getString("material_code"));
|
||||
jsonResult.put("2", json.getString("pcsn"));
|
||||
|
||||
String formula_id = json.getString("formula_id");
|
||||
// 根据配方主表id查找明细
|
||||
JSONArray dtlArr = WQL.getWO("QP_POWDERORDERQUERY01").addParam("flag", "3").addParam("formula_id", formula_id).process().getResultJSONArray(0);
|
||||
for (int j = 0; j < dtlArr.size(); j++) {
|
||||
JSONObject jsonDtl = dtlArr.getJSONObject(j);
|
||||
JSONArray arr = WQLObject.getWQLObject("PDM_BI_FormulaDtl").query("formula_id ='" + formula_id + "' and material_id ='" + jsonDtl.getString("material_id") + "'").getResultJSONArray(0);
|
||||
jsonResult.put(jsonDtl.getString("material_id")+"",jsonDtl.getString("material_name"));
|
||||
jsonResult.put(jsonDtl.getString("material_code")+"",jsonDtl.getString("material_code"));
|
||||
if (arr.size() > 1) {
|
||||
String resPcsn = "";
|
||||
String formula_qty = "";
|
||||
for (int k = 0; k < arr.size(); k++) {
|
||||
JSONObject jsonObject = arr.getJSONObject(k);
|
||||
resPcsn = resPcsn + jsonObject.getString("pcsn") + "+";
|
||||
formula_qty = formula_qty + jsonObject.getString("formula_qty") + "+";
|
||||
}
|
||||
jsonResult.put(jsonDtl.getString("material_id")+"pcsn",resPcsn);
|
||||
jsonResult.put(jsonDtl.getString("material_id") +"formula_qty",formula_qty);
|
||||
} else {
|
||||
jsonResult.put(jsonDtl.getString("material_id")+"pcsn",jsonDtl.getString("pcsn"));
|
||||
jsonResult.put(jsonDtl.getString("material_id") +"formula_qty",jsonDtl.getString("formula_qty"));
|
||||
}
|
||||
}
|
||||
// 碳平衡
|
||||
jsonResult.put("3", json.getString("c_balance"));
|
||||
// 时间
|
||||
jsonResult.put("4", json.getString("ball_time"));
|
||||
// 球料比
|
||||
jsonResult.put("5", json.getString("ball_rate"));
|
||||
// 液料比
|
||||
jsonResult.put("6", json.getString("liquid_rate"));
|
||||
// 球磨机号
|
||||
HashMap<String, String> map1 = new HashMap<>();
|
||||
map1.put("flag", "3");
|
||||
map1.put("product_series_id", json.getString("product_series_id"));
|
||||
map1.put("workprocedure_id", "1472449856613257216");
|
||||
JSONObject jsonDevice1 = WQL.getWO("QPF_POINTCARD01").addParamMap(map1).process().uniqueResult(0);
|
||||
map1.put("flag", "4");
|
||||
JSONObject jsonDevice2= WQL.getWO("QPF_POINTCARD01").addParamMap(map1).process().uniqueResult(0);
|
||||
if (ObjectUtil.isNotEmpty(jsonDevice1) && ObjectUtil.isNotEmpty(jsonDevice2)) {
|
||||
String device_code_1 = jsonDevice1.getString("device_code").substring(4, 6);
|
||||
String device_code_2 = jsonDevice2.getString("device_code").substring(4, 6);
|
||||
jsonResult.put("7", device_code_1 + "-" + device_code_2);
|
||||
}
|
||||
jsonResultArr.add(jsonResult);
|
||||
}
|
||||
|
||||
String classIds = classstandardService.getAllChildIdStr(MaterOptTypeEnum.YL_AND_FL.getClass_idStr());
|
||||
String RF = classstandardService.getAllChildIdStr(MaterOptTypeEnum.RF.getClass_idStr());
|
||||
|
||||
List<Map<String, Object>> list = new ArrayList<>();
|
||||
for (int k = 0; k < jsonResultArr.size(); k++) {
|
||||
JSONObject json = jsonResultArr.getJSONObject(k);
|
||||
|
||||
Map<String, Object> map_dtl = new LinkedHashMap<>();
|
||||
map_dtl.put("日期", json.getString("0"));
|
||||
map_dtl.put("产品编码", json.getString("1"));
|
||||
map_dtl.put("批号", json.getString("2"));
|
||||
JSONArray resultJSONArray = WQL.getWO("QP_POWDERORDERQUERY01").addParam("flag", "2").addParam("classIds", classIds).addParam("rf", RF).process().getResultJSONArray(0);
|
||||
|
||||
for (int t = 0; t < resultJSONArray.size(); t++) {
|
||||
JSONObject jsonObject = resultJSONArray.getJSONObject(t);
|
||||
|
||||
map_dtl.put("物料"+NumberUtil.add(String.valueOf(t), "1")+ "","");
|
||||
map_dtl.put("批次"+NumberUtil.add(String.valueOf(t), "1")+ "","");
|
||||
map_dtl.put("重量"+NumberUtil.add(String.valueOf(t), "1")+ "","");
|
||||
|
||||
String material_id = jsonObject.getString("material_id");
|
||||
if (ObjectUtil.isNotEmpty(json.getString(material_id))) {
|
||||
map_dtl.put("物料"+NumberUtil.add(String.valueOf(t), "1")+ "",json.getString(material_id));
|
||||
map_dtl.put("批次"+NumberUtil.add(String.valueOf(t), "1"),json.getString(material_id+"pcsn"));
|
||||
map_dtl.put("重量"+NumberUtil.add(String.valueOf(t), "1"),json.getString(material_id+"formula_qty"));
|
||||
}
|
||||
|
||||
}
|
||||
map_dtl.put("碳平衡(%)", json.getString("3"));
|
||||
map_dtl.put("时间(h)", json.getString("4"));
|
||||
map_dtl.put("球料比", json.getString("5"));
|
||||
map_dtl.put("液料比", json.getString("6"));
|
||||
map_dtl.put("球磨机号", json.getString("7"));
|
||||
list.add(map_dtl);
|
||||
}
|
||||
FileUtil.downloadExcel(list, response);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -150,4 +150,54 @@
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "4"
|
||||
QUERY
|
||||
SELECT
|
||||
work.create_time,
|
||||
mater.material_code,
|
||||
work.pcsn,
|
||||
mst.formula_id,
|
||||
mst.ball_time,
|
||||
mst.product_series_id,
|
||||
ext.c_balance,
|
||||
ext.ball_rate,
|
||||
ext.liquid_rate
|
||||
FROM
|
||||
PDM_BI_WorkOrder work
|
||||
LEFT JOIN PDM_BI_Formula mst ON mst.workorder_id = work.workorder_id
|
||||
LEFT JOIN md_me_materialbase mater ON mater.material_id = work.material_id
|
||||
LEFT JOIN MD_ME_ProducMaterialExt ext ON mater.material_id = ext.material_id
|
||||
|
||||
WHERE
|
||||
mst.is_delete= '0'
|
||||
AND work.is_delete= '0'
|
||||
AND mst.bucket_type = '01'
|
||||
|
||||
OPTION 输入.begin_time <> ""
|
||||
work.create_time >= 输入.begin_time
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.end_time <> ""
|
||||
work.create_time <= 输入.end_time
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.pcsn <> ""
|
||||
work.pcsn like 输入.pcsn
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.status <> ""
|
||||
work.status = 输入.status
|
||||
ENDOPTION
|
||||
|
||||
OPTION 输入.material_code <> ""
|
||||
(mater.material_code like 输入.material_code or
|
||||
mater.material_name like 输入.material_code)
|
||||
ENDOPTION
|
||||
|
||||
order by work.create_time ASC
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
Reference in New Issue
Block a user