优化
This commit is contained in:
@@ -40,6 +40,13 @@ public class DailyplanController {
|
|||||||
queryAll(whereJson,page),HttpStatus.OK);
|
queryAll(whereJson,page),HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/queryday")
|
||||||
|
@Log("查询月生产计划")
|
||||||
|
@ApiOperation("查询月生产计划")
|
||||||
|
public ResponseEntity<Object> queryday(@RequestParam Map whereJson, Pageable page){
|
||||||
|
return new ResponseEntity<>(dailyplanService.
|
||||||
|
queryday(whereJson,page),HttpStatus.OK);
|
||||||
|
}
|
||||||
@GetMapping("/query2")
|
@GetMapping("/query2")
|
||||||
@Log("查询月生产计划")
|
@Log("查询月生产计划")
|
||||||
@ApiOperation("查询月生产计划")
|
@ApiOperation("查询月生产计划")
|
||||||
|
|||||||
@@ -25,6 +25,13 @@ public interface DailyplanService {
|
|||||||
* @return Map<String,Object>
|
* @return Map<String,Object>
|
||||||
*/
|
*/
|
||||||
Map<String,Object> queryAll(Map whereJson, Pageable page);
|
Map<String,Object> queryAll(Map whereJson, Pageable page);
|
||||||
|
/**
|
||||||
|
* 查询数据分页
|
||||||
|
* @param whereJson 条件
|
||||||
|
* @param page 分页参数
|
||||||
|
* @return Map<String,Object>
|
||||||
|
*/
|
||||||
|
Map<String,Object> queryday(Map whereJson, Pageable page);
|
||||||
/**
|
/**
|
||||||
* 创建
|
* 创建
|
||||||
* @param json /
|
* @param json /
|
||||||
|
|||||||
@@ -85,7 +85,61 @@ public class DailyplanServiceImpl implements DailyplanService {
|
|||||||
jret.put("content",ja);
|
jret.put("content",ja);
|
||||||
return jret;
|
return jret;
|
||||||
}
|
}
|
||||||
|
@Override
|
||||||
|
public Map<String, Object> queryday(Map whereJson, Pageable page) {
|
||||||
|
HashMap<String, String> map = new HashMap<>(whereJson);
|
||||||
|
|
||||||
|
String material_code = map.get("material_code");
|
||||||
|
if (StrUtil.isNotEmpty(material_code)) {
|
||||||
|
map.put("material_code", "%" + material_code + "%");
|
||||||
|
}
|
||||||
|
String begin_time = map.get("begin_time");
|
||||||
|
if (StrUtil.isNotEmpty(begin_time)) {
|
||||||
|
map.put("begin_time", begin_time.substring(0,10)+" 00:00:00");
|
||||||
|
}
|
||||||
|
String end_time = map.get("end_time");
|
||||||
|
if (StrUtil.isNotEmpty(end_time)) {
|
||||||
|
map.put("end_time", end_time.substring(0,10)+" 23:59:59");
|
||||||
|
}
|
||||||
|
map.put("flag", "3");
|
||||||
|
JSONObject jret = WQL.getWO("QPDM_PRODUCTDAILYPLAN").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "WorkOrder.planstart_time,WorkOrder.device_id,ext.old_mark");
|
||||||
|
JSONArray json = jret.getJSONArray("content");
|
||||||
|
JSONArray ja = new JSONArray();
|
||||||
|
for(int i=0;i<json.size();i++){
|
||||||
|
JSONObject jo = json.getJSONObject(i);
|
||||||
|
String planstart_time = jo.getString("planstart_time");
|
||||||
|
JSONObject last = WQL.getWO("QPDM_PRODUCTDAILYPLAN")
|
||||||
|
.addParam("flag", "4")
|
||||||
|
.addParam("begin_time", "%"+planstart_time.substring(0,10)+"%")
|
||||||
|
.addParam("device_id",jo.getString("device_id"))
|
||||||
|
.addParam("old_mark",jo.getString("old_mark"))
|
||||||
|
.process().uniqueResult(0);
|
||||||
|
if(last!=null){
|
||||||
|
jo.put("pw_time",last.getString("realend_time"));
|
||||||
|
}
|
||||||
|
JSONObject last5 = WQL.getWO("QPDM_PRODUCTDAILYPLAN")
|
||||||
|
.addParam("flag", "5")
|
||||||
|
.addParam("begin_time", "%"+planstart_time.substring(0,10)+"%")
|
||||||
|
.addParam("device_id",jo.getString("device_id"))
|
||||||
|
.addParam("old_mark",jo.getString("old_mark"))
|
||||||
|
.process().uniqueResult(0);
|
||||||
|
if(last5!=null){
|
||||||
|
jo.put("in_time",last5.getString("create_time"));
|
||||||
|
}
|
||||||
|
JSONObject last6 = WQL.getWO("QPDM_PRODUCTDAILYPLAN")
|
||||||
|
.addParam("flag", "6")
|
||||||
|
.addParam("begin_time", "%"+planstart_time.substring(0,10)+"%")
|
||||||
|
.addParam("device_id",jo.getString("device_id"))
|
||||||
|
.addParam("old_mark",jo.getString("old_mark"))
|
||||||
|
.process().uniqueResult(0);
|
||||||
|
if(StrUtil.isNotEmpty(last6.getString("total_qty"))){
|
||||||
|
jo.put("in_qty",last6.getDouble("total_qty")/1000.0);
|
||||||
|
}
|
||||||
|
ja.add(jo);
|
||||||
|
}
|
||||||
|
jret.put("content",ja);
|
||||||
|
return jret;
|
||||||
|
}
|
||||||
@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);
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
输入.begin_time TYPEAS s_string
|
输入.begin_time TYPEAS s_string
|
||||||
输入.end_time TYPEAS s_string
|
输入.end_time TYPEAS s_string
|
||||||
输入.device_id TYPEAS s_string
|
输入.device_id TYPEAS s_string
|
||||||
|
输入.old_mark TYPEAS s_string
|
||||||
输入.workorder_type TYPEAS s_string
|
输入.workorder_type TYPEAS s_string
|
||||||
|
|
||||||
|
|
||||||
@@ -148,6 +149,124 @@
|
|||||||
ENDQUERY
|
ENDQUERY
|
||||||
ENDIF
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "3"
|
||||||
|
PAGEQUERY
|
||||||
|
SELECT
|
||||||
|
WorkOrder.planstart_time,
|
||||||
|
deviceinfo.device_code,
|
||||||
|
deviceinfo.device_name,
|
||||||
|
WorkOrder.device_id,
|
||||||
|
COUNT(*) AS product_num,
|
||||||
|
sum(WorkOrder.workorder_qty) AS sum_qty,
|
||||||
|
ext.old_mark,
|
||||||
|
ext.standard_mark,
|
||||||
|
materialbase.material_code
|
||||||
|
FROM
|
||||||
|
PDM_BI_WorkOrder WorkOrder
|
||||||
|
LEFT JOIN MD_ME_ProducMaterialExt ext ON WorkOrder.material_id = ext.material_id
|
||||||
|
LEFT JOIN md_me_materialbase materialbase ON WorkOrder.material_id = materialbase.material_id
|
||||||
|
LEFT JOIN em_bi_deviceinfo deviceinfo ON deviceinfo.device_id = WorkOrder.device_id
|
||||||
|
WHERE
|
||||||
|
1=1 and WorkOrder.is_delete='0'
|
||||||
|
AND deviceinfo.is_active = '1'
|
||||||
|
AND deviceinfo.is_delete = '0'
|
||||||
|
AND deviceinfo.is_produceuse = '1'
|
||||||
|
AND deviceinfo.workprocedure_code = 'GX003'
|
||||||
|
OPTION 输入.begin_time <> ""
|
||||||
|
WorkOrder.planstart_time >= 输入.begin_time
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.end_time <> ""
|
||||||
|
WorkOrder.planstart_time <= 输入.end_time
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.material_code <> ""
|
||||||
|
(materialbase.material_code like 输入.material_code or materialbase.material_name like 输入.material_code)
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.device_id <> ""
|
||||||
|
WorkOrder.device_id = 输入.device_id
|
||||||
|
ENDOPTION
|
||||||
|
group by WorkOrder.planstart_time,WorkOrder.device_id,ext.old_mark
|
||||||
|
ENDSELECT
|
||||||
|
ENDPAGEQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "4"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
WorkOrder.*,
|
||||||
|
ext.old_mark
|
||||||
|
FROM
|
||||||
|
PDM_BI_WorkOrder WorkOrder
|
||||||
|
LEFT JOIN MD_ME_ProducMaterialExt ext ON WorkOrder.material_id = ext.material_id
|
||||||
|
WHERE
|
||||||
|
1=1 and WorkOrder.is_delete='0'
|
||||||
|
and WorkOrder.status='99'
|
||||||
|
OPTION 输入.begin_time <> ""
|
||||||
|
WorkOrder.planstart_time like 输入.begin_time
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.old_mark <> ""
|
||||||
|
ext.old_mark = 输入.old_mark
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.device_id <> ""
|
||||||
|
WorkOrder.device_id = 输入.device_id
|
||||||
|
ENDOPTION
|
||||||
|
order by WorkOrder.realend_time desc
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "5"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
WorkOrder.workorder_id,
|
||||||
|
ProcedureOffline.diskrecord_id,
|
||||||
|
ProcedureOffline.qty,
|
||||||
|
ProcedureOffline.create_time
|
||||||
|
FROM
|
||||||
|
PDM_BI_WorkOrder WorkOrder
|
||||||
|
LEFT JOIN PDM_BI_ProcedureOffline ProcedureOffline ON ProcedureOffline.workorder_id = WorkOrder.workorder_id
|
||||||
|
LEFT JOIN MD_ME_ProducMaterialExt ext ON WorkOrder.material_id = ext.material_id
|
||||||
|
WHERE
|
||||||
|
1=1 and WorkOrder.is_delete='0'
|
||||||
|
and ProcedureOffline.status='1'
|
||||||
|
OPTION 输入.begin_time <> ""
|
||||||
|
WorkOrder.planstart_time like 输入.begin_time
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.old_mark <> ""
|
||||||
|
ext.old_mark = 输入.old_mark
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.device_id <> ""
|
||||||
|
WorkOrder.device_id = 输入.device_id
|
||||||
|
ENDOPTION
|
||||||
|
order by ProcedureOffline.create_time desc
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF 输入.flag = "6"
|
||||||
|
QUERY
|
||||||
|
SELECT
|
||||||
|
sum(ProcedureOffline.qty) AS total_qty,
|
||||||
|
WorkOrder.device_id
|
||||||
|
FROM
|
||||||
|
PDM_BI_WorkOrder WorkOrder
|
||||||
|
LEFT JOIN PDM_BI_ProcedureOffline ProcedureOffline ON ProcedureOffline.workorder_id = WorkOrder.workorder_id
|
||||||
|
LEFT JOIN MD_ME_ProducMaterialExt ext ON WorkOrder.material_id = ext.material_id
|
||||||
|
WHERE
|
||||||
|
1=1 and WorkOrder.is_delete='0'
|
||||||
|
and ProcedureOffline.status='1'
|
||||||
|
OPTION 输入.begin_time <> ""
|
||||||
|
WorkOrder.planstart_time like 输入.begin_time
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.old_mark <> ""
|
||||||
|
ext.old_mark = 输入.old_mark
|
||||||
|
ENDOPTION
|
||||||
|
OPTION 输入.device_id <> ""
|
||||||
|
WorkOrder.device_id = 输入.device_id
|
||||||
|
ENDOPTION
|
||||||
|
ENDSELECT
|
||||||
|
ENDQUERY
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -360,8 +360,8 @@ export default {
|
|||||||
},
|
},
|
||||||
[CRUD.HOOK.beforeRefresh]() {
|
[CRUD.HOOK.beforeRefresh]() {
|
||||||
if(this.query_flag){
|
if(this.query_flag){
|
||||||
this.crud.query.begin_time = (new Date()).toISOString()
|
this.crud.query.begin_time = (new Date()).strftime('%F', 'zh')
|
||||||
this.crud.query.end_time = (new Date().daysLater(2)).toISOString()
|
this.crud.query.end_time = (new Date().daysLater(2)).strftime('%F', 'zh')
|
||||||
this.query_flag = false
|
this.query_flag = false
|
||||||
}
|
}
|
||||||
this.handleCurrentChange()
|
this.handleCurrentChange()
|
||||||
|
|||||||
@@ -301,8 +301,8 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
[CRUD.HOOK.beforeRefresh]() {
|
[CRUD.HOOK.beforeRefresh]() {
|
||||||
if(this.query_flag){
|
if(this.query_flag){
|
||||||
this.crud.query.begin_time = (new Date().daysAgo(2)).toISOString()
|
this.crud.query.begin_time = (new Date().daysAgo(2)).strftime('%F', 'zh')
|
||||||
this.crud.query.end_time = (new Date()).toISOString()
|
this.crud.query.end_time = (new Date()).strftime('%F', 'zh')
|
||||||
this.query_flag = false
|
this.query_flag = false
|
||||||
}
|
}
|
||||||
this.handleCurrentChange()
|
this.handleCurrentChange()
|
||||||
|
|||||||
188
mes/qd/src/views/wms/statistics/productday/index.vue
Normal file
188
mes/qd/src/views/wms/statistics/productday/index.vue
Normal file
@@ -0,0 +1,188 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<!--工具栏-->
|
||||||
|
<div class="head-container">
|
||||||
|
<div v-if="crud.props.searchToggle">
|
||||||
|
<!-- 搜索 -->
|
||||||
|
|
||||||
|
<el-form
|
||||||
|
:inline="true"
|
||||||
|
class="demo-form-inline"
|
||||||
|
label-position="right"
|
||||||
|
label-width="90px"
|
||||||
|
label-suffix=":"
|
||||||
|
>
|
||||||
|
<el-form-item label="开始日期">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="query.createTime"
|
||||||
|
type="daterange"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
:default-time="['00:00:00', '23:59:59']"
|
||||||
|
@input="onInput()"
|
||||||
|
@change="mytoQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="产品">
|
||||||
|
<el-input
|
||||||
|
v-model="query.material_code"
|
||||||
|
clearable
|
||||||
|
size="mini"
|
||||||
|
placeholder="请输入物料编码"
|
||||||
|
style="width: 200px"
|
||||||
|
class="filter-item"
|
||||||
|
@keyup.enter.native="crud.toQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="关键设备">
|
||||||
|
<label slot="label">关键设备:</label>
|
||||||
|
<el-select
|
||||||
|
v-model="query.device_id"
|
||||||
|
clearable
|
||||||
|
size="mini"
|
||||||
|
placeholder="关键设备"
|
||||||
|
class="filter-item"
|
||||||
|
style="width: 200px"
|
||||||
|
@change="hand"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in Devices"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.id"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<rrOperation />
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||||
|
<crudOperation>
|
||||||
|
</crudOperation>
|
||||||
|
<!--表格渲染-->
|
||||||
|
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
||||||
|
<el-table-column type="index" label="序号" width="55" align="center" />
|
||||||
|
<el-table-column prop="workorder_date" min-width="85" label="工令日期" :formatter="workorder_dateFormat"/>
|
||||||
|
<el-table-column prop="device_name" label="关键设备" width="100" />
|
||||||
|
<el-table-column prop="old_mark" label="牌号" />
|
||||||
|
<el-table-column prop="sum_qty" label="重量(kg)" :formatter="crud.formatNum3" min-width="120" />
|
||||||
|
<el-table-column prop="product_num" label="批数" width="80" />
|
||||||
|
<el-table-column prop="pw_time" label="喷雾日期" width="140" />
|
||||||
|
<el-table-column prop="in_time" label="最后入库日期" width="100" />
|
||||||
|
<el-table-column prop="in_qty" label="入库重量(吨)" :formatter="crud.formatNum3" min-width="120" />
|
||||||
|
</el-table>
|
||||||
|
<!--分页组件-->
|
||||||
|
<pagination />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import producetask from '@/api/wms/pdm/producetask'
|
||||||
|
import dailyplan from '@/api/wms/pdm/dailyplan'
|
||||||
|
import CRUD, { presenter, header, crud } from '@crud/crud'
|
||||||
|
import rrOperation from '@crud/RR.operation'
|
||||||
|
import pagination from '@crud/Pagination'
|
||||||
|
import crudOperation from '@crud/CRUD.operation'
|
||||||
|
import Date from '@/utils/datetime'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'productday',
|
||||||
|
dicts: ['product_mode', 'workorder_type2', 'planstatus'],
|
||||||
|
components: { rrOperation, crudOperation, pagination },
|
||||||
|
mixins: [presenter(), header(), crud()],
|
||||||
|
cruds() {
|
||||||
|
return CRUD({
|
||||||
|
title: '粉料日计划表',
|
||||||
|
url: 'api/dailyplan/queryday',
|
||||||
|
idField: 'planstart_time',
|
||||||
|
sort: '',
|
||||||
|
query: { device_id: '' },
|
||||||
|
crudMethod: { ...dailyplan },
|
||||||
|
optShow: {
|
||||||
|
add: false,
|
||||||
|
edit: false,
|
||||||
|
del: false,
|
||||||
|
download: false,
|
||||||
|
reset: true
|
||||||
|
}})
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
dialogVisible: false,
|
||||||
|
Devices: [],
|
||||||
|
form: {},
|
||||||
|
query_flag: true,
|
||||||
|
rules: {
|
||||||
|
}}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
producetask.getDevices().then(res => {
|
||||||
|
this.Devices = res
|
||||||
|
})
|
||||||
|
this.crud.query.createTime = [new Date(), new Date().daysLater(0)]
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
[CRUD.HOOK.beforeRefresh]() {
|
||||||
|
if(this.query_flag){
|
||||||
|
this.crud.query.begin_time = (new Date()).strftime('%F', 'zh')
|
||||||
|
this.crud.query.end_time = (new Date().daysLater(0)).strftime('%F', 'zh')
|
||||||
|
this.query_flag = false
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
hand(value) {
|
||||||
|
this.crud.toQuery()
|
||||||
|
},
|
||||||
|
stateFormat(row) {
|
||||||
|
return this.dict.label.planstatus[row.status]
|
||||||
|
},
|
||||||
|
workorder_typeFormat(row) {
|
||||||
|
return this.dict.label.workorder_type2[row.workorder_type]
|
||||||
|
},
|
||||||
|
onInput() {
|
||||||
|
this.$forceUpdate()
|
||||||
|
},
|
||||||
|
MyQuery(value) {
|
||||||
|
this.crud.toQuery()
|
||||||
|
},
|
||||||
|
seriesFormat(row) {
|
||||||
|
for (const item of this.XLList) {
|
||||||
|
if (item.id === row.product_series) {
|
||||||
|
return item.name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
seriesFormat2(row) {
|
||||||
|
for (const item of this.XLList) {
|
||||||
|
if (item.id === row.mater_product_series) {
|
||||||
|
return item.name
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
workorder_dateFormat(row) {
|
||||||
|
return row.planstart_time.substring(0, 10)
|
||||||
|
},
|
||||||
|
mytoQuery(array1){
|
||||||
|
if(array1 === null){
|
||||||
|
this.crud.query.begin_time = ''
|
||||||
|
this.crud.query.end_time = ''
|
||||||
|
}else{
|
||||||
|
this.crud.query.begin_time = array1[0]
|
||||||
|
this.crud.query.end_time = array1[1]
|
||||||
|
}
|
||||||
|
this.crud.toQuery()
|
||||||
|
},
|
||||||
|
querytable() {
|
||||||
|
this.crud.toQuery()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
Reference in New Issue
Block a user