From 59522e7efd847955c29e31598780664e375d8151 Mon Sep 17 00:00:00 2001 From: liuxy Date: Fri, 2 Sep 2022 17:11:26 +0800 Subject: [PATCH 01/25] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/InspectionsheetmstServiceImpl.java | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/InspectionsheetmstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/InspectionsheetmstServiceImpl.java index a19d70ed..1eada980 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/InspectionsheetmstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/InspectionsheetmstServiceImpl.java @@ -740,19 +740,23 @@ public class InspectionsheetmstServiceImpl implements InspectionsheetmstService */ String is_sendLK = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("IS_SENDLK").getValue(); if (StrUtil.equals(is_sendLK, "1")) { - WmsToLkServiceImpl wmsToLkService = new WmsToLkServiceImpl(); + boolean is_pgf = materialBaseService.isAlongMaterType(MaterOptTypeEnum.PGF.getCode(), material_id, null); - JSONObject param = new JSONObject(); - param.put("material_uuid", jsonMater.getString("ext_id")); - param.put("material_id", jsonMater.getString("material_id")); - param.put("material_code", jsonMater.getString("material_code")); - param.put("material_name", jsonMater.getString("material_name")); - param.put("status", jsonDtl.getString("result")); + if (is_pgf) { + WmsToLkServiceImpl wmsToLkService = new WmsToLkServiceImpl(); - JSONObject result = wmsToLkService.qualityResult(param); + JSONObject param = new JSONObject(); + param.put("material_uuid", jsonMater.getString("ext_id")); + param.put("material_id", jsonMater.getString("material_id")); + param.put("material_code", jsonMater.getString("material_code")); + param.put("material_name", jsonMater.getString("material_name")); + param.put("status", jsonDtl.getString("result")); - if (StrUtil.equals(result.getString("result"), "2")) { - throw new BadRequestException("发送立库失败:"+result.getString("messsage")); + JSONObject result = wmsToLkService.qualityResult(param); + + if (StrUtil.equals(result.getString("result"), "2")) { + throw new BadRequestException("发送立库失败:"+result.getString("messsage")); + } } } From f3c2b7872a70aad34a9acaa24ce9ae15071dd355 Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Fri, 2 Sep 2022 20:33:43 +0800 Subject: [PATCH 02/25] =?UTF-8?q?=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nl/wms/pdm/rest/WCChangeController.java | 63 +++++++ .../nl/wms/pdm/service/WCChangeService.java | 59 ++++++ .../pdm/service/impl/WCChangeServiceImpl.java | 128 +++++++++++++ .../java/org/nl/wms/pdm/wql/QPDM_WCCHANGE.wql | 67 +++++++ .../src/main/java/org/nl/wms/pdm/wql/pdm.xls | Bin 249344 -> 251904 bytes mes/qd/src/api/wms/pdm/wcchange.js | 64 +++++++ .../views/wms/pdm/base/wcchange/AddDialog.vue | 168 +++++++++++++++++ .../src/views/wms/pdm/base/wcchange/index.vue | 169 ++++++++++++++++++ mes/qd/src/views/wms/pub/SuppDialog.vue | 140 +++++++++++++++ 9 files changed, 858 insertions(+) create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/WCChangeController.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/WCChangeService.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WCChangeServiceImpl.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_WCCHANGE.wql create mode 100644 mes/qd/src/api/wms/pdm/wcchange.js create mode 100644 mes/qd/src/views/wms/pdm/base/wcchange/AddDialog.vue create mode 100644 mes/qd/src/views/wms/pdm/base/wcchange/index.vue create mode 100644 mes/qd/src/views/wms/pub/SuppDialog.vue diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/WCChangeController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/WCChangeController.java new file mode 100644 index 00000000..25b530c7 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/WCChangeController.java @@ -0,0 +1,63 @@ + +package org.nl.wms.pdm.rest; + + +import com.alibaba.fastjson.JSONObject; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.annotation.Log; +import org.nl.service.LocalStorageService; +import org.nl.wms.pdm.service.DailyplanService; +import org.nl.wms.pdm.service.WCChangeService; +import org.springframework.data.domain.Pageable; +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 +@RequiredArgsConstructor +@Api(tags = "碳化钨总碳修正维护") +@RequestMapping("/api/wcchange") +@Slf4j +public class WCChangeController { + + private final WCChangeService wCChangeService; + + @GetMapping + @Log("查询月生产计划") + @ApiOperation("查询月生产计划") + public ResponseEntity query(@RequestParam Map whereJson, Pageable page){ + return new ResponseEntity<>(wCChangeService. + queryAll(whereJson,page),HttpStatus.OK); + } + + @PostMapping + @Log("新增工令") + @ApiOperation("新增工令") + public ResponseEntity create(@RequestBody JSONObject json){ + wCChangeService.create(json); + return new ResponseEntity<>(HttpStatus.CREATED); + } + + @PutMapping + @Log("修改工令") + @ApiOperation("修改工令") + public ResponseEntity update(@RequestBody JSONObject whereJson){ + wCChangeService.update(whereJson); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + + @Log("删除月生产计划") + @ApiOperation("删除月生产计划") + @DeleteMapping + public ResponseEntity delete(@RequestBody Long[] ids) { + wCChangeService.deleteAll(ids); + return new ResponseEntity<>(HttpStatus.OK); + } +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/WCChangeService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/WCChangeService.java new file mode 100644 index 00000000..17a0031d --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/WCChangeService.java @@ -0,0 +1,59 @@ + +package org.nl.wms.pdm.service; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import org.nl.wms.pcs.service.dto.ProductplanprocDto; +import org.springframework.data.domain.Pageable; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.Map; + +/** +* @description 服务接口 +* @author Liuxy +* @date 2021-12-13 +**/ +public interface WCChangeService { + + /** + * 查询数据分页 + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + Map queryAll(Map whereJson, Pageable page); + /** + * 创建 + * @param json / + */ + void create(JSONObject json); + + /** + * 根据ID查询 + * @param plan_id ID + * @return Productplanproc + */ + ProductplanprocDto findById(Long plan_id); + + /** + * 根据编码查询 + * @param code code + * @return Productplanproc + */ + ProductplanprocDto findByCode(String code); + + /** + * 编辑 + * @param whereJson / + */ + void update(JSONObject whereJson); + + /** + * 多选删除 + * @param ids / + */ + void deleteAll(Long[] ids); + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WCChangeServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WCChangeServiceImpl.java new file mode 100644 index 00000000..f9e7eb2d --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/WCChangeServiceImpl.java @@ -0,0 +1,128 @@ + +package org.nl.wms.pdm.service.impl; + + +import cn.hutool.core.date.DateUnit; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +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.basedata.master.service.MaterialbaseService; +import org.nl.wms.pcs.service.dto.ProductplanprocDto; +import org.nl.wms.pdm.service.DailyplanService; +import org.nl.wms.pdm.service.WCChangeService; +import org.nl.wms.pdm.service.WorkOrdereService; +import org.nl.wql.WQL; +import org.nl.wql.core.bean.WQLObject; +import org.nl.wql.util.WqlUtil; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.*; + + +@Service +@RequiredArgsConstructor +@Slf4j +public class WCChangeServiceImpl implements WCChangeService { + + @Override + public Map queryAll(Map whereJson, Pageable page) { + HashMap map = new HashMap<>(whereJson); + + String material_code = map.get("material_code"); + if (StrUtil.isNotEmpty(material_code)) { + map.put("material_code", "%" + material_code + "%"); + } + String supp_code = map.get("supp_code"); + if (StrUtil.isNotEmpty(supp_code)) { + map.put("supp_code", "%" + supp_code + "%"); + } + map.put("flag", "1"); + JSONObject jret = WQL.getWO("QPDM_WCCHANGE").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "pp.create_time"); + return jret; + } + + + @Override + public ProductplanprocDto findById(Long plan_id) { + WQLObject wo = WQLObject.getWQLObject("pcs_if_productplanproc"); + JSONObject json = wo.query("plan_id =" + plan_id + "").uniqueResult(0); + final ProductplanprocDto obj = json.toJavaObject(ProductplanprocDto.class); + return obj; + } + + @Override + public ProductplanprocDto findByCode(String code) { + WQLObject wo = WQLObject.getWQLObject("pcs_if_productplanproc"); + JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); + final ProductplanprocDto obj = json.toJavaObject(ProductplanprocDto.class); + return obj; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void create(JSONObject json) { + Long currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getNickName(); + String now = DateUtil.now(); + JwtUserDto currentUser = (JwtUserDto) SecurityUtils.getCurrentUser(); + Long deptId = currentUser.getDeptId(); + WQLObject PDM_BI_SuppWCChange = WQLObject.getWQLObject("PDM_BI_SuppWCChange"); // 工艺路线主表 + JSONObject mater = PDM_BI_SuppWCChange.query("material_id='"+json.getString("material_id")+"' and supp_id='"+json.getString("supp_id")+"'").uniqueResult(0); + if(mater != null){ + throw new BadRequestException("已存在相同物料和供应商的记录"); + } + + // 插入主表 + json.put("change_id", IdUtil.getSnowflake(1, 1).nextId()); + json.put("create_id", currentUserId); + json.put("create_name", nickName); + json.put("create_time", now); + + PDM_BI_SuppWCChange.insert(json); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(JSONObject json) { + Long currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getNickName(); + String now = DateUtil.now(); + + WQLObject PDM_BI_SuppWCChange = WQLObject.getWQLObject("PDM_BI_SuppWCChange"); // 工艺路线主表 + JSONObject mater = PDM_BI_SuppWCChange.query("material_id='"+json.getString("material_id")+"' and supp_id='"+json.getString("supp_id")+"'").uniqueResult(0); + if(mater != null){ + if(!json.getString("change_id").equals(mater.getString("change_id"))){ + throw new BadRequestException("已存在相同物料和供应商的记录"); + } + } + + json.put("update_optid", currentUserId); + json.put("update_optname", nickName); + json.put("update_time", now); + PDM_BI_SuppWCChange.update(json); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteAll(Long[] ids) { + WQLObject PDM_BI_SuppWCChange = WQLObject.getWQLObject("PDM_BI_SuppWCChange"); // 工艺路线主表 + + for (Long change_id : ids) { + PDM_BI_SuppWCChange.delete("change_id='"+change_id+"'"); + } + } + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_WCCHANGE.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_WCCHANGE.wql new file mode 100644 index 00000000..f41e7ef1 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_WCCHANGE.wql @@ -0,0 +1,67 @@ +[交易说明] + 交易名: 月度计划分页查询 + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: + +[数据库] + --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 + +[IO定义] + ################################################# + ## 表字段对应输入参数 + ################################################# + 输入.flag TYPEAS s_string + 输入.material_code TYPEAS s_string + 输入.supp_code TYPEAS s_string + + +[临时表] + --这边列出来的临时表就会在运行期动态创建 + +[临时变量] + --所有中间过程变量均可在此处定义 + +[业务过程] + + ########################################## + # 1、输入输出检查 # + ########################################## + + + ########################################## + # 2、主过程前处理 # + ########################################## + + + ########################################## + # 3、业务主过程 # + ########################################## + + IF 输入.flag = "1" + PAGEQUERY + SELECT + pp.*, + materialbase.material_code, + materialbase.material_name + FROM + PDM_BI_SuppWCChange pp + LEFT JOIN md_me_materialbase materialbase ON pp.material_id = materialbase.material_id + WHERE + 1=1 + OPTION 输入.material_code <> "" + (materialbase.material_code like 输入.material_code or materialbase.material_name like 输入.material_code) + ENDOPTION + OPTION 输入.supp_code <> "" + (pp.supp_code like 输入.supp_code or pp.supp_name like 输入.supp_code) + ENDOPTION + ENDSELECT + ENDPAGEQUERY + ENDIF + + + + + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls index b22da91b31fb95dada07ce1c2cf43dbd27391f84..ffbca44b3052a3e5c91be3d54319bdf28f8da988 100644 GIT binary patch delta 18302 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 diff --git a/mes/qd/src/api/wms/pdm/wcchange.js b/mes/qd/src/api/wms/pdm/wcchange.js new file mode 100644 index 00000000..5d0fa3a5 --- /dev/null +++ b/mes/qd/src/api/wms/pdm/wcchange.js @@ -0,0 +1,64 @@ +import request from '@/utils/request' + +export function add(data) { + return request({ + url: 'api/wcchange', + method: 'post', + data + }) +} + +export function del(ids) { + return request({ + url: 'api/wcchange/', + method: 'delete', + data: ids + }) +} + +export function edit(data) { + return request({ + url: 'api/wcchange', + method: 'put', + data + }) +} + +export function submit(data) { + return request({ + url: 'api/wcchange/submit', + method: 'post', + data + }) +} + +export function openWork(data) { + return request({ + url: 'api/wcchange/openWork', + method: 'post', + data + }) +} + +export function confirmWork(data) { + return request({ + url: 'api/wcchange/confirmWork', + method: 'post', + data + }) +} +export function createPcsn(params) { + return request({ + url: 'api/wcchange/createPcsn', + method: 'get', + params + }) +} +export function getDepts(params) { + return request({ + url: 'api/wcchange/getDepts', + method: 'get', + params + }) +} +export default { add, edit, del, submit, confirmWork, openWork, createPcsn, getDepts } diff --git a/mes/qd/src/views/wms/pdm/base/wcchange/AddDialog.vue b/mes/qd/src/views/wms/pdm/base/wcchange/AddDialog.vue new file mode 100644 index 00000000..4072cc51 --- /dev/null +++ b/mes/qd/src/views/wms/pdm/base/wcchange/AddDialog.vue @@ -0,0 +1,168 @@ + + + + + diff --git a/mes/qd/src/views/wms/pdm/base/wcchange/index.vue b/mes/qd/src/views/wms/pdm/base/wcchange/index.vue new file mode 100644 index 00000000..61056660 --- /dev/null +++ b/mes/qd/src/views/wms/pdm/base/wcchange/index.vue @@ -0,0 +1,169 @@ + + + + diff --git a/mes/qd/src/views/wms/pub/SuppDialog.vue b/mes/qd/src/views/wms/pub/SuppDialog.vue new file mode 100644 index 00000000..a0f82e11 --- /dev/null +++ b/mes/qd/src/views/wms/pub/SuppDialog.vue @@ -0,0 +1,140 @@ + + + + From 430706ec9221b60b1659f0e4677eb5e41b87c5b9 Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Fri, 2 Sep 2022 21:25:23 +0800 Subject: [PATCH 03/25] =?UTF-8?q?=E6=96=B0=E6=96=99=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/AutoformulaServiceImpl.java | 44 ++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/AutoformulaServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/AutoformulaServiceImpl.java index 50361da5..a68a031a 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/AutoformulaServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/AutoformulaServiceImpl.java @@ -1508,7 +1508,9 @@ public class AutoformulaServiceImpl implements AutoformulaService { double rf_net_total_weight = 0; for(int i=0;i0,则跳过此软废,进行下一软废计算; + for(int j=0;j{ From c5f4f9ae8be34d2c258c20ba2455066bf49ce66c Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Fri, 2 Sep 2022 22:22:45 +0800 Subject: [PATCH 04/25] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/AutoformulaServiceImpl.java | 43 +++++++++++++++++++ .../pf/service/impl/FormulaServiceImpl.java | 29 +++++++++++++ .../service/impl/InitformulaServiceImpl.java | 30 +++++++++++++ .../org/nl/wms/pf/wql/QPF_INITFORMULA01.wql | 23 ++++++++++ mes/qd/src/views/wms/pf/formula/DivDialog.vue | 7 ++- .../src/views/wms/pf/formula/ViewDialog.vue | 1 + .../views/wms/pf/initformula/DivDialog.vue | 7 ++- 7 files changed, 136 insertions(+), 4 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/AutoformulaServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/AutoformulaServiceImpl.java index a68a031a..e94f59f7 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/AutoformulaServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/AutoformulaServiceImpl.java @@ -312,6 +312,10 @@ public class AutoformulaServiceImpl implements AutoformulaService { } }); }else if(StrUtil.isNotEmpty(material_type_id) && MaterOptTypeEnum.THW.getClass_idStr().contains(material_type_id)){//碳化钨新料 + //获取修正值 + double change_qty = this.getWCChange(jo.getString("material_id"),jo.getString("pcsn")); + jo.put("change_qty",change_qty); + //获取碳含量 JSONObject FactoryWarranty = WQL.getWO("QPF_AUTOFORMULA01") .addParam("material_id",jo.getString("material_id")) @@ -618,6 +622,11 @@ public class AutoformulaServiceImpl implements AutoformulaService { double bom_ivt_qty = bomdlt_Cr3C2.getDouble("bom_ivt_qty"); //含碳比 double value = FactoryWarranty.getDouble("value"); + + //获取修正值 + double change_qty = this.getWCChange(bomdlt_Cr3C2.getString("material_id"),bomdlt_Cr3C2.getString("pcsn")); + value = value + change_qty; + //总碳 CT1 = CT1 + bom_ivt_qty*value/100.0; @@ -1685,6 +1694,10 @@ public class AutoformulaServiceImpl implements AutoformulaService { double bom_ivt_qty = bomdlt_Cr3C2.getDouble("bom_ivt_qty"); //含碳比 double is_tan = FactoryWarranty.getDouble("value"); + + //获取修正值 + double change_qty = this.getWCChange(bomdlt_Cr3C2.getString("material_id"),bomdlt_Cr3C2.getString("pcsn")); + is_tan = is_tan + change_qty; //总碳 CT1 = CT1 + bom_ivt_qty*is_tan/100.0; //总碳化钨 @@ -2750,6 +2763,10 @@ public class AutoformulaServiceImpl implements AutoformulaService { } }); }else if(StrUtil.isNotEmpty(material_type_id) && MaterOptTypeEnum.THW.getClass_idStr().contains(material_type_id)){//碳化钨新料 + + //获取修正值 + double change_qty = this.getWCChange(jo.getString("material_id"),jo.getString("pcsn")); + jo.put("change_qty",change_qty); //获取碳含量 JSONObject FactoryWarranty = WQL.getWO("QPF_AUTOFORMULA01") .addParam("material_id",jo.getString("material_id")) @@ -3170,6 +3187,10 @@ public class AutoformulaServiceImpl implements AutoformulaService { double bom_ivt_qty = bomdlt_Cr3C2.getDouble("bom_ivt_qty"); //含碳比 double is_tan = FactoryWarranty.getDouble("value"); + + //获取修正值 + double change_qty = this.getWCChange(bomdlt_Cr3C2.getString("material_id"),bomdlt_Cr3C2.getString("pcsn")); + is_tan = is_tan + change_qty; //总碳 CT1 = CT1 + bom_ivt_qty*is_tan/100.0; //更新含碳比 @@ -4134,4 +4155,26 @@ public class AutoformulaServiceImpl implements AutoformulaService { } + + public double getWCChange(String material_id,String pcsn){ + WQLObject PDM_BI_SuppWCChange = WQLObject.getWQLObject("PDM_BI_SuppWCChange"); // 工艺路线主表 + double wcchange = 0.0; + + //获取碳化钒 + JSONObject FactoryWarranty = WQL.getWO("QPF_INITFORMULA01") + .addParam("material_id",material_id) + .addParam("pcsn",pcsn) + .addParam("flag","9") + .process() + .uniqueResult(0); + if(FactoryWarranty!=null){ + String source_id = FactoryWarranty.getString("source_id"); + JSONObject jo = PDM_BI_SuppWCChange.query("material_id='"+material_id+"' and supp_id='"+source_id+"'").uniqueResult(0); + if(jo!=null){ + wcchange = jo.getDouble("change_qty"); + } + } + + return wcchange; + } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/FormulaServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/FormulaServiceImpl.java index 39eaecd2..424fcc3a 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/FormulaServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/FormulaServiceImpl.java @@ -400,6 +400,10 @@ public class FormulaServiceImpl implements FormulaService { } }); }else if(StrUtil.isNotEmpty(material_type_id) && MaterOptTypeEnum.THW.getClass_idStr().contains(material_type_id)){//碳化钨新料 + //获取修正值 + double change_qty = this.getWCChange(jo.getString("material_id"),jo.getString("pcsn")); + jo.put("change_qty",change_qty); + //获取碳含量 JSONObject FactoryWarranty = WQL.getWO("QPF_AUTOFORMULA01") .addParam("material_id",jo.getString("material_id")) @@ -521,6 +525,9 @@ public class FormulaServiceImpl implements FormulaService { } }); }else if(StrUtil.isNotEmpty(material_type_id) && MaterOptTypeEnum.THW.getClass_idStr().contains(material_type_id)){//碳化钨新料 + //获取修正值 + double change_qty = this.getWCChange(jo.getString("material_id"),jo.getString("pcsn")); + jo.put("change_qty",change_qty); //获取碳含量 JSONObject FactoryWarranty = WQL.getWO("QPF_AUTOFORMULA01") .addParam("material_id",jo.getString("material_id")) @@ -1045,4 +1052,26 @@ public class FormulaServiceImpl implements FormulaService { e.printStackTrace(); } } + + public double getWCChange(String material_id,String pcsn){ + WQLObject PDM_BI_SuppWCChange = WQLObject.getWQLObject("PDM_BI_SuppWCChange"); // 工艺路线主表 + double wcchange = 0.0; + + //获取碳化钒 + JSONObject FactoryWarranty = WQL.getWO("QPF_INITFORMULA01") + .addParam("material_id",material_id) + .addParam("pcsn",pcsn) + .addParam("flag","9") + .process() + .uniqueResult(0); + if(FactoryWarranty!=null){ + String source_id = FactoryWarranty.getString("source_id"); + JSONObject jo = PDM_BI_SuppWCChange.query("material_id='"+material_id+"' and supp_id='"+source_id+"'").uniqueResult(0); + if(jo!=null){ + wcchange = jo.getDouble("change_qty"); + } + } + + return wcchange; + } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/InitformulaServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/InitformulaServiceImpl.java index 87fb798d..1382a1f4 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/InitformulaServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/service/impl/InitformulaServiceImpl.java @@ -54,6 +54,9 @@ public class InitformulaServiceImpl implements InitformulaService { String material_type_id = jo.getString("material_type_id"); //如果该物料是碳化钨 if(MaterOptTypeEnum.THW.getClass_idStr().contains(material_type_id)){ + //获取修正值 + double change_qty = this.getWCChange(jo.getString("material_id"),jo.getString("pcsn")); + jo.put("change_qty",change_qty); //获取碳含量 JSONObject FactoryWarranty = WQL.getWO("QPF_AUTOFORMULA01") .addParam("material_id",jo.getString("material_id")) @@ -953,6 +956,10 @@ public class InitformulaServiceImpl implements InitformulaService { } }); }else if(StrUtil.isNotEmpty(material_type_id) && MaterOptTypeEnum.THW.getClass_idStr().contains(material_type_id)){//碳化钨新料 + + //获取修正值 + double change_qty = this.getWCChange(jo.getString("material_id"),jo.getString("pcsn")); + jo.put("change_qty",change_qty); //获取碳含量 JSONObject FactoryWarranty = WQL.getWO("QPF_AUTOFORMULA01") .addParam("material_id",jo.getString("material_id")) @@ -1171,4 +1178,27 @@ public class InitformulaServiceImpl implements InitformulaService { return ret; } + + public double getWCChange(String material_id,String pcsn){ + WQLObject PDM_BI_SuppWCChange = WQLObject.getWQLObject("PDM_BI_SuppWCChange"); // 工艺路线主表 + double wcchange = 0.0; + + //获取碳化钒 + JSONObject FactoryWarranty = WQL.getWO("QPF_INITFORMULA01") + .addParam("material_id",material_id) + .addParam("pcsn",pcsn) + .addParam("flag","9") + .process() + .uniqueResult(0); + if(FactoryWarranty!=null){ + String source_id = FactoryWarranty.getString("source_id"); + JSONObject jo = PDM_BI_SuppWCChange.query("material_id='"+material_id+"' and supp_id='"+source_id+"'").uniqueResult(0); + if(jo!=null){ + wcchange = jo.getDouble("change_qty"); + } + } + + return wcchange; + } + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/wql/QPF_INITFORMULA01.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/wql/QPF_INITFORMULA01.wql index aa235a78..54379e5d 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/wql/QPF_INITFORMULA01.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/wql/QPF_INITFORMULA01.wql @@ -566,5 +566,28 @@ ENDPAGEQUERY ENDIF + IF 输入.flag = "9" + QUERY + SELECT + ReceiveMst.receive_id, + ReceiveMst.source_id, + ReceiveDtl.receivedtl_id, + ReceiveDtl.material_id, + ReceiveDtl.pcsn + FROM + PCS_RC_ReceiveDtl ReceiveDtl + LEFT JOIN PCS_RC_ReceiveMst ReceiveMst ON ReceiveMst.receive_id = ReceiveDtl.receive_id + WHERE + 1 = 1 and ReceiveMst.is_delete='0' and ReceiveMst.source_type='01' + OPTION 输入.material_id <> "" + ReceiveDtl.material_id = 输入.material_id + ENDOPTION + OPTION 输入.pcsn <> "" + ReceiveDtl.pcsn = 输入.pcsn + ENDOPTION + ENDSELECT + ENDQUERY + ENDIF + diff --git a/mes/qd/src/views/wms/pf/formula/DivDialog.vue b/mes/qd/src/views/wms/pf/formula/DivDialog.vue index 82f0b313..cb661891 100644 --- a/mes/qd/src/views/wms/pf/formula/DivDialog.vue +++ b/mes/qd/src/views/wms/pf/formula/DivDialog.vue @@ -309,6 +309,7 @@ + @@ -821,7 +822,7 @@ export default { } if (!this.flagnow) { const row = { edit: false, status:'10', is_rf_xl: '1', bucket_type: '01', material_type: '01', material_id: '', material_code: '',is_CJZB00021: '',is_CJZB00020: '', - material_name: '', pcsn: '', quality_scode: '',need_sum_qty:'0', ivt_level: '', is_active: '', formula_qty: '0', sum_ivt_qty: '', is_need_move: '', is_need_manage: '1', is_add: '1', is_tan: '', is_09030102: '', qty_unit_id: '', qty_unit_name: '' } + material_name: '', pcsn: '', quality_scode: '',need_sum_qty:'0', ivt_level: '', is_active: '', formula_qty: '0', sum_ivt_qty: '', is_need_move: '', is_need_manage: '1', is_add: '1', is_tan: '', is_09030102: '', qty_unit_id: '', qty_unit_name: '',change_qty:'0' } row.material_id = item.material_id row.quality_scode = item.quality_scode row.pcsn = item.pcsn @@ -833,6 +834,7 @@ export default { row.ivt_level = item.ivt_level row.is_active = item.is_active row.is_tan = item.is_tan + row.change_qty = item.change_qty row.is_09030102 = item.is_09030102 row.is_CXJ001 = item.is_CXJ001 row.is_CXJ003 = item.is_CXJ003 @@ -852,7 +854,7 @@ export default { } } else { const row = { edit: false, status:'10', is_rf_xl: '1', bucket_type: '01', material_type: '01', material_id: '', material_code: '',is_CJZB00021: '',is_CJZB00020: '', - material_name: '', pcsn: '', quality_scode: '',need_sum_qty:'0', ivt_level: '', is_active: '', formula_qty: '0', sum_ivt_qty: '', is_need_move: '', is_need_manage: '1', is_add: '1', is_tan: '', is_09030102: '', qty_unit_id: '', qty_unit_name: '' } + material_name: '', pcsn: '', quality_scode: '',need_sum_qty:'0', ivt_level: '', is_active: '', formula_qty: '0', sum_ivt_qty: '', is_need_move: '', is_need_manage: '1', is_add: '1', is_tan: '', is_09030102: '', qty_unit_id: '', qty_unit_name: '',change_qty:'0' } row.material_id = item.material_id row.quality_scode = item.quality_scode row.pcsn = item.pcsn @@ -863,6 +865,7 @@ export default { row.material_code = item.material_code row.ivt_level = item.ivt_level row.is_tan = item.is_tan + row.change_qty = item.change_qty row.is_09030102 = item.is_09030102 row.is_CXJ001 = item.is_CXJ001 row.is_CXJ003 = item.is_CXJ003 diff --git a/mes/qd/src/views/wms/pf/formula/ViewDialog.vue b/mes/qd/src/views/wms/pf/formula/ViewDialog.vue index 3fc55607..5e0ab01d 100644 --- a/mes/qd/src/views/wms/pf/formula/ViewDialog.vue +++ b/mes/qd/src/views/wms/pf/formula/ViewDialog.vue @@ -211,6 +211,7 @@ + diff --git a/mes/qd/src/views/wms/pf/initformula/DivDialog.vue b/mes/qd/src/views/wms/pf/initformula/DivDialog.vue index e76d0e42..23fdf239 100644 --- a/mes/qd/src/views/wms/pf/initformula/DivDialog.vue +++ b/mes/qd/src/views/wms/pf/initformula/DivDialog.vue @@ -266,6 +266,7 @@ + @@ -963,7 +964,7 @@ export default { const row = { edit: false,is_rf_xl: '1', bucket_type: '01', material_type: '01', material_id: '', material_code: '', material_name: '', pcsn: '', quality_scode: '', ivt_level: '', is_active: '', formula_qty: '0', sum_ivt_qty: '', is_need_move: '', is_need_manage: '1', is_tan: '', is_09030102: '', is_CXJ001: '', is_CXJ003: '',need_sum_qty:'0', is_CXJ004: '',is_CXJ005: '',is_CXJ006: '',is_CXJ007: '',is_CXJ008: '',is_CXJ002: '',is_CJZB00021: '',is_CJZB00020: '', - qty_unit_id: '', qty_unit_name: '' } + qty_unit_id: '', qty_unit_name: '',change_qty:'0' } row.material_id = item.material_id row.quality_scode = item.quality_scode row.pcsn = item.pcsn @@ -978,6 +979,7 @@ export default { row.qty_unit_id = item.qty_unit_id row.qty_unit_name = item.qty_unit_name row.is_tan = item.is_tan + row.change_qty = item.change_qty row.is_09030102 = item.is_09030102 row.is_CXJ001 = item.is_CXJ001 row.is_CXJ003 = item.is_CXJ003 @@ -995,7 +997,7 @@ export default { const row = { edit: false, is_rf_xl: '1', bucket_type: '01', material_type: '01', material_id: '', material_code: '', material_name: '', pcsn: '', quality_scode: '', need_sum_qty:'0',ivt_level: '', is_active: '', formula_qty: '0', sum_ivt_qty: '', is_need_move: '', is_need_manage: '1', is_tan: '', is_09030102: '', is_CXJ001: '', is_CXJ003: '',is_CXJ004: '',is_CXJ005: '',is_CXJ006: '',is_CXJ007: '',is_CXJ008: '',is_CXJ002: '',is_CJZB00021: '',is_CJZB00020: '', - qty_unit_id: '', qty_unit_name: '' } + qty_unit_id: '', qty_unit_name: '',change_qty:'0' } row.material_id = item.material_id row.quality_scode = item.quality_scode row.pcsn = item.pcsn @@ -1010,6 +1012,7 @@ export default { row.qty_unit_id = item.qty_unit_id row.qty_unit_name = item.qty_unit_name row.is_tan = item.is_tan + row.change_qty = item.change_qty row.is_09030102 = item.is_09030102 row.is_CXJ001 = item.is_CXJ001 row.is_CXJ003 = item.is_CXJ003 From d6a253c55e6788602f0a375c91f86d53eee1f93f Mon Sep 17 00:00:00 2001 From: liuxy Date: Sat, 3 Sep 2022 13:51:44 +0800 Subject: [PATCH 05/25] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nl/wms/ql/service/impl/InspectionsheetmstServiceImpl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/InspectionsheetmstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/InspectionsheetmstServiceImpl.java index 1eada980..eed3ab71 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/InspectionsheetmstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/InspectionsheetmstServiceImpl.java @@ -750,7 +750,9 @@ public class InspectionsheetmstServiceImpl implements InspectionsheetmstService param.put("material_id", jsonMater.getString("material_id")); param.put("material_code", jsonMater.getString("material_code")); param.put("material_name", jsonMater.getString("material_name")); + param.put("pcsn", jsonDtl.getString("pcsn")); param.put("status", jsonDtl.getString("result")); + param.put("remark", ""); JSONObject result = wmsToLkService.qualityResult(param); From ab4f712f48fbced9778a2ba95fbd97b807d1d859 Mon Sep 17 00:00:00 2001 From: liuxy Date: Mon, 5 Sep 2022 11:26:53 +0800 Subject: [PATCH 06/25] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PhysicalMstServiceImpl.java | 29 ++++++++++++++++++- .../main/java/org/nl/wms/ql/wql/QL_ERP.wql | 19 ++++++++++++ .../sb/repair/wql/EM_BI_DEVICEREPAIR001.wql | 6 ++-- .../repair/wql/EM_BI_DEVICEREPAIRPLAN001.wql | 3 +- .../wql/EM_BI_DEVICEREPAIRREQUEST001.wql | 1 + .../wms/sb/stat/wql/TASK_AUTOWEBSOCKETTSK.wql | 2 ++ .../upkeep/wql/EM_BIDEVICEMAINTENANCE001.wql | 6 ++-- .../wql/EM_BIDEVICEMAINTENANCEPLAN001.wql | 3 +- .../ql/physicalMstConfirm/PhySyncDialog.vue | 2 +- .../wms/sb/repair/devicerepair/index.vue | 1 + .../wms/sb/repair/devicerepairpa/index.vue | 3 +- .../wms/sb/repair/devicerepairplan/index.vue | 1 + .../sb/repair/devicerepairrequest/index.vue | 1 + .../wms/sb/repair/devicerepairudit/index.vue | 3 +- .../wms/sb/repair/devicerepaorout/index.vue | 1 + .../wms/sb/upkeep/devicemaintenance/index.vue | 1 + .../upkeep/devicemaintenanceaudit/index.vue | 1 + .../sb/upkeep/devicemaintenancepa/index.vue | 1 + .../sb/upkeep/devicemaintenanceplan/index.vue | 11 +++---- 19 files changed, 80 insertions(+), 15 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/PhysicalMstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/PhysicalMstServiceImpl.java index fdd68380..bf575e2f 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/PhysicalMstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/PhysicalMstServiceImpl.java @@ -12,9 +12,12 @@ import lombok.extern.slf4j.Slf4j; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.nl.exception.BadRequestException; +import org.nl.ext.lk.service.impl.WmsToLkServiceImpl; import org.nl.modules.security.service.dto.JwtUserDto; +import org.nl.modules.system.service.impl.ParamServiceImpl; import org.nl.modules.system.util.CodeUtil; import org.nl.utils.SecurityUtils; +import org.nl.utils.SpringContextHolder; import org.nl.wms.basedata.master.constant.MaterOptTypeEnum; import org.nl.wms.basedata.master.service.MaterialbaseService; import org.nl.wms.basedata.master.service.dto.MaterialbaseDto; @@ -546,6 +549,30 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { } inspectionsheetmstService.confirm(jsonSheeGutDtl); } + /* + * 发送质检结果给立库 PG粉 + */ + String is_sendLK = SpringContextHolder.getBean(ParamServiceImpl.class).findByCode("IS_SENDLK").getValue(); + if (StrUtil.equals(is_sendLK, "1")) { + WmsToLkServiceImpl wmsToLkService = new WmsToLkServiceImpl(); + + JSONObject jsonMater = materTab.query("material_id ='" + jsonPhyMst.getString("material_id") + "'").uniqueResult(0); + + JSONObject param = new JSONObject(); + param.put("material_uuid", jsonMater.getString("ext_id")); + param.put("material_id", jsonMater.getString("material_id")); + param.put("material_code", jsonMater.getString("material_code")); + param.put("material_name", jsonMater.getString("material_name")); + param.put("pcsn", jsonPhyMst.getString("pcsn")); + param.put("status", jsonPhyMst.getString("result")); + param.put("remark", ""); + + JSONObject resultJson = wmsToLkService.qualityResult(param); + + if (StrUtil.equals(resultJson.getString("result"), "2")) { + throw new BadRequestException("发送立库失败:"+resultJson.getString("messsage")); + } + } } else if (StrUtil.equals(inspection_type, "10") || StrUtil.equals(inspection_type, "20")) { // 原料碳化钨、原料钴粉 /* @@ -956,7 +983,7 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { if (ObjectUtil.isNotEmpty(search_material_code)) map.put("search_material_code",search_material_code+"%"); if (ObjectUtil.isNotEmpty(search_pcsn)) map.put("search_pcsn",search_pcsn+"%"); - JSONObject json = WQL.getWO("QL_ERP").addParamMap(map).setDbname("dataSource1").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "biz_date"); + JSONObject json = WQL.getWO("QL_ERP").addParamMap(map).setDbname("dataSource1").pageQuery(WqlUtil.getHttpContext(page), "biz_date DESC"); return json; } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/wql/QL_ERP.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/wql/QL_ERP.wql index 3fc34593..11c01a5a 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/wql/QL_ERP.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/wql/QL_ERP.wql @@ -58,6 +58,25 @@ pcsn like 输入.search_pcsn ENDOPTION + ENDSELECT + ENDPAGEQUERY + ENDIF + + IF 输入.flag = "2" + PAGEQUERY + SELECT + * + FROM + QL_TEST_PHYSICAL + + OPTION 输入.search_material_code <> "" + 'material_code' like 输入.search_material_code + ENDOPTION + + OPTION 输入.search_pcsn <> "" + 'pcsn' like 输入.search_pcsn + ENDOPTION + ENDSELECT ENDPAGEQUERY ENDIF \ No newline at end of file diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIR001.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIR001.wql index 2d8eb02b..b3d0bc71 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIR001.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIR001.wql @@ -57,7 +57,8 @@ mst.*, class.class_name, file.device_code, - file.device_name + file.device_name, + file.extend_code FROM EM_BI_DeviceRepairMst mst LEFT JOIN EM_BI_EquipmentFile file ON file.devicerecord_id = mst.devicerecord_id @@ -106,7 +107,8 @@ mst.*, class.class_name, file.device_code, - file.device_name + file.device_name, + file.extend_code FROM EM_BI_DeviceRepairMst mst LEFT JOIN EM_BI_EquipmentFile file ON file.devicerecord_id = mst.devicerecord_id diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRPLAN001.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRPLAN001.wql index f6fd57c5..8ed59224 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRPLAN001.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRPLAN001.wql @@ -52,7 +52,8 @@ mst.*, class.class_name, file.device_code, - file.device_name + file.device_name, + file.extend_code FROM EM_BI_DeviceRepairPlanMst mst LEFT JOIN EM_BI_EquipmentFile file ON file.devicerecord_id = mst.devicerecord_id diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRREQUEST001.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRREQUEST001.wql index 6faa5013..3e6cc875 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRREQUEST001.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIRREQUEST001.wql @@ -51,6 +51,7 @@ class.class_name, file.device_code, file.device_name, + file.extend_code, class2.device_faultclass_name FROM EM_BI_DeviceRepairRequest mst diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/wql/TASK_AUTOWEBSOCKETTSK.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/wql/TASK_AUTOWEBSOCKETTSK.wql index f2913873..d7751962 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/wql/TASK_AUTOWEBSOCKETTSK.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/stat/wql/TASK_AUTOWEBSOCKETTSK.wql @@ -194,6 +194,8 @@ mst.is_delete = '0' AND (mst.invstatus <> '99' or (mst.invstatus = '99' and mst.audit_time like 输入.today)) + order by input_time DESC + ENDSELECT ENDQUERY ENDIF diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/wql/EM_BIDEVICEMAINTENANCE001.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/wql/EM_BIDEVICEMAINTENANCE001.wql index 4be0bdb5..574a8e29 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/wql/EM_BIDEVICEMAINTENANCE001.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/wql/EM_BIDEVICEMAINTENANCE001.wql @@ -52,7 +52,8 @@ mst.*, class.class_name, file.device_code, - file.device_name + file.device_name, + file.extend_code FROM EM_BI_DeviceMaintenanceMst mst LEFT JOIN EM_BI_EquipmentFile file ON file.devicerecord_id = mst.devicerecord_id @@ -101,7 +102,8 @@ mst.*, class.class_name, file.device_code, - file.device_name + file.device_name, + file.extend_code FROM EM_BI_DeviceMaintenanceMst mst LEFT JOIN EM_BI_EquipmentFile file ON file.devicerecord_id = mst.devicerecord_id diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/wql/EM_BIDEVICEMAINTENANCEPLAN001.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/wql/EM_BIDEVICEMAINTENANCEPLAN001.wql index af742cbc..2c77d897 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/wql/EM_BIDEVICEMAINTENANCEPLAN001.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/wql/EM_BIDEVICEMAINTENANCEPLAN001.wql @@ -52,7 +52,8 @@ mst.*, class.class_name, file.device_code, - file.device_name + file.device_name, + file.extend_code FROM EM_BI_DeviceMaintenancePlanMst mst LEFT JOIN EM_BI_EquipmentFile file ON file.devicerecord_id = mst.devicerecord_id diff --git a/mes/qd/src/views/wms/ql/physicalMstConfirm/PhySyncDialog.vue b/mes/qd/src/views/wms/ql/physicalMstConfirm/PhySyncDialog.vue index 03f8d5de..f03cbcba 100644 --- a/mes/qd/src/views/wms/ql/physicalMstConfirm/PhySyncDialog.vue +++ b/mes/qd/src/views/wms/ql/physicalMstConfirm/PhySyncDialog.vue @@ -81,7 +81,7 @@ export default { optShow: {}, url: 'api/physicalMst/erpPhyQuery', idField: 'inspection_id', - sort: '', + sort: 'biz_date DESC', crudMethod: { ...crudPhysicalMst } }) }, diff --git a/mes/qd/src/views/wms/sb/repair/devicerepair/index.vue b/mes/qd/src/views/wms/sb/repair/devicerepair/index.vue index 5e5e7e00..1071db00 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepair/index.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepair/index.vue @@ -97,6 +97,7 @@ + diff --git a/mes/qd/src/views/wms/sb/repair/devicerepairpa/index.vue b/mes/qd/src/views/wms/sb/repair/devicerepairpa/index.vue index 7fee17a7..eed9392a 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepairpa/index.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepairpa/index.vue @@ -152,6 +152,7 @@ + @@ -160,7 +161,7 @@ - + diff --git a/mes/qd/src/views/wms/sb/repair/devicerepairplan/index.vue b/mes/qd/src/views/wms/sb/repair/devicerepairplan/index.vue index 87091fea..e61067b4 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepairplan/index.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepairplan/index.vue @@ -109,6 +109,7 @@ + diff --git a/mes/qd/src/views/wms/sb/repair/devicerepairrequest/index.vue b/mes/qd/src/views/wms/sb/repair/devicerepairrequest/index.vue index 8d627728..a52f09b9 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepairrequest/index.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepairrequest/index.vue @@ -97,6 +97,7 @@ + diff --git a/mes/qd/src/views/wms/sb/repair/devicerepairudit/index.vue b/mes/qd/src/views/wms/sb/repair/devicerepairudit/index.vue index a375d8ae..66201ba7 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepairudit/index.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepairudit/index.vue @@ -123,6 +123,7 @@ + @@ -131,7 +132,7 @@ - + diff --git a/mes/qd/src/views/wms/sb/repair/devicerepaorout/index.vue b/mes/qd/src/views/wms/sb/repair/devicerepaorout/index.vue index 9aa9fd49..cf91ddd2 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepaorout/index.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepaorout/index.vue @@ -108,6 +108,7 @@ + diff --git a/mes/qd/src/views/wms/sb/upkeep/devicemaintenance/index.vue b/mes/qd/src/views/wms/sb/upkeep/devicemaintenance/index.vue index e8013a46..da792788 100644 --- a/mes/qd/src/views/wms/sb/upkeep/devicemaintenance/index.vue +++ b/mes/qd/src/views/wms/sb/upkeep/devicemaintenance/index.vue @@ -108,6 +108,7 @@ + diff --git a/mes/qd/src/views/wms/sb/upkeep/devicemaintenanceaudit/index.vue b/mes/qd/src/views/wms/sb/upkeep/devicemaintenanceaudit/index.vue index 1f8080ab..f59a93da 100644 --- a/mes/qd/src/views/wms/sb/upkeep/devicemaintenanceaudit/index.vue +++ b/mes/qd/src/views/wms/sb/upkeep/devicemaintenanceaudit/index.vue @@ -97,6 +97,7 @@ + diff --git a/mes/qd/src/views/wms/sb/upkeep/devicemaintenancepa/index.vue b/mes/qd/src/views/wms/sb/upkeep/devicemaintenancepa/index.vue index 3d1c71b6..ffa456ad 100644 --- a/mes/qd/src/views/wms/sb/upkeep/devicemaintenancepa/index.vue +++ b/mes/qd/src/views/wms/sb/upkeep/devicemaintenancepa/index.vue @@ -130,6 +130,7 @@ + diff --git a/mes/qd/src/views/wms/sb/upkeep/devicemaintenanceplan/index.vue b/mes/qd/src/views/wms/sb/upkeep/devicemaintenanceplan/index.vue index c2f0fc17..3b54d5f1 100644 --- a/mes/qd/src/views/wms/sb/upkeep/devicemaintenanceplan/index.vue +++ b/mes/qd/src/views/wms/sb/upkeep/devicemaintenanceplan/index.vue @@ -106,17 +106,18 @@ - - - + + + + - + - + - - + + + - + @@ -95,10 +105,14 @@ import CRUD, { header, presenter } from '@crud/crud' import rrOperation from '@crud/RR.operation' import pagination from '@crud/Pagination' import crudDevicemaintenanceitems from '@/api/wms/basedata/em/devicemaintenanceitems' +import crudClassstandard from '@/api/wms/basedata/master/classstandard' +import Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect' +import '@riophae/vue-treeselect/dist/vue-treeselect.css' +import crudMaterialbase from '@/api/wms/basedata/master/materialbase' export default { name: 'Item', - components: { rrOperation, pagination }, + components: { rrOperation, pagination, Treeselect }, cruds() { return CRUD({ title: '保养项目', @@ -118,6 +132,9 @@ export default { }, data() { return { + classes: [], + class_idStr: null, + materOpt_code: '23', dialogVisible: false, tableRadio: null, checkrow: null, @@ -137,6 +154,17 @@ export default { } } }, + created() { + const param = { + 'materOpt_code': this.materOpt_code + } + crudMaterialbase.getMaterOptType(param).then(res => { + this.class_idStr = res.class_idStr + this.crud.query.class_idStr = this.class_idStr + this.crud.toQuery() + this.queryClassId() + }) + }, methods: { clickChange(item) { this.tableRadio = item @@ -185,6 +213,34 @@ export default { this.crud.resetQuery(false) this.$emit('update:dialogShow', false) this.$emit('tableChanged1', this.rows) + }, + loadClass({ action, parentNode, callback }) { + if (action === LOAD_CHILDREN_OPTIONS) { + crudClassstandard.getClass({ pid: parentNode.id }).then(res => { + parentNode.children = res.content.map(function(obj) { + if (obj.hasChildren) { + obj.children = null + } + return obj + }) + setTimeout(() => { + callback() + }, 100) + }) + } + }, + queryClassId() { + const param = { + 'class_idStr': this.class_idStr + } + crudClassstandard.queryClassById(param).then(res => { + this.classes = res.content.map(obj => { + if (obj.hasChildren) { + obj.children = null + } + return obj + }) + }) } } } From 2f89c025759b1b1c33286f1dbdbbd92dc01ee80a Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Mon, 5 Sep 2022 15:48:00 +0800 Subject: [PATCH 08/25] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mes/qd/src/views/wms/pdm/produce/dailyplan/index.vue | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mes/qd/src/views/wms/pdm/produce/dailyplan/index.vue b/mes/qd/src/views/wms/pdm/produce/dailyplan/index.vue index f82b017e..74b072d2 100644 --- a/mes/qd/src/views/wms/pdm/produce/dailyplan/index.vue +++ b/mes/qd/src/views/wms/pdm/produce/dailyplan/index.vue @@ -165,7 +165,7 @@ - + @@ -303,6 +303,13 @@ export default { } } }, + seriesFormat2(row) { + for (const item of this.XLList) { + if (item.id === row.mater_product_series) { + return item.name + } + } + }, save() { if (this.crud.query.device_id === '' || this.crud.query.device_id === undefined) { this.crud.notify('请先选择关键设备!') From 3d6c00386eec04b09bb29ac5026275b30e179426 Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Mon, 5 Sep 2022 17:21:24 +0800 Subject: [PATCH 09/25] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java | 6 ++++-- .../main/java/org/nl/wms/pdm/wql/QPDM_PRODUCTDAILYPLAN.wql | 1 + mes/qd/src/views/wms/pdm/produce/dailyplan/index.vue | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java index 7a307a4e..25a46307 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java @@ -73,10 +73,12 @@ public class DailyplanServiceImpl implements DailyplanService { String plan_finish_date = jo.getString("plan_finish_date"); Date date2 = DateUtil.parse(plan_finish_date); long days = (int) DateUtil.between(date2,date, DateUnit.DAY); + int report_time = jo.getInteger("report_time"); + int report_day = report_time/24; if(date2.getTime() >= date.getTime()){ - jo.put("day_num",days); + jo.put("day_num",days-report_day); }else{ - jo.put("day_num",-days); + jo.put("day_num",-days-report_day); } ja.add(jo); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_PRODUCTDAILYPLAN.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_PRODUCTDAILYPLAN.wql index cb529dd4..e4bf151d 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_PRODUCTDAILYPLAN.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_PRODUCTDAILYPLAN.wql @@ -56,6 +56,7 @@ ext.standard_mark, ext.product_series AS mater_product_series, ext.standard_weight_pft AS standard_weight, + ext.report_time, materialbase.material_code, deviceinfo.device_code, deviceinfo.device_name, diff --git a/mes/qd/src/views/wms/pdm/produce/dailyplan/index.vue b/mes/qd/src/views/wms/pdm/produce/dailyplan/index.vue index 74b072d2..b9c4ddaf 100644 --- a/mes/qd/src/views/wms/pdm/produce/dailyplan/index.vue +++ b/mes/qd/src/views/wms/pdm/produce/dailyplan/index.vue @@ -218,7 +218,7 @@ export default { optShow: { add: true, edit: false, - del: false, + del: true, download: false, reset: false }}) From 488d1a608df89018e269f125addb492ba4b95c0b Mon Sep 17 00:00:00 2001 From: liuxy Date: Tue, 6 Sep 2022 10:25:32 +0800 Subject: [PATCH 10/25] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/IostordailyServiceImpl.java | 53 ++++++++++++++++++- .../wql/SendReceiveQuery_query_01.wql | 26 +++++++++ .../wms/statistics/sendReceiveQuery/index.vue | 38 ++++++++----- 3 files changed, 102 insertions(+), 15 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/IostordailyServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/IostordailyServiceImpl.java index 8dfe1859..ebec7f8c 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/IostordailyServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/IostordailyServiceImpl.java @@ -9,9 +9,12 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import org.nl.wms.basedata.master.constant.MaterOptTypeEnum; import org.nl.wms.basedata.master.service.ClassstandardService; +import org.nl.wms.basedata.master.service.MaterialbaseService; import org.nl.wms.statistics.service.IostordailyService; import org.nl.wql.WQL; +import org.nl.wql.core.bean.WQLObject; import org.nl.wql.util.WqlUtil; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; @@ -29,6 +32,7 @@ import java.util.Map; @Slf4j public class IostordailyServiceImpl implements IostordailyService { private final ClassstandardService classstandardService; + private final MaterialbaseService materialbaseService; @Override public Map queryAll(Map whereJson, Pageable page){ @@ -55,6 +59,54 @@ public class IostordailyServiceImpl implements IostordailyService { } if (ObjectUtil.isNotEmpty(pcsn)) map.put("pcsn", "%" + pcsn + "%"); JSONObject json = WQL.getWO("SendReceiveQuery_query_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "da.sect_date desc"); + + /* + * 处理所属组织 + * 1.PG粉所属组织:通过物料编码+批次找工令所属组织来获取 + * 2.软废所属组织:物料编码去掉后缀 例如:-YZ 找最近完成的工令获取所属组织,若还有其他事业部,页面单元格底色标黄色 + * 3.除PG粉和软废外其他类型物料所属组织取不到 为空就行 + */ + WQLObject workTab = WQLObject.getWQLObject("PDM_BI_WorkOrder"); // 工令表 + WQLObject deptTab = WQLObject.getWQLObject("sys_dept"); // 部门表 + + JSONArray contentArr = json.getJSONArray("content"); + for (int i = 0; i < contentArr.size(); i++) { + JSONObject jsonObject = contentArr.getJSONObject(i); + String material_id = jsonObject.getString("material_id"); + String pcsn_1 = jsonObject.getString("pcsn"); + + // 判断物料是PG粉还是软废 + boolean is_pgf = materialbaseService.isAlongMaterType(MaterOptTypeEnum.PGF.getCode(), material_id, null); + boolean is_rf = materialbaseService.isAlongMaterType(MaterOptTypeEnum.RF.getCode(), material_id, null); + + if (is_pgf) { + JSONObject jsonWork = workTab.query("material_id = '" + material_id + "' and pcsn = '" + pcsn_1 + "' and is_delete ='0'").uniqueResult(0); + if (ObjectUtil.isEmpty(jsonWork)) continue; + + JSONObject jsonDept = deptTab.query("dept_id = '" + jsonWork.getString("org_id") + "'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonDept)) jsonObject.put("dept_name", jsonDept.getString("name")); + } + + if (is_rf) { + // 截取 "-" 最后出现的前面的字符串 + String material_code_1 = jsonObject.getString("material_code"); + int lastIndexOf = material_code_1.lastIndexOf('-'); + String material_code_sub = material_code_1.substring(0, lastIndexOf); + + JSONArray workArr = WQL.getWO("SendReceiveQuery_query_01").addParam("flag", "3").addParam("material_code", material_code_sub).process().getResultJSONArray(0); + if (ObjectUtil.isEmpty(workArr)) continue; + if (workArr.size() > 1) { + jsonObject.put("is_yellow", "1"); + JSONObject json_1 = workArr.getJSONObject(0); + jsonObject.put("dept_name",json_1.getString("dept_name")); + } else { + JSONObject json_1 = workArr.getJSONObject(0); + jsonObject.put("dept_name",json_1.getString("dept_name")); + } + } + + } + return json; } @@ -63,5 +115,4 @@ public class IostordailyServiceImpl implements IostordailyService { JSONArray jsonArr = WQL.getWO("SendReceiveQuery_query_01").addParam("flag", "2").process().getResultJSONArray(0); return jsonArr; } - } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/SendReceiveQuery_query_01.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/SendReceiveQuery_query_01.wql index c76d93fe..531e127b 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/SendReceiveQuery_query_01.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/SendReceiveQuery_query_01.wql @@ -47,14 +47,18 @@ IF 输入.flag = "1" PAGEQUERY SELECT + stor.stor_name, da.sect_date, da.is_active, da.ivt_level, da.pcsn, da.quality_scode, class.class_name, + class.class_code, + mater.material_id, mater.material_code, mater.material_name, + mater.material_model, unit.unit_name, da.start_num, da.in_num, @@ -137,3 +141,25 @@ ENDSELECT ENDQUERY ENDIF + + IF 输入.flag = "3" + QUERY + SELECT + sum(work.ok_qty) AS ok_qty, + dept.name AS dept_name + FROM + PDM_BI_WorkOrder work + INNER JOIN md_me_materialbase mater ON mater.material_id = work.material_id + INNER JOIN sys_dept dept ON dept.dept_id = work.org_id + WHERE + work.is_delete = '0' + + OPTION 输入.material_code <> "" + mater.material_code = 输入.material_code + ENDOPTION + + group by work.org_id + + ENDSELECT + ENDQUERY + ENDIF diff --git a/mes/qd/src/views/wms/statistics/sendReceiveQuery/index.vue b/mes/qd/src/views/wms/statistics/sendReceiveQuery/index.vue index e54b3ae7..faa5f7e8 100644 --- a/mes/qd/src/views/wms/statistics/sendReceiveQuery/index.vue +++ b/mes/qd/src/views/wms/statistics/sendReceiveQuery/index.vue @@ -81,22 +81,25 @@ - - + + + + - - - - - - - - - - - + + + + + + + + + + + + + @@ -324,6 +327,13 @@ export default { } }) return sums + }, + cellStyleMst({ row, column, rowIndex, columnIndex }) { + if (column.property === 'dept_name') { + if (row.is_yellow !== undefined) { + return 'background: yellow' + } + } } } } From 5f84450c25ecf4a628d5950c33db2f8374586f20 Mon Sep 17 00:00:00 2001 From: liuxy Date: Tue, 6 Sep 2022 11:08:12 +0800 Subject: [PATCH 11/25] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../em/service/impl/DevicemaintenanceitemsServiceImpl.java | 2 +- .../basedata/em/service/impl/DevicerepairitemsServiceImpl.java | 2 +- .../basedata/master/service/impl/MaterialbaseServiceImpl.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/em/service/impl/DevicemaintenanceitemsServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/em/service/impl/DevicemaintenanceitemsServiceImpl.java index d60897b5..59598892 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/em/service/impl/DevicemaintenanceitemsServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/em/service/impl/DevicemaintenanceitemsServiceImpl.java @@ -68,7 +68,7 @@ public class DevicemaintenanceitemsServiceImpl implements Devicemaintenanceitems map.put("classIds", classIds); } else if (ObjectUtil.isNotEmpty(class_idStr)) { String classIds = classstandardService.getAllChildIdStr(class_idStr); - map.put("classIds", classIds); + map.put("classIds", ""); } JSONObject json = WQL.getWO("QEM_BI_DEVICEMAINTAIN001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "update_time DESC"); return json; diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/em/service/impl/DevicerepairitemsServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/em/service/impl/DevicerepairitemsServiceImpl.java index 34b82787..3626e1ae 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/em/service/impl/DevicerepairitemsServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/em/service/impl/DevicerepairitemsServiceImpl.java @@ -62,7 +62,7 @@ public class DevicerepairitemsServiceImpl implements DevicerepairitemsService { map.put("classIds", classIds); } else if (ObjectUtil.isNotEmpty(class_idStr)) { String classIds = classstandardService.getAllChildIdStr(class_idStr); - map.put("classIds", classIds); + map.put("classIds", ""); } JSONObject json = WQL.getWO("QEM_BI_DEVICEREPAIRITEMS01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "update_time DESC"); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/MaterialbaseServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/MaterialbaseServiceImpl.java index 89334d35..fce9c2c7 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/MaterialbaseServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/MaterialbaseServiceImpl.java @@ -61,7 +61,7 @@ public class MaterialbaseServiceImpl implements MaterialbaseService { if (search.contains("\\")) { search = search.replace("\\", "\\\\\\"); } - map.put("search", search + "%"); + map.put("search", "%"+search + "%"); } //处理物料当前节点的所有子节点 From e44ff3bc67d6baf7c4c2caf3edb694d2a3c1853b Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Tue, 6 Sep 2022 16:50:38 +0800 Subject: [PATCH 12/25] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pdm/service/impl/DailyplanServiceImpl.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java index 25a46307..d8e41dc6 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java @@ -165,7 +165,14 @@ public class DailyplanServiceImpl implements DailyplanService { json.put("create_time", now); json.put("planstart_date", json.getString("planstart_date").substring(0,10)); json.put("plan_finish_date", json.getString("plan_finish_date").substring(0,10)); - json.put("planend_date", json.getString("plan_finish_date")); + + String planstart_date = json.getString("planstart_date"); + Date date = DateUtil.parse(planstart_date); + int days = this.getDays(json.getString("material_id")); + Date planend_date = DateUtil.offsetDay(date,days-1); + json.put("planend_date",DateUtil.formatDate(planend_date)); + + JSONObject mater = MD_ME_ProducMaterialExt.query("material_id='"+json.getString("material_id")+"'").uniqueResult(0); double standard_weight = mater.getDouble("standard_weight_pft"); if(standard_weight ==0){ @@ -200,7 +207,13 @@ public class DailyplanServiceImpl implements DailyplanService { whereJson.put("update_time", now); whereJson.put("planstart_date", whereJson.getString("planstart_date").substring(0,10)); whereJson.put("plan_finish_date", whereJson.getString("plan_finish_date").substring(0,10)); - whereJson.put("planend_date", whereJson.getString("plan_finish_date")); + + String planstart_date = whereJson.getString("planstart_date"); + Date date = DateUtil.parse(planstart_date); + int days = this.getDays(whereJson.getString("material_id")); + Date planend_date = DateUtil.offsetDay(date,days-1); + whereJson.put("planend_date",DateUtil.formatDate(planend_date)); + JSONObject mater = MD_ME_ProducMaterialExt.query("material_id='"+whereJson.getString("material_id")+"'").uniqueResult(0); double standard_weight = mater.getDouble("standard_weight_pft"); if(standard_weight ==0){ From 362ba7e368d5972cf02d65518db1a01302d2287d Mon Sep 17 00:00:00 2001 From: liuxy Date: Tue, 6 Sep 2022 18:23:48 +0800 Subject: [PATCH 13/25] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rest/StifleQueryController.java | 6 - .../service/StifleQueryService.java | 4 - .../service/impl/StifleQueryServiceImpl.java | 318 +++++++++++++----- .../nl/wms/statistics/wql/stifle_query_01.wql | 107 ++++-- .../wms/statistics/stifleQuery/index.vue | 93 +++-- 5 files changed, 377 insertions(+), 151 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/rest/StifleQueryController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/rest/StifleQueryController.java index 1cfa0468..6e56bd15 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/rest/StifleQueryController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/rest/StifleQueryController.java @@ -35,10 +35,4 @@ public class StifleQueryController { return new ResponseEntity<>(stifleQueryService.queryAll(whereJson, page), HttpStatus.OK); } - @GetMapping("/getHeader") - @Log("获取表头") - @ApiOperation("获取表头") - public ResponseEntity getHeader() { - return new ResponseEntity<>(stifleQueryService.getHeader(), HttpStatus.OK); - } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/StifleQueryService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/StifleQueryService.java index 0c9b8df9..e7c895c3 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/StifleQueryService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/StifleQueryService.java @@ -20,8 +20,4 @@ public interface StifleQueryService { */ Map queryAll(Map whereJson, Pageable page); - /** - * 获取表头 - */ - JSONArray getHeader(); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/StifleQueryServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/StifleQueryServiceImpl.java index bcc06481..3d104c2a 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/StifleQueryServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/StifleQueryServiceImpl.java @@ -1,6 +1,7 @@ package org.nl.wms.statistics.service.impl; import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; @@ -16,6 +17,7 @@ import org.nl.wql.util.WqlUtil; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.HashMap; import java.util.Map; @@ -30,107 +32,237 @@ public class StifleQueryServiceImpl implements StifleQueryService { map.put("flag", "1"); map.put("begin_time", MapUtil.getStr(whereJson,"begin_time")); map.put("end_time", MapUtil.getStr(whereJson,"end_time")); - map.put("inspection_code", MapUtil.getStr(whereJson,"inspection_code")); map.put("pcsn", MapUtil.getStr(whereJson,"pcsn")); - map.put("other_device_no", MapUtil.getStr(whereJson,"other_device_no")); - map.put("bill_status", MapUtil.getStr(whereJson,"bill_status")); if (!StrUtil.isEmpty(material_code)) { //处理转义字符 if (material_code.contains("\\")) material_code = material_code.replace("\\", "\\\\\\"); map.put("material_code", "%" + material_code + "%"); } + WQLObject workTab = WQLObject.getWQLObject("QL_TEST_WorkProcedureMst"); // 工序质检单主表 + WQLObject stanTab = WQLObject.getWQLObject("QL_TEST_InspectionSchemeDtlProductStandard"); // 产品检验方案标准表 - JSONObject json = WQL.getWO("stifle_query_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst.input_time desc"); - JSONArray contentArr = json.getJSONArray("content"); - JSONArray jsonResultArr = new JSONArray(); - json.put("content",jsonResultArr); - return json; - } + /* + * 1.根据物料批次分组查询 工序是压团制粒的工序 + * 2.根据分组后的物料批次查出所有此物料批次的喷雾工序质检单 + * 3.松比:根据桶序号一一找出对应的值 + * 4.流动性:根据桶序号一一找出对应的值 + * 5.筛分:抽一桶? + */ + JSONObject result = WQL.getWO("stifle_query_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "biz_date desc"); + JSONArray contentArr = result.getJSONArray("content"); - @Override - public JSONArray getHeader() { - JSONArray jsonResultArr = new JSONArray(); - JSONObject jsonResult1 = new JSONObject(); - jsonResult1.put("prop", "1"); - jsonResult1.put("label", "日期"); - JSONObject jsonResult2 = new JSONObject(); - jsonResult2.put("prop", "2"); - jsonResult2.put("label", "物料编码"); - JSONObject jsonResult3 = new JSONObject(); - jsonResult3.put("prop", "3"); - jsonResult3.put("label", "批次"); - JSONObject jsonResult4 = new JSONObject(); - jsonResult4.put("prop", "4"); - jsonResult4.put("label", "1"); - JSONObject jsonResult5 = new JSONObject(); - jsonResult5.put("prop", "5"); - jsonResult5.put("label", "3"); - JSONObject jsonResult6 = new JSONObject(); - jsonResult6.put("prop", "6"); - jsonResult6.put("label", "5"); - JSONObject jsonResult7 = new JSONObject(); - jsonResult7.put("prop", "7"); - jsonResult7.put("label", "7"); - JSONObject jsonResult8 = new JSONObject(); - jsonResult8.put("prop", "8"); - jsonResult8.put("label", "10"); - JSONObject jsonResult9 = new JSONObject(); - jsonResult9.put("prop", "9"); - jsonResult9.put("label", "平均"); - JSONObject jsonResult10 = new JSONObject(); - jsonResult10.put("prop", "10"); - jsonResult10.put("label", "极差"); - JSONObject jsonResult11 = new JSONObject(); - jsonResult11.put("prop", "11"); - jsonResult11.put("label", "标准"); - JSONObject jsonResult12 = new JSONObject(); - jsonResult12.put("prop", "12"); - jsonResult12.put("label", "结论"); - JSONObject jsonResult13 = new JSONObject(); - jsonResult13.put("prop", "13"); - jsonResult13.put("label", "1"); - JSONObject jsonResult14 = new JSONObject(); - jsonResult14.put("prop", "14"); - jsonResult14.put("label", "3"); - JSONObject jsonResult15 = new JSONObject(); - jsonResult15.put("prop", "15"); - jsonResult15.put("label", "5"); - JSONObject jsonResult16 = new JSONObject(); - jsonResult16.put("prop", "16"); - jsonResult16.put("label", "7"); - JSONObject jsonResult17 = new JSONObject(); - jsonResult17.put("prop", "17"); - jsonResult17.put("label", "10"); - JSONObject jsonResult18 = new JSONObject(); - jsonResult18.put("prop", "18"); - jsonResult18.put("label", "平均"); - JSONObject jsonResult19 = new JSONObject(); - jsonResult19.put("prop", "19"); - jsonResult19.put("label", "标准"); - JSONObject jsonResult20 = new JSONObject(); - jsonResult20.put("prop", "20"); - jsonResult20.put("label", "结论"); - jsonResultArr.add(jsonResult1); - jsonResultArr.add(jsonResult2); - jsonResultArr.add(jsonResult3); - jsonResultArr.add(jsonResult4); - jsonResultArr.add(jsonResult5); - jsonResultArr.add(jsonResult6); - jsonResultArr.add(jsonResult7); - jsonResultArr.add(jsonResult8); - jsonResultArr.add(jsonResult9); - jsonResultArr.add(jsonResult10); - jsonResultArr.add(jsonResult11); - jsonResultArr.add(jsonResult12); - jsonResultArr.add(jsonResult13); - jsonResultArr.add(jsonResult14); - jsonResultArr.add(jsonResult15); - jsonResultArr.add(jsonResult16); - jsonResultArr.add(jsonResult17); - jsonResultArr.add(jsonResult18); - jsonResultArr.add(jsonResult19); - jsonResultArr.add(jsonResult20); - return jsonResultArr; + /* + * 松比: + * 1.根据物料、批次查询1-12的桶号对应明细中项点为松比的值 + * 2.平均值计算 + * 3.极差值计算:x = (max - min) + * 4.标准值:查询此物料的检测方案标准维护中的项点 下限值与上限值 + * 5.结论:平均值在合格范围内认为合格 + */ + for (int i = 0; i < contentArr.size(); i++) { + JSONObject json = contentArr.getJSONObject(i); + String material_id = json.getString("material_id"); + String pcsn = json.getString("pcsn"); + // 1.根据物料、批次查询所有喷雾工序的数据 + JSONArray workArr = workTab.query("material_id = '" + material_id + "' and pcsn = '" + pcsn + "' and is_delete = '0' and workprocedure_code = 'GX003' order by record_order ASC").getResultJSONArray(0); + + String all_value = "0"; // 总值 + String all_num = "0"; // 总桶数 + for (int j = 0; j < workArr.size(); j++) { + JSONObject jsonWorkMst = workArr.getJSONObject(j); + String inspection_id = jsonWorkMst.getString("inspection_id"); + // 2.根据主表查询对应明细表:松比项点为 = GXZJ00003 + map.put("flag","2"); + map.put("inspection_id",inspection_id); + map.put("inspection_item_code","GXZJ00003"); + JSONObject jsonWorkDtl = WQL.getWO("stifle_query_01").addParamMap(map).process().uniqueResult(0); + + if (ObjectUtil.isNotEmpty(jsonWorkDtl)) { + // 3.不为空则累加总值 和 总桶数 + all_value = NumberUtil.add(all_value,jsonWorkDtl.getString("value_review")).toString(); + all_num = NumberUtil.add(all_num,"1").toString(); + // 4.put松比值 + String record_order = jsonWorkMst.getString("record_order"); // 桶顺序号 + json.put("sb_"+record_order,jsonWorkDtl.getString("value_review")); + } + } + // 5.松比平均值 + if ((!StrUtil.equals(all_value,"0")) && (!StrUtil.equals(all_num,"0"))) { + json.put("sb_div", NumberUtil.round(NumberUtil.div(all_value, all_num).toString(), 2)); + } + // 6.松比极差值 + map.put("flag", "3"); + map.put("material_id",material_id); + map.put("pcsn",pcsn); + JSONObject jsonMax = WQL.getWO("stifle_query_01").addParamMap(map).process().uniqueResult(0); + + map.put("flag", "4"); + JSONObject jsonMin = WQL.getWO("stifle_query_01").addParamMap(map).process().uniqueResult(0); + + if (ObjectUtil.isNotEmpty(jsonMax) && ObjectUtil.isNotEmpty(jsonMin)) { + BigDecimal sub = NumberUtil.sub(jsonMax.getString("value_review"), jsonMin.getString("value_review")); + json.put("sb_sub",NumberUtil.round(sub.toString(), 2)); + } + // 7.松比密度标准值 GXZJ00003 + JSONObject jsonStanSb = stanTab.query("material_uuid = '" + material_id + "' and inspection_item_code = 'GXZJ00003' and is_delete = '0'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonStanSb)) { + double down_limit_sb = jsonStanSb.getDoubleValue("down_limit"); + double up_limit_sb = jsonStanSb.getDoubleValue("up_limit"); + json.put("sb_standard",String.valueOf(down_limit_sb) +"-"+ String.valueOf(up_limit_sb)); + + // 8.结论:平均值在合格范围内认为合格否则不合格 + if (ObjectUtil.isNotEmpty(json.getString("sb_div"))) { + double sb_div = json.getDoubleValue("sb_div"); + if ((down_limit_sb <= sb_div) && (sb_div <= up_limit_sb)) { + json.put("sb_result", "合格"); + } else { + json.put("sb_result", "不合格"); + } + } + } + + /* + * 流动性: + * 1.根据物料、批次查询1-12的桶号对应明细中项点为流动性的值 + * 2.平均值计算 + * 3.极差值计算:x = (max - min) + * 4.标准值:查询此物料的检测方案标准维护中的项点 下限值与上限值 + * 5.结论:平均值在合格范围内认为合格 + */ + String all_value_2 = "0"; // 总值 + String all_num_2 = "0"; // 总桶数 + for (int k = 0; k < workArr.size(); k++) { + JSONObject jsonWorkMst = workArr.getJSONObject(k); + String inspection_id = jsonWorkMst.getString("inspection_id"); + // 2.根据主表查询对应明细表:流动性项点为 = GXZJ00004 + map.put("flag","2"); + map.put("inspection_id",inspection_id); + map.put("inspection_item_code","GXZJ00004"); + JSONObject jsonWorkDtl = WQL.getWO("stifle_query_01").addParamMap(map).process().uniqueResult(0); + + if (ObjectUtil.isNotEmpty(jsonWorkDtl)) { + // 3.不为空则累加总值 和 总桶数 + all_value_2 = NumberUtil.add(all_value_2,jsonWorkDtl.getString("value_review")).toString(); + all_num_2 = NumberUtil.add(all_num_2,"1").toString(); + // 4.put松比值 + String record_order = jsonWorkMst.getString("record_order"); // 桶顺序号 + json.put("ldx_"+record_order,jsonWorkDtl.getString("value_review")); + } + } + // 5.流动性平均值 + if ((!StrUtil.equals(all_value_2,"0")) && (!StrUtil.equals(all_num_2,"0"))) { + json.put("ldx_div", NumberUtil.round(NumberUtil.div(all_value_2, all_num_2).toString(), 2)); + } + // 6.松比极差值 + map.put("flag", "3"); + map.put("material_id",material_id); + map.put("pcsn",pcsn); + JSONObject jsonMax_ldx = WQL.getWO("stifle_query_01").addParamMap(map).process().uniqueResult(0); + + map.put("flag", "4"); + JSONObject jsonMin_ldx = WQL.getWO("stifle_query_01").addParamMap(map).process().uniqueResult(0); + + if (ObjectUtil.isNotEmpty(jsonMax_ldx) && ObjectUtil.isNotEmpty(jsonMin_ldx)) { + BigDecimal sub = NumberUtil.sub(jsonMax_ldx.getString("value_review"), jsonMin_ldx.getString("value_review")); + json.put("ldx_sub",NumberUtil.round(sub.toString(),2)); + } + // 7.流动性标准值 GXZJ00004 + JSONObject jsonStanLdx = stanTab.query("material_uuid = '" + material_id + "' and inspection_item_code = 'GXZJ00004' and is_delete = '0'").uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonStanLdx)) { + double down_limit_ldx = jsonStanLdx.getDoubleValue("down_limit"); + double up_limit_ldx = jsonStanLdx.getDoubleValue("up_limit"); + json.put("ldx_standard",String.valueOf(down_limit_ldx) +"-"+ String.valueOf(up_limit_ldx)); + + // 8.结论:平均值在合格范围内认为合格否则不合格 + if (ObjectUtil.isNotEmpty(json.getString("ldx_div"))) { + double ldx_div = json.getDoubleValue("ldx_div"); + if ((down_limit_ldx <= ldx_div) && (ldx_div <= up_limit_ldx)) { + json.put("ldx_result", "合格"); + } else { + json.put("ldx_result", "不合格"); + } + } + } + /* + * 筛分:抽一桶进行显示 + * 1.查出筛分相关项点:GXZJ00006、GXZJ00007、GXZJ00008、GXZJ00009、GXZJ00010、GXZJ00011、GXZJ00012 + * 2.占比计算:前5项和/所有项和 x 100 + */ + if (ObjectUtil.isNotEmpty(workArr)) { + JSONObject jsonSf = workArr.getJSONObject(0); + JSONObject map_sf = new JSONObject(); + map_sf.put("flag","2"); + map_sf.put("inspection_id",jsonSf.getString("inspection_id")); + + map_sf.put("inspection_item_code","GXZJ00006"); + JSONObject jsonSf_1 = WQL.getWO("stifle_query_01").addParamMap(map_sf).process().uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonSf_1)) { + json.put("sf_1", jsonSf_1.getString("value_review")); + } else { + json.put("sf_1", "0"); + } + + map_sf.put("inspection_item_code","GXZJ00007"); + JSONObject jsonSf_2 = WQL.getWO("stifle_query_01").addParamMap(map_sf).process().uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonSf_2)) { + json.put("sf_2", jsonSf_2.getString("value_review")); + } else { + json.put("sf_2", "0"); + } + + map_sf.put("inspection_item_code","GXZJ00008"); + JSONObject jsonSf_3 = WQL.getWO("stifle_query_01").addParamMap(map_sf).process().uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonSf_3)) { + json.put("sf_3", jsonSf_3.getString("value_review")); + } else { + json.put("sf_3", "0"); + } + + map_sf.put("inspection_item_code","GXZJ00009"); + JSONObject jsonSf_4 = WQL.getWO("stifle_query_01").addParamMap(map_sf).process().uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonSf_4)) { + json.put("sf_4", jsonSf_4.getString("value_review")); + } else { + json.put("sf_4", "0"); + } + + map_sf.put("inspection_item_code","GXZJ00010"); + JSONObject jsonSf_5 = WQL.getWO("stifle_query_01").addParamMap(map_sf).process().uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonSf_5)) { + json.put("sf_5", jsonSf_5.getString("value_review")); + } else { + json.put("sf_5", "0"); + } + + map_sf.put("inspection_item_code","GXZJ00011"); + JSONObject jsonSf_6 = WQL.getWO("stifle_query_01").addParamMap(map_sf).process().uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonSf_6)) { + json.put("sf_6", jsonSf_6.getString("value_review")); + } else { + json.put("sf_6", "0"); + } + + map_sf.put("inspection_item_code","GXZJ00012"); + JSONObject jsonSf_7 = WQL.getWO("stifle_query_01").addParamMap(map_sf).process().uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonSf_7)) { + json.put("sf_7", jsonSf_7.getString("value_review")); + } else { + json.put("sf_7", "0"); + } + + // 占比计算 + String add_5 = NumberUtil.add(json.getString("sf_1"), json.getString("sf_2"), json.getString("sf_3"), json.getString("sf_4"), json.getString("sf_5")).toString(); + String add_7 = NumberUtil.add(add_5, json.getString("sf_6"), json.getString("sf_7")).toString(); + + if (!StrUtil.equals(add_7, "0")) { + String sf_div = NumberUtil.div(add_5, add_7).toString(); + json.put("sf_zb", NumberUtil.round(NumberUtil.mul(sf_div,"100").toString(), 2)); + } + // 备注 + json.put("remark", jsonSf.getString("remark")); + } + } + return result; } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/stifle_query_01.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/stifle_query_01.wql index 7ea8fb28..f45f409a 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/stifle_query_01.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/wql/stifle_query_01.wql @@ -16,12 +16,10 @@ 输入.flag TYPEAS s_string 输入.begin_time TYPEAS s_string 输入.end_time TYPEAS s_string - 输入.inspection_code TYPEAS s_string 输入.pcsn TYPEAS s_string - 输入.other_device_no TYPEAS s_string - 输入.bill_status TYPEAS s_string 输入.material_code TYPEAS s_string - 输入.material_id TYPEAS s_string + 输入.inspection_id TYPEAS s_string + 输入.inspection_item_code TYPEAS s_string [临时表] --这边列出来的临时表就会在运行期动态创建 @@ -48,14 +46,20 @@ IF 输入.flag = "1" PAGEQUERY SELECT - mst.*, - mater.material_code + sum(mst.total_qty) AS total_qty, + max(mst.biz_date) AS biz_date, + mst.material_id, + mst.pcsn, + mater.material_code, + max(ext.standard_mark) AS standard_mark FROM QL_TEST_WorkProcedureMst mst LEFT JOIN md_me_materialbase mater ON mater.material_id = mst.material_id + LEFT JOIN MD_ME_ProducMaterialExt ext ON ext.material_id = mater.material_id WHERE mst.is_delete= '0' + AND mst.workprocedure_code = 'GX008' OPTION 输入.begin_time <> "" mst.input_time >= 输入.begin_time @@ -65,27 +69,88 @@ mst.input_time <= 输入.end_time ENDOPTION - OPTION 输入.inspection_code <> "" - mst.inspection_code = 输入.inspection_code + OPTION 输入.pcsn <> "" + mst.pcsn = 输入.pcsn + ENDOPTION + + OPTION 输入.material_code <> "" + (mater.material_code like 输入.material_code or + mater.material_name like 输入.material_code) + ENDOPTION + + group by mst.pcsn,mst.material_id + + ENDSELECT + ENDPAGEQUERY + ENDIF + + IF 输入.flag = "2" + QUERY + SELECT + dtl.* + FROM + QL_TEST_WorkProcedureDtl dtl + LEFT JOIN QL_TEST_InspectionItemPoint point ON point.inspection_item_id = dtl.inspection_item_id + + WHERE + point.inspection_item_code = 输入.inspection_item_code + + OPTION 输入.inspection_id <> "" + dtl.inspection_id = 输入.inspection_id + ENDOPTION + + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "3" + QUERY + SELECT + dtl.* + FROM + QL_TEST_WorkProcedureMst mst + LEFT JOIN QL_TEST_WorkProcedureDtl dtl ON mst.inspection_id = dtl.inspection_id + LEFT JOIN QL_TEST_InspectionItemPoint point ON point.inspection_item_id = dtl.inspection_item_id + + WHERE + point.inspection_item_code = 输入.inspection_item_code + + OPTION 输入.material_id <> "" + mst.material_id = 输入.material_id ENDOPTION OPTION 输入.pcsn <> "" mst.pcsn = 输入.pcsn ENDOPTION - OPTION 输入.other_device_no <> "" - mst.other_device_no = 输入.other_device_no - ENDOPTION - - OPTION 输入.bill_status <> "" - mst.bill_status = 输入.bill_status - ENDOPTION - - OPTION 输入.material_code <> "" - (mater.material_code like 输入.material_code or - mater.material_name like 输入.material_code) - ENDOPTION + order by dtl.value_review DESC ENDSELECT - ENDPAGEQUERY + ENDQUERY + ENDIF + + IF 输入.flag = "4" + QUERY + SELECT + dtl.* + FROM + QL_TEST_WorkProcedureMst mst + LEFT JOIN QL_TEST_WorkProcedureDtl dtl ON mst.inspection_id = dtl.inspection_id + LEFT JOIN QL_TEST_InspectionItemPoint point ON point.inspection_item_id = dtl.inspection_item_id + + WHERE + point.inspection_item_code = 输入.inspection_item_code + + OPTION 输入.material_id <> "" + mst.material_id = 输入.material_id + ENDOPTION + + OPTION 输入.pcsn <> "" + mst.pcsn = 输入.pcsn + ENDOPTION + + order by dtl.value_review ASC + + ENDSELECT + ENDQUERY ENDIF \ No newline at end of file diff --git a/mes/qd/src/views/wms/statistics/stifleQuery/index.vue b/mes/qd/src/views/wms/statistics/stifleQuery/index.vue index 3626a935..c4ce82fb 100644 --- a/mes/qd/src/views/wms/statistics/stifleQuery/index.vue +++ b/mes/qd/src/views/wms/statistics/stifleQuery/index.vue @@ -48,19 +48,72 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -76,7 +129,6 @@ import crudOperation from '@crud/CRUD.operation' import udOperation from '@crud/UD.operation' import pagination from '@crud/Pagination' import DateRangePicker from '@/components/DateRangePicker' -import crudInspectionsheetmst from '@/api/wms/ql/inspectionsheetmst' export default { name: 'StifleQuery', @@ -104,27 +156,14 @@ export default { }, data() { return { - cols: [], - statusList: [], permission: { }, rules: { }} - }, - beforeCreate() { - }, - created() { - }, methods: { // 钩子:在获取表格数据之前执行,false 则代表不获取数据 [CRUD.HOOK.beforeRefresh]() { - crudStifleQuery.getHeader().then(res => { - this.cols = res - }) - crudInspectionsheetmst.getStatus().then(res => { - this.statusList = res - }) }, hand(value) { this.crud.toQuery() From 68ab724be134904710adf676d5cd9b6d1dd6039d Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Thu, 8 Sep 2022 23:05:19 +0800 Subject: [PATCH 14/25] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DailyplanServiceImpl.java | 73 ++++++++++++++-- .../impl/ProducetaskprocServiceImpl.java | 84 ++++++++++++++++--- .../nl/wms/pdm/wql/QPDM_PRODUCTPLANPROC.wql | 42 ++++++++++ .../wms/pdm/produce/dailyplan/StructIvt4.vue | 57 ++++++++++--- 4 files changed, 224 insertions(+), 32 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java index d8e41dc6..96faf1b1 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java @@ -342,7 +342,7 @@ public class DailyplanServiceImpl implements DailyplanService { //当天产能是否有剩余 double pcsn_num_day = 0; - JSONArray ja_day = new JSONArray(); + JSONArray ja_new2 = new JSONArray(); for(int i=0;i map = new HashMap(); + for(int i=0;i map = new HashMap(); + for(int i=0;i "" + FactoryCalendarDtl.factory_date >= 输入.planstart_date + ENDOPTION + ORDER BY FactoryCalendarDtl.factory_date + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "8" + QUERY + SELECT + ProductDailyPlan.planstart_date + FROM + MPS_BD_ProductDailyPlan ProductDailyPlan + WHERE + 1 = 1 + OPTION 输入.device_id <> "" + ProductDailyPlan.device_id = 输入.device_id + ENDOPTION + OPTION 输入.planend_date <> "" + ProductDailyPlan.planend_date >= 输入.planend_date + ENDOPTION + ENDSELECT + ENDQUERY + ENDIF + + diff --git a/mes/qd/src/views/wms/pdm/produce/dailyplan/StructIvt4.vue b/mes/qd/src/views/wms/pdm/produce/dailyplan/StructIvt4.vue index 14eb40d2..b217c9e3 100644 --- a/mes/qd/src/views/wms/pdm/produce/dailyplan/StructIvt4.vue +++ b/mes/qd/src/views/wms/pdm/produce/dailyplan/StructIvt4.vue @@ -3,6 +3,7 @@ append-to-body title="日计划重排" :visible.sync="dialogVisible" + v-loading.fullscreen.lock="fullscreenLoading" destroy-on-close :show-close="false" fullscreen @@ -11,7 +12,22 @@ > - + 状态: + + @@ -82,7 +98,8 @@ export default { tableDtl: [], cxjList: [], XLList: [], - queryrow: { device_id: '' }, + fullscreenLoading: false, + queryrow: { device_id: '', status: '01' }, sortable: null, rows: [] } @@ -112,13 +129,18 @@ export default { */ getMsg(msg) { this.queryrow.device_id = msg + this.queryrow.status = '01' }, queryStruct() { + this.fullscreenLoading = true dailyplan.query2(this.queryrow).then(res => { this.tableDtl = res - this.$nextTick(() => { + /*this.$nextTick(() => { this.setSort() - }) + })*/ + this.fullscreenLoading = false + }).catch(() => { + this.fullscreenLoading = false }) }, setSort() { @@ -154,18 +176,31 @@ export default { this.$emit('update:dialogShow', false) this.$emit('StructIvtClosed', this.rows) }, + MyQuery(value) { + this.queryrow.status = value + this.fullscreenLoading = true + dailyplan.query2(this.queryrow).then(res => { + this.tableDtl = res + /*this.$nextTick(() => { + this.setSort() + })*/ + this.fullscreenLoading = false + }).catch(() => { + this.fullscreenLoading = false + }) + }, submit() { this.rows = this.$refs.dragTable.data - if (this.rows.length === 0) { - this.crud.notify('无可提交的记录!') + /* if (this.rows.length === 0) { + this.crud.notify('无可操作的记录!') return false } dailyplan.submit2({ query: this.queryrow, rows: this.rows }).then(res => { - this.crud.notify('操作成功!') - this.tableDtl = [] - this.$emit('update:dialogShow', false) - this.$emit('StructIvtClosed', this.rows) - }) + })*/ + this.crud.notify('操作成功!') + this.tableDtl = [] + this.$emit('update:dialogShow', false) + this.$emit('StructIvtClosed', this.rows) } } } From f5600766d112c19cc520f2ed5ec1ef34f192a0fc Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Fri, 9 Sep 2022 15:20:36 +0800 Subject: [PATCH 15/25] =?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/service/impl/WorkOrderServiceImpl.java | 4 ++++ mes/qd/src/views/wms/pdm/produce/producetask/index.vue | 9 ++++++--- mes/qd/src/views/wms/pdm/produce/workorder/index.vue | 3 ++- 3 files changed, 12 insertions(+), 4 deletions(-) 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 ea521e82..deffdc4c 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 @@ -184,6 +184,10 @@ public class WorkOrderServiceImpl implements WorkOrdereService { if(jo==null){ throw new BadRequestException("该记录不存在!"); } + String status = jo.getString("status"); + if(!"10".equals(status)){ + continue; + } JSONObject param = new JSONObject(); param.put("workorder_id", String.valueOf(workorder_id)); param.put("is_delete", "1"); diff --git a/mes/qd/src/views/wms/pdm/produce/producetask/index.vue b/mes/qd/src/views/wms/pdm/produce/producetask/index.vue index e0f7ae8a..15971861 100644 --- a/mes/qd/src/views/wms/pdm/produce/producetask/index.vue +++ b/mes/qd/src/views/wms/pdm/produce/producetask/index.vue @@ -152,7 +152,7 @@ Date: Fri, 9 Sep 2022 16:11:20 +0800 Subject: [PATCH 16/25] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=A4=A7=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rest/DeviceBigScreenController.java | 72 +++ .../service/DeviceBigScreenService.java | 48 ++ .../impl/DeviceBigScreenServiceImpl.java | 469 ++++++++++++++++++ .../bigscreen/wql/EM_DEVICEBIGSCREEN_01.wql | 178 +++++++ .../bigscreen/wql/EM_DEVICEBIGSCREEN_02.wql | 116 +++++ .../bigscreen/wql/EM_DEVICEBIGSCREEN_03.wql | 130 +++++ 6 files changed, 1013 insertions(+) create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/rest/DeviceBigScreenController.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/service/DeviceBigScreenService.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/service/impl/DeviceBigScreenServiceImpl.java create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/wql/EM_DEVICEBIGSCREEN_01.wql create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/wql/EM_DEVICEBIGSCREEN_02.wql create mode 100644 mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/wql/EM_DEVICEBIGSCREEN_03.wql diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/rest/DeviceBigScreenController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/rest/DeviceBigScreenController.java new file mode 100644 index 00000000..05b17041 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/rest/DeviceBigScreenController.java @@ -0,0 +1,72 @@ +package org.nl.wms.sb.bigscreen.rest; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.annotation.Log; +import org.nl.wms.sb.bigscreen.service.DeviceBigScreenService; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequiredArgsConstructor +@Api(tags = "设备管理综合查询") +@RequestMapping("/api/deviceBigScreen") +@Slf4j +public class DeviceBigScreenController { + + private final DeviceBigScreenService deviceBigScreenService; + + @PostMapping("/getDeviceTime") + @Log("设备每日开机时长") + @ApiOperation("设备每日开机时长") + public ResponseEntity getDeviceTime(){ + return new ResponseEntity<>(deviceBigScreenService.getDeviceTime(),HttpStatus.OK); + } + + @PostMapping("/getDeviceNumber") + @Log("设备数量") + @ApiOperation("设备数量") + public ResponseEntity getDeviceNumber(){ + return new ResponseEntity<>(deviceBigScreenService.getDeviceNumber(),HttpStatus.OK); + } + + @PostMapping("/getDeviceFault") + @Log("年故障类别") + @ApiOperation("年故障类别") + public ResponseEntity getDeviceFault(){ + return new ResponseEntity<>(deviceBigScreenService.getDeviceFault(),HttpStatus.OK); + } + + @PostMapping("/getDeviceRunStatus") + @Log("设备运行状态") + @ApiOperation("设备运行状态") + public ResponseEntity getDeviceRunStatus(){ + return new ResponseEntity<>(deviceBigScreenService.getDeviceRunStatus(),HttpStatus.OK); + } + + @PostMapping("/getDeviceYearStatus") + @Log("设备年计划保养状态") + @ApiOperation("设备年计划保养状态") + public ResponseEntity getDeviceYearStatus(){ + return new ResponseEntity<>(deviceBigScreenService.getDeviceYearStatus(),HttpStatus.OK); + } + + @PostMapping("/getDeviceYearMainPlan") + @Log("设备年保养计划监控") + @ApiOperation("设备年保养计划监控") + public ResponseEntity getDeviceYearMainPlan(){ + return new ResponseEntity<>(deviceBigScreenService.getDeviceYearMainPlan(),HttpStatus.OK); + } + + @PostMapping("/getDeviceGroupStatus") + @Log("近30天班组情况") + @ApiOperation("近30天班组情况") + public ResponseEntity getDeviceGroupStatus(){ + return new ResponseEntity<>(deviceBigScreenService.getDeviceGroupStatus(),HttpStatus.OK); + } +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/service/DeviceBigScreenService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/service/DeviceBigScreenService.java new file mode 100644 index 00000000..413e21a8 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/service/DeviceBigScreenService.java @@ -0,0 +1,48 @@ +package org.nl.wms.sb.bigscreen.service; + +import com.alibaba.fastjson.JSONObject; + +public interface DeviceBigScreenService { + + /** + * 设备每日开机时长 + * @return JSONObject + */ + JSONObject getDeviceTime(); + + /** + * 设备数量 + * @return JSONObject + */ + JSONObject getDeviceNumber(); + + /** + * 年故障类别 + * @return JSONObject + */ + JSONObject getDeviceFault(); + + /** + * 设备运行状态 + * @return JSONObject + */ + JSONObject getDeviceRunStatus(); + + /** + * 设备年计划保养状态 + * @return JSONObject + */ + JSONObject getDeviceYearStatus(); + + /** + * 设备年保养计划监控 + * @return JSONObject + */ + JSONObject getDeviceYearMainPlan(); + + /** + * 近30天班组情况 + * @return JSONObject + */ + JSONObject getDeviceGroupStatus(); +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/service/impl/DeviceBigScreenServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/service/impl/DeviceBigScreenServiceImpl.java new file mode 100644 index 00000000..17fd4253 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/service/impl/DeviceBigScreenServiceImpl.java @@ -0,0 +1,469 @@ +package org.nl.wms.sb.bigscreen.service.impl; + +import cn.hutool.core.date.DateUnit; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.NumberUtil; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.wms.sb.bigscreen.service.DeviceBigScreenService; +import org.nl.wql.WQL; +import org.nl.wql.core.bean.WQLObject; +import org.springframework.stereotype.Service; + +import java.util.Date; + +@Service +@RequiredArgsConstructor +@Slf4j +public class DeviceBigScreenServiceImpl implements DeviceBigScreenService { + + @Override + public JSONObject getDeviceTime() { + /* 查询设备运行记录表 + * 1.获取当前日期 - 前14天的日期 + * 2.根据日期查询每个部门当前日期的总时长 + */ + JSONObject map = new JSONObject(); + JSONObject resultJson = new JSONObject(); + JSONObject resultData = new JSONObject(); + JSONArray resultArr = new JSONArray(); + + // 1.1获取当前日期 - 前14天的日期 + String now = DateUtil.now(); + for (int i = 0; i < 14; i++) { + JSONObject json = new JSONObject(); + String run_date = DateUtil.offsetDay(DateUtil.parse(now), -i).toString().substring(0, 10); + // 棒料事业部:H900000 矿用合金事业部:H800000 型材事业部:H400000 混合料厂:H1300000 武汉运营保障部:H1200200 精密零件事业部:H1000000 + map.put("flag", "1"); + map.put("run_date", run_date); + map.put("dept_code", "H900000"); + // 1.2查询棒料事业部总时长 + JSONObject json_bl = WQL.getWO("EM_DEVICEBIGSCREEN_01").addParamMap(map).process().uniqueResult(0); + if (ObjectUtil.isNotEmpty(json_bl)) { + json.put("dept_name_bl", NumberUtil.round(NumberUtil.div(json_bl.getString("run_times"), "60"), 1).toString()); + } else { + json.put("dept_name_bl", "0"); + } + + // 1.3查询矿用合金事业部总时长 + map.put("dept_code", "H800000"); + JSONObject json_ky = WQL.getWO("EM_DEVICEBIGSCREEN_01").addParamMap(map).process().uniqueResult(0); + if (ObjectUtil.isNotEmpty(json_ky)) { + json.put("dept_name_ky", NumberUtil.round(NumberUtil.div(json_ky.getString("run_times"), "60"), 1).toString()); + } else { + json.put("dept_name_ky", "0"); + } + + // 1.4查询型材事业部总时长 + map.put("dept_code", "H400000"); + JSONObject json_xc = WQL.getWO("EM_DEVICEBIGSCREEN_01").addParamMap(map).process().uniqueResult(0); + if (ObjectUtil.isNotEmpty(json_xc)) { + json.put("dept_name_xc", NumberUtil.round(NumberUtil.div(json_xc.getString("run_times"), "60"), 1).toString()); + } else { + json.put("dept_name_xc", "0"); + } + + // 1.5查询混合料厂总时长 + map.put("dept_code", "H1300000"); + JSONObject json_hh = WQL.getWO("EM_DEVICEBIGSCREEN_01").addParamMap(map).process().uniqueResult(0); + if (ObjectUtil.isNotEmpty(json_hh)) { + json.put("dept_name_hh", NumberUtil.round(NumberUtil.div(json_hh.getString("run_times"), "60"), 1).toString()); + } else { + json.put("dept_name_hh", "0"); + } + + // 1.6查询武汉运营保障部总时长 + map.put("dept_code", "H1200200"); + JSONObject json_wh = WQL.getWO("EM_DEVICEBIGSCREEN_01").addParamMap(map).process().uniqueResult(0); + if (ObjectUtil.isNotEmpty(json_wh)) { + json.put("dept_name_wh", NumberUtil.round(NumberUtil.div(json_wh.getString("run_times"), "60"), 1).toString()); + } else { + json.put("dept_name_wh", "0"); + } + + // 1.7查询精密零件事业部总时长 + map.put("dept_code", "H1000000"); + JSONObject json_jm = WQL.getWO("EM_DEVICEBIGSCREEN_01").addParamMap(map).process().uniqueResult(0); + if (ObjectUtil.isNotEmpty(json_jm)) { + json.put("dept_name_jm", NumberUtil.round(NumberUtil.div(json_jm.getString("run_times"), "60"), 1).toString()); + } else { + json.put("dept_name_jm", "0"); + } + // 当前日期 + json.put("device_date", run_date); + + resultArr.add(json); + } + resultData.put("device_time_arr", resultArr); + + resultJson.put("srb", resultData); + resultJson.put("code", "1"); + resultJson.put("desc", "查询成功"); + + return resultJson; + } + + @Override + public JSONObject getDeviceNumber() { + /* 查询设备档案表 + * 1.获取总设备台数和在用台数 + * 2.获取6个部门各有多少台数 + */ + WQLObject fileTab = WQLObject.getWQLObject("EM_BI_EquipmentFile"); // 设备档案表 + + JSONObject resultJson = new JSONObject(); + JSONObject resultData = new JSONObject(); + JSONArray resultArr = new JSONArray(); + + // 1.获取总设备台数:未报废的、未删除 + JSONArray allArr = fileTab.query("status NOT IN ('90','91') and is_delete ='0'").getResultJSONArray(0); + resultData.put("device_all_num", String.valueOf(allArr.size())); + // 2.获取在用台数 + JSONArray useArr = fileTab.query("status = '10' and is_delete ='0'").getResultJSONArray(0); + resultData.put("device_use_num", String.valueOf(useArr.size())); + + // 3.1获取各个部门的台数: + // 棒料事业部:H900000 矿用合金事业部:H800000 型材事业部:H400000 混合料厂:H1300000 武汉运营保障部:H1200200 精密零件事业部:H1000000 + JSONObject map = new JSONObject(); + map.put("flag", "2"); + + // 3.2 棒料事业部 + map.put("dept_code", "H900000"); + JSONObject num_bl = WQL.getWO("EM_DEVICEBIGSCREEN_01").addParamMap(map).process().uniqueResult(0); + JSONObject json_bl = new JSONObject(); + json_bl.put("dept_name", "棒料事业部"); + json_bl.put("device_num", num_bl.getString("num")); + resultArr.add(json_bl); + + // 3.3 矿用合金事业部 + map.put("dept_code", "H800000"); + JSONObject num_ky = WQL.getWO("EM_DEVICEBIGSCREEN_01").addParamMap(map).process().uniqueResult(0); + JSONObject json_ky = new JSONObject(); + json_ky.put("dept_name", "矿用合金事业部"); + json_ky.put("device_num", num_ky.getString("num")); + resultArr.add(json_ky); + + // 3.4 型材事业部 + map.put("dept_code", "H400000"); + JSONObject num_xc = WQL.getWO("EM_DEVICEBIGSCREEN_01").addParamMap(map).process().uniqueResult(0); + JSONObject json_xc = new JSONObject(); + json_xc.put("dept_name", "型材事业部"); + json_xc.put("device_num", num_xc.getString("num")); + resultArr.add(json_xc); + + // 3.5 混合料厂 + map.put("dept_code", "H1300000"); + JSONObject num_hh = WQL.getWO("EM_DEVICEBIGSCREEN_01").addParamMap(map).process().uniqueResult(0); + JSONObject json_hh = new JSONObject(); + json_hh.put("dept_name", "混合料厂"); + json_hh.put("device_num", num_hh.getString("num")); + resultArr.add(json_hh); + + // 3.6 武汉运营保障部 + map.put("dept_code", "H1200200"); + JSONObject num_wh = WQL.getWO("EM_DEVICEBIGSCREEN_01").addParamMap(map).process().uniqueResult(0); + JSONObject json_wh = new JSONObject(); + json_wh.put("dept_name", "武汉运营保障部"); + json_wh.put("device_num", num_wh.getString("num")); + resultArr.add(json_wh); + + // 3.7 精密零件事业部 + map.put("dept_code", "H1000000"); + JSONObject num_jm = WQL.getWO("EM_DEVICEBIGSCREEN_01").addParamMap(map).process().uniqueResult(0); + JSONObject json_jm = new JSONObject(); + json_jm.put("dept_name", "精密零件事业部"); + json_jm.put("device_num", num_jm.getString("num")); + resultArr.add(json_jm); + + resultData.put("device_all_arr", resultArr); + + resultJson.put("srb", resultData); + resultJson.put("code", "1"); + resultJson.put("desc", "查询成功"); + return resultJson; + } + + @Override + public JSONObject getDeviceFault() { + /* 查询报修单 + * 1.故障前10且未删除,并已通过的报修单 + */ + JSONObject resultJson = new JSONObject(); + JSONObject resultData = new JSONObject(); + + JSONArray arr = WQL.getWO("EM_DEVICEBIGSCREEN_01").addParam("flag", "3").process().getResultJSONArray(0); + resultData.put("device_fault_arr", arr); + + resultJson.put("srb", resultData); + resultJson.put("code", "1"); + resultJson.put("desc", "查询成功"); + return resultJson; + } + + @Override + public JSONObject getDeviceRunStatus() { + /* + * 查询档案表 + * 1.查询档案表中的设备状态台数 + */ + JSONObject resultJson = new JSONObject(); + JSONObject resultData = new JSONObject(); + JSONArray resultArr = new JSONArray(); + + // 1.根据部门分组 + JSONArray deptArr = WQL.getWO("EM_DEVICEBIGSCREEN_01").addParam("flag", "4").process().getResultJSONArray(0); + + for (int i = 0; i < deptArr.size(); i++) { + JSONObject json = deptArr.getJSONObject(i); + + JSONObject jsonObject = new JSONObject(); + jsonObject.put("dept_name", json.getString("name")); + // 2.根据部门找到对应的状态台数 + JSONObject map = new JSONObject(); + map.put("flag", "5"); + map.put("dept_code", json.getString("code")); + + // 正常台数 + map.put("status", "10"); + JSONObject normal_num = WQL.getWO("EM_DEVICEBIGSCREEN_01").addParamMap(map).process().uniqueResult(0); + jsonObject.put("normal_num", normal_num.getString("num")); + + // 故障台数 + map.put("status", "20"); + JSONObject fault_num = WQL.getWO("EM_DEVICEBIGSCREEN_01").addParamMap(map).process().uniqueResult(0); + jsonObject.put("fault_num", fault_num.getString("num")); + + // 委外台数 + map.put("status", "30"); + JSONObject out_num = WQL.getWO("EM_DEVICEBIGSCREEN_01").addParamMap(map).process().uniqueResult(0); + jsonObject.put("out_num", out_num.getString("num")); + + // 保养台数 + map.put("status", "40"); + JSONObject main_num = WQL.getWO("EM_DEVICEBIGSCREEN_01").addParamMap(map).process().uniqueResult(0); + jsonObject.put("main_num", main_num.getString("num")); + + resultArr.add(jsonObject); + } + resultData.put("device_run_arr", resultArr); + + resultJson.put("srb", resultData); + resultJson.put("code", "1"); + resultJson.put("desc", "查询成功"); + + return resultJson; + } + + @Override + public JSONObject getDeviceYearStatus() { + /* + * 查询保养计划单 + * 1.查询保养计划为年计划的保养计划 + * 2.完成率:已保养台数/需保养台数 + */ + JSONObject resultJson = new JSONObject(); + JSONObject resultData = new JSONObject(); + JSONArray resultArr = new JSONArray(); + + // 1.根据部门分组 + JSONArray deptArr = WQL.getWO("EM_DEVICEBIGSCREEN_02").addParam("flag", "1").process().getResultJSONArray(0); + for (int i = 0; i < deptArr.size(); i++) { + JSONObject json = deptArr.getJSONObject(i); + + JSONObject jsonObject = new JSONObject(); + jsonObject.put("dept_name", json.getString("name")); + // 2.根据部门code查询对应的保养台数,未保养台数等 + JSONObject map = new JSONObject(); + map.put("flag", "2"); + map.put("dept_code", json.getString("code")); + + // 需保养台数: 开始日期和计划日期都为空 + JSONObject need_num = WQL.getWO("EM_DEVICEBIGSCREEN_02").addParamMap(map).process().uniqueResult(0); + jsonObject.put("need_num", need_num.getString("num")); + + // 已保养台数:开始日期和计划日期都不为空 + map.put("flag", "3"); + JSONObject end_num = WQL.getWO("EM_DEVICEBIGSCREEN_02").addParamMap(map).process().uniqueResult(0); + jsonObject.put("end_num", end_num.getString("num")); + + // 在保养台数:开始日期不能为空,结束日期为空 + map.put("flag", "4"); + JSONObject begin_num = WQL.getWO("EM_DEVICEBIGSCREEN_02").addParamMap(map).process().uniqueResult(0); + jsonObject.put("begin_num", begin_num.getString("num")); + + // 未保养台数 = 需保养台数 + jsonObject.put("not_num", jsonObject.getString("need_num")); + + // 完成率:已保养台数/需保养台数 + String div = NumberUtil.div(jsonObject.getShort("end_num"), jsonObject.getShort("need_num")).toString(); + jsonObject.put("confirm_rate", NumberUtil.round(NumberUtil.mul(div, "100"), 2)); + + resultArr.add(jsonObject); + } + resultData.put("device_year_arr", resultArr); + + resultJson.put("srb", resultData); + resultJson.put("code", "1"); + resultJson.put("desc", "查询成功"); + + return resultJson; + } + + @Override + public JSONObject getDeviceYearMainPlan() { + /* + * 查询保养单明细 + */ + JSONObject resultJson = new JSONObject(); + JSONObject resultData = new JSONObject(); + + JSONArray arr = WQL.getWO("EM_DEVICEBIGSCREEN_01").addParam("flag", "7").process().getResultJSONArray(0); + for (int i = 0; i < arr.size(); i++) { + JSONObject json = arr.getJSONObject(i); + // 保养倒计时: 计划日期 - 当前日期 + Date date1 = DateUtil.parse(DateUtil.today()); // 当前日期 + Date date2 = DateUtil.parse(json.getString("plan_time")); // 计划日期 + long betweenDay = DateUtil.between(date1, date2, DateUnit.HOUR, false); + json.put("main_time", String.valueOf(betweenDay)); + + // 延期时间: ( 计划日期 - 实际结束时间 ) 为负数则为延期 + String real_end_date = json.getString("real_end_date"); + if (ObjectUtil.isNotEmpty(real_end_date)) { + Date date3 = DateUtil.parse(real_end_date); // 实际结束时间 + long betweenDay2 = DateUtil.between(date3, date2, DateUnit.DAY, false); + if (betweenDay2 < 0) { + json.put("putoff_time", String.valueOf(betweenDay2)+ "天"); + json.put("remark", "延期"); + } + } + } + resultData.put("device_year_arr", arr); + + resultJson.put("srb", resultData); + resultJson.put("code", "1"); + resultJson.put("desc", "查询成功"); + return resultJson; + } + + @Override + public JSONObject getDeviceGroupStatus() { + /* + * 查询档案表 + * 1.根据使用班组进行分组 + * 2.查询每个班组有多少台设备(未删除) + * 3.MTBF:运行时间/故障次数(运行时间查运行记录表,故障次数查报修单)备注:此班组的所有设备 + * 4.MTTR:故障时间/故障次数(故障时间查运行记录表) 备注:此班组的所有设备 + * 5.OEE: + * (生产时间-准备时间-故障时间-工装调整时间)/(生产时间-准备时间-工装调整时间) * + * 单个产品生产时间*生产总量/ + * (生产时间-准备时间-故障时间-工装调整时间)* + * (生产总量-不合格数)/生产总量 + * 备注:此班组的所有设备;单个产品生产时间:设备档案表取此设备理论节拍 + * 6.总维修时间:报修完成时间-报修时间(都查报修单) 备注:此班组的所有设备 + */ + JSONObject resultJson = new JSONObject(); + JSONObject resultData = new JSONObject(); + JSONArray resultArr = new JSONArray(); + + // 1.根据使用班组进行分组 + JSONArray useArr = WQL.getWO("EM_DEVICEBIGSCREEN_03").addParam("flag", "1").process().getResultJSONArray(0); + // 2.查询每个班组有多少台设备 + for (int i = 0; i < useArr.size(); i++) { + JSONObject jsonUse = useArr.getJSONObject(i); + JSONObject json = new JSONObject(); + json.put("group_name", jsonUse.getString("name")); + + JSONObject map = new JSONObject(); + map.put("flag", "2"); + map.put("dept_code", jsonUse.getString("code")); + + // 每个班组中的所有设备 + JSONArray deviceArr = WQL.getWO("EM_DEVICEBIGSCREEN_03").addParamMap(map).process().getResultJSONArray(0); + + // 3.查询每台设备近三十天的运行情况 + String begin_time = DateUtil.offsetDay(DateUtil.parse(DateUtil.now()), -30).toString().substring(0, 10); + String end_time = DateUtil.today(); + + String run_time_all = "0"; // 所有设备总运行时间 + String error_num_all = "0"; // 所有设备总故障次数 + String error_time_all = "0"; // 所有设备总故障时间 + String oee_all = "0"; // 所有设备总oee + String device_all_time = "0"; // 所有设备的维修时间 + + for (int j = 0; j < deviceArr.size(); j++) { + JSONObject jsonDevice = deviceArr.getJSONObject(j); + map.put("flag","3"); + map.put("begin_time",begin_time); + map.put("end_time",end_time); + map.put("devicerecord_id",jsonDevice.getString("devicerecord_id")); + + // 查询单台30天中平均每天的运行指标 + JSONObject jsonRun = WQL.getWO("EM_DEVICEBIGSCREEN_03").addParamMap(map).process().uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonRun)) { + run_time_all = NumberUtil.add(run_time_all,jsonRun.getString("run_times")).toString(); + error_time_all = NumberUtil.add(error_time_all,jsonRun.getString("error_times")).toString(); + oee_all = NumberUtil.add(oee_all,jsonRun.getString("oee_value")).toString(); + } + + // 查询单台30天当中的故障次数 + map.put("flag","4"); + JSONObject jsonErrorNum = WQL.getWO("EM_DEVICEBIGSCREEN_03").addParamMap(map).process().uniqueResult(0); + error_num_all = NumberUtil.add(error_num_all,jsonErrorNum.getString("num")).toString(); + + map.put("flag","5"); + // 查询单台30天当中的报修单 + String one_all_time = "0"; // 一台设备30天的维修时间 + JSONArray jsonReArr = WQL.getWO("EM_DEVICEBIGSCREEN_03").addParamMap(map).process().getResultJSONArray(0); + for (int k = 0; k < jsonReArr.size(); k++) { + JSONObject jsonObject = jsonReArr.getJSONObject(k); + + Date date_finish_time = DateUtil.parse(jsonObject.getString("finish_time")); // 报修完成时间 + Date date_create_time = DateUtil.parse(jsonObject.getString("create_time")); // 报修时间 + // 一台设备一天的维修时间 + long one_day_time = DateUtil.between(date_create_time, date_finish_time, DateUnit.HOUR, false); + + one_all_time = NumberUtil.add(one_all_time,String.valueOf(one_day_time)).toString(); + } + device_all_time = NumberUtil.add(device_all_time,one_all_time).toString(); + } + + // 4.计算MTBF:运行时间/故障次数 + try { + String device_mtbf = NumberUtil.div(run_time_all, error_num_all).toString(); + json.put("device_mtbf", NumberUtil.round(device_mtbf, 2).toString()); + } catch (Exception e){ + json.put("device_mtbf", "0"); + } + + // 5.计算MTTR:故障时间/故障次数 + try { + String device_mttr = NumberUtil.div(error_time_all, error_num_all).toString(); + json.put("device_mttr", NumberUtil.round(device_mttr, 2).toString()); + } catch (Exception e){ + json.put("device_mttr", "0"); + } + + // 6.计算平均OEE: 所有设备OEE / 设备台数 + try { + String oee = NumberUtil.div(oee_all, String.valueOf(deviceArr.size())).toString(); + json.put("device_oee", NumberUtil.round(oee, 2).toString()); + } catch (Exception e){ + json.put("device_oee", "0"); + } + + // 7.维修时间 + json.put("device_time", device_all_time); + + resultArr.add(json); + } + resultData.put("device_group_arr", resultArr); + + resultJson.put("srb", resultData); + resultJson.put("code", "1"); + resultJson.put("desc", "查询成功"); + return resultJson; + } +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/wql/EM_DEVICEBIGSCREEN_01.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/wql/EM_DEVICEBIGSCREEN_01.wql new file mode 100644 index 00000000..0a3cecad --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/wql/EM_DEVICEBIGSCREEN_01.wql @@ -0,0 +1,178 @@ +[交易说明] + 交易名: 设备大屏查询 + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: + +[数据库] + --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 + +[IO定义] + ################################################# + ## 表字段对应输入参数 + ################################################# + 输入.flag TYPEAS s_string + 输入.run_date TYPEAS s_string + 输入.dept_code TYPEAS s_string + 输入.status TYPEAS s_string + + +[临时表] + --这边列出来的临时表就会在运行期动态创建 + +[临时变量] + --所有中间过程变量均可在此处定义 + +[业务过程] + + ########################################## + # 1、输入输出检查 # + ########################################## + + + ########################################## + # 2、主过程前处理 # + ########################################## + + + ########################################## + # 3、业务主过程 # + ########################################## + + IF 输入.flag = "1" + QUERY + SELECT + sum(run.run_times) AS run_times, + max(dept.name) AS name + FROM + EM_BI_DeviceRunRecord run + LEFT JOIN EM_BI_EquipmentFile file ON file.devicerecord_id = run.devicerecord_id + LEFT JOIN sys_dept dept ON dept.dept_id = file.use_deptid + WHERE + dept.code = 输入.dept_code + AND run.run_date = 输入.run_date + + group by dept.code + + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "2" + QUERY + SELECT + count(file.devicerecord_id) AS num + FROM + EM_BI_EquipmentFile file + LEFT JOIN sys_dept dept ON dept.dept_id = file.use_deptid + WHERE + dept.code = 输入.dept_code + AND file.status NOT IN ('90','91') + AND file.is_delete = '0' + + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "3" + QUERY + SELECT + count(re.device_faultclass_id) AS device_fault_num, + class.device_faultclass_name AS device_fault_type + FROM + EM_BI_DeviceRepairRequest re + LEFT JOIN em_bi_devicefaultclass class ON class.device_faultclass_id = re.device_faultclass_id + WHERE + re.is_delete = '0' + AND re.is_passed = '1' + + group by re.device_faultclass_id + + ORDER BY device_fault_num DESC + + LIMIT 0,10 + + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "4" + QUERY + SELECT + dept.code, + dept.name + FROM + EM_BI_EquipmentFile file + LEFT JOIN sys_dept dept ON dept.dept_id = file.use_deptid + WHERE + file.is_delete = '0' + AND file.status not in ('00','11','90','91') + + group by file.use_deptid + + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "5" + QUERY + SELECT + count(file.devicerecord_id) AS num + FROM + EM_BI_EquipmentFile file + LEFT JOIN sys_dept dept ON dept.dept_id = file.use_deptid + WHERE + file.is_delete = '0' + AND dept.code = 输入.dept_code + AND file.status = 输入.status + + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "6" + QUERY + SELECT + dept.code, + dept.name + FROM + EM_BI_DeviceMaintenancePlanMst mst + LEFT JOIN EM_BI_EquipmentFile file ON mst.devicerecord_id = file.devicerecord_id + LEFT JOIN sys_dept dept ON dept.dept_id = file.use_deptid + WHERE + mst.is_delete = '0' + AND mst.maintenancecycle = '01' + + group by file.use_deptid + + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "7" + QUERY + SELECT + dept.name AS dept_name, + file.device_name, + file.device_code, + item.contents AS plan_content, + mst.plan_start_date AS plan_time, + mst.confirm_optname AS impl_name, + mst.real_start_date AS impl_time, + mst.remark, + mst.real_end_date + FROM + EM_BI_DeviceMaintenancePlanDtl dtl + LEFT JOIN EM_BI_DeviceMaintenanceItems item ON item.maint_item_id = dtl.maint_item_id + LEFT JOIN EM_BI_DeviceMaintenancePlanMst mst ON mst.maint_plan_id = dtl.maint_plan_id + LEFT JOIN EM_BI_EquipmentFile file ON mst.devicerecord_id = file.devicerecord_id + LEFT JOIN sys_dept dept ON dept.dept_id = file.use_deptid + WHERE + mst.is_delete = '0' + AND mst.maintenancecycle = '01' + + ENDSELECT + ENDQUERY + ENDIF \ No newline at end of file diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/wql/EM_DEVICEBIGSCREEN_02.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/wql/EM_DEVICEBIGSCREEN_02.wql new file mode 100644 index 00000000..be064048 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/wql/EM_DEVICEBIGSCREEN_02.wql @@ -0,0 +1,116 @@ +[交易说明] + 交易名: 设备大屏查询-计划保养状态查询 + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: + +[数据库] + --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 + +[IO定义] + ################################################# + ## 表字段对应输入参数 + ################################################# + 输入.flag TYPEAS s_string + 输入.dept_code TYPEAS s_string + + +[临时表] + --这边列出来的临时表就会在运行期动态创建 + +[临时变量] + --所有中间过程变量均可在此处定义 + +[业务过程] + + ########################################## + # 1、输入输出检查 # + ########################################## + + + ########################################## + # 2、主过程前处理 # + ########################################## + + + ########################################## + # 3、业务主过程 # + ########################################## + + IF 输入.flag = "1" + QUERY + SELECT + dept.code, + dept.name + FROM + EM_BI_DeviceMaintenancePlanMst mst + LEFT JOIN EM_BI_EquipmentFile file ON mst.devicerecord_id = file.devicerecord_id + LEFT JOIN sys_dept dept ON dept.dept_id = file.use_deptid + WHERE + mst.is_delete = '0' + AND mst.maintenancecycle = '01' + + group by file.use_deptid + + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "2" + QUERY + SELECT + count(mst.maint_plan_id) AS num + FROM + EM_BI_DeviceMaintenancePlanMst mst + LEFT JOIN EM_BI_EquipmentFile file ON mst.devicerecord_id = file.devicerecord_id + LEFT JOIN sys_dept dept ON dept.dept_id = file.use_deptid + WHERE + mst.is_delete = '0' + AND mst.maintenancecycle = '01' + AND dept.code = 输入.dept_code + AND mst.real_start_date is null + AND mst.real_end_date is null + + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "3" + QUERY + SELECT + count(mst.maint_plan_id) AS num + FROM + EM_BI_DeviceMaintenancePlanMst mst + LEFT JOIN EM_BI_EquipmentFile file ON mst.devicerecord_id = file.devicerecord_id + LEFT JOIN sys_dept dept ON dept.dept_id = file.use_deptid + WHERE + mst.is_delete = '0' + AND mst.maintenancecycle = '01' + AND dept.code = 输入.dept_code + AND mst.real_start_date is not null + AND mst.real_end_date is not null + + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "4" + QUERY + SELECT + count(mst.maint_plan_id) AS num + FROM + EM_BI_DeviceMaintenancePlanMst mst + LEFT JOIN EM_BI_EquipmentFile file ON mst.devicerecord_id = file.devicerecord_id + LEFT JOIN sys_dept dept ON dept.dept_id = file.use_deptid + WHERE + mst.is_delete = '0' + AND mst.maintenancecycle = '01' + AND dept.code = 输入.dept_code + AND mst.real_start_date is not null + AND mst.real_end_date is null + + ENDSELECT + ENDQUERY + ENDIF \ No newline at end of file diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/wql/EM_DEVICEBIGSCREEN_03.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/wql/EM_DEVICEBIGSCREEN_03.wql new file mode 100644 index 00000000..7a5b04e3 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/bigscreen/wql/EM_DEVICEBIGSCREEN_03.wql @@ -0,0 +1,130 @@ +[交易说明] + 交易名: 设备大屏查询-近30天班组情况 + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: + +[数据库] + --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 + +[IO定义] + ################################################# + ## 表字段对应输入参数 + ################################################# + 输入.flag TYPEAS s_string + 输入.begin_time TYPEAS s_string + 输入.end_time TYPEAS s_string + 输入.dept_code TYPEAS s_string + 输入.devicerecord_id TYPEAS s_string + + +[临时表] + --这边列出来的临时表就会在运行期动态创建 + +[临时变量] + --所有中间过程变量均可在此处定义 + +[业务过程] + + ########################################## + # 1、输入输出检查 # + ########################################## + + + ########################################## + # 2、主过程前处理 # + ########################################## + + + ########################################## + # 3、业务主过程 # + ########################################## + + IF 输入.flag = "1" + QUERY + SELECT + dept.code, + dept.name + FROM + EM_BI_EquipmentFile file + LEFT JOIN sys_dept dept ON dept.dept_id = file.use_groupid + WHERE + file.is_delete = '0' + AND file.status not in ('90','91') + + group by file.use_groupid + + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "2" + QUERY + SELECT + file.* + FROM + EM_BI_EquipmentFile file + LEFT JOIN sys_dept dept ON dept.dept_id = file.use_groupid + WHERE + file.is_delete = '0' + AND file.status not in ('90','91') + AND dept.code = 输入.dept_code + + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "3" + QUERY + SELECT + ROUND(sum(run.run_times),2) AS run_times, + ROUND(sum(run.prepare_times),2) AS prepare_times, + ROUND(sum(run.error_times),2) AS error_times, + ROUND(sum(run.adjust_times),2) AS adjust_times, + ROUND(sum(run.product_qty),2) AS product_qty, + ROUND(sum(run.nok_qty),2) AS nok_qty, + ROUND(sum(run.oee_value),2) AS oee_value + FROM + EM_BI_DeviceRunRecord run + LEFT JOIN EM_BI_EquipmentFile file ON run.devicerecord_id = file.devicerecord_id + WHERE + run.devicerecord_id = 输入.devicerecord_id + AND ( run.run_date BETWEEN 输入.begin_time AND 输入.end_time) + + group by run.devicerecord_id + + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "4" + QUERY + SELECT + count(re.request_id) AS num + FROM + EM_BI_DeviceRepairRequest re + WHERE + re.devicerecord_id = 输入.devicerecord_id + AND re.is_delete = '0' + AND ( re.fault_time BETWEEN 输入.begin_time AND 输入.end_time) + + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "5" + QUERY + SELECT + re.* + FROM + EM_BI_DeviceRepairRequest re + WHERE + re.devicerecord_id = 输入.devicerecord_id + AND re.is_delete = '0' + AND ( re.fault_time BETWEEN 输入.begin_time AND 输入.end_time) + + ENDSELECT + ENDQUERY + ENDIF \ No newline at end of file From 72d3327cae35a137dd1a50b9483da4d5cf74c1be Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Mon, 12 Sep 2022 00:42:03 +0800 Subject: [PATCH 17/25] =?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/DailyplanController.java | 7 + .../nl/wms/pdm/service/DailyplanService.java | 7 + .../service/impl/DailyplanServiceImpl.java | 54 +++++ .../nl/wms/pdm/wql/QPDM_PRODUCTDAILYPLAN.wql | 119 +++++++++++ .../views/wms/pdm/produce/workorder/index.vue | 4 +- .../views/wms/pdm/produce/worktask/index.vue | 4 +- .../views/wms/statistics/productday/index.vue | 188 ++++++++++++++++++ 7 files changed, 379 insertions(+), 4 deletions(-) create mode 100644 mes/qd/src/views/wms/statistics/productday/index.vue diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/DailyplanController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/DailyplanController.java index c47a7805..392a23a8 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/DailyplanController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/DailyplanController.java @@ -40,6 +40,13 @@ public class DailyplanController { queryAll(whereJson,page),HttpStatus.OK); } + @GetMapping("/queryday") + @Log("查询月生产计划") + @ApiOperation("查询月生产计划") + public ResponseEntity queryday(@RequestParam Map whereJson, Pageable page){ + return new ResponseEntity<>(dailyplanService. + queryday(whereJson,page),HttpStatus.OK); + } @GetMapping("/query2") @Log("查询月生产计划") @ApiOperation("查询月生产计划") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/DailyplanService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/DailyplanService.java index 5e6c1add..735766c1 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/DailyplanService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/DailyplanService.java @@ -25,6 +25,13 @@ public interface DailyplanService { * @return Map */ Map queryAll(Map whereJson, Pageable page); + /** + * 查询数据分页 + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + Map queryday(Map whereJson, Pageable page); /** * 创建 * @param json / diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java index 96faf1b1..fc50808e 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java @@ -85,7 +85,61 @@ public class DailyplanServiceImpl implements DailyplanService { jret.put("content",ja); return jret; } + @Override + public Map queryday(Map whereJson, Pageable page) { + HashMap 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 map = new HashMap<>(whereJson); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_PRODUCTDAILYPLAN.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_PRODUCTDAILYPLAN.wql index e4bf151d..e4d8e495 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_PRODUCTDAILYPLAN.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_PRODUCTDAILYPLAN.wql @@ -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 + 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 a6891e30..6f818034 100644 --- a/mes/qd/src/views/wms/pdm/produce/workorder/index.vue +++ b/mes/qd/src/views/wms/pdm/produce/workorder/index.vue @@ -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() diff --git a/mes/qd/src/views/wms/pdm/produce/worktask/index.vue b/mes/qd/src/views/wms/pdm/produce/worktask/index.vue index 56f21d5a..71f2f77e 100644 --- a/mes/qd/src/views/wms/pdm/produce/worktask/index.vue +++ b/mes/qd/src/views/wms/pdm/produce/worktask/index.vue @@ -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() diff --git a/mes/qd/src/views/wms/statistics/productday/index.vue b/mes/qd/src/views/wms/statistics/productday/index.vue new file mode 100644 index 00000000..83490fb6 --- /dev/null +++ b/mes/qd/src/views/wms/statistics/productday/index.vue @@ -0,0 +1,188 @@ + + + + + From 8328a46cf1c1fb2602d36eb26a22ed44cb9facb0 Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Tue, 13 Sep 2022 00:09:41 +0800 Subject: [PATCH 18/25] =?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/DailyplanController.java | 7 + .../nl/wms/pdm/service/DailyplanService.java | 7 + .../service/impl/DailyplanServiceImpl.java | 61 ++++ .../nl/wms/pdm/wql/QPDM_PRODUCTDAILYPLAN.wql | 118 +++++++- .../wms/statistics/productmouth/index.vue | 167 +++++++++++ .../wms/statistics/producttask/index.vue | 263 ++++++++++++++++++ 6 files changed, 621 insertions(+), 2 deletions(-) create mode 100644 mes/qd/src/views/wms/statistics/productmouth/index.vue create mode 100644 mes/qd/src/views/wms/statistics/producttask/index.vue diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/DailyplanController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/DailyplanController.java index 392a23a8..41785268 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/DailyplanController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/rest/DailyplanController.java @@ -47,6 +47,13 @@ public class DailyplanController { return new ResponseEntity<>(dailyplanService. queryday(whereJson,page),HttpStatus.OK); } + @GetMapping("/querymouth") + @Log("查询月生产计划") + @ApiOperation("查询月生产计划") + public ResponseEntity querymouth(@RequestParam Map whereJson, Pageable page){ + return new ResponseEntity<>(dailyplanService. + querymouth(whereJson,page),HttpStatus.OK); + } @GetMapping("/query2") @Log("查询月生产计划") @ApiOperation("查询月生产计划") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/DailyplanService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/DailyplanService.java index 735766c1..88c76d53 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/DailyplanService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/DailyplanService.java @@ -32,6 +32,13 @@ public interface DailyplanService { * @return Map */ Map queryday(Map whereJson, Pageable page); + /** + * 查询数据分页 + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + Map querymouth(Map whereJson, Pageable page); /** * 创建 * @param json / diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java index fc50808e..ea140425 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java @@ -141,6 +141,67 @@ public class DailyplanServiceImpl implements DailyplanService { return jret; } @Override + public Map querymouth(Map whereJson, Pageable page) { + HashMap 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", "7"); + JSONObject jret = WQL.getWO("QPDM_PRODUCTDAILYPLAN").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "WorkOrder.device_id,materialbase.material_code"); + JSONArray json = jret.getJSONArray("content"); + JSONArray ja = new JSONArray(); + for(int i=0;i map = new HashMap<>(whereJson); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_PRODUCTDAILYPLAN.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_PRODUCTDAILYPLAN.wql index e4d8e495..5d72bc16 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_PRODUCTDAILYPLAN.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_PRODUCTDAILYPLAN.wql @@ -24,6 +24,7 @@ 输入.end_time TYPEAS s_string 输入.device_id TYPEAS s_string 输入.old_mark TYPEAS s_string + 输入.material_id TYPEAS s_string 输入.workorder_type TYPEAS s_string @@ -159,8 +160,7 @@ COUNT(*) AS product_num, sum(WorkOrder.workorder_qty) AS sum_qty, ext.old_mark, - ext.standard_mark, - materialbase.material_code + ext.standard_mark FROM PDM_BI_WorkOrder WorkOrder LEFT JOIN MD_ME_ProducMaterialExt ext ON WorkOrder.material_id = ext.material_id @@ -267,6 +267,120 @@ ENDQUERY ENDIF + IF 输入.flag = "7" + PAGEQUERY + SELECT + deviceinfo.device_code, + deviceinfo.device_name, + WorkOrder.device_id, + COUNT(*) AS product_num, + sum(WorkOrder.workorder_qty) AS sum_qty, + materialbase.material_code, + MIN(WorkOrder.planstart_time) AS workorder_date + FROM + PDM_BI_WorkOrder WorkOrder + 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' + 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 + group by WorkOrder.device_id,materialbase.material_code + ENDSELECT + ENDPAGEQUERY + ENDIF + + IF 输入.flag = "44" + QUERY + SELECT + WorkOrder.* + FROM + PDM_BI_WorkOrder WorkOrder + WHERE + 1=1 and WorkOrder.is_delete='0' + and WorkOrder.status='99' + OPTION 输入.begin_time <> "" + WorkOrder.planstart_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + WorkOrder.planstart_time <= 输入.end_time + ENDOPTION + OPTION 输入.device_id <> "" + WorkOrder.device_id = 输入.device_id + ENDOPTION + OPTION 输入.material_id <> "" + WorkOrder.material_id = 输入.material_id + ENDOPTION + order by WorkOrder.realend_time desc + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "55" + 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 + WHERE + 1=1 and WorkOrder.is_delete='0' + and ProcedureOffline.status='1' + OPTION 输入.begin_time <> "" + WorkOrder.planstart_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + WorkOrder.planstart_time <= 输入.end_time + ENDOPTION + OPTION 输入.device_id <> "" + WorkOrder.device_id = 输入.device_id + ENDOPTION + OPTION 输入.material_id <> "" + WorkOrder.material_id = 输入.material_id + ENDOPTION + order by ProcedureOffline.create_time desc + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "66" + QUERY + SELECT + sum(ProcedureOffline.qty) AS total_qty, + count(WorkOrder.workorder_id) AS in_num, + WorkOrder.device_id + FROM + PDM_BI_WorkOrder WorkOrder + LEFT JOIN PDM_BI_ProcedureOffline ProcedureOffline ON ProcedureOffline.workorder_id = WorkOrder.workorder_id + WHERE + 1=1 and WorkOrder.is_delete='0' + and ProcedureOffline.status='1' + OPTION 输入.begin_time <> "" + WorkOrder.planstart_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + WorkOrder.planstart_time <= 输入.end_time + ENDOPTION + OPTION 输入.device_id <> "" + WorkOrder.device_id = 输入.device_id + ENDOPTION + OPTION 输入.material_id <> "" + WorkOrder.material_id = 输入.material_id + ENDOPTION + ENDSELECT + ENDQUERY + ENDIF + diff --git a/mes/qd/src/views/wms/statistics/productmouth/index.vue b/mes/qd/src/views/wms/statistics/productmouth/index.vue new file mode 100644 index 00000000..298e23aa --- /dev/null +++ b/mes/qd/src/views/wms/statistics/productmouth/index.vue @@ -0,0 +1,167 @@ + + + + + diff --git a/mes/qd/src/views/wms/statistics/producttask/index.vue b/mes/qd/src/views/wms/statistics/producttask/index.vue new file mode 100644 index 00000000..a10ae71d --- /dev/null +++ b/mes/qd/src/views/wms/statistics/producttask/index.vue @@ -0,0 +1,263 @@ + + + + + From 69c01d27a3a49b5f0a54babbb1842c7efe043fb9 Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Tue, 13 Sep 2022 10:43:40 +0800 Subject: [PATCH 19/25] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/HandReturnOutIvtServiceImpl.java | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/out/service/impl/HandReturnOutIvtServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/out/service/impl/HandReturnOutIvtServiceImpl.java index 133a382d..ec17f8ff 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/out/service/impl/HandReturnOutIvtServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/out/service/impl/HandReturnOutIvtServiceImpl.java @@ -179,19 +179,20 @@ public class HandReturnOutIvtServiceImpl implements HandReturnOutIvtService { int seq_no = 1; //所有桶的总数 - BigDecimal sum_qty = BigDecimal.valueOf(disObj.getDoubleValue("real_qty")); + double sum_qty = disObj.getDoubleValue("real_qty"); for (int i = 0; i < dtl.size(); i++) { JSONObject dtljo = dtl.getJSONObject(i); String bucketunique = dtljo.getString("bucketunique"); - String out_qty = dtljo.getString("out_qty"); - if (StrUtil.isEmpty(out_qty)) { - out_qty = "0"; + String out_qty1 = dtljo.getString("out_qty"); + double out_qty = 0; + if (StrUtil.isNotEmpty(out_qty1)) { + out_qty = Double.valueOf(out_qty1); } //假如出库重量=0 跳过本次循环 - if (Double.valueOf(out_qty) <= 0) { + if (out_qty <= 0) { continue; } - sum_qty = NumberUtil.add(out_qty, String.valueOf(sum_qty)); + sum_qty = NumberUtil.round(out_qty+sum_qty,3).doubleValue(); JSONObject disdtljo = new JSONObject(); disdtljo.put("iostorinvdisdtl_id", IdUtil.getSnowflake(1, 1).nextId() + ""); disdtljo.put("iostorinvdis_id", disObj.getString("iostorinvdis_id")); @@ -239,12 +240,11 @@ public class HandReturnOutIvtServiceImpl implements HandReturnOutIvtService { if (!StrUtil.equals(bucketjo.getString("is_active"), disObj.getString("is_active"))) { throw new PdaRequestException("桶号为【'" + bucketjo.getString("bucketunique") + "'】 的物料是否可用状态跟出库单分配物料不匹配!"); } - BigDecimal left_qty = NumberUtil.sub(bucketjo.getString("storage_qty"), out_qty); - + double left_qty = NumberUtil.round(bucketjo.getDouble("storage_qty")-out_qty,3).doubleValue(); // 插入到【配粉间桶记录表】 String area_type = pointJO.getString("area_type"); - if (left_qty.doubleValue() == 0 && bill_type.equals("010501")) { + if (left_qty == 0 && bill_type.equals("010501")) { if (StrUtil.equals("22", area_type) || StrUtil.equals("23", area_type) || StrUtil.equals("24", area_type)) { bucketjo.put("area_type", area_type); bucketjo.put("create_time", DateUtil.now()); @@ -253,10 +253,10 @@ public class HandReturnOutIvtServiceImpl implements HandReturnOutIvtService { } String status = bucketjo.getString("status"); - if (left_qty.doubleValue() < 0) { + if (left_qty < 0) { throw new PdaRequestException("出库重量大于桶记录里面的库存数量!"); } - if (left_qty.doubleValue() == 0) { + if (left_qty == 0) { status = "04"; bucketjo.put("storagevehicle_id", ""); bucketjo.put("storagevehicle_code", ""); @@ -290,8 +290,8 @@ public class HandReturnOutIvtServiceImpl implements HandReturnOutIvtService { // 10更新【出入库分配表】 disObj.put("real_qty", sum_qty); - BigDecimal qty_flag_dis = NumberUtil.sub(sum_qty, disObj.getDoubleValue("plan_qty")); - if(qty_flag_dis.doubleValue() > 0){ + double qty_flag_dis = NumberUtil.round(sum_qty-disObj.getDoubleValue("plan_qty"),3).doubleValue(); + if(qty_flag_dis > 0){ throw new PdaRequestException("总出库数大于计划出库数!"); } dis_table.update(disObj); @@ -299,7 +299,7 @@ public class HandReturnOutIvtServiceImpl implements HandReturnOutIvtService { WQLObject iosdlt_table = WQLObject.getWQLObject("ST_IVT_IOStorInvDtl"); JSONObject iosdltObj = iosdlt_table.query("iostorinvdtl_id='" + disObj.getString("iostorinvdtl_id") + "'").uniqueResult(0); String plan_qty = iosdltObj.getString("plan_qty"); - BigDecimal total_qty = NumberUtil.add(sum_qty, iosdltObj.getDoubleValue("real_qty")); + double total_qty = NumberUtil.round(sum_qty+iosdltObj.getDoubleValue("real_qty"),3).doubleValue(); BigDecimal qty_flag = NumberUtil.sub(total_qty + "", plan_qty); String bill_status = iosdltObj.getString("bill_status"); if (qty_flag.doubleValue() == 0) { From d0ddc6cf68cf3dfae4b6c10f823f654db4c760ac Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Tue, 13 Sep 2022 10:56:01 +0800 Subject: [PATCH 20/25] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../st/out/service/impl/HandCleanOutIvtServiceImpl.java | 9 ++++----- .../pda/st/out/service/impl/HandPFOutIvtServiceImpl.java | 9 +++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/out/service/impl/HandCleanOutIvtServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/out/service/impl/HandCleanOutIvtServiceImpl.java index 000087ee..e278be3f 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/out/service/impl/HandCleanOutIvtServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/out/service/impl/HandCleanOutIvtServiceImpl.java @@ -239,12 +239,11 @@ public class HandCleanOutIvtServiceImpl implements HandCleanOutIvtService { } - BigDecimal left_qty = NumberUtil.sub(bucketjo.getString("storage_qty"), out_qty); - + double left_qty = NumberUtil.round(bucketjo.getDouble("storage_qty")-Double.valueOf(out_qty),3).doubleValue(); // 插入到【配粉间桶记录表】 String area_type = pointJO.getString("area_type"); - if (left_qty.doubleValue() == 0 && bill_type.equals("010501")) { + if (left_qty == 0 && bill_type.equals("010501")) { if (StrUtil.equals("22", area_type) || StrUtil.equals("23", area_type) || StrUtil.equals("24", area_type)) { bucketjo.put("area_type", area_type); bucketjo.put("create_time", DateUtil.now()); @@ -253,10 +252,10 @@ public class HandCleanOutIvtServiceImpl implements HandCleanOutIvtService { } String status = bucketjo.getString("status"); - if (left_qty.doubleValue() < 0) { + if (left_qty < 0) { throw new PdaRequestException("出库重量大于桶记录里面的库存数量!"); } - if (left_qty.doubleValue() == 0) { + if (left_qty == 0) { status = "04"; bucketjo.put("storagevehicle_id", ""); bucketjo.put("storagevehicle_code", ""); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/out/service/impl/HandPFOutIvtServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/out/service/impl/HandPFOutIvtServiceImpl.java index e7416f14..5b7b35b4 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/out/service/impl/HandPFOutIvtServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/out/service/impl/HandPFOutIvtServiceImpl.java @@ -213,8 +213,9 @@ public class HandPFOutIvtServiceImpl implements HandPFOutIvtService { throw new PdaRequestException("该物料的桶信息查询不到!"); } String storage_qty = bucketjo.getString("storage_qty"); - BigDecimal bucketflag = NumberUtil.sub(storage_qty, out_qty); - if (bucketflag.doubleValue() < 0) { + double bucketflag = NumberUtil.round(bucketjo.getDouble("storage_qty")-Double.valueOf(out_qty),3).doubleValue(); + + if (bucketflag < 0) { throw new PdaRequestException("桶记录的数量小于出库数量!"); } //插入主表,明细表,分配表,分配明细表 @@ -339,7 +340,7 @@ public class HandPFOutIvtServiceImpl implements HandPFOutIvtService { JSONObject ProducMaterialExtObj = WQLObject.getWQLObject("MD_ME_ProducMaterialExt").query("material_id='" + material_id + "'").uniqueResult(0); if (ObjectUtil.isNotEmpty(ProducMaterialExtObj) && bill_type.equals("010501")) { String is_need_move = ProducMaterialExtObj.getString("is_need_move"); - if (StrUtil.equals(is_need_move, "1") && bucketflag.doubleValue() == 0) ; + if (StrUtil.equals(is_need_move, "1") && bucketflag == 0) ; if (StrUtil.equals(area_type, "22") || StrUtil.equals(area_type, "23") || StrUtil.equals(area_type, "24")) { bucketjo.put("area_type", area_type); bucketjo.put("create_time", DateUtil.now()); @@ -354,7 +355,7 @@ public class HandPFOutIvtServiceImpl implements HandPFOutIvtService { bucketjo.put("outstor_optname", ""); bucketjo.put("outstor_time", now); //出完状态为出库 - if (bucketflag.doubleValue() == 0) { + if (bucketflag == 0) { status = "04"; bucketjo.put("storagevehicle_id", ""); bucketjo.put("storagevehicle_code", ""); From 3c772a7850621d77bd686e158f5e4e9c59074d96 Mon Sep 17 00:00:00 2001 From: liuxy Date: Tue, 13 Sep 2022 14:08:20 +0800 Subject: [PATCH 21/25] =?UTF-8?q?=E7=90=86=E5=8C=96=E6=8A=A5=E5=91=8A?= =?UTF-8?q?=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PhysicalMstServiceImpl.java | 228 +++++++++--------- .../main/java/org/nl/wms/ql/wql/QL_ERP.wql | 41 +++- .../views/wms/ql/physicalMstConfirm/index.vue | 17 +- 3 files changed, 166 insertions(+), 120 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/PhysicalMstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/PhysicalMstServiceImpl.java index bf575e2f..c7882f77 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/PhysicalMstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/service/impl/PhysicalMstServiceImpl.java @@ -131,7 +131,7 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { String inspection_type = json.getString("inspection_type"); String inspection_id_gu = json.getString("inspection_id_gu"); Long inspection_id = json.getLong -("inspection_id"); + ("inspection_id"); if (ObjectUtil.isEmpty("inspection_id")) throw new BadRequestException("质检单标识不能为空!"); //1、 判断批号和物料是否已存在 @@ -173,7 +173,7 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { private void createInspectionSheet(JSONObject json) { String pcsn = json.getString("pcsn"); Long material_id = json.getLong -("material_id"); + ("material_id"); String inspection_type = json.getString("inspection_type"); @@ -216,7 +216,7 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { JSONObject dtlObj = new JSONObject(); dtlObj.put("inspectiondtl_id", IdUtil.getSnowflake(1, 1).nextId()); dtlObj.put("inspection_id", mstObj.getLong -("inspection_id")); + ("inspection_id")); dtlObj.put("seq_no", 1); dtlObj.put("material_id", material_id); dtlObj.put("pcsn", pcsn); @@ -257,7 +257,7 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { String material_id = form.getString("material_id"); String pcsn = form.getString("pcsn"); Long change_material_id = form.getLong -("change_material_id"); + ("change_material_id"); String change_pcsn = form.getString("change_pcsn"); @@ -277,7 +277,7 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { //质检单重损计算表【QL_TEST_InspectionWeightLost】 WQLObject lostTab = WQLObject.getWQLObject("QL_TEST_InspectionWeightLost"); JSONObject lostObj = lostTab.query("inspectiondtl_id = " + sheetObj.getLong -("inspectiondtl_id")).uniqueResult(0); + ("inspectiondtl_id")).uniqueResult(0); if (ObjectUtil.isNotEmpty(lostObj)) { form.put("weightlost", lostObj.getString("weightlost")); } @@ -337,7 +337,7 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { //理化报告单明细表【QL_TEST_PhysicalDtl】 WQLObject dtlTab = WQLObject.getWQLObject("QL_TEST_PhysicalDtl"); dtlTab.delete("inspection_id = " + form.getLong -("inspection_id")); + ("inspection_id")); JSONArray rows = form.getJSONArray("tableData"); for (int i = 0; i < rows.size(); i++) { @@ -437,7 +437,7 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { JSONObject jsonObject = itemArr.getJSONObject(i); String inspection_item_id = jsonObject.getString("inspection_item_id"); JSONObject JsonValue = phyDtlTab.query("inspection_item_id = '" + inspection_item_id + "' and inspection_id = '" + inspection_id + "'").uniqueResult(0); - if (ObjectUtil.isNotEmpty(JsonValue)) num = num + 1; + if (ObjectUtil.isNotEmpty(JsonValue)) num = num + 1; } // if (itemArr.size() != num) throw new BadRequestException("所有项点必须有值"); @@ -570,7 +570,7 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { JSONObject resultJson = wmsToLkService.qualityResult(param); if (StrUtil.equals(resultJson.getString("result"), "2")) { - throw new BadRequestException("发送立库失败:"+resultJson.getString("messsage")); + throw new BadRequestException("发送立库失败:" + resultJson.getString("messsage")); } } } else if (StrUtil.equals(inspection_type, "10") || StrUtil.equals(inspection_type, "20")) { @@ -606,7 +606,9 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { sheetDtlTab.update(jsonSheetDtl); // 调用质检单中的确认 inspectionsheetmstService.confirm(jsonSheetDtl); - } else {throw new BadRequestException("物料类型错误");} + } else { + throw new BadRequestException("物料类型错误"); + } } else if (StrUtil.equals(result, "02")) { // 不合格 /* @@ -783,7 +785,7 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { * 插入【质检单明细】 */ long inspectiondtl_id = jsonSheetDtl.getLong -("inspectiondtl_id"); // 原质检单明细标识 + ("inspectiondtl_id"); // 原质检单明细标识 jsonSheetDtl.put("inspectiondtl_id", IdUtil.getSnowflake(1, 1).nextId()); jsonSheetDtl.put("inspection_id", jsonSheetMst.get("inspection_id")); jsonSheetDtl.put("bill_status", QlBillStatusEnum.FINISH.getCode()); @@ -806,11 +808,11 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { newJsonPhyMst.put("inspection_type", "30"); newJsonPhyMst.put("biz_date", DateUtil.today()); newJsonPhyMst.put("material_id", jsonPhyMst.getLong -("change_material_id")); + ("change_material_id")); newJsonPhyMst.put("pcsn", jsonPhyMst.getString("change_pcsn")); newJsonPhyMst.put("bill_status", QlBillStatusEnum.FINISH.getCode()); newJsonPhyMst.put("source_bill_id", jsonSheetDtl.getLong -("inspection_id")); + ("inspection_id")); newJsonPhyMst.put("source_bill_type", jsonSheetDtl.getString("inspection_type")); newJsonPhyMst.put("source_bill_code", jsonSheetDtl.getString("inspection_code")); newJsonPhyMst.put("create_mode", "01"); @@ -825,7 +827,7 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { phyMstTab.insert(newJsonPhyMst); // 更新改用后的新理化单 jsonPhyMst.put("inspection_id_change", newJsonPhyMst.getLong -("inspection_id")); + ("inspection_id")); phyMstTab.update(jsonPhyMst); /* * 插入【理化报告单明细表】 @@ -835,7 +837,7 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { JSONObject json = jsonDtlArr.getJSONObject(i); json.put("inspectiondtl_id", IdUtil.getSnowflake(1, 1).nextId()); json.put("inspection_id", newJsonPhyMst.getLong -("inspection_id")); + ("inspection_id")); phyDtlTab.insert(json); } } @@ -965,9 +967,9 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { boolean is_GF = materialBaseService.isAlongMaterType(MaterOptTypeEnum.GF.getCode(), string, null); boolean is_PGF = materialBaseService.isAlongMaterType(MaterOptTypeEnum.PGF.getCode(), string, null); - if (is_THW) jsonObject.put("param","10"); - if (is_GF) jsonObject.put("param","20"); - if (is_PGF) jsonObject.put("param","30"); + if (is_THW) jsonObject.put("param", "10"); + if (is_GF) jsonObject.put("param", "20"); + if (is_PGF) jsonObject.put("param", "30"); return jsonObject; } @@ -980,8 +982,8 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { HashMap map = new HashMap<>(); map.put("flag", "1"); - if (ObjectUtil.isNotEmpty(search_material_code)) map.put("search_material_code",search_material_code+"%"); - if (ObjectUtil.isNotEmpty(search_pcsn)) map.put("search_pcsn",search_pcsn+"%"); + if (ObjectUtil.isNotEmpty(search_material_code)) map.put("search_material_code", search_material_code + "%"); + if (ObjectUtil.isNotEmpty(search_pcsn)) map.put("search_pcsn", search_pcsn + "%"); JSONObject json = WQL.getWO("QL_ERP").addParamMap(map).setDbname("dataSource1").pageQuery(WqlUtil.getHttpContext(page), "biz_date DESC"); @@ -998,34 +1000,38 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { for (int i = 0; i < dataArr.size(); i++) { JSONObject json = dataArr.getJSONObject(i); - // 1.将erp物料id转换成本系统物料id - String ext_id = json.getString("material_id"); - JSONObject jsonMater = materTab.query("ext_id = '" + ext_id + "' and is_delete = '0' and is_used = '1'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonMater)) throw new BadRequestException("此物料"+ext_id+"在mes系统不存在"); - - String material_id = jsonMater.getString("material_id"); - String pcsn = json.getString("pcsn"); - // 2.根据物料、批次查询理化报告单 查询是否有此物料、批次的理化报告 - JSONObject jsonPhyMst = phyMstTab.query("material_id = '" + material_id + "' and pcsn = '" + pcsn + "' and is_delete = '0'").uniqueResult(0); - // 3.如果理化报告不存在则是有问题 先跳过不做处理 - if (ObjectUtil.isEmpty(jsonPhyMst)) continue; + JSONObject jsonPhyMst = phyMstTab.query("inspection_id = '"+json.getString("inspection_id")+"'").uniqueResult(0); if (StrUtil.equals(jsonPhyMst.getString("bill_status"), "99")) { - throw new BadRequestException("此理化报告:"+jsonPhyMst.getString("inspection_code")+"已完成"); + throw new BadRequestException("此理化报告:" + jsonPhyMst.getString("inspection_code") + "已完成"); } + // 1.将wms物料id转换成本erp物料id + String material_id = json.getString("material_id"); + JSONObject jsonMater = materTab.query("material_id = '" + material_id + "' and is_delete = '0' and is_used = '1'").uniqueResult(0); + if (ObjectUtil.isEmpty(jsonMater)) throw new BadRequestException("此物料" + material_id + "在mes系统不存在"); + + String pcsn = json.getString("pcsn"); + // 2.根据物料、批次查询erp系统中是否存在此批次的理化报告 + JSONObject map = new JSONObject(); + map.put("flag", "2"); + map.put("ext_id", jsonMater.getString("ext_id")); + map.put("pcsn", pcsn); + JSONObject jsonErp = WQL.getWO("QL_ERP").addParamMap(map).setDbname("dataSource1").process().uniqueResult(0); + if (ObjectUtil.isEmpty(jsonErp)) continue; + // 4.更新理化报告主表 - jsonPhyMst.put("result", json.getString("check_result")); + jsonPhyMst.put("result", jsonErp.getString("check_result")); jsonPhyMst.put("grade", "01"); - jsonPhyMst.put("other_device_no", json.getString("other_device_no")); - jsonPhyMst.put("other_device_wd", json.getString("other_device_wd")); - jsonPhyMst.put("weightlost", json.getString("weightlost")); - jsonPhyMst.put("remark", json.getString("remark")); + jsonPhyMst.put("other_device_no", jsonErp.getString("other_device_no")); + jsonPhyMst.put("other_device_wd", jsonErp.getString("other_device_wd")); + jsonPhyMst.put("weightlost", jsonErp.getString("weightlost")); + jsonPhyMst.put("remark", jsonErp.getString("remark")); jsonPhyMst.put("bill_status", "30"); phyMstTab.update(jsonPhyMst); // 5.根据erp项点 插入理化报告明细 调用createPhyDtl() - json.put("inspection_id", jsonPhyMst.getString("inspection_id")); - this.createPhyDtl(json); + jsonErp.put("inspection_id", jsonPhyMst.getString("inspection_id")); + this.createPhyDtl(jsonErp); // 6.确认单据 this.confirm(jsonPhyMst); } @@ -1033,7 +1039,8 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { } /** - * 查询理化质检检测项点 公共方法 + * 查询理化质检检测项点 公共方法 + * * @param item_code: 项点编码 / * @return json */ @@ -1045,7 +1052,8 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { } /** - * 根据erp项点插入理化报告明细 + * 根据erp项点插入理化报告明细 + * * @param json / */ @Transactional(rollbackFor = Exception.class) @@ -1070,11 +1078,11 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { jsonDtl.put("value", json.getDoubleValue("midu")); phyDtlTab.update(jsonDtl); } else { - jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1,1).nextId()); - jsonDtlInsert.put("inspection_id",inspection_id); - jsonDtlInsert.put("seq_no",1); - jsonDtlInsert.put("inspection_item_id",inspection_item_id); - jsonDtlInsert.put("value",json.getDoubleValue("midu")); + jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1, 1).nextId()); + jsonDtlInsert.put("inspection_id", inspection_id); + jsonDtlInsert.put("seq_no", 1); + jsonDtlInsert.put("inspection_item_id", inspection_item_id); + jsonDtlInsert.put("value", json.getDoubleValue("midu")); phyDtlTab.insert(jsonDtlInsert); } } @@ -1092,11 +1100,11 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { jsonDtl.put("value", json.getDoubleValue("hc")); phyDtlTab.update(jsonDtl); } else { - jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1,1).nextId()); - jsonDtlInsert.put("inspection_id",inspection_id); - jsonDtlInsert.put("seq_no",1); - jsonDtlInsert.put("inspection_item_id",inspection_item_id); - jsonDtlInsert.put("value",json.getDoubleValue("hc")); + jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1, 1).nextId()); + jsonDtlInsert.put("inspection_id", inspection_id); + jsonDtlInsert.put("seq_no", 1); + jsonDtlInsert.put("inspection_item_id", inspection_item_id); + jsonDtlInsert.put("value", json.getDoubleValue("hc")); phyDtlTab.insert(jsonDtlInsert); } } @@ -1114,11 +1122,11 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { jsonDtl.put("value", json.getDoubleValue("hra")); phyDtlTab.update(jsonDtl); } else { - jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1,1).nextId()); - jsonDtlInsert.put("inspection_id",inspection_id); - jsonDtlInsert.put("seq_no",1); - jsonDtlInsert.put("inspection_item_id",inspection_item_id); - jsonDtlInsert.put("value",json.getDoubleValue("hra")); + jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1, 1).nextId()); + jsonDtlInsert.put("inspection_id", inspection_id); + jsonDtlInsert.put("seq_no", 1); + jsonDtlInsert.put("inspection_item_id", inspection_item_id); + jsonDtlInsert.put("value", json.getDoubleValue("hra")); phyDtlTab.insert(jsonDtlInsert); } } @@ -1136,11 +1144,11 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { jsonDtl.put("value", json.getDoubleValue("ms")); phyDtlTab.update(jsonDtl); } else { - jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1,1).nextId()); - jsonDtlInsert.put("inspection_id",inspection_id); - jsonDtlInsert.put("seq_no",1); - jsonDtlInsert.put("inspection_item_id",inspection_item_id); - jsonDtlInsert.put("value",json.getDoubleValue("ms")); + jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1, 1).nextId()); + jsonDtlInsert.put("inspection_id", inspection_id); + jsonDtlInsert.put("seq_no", 1); + jsonDtlInsert.put("inspection_item_id", inspection_item_id); + jsonDtlInsert.put("value", json.getDoubleValue("ms")); phyDtlTab.insert(jsonDtlInsert); } } @@ -1158,11 +1166,11 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { jsonDtl.put("value", json.getDoubleValue("xa100")); phyDtlTab.update(jsonDtl); } else { - jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1,1).nextId()); - jsonDtlInsert.put("inspection_id",inspection_id); - jsonDtlInsert.put("seq_no",1); - jsonDtlInsert.put("inspection_item_id",inspection_item_id); - jsonDtlInsert.put("value",json.getDoubleValue("xa100")); + jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1, 1).nextId()); + jsonDtlInsert.put("inspection_id", inspection_id); + jsonDtlInsert.put("seq_no", 1); + jsonDtlInsert.put("inspection_item_id", inspection_item_id); + jsonDtlInsert.put("value", json.getDoubleValue("xa100")); phyDtlTab.insert(jsonDtlInsert); } } @@ -1180,11 +1188,11 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { jsonDtl.put("value", json.getDoubleValue("xb100")); phyDtlTab.update(jsonDtl); } else { - jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1,1).nextId()); - jsonDtlInsert.put("inspection_id",inspection_id); - jsonDtlInsert.put("seq_no",1); - jsonDtlInsert.put("inspection_item_id",inspection_item_id); - jsonDtlInsert.put("value",json.getDoubleValue("xb100")); + jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1, 1).nextId()); + jsonDtlInsert.put("inspection_id", inspection_id); + jsonDtlInsert.put("seq_no", 1); + jsonDtlInsert.put("inspection_item_id", inspection_item_id); + jsonDtlInsert.put("value", json.getDoubleValue("xb100")); phyDtlTab.insert(jsonDtlInsert); } } @@ -1202,11 +1210,11 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { jsonDtl.put("value", json.getDoubleValue("xc100")); phyDtlTab.update(jsonDtl); } else { - jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1,1).nextId()); - jsonDtlInsert.put("inspection_id",inspection_id); - jsonDtlInsert.put("seq_no",1); - jsonDtlInsert.put("inspection_item_id",inspection_item_id); - jsonDtlInsert.put("value",json.getDoubleValue("xc100")); + jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1, 1).nextId()); + jsonDtlInsert.put("inspection_id", inspection_id); + jsonDtlInsert.put("seq_no", 1); + jsonDtlInsert.put("inspection_item_id", inspection_item_id); + jsonDtlInsert.put("value", json.getDoubleValue("xc100")); phyDtlTab.insert(jsonDtlInsert); } } @@ -1224,11 +1232,11 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { jsonDtl.put("value", json.getDoubleValue("xe100")); phyDtlTab.update(jsonDtl); } else { - jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1,1).nextId()); - jsonDtlInsert.put("inspection_id",inspection_id); - jsonDtlInsert.put("seq_no",1); - jsonDtlInsert.put("inspection_item_id",inspection_item_id); - jsonDtlInsert.put("value",json.getDoubleValue("xe100")); + jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1, 1).nextId()); + jsonDtlInsert.put("inspection_id", inspection_id); + jsonDtlInsert.put("seq_no", 1); + jsonDtlInsert.put("inspection_item_id", inspection_item_id); + jsonDtlInsert.put("value", json.getDoubleValue("xe100")); phyDtlTab.insert(jsonDtlInsert); } } @@ -1290,11 +1298,11 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { jsonDtl.put("value", json.getDoubleValue("jl10")); phyDtlTab.update(jsonDtl); } else { - jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1,1).nextId()); - jsonDtlInsert.put("inspection_id",inspection_id); - jsonDtlInsert.put("seq_no",1); - jsonDtlInsert.put("inspection_item_id",inspection_item_id); - jsonDtlInsert.put("value",json.getDoubleValue("jl10")); + jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1, 1).nextId()); + jsonDtlInsert.put("inspection_id", inspection_id); + jsonDtlInsert.put("seq_no", 1); + jsonDtlInsert.put("inspection_item_id", inspection_item_id); + jsonDtlInsert.put("value", json.getDoubleValue("jl10")); phyDtlTab.insert(jsonDtlInsert); } } @@ -1312,11 +1320,11 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { jsonDtl.put("value", json.getDoubleValue("jl15")); phyDtlTab.update(jsonDtl); } else { - jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1,1).nextId()); - jsonDtlInsert.put("inspection_id",inspection_id); - jsonDtlInsert.put("seq_no",1); - jsonDtlInsert.put("inspection_item_id",inspection_item_id); - jsonDtlInsert.put("value",json.getDoubleValue("jl15")); + jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1, 1).nextId()); + jsonDtlInsert.put("inspection_id", inspection_id); + jsonDtlInsert.put("seq_no", 1); + jsonDtlInsert.put("inspection_item_id", inspection_item_id); + jsonDtlInsert.put("value", json.getDoubleValue("jl15")); phyDtlTab.insert(jsonDtlInsert); } } @@ -1334,11 +1342,11 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { jsonDtl.put("value", json.getDoubleValue("jl20")); phyDtlTab.update(jsonDtl); } else { - jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1,1).nextId()); - jsonDtlInsert.put("inspection_id",inspection_id); - jsonDtlInsert.put("seq_no",1); - jsonDtlInsert.put("inspection_item_id",inspection_item_id); - jsonDtlInsert.put("value",json.getDoubleValue("jl20")); + jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1, 1).nextId()); + jsonDtlInsert.put("inspection_id", inspection_id); + jsonDtlInsert.put("seq_no", 1); + jsonDtlInsert.put("inspection_item_id", inspection_item_id); + jsonDtlInsert.put("value", json.getDoubleValue("jl20")); phyDtlTab.insert(jsonDtlInsert); } } @@ -1356,11 +1364,11 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { jsonDtl.put("value", json.getDoubleValue("jl25")); phyDtlTab.update(jsonDtl); } else { - jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1,1).nextId()); - jsonDtlInsert.put("inspection_id",inspection_id); - jsonDtlInsert.put("seq_no",1); - jsonDtlInsert.put("inspection_item_id",inspection_item_id); - jsonDtlInsert.put("value",json.getDoubleValue("jl25")); + jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1, 1).nextId()); + jsonDtlInsert.put("inspection_id", inspection_id); + jsonDtlInsert.put("seq_no", 1); + jsonDtlInsert.put("inspection_item_id", inspection_item_id); + jsonDtlInsert.put("value", json.getDoubleValue("jl25")); phyDtlTab.insert(jsonDtlInsert); } } @@ -1378,11 +1386,11 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { jsonDtl.put("value", json.getDoubleValue("jl30")); phyDtlTab.update(jsonDtl); } else { - jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1,1).nextId()); - jsonDtlInsert.put("inspection_id",inspection_id); - jsonDtlInsert.put("seq_no",1); - jsonDtlInsert.put("inspection_item_id",inspection_item_id); - jsonDtlInsert.put("value",json.getDoubleValue("jl30")); + jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1, 1).nextId()); + jsonDtlInsert.put("inspection_id", inspection_id); + jsonDtlInsert.put("seq_no", 1); + jsonDtlInsert.put("inspection_item_id", inspection_item_id); + jsonDtlInsert.put("value", json.getDoubleValue("jl30")); phyDtlTab.insert(jsonDtlInsert); } } @@ -1400,11 +1408,11 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { jsonDtl.put("value", json.getDoubleValue("jl_dia")); phyDtlTab.update(jsonDtl); } else { - jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1,1).nextId()); - jsonDtlInsert.put("inspection_id",inspection_id); - jsonDtlInsert.put("seq_no",1); - jsonDtlInsert.put("inspection_item_id",inspection_item_id); - jsonDtlInsert.put("value",json.getDoubleValue("jl_dia")); + jsonDtlInsert.put("inspectiondtl_id", IdUtil.getSnowflake(1, 1).nextId()); + jsonDtlInsert.put("inspection_id", inspection_id); + jsonDtlInsert.put("seq_no", 1); + jsonDtlInsert.put("inspection_item_id", inspection_item_id); + jsonDtlInsert.put("value", json.getDoubleValue("jl_dia")); phyDtlTab.insert(jsonDtlInsert); } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/wql/QL_ERP.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/wql/QL_ERP.wql index 11c01a5a..ab48efe0 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/wql/QL_ERP.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/ql/wql/QL_ERP.wql @@ -14,8 +14,8 @@ ## 表字段对应输入参数 ################################################# 输入.flag TYPEAS s_string - 输入.search_material_code TYPEAS s_string - 输入.search_pcsn TYPEAS s_string + 输入.ext_id TYPEAS s_string + 输入.pcsn TYPEAS s_string [临时表] @@ -63,20 +63,45 @@ ENDIF IF 输入.flag = "2" - PAGEQUERY + QUERY SELECT * FROM QL_TEST_PHYSICAL + where + is_effective = '1' + AND dr = '0' - OPTION 输入.search_material_code <> "" - 'material_code' like 输入.search_material_code + OPTION 输入.ext_id <> "" + material_id = 输入.ext_id ENDOPTION - OPTION 输入.search_pcsn <> "" - 'pcsn' like 输入.search_pcsn + OPTION 输入.pcsn <> "" + pcsn = 输入.pcsn ENDOPTION ENDSELECT - ENDPAGEQUERY + ENDQUERY + ENDIF + + IF 输入.flag = "3" + QUERY + SELECT + * + FROM + QL_TEST_PHYSICAL + where + 'is_effective' = '1' + AND 'dr' = '0' + + OPTION 输入.ext_id <> "" + 'material_id' = 输入.ext_id + ENDOPTION + + OPTION 输入.pcsn <> "" + 'pcsn' = 输入.pcsn + ENDOPTION + + ENDSELECT + ENDQUERY ENDIF \ No newline at end of file diff --git a/mes/qd/src/views/wms/ql/physicalMstConfirm/index.vue b/mes/qd/src/views/wms/ql/physicalMstConfirm/index.vue index 57f7c769..5d28958f 100644 --- a/mes/qd/src/views/wms/ql/physicalMstConfirm/index.vue +++ b/mes/qd/src/views/wms/ql/physicalMstConfirm/index.vue @@ -150,7 +150,7 @@ type="success" icon="el-icon-refresh" size="mini" - @click="phySyncShow = true" + @click="phySync" > 理化同步 @@ -252,7 +252,7 @@ - + @@ -432,6 +432,19 @@ export default { this.crud.notify('设置成功', CRUD.NOTIFICATION_TYPE.SUCCESS) this.crud.toQuery() }) + }, + phySync() { + const _selectData = this.$refs.table.selection + if (_selectData.length === 0) { + return this.crud.notify('请至少选择一条记录', CRUD.NOTIFICATION_TYPE.INFO) + } + const data = { + 'data': _selectData + } + crudPhysicalMst.hpySync(data).then(res => { + this.crud.toQuery() + this.crud.notify('操作成功', CRUD.NOTIFICATION_TYPE.SUCCESS) + }) } } } From 10f5b7fe3bd9356165bac7a03ee3b8ff2feb3ee9 Mon Sep 17 00:00:00 2001 From: liuxy Date: Tue, 13 Sep 2022 17:24:57 +0800 Subject: [PATCH 22/25] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../rest/DevicerepairmstController.java | 16 +++ .../service/DevicerepairmstService.java | 19 +++ .../impl/DevicerepairmstServiceImpl.java | 64 ++++++++++ .../sb/repair/wql/EM_BI_DEVICEREPAIR001.wql | 110 ++++++++++++++++++ .../rest/DevicemaintenancemstController.java | 9 ++ .../service/DevicemaintenancemstService.java | 9 ++ .../impl/DevicemaintenancemstServiceImpl.java | 32 +++++ .../DevicemaintenanceplanmstServiceImpl.java | 18 ++- .../upkeep/wql/EM_BIDEVICEMAINTENANCE001.wql | 63 +++++++++- .../wql/EM_BIDEVICEMAINTENANCEPLAN001.wql | 16 ++- .../views/wms/sb/re/specialaccount/index.vue | 3 +- .../wms/sb/repair/devicerepairpa/index.vue | 4 +- .../wms/sb/repair/devicerepaorout/index.vue | 2 +- .../sb/upkeep/devicemaintenancepa/index.vue | 4 +- .../devicemaintenanceplan/DeviceDialog.vue | 56 ++++++++- 15 files changed, 416 insertions(+), 9 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/rest/DevicerepairmstController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/rest/DevicerepairmstController.java index b3986064..14e8b3e5 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/rest/DevicerepairmstController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/rest/DevicerepairmstController.java @@ -50,6 +50,22 @@ public class DevicerepairmstController { return new ResponseEntity<>(devicerepairmstService.query(whereJson, page), HttpStatus.OK); } + @GetMapping("/query3") + @Log("查询维修单维护3") + @ApiOperation("查询维修单维护3") + //@PreAuthorize("@el.check('devicerepairmst:list')") + public ResponseEntity query3(@RequestParam Map whereJson, Pageable page) { + return new ResponseEntity<>(devicerepairmstService.query3(whereJson, page), HttpStatus.OK); + } + + @GetMapping("/query4") + @Log("查询维修单维护4") + @ApiOperation("查询维修单维护4") + //@PreAuthorize("@el.check('devicerepairmst:list')") + public ResponseEntity query4(@RequestParam Map whereJson, Pageable page) { + return new ResponseEntity<>(devicerepairmstService.query4(whereJson, page), HttpStatus.OK); + } + @GetMapping("/queryBom") @Log("查询备件bom") @ApiOperation("查询备件bom") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/DevicerepairmstService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/DevicerepairmstService.java index c994a32c..4a0df3ab 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/DevicerepairmstService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/DevicerepairmstService.java @@ -183,4 +183,23 @@ public interface DevicerepairmstService { Map queryBom(Map whereJson, Pageable page); void createExcel(Map whereJson, HttpServletResponse response); + + /** + * 查询数据分页 + * + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + Map query3(Map whereJson, Pageable page); + + /** + * 查询数据分页 + * + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + Map query4(Map whereJson, Pageable page); + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairmstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairmstServiceImpl.java index a1e9c88a..58199a40 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairmstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairmstServiceImpl.java @@ -881,4 +881,68 @@ public class DevicerepairmstServiceImpl implements DevicerepairmstService { } + @Override + public Map query3(Map whereJson, Pageable page) { + String device_code = MapUtil.getStr(whereJson, "device_code"); + String repair_code = MapUtil.getStr(whereJson, "repair_code"); + String maintenancecycle = MapUtil.getStr(whereJson, "maintenancecycle"); + String invstatus = MapUtil.getStr(whereJson, "invstatus"); + String begin_time = MapUtil.getStr(whereJson, "begin_time"); + String end_time = MapUtil.getStr(whereJson, "end_time"); + String material_type_id = MapUtil.getStr(whereJson, "material_type_id"); + String class_idStr = (String) whereJson.get("class_idStr"); + + HashMap map = new HashMap<>(); + map.put("flag", "7"); + map.put("maintenancecycle",maintenancecycle); + map.put("invstatus",invstatus); + map.put("begin_time",begin_time); + map.put("end_time",end_time); + if (ObjectUtil.isNotEmpty(device_code)) map.put("device_code","%"+device_code+"%"); + if (ObjectUtil.isNotEmpty(repair_code)) map.put("repair_code","%"+repair_code+"%"); + //处理物料当前节点的所有子节点 + if (!StrUtil.isEmpty(material_type_id)) { + map.put("material_type_id", material_type_id); + String classIds = classstandardService.getChildIdStr(material_type_id); + map.put("classIds", classIds); + } else if (ObjectUtil.isNotEmpty(class_idStr)) { + String classIds = classstandardService.getAllChildIdStr(class_idStr); + map.put("classIds", classIds); + } + JSONObject json = WQL.getWO("EM_BI_DEVICEREPAIR001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst.input_time DESC"); + return json; + } + + @Override + public Map query4(Map whereJson, Pageable page) { + String device_code = MapUtil.getStr(whereJson, "device_code"); + String repair_code = MapUtil.getStr(whereJson, "repair_code"); + String maintenancecycle = MapUtil.getStr(whereJson, "maintenancecycle"); + String invstatus = MapUtil.getStr(whereJson, "invstatus"); + String begin_time = MapUtil.getStr(whereJson, "begin_time"); + String end_time = MapUtil.getStr(whereJson, "end_time"); + String material_type_id = MapUtil.getStr(whereJson, "material_type_id"); + String class_idStr = (String) whereJson.get("class_idStr"); + + HashMap map = new HashMap<>(); + map.put("flag", "8"); + map.put("maintenancecycle",maintenancecycle); + map.put("invstatus",invstatus); + map.put("begin_time",begin_time); + map.put("end_time",end_time); + if (ObjectUtil.isNotEmpty(device_code)) map.put("device_code","%"+device_code+"%"); + if (ObjectUtil.isNotEmpty(repair_code)) map.put("repair_code","%"+repair_code+"%"); + //处理物料当前节点的所有子节点 + if (!StrUtil.isEmpty(material_type_id)) { + map.put("material_type_id", material_type_id); + String classIds = classstandardService.getChildIdStr(material_type_id); + map.put("classIds", classIds); + } else if (ObjectUtil.isNotEmpty(class_idStr)) { + String classIds = classstandardService.getAllChildIdStr(class_idStr); + map.put("classIds", classIds); + } + JSONObject json = WQL.getWO("EM_BI_DEVICEREPAIR001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst.input_time DESC"); + return json; + } + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIR001.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIR001.wql index b3d0bc71..b53de128 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIR001.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIR001.wql @@ -253,6 +253,116 @@ ENDPAGEQUERY ENDIF + IF 输入.flag = "7" + PAGEQUERY + SELECT + mst.*, + class.class_name, + file.device_code, + file.device_name, + file.extend_code, + d1.name AS dept_name, + d2.name AS use_name + FROM + EM_BI_DeviceRepairMst mst + LEFT JOIN EM_BI_EquipmentFile file ON file.devicerecord_id = mst.devicerecord_id + LEFT JOIN md_pb_classstandard class ON file.material_type_id = class.class_id + LEFT JOIN sys_dept d1 ON file.belong_deptid = d1.dept_id + LEFT JOIN sys_dept d2 ON file.use_groupid = d2.dept_id + WHERE + mst.is_delete = '0' + AND file.is_delete = '0' + AND mst.invstatus not in ('01') + + OPTION 输入.device_code <> "" + (file.device_code like 输入.device_code or + file.device_name like 输入.device_code) + ENDOPTION + + OPTION 输入.repair_code <> "" + (mst.repair_code like 输入.repair_code or + mst.repair_code like 输入.repair_code) + ENDOPTION + + OPTION 输入.classIds <> "" + class.class_id in 输入.classIds + ENDOPTION + + OPTION 输入.invstatus <> "" + mst.invstatus = 输入.invstatus + ENDOPTION + + OPTION 输入.maintenancecycle <> "" + mst.maintenancecycle = 输入.maintenancecycle + ENDOPTION + + OPTION 输入.begin_time <> "" + mst.plan_start_date >= 输入.begin_time + ENDOPTION + + OPTION 输入.end_time <> "" + mst.plan_start_date <= 输入.end_time + ENDOPTION + + ENDSELECT + ENDPAGEQUERY + ENDIF + + IF 输入.flag = "8" + PAGEQUERY + SELECT + mst.*, + class.class_name, + file.device_code, + file.device_name, + file.extend_code, + d1.name AS dept_name, + d2.name AS use_name + FROM + EM_BI_DeviceRepairMst mst + LEFT JOIN EM_BI_EquipmentFile file ON file.devicerecord_id = mst.devicerecord_id + LEFT JOIN md_pb_classstandard class ON file.material_type_id = class.class_id + LEFT JOIN sys_dept d1 ON file.belong_deptid = d1.dept_id + LEFT JOIN sys_dept d2 ON file.use_groupid = d2.dept_id + WHERE + mst.is_delete = '0' + AND file.is_delete = '0' + AND mst.invstatus in ('03','04','05') + + OPTION 输入.device_code <> "" + (file.device_code like 输入.device_code or + file.device_name like 输入.device_code) + ENDOPTION + + OPTION 输入.repair_code <> "" + (mst.repair_code like 输入.repair_code or + mst.repair_code like 输入.repair_code) + ENDOPTION + + OPTION 输入.classIds <> "" + class.class_id in 输入.classIds + ENDOPTION + + OPTION 输入.invstatus <> "" + mst.invstatus = 输入.invstatus + ENDOPTION + + OPTION 输入.maintenancecycle <> "" + mst.maintenancecycle = 输入.maintenancecycle + ENDOPTION + + OPTION 输入.begin_time <> "" + mst.plan_start_date >= 输入.begin_time + ENDOPTION + + OPTION 输入.end_time <> "" + mst.plan_start_date <= 输入.end_time + ENDOPTION + + ENDSELECT + ENDPAGEQUERY + ENDIF + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/rest/DevicemaintenancemstController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/rest/DevicemaintenancemstController.java index 76dbc493..1d86afee 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/rest/DevicemaintenancemstController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/rest/DevicemaintenancemstController.java @@ -50,6 +50,15 @@ public class DevicemaintenancemstController { return new ResponseEntity<>(devicemaintenancemstService.query2(whereJson, page), HttpStatus.OK); } + + @GetMapping("query3") + @Log("查询设备保养单") + @ApiOperation("查询设备保养单") + //@PreAuthorize("@el.check('devicemaintenancemst:list')") + public ResponseEntity query3(@RequestParam Map whereJson, Pageable page) { + return new ResponseEntity<>(devicemaintenancemstService.query3(whereJson, page), HttpStatus.OK); + } + @PostMapping @Log("新增设备保养单") @ApiOperation("新增设备保养单") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/DevicemaintenancemstService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/DevicemaintenancemstService.java index ed9e271e..931b2141 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/DevicemaintenancemstService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/DevicemaintenancemstService.java @@ -137,4 +137,13 @@ public interface DevicemaintenancemstService { * @param whereJson / */ void createExcel(Map whereJson, HttpServletResponse response); + + /** + * 查询数据分页 + * + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + Map query3(Map whereJson, Pageable page); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenancemstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenancemstServiceImpl.java index 8c8f3e31..b7e5ce43 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenancemstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenancemstServiceImpl.java @@ -519,4 +519,36 @@ public class DevicemaintenancemstServiceImpl implements DevicemaintenancemstServ } + @Override + public Map query3(Map whereJson, Pageable page) { + String material_type_id = MapUtil.getStr(whereJson, "material_type_id"); + String class_idStr = MapUtil.getStr(whereJson, "class_idStr"); + String device_code = MapUtil.getStr(whereJson, "device_code"); + String maintenancecycle = MapUtil.getStr(whereJson, "maintenancecycle"); + String maint_code = MapUtil.getStr(whereJson, "maint_code"); + String invstatus = MapUtil.getStr(whereJson, "invstatus"); + String begin_time = MapUtil.getStr(whereJson, "begin_time"); + String end_time = MapUtil.getStr(whereJson, "end_time"); + + HashMap map = new HashMap<>(); + map.put("flag", "4"); + map.put("maintenancecycle", maintenancecycle); + map.put("invstatus", invstatus); + map.put("begin_time", begin_time); + map.put("end_time", end_time); + if (ObjectUtil.isNotEmpty(device_code)) map.put("device_code", "%" + device_code + "%"); + if (ObjectUtil.isNotEmpty(maint_code)) map.put("maint_code", "%" + maint_code + "%"); + //处理物料当前节点的所有子节点 + if (!StrUtil.isEmpty(material_type_id)) { + map.put("material_type_id", material_type_id); + String classIds = classstandardService.getChildIdStr(material_type_id); + map.put("classIds", classIds); + } else if (ObjectUtil.isNotEmpty(class_idStr)) { + String classIds = classstandardService.getAllChildIdStr(class_idStr); + map.put("classIds", classIds); + } + JSONObject json = WQL.getWO("EM_BIDEVICEMAINTENANCE001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst.input_time DESC"); + return json; + } + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenanceplanmstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenanceplanmstServiceImpl.java index b1fe48f2..56ab2c23 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenanceplanmstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenanceplanmstServiceImpl.java @@ -8,7 +8,9 @@ import com.alibaba.fastjson.JSON; import lombok.RequiredArgsConstructor; import org.nl.exception.BadRequestException; import org.nl.modules.security.service.dto.JwtUserDto; +import org.nl.modules.system.service.DeptService; import org.nl.modules.system.util.CodeUtil; +import org.nl.utils.SpringContextHolder; import org.nl.wms.basedata.master.service.ClassstandardService; import org.nl.wms.sb.upkeep.service.DevicemaintenanceplanmstService; import org.nl.wms.sb.upkeep.service.dto.DevicemaintenanceplanmstDto; @@ -219,11 +221,25 @@ public class DevicemaintenanceplanmstServiceImpl implements Devicemaintenancepla @Override @Transactional(rollbackFor = Exception.class) public Map queryDevice(Map whereJson, Pageable page) { + DeptService deptService = SpringContextHolder.getBean(DeptService.class); String device_code = MapUtil.getStr(whereJson, "device_code"); - + // 查询设备档案 HashMap map = new HashMap<>(); map.put("flag", "2"); if (ObjectUtil.isNotEmpty(device_code)) map.put("device_code", "%"+device_code+"%"); + + String dept_id = MapUtil.getStr(whereJson, "dept_id"); + if (!StrUtil.isEmpty(dept_id)) { + String deptIds = deptService.getChildIdStr(Long.parseLong(dept_id)); + map.put("deptIds", deptIds); + } + + String use_id = MapUtil.getStr(whereJson, "use_id"); + if (!StrUtil.isEmpty(use_id)) { + String useIds = deptService.getChildIdStr(Long.parseLong(use_id)); + map.put("useIds", useIds); + } + JSONObject json = WQL.getWO("EM_BIDEVICEMAINTENANCEPLAN001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "file.update_time DESC"); return json; } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/wql/EM_BIDEVICEMAINTENANCE001.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/wql/EM_BIDEVICEMAINTENANCE001.wql index 574a8e29..ca49d411 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/wql/EM_BIDEVICEMAINTENANCE001.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/wql/EM_BIDEVICEMAINTENANCE001.wql @@ -53,11 +53,15 @@ class.class_name, file.device_code, file.device_name, - file.extend_code + file.extend_code, + d1.name AS dept_name, + d2.name AS use_name FROM EM_BI_DeviceMaintenanceMst mst LEFT JOIN EM_BI_EquipmentFile file ON file.devicerecord_id = mst.devicerecord_id LEFT JOIN md_pb_classstandard class ON file.material_type_id = class.class_id + LEFT JOIN sys_dept d1 ON file.belong_deptid = d1.dept_id + LEFT JOIN sys_dept d2 ON file.use_groupid = d2.dept_id WHERE mst.is_delete = '0' AND file.is_delete = '0' @@ -111,7 +115,7 @@ WHERE mst.is_delete = '0' AND file.is_delete = '0' - AND mst.invstatus in (05,99) + AND mst.invstatus in ('07','99') OPTION 输入.device_code <> "" (file.device_code like 输入.device_code or @@ -170,5 +174,60 @@ ENDQUERY ENDIF + IF 输入.flag = "4" + PAGEQUERY + SELECT + mst.*, + class.class_name, + file.device_code, + file.device_name, + file.extend_code, + d1.name AS dept_name, + d2.name AS use_name + FROM + EM_BI_DeviceMaintenanceMst mst + LEFT JOIN EM_BI_EquipmentFile file ON file.devicerecord_id = mst.devicerecord_id + LEFT JOIN md_pb_classstandard class ON file.material_type_id = class.class_id + LEFT JOIN sys_dept d1 ON file.belong_deptid = d1.dept_id + LEFT JOIN sys_dept d2 ON file.use_groupid = d2.dept_id + WHERE + mst.is_delete = '0' + AND file.is_delete = '0' + AND mst.invstatus not in ('01') + + OPTION 输入.device_code <> "" + (file.device_code like 输入.device_code or + file.device_name like 输入.device_code) + ENDOPTION + + OPTION 输入.maint_code <> "" + (mst.maint_code like 输入.maint_code or + mst.maint_code like 输入.maint_code) + ENDOPTION + + OPTION 输入.classIds <> "" + class.class_id in 输入.classIds + ENDOPTION + + OPTION 输入.maintenancecycle <> "" + mst.maintenancecycle = 输入.maintenancecycle + ENDOPTION + + OPTION 输入.begin_time <> "" + mst.plan_start_date >= 输入.begin_time + ENDOPTION + + OPTION 输入.end_time <> "" + mst.plan_start_date <= 输入.end_time + ENDOPTION + + OPTION 输入.invstatus <> "" + mst.invstatus = 输入.invstatus + ENDOPTION + + ENDSELECT + ENDPAGEQUERY + ENDIF + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/wql/EM_BIDEVICEMAINTENANCEPLAN001.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/wql/EM_BIDEVICEMAINTENANCEPLAN001.wql index 2c77d897..ef414777 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/wql/EM_BIDEVICEMAINTENANCEPLAN001.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/wql/EM_BIDEVICEMAINTENANCEPLAN001.wql @@ -15,6 +15,8 @@ ################################################# 输入.flag TYPEAS s_string 输入.classIds TYPEAS f_string + 输入.deptIds TYPEAS f_string + 输入.useIds TYPEAS f_string 输入.device_code TYPEAS s_string 输入.maintenancecycle TYPEAS s_string 输入.maint_plan_id TYPEAS s_string @@ -101,11 +103,15 @@ SELECT file.*, class.class_name, - work.workprocedure_name + work.workprocedure_name, + d1.name AS dept_name, + d2.name AS use_name FROM EM_BI_EquipmentFile file LEFT JOIN md_pb_classstandard class ON file.material_type_id = class.class_id LEFT JOIN pdm_bi_workprocedure work ON file.workprocedure_id = work.workprocedure_id + LEFT JOIN sys_dept d1 ON file.belong_deptid = d1.dept_id + LEFT JOIN sys_dept d2 ON file.use_groupid = d2.dept_id WHERE file.is_delete = '0' AND file.status not in (90,91) @@ -115,6 +121,14 @@ file.device_name like 输入.device_code) ENDOPTION + OPTION 输入.deptIds <> "" + d1.dept_id in 输入.deptIds + ENDOPTION + + OPTION 输入.useIds <> "" + d2.dept_id in 输入.useIds + ENDOPTION + ENDSELECT ENDPAGEQUERY ENDIF diff --git a/mes/qd/src/views/wms/sb/re/specialaccount/index.vue b/mes/qd/src/views/wms/sb/re/specialaccount/index.vue index 966951c2..d8e6139c 100644 --- a/mes/qd/src/views/wms/sb/re/specialaccount/index.vue +++ b/mes/qd/src/views/wms/sb/re/specialaccount/index.vue @@ -244,9 +244,10 @@ export default { const vnowDate = b + c + x // 将字符串转换成int类型进行相减 const a = parseInt(vDateStr) - parseInt(vnowDate) + debugger // 进行比较符合条件表格就变化颜色 const stylejson = {} - if (a < 15) { + if (a < 30) { stylejson.background = '#e0838f' stylejson.color = 'green' return stylejson diff --git a/mes/qd/src/views/wms/sb/repair/devicerepairpa/index.vue b/mes/qd/src/views/wms/sb/repair/devicerepairpa/index.vue index eed9392a..72e63590 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepairpa/index.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepairpa/index.vue @@ -152,6 +152,8 @@ + + @@ -204,7 +206,7 @@ export default { cruds() { return CRUD({ title: '维修单填报', - url: 'api/devicerepairmst', + url: 'api/devicerepairmst/query3', idField: 'repair_id', sort: 'repair_id,desc', crudMethod: { ...crudDevicerepairmst }, diff --git a/mes/qd/src/views/wms/sb/repair/devicerepaorout/index.vue b/mes/qd/src/views/wms/sb/repair/devicerepaorout/index.vue index cf91ddd2..8d4e0f14 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepaorout/index.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepaorout/index.vue @@ -158,7 +158,7 @@ export default { cruds() { return CRUD({ title: '委外维修', - url: 'api/devicerepairmst', + url: 'api/devicerepairmst/query4', idField: 'repair_id', sort: 'repair_id,desc', crudMethod: { ...crudDevicerepairmst }, diff --git a/mes/qd/src/views/wms/sb/upkeep/devicemaintenancepa/index.vue b/mes/qd/src/views/wms/sb/upkeep/devicemaintenancepa/index.vue index ffa456ad..465a0f34 100644 --- a/mes/qd/src/views/wms/sb/upkeep/devicemaintenancepa/index.vue +++ b/mes/qd/src/views/wms/sb/upkeep/devicemaintenancepa/index.vue @@ -130,6 +130,8 @@ + + @@ -173,7 +175,7 @@ export default { cruds() { return CRUD({ title: '保养单填报', - url: 'api/devicemaintenancemst', + url: 'api/devicemaintenancemst/query3', idField: 'maint_id', sort: 'maint_id,desc', crudMethod: { ...crudDevicemaintenancemst }, diff --git a/mes/qd/src/views/wms/sb/upkeep/devicemaintenanceplan/DeviceDialog.vue b/mes/qd/src/views/wms/sb/upkeep/devicemaintenanceplan/DeviceDialog.vue index a75898cf..b1cf1024 100644 --- a/mes/qd/src/views/wms/sb/upkeep/devicemaintenanceplan/DeviceDialog.vue +++ b/mes/qd/src/views/wms/sb/upkeep/devicemaintenanceplan/DeviceDialog.vue @@ -23,6 +23,24 @@ @keyup.enter.native="crud.toQuery" /> + + + + + + @@ -50,6 +68,8 @@ + + @@ -73,10 +93,13 @@ import CRUD, { header, presenter } from '@crud/crud' import rrOperation from '@crud/RR.operation' import pagination from '@crud/Pagination' import crudDevicemaintenanceplanmst from '@/api/wms/sb/devicemaintenanceplanmst' +import Treeselect, { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect' +import '@riophae/vue-treeselect/dist/vue-treeselect.css' +import { getDepts } from '@/api/system/dept' export default { name: 'Device', - components: { rrOperation, pagination }, + components: { rrOperation, pagination, Treeselect }, cruds() { return CRUD({ title: '设备', @@ -99,6 +122,8 @@ export default { dialogVisible: false, tableRadio: null, checkrow: null, + class_idStr: null, + depts: [], rows: [], XLList: [] } @@ -110,6 +135,9 @@ export default { } } }, + created() { + this.getDepts() + }, methods: { clickChange(item) { this.tableRadio = item @@ -155,6 +183,32 @@ export default { this.crud.resetQuery(false) this.$emit('update:dialogShow', false) this.$emit('tableChanged2', this.rows) + }, + // 获取弹窗内部门数据 + loadDepts({ action, parentNode, callback }) { + if (action === LOAD_CHILDREN_OPTIONS) { + getDepts({ enabled: true, pid: parentNode.id }).then(res => { + parentNode.children = res.content.map(function(obj) { + if (obj.hasChildren) { + obj.children = null + } + return obj + }) + setTimeout(() => { + callback() + }, 200) + }) + } + }, + getDepts() { + getDepts({ enabled: true }).then(res => { + this.depts = res.content.map(function(obj) { + if (obj.hasChildren) { + obj.children = null + } + return obj + }) + }) } } } From fafff4b0e4294d5ae40966e26b107b2668d0fb23 Mon Sep 17 00:00:00 2001 From: liuxy Date: Wed, 14 Sep 2022 09:36:49 +0800 Subject: [PATCH 23/25] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wms/sb/repair/devicerepair/AddDialog.vue | 16 +++++++++++++--- .../views/wms/sb/repair/devicerepair/index.vue | 6 +++++- .../sb/upkeep/devicemaintenance/AddDialog.vue | 15 ++++++++++++--- .../wms/sb/upkeep/devicemaintenance/index.vue | 6 +++++- 4 files changed, 35 insertions(+), 8 deletions(-) diff --git a/mes/qd/src/views/wms/sb/repair/devicerepair/AddDialog.vue b/mes/qd/src/views/wms/sb/repair/devicerepair/AddDialog.vue index e71b562e..fad14298 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepair/AddDialog.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepair/AddDialog.vue @@ -55,7 +55,7 @@ - + @@ -65,6 +65,7 @@ v-model="form.fault_level" size="mini" placeholder="请选择" + :disabled="crud.status.view > 0" class="filter-item" > 添加项目 @@ -126,13 +128,13 @@ @@ -219,6 +221,14 @@ export default { this.form.tableData = res }) }, + [CRUD.HOOK.afterToView]() { + const data = { + 'repair_id': this.form.repair_id + } + crudDevicerepairmst.getDtl(data).then(res => { + this.form.tableData = res + }) + }, handleClose(done) { this.$confirm('确认关闭?') .then(_ => { diff --git a/mes/qd/src/views/wms/sb/repair/devicerepair/index.vue b/mes/qd/src/views/wms/sb/repair/devicerepair/index.vue index 1071db00..b73377b3 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepair/index.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepair/index.vue @@ -95,7 +95,11 @@ - + + + diff --git a/mes/qd/src/views/wms/sb/upkeep/devicemaintenance/AddDialog.vue b/mes/qd/src/views/wms/sb/upkeep/devicemaintenance/AddDialog.vue index 5978ed53..037358aa 100644 --- a/mes/qd/src/views/wms/sb/upkeep/devicemaintenance/AddDialog.vue +++ b/mes/qd/src/views/wms/sb/upkeep/devicemaintenance/AddDialog.vue @@ -55,7 +55,7 @@ - + @@ -79,6 +79,7 @@ icon="el-icon-check" size="mini" @click="putItem" + :disabled="crud.status.view > 0" > 添加项目 @@ -104,13 +105,13 @@ @@ -191,6 +192,14 @@ export default { this.form.tableData = res }) }, + [CRUD.HOOK.afterToView]() { + const data = { + 'maint_id': this.form.maint_id + } + crudDevicemaintenancemst.getDtl(data).then(res => { + this.form.tableData = res + }) + }, handleClose(done) { this.$confirm('确认关闭?') .then(_ => { diff --git a/mes/qd/src/views/wms/sb/upkeep/devicemaintenance/index.vue b/mes/qd/src/views/wms/sb/upkeep/devicemaintenance/index.vue index da792788..054134c5 100644 --- a/mes/qd/src/views/wms/sb/upkeep/devicemaintenance/index.vue +++ b/mes/qd/src/views/wms/sb/upkeep/devicemaintenance/index.vue @@ -106,7 +106,11 @@ - + + + From 66ec2c69057787e24cfacca304dae750a8e6cb7d Mon Sep 17 00:00:00 2001 From: liuxy Date: Wed, 14 Sep 2022 10:53:22 +0800 Subject: [PATCH 24/25] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/InstrumentaccountServiceImpl.java | 15 +++++++++ .../service/impl/SafeaccountServiceImpl.java | 15 +++++++++ .../impl/SpecialaccountServiceImpl.java | 16 +++++++++- .../sb/repair/wql/EM_BI_DEVICEREPAIR001.wql | 6 +++- .../wms/sb/re/instrumentaccount/index.vue | 31 +----------------- .../src/views/wms/sb/re/safeaccount/index.vue | 31 +----------------- .../views/wms/sb/re/specialaccount/index.vue | 32 +------------------ .../wms/sb/repair/devicerepair/index.vue | 8 +++-- .../wms/sb/repair/devicerepairpa/index.vue | 18 +++++++---- .../wms/sb/upkeep/devicemaintenance/index.vue | 8 +++-- 10 files changed, 75 insertions(+), 105 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/re/service/impl/InstrumentaccountServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/re/service/impl/InstrumentaccountServiceImpl.java index 5b60d050..c8c10661 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/re/service/impl/InstrumentaccountServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/re/service/impl/InstrumentaccountServiceImpl.java @@ -2,6 +2,7 @@ package org.nl.wms.sb.re.service.impl; +import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.IdUtil; @@ -48,6 +49,20 @@ public class InstrumentaccountServiceImpl implements InstrumentaccountService { map.put("beginuse_date", MapUtil.getStr(whereJson, "beginuse_date")); map.put("docimasy_result", MapUtil.getStr(whereJson, "docimasy_result")); JSONObject json = WQL.getWO("QEM_BI_INSTRUMENTACCOUNT001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), ""); + + JSONArray content = json.getJSONArray("content"); + for (int i = 0; i < content.size(); i++) { + JSONObject jsonObject = content.getJSONObject(i); + + Date date1 = DateUtil.parse(DateUtil.today()); // 当前日期 + Date date2 = DateUtil.parse(jsonObject.getString("beginuse_date")); // 下次检验日期 + + long betweenDay = DateUtil.between(date1, date2, DateUnit.DAY, false); + + if (betweenDay < 15) { + jsonObject.put("is_red", "1"); + } + } return json; } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/re/service/impl/SafeaccountServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/re/service/impl/SafeaccountServiceImpl.java index 63f83ce2..a1c3fecb 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/re/service/impl/SafeaccountServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/re/service/impl/SafeaccountServiceImpl.java @@ -2,6 +2,7 @@ package org.nl.wms.sb.re.service.impl; +import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; @@ -45,6 +46,20 @@ public class SafeaccountServiceImpl implements SafeaccountService { if (!ObjectUtil.isEmpty(device_code)) map.put("device_code", "%" + device_code + "%"); map.put("docimasy_date", docimasy_date); JSONObject json = WQL.getWO("QEM_BI_SAFEACCOUNT001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), ""); + + JSONArray content = json.getJSONArray("content"); + for (int i = 0; i < content.size(); i++) { + JSONObject jsonObject = content.getJSONObject(i); + + Date date1 = DateUtil.parse(DateUtil.today()); // 当前日期 + Date date2 = DateUtil.parse(jsonObject.getString("next_docimasy_date")); // 下次检验日期 + + long betweenDay = DateUtil.between(date1, date2, DateUnit.DAY, false); + + if (betweenDay < 15) { + jsonObject.put("is_red", "1"); + } + } return json; } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/re/service/impl/SpecialaccountServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/re/service/impl/SpecialaccountServiceImpl.java index c5ad01c5..c7cea716 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/re/service/impl/SpecialaccountServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/re/service/impl/SpecialaccountServiceImpl.java @@ -2,6 +2,7 @@ package org.nl.wms.sb.re.service.impl; +import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; @@ -35,7 +36,6 @@ import java.util.*; @RequiredArgsConstructor @Slf4j public class SpecialaccountServiceImpl implements SpecialaccountService { - @Override public Map queryAll(Map whereJson, Pageable page) { String device_code = (String) whereJson.get("device_code"); @@ -45,6 +45,20 @@ public class SpecialaccountServiceImpl implements SpecialaccountService { if (!ObjectUtil.isEmpty(device_code)) map.put("device_code", "%" + device_code + "%"); map.put("valid_term", valid_term); JSONObject json = WQL.getWO("QEM_BI_SPECIALACCOUNT001").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), ""); + + JSONArray content = json.getJSONArray("content"); + for (int i = 0; i < content.size(); i++) { + JSONObject jsonObject = content.getJSONObject(i); + + Date date1 = DateUtil.parse(DateUtil.today()); // 当前日期 + Date date2 = DateUtil.parse(jsonObject.getString("valid_term")); // 检验日期 + + long betweenDay = DateUtil.between(date1, date2, DateUnit.DAY, false); + + if (betweenDay < 30) { + jsonObject.put("is_red", "1"); + } + } return json; } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIR001.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIR001.wql index b53de128..c5433b46 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIR001.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/wql/EM_BI_DEVICEREPAIR001.wql @@ -58,11 +58,15 @@ class.class_name, file.device_code, file.device_name, - file.extend_code + file.extend_code, + d1.name AS dept_name, + d2.name AS use_name FROM EM_BI_DeviceRepairMst mst LEFT JOIN EM_BI_EquipmentFile file ON file.devicerecord_id = mst.devicerecord_id LEFT JOIN md_pb_classstandard class ON file.material_type_id = class.class_id + LEFT JOIN sys_dept d1 ON file.belong_deptid = d1.dept_id + LEFT JOIN sys_dept d2 ON file.use_groupid = d2.dept_id WHERE mst.is_delete = '0' AND file.is_delete = '0' diff --git a/mes/qd/src/views/wms/sb/re/instrumentaccount/index.vue b/mes/qd/src/views/wms/sb/re/instrumentaccount/index.vue index 8fe259a2..66704691 100644 --- a/mes/qd/src/views/wms/sb/re/instrumentaccount/index.vue +++ b/mes/qd/src/views/wms/sb/re/instrumentaccount/index.vue @@ -248,37 +248,8 @@ export default { } }, tableRowClassName({ row, rowIndex }) { - // 将每行的检验有效期时间格式化 - const vDate = row.beginuse_date - const vDateStr = vDate.replace(/-/g, '') - // 获取当前时间并格式化 - var myDate = new Date() - // 以下操作是为了补时间缺的0 - const month = myDate.getMonth() + 1 - const date = myDate.getDate() - const stryear = myDate.getFullYear().toString() - const strmonth = (myDate.getMonth() + 1).toString() - const strdate = myDate.getDate().toString() - var c - var x - var b - b = stryear - if (month < 10) { - c = ('0' + strmonth) - } else { - c = strmonth - } - if (date < 10) { - x = ('0' + strdate) - } else { - x = strdate - } - const vnowDate = b + c + x - // 将字符串转换成int类型进行相减 - const a = parseInt(vDateStr) - parseInt(vnowDate) - // 进行比较符合条件表格就变化颜色 const stylejson = {} - if (a < 15) { + if (row.is_red !== undefined) { stylejson.background = '#e0838f' stylejson.color = 'green' return stylejson diff --git a/mes/qd/src/views/wms/sb/re/safeaccount/index.vue b/mes/qd/src/views/wms/sb/re/safeaccount/index.vue index 3d804980..bef65db9 100644 --- a/mes/qd/src/views/wms/sb/re/safeaccount/index.vue +++ b/mes/qd/src/views/wms/sb/re/safeaccount/index.vue @@ -217,37 +217,8 @@ export default { return true }, tableRowClassName({ row, rowIndex }) { - // 将每行的检验有效期时间格式化 - const vDate = row.next_docimasy_date - const vDateStr = vDate.replace(/-/g, '') - // 获取当前时间并格式化 - var myDate = new Date() - // 以下操作是为了补时间缺的0 - const month = myDate.getMonth() + 1 - const date = myDate.getDate() - const stryear = myDate.getFullYear().toString() - const strmonth = (myDate.getMonth() + 1).toString() - const strdate = myDate.getDate().toString() - var c - var x - var b - b = stryear - if (month < 10) { - c = ('0' + strmonth) - } else { - c = strmonth - } - if (date < 10) { - x = ('0' + strdate) - } else { - x = strdate - } - const vnowDate = b + c + x - // 将字符串转换成int类型进行相减 - const a = parseInt(vDateStr) - parseInt(vnowDate) - // 进行比较符合条件表格就变化颜色 const stylejson = {} - if (a < 15) { + if (row.is_red !== undefined) { stylejson.background = '#e0838f' stylejson.color = 'green' return stylejson diff --git a/mes/qd/src/views/wms/sb/re/specialaccount/index.vue b/mes/qd/src/views/wms/sb/re/specialaccount/index.vue index d8e6139c..1e9185de 100644 --- a/mes/qd/src/views/wms/sb/re/specialaccount/index.vue +++ b/mes/qd/src/views/wms/sb/re/specialaccount/index.vue @@ -216,38 +216,8 @@ export default { return true }, tableRowClassName({ row, rowIndex }) { - // 将每行的检验有效期时间格式化 - const vDate = row.valid_term - const vDateStr = vDate.replace(/-/g, '') - // 获取当前时间并格式化 - var myDate = new Date() - // 以下操作是为了补时间缺的0 - const month = myDate.getMonth() + 1 - const date = myDate.getDate() - const stryear = myDate.getFullYear().toString() - const strmonth = (myDate.getMonth() + 1).toString() - const strdate = myDate.getDate().toString() - var c - var x - var b - b = stryear - if (month < 10) { - c = ('0' + strmonth) - } else { - c = strmonth - } - if (date < 10) { - x = ('0' + strdate) - } else { - x = strdate - } - const vnowDate = b + c + x - // 将字符串转换成int类型进行相减 - const a = parseInt(vDateStr) - parseInt(vnowDate) - debugger - // 进行比较符合条件表格就变化颜色 const stylejson = {} - if (a < 30) { + if (row.is_red !== undefined) { stylejson.background = '#e0838f' stylejson.color = 'green' return stylejson diff --git a/mes/qd/src/views/wms/sb/repair/devicerepair/index.vue b/mes/qd/src/views/wms/sb/repair/devicerepair/index.vue index b73377b3..aac16c3c 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepair/index.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepair/index.vue @@ -94,14 +94,16 @@ - - + + + + diff --git a/mes/qd/src/views/wms/sb/repair/devicerepairpa/index.vue b/mes/qd/src/views/wms/sb/repair/devicerepairpa/index.vue index 72e63590..a9bec490 100644 --- a/mes/qd/src/views/wms/sb/repair/devicerepairpa/index.vue +++ b/mes/qd/src/views/wms/sb/repair/devicerepairpa/index.vue @@ -84,7 +84,7 @@ type="success" icon="el-icon-position" size="mini" - :disabled="crud.selections.length !== 1" + :disabled="start_flag" @click="startRepair" > 开始维修 @@ -95,7 +95,7 @@ type="success" icon="el-icon-position" size="mini" - :disabled="crud.selections.length !== 1" + :disabled="execu_flag" @click="executeRepair" > 维修执行 @@ -106,7 +106,7 @@ type="success" icon="el-icon-position" size="mini" - :disabled="crud.selections.length !== 1" + :disabled="end_flag" @click="endRepair" > 结束维修 @@ -117,7 +117,7 @@ type="success" icon="el-icon-position" size="mini" - :disabled="crud.selections.length !== 1" + :disabled="open_flag" @click="openReceive" > 维修领用 @@ -128,7 +128,7 @@ type="success" icon="el-icon-position" size="mini" - :disabled="crud.selections.length !== 1" + :disabled="confirm_flag" @click="confirmRepair" > 维修确认 @@ -139,7 +139,7 @@ type="success" icon="el-icon-position" size="mini" - :disabled="crud.selections.length !== 1" + :disabled="result_flag" @click="resuftRepair" > 结果录入 @@ -221,6 +221,12 @@ export default { }, data() { return { + start_flag: true, + execu_flag: true, + end_flag: true, + open_flag: true, + confirm_flag: true, + result_flag: true, classes: [], class_idStr: null, materOpt_code: '23', diff --git a/mes/qd/src/views/wms/sb/upkeep/devicemaintenance/index.vue b/mes/qd/src/views/wms/sb/upkeep/devicemaintenance/index.vue index 054134c5..c129d874 100644 --- a/mes/qd/src/views/wms/sb/upkeep/devicemaintenance/index.vue +++ b/mes/qd/src/views/wms/sb/upkeep/devicemaintenance/index.vue @@ -105,14 +105,16 @@ - - + + + + From b458ce49cb75ec39808bdf2ee1448cbfd46ff627 Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Wed, 14 Sep 2022 12:14:59 +0800 Subject: [PATCH 25/25] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DailyplanServiceImpl.java | 4 +- .../nl/wms/pdm/wql/QPDM_PRODUCTDAILYPLAN.wql | 95 +++++---- .../rest/DevicerepairmstController.java | 8 + .../impl/DevicerepairmstServiceImpl.java | 2 +- .../rest/DevicemaintenancemstController.java | 8 + .../impl/DevicemaintenancemstServiceImpl.java | 2 +- mes/qd/src/api/wms/sb/devicemaintenancemst.js | 10 +- mes/qd/src/api/wms/sb/devicerepairmst.js | 10 +- .../em/equipmentfile/ChangeDialog.vue | 41 +++- .../basedata/em/equipmentfile/ViewDialog1.vue | 187 ++++++++++++++++++ .../basedata/em/equipmentfile/ViewDialog2.vue | 173 ++++++++++++++++ .../wms/statistics/productmouth/index.vue | 6 +- .../wms/statistics/producttask/index.vue | 2 +- 13 files changed, 497 insertions(+), 51 deletions(-) create mode 100644 mes/qd/src/views/wms/basedata/em/equipmentfile/ViewDialog1.vue create mode 100644 mes/qd/src/views/wms/basedata/em/equipmentfile/ViewDialog2.vue diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java index ea140425..165f7be7 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/service/impl/DailyplanServiceImpl.java @@ -102,7 +102,7 @@ public class DailyplanServiceImpl implements DailyplanService { 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"); + JSONObject jret = WQL.getWO("QPDM_PRODUCTDAILYPLAN").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "WorkOrder2.planstart_time,WorkOrder2.device_id,WorkOrder2.old_mark"); JSONArray json = jret.getJSONArray("content"); JSONArray ja = new JSONArray(); for(int i=0;i "" - 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 + ( + SELECT + WorkOrder.planstart_time, + WorkOrder.workorder_qty, + deviceinfo.device_code AS device_code2, + deviceinfo.device_name AS device_name2, + WorkOrder.device_id, + ext.old_mark + 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 + ) WorkOrder2 + group by WorkOrder2.planstart_time,WorkOrder2.device_id,WorkOrder2.old_mark ENDSELECT ENDPAGEQUERY ENDIF @@ -269,14 +278,23 @@ IF 输入.flag = "7" PAGEQUERY - SELECT - deviceinfo.device_code, - deviceinfo.device_name, - WorkOrder.device_id, + SELECT + WorkOrder2.material_code, + WorkOrder2.device_id, COUNT(*) AS product_num, - sum(WorkOrder.workorder_qty) AS sum_qty, + sum( WorkOrder2.workorder_qty ) AS sum_qty, + MIN(WorkOrder2.device_code2)AS device_code, + MIN(WorkOrder2.device_name2) AS device_name, + MIN(WorkOrder2.planstart_time) AS workorder_date + FROM + ( + SELECT + deviceinfo.device_code AS device_code2, + deviceinfo.device_name AS device_name2, + WorkOrder.device_id, + WorkOrder.workorder_qty, materialbase.material_code, - MIN(WorkOrder.planstart_time) AS workorder_date + WorkOrder.planstart_time FROM PDM_BI_WorkOrder WorkOrder LEFT JOIN md_me_materialbase materialbase ON WorkOrder.material_id = materialbase.material_id @@ -292,7 +310,8 @@ OPTION 输入.material_code <> "" (materialbase.material_code like 输入.material_code or materialbase.material_name like 输入.material_code) ENDOPTION - group by WorkOrder.device_id,materialbase.material_code + ) WorkOrder2 + group by WorkOrder2.device_id,WorkOrder2.material_code ENDSELECT ENDPAGEQUERY ENDIF diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/rest/DevicerepairmstController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/rest/DevicerepairmstController.java index 14e8b3e5..bb846d16 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/rest/DevicerepairmstController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/rest/DevicerepairmstController.java @@ -74,6 +74,14 @@ public class DevicerepairmstController { return new ResponseEntity<>(devicerepairmstService.queryBom(whereJson, page), HttpStatus.OK); } + @GetMapping("/findByCode") + @Log("查询备件bom") + @ApiOperation("查询") + public ResponseEntity findByCode(@RequestParam Map whereJson) { + String code = (String) whereJson.get("id"); + return new ResponseEntity<>(devicerepairmstService.findByCode(code), HttpStatus.OK); + } + @PostMapping @Log("新增维修单维护") @ApiOperation("新增维修单维护") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairmstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairmstServiceImpl.java index 58199a40..2cfc0a60 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairmstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/repair/service/impl/DevicerepairmstServiceImpl.java @@ -149,7 +149,7 @@ public class DevicerepairmstServiceImpl implements DevicerepairmstService { @Override public DevicerepairmstDto findByCode(String code) { WQLObject wo = WQLObject.getWQLObject("em_bi_devicerepairmst"); - JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); + JSONObject json = wo.query("repair_code ='" + code + "'").uniqueResult(0); if (ObjectUtil.isNotEmpty(json)) { return json.toJavaObject(DevicerepairmstDto.class); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/rest/DevicemaintenancemstController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/rest/DevicemaintenancemstController.java index 1d86afee..78f276d2 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/rest/DevicemaintenancemstController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/rest/DevicemaintenancemstController.java @@ -68,6 +68,14 @@ public class DevicemaintenancemstController { return new ResponseEntity<>(HttpStatus.CREATED); } + @GetMapping("/findByCode") + @Log("查询备件bom") + @ApiOperation("查询") + public ResponseEntity findByCode(@RequestParam Map whereJson) { + String code = (String) whereJson.get("id"); + return new ResponseEntity<>(devicemaintenancemstService.findByCode(code), HttpStatus.OK); + } + @PutMapping @Log("修改设备保养单") @ApiOperation("修改设备保养单") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenancemstServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenancemstServiceImpl.java index b7e5ce43..729058b8 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenancemstServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/sb/upkeep/service/impl/DevicemaintenancemstServiceImpl.java @@ -141,7 +141,7 @@ public class DevicemaintenancemstServiceImpl implements DevicemaintenancemstServ @Override public DevicemaintenancemstDto findByCode(String code) { WQLObject wo = WQLObject.getWQLObject("em_bi_devicemaintenancemst"); - JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0); + JSONObject json = wo.query("maint_code ='" + code + "'").uniqueResult(0); if (ObjectUtil.isNotEmpty(json)) { return json.toJavaObject(DevicemaintenancemstDto.class); } diff --git a/mes/qd/src/api/wms/sb/devicemaintenancemst.js b/mes/qd/src/api/wms/sb/devicemaintenancemst.js index df1bd9aa..ca2e96e9 100644 --- a/mes/qd/src/api/wms/sb/devicemaintenancemst.js +++ b/mes/qd/src/api/wms/sb/devicemaintenancemst.js @@ -16,6 +16,14 @@ export function del(ids) { }) } +export function findByCode(params) { + return request({ + url: 'api/devicemaintenancemst/findByCode', + method: 'get', + params + }) +} + export function edit(data) { return request({ url: 'api/devicemaintenancemst', @@ -80,4 +88,4 @@ export function auditMaintain(data) { }) } -export default { add, edit, del, getDtl, putIn, startMaintain, endMaintain, submitMain, confirmMaintain, auditMaintain } +export default { findByCode, add, edit, del, getDtl, putIn, startMaintain, endMaintain, submitMain, confirmMaintain, auditMaintain } diff --git a/mes/qd/src/api/wms/sb/devicerepairmst.js b/mes/qd/src/api/wms/sb/devicerepairmst.js index b7050f2f..bc610c35 100644 --- a/mes/qd/src/api/wms/sb/devicerepairmst.js +++ b/mes/qd/src/api/wms/sb/devicerepairmst.js @@ -32,6 +32,14 @@ export function getDtl(data) { }) } +export function findByCode(params) { + return request({ + url: 'api/devicerepairmst/findByCode', + method: 'get', + params + }) +} + export function submit(data) { return request({ url: 'api/devicerepairmst/submit', @@ -136,4 +144,4 @@ export function submitReceive(data) { }) } -export default { add, edit, del, getDtl, submit, startRepair, endRepair, submitRepair, confirmRepair, submitResuft, getResult, outRepair, checkRepair, uditRepair, getNormBom, getFileBom, submitReceive } +export default { findByCode, add, edit, del, getDtl, submit, startRepair, endRepair, submitRepair, confirmRepair, submitResuft, getResult, outRepair, checkRepair, uditRepair, getNormBom, getFileBom, submitReceive } diff --git a/mes/qd/src/views/wms/basedata/em/equipmentfile/ChangeDialog.vue b/mes/qd/src/views/wms/basedata/em/equipmentfile/ChangeDialog.vue index ff8dce3d..5c80166d 100644 --- a/mes/qd/src/views/wms/basedata/em/equipmentfile/ChangeDialog.vue +++ b/mes/qd/src/views/wms/basedata/em/equipmentfile/ChangeDialog.vue @@ -92,7 +92,11 @@ - + + + @@ -128,6 +132,8 @@ 上传到服务器 + + @@ -136,13 +142,17 @@ import crudWorkProcedure from '@/api/wms/basedata/pdm/workProcedure' import localStorage from '@/api/tools/localStorage' import equipmentfile from '@/api/wms/basedata/em/equipmentfile' +import ViewDialog1 from '@/views/wms/basedata/em/equipmentfile/ViewDialog1' +import ViewDialog2 from '@/views/wms/basedata/em/equipmentfile/ViewDialog2' import { getToken } from '@/utils/auth' import { mapGetters } from 'vuex' import CRUD, { crud } from '@crud/crud' +import crudDevicerepairmst from '@/api/wms/sb/devicerepairmst' +import crudDevicemaintenancemst from '@/api/wms/sb/devicemaintenancemst' export default { name: 'ChangeDialog', - components: { }, + components: { ViewDialog1, ViewDialog2 }, mixins: [crud()], props: { dialogShow: { @@ -163,6 +173,9 @@ export default { tableDtl: [], tableDtl2: [], tableDtl3: [], + mstrow: {}, + viewShow1: false, + viewShow2: false, form: {} } }, @@ -222,7 +235,6 @@ export default { }) }, submitUpload() { - debugger const flag = this.$refs.upload.submit() }, beforeUpload(file) { @@ -245,6 +257,29 @@ export default { submitUpload2() { this.dialogVisible2 = true }, + toView(row) { + debugger + if (row.invcode.includes('WXD')) { + const data = { + 'id': row.invcode + } + crudDevicerepairmst.findByCode(data).then(res => { + this.mstrow = res + this.mstrow.device_code = this.form.device_code + this.viewShow1 = true + }) + }else{ + const data = { + 'id': row.invcode + } + crudDevicemaintenancemst.findByCode(data).then(res => { + this.mstrow = res + this.mstrow.device_code = this.form.device_code + this.viewShow2 = true + }) + } + + }, deleteRow(index, row) { localStorage.del([row.storage_id]) equipmentfile.queryivt3(this.form).then(res => { diff --git a/mes/qd/src/views/wms/basedata/em/equipmentfile/ViewDialog1.vue b/mes/qd/src/views/wms/basedata/em/equipmentfile/ViewDialog1.vue new file mode 100644 index 00000000..097a347e --- /dev/null +++ b/mes/qd/src/views/wms/basedata/em/equipmentfile/ViewDialog1.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/mes/qd/src/views/wms/basedata/em/equipmentfile/ViewDialog2.vue b/mes/qd/src/views/wms/basedata/em/equipmentfile/ViewDialog2.vue new file mode 100644 index 00000000..43421bfc --- /dev/null +++ b/mes/qd/src/views/wms/basedata/em/equipmentfile/ViewDialog2.vue @@ -0,0 +1,173 @@ + + + + + diff --git a/mes/qd/src/views/wms/statistics/productmouth/index.vue b/mes/qd/src/views/wms/statistics/productmouth/index.vue index 298e23aa..9cee663e 100644 --- a/mes/qd/src/views/wms/statistics/productmouth/index.vue +++ b/mes/qd/src/views/wms/statistics/productmouth/index.vue @@ -48,9 +48,9 @@ - - - + + + diff --git a/mes/qd/src/views/wms/statistics/producttask/index.vue b/mes/qd/src/views/wms/statistics/producttask/index.vue index a10ae71d..754cdab8 100644 --- a/mes/qd/src/views/wms/statistics/producttask/index.vue +++ b/mes/qd/src/views/wms/statistics/producttask/index.vue @@ -133,8 +133,8 @@ - +