This commit is contained in:
zds
2022-12-03 11:50:20 +08:00
parent 4fa3014bd8
commit 2f1a3ffb68
3 changed files with 182 additions and 108 deletions

View File

@@ -48,7 +48,7 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService {
if (ObjectUtil.isNotEmpty(pcsn)) map.put("pcsn", "%"+pcsn+"%"); if (ObjectUtil.isNotEmpty(pcsn)) map.put("pcsn", "%"+pcsn+"%");
if (ObjectUtil.isNotEmpty(material_code)) map.put("material_code", "%"+material_code+"%"); if (ObjectUtil.isNotEmpty(material_code)) map.put("material_code", "%"+material_code+"%");
JSONObject resultJson = WQL.getWO("QP_POWDERORDERQUERY01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "work.create_time desc,mater.material_code,work.pcsn"); JSONObject resultJson = WQL.getWO("QP_POWDERORDERQUERY01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "Formula.create_time desc,mater.material_code,Formula.pcsn");
JSONArray contentArr = resultJson.getJSONArray("content"); JSONArray contentArr = resultJson.getJSONArray("content");
JSONArray jsonResultArr = new JSONArray(); JSONArray jsonResultArr = new JSONArray();
@@ -69,7 +69,6 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService {
})); }));
for (int j = 0; j < dtlArr.size(); j++) { for (int j = 0; j < dtlArr.size(); j++) {
JSONObject jsonDtl = dtlArr.getJSONObject(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);
List<Object> mIdFormulaDtl = formulaDtlBymId.get(jsonDtl.getString("material_id")); List<Object> mIdFormulaDtl = formulaDtlBymId.get(jsonDtl.getString("material_id"));
jsonResult.put(jsonDtl.getString("material_id")+"",jsonDtl.getString("material_name")); jsonResult.put(jsonDtl.getString("material_id")+"",jsonDtl.getString("material_name"));
if (!CollectionUtils.isEmpty(mIdFormulaDtl)) { if (!CollectionUtils.isEmpty(mIdFormulaDtl)) {
@@ -129,9 +128,23 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService {
@Override @Override
public JSONArray getHeader(Map whereJson) { public JSONArray getHeader(Map whereJson) {
JSONArray jsonResultArr = new JSONArray(); JSONArray jsonResultArr = new JSONArray();
String pcsn = MapUtil.getStr(whereJson, "pcsn");
String material_code = MapUtil.getStr(whereJson, "material_code");
String classIds = classstandardService.getAllChildIdStr(MaterOptTypeEnum.YL_AND_FL_AND_RF.getClass_idStr()); HashMap<String, String> map = new HashMap<>();
JSONArray resultJSONArray = WQL.getWO("QP_POWDERORDERQUERY01").addParam("flag", "20").addParam("classIds", classIds).process().getResultJSONArray(0); String begin_time = MapUtil.getStr(whereJson, "begin_time");
if (StrUtil.isNotEmpty(begin_time)) {
map.put("begin_time", begin_time.substring(0,10)+" 00:00:00");
}
String end_time = MapUtil.getStr(whereJson, "end_time");
if (StrUtil.isNotEmpty(end_time)) {
map.put("end_time", end_time.substring(0,10)+" 23:59:59");
}
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 resultJSONArray = WQL.getWO("QP_POWDERORDERQUERY01").addParam("flag", "22").addParamMap(map).process().getResultJSONArray(0);
for (int i = 0; i < resultJSONArray.size(); i++) { for (int i = 0; i < resultJSONArray.size(); i++) {
JSONObject json = resultJSONArray.getJSONObject(i); JSONObject json = resultJSONArray.getJSONObject(i);
@@ -180,8 +193,14 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService {
HashMap<String, String> map = new HashMap<>(); HashMap<String, String> map = new HashMap<>();
map.put("flag", "4"); map.put("flag", "4");
map.put("begin_time", MapUtil.getStr(whereJson, "begin_time")); String begin_time = MapUtil.getStr(whereJson, "begin_time");
map.put("end_time", MapUtil.getStr(whereJson, "end_time")); if (StrUtil.isNotEmpty(begin_time)) {
map.put("begin_time", begin_time.substring(0,10)+" 00:00:00");
}
String end_time = MapUtil.getStr(whereJson, "end_time");
if (StrUtil.isNotEmpty(end_time)) {
map.put("end_time", end_time.substring(0,10)+" 23:59:59");
}
map.put("status", MapUtil.getStr(whereJson, "status")); map.put("status", MapUtil.getStr(whereJson, "status"));
if (ObjectUtil.isNotEmpty(pcsn)) map.put("pcsn", "%"+pcsn+"%"); if (ObjectUtil.isNotEmpty(pcsn)) map.put("pcsn", "%"+pcsn+"%");
if (ObjectUtil.isNotEmpty(material_code)) map.put("material_code", "%"+material_code+"%"); if (ObjectUtil.isNotEmpty(material_code)) map.put("material_code", "%"+material_code+"%");
@@ -254,7 +273,6 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService {
jsonResultArr.add(jsonResult); jsonResultArr.add(jsonResult);
} }
String classIds = classstandardService.getAllChildIdStr(MaterOptTypeEnum.YL_AND_FL_AND_RF.getClass_idStr());
List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
for (int k = 0; k < jsonResultArr.size(); k++) { for (int k = 0; k < jsonResultArr.size(); k++) {
@@ -264,7 +282,8 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService {
map_dtl.put("日期", json.getString("0")); map_dtl.put("日期", json.getString("0"));
map_dtl.put("产品编码", json.getString("1")); map_dtl.put("产品编码", json.getString("1"));
map_dtl.put("批号", json.getString("2")); map_dtl.put("批号", json.getString("2"));
JSONArray resultJSONArray = WQL.getWO("QP_POWDERORDERQUERY01").addParam("flag", "20").addParam("classIds", classIds).process().getResultJSONArray(0); map.put("flag", "20");
JSONArray resultJSONArray = WQL.getWO("QP_POWDERORDERQUERY01").addParamMap(map).process().getResultJSONArray(0);
for (int t = 0; t < resultJSONArray.size(); t++) { for (int t = 0; t < resultJSONArray.size(); t++) {
JSONObject jsonObject = resultJSONArray.getJSONObject(t); JSONObject jsonObject = resultJSONArray.getJSONObject(t);

View File

@@ -48,47 +48,38 @@
IF 输入.flag = "1" IF 输入.flag = "1"
PAGEQUERY PAGEQUERY
SELECT SELECT
work.create_time, Formula.create_time,
mater.material_code, mater.material_code,
work.pcsn, Formula.pcsn,
mst.formula_id, Formula.formula_id,
mst.ball_time, Formula.ball_time,
mst.product_series_id, Formula.product_series_id,
ext.c_balance, ext.c_balance,
ext.ball_rate, ext.ball_rate,
ext.liquid_rate ext.liquid_rate
FROM FROM
PDM_BI_WorkOrder work PDM_BI_Formula Formula
LEFT JOIN PDM_BI_Formula mst ON mst.workorder_id = work.workorder_id inner JOIN md_me_materialbase mater ON mater.material_id = Formula.material_id
LEFT JOIN md_me_materialbase mater ON mater.material_id = work.material_id inner JOIN MD_ME_ProducMaterialExt ext ON Formula.material_id = ext.material_id
LEFT JOIN MD_ME_ProducMaterialExt ext ON mater.material_id = ext.material_id
WHERE WHERE
mst.is_delete= '0' Formula.is_delete= '0'
AND work.is_delete= '0' AND Formula.bucket_type = '01'
AND mst.bucket_type = '01'
OPTION 输入.begin_time <> "" OPTION 输入.begin_time <> ""
work.create_time >= 输入.begin_time Formula.create_time >= 输入.begin_time
ENDOPTION ENDOPTION
OPTION 输入.end_time <> "" OPTION 输入.end_time <> ""
work.create_time <= 输入.end_time Formula.create_time <= 输入.end_time
ENDOPTION ENDOPTION
OPTION 输入.pcsn <> "" OPTION 输入.pcsn <> ""
work.pcsn like 输入.pcsn Formula.pcsn like 输入.pcsn
ENDOPTION ENDOPTION
OPTION 输入.status <> "" OPTION 输入.status <> ""
work.status = 输入.status Formula.status = 输入.status
ENDOPTION ENDOPTION
OPTION 输入.material_code <> "" OPTION 输入.material_code <> ""
(mater.material_code like 输入.material_code or (mater.material_code like 输入.material_code or
mater.material_name like 输入.material_code) mater.material_name like 输入.material_code)
ENDOPTION ENDOPTION
ENDSELECT ENDSELECT
ENDPAGEQUERY ENDPAGEQUERY
ENDIF ENDIF
@@ -105,9 +96,9 @@
else 3 end) AS order_no else 3 end) AS order_no
FROM FROM
PDM_BI_FormulaDtl dtl PDM_BI_FormulaDtl dtl
LEFT JOIN md_me_materialbase mater ON dtl.material_id = mater.material_id inner JOIN md_me_materialbase mater ON dtl.material_id = mater.material_id
LEFT JOIN md_pb_classstandard class ON class.class_id = mater.material_type_id inner JOIN md_pb_classstandard class ON class.class_id = mater.material_type_id
WHERE 1=1 WHERE 1=1 and dtl.material_type='01'
OPTION 输入.classIds <> "" OPTION 输入.classIds <> ""
mater.material_type_id in 输入.classIds mater.material_type_id in 输入.classIds
ENDOPTION ENDOPTION
@@ -126,8 +117,8 @@
else 3 end) AS order_no else 3 end) AS order_no
FROM FROM
PDM_BI_FormulaDtl dtl PDM_BI_FormulaDtl dtl
LEFT JOIN md_pb_classstandard class ON class.class_id = dtl.material_id inner JOIN md_pb_classstandard class ON class.class_id = dtl.material_id
WHERE 1=1 WHERE 1=1 and dtl.material_type='02'
OPTION 输入.classIds <> "" OPTION 输入.classIds <> ""
class.class_id in 输入.classIds class.class_id in 输入.classIds
ENDOPTION ENDOPTION
@@ -152,9 +143,10 @@
dtl.formula_qty dtl.formula_qty
FROM FROM
PDM_BI_FormulaDtl dtl PDM_BI_FormulaDtl dtl
LEFT JOIN md_me_materialbase mater ON dtl.material_id = mater.material_id inner JOIN md_me_materialbase mater ON dtl.material_id = mater.material_id
WHERE WHERE
1=1 1=1
and dtl.material_type='01'
OPTION 输入.formula_id <> "" OPTION 输入.formula_id <> ""
dtl.formula_id = 输入.formula_id dtl.formula_id = 输入.formula_id
ENDOPTION ENDOPTION
@@ -168,9 +160,10 @@
dtl.formula_qty dtl.formula_qty
FROM FROM
PDM_BI_FormulaDtl dtl PDM_BI_FormulaDtl dtl
LEFT JOIN md_pb_classstandard class ON class.class_id = dtl.material_id inner JOIN md_pb_classstandard class ON class.class_id = dtl.material_id
WHERE WHERE
1=1 1=1
and dtl.material_type='02'
OPTION 输入.formula_id <> "" OPTION 输入.formula_id <> ""
dtl.formula_id = 输入.formula_id dtl.formula_id = 输入.formula_id
ENDOPTION ENDOPTION
@@ -182,40 +175,36 @@
IF 输入.flag = "4" IF 输入.flag = "4"
QUERY QUERY
SELECT SELECT
work.create_time, Formula.create_time,
mater.material_code, mater.material_code,
work.pcsn, Formula.pcsn,
mst.formula_id, Formula.formula_id,
mst.ball_time, Formula.ball_time,
mst.product_series_id, Formula.product_series_id,
ext.c_balance, ext.c_balance,
ext.ball_rate, ext.ball_rate,
ext.liquid_rate ext.liquid_rate
FROM FROM
PDM_BI_WorkOrder work PDM_BI_Formula Formula
LEFT JOIN PDM_BI_Formula mst ON mst.workorder_id = work.workorder_id inner JOIN md_me_materialbase mater ON mater.material_id = Formula.material_id
LEFT JOIN md_me_materialbase mater ON mater.material_id = work.material_id inner JOIN MD_ME_ProducMaterialExt ext ON Formula.material_id = ext.material_id
LEFT JOIN MD_ME_ProducMaterialExt ext ON mater.material_id = ext.material_id
WHERE WHERE
mst.is_delete= '0' Formula.is_delete= '0'
AND work.is_delete= '0' AND Formula.bucket_type = '01'
AND mst.bucket_type = '01'
OPTION 输入.begin_time <> "" OPTION 输入.begin_time <> ""
work.create_time >= 输入.begin_time Formula.create_time >= 输入.begin_time
ENDOPTION ENDOPTION
OPTION 输入.end_time <> "" OPTION 输入.end_time <> ""
work.create_time <= 输入.end_time Formula.create_time <= 输入.end_time
ENDOPTION ENDOPTION
OPTION 输入.pcsn <> "" OPTION 输入.pcsn <> ""
work.pcsn like 输入.pcsn Formula.pcsn like 输入.pcsn
ENDOPTION ENDOPTION
OPTION 输入.status <> "" OPTION 输入.status <> ""
work.status = 输入.status Formula.status = 输入.status
ENDOPTION ENDOPTION
OPTION 输入.material_code <> "" OPTION 输入.material_code <> ""
@@ -223,7 +212,7 @@
mater.material_name like 输入.material_code) mater.material_name like 输入.material_code)
ENDOPTION ENDOPTION
work.create_time desc,mater.material_code,work.pcsn order by Formula.create_time desc,mater.material_code,Formula.pcsn
ENDSELECT ENDSELECT
ENDQUERY ENDQUERY
@@ -233,9 +222,9 @@
QUERY QUERY
SELECT SELECT
MAX(dtl.formuladtl_id) AS formuladtl_id, MAX(dtl.formuladtl_id) AS formuladtl_id,
mater.material_id AS material_id, mater2.material_id AS material_id,
MAX(mater.material_name) AS material_name, MAX(mater2.material_name) AS material_name,
MAX(mater.material_code) AS material_code, MAX(mater2.material_code) AS material_code,
group_concat(dtl.pcsn separator '+') AS pcsn, group_concat(dtl.pcsn separator '+') AS pcsn,
group_concat(dtl.formula_qty separator '+') AS formula_qty, group_concat(dtl.formula_qty separator '+') AS formula_qty,
(case when class.class_id = '1503644362192588800' then 1 (case when class.class_id = '1503644362192588800' then 1
@@ -244,12 +233,27 @@
when class.class_id = '1503644362234531840' then 5 when class.class_id = '1503644362234531840' then 5
else 3 end) AS order_no else 3 end) AS order_no
FROM FROM
PDM_BI_FormulaDtl dtl PDM_BI_Formula Formula
LEFT JOIN md_me_materialbase mater ON dtl.material_id = mater.material_id inner JOIN PDM_BI_FormulaDtl dtl ON dtl.formula_id = Formula.formula_id
LEFT JOIN md_pb_classstandard class ON class.class_id = mater.material_type_id inner JOIN md_me_materialbase mater1 ON mater1.material_id = Formula.material_id
WHERE 1=1 inner JOIN md_me_materialbase mater2 ON mater2.material_id = dtl.material_id
OPTION 输入.classIds <> "" inner JOIN md_pb_classstandard class ON class.class_id = mater2.material_type_id
mater.material_type_id in 输入.classIds WHERE 1=1 and dtl.material_type='01'
OPTION 输入.begin_time <> ""
Formula.create_time >= 输入.begin_time
ENDOPTION
OPTION 输入.end_time <> ""
Formula.create_time <= 输入.end_time
ENDOPTION
OPTION 输入.pcsn <> ""
Formula.pcsn like 输入.pcsn
ENDOPTION
OPTION 输入.status <> ""
Formula.status = 输入.status
ENDOPTION
OPTION 输入.material_code <> ""
(mater1.material_code like 输入.material_code or
mater1.material_name like 输入.material_code)
ENDOPTION ENDOPTION
group by material_id group by material_id
union union
@@ -266,11 +270,26 @@
when class.class_id = '1503644362234531840' then 5 when class.class_id = '1503644362234531840' then 5
else 3 end) AS order_no else 3 end) AS order_no
FROM FROM
PDM_BI_FormulaDtl dtl PDM_BI_Formula Formula
LEFT JOIN md_pb_classstandard class ON class.class_id = dtl.material_id inner JOIN PDM_BI_FormulaDtl dtl ON dtl.formula_id = Formula.formula_id
WHERE 1=1 inner JOIN md_me_materialbase mater1 ON mater1.material_id = Formula.material_id
OPTION 输入.classIds <> "" inner JOIN md_pb_classstandard class ON class.class_id = dtl.material_id
class.class_id in 输入.classIds WHERE 1=1 and dtl.material_type='02'
OPTION 输入.begin_time <> ""
Formula.create_time >= 输入.begin_time
ENDOPTION
OPTION 输入.end_time <> ""
Formula.create_time <= 输入.end_time
ENDOPTION
OPTION 输入.pcsn <> ""
Formula.pcsn like 输入.pcsn
ENDOPTION
OPTION 输入.status <> ""
Formula.status = 输入.status
ENDOPTION
OPTION 输入.material_code <> ""
(mater1.material_code like 输入.material_code or
mater1.material_name like 输入.material_code)
ENDOPTION ENDOPTION
group by material_id group by material_id
@@ -280,39 +299,74 @@
ENDQUERY ENDQUERY
ENDIF ENDIF
IF 输入.flag = "21" IF 输入.flag = "22"
QUERY QUERY
SELECT SELECT
mst.formula_id dtl.material_id AS material_id,
MAX(mater2.material_code) AS material_code,
(case when class.class_id = '1503644362192588800' then 1
when class.class_id = '1503644361664106496' then 2
when class.class_id = '1503644362788179968' then 4
when class.class_id = '1503644362234531840' then 5
else 3 end) AS order_no
FROM FROM
PDM_BI_WorkOrder work PDM_BI_Formula Formula
LEFT JOIN PDM_BI_Formula mst ON mst.workorder_id = work.workorder_id inner JOIN PDM_BI_FormulaDtl dtl ON dtl.formula_id = Formula.formula_id
LEFT JOIN md_me_materialbase mater ON mater.material_id = work.material_id inner JOIN md_me_materialbase mater1 ON mater1.material_id = Formula.material_id
LEFT JOIN MD_ME_ProducMaterialExt ext ON mater.material_id = ext.material_id inner JOIN md_me_materialbase mater2 ON mater2.material_id = dtl.material_id
WHERE inner JOIN md_pb_classstandard class ON class.class_id = mater2.material_type_id
mst.is_delete= '0' WHERE 1=1 and dtl.material_type='01'
AND work.is_delete= '0'
AND mst.bucket_type = '01'
OPTION 输入.begin_time <> "" OPTION 输入.begin_time <> ""
work.create_time >= 输入.begin_time Formula.create_time >= 输入.begin_time
ENDOPTION ENDOPTION
OPTION 输入.end_time <> "" OPTION 输入.end_time <> ""
work.create_time <= 输入.end_time Formula.create_time <= 输入.end_time
ENDOPTION ENDOPTION
OPTION 输入.pcsn <> "" OPTION 输入.pcsn <> ""
work.pcsn like 输入.pcsn Formula.pcsn like 输入.pcsn
ENDOPTION ENDOPTION
OPTION 输入.status <> "" OPTION 输入.status <> ""
work.status = 输入.status Formula.status = 输入.status
ENDOPTION
OPTION 输入.material_code <> ""
(mater1.material_code like 输入.material_code or
mater1.material_name like 输入.material_code)
ENDOPTION
group by material_id
union
SELECT
class.class_id AS material_id,
MAX(class.class_code) AS material_code,
(case when class.class_id = '1503644362192588800' then 1
when class.class_id = '1503644361664106496' then 2
when class.class_id = '1503644362788179968' then 4
when class.class_id = '1503644362234531840' then 5
else 3 end) AS order_no
FROM
PDM_BI_Formula Formula
inner JOIN PDM_BI_FormulaDtl dtl ON dtl.formula_id = Formula.formula_id
inner JOIN md_me_materialbase mater1 ON mater1.material_id = Formula.material_id
inner JOIN md_pb_classstandard class ON class.class_id = dtl.material_id
WHERE 1=1 and dtl.material_type='02'
OPTION 输入.begin_time <> ""
Formula.create_time >= 输入.begin_time
ENDOPTION
OPTION 输入.end_time <> ""
Formula.create_time <= 输入.end_time
ENDOPTION
OPTION 输入.pcsn <> ""
Formula.pcsn like 输入.pcsn
ENDOPTION
OPTION 输入.status <> ""
Formula.status = 输入.status
ENDOPTION
OPTION 输入.material_code <> ""
(mater1.material_code like 输入.material_code or
mater1.material_name like 输入.material_code)
ENDOPTION ENDOPTION
OPTION 输入.material_code <> "" group by material_id
(mater.material_code like 输入.material_code or order by order_no,material_code
mater.material_name like 输入.material_code)
ENDOPTION
ENDSELECT ENDSELECT
ENDQUERY ENDQUERY

View File

@@ -63,7 +63,7 @@
@change="hand" @change="hand"
> >
<el-option <el-option
v-for="item in dict.workorder_status" v-for="item in dict.formula_status"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
/> />
@@ -121,7 +121,7 @@ import Date from '@/utils/datetime'
export default { export default {
name: 'Powderorder', name: 'Powderorder',
dicts: ['workorder_status'], dicts: ['formula_status'],
components: { pagination, crudOperation, rrOperation }, components: { pagination, crudOperation, rrOperation },
mixins: [presenter(), header(), crud()], mixins: [presenter(), header(), crud()],
cruds() { cruds() {
@@ -161,15 +161,16 @@ export default {
// 钩子在获取表格数据之前执行false 则代表不获取数据 // 钩子在获取表格数据之前执行false 则代表不获取数据
[CRUD.HOOK.beforeRefresh]() { [CRUD.HOOK.beforeRefresh]() {
this.crud.data = [] this.crud.data = []
this.cols = []
if (this.query_flag) { if (this.query_flag) {
this.crud.query.begin_time = (new Date().daysAgo(7)).strftime('%F', 'zh') this.crud.query.begin_time = (new Date().daysAgo(7)).strftime('%F', 'zh')
this.crud.query.end_time = (new Date()).strftime('%F', 'zh') this.crud.query.end_time = (new Date()).strftime('%F', 'zh')
this.query_flag = false this.query_flag = false
}
const now = this.crud.query const now = this.crud.query
crudPowderorder.getHeader(now).then(res => { crudPowderorder.getHeader(now).then(res => {
this.cols = res this.cols = res
}) })
}
return true return true
}, },
onInput() { onInput() {