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(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 jsonResultArr = new JSONArray();
@@ -69,7 +69,6 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService {
}));
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);
List<Object> mIdFormulaDtl = formulaDtlBymId.get(jsonDtl.getString("material_id"));
jsonResult.put(jsonDtl.getString("material_id")+"",jsonDtl.getString("material_name"));
if (!CollectionUtils.isEmpty(mIdFormulaDtl)) {
@@ -129,9 +128,23 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService {
@Override
public JSONArray getHeader(Map whereJson) {
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());
JSONArray resultJSONArray = WQL.getWO("QP_POWDERORDERQUERY01").addParam("flag", "20").addParam("classIds", classIds).process().getResultJSONArray(0);
HashMap<String, String> map = new HashMap<>();
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++) {
JSONObject json = resultJSONArray.getJSONObject(i);
@@ -180,8 +193,14 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService {
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"));
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+"%");
@@ -254,7 +273,6 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService {
jsonResultArr.add(jsonResult);
}
String classIds = classstandardService.getAllChildIdStr(MaterOptTypeEnum.YL_AND_FL_AND_RF.getClass_idStr());
List<Map<String, Object>> list = new ArrayList<>();
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("1"));
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++) {
JSONObject jsonObject = resultJSONArray.getJSONObject(t);

View File

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

View File

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