From d87802ba7e33bb639ca83a90615a56b085f73842 Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Wed, 10 Aug 2022 16:09:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nl/wms/pdm/rest/WorkOrderController.java | 7 ++ .../nl/wms/pdm/service/WorkOrdereService.java | 8 ++ .../service/impl/WorkOrderServiceImpl.java | 111 +++++++++++++++++- .../org/nl/wms/pdm/wql/QPDM_WORKORDER01.wql | 54 +++++++++ .../views/wms/pdm/produce/workorder/index.vue | 36 +++++- .../views/wms/pf/initformula/DivDialog.vue | 35 +++++- 6 files changed, 244 insertions(+), 7 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/WorkOrderController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/WorkOrderController.java index 057cce44..f4cb6008 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/WorkOrderController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/WorkOrderController.java @@ -15,6 +15,8 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.Map; @RestController @@ -99,4 +101,9 @@ public class WorkOrderController { public ResponseEntity getDepts(@RequestParam Map whereJson) { return new ResponseEntity<>(workOrdereService.getDepts(whereJson),HttpStatus.OK); } + @ApiOperation("导出数据") + @GetMapping(value = "/download") + public void download(HttpServletResponse response, @RequestParam Map whereJson) throws IOException { + workOrdereService.download(whereJson, response); + } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/WorkOrdereService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/WorkOrdereService.java index 8e40d819..9fe2f5b2 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/WorkOrdereService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/WorkOrdereService.java @@ -6,6 +6,8 @@ import com.alibaba.fastjson.JSONObject; import org.nl.wms.pdm.service.dto.ProcessrouteDto; import org.springframework.data.domain.Pageable; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.List; import java.util.Map; @@ -69,4 +71,10 @@ public interface WorkOrdereService { * @param whereJson / */ JSONArray getDepts(Map whereJson); + /** + * 导出数据 + * + * @param whereJson / + */ + void download(Map whereJson, HttpServletResponse response) throws IOException; } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkOrderServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkOrderServiceImpl.java index bfcd3864..cb94be7b 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkOrderServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WorkOrderServiceImpl.java @@ -16,6 +16,7 @@ import com.alibaba.fastjson.JSONObject; import org.nl.exception.BadRequestException; import org.nl.modules.security.service.dto.JwtUserDto; import org.nl.modules.system.util.CodeUtil; +import org.nl.utils.FileUtil; import org.nl.utils.SecurityUtils; import org.nl.wms.pdm.service.ProcessrouteService; import org.nl.wms.pdm.service.WorkOrdereService; @@ -28,10 +29,9 @@ import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.*; @Service @RequiredArgsConstructor @@ -814,4 +814,107 @@ public class WorkOrderServiceImpl implements WorkOrdereService { return ret; } + @Override + @Transactional(rollbackFor = Exception.class) + public void download(Map whereJson, HttpServletResponse response) throws IOException { + HashMap map = new HashMap<>(whereJson); + + map.put("flag", "15"); + String workorder_code = map.get("workorder_code"); + if (StrUtil.isNotEmpty(workorder_code)) { + map.put("workorder_code", "%" + workorder_code + "%"); + } + String pcsn = map.get("pcsn"); + if (StrUtil.isNotEmpty(pcsn)) { + map.put("pcsn", "%" + pcsn + "%"); + } + String material_id = map.get("material_id"); + if (StrUtil.isNotEmpty(material_id)) { + map.put("material_id", "%" + material_id + "%"); + } + 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"); + } + String device_code = map.get("device_code"); + if (StrUtil.isNotEmpty(device_code)) { + map.put("device_code", "%" + device_code + "%"); + } + JSONArray jsonArr = WQL.getWO("QPDM_WORKORDER01").addParamMap(map).process().getResultJSONArray(0); + List> list = new ArrayList<>(); + + WQLObject md_pb_classstandard = WQLObject.getWQLObject("md_pb_classstandard"); + WQLObject pdm_bi_workprocedure = WQLObject.getWQLObject("pdm_bi_workprocedure"); + for (int i = 0; i < jsonArr.size(); i++) { + JSONObject json = jsonArr.getJSONObject(i); + Map paramMap = new LinkedHashMap<>(); + paramMap.put("工令日期", json.getString("planstart_time").substring(0,10)); + paramMap.put("工令号", json.getString("workorder_code")); + paramMap.put("所属组织", json.getString("org_name")); + String workorder_type = json.getString("workorder_type"); + paramMap.put("工令类型", "科研工令"); + if(workorder_type.equals("01")){ + paramMap.put("工令类型", "生产工令"); + } + //10生成、20提交、30开单中、40已开单、50开工、60暂停、99完工 + String status = json.getString("status"); + paramMap.put("工令状态", "生成"); + if(status.equals("20")){ + paramMap.put("工令状态", "提交"); + }else if(status.equals("30")){ + paramMap.put("工令状态", "开单中"); + }else if(status.equals("40")){ + paramMap.put("工令状态", "已开单"); + }else if(status.equals("50")){ + paramMap.put("工令状态", "开工"); + }else if(status.equals("60")){ + paramMap.put("工令状态", "暂停"); + }else if(status.equals("99")){ + paramMap.put("工令状态", "完工"); + } + paramMap.put("设备", json.getString("device_name")); + paramMap.put("物料编码", json.getString("material_code")); + paramMap.put("牌号", json.getString("old_mark")); + + String product_series_id = json.getString("product_series_id"); + JSONObject product_series = md_pb_classstandard.query("class_id='"+product_series_id+"'").uniqueResult(0); + paramMap.put("系列", product_series_id); + if(product_series!=null){ + paramMap.put("系列", product_series.getString("class_name")); + } + paramMap.put("批次", json.getString("pcsn")); + paramMap.put("重量", json.getString("workorder_qty")); + paramMap.put("开单总重量", json.getString("bill_qty")); + paramMap.put("实际生产重量", json.getString("productin_qty")); + paramMap.put("单位", json.getString("qty_unit_name")); + paramMap.put("计划开始时间", json.getString("planstart_time")); + paramMap.put("计划结束时间", json.getString("planend_time")); + paramMap.put("实际开始时间", json.getString("realstart_time")); + paramMap.put("实际结束时间", json.getString("realend_time")); + String source_bill_type = json.getString("source_bill_type"); + paramMap.put("源类型", "生产计划"); + if(source_bill_type.equals("02")){ + paramMap.put("源类型", "临时计划"); + } + paramMap.put("来源单据编号", json.getString("source_bill_code")); + String workprocedure_id = json.getString("workprocedure_id"); + paramMap.put("当前工序", workprocedure_id); + JSONObject workprocedure = pdm_bi_workprocedure.query("workprocedure_id='"+workprocedure_id+"'").uniqueResult(0); + if(workprocedure!=null){ + paramMap.put("当前工序", workprocedure.getString("workprocedure_name")); + } + paramMap.put("开工人", json.getString("startwork_name")); + paramMap.put("完工人", json.getString("endwork_name")); + paramMap.put("创建人", json.getString("create_name")); + paramMap.put("修改人", json.getString("update_optname")); + paramMap.put("备注", json.getString("remark")); + + list.add(paramMap); + } + FileUtil.downloadExcel(list, response); + } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_WORKORDER01.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_WORKORDER01.wql index c6c0db65..7ff33b4b 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_WORKORDER01.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_WORKORDER01.wql @@ -216,6 +216,60 @@ ENDQUERY ENDIF + IF 输入.flag = "15" + QUERY + SELECT + WorkOrder.*, mb.material_code, + mb.material_name, + mb.ext_id, + device.device_code, + producmaterialext.old_mark, + device.device_name, + Formula.create_name AS formula_name, + Formula.create_time AS formula_time, + productdeptpcsn.org_name + FROM + PDM_BI_WorkOrder WorkOrder + LEFT JOIN md_me_materialbase mb ON mb.material_id = WorkOrder.material_id + LEFT JOIN md_me_producmaterialext producmaterialext ON mb.material_id = producmaterialext.material_id + LEFT JOIN em_bi_deviceinfo device ON device.device_id = WorkOrder.device_id + LEFT JOIN PDM_BI_Formula Formula ON (Formula.workorder_id = WorkOrder.workorder_id and Formula.bucket_type='01' AND Formula.is_delete = '0') + LEFT JOIN pdm_bi_productdeptpcsn productdeptpcsn ON productdeptpcsn.org_id = WorkOrder.org_id + WHERE + WorkOrder.is_delete = '0' + OPTION 输入.workorder_code <> "" + WorkOrder.workorder_code like 输入.workorder_code + ENDOPTION + OPTION 输入.device_code <> "" + (device.device_code like 输入.device_code or + device.device_name like 输入.device_code) + ENDOPTION + OPTION 输入.pcsn <> "" + WorkOrder.pcsn like 输入.pcsn + ENDOPTION + OPTION 输入.status <> "" + WorkOrder.status = 输入.status + ENDOPTION + OPTION 输入.workorder_type <> "" + WorkOrder.workorder_type = 输入.workorder_type + ENDOPTION + OPTION 输入.material_id <> "" + (mb.material_code like 输入.material_id or mb.material_name like 输入.material_id) + ENDOPTION + OPTION 输入.begin_time <> "" + WorkOrder.planstart_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + WorkOrder.planstart_time <= 输入.end_time + ENDOPTION + OPTION 输入.org_id <> "" + WorkOrder.org_id = 输入.org_id + ENDOPTION + order by WorkOrder.planstart_time,mb.material_code,WorkOrder.pcsn + ENDSELECT + ENDQUERY + ENDIF + diff --git a/mes/qd/src/views/wms/pdm/produce/workorder/index.vue b/mes/qd/src/views/wms/pdm/produce/workorder/index.vue index bcb68748..c5c4551b 100644 --- a/mes/qd/src/views/wms/pdm/produce/workorder/index.vue +++ b/mes/qd/src/views/wms/pdm/produce/workorder/index.vue @@ -38,7 +38,7 @@ start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" - @change="crud.toQuery" + @change="mytoQuery" /> @@ -182,6 +182,16 @@ > 打印工令指令卡 + + 导出Excel + { + downloadFile(result, this.crud.title + '数据', 'xlsx') + crud.downloadLoading = false + }).catch(() => { + crud.downloadLoading = false + }) + }, openWork() { this.checkrows = this.$refs.table.selection if(this.checkrows.length === 0 ){ @@ -458,6 +485,11 @@ export default { this.querytable() }) }, + mytoQuery(array1){ + this.crud.query.begin_time = array1[0] + this.crud.query.end_time = array1[1] + this.crud.toQuery() + }, querytable() { this.crud.toQuery() this.handleCurrentChange() diff --git a/mes/qd/src/views/wms/pf/initformula/DivDialog.vue b/mes/qd/src/views/wms/pf/initformula/DivDialog.vue index 430bc87d..cd1a02af 100644 --- a/mes/qd/src/views/wms/pf/initformula/DivDialog.vue +++ b/mes/qd/src/views/wms/pf/initformula/DivDialog.vue @@ -261,11 +261,25 @@ - + @@ -474,6 +488,25 @@ export default { } }) }, + moveUp(index, item) { + if (index > 0) { + const upDate = this.tableDtl[index - 1] + this.tableDtl.splice(index - 1, 1) + this.tableDtl.splice(index, 0, upDate) + } else { + this.$message.error('已经是第一条,不可上移') + } + }, + moveDown(index, item) { + if ((index + 1) === this.tableDtl.length) { + this.$message.error('已经是最后一条,不可下移') + } else { + console.log(index) + const downDate = this.tableDtl[index + 1] + this.tableDtl.splice(index + 1, 1) + this.tableDtl.splice(index, 0, downDate) + } + }, close() { this.$refs['form2'].resetFields() this.$refs['form'].resetFields()