diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/MaterialParametersServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/MaterialParametersServiceImpl.java index e0213911..a24068c4 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/MaterialParametersServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/MaterialParametersServiceImpl.java @@ -198,6 +198,7 @@ public class MaterialParametersServiceImpl implements MaterialParametersService jsonProduc.put("technology_code", map.get("technology_code")); jsonProduc.put("ball_rate", map.get("ball_rate")); jsonProduc.put("liquid_rate", map.get("liquid_rate")); + json.put("standard_mark", map.get("standard_mark")); producTab.insert(jsonProduc); } else { json.put("standard_weight", map.get("standard_weight")); @@ -221,6 +222,7 @@ public class MaterialParametersServiceImpl implements MaterialParametersService json.put("technology_code", map.get("technology_code")); json.put("ball_rate", map.get("ball_rate")); json.put("liquid_rate", map.get("liquid_rate")); + json.put("standard_mark", map.get("standard_mark")); producTab.update(json); } JSONObject jsonMater = materTab.query("material_id = '" + material_id + "' and is_delete = '0'").uniqueResult(0); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMT_MATERIALPARAMETERS_001.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMT_MATERIALPARAMETERS_001.wql index de9cb621..78da4f76 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMT_MATERIALPARAMETERS_001.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/QMT_MATERIALPARAMETERS_001.wql @@ -1,10 +1,10 @@ [交易说明] 交易名: 产品参数分页查询 - 所属模块: - 功能简述: - 版权所有: - 表引用: - 版本经历: + 所属模块: + 功能简述: + 版权所有: + 表引用: + 版本经历: [数据库] --指定数据库,为空采用默认值,默认为db.properties中列出的第一个库 @@ -22,26 +22,26 @@ [临时表] --这边列出来的临时表就会在运行期动态创建 - + [临时变量] --所有中间过程变量均可在此处定义 - + [业务过程] ########################################## # 1、输入输出检查 # ########################################## - + ########################################## # 2、主过程前处理 # ########################################## - - + + ########################################## # 3、业务主过程 # ########################################## - + IF 输入.flag = "1" PAGEQUERY SELECT @@ -58,6 +58,7 @@ s.is_pure, s.is_need_move AS stock_is_need_move, p.old_mark, + p.standard_mark, p.product_mode, p.is_auto_open, p.waste_limit_down, diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/mdme.xls b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/mdme.xls index 96a68ced..838bd298 100644 Binary files a/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/mdme.xls and b/mes/hd/nladmin-system/src/main/java/org/nl/wms/basedata/master/wql/mdme.xls differ 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 1494c4eb..a91bff21 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,7 +73,11 @@ 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); - jo.put("day_num",days); + if(date2.getTime() >= date.getTime()){ + jo.put("day_num",days); + }else{ + jo.put("day_num",-days); + } ja.add(jo); } jret.put("content",ja); @@ -108,7 +112,11 @@ 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); - jo.put("day_num",days); + if(date2.getTime() >= date.getTime()){ + jo.put("day_num",days); + }else{ + jo.put("day_num",-days); + } ja.add(jo); } return ja; @@ -275,6 +283,7 @@ public class DailyplanServiceImpl implements DailyplanService { new_jo.put("planstart_time",jo.getString("planstart_date").substring(0,10)+" 08:00:00"); new_jo.put("planend_time",jo.getString("planend_date").substring(0,10)+" 23:59:59"); new_jo.put("status","10"); + new_jo.put("create_mode","03"); new_jo.put("source_bill_id",jo.getString("dailyplan_id")); new_jo.put("source_bill_type",jo.getString("workorder_type")); new_jo.put("source_bill_code",jo.getString("plan_code")); 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 cb94be7b..ea521e82 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 @@ -107,9 +107,9 @@ public class WorkOrderServiceImpl implements WorkOrdereService { for(int i=0;i'99' and material_id='"+material_id+"' and pcsn='"+pcsn+"'").uniqueResult(0); + JSONObject old = mstTab.query("is_delete='0' and material_id='"+material_id+"' and pcsn='"+pcsn+"'").uniqueResult(0); if(old!=null){ - throw new BadRequestException("已存在相同产品和批次的未完成工令!"); + throw new BadRequestException("已存在相同产品牌号和批次的工令!"); } json.put("pcsn", pcsn); String product_series_id = json.getString("product_series_id"); @@ -146,9 +146,9 @@ public class WorkOrderServiceImpl implements WorkOrdereService { String material_id = whereJson.getString("material_id"); String pcsn = whereJson.getString("pcsn"); String workorder_id = whereJson.getString("workorder_id"); - JSONObject old = mstTab.query("is_delete='0' and status<>'99' and material_id='"+material_id+"' and pcsn='"+pcsn+"' and workorder_id<>'"+workorder_id+"'").uniqueResult(0); + JSONObject old = mstTab.query("is_delete='0' and material_id='"+material_id+"' and pcsn='"+pcsn+"' and workorder_id<>'"+workorder_id+"'").uniqueResult(0); if(old!=null){ - throw new BadRequestException("已存在相同产品和批次的未完成工令!"); + throw new BadRequestException("已存在相同产品牌号和批次的工令!"); } String product_series_id = whereJson.getString("product_series_id"); if (StrUtil.isEmpty(product_series_id)) { @@ -688,9 +688,9 @@ public class WorkOrderServiceImpl implements WorkOrdereService { if (ObjectUtil.isEmpty(mater)) { throw new BadRequestException("成品物料扩展信息查询失败!"); } - String old_mark = mater.getString("old_mark"); - if(StrUtil.isEmpty(old_mark)){ - throw new BadRequestException("成品物料扩展信息表牌号不能为空!"); + String standard_mark = mater.getString("standard_mark"); + if(StrUtil.isEmpty(standard_mark)){ + throw new BadRequestException("成品物料扩展信息表标准牌号不能为空!"); } WQLObject pdm_bi_productdeptpcsn = WQLObject.getWQLObject("pdm_bi_productdeptpcsn"); JSONObject org = pdm_bi_productdeptpcsn.query("org_id='"+org_id+"'").uniqueResult(0); @@ -712,7 +712,7 @@ public class WorkOrderServiceImpl implements WorkOrdereService { WQLObject PDM_BI_BrandMaxPCSN = WQLObject.getWQLObject("PDM_BI_BrandMaxPCSN"); DateTime now = DateTime.now(); String year = now.year()+""; - JSONObject jo_pcsn = PDM_BI_BrandMaxPCSN.query("brand_code='"+old_mark+"' and year='"+year+"' and org_id='"+org_id+"'").uniqueResult(0); + JSONObject jo_pcsn = PDM_BI_BrandMaxPCSN.query("brand_code='"+standard_mark+"' and year='"+year+"' and org_id='"+org_id+"'").uniqueResult(0); JSONObject ret = new JSONObject(); if(jo_pcsn==null){ String value = ""; @@ -775,18 +775,18 @@ public class WorkOrderServiceImpl implements WorkOrdereService { if (ObjectUtil.isEmpty(mater)) { throw new BadRequestException("成品物料扩展信息查询失败!"); } - String old_mark = mater.getString("old_mark"); - if(StrUtil.isEmpty(old_mark)){ - throw new BadRequestException("成品物料扩展信息表牌号不能为空!"); + String standard_mark = mater.getString("standard_mark"); + if(StrUtil.isEmpty(standard_mark)){ + throw new BadRequestException("成品物料扩展信息表标准牌号不能为空!"); } WQLObject PDM_BI_BrandMaxPCSN = WQLObject.getWQLObject("PDM_BI_BrandMaxPCSN"); DateTime now = DateTime.now(); String year = now.year()+""; - JSONObject jo_pcsn = PDM_BI_BrandMaxPCSN.query("brand_code='"+old_mark+"' and year='"+year+"' and org_id='"+org_id+"'").uniqueResult(0); + JSONObject jo_pcsn = PDM_BI_BrandMaxPCSN.query("brand_code='"+standard_mark+"' and year='"+year+"' and org_id='"+org_id+"'").uniqueResult(0); if(jo_pcsn == null){ JSONObject ret = new JSONObject(); ret.put("brandmax_id", IdUtil.getSnowflake(1, 1).nextId()); - ret.put("brand_code",old_mark); + ret.put("brand_code",standard_mark); ret.put("year",year); ret.put("org_id",org_id); int length = param.getInteger("value"); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_WORKORDER01.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_WORKORDER01.wql index 7ff33b4b..86b695d0 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_WORKORDER01.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/QPDM_WORKORDER01.wql @@ -27,7 +27,7 @@ 输入.device_id TYPEAS s_string 输入.pcsn TYPEAS s_string 输入.device_code TYPEAS s_string - + 输入.create_mode TYPEAS s_string [临时表] --这边列出来的临时表就会在运行期动态创建 @@ -83,6 +83,9 @@ OPTION 输入.status <> "" WorkOrder.status = 输入.status ENDOPTION + OPTION 输入.create_mode <> "" + WorkOrder.create_mode = 输入.create_mode + ENDOPTION OPTION 输入.workorder_type <> "" WorkOrder.workorder_type = 输入.workorder_type ENDOPTION @@ -142,6 +145,9 @@ ENDOPTION OPTION 输入.pcsn <> "" WorkOrder.pcsn like 输入.pcsn + ENDOPTION + OPTION 输入.create_mode <> "" + WorkOrder.create_mode = 输入.create_mode ENDOPTION OPTION 输入.workorder_type <> "" WorkOrder.workorder_type = 输入.workorder_type 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 87bbb4c1..b22da91b 100644 Binary files a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls and b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pdm/wql/pdm.xls differ 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 7f50d876..8561e108 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 @@ -80,7 +80,7 @@ public class FormulaServiceImpl implements FormulaService { if (StrUtil.isNotEmpty(material_id)) { map.put("material_id", "%" + material_id + "%"); } - JSONObject json = WQL.getWO("QPF_FORMULA01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "formula_code"); + JSONObject json = WQL.getWO("QPF_FORMULA01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "Formula.create_time desc"); return json; } @Override @@ -714,7 +714,8 @@ public class FormulaServiceImpl implements FormulaService { HashMap oneMap = new HashMap<>(); // 工令相关 - oneMap.put("workorder_code", jsonWork.getString("workorder_code")); + String workorder_code = jsonWork.getString("workorder_code"); + oneMap.put("workorder_code", workorder_code.substring(workorder_code.length() - 9)); oneMap.put("material_code", jsonMater.getString("material_code")); if (ObjectUtil.isNotEmpty(jsonDept)) oneMap.put("dept_name", jsonDept.getString("name")); if (ObjectUtil.isNotEmpty(jsonMaterExt)) oneMap.put("old_mark", jsonMaterExt.getString("old_mark")); 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 341cd566..01d8b271 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 @@ -296,8 +296,9 @@ public class PhysicalMstServiceImpl implements PhysicalMstService { json.put("remark", jsonDtl.getString("remark")); json.put("is_ok", jsonDtl.getString("is_ok")); } else { - String down_limit = json.getString("down_limit"); - if (ObjectUtil.isNotEmpty(down_limit)) json.put("value",down_limit); + // 获取默认检测值 默认为下限检测值 +// String down_limit = json.getString("down_limit"); +// if (ObjectUtil.isNotEmpty(down_limit)) json.put("value",down_limit); } } form.put("tableData", arr); diff --git a/mes/qd/src/views/wms/basedata/master/materialParameters/index.vue b/mes/qd/src/views/wms/basedata/master/materialParameters/index.vue index e6a9df3a..073c28ec 100644 --- a/mes/qd/src/views/wms/basedata/master/materialParameters/index.vue +++ b/mes/qd/src/views/wms/basedata/master/materialParameters/index.vue @@ -74,6 +74,7 @@ + diff --git a/mes/qd/src/views/wms/basedata/master/materialParameters/view/CpDialog.vue b/mes/qd/src/views/wms/basedata/master/materialParameters/view/CpDialog.vue index 1ac01a29..d7c0b53a 100644 --- a/mes/qd/src/views/wms/basedata/master/materialParameters/view/CpDialog.vue +++ b/mes/qd/src/views/wms/basedata/master/materialParameters/view/CpDialog.vue @@ -211,20 +211,25 @@ + + + + + + + - - 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 c6f0a9be..e0f7ae8a 100644 --- a/mes/qd/src/views/wms/pdm/produce/producetask/index.vue +++ b/mes/qd/src/views/wms/pdm/produce/producetask/index.vue @@ -179,7 +179,7 @@ diff --git a/mes/qd/src/views/wms/pdm/produce/workorder/AddDialog.vue b/mes/qd/src/views/wms/pdm/produce/workorder/AddDialog.vue index 5705655f..9a9836f3 100644 --- a/mes/qd/src/views/wms/pdm/produce/workorder/AddDialog.vue +++ b/mes/qd/src/views/wms/pdm/produce/workorder/AddDialog.vue @@ -137,6 +137,7 @@ const defaultForm = { pcsn:'', org_id:'', status: '10', + create_mode: '01', product_series_id:'', workorder_qty: '500', workorder_type: '01', diff --git a/mes/qd/src/views/wms/pdm/produce/workorder/ViewDialog.vue b/mes/qd/src/views/wms/pdm/produce/workorder/ViewDialog.vue index 482fcc84..f6e2c80e 100644 --- a/mes/qd/src/views/wms/pdm/produce/workorder/ViewDialog.vue +++ b/mes/qd/src/views/wms/pdm/produce/workorder/ViewDialog.vue @@ -169,6 +169,22 @@ /> + + + + + @@ -246,7 +262,7 @@ export default { type: Object } }, - dicts: ['workorder_status', 'workorder_type', 'product_series', 'finish_type'], + dicts: ['workorder_status', 'workorder_type', 'product_series', 'finish_type', 'ST_CREATE_MODE'], data() { return { dialogVisible: false, 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 084a4ea3..ca9a0b33 100644 --- a/mes/qd/src/views/wms/pdm/produce/workorder/index.vue +++ b/mes/qd/src/views/wms/pdm/produce/workorder/index.vue @@ -76,7 +76,23 @@ /> - + + + + + + @@ -292,7 +309,7 @@ export default { }, mixins: [presenter(), header(), crud()], // 数据字典 - dicts: ['workorder_status', 'workorder_type', 'product_series', 'workorder_type2'], + dicts: ['workorder_status', 'workorder_type', 'product_series', 'workorder_type2', 'ST_CREATE_MODE'], data() { return { height: document.documentElement.clientHeight - 180 + 'px;', @@ -392,6 +409,9 @@ export default { stateFormat(row) { return this.dict.label.workorder_status[row.status] }, + create_modeFormat(row) { + return this.dict.label.ST_CREATE_MODE[row.create_mode] + }, bill_typeFormat(row) { return this.dict.label.workorder_type[row.workorder_type] }, diff --git a/mes/qd/src/views/wms/pf/initformula/index.vue b/mes/qd/src/views/wms/pf/initformula/index.vue index 01a04e3b..04fa7544 100644 --- a/mes/qd/src/views/wms/pf/initformula/index.vue +++ b/mes/qd/src/views/wms/pf/initformula/index.vue @@ -75,6 +75,23 @@ /> + + + + + + @@ -176,7 +194,7 @@ export default { }, mixins: [presenter(), header(), crud()], // 数据字典 - dicts: ['workorder_status', 'workorder_type', 'product_series'], + dicts: ['workorder_status', 'workorder_type', 'product_series', 'ST_CREATE_MODE'], data() { return { height: document.documentElement.clientHeight - 180 + 'px;', @@ -279,6 +297,9 @@ export default { this.changeShow = true }) }, + create_modeFormat(row) { + return this.dict.label.ST_CREATE_MODE[row.create_mode] + }, autoAll(){ this.checkrows = this.$refs.table.selection autoformula.autoAll({rows:this.checkrows}).then(res => { diff --git a/mes/qd/src/views/wms/ql/physicalMst/Dialog1.vue b/mes/qd/src/views/wms/ql/physicalMst/Dialog1.vue index b97208c3..1dcfcc4f 100644 --- a/mes/qd/src/views/wms/ql/physicalMst/Dialog1.vue +++ b/mes/qd/src/views/wms/ql/physicalMst/Dialog1.vue @@ -470,6 +470,37 @@ export default { }, onSubmit() { + const msg = '是否继续!' + + const data = this.form1.tableData + var flag = 0 + for (var row of data) { + if (!row.value) { + flag = flag + 1 + } + } + // 如果检测值一项都没填则提示是否继续 + if (flag === data.length) { + this.$confirm(msg, '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + crudPhysicalMst.saveResult(this.form1).then(res => { + this.close() + this.crud.toQuery() + this.notify('操作成功', 'success') + }) + }) + } else { + crudPhysicalMst.saveResult(this.form1).then(res => { + this.close() + this.crud.toQuery() + this.notify('操作成功', 'success') + }) + } + }, + onSubmit2() { const data = this.form1.tableData var flag = 0 for (var row of data) { diff --git a/mes/qd/src/views/wms/ql/physicalMstConfirm/Dialog1.vue b/mes/qd/src/views/wms/ql/physicalMstConfirm/Dialog1.vue index 452d69b1..68feb569 100644 --- a/mes/qd/src/views/wms/ql/physicalMstConfirm/Dialog1.vue +++ b/mes/qd/src/views/wms/ql/physicalMstConfirm/Dialog1.vue @@ -475,8 +475,38 @@ export default { format_inspection_item_type(row, column) { return this.dict.label.QL_TEST_POINTTYPE[row.inspection_item_type] }, - onSubmit() { + const msg = '是否继续!' + + const data = this.form1.tableData + var flag = 0 + for (var row of data) { + if (!row.value) { + flag = flag + 1 + } + } + // 如果检测值一项都没填则提示是否继续 + if (flag === data.length) { + this.$confirm(msg, '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + crudPhysicalMst.saveResult(this.form1).then(res => { + this.close() + this.crud.toQuery() + this.notify('操作成功', 'success') + }) + }) + } else { + crudPhysicalMst.saveResult(this.form1).then(res => { + this.close() + this.crud.toQuery() + this.notify('操作成功', 'success') + }) + } + }, + onSubmit2() { const data = this.form1.tableData var flag = 0 for (var row of data) {