add:混合料生产报表
This commit is contained in:
@@ -105,4 +105,11 @@ public class DailyplanController {
|
|||||||
public void download(HttpServletResponse response, @RequestParam Map whereJson) throws IOException {
|
public void download(HttpServletResponse response, @RequestParam Map whereJson) throws IOException {
|
||||||
dailyplanService.download(whereJson, response);
|
dailyplanService.download(whereJson, response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/querytable")
|
||||||
|
@Log("查看明细")
|
||||||
|
@ApiOperation("查看明细")
|
||||||
|
public ResponseEntity<Object> querytable(@RequestBody JSONObject whereJson){
|
||||||
|
return new ResponseEntity<>(dailyplanService.querytable(whereJson),HttpStatus.OK);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -96,4 +96,10 @@ public interface DailyplanService {
|
|||||||
* @throws IOException
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
void download(Map whereJson, HttpServletResponse response) throws IOException;
|
void download(Map whereJson, HttpServletResponse response) throws IOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查看明细
|
||||||
|
* @param whereJson /
|
||||||
|
*/
|
||||||
|
JSONArray querytable(JSONObject whereJson);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,43 @@
|
|||||||
|
package org.nl.wms.pdm.service.eum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务状态枚举
|
||||||
|
*/
|
||||||
|
public enum MaterTypeEnum {
|
||||||
|
// 物料分类
|
||||||
|
THW(1, "1503644361664106496", "碳化钨粉"),
|
||||||
|
GF(2, "1503644362192588800", "钴粉"),
|
||||||
|
WF(3, "1503644362234531840", "钨粉"),
|
||||||
|
TF(4, "1503644362788179968", "碳粉"),
|
||||||
|
RF(5, "1503644362150645760", "软废"),
|
||||||
|
BY(6, "1503644361974484992", "切削油"),
|
||||||
|
TJJ(7, "1503644361697660928", "添加剂"),
|
||||||
|
HG(8, "1503644361571831808", "一般化工"),
|
||||||
|
PG(9, "1503644362108702720", "PG粉"),
|
||||||
|
|
||||||
|
// 物料id
|
||||||
|
THG(10, "('1510099925482999808')", "碳化铬 0.8"),
|
||||||
|
THF(11, "('1510099925420085251')", "碳化钒 0.8"),
|
||||||
|
THD_THN(12, "('1510099925420085249','1510099925420085250')", "碳化钽,碳化铌"),
|
||||||
|
|
||||||
|
;
|
||||||
|
|
||||||
|
private int index;
|
||||||
|
private String id;
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
MaterTypeEnum(int index, String id, String name) {
|
||||||
|
this.index = index;
|
||||||
|
this.id = id;
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -27,6 +27,7 @@ import org.nl.wms.pcs.service.dto.ProductplanprocDto;
|
|||||||
import org.nl.wms.pdm.service.DailyplanService;
|
import org.nl.wms.pdm.service.DailyplanService;
|
||||||
import org.nl.wms.pdm.service.ProducetaskprocService;
|
import org.nl.wms.pdm.service.ProducetaskprocService;
|
||||||
import org.nl.wms.pdm.service.WorkOrdereService;
|
import org.nl.wms.pdm.service.WorkOrdereService;
|
||||||
|
import org.nl.wms.pdm.service.eum.MaterTypeEnum;
|
||||||
import org.nl.wms.st.core.service.StorPublicService;
|
import org.nl.wms.st.core.service.StorPublicService;
|
||||||
import org.nl.wql.WQL;
|
import org.nl.wql.WQL;
|
||||||
import org.nl.wql.core.bean.WQLObject;
|
import org.nl.wql.core.bean.WQLObject;
|
||||||
@@ -40,6 +41,7 @@ import javax.servlet.http.HttpServletResponse;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Liuxy
|
* @author Liuxy
|
||||||
@@ -143,59 +145,201 @@ public class DailyplanServiceImpl implements DailyplanService {
|
|||||||
if (StrUtil.isNotEmpty(material_code)) {
|
if (StrUtil.isNotEmpty(material_code)) {
|
||||||
map.put("material_code", "%" + material_code + "%");
|
map.put("material_code", "%" + material_code + "%");
|
||||||
}
|
}
|
||||||
|
|
||||||
String begin_time = map.get("begin_time");
|
String begin_time = map.get("begin_time");
|
||||||
if (StrUtil.isNotEmpty(begin_time)) {
|
if (StrUtil.isNotEmpty(begin_time)) {
|
||||||
map.put("begin_time", begin_time.substring(0,10)+" 00:00:00");
|
map.put("begin_time", begin_time.substring(0,10)+" 00:00:00");
|
||||||
}
|
}
|
||||||
|
|
||||||
String end_time = map.get("end_time");
|
String end_time = map.get("end_time");
|
||||||
if (StrUtil.isNotEmpty(end_time)) {
|
if (StrUtil.isNotEmpty(end_time)) {
|
||||||
map.put("end_time", end_time.substring(0,10)+" 23:59:59");
|
map.put("end_time", end_time.substring(0,10)+" 23:59:59");
|
||||||
}
|
}
|
||||||
map.put("flag", "7");
|
|
||||||
JSONObject jret = WQL.getWO("QPDM_PRODUCTDAILYPLAN").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "WorkOrder2.device_id,WorkOrder2.material_code");
|
map.put("flag", "1");
|
||||||
JSONArray json = jret.getJSONArray("content");
|
|
||||||
JSONArray ja = new JSONArray();
|
// 根据 【工令日期】 和 【设备】分组
|
||||||
for(int i=0;i<json.size();i++){
|
JSONObject jsonAll = WQL.getWO("QPDM_PRODUCTDAILYPLAN_2").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "planstart_time,device_code");
|
||||||
JSONObject jo = json.getJSONObject(i);
|
|
||||||
JSONObject last = WQL.getWO("QPDM_PRODUCTDAILYPLAN")
|
// 计算每一天每一台设备的所有工令
|
||||||
.addParam("flag", "44")
|
JSONArray content = jsonAll.getJSONArray("content");
|
||||||
.addParam("begin_time", map.get("begin_time"))
|
|
||||||
.addParam("end_time",map.get("end_time"))
|
JSONArray array = new JSONArray();
|
||||||
.addParam("device_id",jo.getString("device_id"))
|
for (int i = 0; i < content.size(); i++) {
|
||||||
.addParam("material_id",jo.getString("material_id"))
|
JSONObject json = content.getJSONObject(i);
|
||||||
.process().uniqueResult(0);
|
|
||||||
if(last!=null){
|
// 调用字段处理方法
|
||||||
jo.put("pw_time",last.getString("realend_time"));
|
JSONObject result = fieldHand(json);
|
||||||
}
|
result.put("workorder_date", json.getString("planstart_time")); // 日期
|
||||||
JSONObject last5 = WQL.getWO("QPDM_PRODUCTDAILYPLAN")
|
result.put("device_name", json.getString("device_name")); // 喷雾塔
|
||||||
.addParam("flag", "55")
|
result.put("device_code", json.getString("device_code")); // 喷雾塔
|
||||||
.addParam("begin_time", map.get("begin_time"))
|
array.add(result);
|
||||||
.addParam("end_time",map.get("end_time"))
|
|
||||||
.addParam("device_id",jo.getString("device_id"))
|
|
||||||
.addParam("material_id",jo.getString("material_id"))
|
|
||||||
.process().uniqueResult(0);
|
|
||||||
if(last5!=null){
|
|
||||||
jo.put("in_time",last5.getString("create_time"));
|
|
||||||
}
|
|
||||||
JSONObject last6 = WQL.getWO("QPDM_PRODUCTDAILYPLAN")
|
|
||||||
.addParam("flag", "66")
|
|
||||||
.addParam("begin_time", map.get("begin_time"))
|
|
||||||
.addParam("end_time",map.get("end_time"))
|
|
||||||
.addParam("device_id",jo.getString("device_id"))
|
|
||||||
.addParam("material_id",jo.getString("material_id"))
|
|
||||||
.process().uniqueResult(0);
|
|
||||||
if(StrUtil.isNotEmpty(last6.getString("total_qty"))){
|
|
||||||
jo.put("in_qty",last6.getDouble("total_qty")/1000.0);
|
|
||||||
}
|
|
||||||
if(StrUtil.isNotEmpty(last6.getString("in_num"))){
|
|
||||||
jo.put("in_num",last6.getDouble("in_num"));
|
|
||||||
}
|
|
||||||
jo.put("sum_qty",jo.getDouble("sum_qty")/1000.0);
|
|
||||||
ja.add(jo);
|
|
||||||
}
|
}
|
||||||
jret.put("content",ja);
|
|
||||||
return jret;
|
jsonAll.put("content",array);
|
||||||
|
return jsonAll;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private JSONObject fieldHand(JSONObject json) {
|
||||||
|
|
||||||
|
JSONObject jsonResult = new JSONObject();
|
||||||
|
/*
|
||||||
|
* 原材料处理
|
||||||
|
*/
|
||||||
|
|
||||||
|
// 处理配方明细物料类型为【物料】 -01
|
||||||
|
json.put("flag", "2");
|
||||||
|
JSONArray arrayMater = WQL.getWO("QPDM_PRODUCTDAILYPLAN_2").addParamMap(json).process().getResultJSONArray(0);
|
||||||
|
|
||||||
|
// 碳化钨 - sum_qty1
|
||||||
|
List<JSONObject> jsonThw = arrayMater.stream()
|
||||||
|
.map(row -> (JSONObject) row)
|
||||||
|
.filter(row -> row.getString("material_type_id").equals(MaterTypeEnum.THW.getId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
jsonResult.put("sum_qty1",ObjectUtil.isNotEmpty(jsonThw) ? jsonThw.get(0).getDoubleValue("num") : 0);
|
||||||
|
|
||||||
|
// 钴粉 - sum_qty2
|
||||||
|
List<JSONObject> jsonGf = arrayMater.stream()
|
||||||
|
.map(row -> (JSONObject) row)
|
||||||
|
.filter(row -> row.getString("material_type_id").equals(MaterTypeEnum.GF.getId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
jsonResult.put("sum_qty2",ObjectUtil.isNotEmpty(jsonGf) ? jsonGf.get(0).getDoubleValue("num") : 0);
|
||||||
|
|
||||||
|
|
||||||
|
// 处理【添加剂】
|
||||||
|
// 碳化铬 - sum_qty4
|
||||||
|
json.put("material_id", MaterTypeEnum.THG.getId());
|
||||||
|
JSONObject jsonThg = WQL.getWO("QPDM_PRODUCTDAILYPLAN_2").addParamMap(json).process().uniqueResult(0);
|
||||||
|
|
||||||
|
jsonResult.put("sum_qty4",ObjectUtil.isNotEmpty(jsonThg) ? jsonThg.getDoubleValue("num") : 0);
|
||||||
|
|
||||||
|
// 碳化钒 - sum_qty5
|
||||||
|
json.put("material_id", MaterTypeEnum.THF.getId());
|
||||||
|
JSONObject jsonThf = WQL.getWO("QPDM_PRODUCTDAILYPLAN_2").addParamMap(json).process().uniqueResult(0);
|
||||||
|
|
||||||
|
jsonResult.put("sum_qty5",ObjectUtil.isNotEmpty(jsonThf) ? jsonThf.getDoubleValue("num") : 0);
|
||||||
|
|
||||||
|
|
||||||
|
// 碳化钽/铌 - sum_qty6
|
||||||
|
json.put("material_id", MaterTypeEnum.THD_THN.getId());
|
||||||
|
JSONObject jsonThdThn = WQL.getWO("QPDM_PRODUCTDAILYPLAN_2").addParamMap(json).process().uniqueResult(0);
|
||||||
|
|
||||||
|
jsonResult.put("sum_qty6",ObjectUtil.isNotEmpty(jsonThdThn) ? jsonThdThn.getDoubleValue("num") : 0);
|
||||||
|
|
||||||
|
// 处理配方明细物料类型为【物料分类】 -02
|
||||||
|
json.put("flag", "3");
|
||||||
|
JSONArray arrayClass = WQL.getWO("QPDM_PRODUCTDAILYPLAN_2").addParamMap(json).process().getResultJSONArray(0);
|
||||||
|
|
||||||
|
// 碳粉 - sum_qty7
|
||||||
|
List<JSONObject> jsonTf = arrayClass.stream()
|
||||||
|
.map(row -> (JSONObject) row)
|
||||||
|
.filter(row -> row.getString("material_type_id").equals(MaterTypeEnum.TF.getId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
jsonResult.put("sum_qty7",ObjectUtil.isNotEmpty(jsonTf) ? jsonTf.get(0).getDoubleValue("num"): 0);
|
||||||
|
|
||||||
|
|
||||||
|
// 钨粉 - sum_qty8
|
||||||
|
List<JSONObject> jsonWf = arrayClass.stream()
|
||||||
|
.map(row -> (JSONObject) row)
|
||||||
|
.filter(row -> row.getString("material_type_id").equals(MaterTypeEnum.WF.getId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
jsonResult.put("sum_qty8",ObjectUtil.isNotEmpty(jsonWf) ? jsonWf.get(0).getDoubleValue("num") : 0);
|
||||||
|
|
||||||
|
// 原材料合计 - sum_qty9
|
||||||
|
String yl_num = NumberUtil.add(
|
||||||
|
jsonResult.getString("sum_qty1"),
|
||||||
|
jsonResult.getString("sum_qty2"),
|
||||||
|
jsonResult.getString("sum_qty4"),
|
||||||
|
jsonResult.getString("sum_qty5"),
|
||||||
|
jsonResult.getString("sum_qty6"),
|
||||||
|
jsonResult.getString("sum_qty7"),
|
||||||
|
jsonResult.getString("sum_qty8")
|
||||||
|
).toString();
|
||||||
|
|
||||||
|
jsonResult.put("sum_qty9",yl_num);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 二次粉
|
||||||
|
*/
|
||||||
|
// PG粉 - sum_qty10
|
||||||
|
List<JSONObject> jsonPg = arrayMater.stream()
|
||||||
|
.map(row -> (JSONObject) row)
|
||||||
|
.filter(row -> row.getString("material_type_id").equals(MaterTypeEnum.PG.getId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
jsonResult.put("sum_qty10",ObjectUtil.isNotEmpty(jsonPg) ? jsonPg.get(0).getDoubleValue("num") : 0);
|
||||||
|
|
||||||
|
// 软废 - sum_qty11
|
||||||
|
List<JSONObject> jsonRf = arrayMater.stream()
|
||||||
|
.map(row -> (JSONObject) row)
|
||||||
|
.filter(row -> row.getString("material_type_id").equals(MaterTypeEnum.RF.getId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
jsonResult.put("sum_qty11",ObjectUtil.isNotEmpty(jsonRf) ? jsonRf.get(0).getDoubleValue("num") : 0);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 成型剂
|
||||||
|
*/
|
||||||
|
|
||||||
|
// 二次粉和成型剂合计 - sum_qty15
|
||||||
|
String tow_num = NumberUtil.add(
|
||||||
|
jsonResult.getString("sum_qty10"),
|
||||||
|
jsonResult.getString("sum_qty11")
|
||||||
|
).toString();
|
||||||
|
|
||||||
|
jsonResult.put("sum_qty15",tow_num);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 投入汇总 - sum_qty16
|
||||||
|
*/
|
||||||
|
String sum_num = NumberUtil.add(
|
||||||
|
jsonResult.getString("sum_qty9"),
|
||||||
|
jsonResult.getString("sum_qty15")
|
||||||
|
).toString();
|
||||||
|
|
||||||
|
jsonResult.put("sum_qty16",sum_num);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 产出
|
||||||
|
*/
|
||||||
|
// PG粉重量 - out_qty1
|
||||||
|
json.put("flag", "4");
|
||||||
|
JSONObject jsonPgOut = WQL.getWO("QPDM_PRODUCTDAILYPLAN_2").addParamMap(json).process().uniqueResult(0);
|
||||||
|
|
||||||
|
jsonResult.put("out_qty1",ObjectUtil.isNotEmpty(jsonPgOut) ? jsonPgOut.getDoubleValue("num") : 0);
|
||||||
|
|
||||||
|
// 残料 - out_qty2
|
||||||
|
json.put("flag", "5");
|
||||||
|
JSONObject jsonClOut = WQL.getWO("QPDM_PRODUCTDAILYPLAN_2").addParamMap(json).process().uniqueResult(0);
|
||||||
|
|
||||||
|
jsonResult.put("out_qty2",ObjectUtil.isNotEmpty(jsonClOut) ? jsonClOut.getDoubleValue("num") : 0);
|
||||||
|
|
||||||
|
// 产出总重量 - out_qty3
|
||||||
|
String out_num = NumberUtil.add(
|
||||||
|
jsonResult.getString("out_qty1"),
|
||||||
|
jsonResult.getString("out_qty2")
|
||||||
|
).toString();
|
||||||
|
|
||||||
|
jsonResult.put("out_qty3",out_num);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 投入产出比:产出总重量/投入汇总x100%
|
||||||
|
* - in_num
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (jsonResult.getDoubleValue("sum_qty16") != 0) {
|
||||||
|
String in_num = NumberUtil.round(NumberUtil.div(jsonResult.getString("out_qty3"), jsonResult.getString("sum_qty16")), 3).toString();
|
||||||
|
jsonResult.put("in_num",NumberUtil.mul(in_num, "100"));
|
||||||
|
} else {
|
||||||
|
jsonResult.put("in_num",0);
|
||||||
|
}
|
||||||
|
return jsonResult;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JSONArray queryAll(Map whereJson) {
|
public JSONArray queryAll(Map whereJson) {
|
||||||
HashMap<String, String> map = new HashMap<>(whereJson);
|
HashMap<String, String> map = new HashMap<>(whereJson);
|
||||||
@@ -794,4 +938,252 @@ public class DailyplanServiceImpl implements DailyplanService {
|
|||||||
}
|
}
|
||||||
FileUtil.downloadExcel(list, response);
|
FileUtil.downloadExcel(list, response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JSONArray querytable(JSONObject whereJson) {
|
||||||
|
|
||||||
|
// 根据日期、设备查出对应工令
|
||||||
|
JSONArray resultJSONArray = WQL.getWO("QPDM_PRODUCTDAILYPLAN_3").addParam("flag", "1")
|
||||||
|
.addParam("planstart_time", whereJson.getString("workorder_date"))
|
||||||
|
.addParam("device_code", whereJson.getString("device_code"))
|
||||||
|
.process().getResultJSONArray(0);
|
||||||
|
|
||||||
|
JSONArray resulArr = new JSONArray();
|
||||||
|
for (int i = 0; i < resultJSONArray.size(); i++) {
|
||||||
|
JSONObject json = resultJSONArray.getJSONObject(i);
|
||||||
|
|
||||||
|
// 调用处理方法
|
||||||
|
JSONObject result = fieldHandDtl(json);
|
||||||
|
resulArr.add(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
return resulArr;
|
||||||
|
}
|
||||||
|
|
||||||
|
private JSONObject fieldHandDtl(JSONObject json) {
|
||||||
|
|
||||||
|
WQLObject workTaskTab = WQLObject.getWQLObject("pdm_bi_worktask"); // 工令工序任务表
|
||||||
|
WQLObject buckTab = WQLObject.getWQLObject("MD_PB_BucketRecord"); // 桶记录表
|
||||||
|
|
||||||
|
JSONObject result = new JSONObject();
|
||||||
|
|
||||||
|
// 配粉日期:配粉工序计划开始时间 - pw_time
|
||||||
|
JSONObject jsonPf = workTaskTab.query("workorder_id = '" + json.getString("workorder_id") + "' and workprocedure_code = 'GX001'").uniqueResult(0);
|
||||||
|
|
||||||
|
result.put("pw_time",ObjectUtil.isNotEmpty(jsonPf) ? jsonPf.getString("planstart_time").substring(0,10) : "");
|
||||||
|
|
||||||
|
// 物料编码 - material_code
|
||||||
|
result.put("material_code",json.getString("material_code"));
|
||||||
|
|
||||||
|
// 牌号 - old_mark
|
||||||
|
result.put("old_mark",json.getString("old_mark"));
|
||||||
|
|
||||||
|
// 批号 - pcsn
|
||||||
|
result.put("pcsn",json.getString("pcsn"));
|
||||||
|
|
||||||
|
// 归属部门
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 原材料
|
||||||
|
* 物料
|
||||||
|
*/
|
||||||
|
JSONArray jsonYl = WQL.getWO("QPDM_PRODUCTDAILYPLAN_3").addParam("flag", "2").addParam("workorder_id", json.getString("workorder_id")).process().getResultJSONArray(0);
|
||||||
|
|
||||||
|
// 碳化钨 - sum_qty1
|
||||||
|
List<JSONObject> jsonThw = jsonYl.stream()
|
||||||
|
.map(row -> (JSONObject) row)
|
||||||
|
.filter(row -> row.getString("material_type_id").equals(MaterTypeEnum.THW.getId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
result.put("sum_qty1",ObjectUtil.isNotEmpty(jsonThw) ? jsonThw.get(0).getDoubleValue("num") : 0);
|
||||||
|
|
||||||
|
// 钴粉 - sum_qty2
|
||||||
|
List<JSONObject> jsonGf = jsonYl.stream()
|
||||||
|
.map(row -> (JSONObject) row)
|
||||||
|
.filter(row -> row.getString("material_type_id").equals(MaterTypeEnum.GF.getId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
result.put("sum_qty2",ObjectUtil.isNotEmpty(jsonGf) ? jsonGf.get(0).getDoubleValue("num") : 0);
|
||||||
|
|
||||||
|
// 镍粉 - sum_qty3
|
||||||
|
result.put("sum_qty3",0);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 原材料
|
||||||
|
* 添加剂
|
||||||
|
*/
|
||||||
|
// 碳化铬 - sum_qty4
|
||||||
|
JSONObject param = new JSONObject();
|
||||||
|
param.put("workorder_id", json.getString("workorder_id"));
|
||||||
|
param.put("material_id", MaterTypeEnum.THG.getId());
|
||||||
|
param.put("flag", "2");
|
||||||
|
|
||||||
|
JSONObject jsonThg = WQL.getWO("QPDM_PRODUCTDAILYPLAN_3").addParamMap(param).process().uniqueResult(0);
|
||||||
|
|
||||||
|
result.put("sum_qty4",ObjectUtil.isNotEmpty(jsonThg) ? jsonThg.getDoubleValue("num") : 0);
|
||||||
|
|
||||||
|
// 碳化钒 - sum_qty5
|
||||||
|
param.put("material_id", MaterTypeEnum.THF.getId());
|
||||||
|
JSONObject jsonThf = WQL.getWO("QPDM_PRODUCTDAILYPLAN_3").addParamMap(param).process().uniqueResult(0);
|
||||||
|
|
||||||
|
result.put("sum_qty5",ObjectUtil.isNotEmpty(jsonThf) ? jsonThf.getDoubleValue("num") : 0);
|
||||||
|
|
||||||
|
// 碳化钽/铌 - sum_qty6
|
||||||
|
param.put("material_id", MaterTypeEnum.THD_THN.getId());
|
||||||
|
JSONObject jsonThdAndThn = WQL.getWO("QPDM_PRODUCTDAILYPLAN_3").addParamMap(param).process().uniqueResult(0);
|
||||||
|
|
||||||
|
result.put("sum_qty6",ObjectUtil.isNotEmpty(jsonThdAndThn) ? jsonThdAndThn.getDoubleValue("num") : 0);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 原材料
|
||||||
|
* 物料分类
|
||||||
|
*/
|
||||||
|
JSONArray jsonYlClassType = WQL.getWO("QPDM_PRODUCTDAILYPLAN_3").addParam("flag", "3").addParam("workorder_id", json.getString("workorder_id")).process().getResultJSONArray(0);
|
||||||
|
|
||||||
|
// 碳粉 - sum_qty7
|
||||||
|
List<JSONObject> jsonTf = jsonYlClassType.stream()
|
||||||
|
.map(row -> (JSONObject) row)
|
||||||
|
.filter(row -> row.getString("material_type_id").equals(MaterTypeEnum.TF.getId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
result.put("sum_qty7",ObjectUtil.isNotEmpty(jsonTf) ? jsonTf.get(0).getDoubleValue("num") : 0);
|
||||||
|
|
||||||
|
// 钨粉 - sum_qty8
|
||||||
|
List<JSONObject> jsonWf = jsonYlClassType.stream()
|
||||||
|
.map(row -> (JSONObject) row)
|
||||||
|
.filter(row -> row.getString("material_type_id").equals(MaterTypeEnum.WF.getId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
result.put("sum_qty8",ObjectUtil.isNotEmpty(jsonWf) ? jsonWf.get(0).getDoubleValue("num") : 0);
|
||||||
|
|
||||||
|
// 原材料合计 - sum_qty9
|
||||||
|
String sum_qty9 = NumberUtil.add(
|
||||||
|
result.getString("sum_qty1"),
|
||||||
|
result.getString("sum_qty2"),
|
||||||
|
result.getString("sum_qty3"),
|
||||||
|
result.getString("sum_qty4"),
|
||||||
|
result.getString("sum_qty5"),
|
||||||
|
result.getString("sum_qty6"),
|
||||||
|
result.getString("sum_qty7"),
|
||||||
|
result.getString("sum_qty8")
|
||||||
|
).toString();
|
||||||
|
|
||||||
|
result.put("sum_qty9",sum_qty9);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 二次粉
|
||||||
|
*/
|
||||||
|
// PG粉 - sum_qty10
|
||||||
|
List<JSONObject> jsonPg = jsonYl.stream()
|
||||||
|
.map(row -> (JSONObject) row)
|
||||||
|
.filter(row -> row.getString("material_type_id").equals(MaterTypeEnum.PG.getId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
result.put("sum_qty10",ObjectUtil.isNotEmpty(jsonPg) ? jsonPg.get(0).getDoubleValue("num") : 0);
|
||||||
|
|
||||||
|
// 软废 - sum_qty11
|
||||||
|
List<JSONObject> jsonRf = jsonYl.stream()
|
||||||
|
.map(row -> (JSONObject) row)
|
||||||
|
.filter(row -> row.getString("material_type_id").equals(MaterTypeEnum.RF.getId()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
result.put("sum_qty11",ObjectUtil.isNotEmpty(jsonRf) ? jsonRf.get(0).getDoubleValue("num") : 0);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 成型剂
|
||||||
|
*/
|
||||||
|
// PEG2000\PEG - sum_qty12
|
||||||
|
result.put("sum_qty12",0);
|
||||||
|
|
||||||
|
// 石蜡/kg - sum_qty13
|
||||||
|
result.put("sum_qty13",0);
|
||||||
|
|
||||||
|
// 白油 - sum_qty14
|
||||||
|
result.put("sum_qty14",0);
|
||||||
|
|
||||||
|
// 二次粉 + 成型剂 合计 - sum_qty15
|
||||||
|
String sum_qty15 = NumberUtil.add(
|
||||||
|
result.getString("sum_qty10"),
|
||||||
|
result.getString("sum_qty11"),
|
||||||
|
result.getString("sum_qty12"),
|
||||||
|
result.getString("sum_qty13"),
|
||||||
|
result.getString("sum_qty14")
|
||||||
|
).toString();
|
||||||
|
|
||||||
|
result.put("sum_qty15",sum_qty15);
|
||||||
|
|
||||||
|
// 投入汇总:两次合计 - sum_qty16
|
||||||
|
String sum_qty16 = NumberUtil.add(
|
||||||
|
result.getString("sum_qty9"),
|
||||||
|
result.getString("sum_qty15")
|
||||||
|
).toString();
|
||||||
|
|
||||||
|
result.put("sum_qty16",sum_qty16);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 工序信息
|
||||||
|
* 球磨工序
|
||||||
|
*/
|
||||||
|
JSONObject paramGx = new JSONObject();
|
||||||
|
paramGx.put("flag", "4");
|
||||||
|
paramGx.put("workorder_id", json.getString("workorder_id"));
|
||||||
|
paramGx.put("workprocedure_code", "GX002");
|
||||||
|
JSONObject jsonQm = WQL.getWO("QPDM_PRODUCTDAILYPLAN_3").addParamMap(paramGx).process().uniqueResult(0);
|
||||||
|
|
||||||
|
if (ObjectUtil.isNotEmpty(jsonQm)) {
|
||||||
|
// 开工日期: 创建日期 - task_qty1
|
||||||
|
result.put("task_qty1",ObjectUtil.isNotEmpty(jsonQm.getString("start_time")) ? jsonQm.getString("start_time").substring(0,10) : "");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设备号 - task_qty2
|
||||||
|
result.put("task_qty2",ObjectUtil.isNotEmpty(jsonQm) ? jsonQm.getString("device_code") : "");
|
||||||
|
|
||||||
|
// 操作人员 - task_qty3
|
||||||
|
result.put("task_qty3",ObjectUtil.isNotEmpty(jsonQm) ? jsonQm.getString("start_name") : "");
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 工序信息
|
||||||
|
* 喷雾工序
|
||||||
|
*/
|
||||||
|
paramGx.put("workprocedure_code", "GX003");
|
||||||
|
JSONObject jsonPw = WQL.getWO("QPDM_PRODUCTDAILYPLAN_3").addParamMap(paramGx).process().uniqueResult(0);
|
||||||
|
|
||||||
|
if (ObjectUtil.isNotEmpty(jsonPw)) {
|
||||||
|
// 计划日期 - task_qty4
|
||||||
|
result.put("task_qty4",ObjectUtil.isNotEmpty(jsonPw) ? jsonPw.getString("planend_time").substring(0,10) : "");
|
||||||
|
|
||||||
|
// 执行日期 - task_qty5
|
||||||
|
result.put("task_qty5",ObjectUtil.isNotEmpty(jsonPw.getString("start_time")) ? jsonPw.getString("start_time").substring(0,10) : "");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 设备号 - task_qty6
|
||||||
|
result.put("task_qty6",ObjectUtil.isNotEmpty(jsonPw) ? jsonPw.getString("device_code") : "");
|
||||||
|
|
||||||
|
// 产出Kg: 下线桶记录表汇总 - task_qty7
|
||||||
|
paramGx.put("flag", "5");
|
||||||
|
JSONObject jsonOut = WQL.getWO("QPDM_PRODUCTDAILYPLAN_3").addParamMap(paramGx).process().uniqueResult(0);
|
||||||
|
result.put("task_qty7",ObjectUtil.isNotEmpty(jsonOut) ? jsonOut.getDoubleValue("num") : 0);
|
||||||
|
|
||||||
|
// 操作人员 - task_qty8
|
||||||
|
result.put("task_qty8",ObjectUtil.isNotEmpty(jsonPw) ? jsonPw.getString("start_name") : "");
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 锤磨 压团 制粒
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 产出
|
||||||
|
*/
|
||||||
|
// 入库日期 - out_qty1
|
||||||
|
JSONObject jsonInTime = buckTab.query("material_id = '" + json.getString("material_id") + "' and pcsn = '" + json.getString("pcsn") + "' order by instor_time").uniqueResult(0);
|
||||||
|
|
||||||
|
if (ObjectUtil.isNotEmpty(jsonInTime)) {
|
||||||
|
result.put("out_qty1",ObjectUtil.isNotEmpty(jsonInTime.getString("instor_time")) ? jsonInTime.getString("instor_time").substring(0,10) : "");
|
||||||
|
}
|
||||||
|
|
||||||
|
// PG粉重量 - out_qty2
|
||||||
|
result.put("out_qty2",ObjectUtil.isNotEmpty(jsonOut) ? jsonOut.getDoubleValue("num") : 0);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,207 @@
|
|||||||
|
[交易说明]
|
||||||
|
交易名: 混合料场报表分页查询
|
||||||
|
所属模块:
|
||||||
|
功能简述:
|
||||||
|
版权所有:
|
||||||
|
表引用:
|
||||||
|
版本经历:
|
||||||
|
|
||||||
|
[数据库]
|
||||||
|
--指定数据库,为空采用默认值,默认为db.properties中列出的第一个库
|
||||||
|
|
||||||
|
[IO定义]
|
||||||
|
#################################################
|
||||||
|
## 表字段对应输入参数
|
||||||
|
#################################################
|
||||||
|
输入.flag TYPEAS s_string
|
||||||
|
输入.material_code TYPEAS s_string
|
||||||
|
输入.begin_time TYPEAS s_string
|
||||||
|
输入.end_time TYPEAS s_string
|
||||||
|
输入.device_id TYPEAS s_string
|
||||||
|
|
||||||
|
输入.planstart_time TYPEAS s_string
|
||||||
|
输入.device_code TYPEAS s_string
|
||||||
|
输入.material_id TYPEAS f_string
|
||||||
|
|
||||||
|
|
||||||
|
[临时表]
|
||||||
|
--这边列出来的临时表就会在运行期动态创建
|
||||||
|
|
||||||
|
[临时变量]
|
||||||
|
--所有中间过程变量均可在此处定义
|
||||||
|
|
||||||
|
[业务过程]
|
||||||
|
|
||||||
|
##########################################
|
||||||
|
# 1、输入输出检查 #
|
||||||
|
##########################################
|
||||||
|
|
||||||
|
|
||||||
|
##########################################
|
||||||
|
# 2、主过程前处理 #
|
||||||
|
##########################################
|
||||||
|
|
||||||
|
|
||||||
|
##########################################
|
||||||
|
# 3、业务主过程 #
|
||||||
|
##########################################
|
||||||
|
|
||||||
|
IF 输入.flag = "1"
|
||||||
|
PAGEQUERY
|
||||||
|
SELECT
|
||||||
|
SUBSTRING(workorder.planstart_time,1,10) AS planstart_time,
|
||||||
|
device.device_code,
|
||||||
|
MAX(device.device_name) AS device_name
|
||||||
|
FROM
|
||||||
|
pdm_bi_workorder workorder
|
||||||
|
INNER JOIN pdm_bi_worktask workTask ON workTask.workorder_id = workorder.workorder_id AND workTask.workprocedure_code = 'GX003'
|
||||||
|
INNER JOIN em_bi_deviceinfo device ON workTask.device_id = device.device_id AND device.is_produceuse = '1'
|
||||||
|
WHERE
|
||||||
|
device.workprocedure_id = '1472449923327856640'
|
||||||
|
AND workorder.is_delete = '0'
|
||||||
|
|
||||||
|
OPTION 输入.material_code <> ""
|
||||||
|
mater.material_code = 输入.material_code
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.device_id <> ""
|
||||||
|
workorder.device_id = 输入.device_id
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.begin_time <> ""
|
||||||
|
workorder.planstart_time >= 输入.begin_time
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.end_time <> ""
|
||||||
|
workorder.planstart_time <= 输入.end_time
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
GROUP BY planstart_time,device.device_code
|
||||||
|
|
||||||
|
ENDSELECT
|
||||||
|
ENDPAGEQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "2"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
SUM(dtl.formula_qty) AS num,
|
||||||
|
mater.material_type_id,
|
||||||
|
class.class_name
|
||||||
|
FROM
|
||||||
|
pdm_bi_formuladtl dtl
|
||||||
|
LEFT JOIN pdm_bi_formula mst ON mst.formula_id = dtl.formula_id
|
||||||
|
LEFT JOIN pdm_bi_workorder workorder ON mst.workorder_id = workorder.workorder_id
|
||||||
|
INNER JOIN pdm_bi_worktask workTask ON workTask.workorder_id = workorder.workorder_id AND workTask.workprocedure_code = 'GX003'
|
||||||
|
INNER JOIN em_bi_deviceinfo device ON workTask.device_id = device.device_id AND device.is_produceuse = '1'
|
||||||
|
LEFT JOIN md_me_materialbase mater ON mater.material_id = dtl.material_id
|
||||||
|
LEFT JOIN md_pb_classstandard class ON mater.material_type_id = class.class_id
|
||||||
|
WHERE
|
||||||
|
device.workprocedure_id = '1472449923327856640'
|
||||||
|
AND workorder.is_delete = '0'
|
||||||
|
AND mst.is_delete = '0'
|
||||||
|
AND dtl.material_type = '01'
|
||||||
|
|
||||||
|
OPTION 输入.planstart_time <> ""
|
||||||
|
SUBSTRING(workorder.planstart_time,1,10) = 输入.planstart_time
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.device_code <> ""
|
||||||
|
device.device_code = 输入.device_code
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.material_id <> ""
|
||||||
|
mater.material_id in 输入.material_id
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
group by mater.material_type_id
|
||||||
|
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "3"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
SUM(dtl.formula_qty) AS num,
|
||||||
|
class.class_id AS material_type_id,
|
||||||
|
class.class_name
|
||||||
|
FROM
|
||||||
|
pdm_bi_formuladtl dtl
|
||||||
|
LEFT JOIN pdm_bi_formula mst ON mst.formula_id = dtl.formula_id
|
||||||
|
LEFT JOIN pdm_bi_workorder workorder ON mst.workorder_id = workorder.workorder_id
|
||||||
|
INNER JOIN pdm_bi_worktask workTask ON workTask.workorder_id = workorder.workorder_id AND workTask.workprocedure_code = 'GX003'
|
||||||
|
INNER JOIN em_bi_deviceinfo device ON workTask.device_id = device.device_id AND device.is_produceuse = '1'
|
||||||
|
LEFT JOIN md_pb_classstandard class ON dtl.material_id = class.class_id
|
||||||
|
WHERE
|
||||||
|
device.workprocedure_id = '1472449923327856640'
|
||||||
|
AND workorder.is_delete = '0'
|
||||||
|
AND mst.is_delete = '0'
|
||||||
|
AND dtl.material_type = '02'
|
||||||
|
|
||||||
|
OPTION 输入.planstart_time <> ""
|
||||||
|
SUBSTRING(workorder.planstart_time,1,10) = 输入.planstart_time
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.device_code <> ""
|
||||||
|
device.device_code = 输入.device_code
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
group by class.class_id
|
||||||
|
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "4"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
SUM(ne.qty) AS num
|
||||||
|
FROM
|
||||||
|
PDM_BI_ProcedureOffline ne
|
||||||
|
LEFT JOIN pdm_bi_workorder workorder ON ne.workorder_id = workorder.workorder_id
|
||||||
|
LEFT JOIN md_pb_bucketrecord buck ON ne.bucketunique = buck.bucketunique
|
||||||
|
INNER JOIN pdm_bi_worktask workTask ON workTask.workorder_id = workorder.workorder_id AND workTask.workprocedure_code = 'GX003'
|
||||||
|
INNER JOIN em_bi_deviceinfo device ON workTask.device_id = device.device_id AND device.is_produceuse = '1'
|
||||||
|
WHERE
|
||||||
|
device.workprocedure_id = '1472449923327856640'
|
||||||
|
AND workorder.is_delete = '0'
|
||||||
|
AND buck.quality_scode <> '02'
|
||||||
|
|
||||||
|
OPTION 输入.planstart_time <> ""
|
||||||
|
SUBSTRING(workorder.planstart_time,1,10) = 输入.planstart_time
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.device_code <> ""
|
||||||
|
device.device_code = 输入.device_code
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "5"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
SUM(buck.storage_qty) AS num
|
||||||
|
FROM
|
||||||
|
md_pb_bucketrecord buck
|
||||||
|
LEFT JOIN pdm_bi_workorder workorder ON buck.material_id = workorder.material_id AND buck.pcsn = workorder.pcsn
|
||||||
|
INNER JOIN pdm_bi_worktask workTask ON workTask.workorder_id = workorder.workorder_id AND workTask.workprocedure_code = 'GX003'
|
||||||
|
INNER JOIN em_bi_deviceinfo device ON workTask.device_id = device.device_id AND device.is_produceuse = '1'
|
||||||
|
WHERE
|
||||||
|
device.workprocedure_id = '1472449923327856640'
|
||||||
|
AND workorder.is_delete = '0'
|
||||||
|
AND buck.quality_scode = '02'
|
||||||
|
|
||||||
|
OPTION 输入.planstart_time <> ""
|
||||||
|
SUBSTRING(workorder.planstart_time,1,10) = 输入.planstart_time
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.device_code <> ""
|
||||||
|
device.device_code = 输入.device_code
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
@@ -0,0 +1,162 @@
|
|||||||
|
[交易说明]
|
||||||
|
交易名: 混合料场报表明细查询
|
||||||
|
所属模块:
|
||||||
|
功能简述:
|
||||||
|
版权所有:
|
||||||
|
表引用:
|
||||||
|
版本经历:
|
||||||
|
|
||||||
|
[数据库]
|
||||||
|
--指定数据库,为空采用默认值,默认为db.properties中列出的第一个库
|
||||||
|
|
||||||
|
[IO定义]
|
||||||
|
#################################################
|
||||||
|
## 表字段对应输入参数
|
||||||
|
#################################################
|
||||||
|
输入.flag TYPEAS s_string
|
||||||
|
输入.planstart_time TYPEAS s_string
|
||||||
|
输入.device_code TYPEAS s_string
|
||||||
|
|
||||||
|
输入.workorder_id TYPEAS s_string
|
||||||
|
输入.material_id TYPEAS f_string
|
||||||
|
|
||||||
|
输入.workprocedure_code TYPEAS s_string
|
||||||
|
|
||||||
|
|
||||||
|
[临时表]
|
||||||
|
--这边列出来的临时表就会在运行期动态创建
|
||||||
|
|
||||||
|
[临时变量]
|
||||||
|
--所有中间过程变量均可在此处定义
|
||||||
|
|
||||||
|
[业务过程]
|
||||||
|
|
||||||
|
##########################################
|
||||||
|
# 1、输入输出检查 #
|
||||||
|
##########################################
|
||||||
|
|
||||||
|
|
||||||
|
##########################################
|
||||||
|
# 2、主过程前处理 #
|
||||||
|
##########################################
|
||||||
|
|
||||||
|
|
||||||
|
##########################################
|
||||||
|
# 3、业务主过程 #
|
||||||
|
##########################################
|
||||||
|
|
||||||
|
IF 输入.flag = "1"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
workorder.*,
|
||||||
|
mater.material_code,
|
||||||
|
ext.old_mark
|
||||||
|
FROM
|
||||||
|
pdm_bi_workorder workorder
|
||||||
|
INNER JOIN pdm_bi_worktask workTask ON workTask.workorder_id = workorder.workorder_id AND workTask.workprocedure_code = 'GX003'
|
||||||
|
INNER JOIN em_bi_deviceinfo device ON workTask.device_id = device.device_id AND device.is_produceuse = '1'
|
||||||
|
INNER JOIN md_me_materialbase mater ON workTask.material_id = mater.material_id
|
||||||
|
INNER JOIN MD_ME_ProducMaterialExt ext ON ext.material_id = mater.material_id
|
||||||
|
WHERE
|
||||||
|
device.workprocedure_id = '1472449923327856640'
|
||||||
|
AND workorder.is_delete = '0'
|
||||||
|
|
||||||
|
OPTION 输入.planstart_time <> ""
|
||||||
|
SUBSTRING(workorder.planstart_time,1,10) = 输入.planstart_time
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.device_code <> ""
|
||||||
|
device.device_code = 输入.device_code
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "2"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
SUM(dtl.formula_qty) AS num,
|
||||||
|
mater.material_type_id
|
||||||
|
FROM
|
||||||
|
pdm_bi_formuladtl dtl
|
||||||
|
LEFT JOIN pdm_bi_formula mst ON mst.formula_id = dtl.formula_id
|
||||||
|
LEFT JOIN md_me_materialbase mater ON mater.material_id = dtl.material_id
|
||||||
|
WHERE
|
||||||
|
dtl.material_type = '01'
|
||||||
|
|
||||||
|
OPTION 输入.workorder_id <> ""
|
||||||
|
mst.workorder_id = 输入.workorder_id
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.material_id <> ""
|
||||||
|
dtl.material_id in 输入.material_id
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
group by mater.material_type_id
|
||||||
|
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "3"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
SUM(dtl.formula_qty) AS num,
|
||||||
|
class.class_id AS material_type_id
|
||||||
|
FROM
|
||||||
|
pdm_bi_formuladtl dtl
|
||||||
|
LEFT JOIN pdm_bi_formula mst ON mst.formula_id = dtl.formula_id
|
||||||
|
LEFT JOIN md_pb_classstandard class ON class.class_id = dtl.material_id
|
||||||
|
WHERE
|
||||||
|
dtl.material_type = '02'
|
||||||
|
|
||||||
|
OPTION 输入.workorder_id <> ""
|
||||||
|
mst.workorder_id = 输入.workorder_id
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
group by class.class_id
|
||||||
|
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "4"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
workTask.*,
|
||||||
|
device.device_code
|
||||||
|
FROM
|
||||||
|
pdm_bi_worktask workTask
|
||||||
|
LEFT JOIN em_bi_deviceinfo device ON device.device_id = workTask.device_id
|
||||||
|
WHERE
|
||||||
|
1 = 1
|
||||||
|
|
||||||
|
OPTION 输入.workorder_id <> ""
|
||||||
|
workTask.workorder_id = 输入.workorder_id
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
OPTION 输入.workprocedure_code <> ""
|
||||||
|
workTask.workprocedure_code = 输入.workprocedure_code
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "5"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
SUM(qty) AS num
|
||||||
|
FROM
|
||||||
|
PDM_BI_ProcedureOffline
|
||||||
|
WHERE
|
||||||
|
1 = 1
|
||||||
|
|
||||||
|
OPTION 输入.workorder_id <> ""
|
||||||
|
workorder_id = 输入.workorder_id
|
||||||
|
ENDOPTION
|
||||||
|
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
@@ -54,4 +54,12 @@ export function query2(params) {
|
|||||||
params
|
params
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
export default { add, edit, del, importExcel, query2, submit, submit2 }
|
|
||||||
|
export function querytable(data) {
|
||||||
|
return request({
|
||||||
|
url: 'api/dailyplan/querytable',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
export default { add, edit, del, importExcel, query2, submit, submit2, querytable }
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
<el-table-column prop="workorder_date" min-width="85" label="日期" align="center" :formatter="workorder_dateFormat" />
|
<el-table-column prop="workorder_date" min-width="85" label="日期" align="center" :formatter="workorder_dateFormat" />
|
||||||
<el-table-column prop="device_name" width="100" label="喷雾塔" align="center">
|
<el-table-column prop="device_name" width="100" label="喷雾塔" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-link type="warning">{{ scope.row.device_name }}</el-link>
|
<el-link type="warning" @click="querytable(scope.$index, scope.row)">{{ scope.row.device_name }}</el-link>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="投入(kg)" align="center">
|
<el-table-column label="投入(kg)" align="center">
|
||||||
@@ -107,8 +107,8 @@
|
|||||||
<!--表格渲染-->
|
<!--表格渲染-->
|
||||||
<el-table ref="table2" v-loading="crud.loading" :data="tableDtl" :max-height="590" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
<el-table ref="table2" v-loading="crud.loading" :data="tableDtl" :max-height="590" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
||||||
<el-table-column type="index" label="序号" width="55" align="center" />
|
<el-table-column type="index" label="序号" width="55" align="center" />
|
||||||
<el-table-column prop="pw_time" label="配粉日期" width="140" align="center" />
|
<el-table-column prop="pw_time" label="配粉日期" width="140" align="center" show-overflow-tooltip />
|
||||||
<el-table-column prop="material_code" label="物料编码" width="100" align="center" />
|
<el-table-column prop="material_code" label="物料编码" width="100" align="center" show-overflow-tooltip />
|
||||||
<el-table-column prop="old_mark" label="牌号" width="100" align="center" />
|
<el-table-column prop="old_mark" label="牌号" width="100" align="center" />
|
||||||
<el-table-column prop="pcsn" label="批号" width="100" align="center" />
|
<el-table-column prop="pcsn" label="批号" width="100" align="center" />
|
||||||
<el-table-column prop="org_name" label="归属部门" width="100" align="center" />
|
<el-table-column prop="org_name" label="归属部门" width="100" align="center" />
|
||||||
@@ -139,25 +139,25 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="投料工序流记录" align="center">
|
<el-table-column label="投料工序流记录" align="center">
|
||||||
<el-table-column label="球磨" align="center">
|
<el-table-column label="球磨" align="center">
|
||||||
<el-table-column prop="task_qty1" label="开工日期" :formatter="crud.formatNum3" min-width="100" align="center" />
|
<el-table-column prop="task_qty1" label="开工日期" min-width="100" align="center" show-overflow-tooltip />
|
||||||
<el-table-column prop="task_qty2" label="设备号" :formatter="crud.formatNum3" min-width="80" align="center" />
|
<el-table-column prop="task_qty2" label="设备号" min-width="80" align="center" />
|
||||||
<el-table-column prop="task_qty3" label="操作人员" :formatter="crud.formatNum3" min-width="80" align="center" />
|
<el-table-column prop="task_qty3" label="操作人员" min-width="80" align="center" />
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="喷雾" align="center">
|
<el-table-column label="喷雾" align="center">
|
||||||
<el-table-column prop="task_qty4" label="计划日期" :formatter="crud.formatNum3" min-width="100" align="center" />
|
<el-table-column prop="task_qty4" label="计划日期" min-width="100" align="center" show-overflow-tooltip />
|
||||||
<el-table-column prop="task_qty5" label="执行日期" :formatter="crud.formatNum3" min-width="80" align="center" />
|
<el-table-column prop="task_qty5" label="执行日期" min-width="80" align="center" show-overflow-tooltip />
|
||||||
<el-table-column prop="task_qty6" label="设备号" :formatter="crud.formatNum3" min-width="100" align="center" />
|
<el-table-column prop="task_qty6" label="设备号" min-width="100" align="center" />
|
||||||
<el-table-column prop="task_qty7" label="产出Kg" :formatter="crud.formatNum3" min-width="80" align="center" />
|
<el-table-column prop="task_qty7" label="产出Kg" :formatter="crud.formatNum3" min-width="80" align="center" />
|
||||||
<el-table-column prop="task_qty8" label="操作人员" :formatter="crud.formatNum3" min-width="80" align="center" />
|
<el-table-column prop="task_qty8" label="操作人员" min-width="80" align="center" />
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="锤磨 压团 制粒" align="center">
|
<el-table-column label="锤磨 压团 制粒" align="center">
|
||||||
<el-table-column prop="task_qty9" label="日期" :formatter="crud.formatNum3" min-width="80" align="center" />
|
<el-table-column prop="task_qty9" label="日期" min-width="80" align="center" show-overflow-tooltip />
|
||||||
<el-table-column prop="task_qty10" label="生产线号" :formatter="crud.formatNum3" min-width="80" align="center" />
|
<el-table-column prop="task_qty10" label="生产线号" min-width="80" align="center" />
|
||||||
<el-table-column prop="task_qty11" label="操作人员" :formatter="crud.formatNum3" min-width="100" align="center" />
|
<el-table-column prop="task_qty11" label="操作人员" min-width="100" align="center" />
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="产出" align="center">
|
<el-table-column label="产出" align="center">
|
||||||
<el-table-column prop="out_qty1" label="入库日期" :formatter="crud.formatNum3" min-width="100" align="center" />
|
<el-table-column prop="out_qty1" label="入库日期" min-width="100" align="center" show-overflow-tooltip />
|
||||||
<el-table-column prop="out_qty2" label="PG粉重量" :formatter="crud.formatNum3" min-width="100" align="center" />
|
<el-table-column prop="out_qty2" label="PG粉重量" :formatter="crud.formatNum3" min-width="100" align="center" />
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@@ -224,6 +224,7 @@ export default {
|
|||||||
this.crud.query.end_time = (new Date().daysLater(0)).strftime('%F', 'zh')
|
this.crud.query.end_time = (new Date().daysLater(0)).strftime('%F', 'zh')
|
||||||
this.query_flag = false
|
this.query_flag = false
|
||||||
}
|
}
|
||||||
|
this.tableDtl = []
|
||||||
return true
|
return true
|
||||||
},
|
},
|
||||||
hand(value) {
|
hand(value) {
|
||||||
@@ -251,8 +252,10 @@ export default {
|
|||||||
}
|
}
|
||||||
this.crud.toQuery()
|
this.crud.toQuery()
|
||||||
},
|
},
|
||||||
querytable() {
|
querytable(index, row) {
|
||||||
this.crud.toQuery()
|
dailyplan.querytable(row).then(res => {
|
||||||
|
this.tableDtl = res
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user