优化
This commit is contained in:
@@ -40,6 +40,13 @@ public class DailyplanController {
|
||||
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")
|
||||
@Log("查询月生产计划")
|
||||
@ApiOperation("查询月生产计划")
|
||||
|
||||
@@ -25,6 +25,13 @@ public interface DailyplanService {
|
||||
* @return Map<String,Object>
|
||||
*/
|
||||
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 /
|
||||
|
||||
@@ -85,7 +85,61 @@ public class DailyplanServiceImpl implements DailyplanService {
|
||||
jret.put("content",ja);
|
||||
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
|
||||
public JSONArray queryAll(Map whereJson) {
|
||||
HashMap<String, String> map = new HashMap<>(whereJson);
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
输入.begin_time TYPEAS s_string
|
||||
输入.end_time TYPEAS s_string
|
||||
输入.device_id TYPEAS s_string
|
||||
输入.old_mark TYPEAS s_string
|
||||
输入.workorder_type TYPEAS s_string
|
||||
|
||||
|
||||
@@ -148,6 +149,124 @@
|
||||
ENDQUERY
|
||||
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]() {
|
||||
if(this.query_flag){
|
||||
this.crud.query.begin_time = (new Date()).toISOString()
|
||||
this.crud.query.end_time = (new Date().daysLater(2)).toISOString()
|
||||
this.crud.query.begin_time = (new Date()).strftime('%F', 'zh')
|
||||
this.crud.query.end_time = (new Date().daysLater(2)).strftime('%F', 'zh')
|
||||
this.query_flag = false
|
||||
}
|
||||
this.handleCurrentChange()
|
||||
|
||||
@@ -301,8 +301,8 @@ export default {
|
||||
methods: {
|
||||
[CRUD.HOOK.beforeRefresh]() {
|
||||
if(this.query_flag){
|
||||
this.crud.query.begin_time = (new Date().daysAgo(2)).toISOString()
|
||||
this.crud.query.end_time = (new Date()).toISOString()
|
||||
this.crud.query.begin_time = (new Date().daysAgo(2)).strftime('%F', 'zh')
|
||||
this.crud.query.end_time = (new Date()).strftime('%F', 'zh')
|
||||
this.query_flag = false
|
||||
}
|
||||
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