From 0ff15043b928c41f39dc73f8dd2fb7e11e4c859b Mon Sep 17 00:00:00 2001 From: zhouz <> Date: Wed, 4 Feb 2026 09:55:30 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E5=90=88=E5=B9=B6=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=90=8E=E9=83=A8=E5=88=86SQL=E4=B8=8D=E5=85=BC?= =?UTF-8?q?=E5=AE=B9shardingsphereSQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/b_lms/sch/tasks/TwoOutTask.java | 43 +++++++-------- .../dao/mapper/StIvtIostorinvdisMapper.xml | 18 +++---- .../impl/StIvtIostorinvOutServiceImpl.java | 3 +- .../java/org/nl/common/utils/CodeUtil.java | 2 +- .../wms/basedata/st/wql/QST_STRUCTIVT001.wql | 5 ++ .../dao/mapper/StIvtControlmstMapper.xml | 46 +++++++++------- .../mps/service/impl/BakingServiceImpl.java | 12 ++--- .../service/impl/HandleBakingServiceImpl.java | 2 +- .../main/java/org/nl/wms/sch/AcsTaskDto.java | 2 + .../wms/sch/manage/AutoSaveIvtExcelTwo.java | 22 ++++++-- .../service/impl/CheckOutBillServiceImpl.java | 5 +- .../st/outbill/wql/QST_IVT_CHECKOUTBILL.wql | 52 +++++++++++++++++++ .../views/wms/control/ivtcontrol/index.vue | 44 +++++++++++++++- .../src/views/wms/sch/task/index.vue | 43 +++++++++------ .../src/views/wms/st/inbill/index.vue | 2 +- 15 files changed, 219 insertions(+), 82 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutTask.java index 9ab232f3a..a4015c5a1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutTask.java @@ -74,7 +74,7 @@ public class TwoOutTask extends AbstractAcsTask { // 用于判断下发几个任务组 // 判断当前正在执行或者下发的任务有几种规格:根据任务组进行判断,同一任务组代表同一木箱规格 - List likeAllArr = WQLObject.getWQLObject("SCH_BASE_Task").query("handle_class = '" + THIS_CLASS + "' and task_status IN ('05','06') and is_delete = '0' " ) + List likeAllArr = WQLObject.getWQLObject("SCH_BASE_Task").query("handle_class = '" + THIS_CLASS + "' and task_status IN ('05','06') and is_delete = '0' ") .getResultJSONArray(0).toJavaList(JSONObject.class); Map> likeArr = likeAllArr.stream() @@ -93,7 +93,7 @@ public class TwoOutTask extends AbstractAcsTask { } // 组织需要下发的任务 - for(String task_group_id : groupMap.keySet()) { + for (String task_group_id : groupMap.keySet()) { taskArr.addAll(groupMap.get(task_group_id)); flag -= 1; @@ -119,6 +119,7 @@ public class TwoOutTask extends AbstractAcsTask { .vehicle_code(json.getString("vehicle_code2")) .vehicle_code2(json.getString("vehicle_code")) .interaction_json(json.getJSONObject("request_param")) + .storage_task_type(StrUtil.isNotEmpty(json.getJSONObject("request_param").getString("storage_task_type")) ? json.getJSONObject("request_param").getString("storage_task_type") : null) .route_plan_code(getRoutePlanCode(json.getString("point_code1"))) .priority(json.getString("zdepth")) .class_type(json.getString("task_type")) @@ -138,7 +139,7 @@ public class TwoOutTask extends AbstractAcsTask { .filter(row -> row.getString("zdepth").equals(IOSEnum.ZDEPTH_STRUCT.code("深"))) .collect(Collectors.toList()); - if (ObjectUtil.isEmpty(collect)){ + if (ObjectUtil.isEmpty(collect)) { return taskArr; } @@ -156,20 +157,20 @@ public class TwoOutTask extends AbstractAcsTask { if (ObjectUtil.isNotEmpty(jsonObject)) { result.add(jsonObject); } else { - if (strJson.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("出库锁"))){ + if (strJson.getString("lock_type").equals(IOSEnum.LOCK_TYPE.code("出库锁"))) { JSONObject update_jo = new JSONObject(); - update_jo.put("remark","下发深货位任务时,浅货位存在出库锁却不存在任务,暂时不下发!"); - WQLObject.getWQLObject("SCH_BASE_Task").update(update_jo,"task_id = '" + json.getString("task_id") + "'"); + update_jo.put("remark", "下发深货位任务时,浅货位存在出库锁却不存在任务,暂时不下发!"); + WQLObject.getWQLObject("SCH_BASE_Task").update(update_jo, "task_id = '" + json.getString("task_id") + "'"); continue; } - json.put("zdepth",IOSEnum.IS_NOTANDYES.code("是")); + json.put("zdepth", IOSEnum.IS_NOTANDYES.code("是")); } } json.remove("flag"); result.add(json); } - result = result.stream() + result = result.stream() .distinct() .collect(Collectors.toList()); return result; @@ -183,7 +184,7 @@ public class TwoOutTask extends AbstractAcsTask { WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr"); // 仓位表 String task_id = taskObj.getString("task_id"); JSONObject jsonTask = taskTab.query("task_id = '" + task_id + "' and task_status < '07'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonTask)){ + if (ObjectUtil.isEmpty(jsonTask)) { return; } if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) { @@ -209,35 +210,35 @@ public class TwoOutTask extends AbstractAcsTask { StIvtIostorinvOutServiceImpl bean = SpringContextHolder.getBean(StIvtIostorinvOutServiceImpl.class); bean.finishTask(jsonTask); // 判断是否有异常货位的需要更新 - JSONObject jsonExt = attrTab.query("inv_code = '" + jsonTask.getString("vehicle_code") + "' AND lock_type = '"+IOSEnum.LOCK_TYPE.code("出库异常锁")+"'").uniqueResult(0); + JSONObject jsonExt = attrTab.query("inv_code = '" + jsonTask.getString("vehicle_code") + "' AND lock_type = '" + IOSEnum.LOCK_TYPE.code("出库异常锁") + "'").uniqueResult(0); if (ObjectUtil.isNotEmpty(jsonExt)) { jsonExt.put("lock_type", IOSEnum.LOCK_TYPE.code("未锁定")); jsonExt.put("inv_code", ""); attrTab.update(jsonExt); } - if (!jsonTask.getString("point_code2").equals("RK1003")){ + if (!jsonTask.getString("point_code2").equals("RK1003")) { JSONObject jsonParam = new JSONObject(); - jsonParam.put("device_code",jsonTask.getString("point_code2")); - jsonParam.put("vehicle_code",jsonTask.getString("vehicle_code")); - jsonParam.put("task_group_id",jsonTask.getString("task_group_id")); - jsonParam.put("vehicle_type",jsonTask.getJSONObject("request_param").getString("containerType")); + jsonParam.put("device_code", jsonTask.getString("point_code2")); + jsonParam.put("vehicle_code", jsonTask.getString("vehicle_code")); + jsonParam.put("task_group_id", jsonTask.getString("task_group_id")); + jsonParam.put("vehicle_type", jsonTask.getJSONObject("request_param").getString("containerType")); LashManageServiceImpl bean1 = SpringContextHolder.getBean(LashManageServiceImpl.class); bean1.createHeapTask(jsonParam); } // 判断此任务组是否全部完成 - JSONArray resultJSONArray = taskTab.query("task_group_id = '" + jsonTask.getString("task_group_id") + "' and task_status <> '" + TaskStatusEnum.FINISHED.getCode() + "' and handle_class = '"+THIS_CLASS+"'") + JSONArray resultJSONArray = taskTab.query("task_group_id = '" + jsonTask.getString("task_group_id") + "' and task_status <> '" + TaskStatusEnum.FINISHED.getCode() + "' and handle_class = '" + THIS_CLASS + "'") .getResultJSONArray(0); if (ObjectUtil.isEmpty(resultJSONArray)) { try { this.immediateNotifyAcs(null); - }catch (Exception ex){ - log.warn("载具出库批量下发异常",ex.getMessage()); - if (!ex.getMessage().equals("存在相同的任务号")){ + } catch (Exception ex) { + log.warn("载具出库批量下发异常", ex.getMessage()); + if (!ex.getMessage().equals("存在相同的任务号")) { throw new BadRequestException(ex.getMessage()); } } } - }, "cratergv", 30,35, this); + }, "cratergv", 30, 35, this); } } @@ -303,7 +304,7 @@ public class TwoOutTask extends AbstractAcsTask { HashMap intMap = new HashMap<>(); for (String key : map.keySet()) { - intMap.put(key,map.get(key).size()); + intMap.put(key, map.get(key).size()); } LinkedHashMap collect = intMap.entrySet() diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvdisMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvdisMapper.xml index 7e730c414..d43edbbb2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvdisMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/dao/mapper/StIvtIostorinvdisMapper.xml @@ -129,16 +129,16 @@ SELECT - mst.*, - attr.stor_code, - attr.stor_name + mst.control_id, + mst.control_code, + mst.biz_date, + mst.stor_id, + mst.total_qty, + mst.detail_count, + mst.bill_type, + mst.remark, + mst.input_optid, + mst.input_optname, + mst.input_time, + attr.stor_code, + attr.stor_name FROM - st_ivt_controlmst mst - INNER JOIN ( + st_ivt_controlmst mst + INNER JOIN ( - SELECT - control_id - FROM - st_ivt_controldtl dtl - WHERE - 1 = 1 - - and box_no = #{query.box_no} - + SELECT + control_id + FROM + st_ivt_controldtl dtl + WHERE + 1 = 1 + + and box_no = #{query.box_no} + - - and pcsn = #{query.pcsn} - + + and pcsn = #{query.pcsn} + - GROUP BY control_id + GROUP BY control_id ) dtl ON dtl.control_id = mst.control_id LEFT JOIN st_ivt_bsrealstorattr attr ON attr.stor_id = mst.stor_id diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java index 384e3761a..5326535ee 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/BakingServiceImpl.java @@ -218,7 +218,7 @@ public class BakingServiceImpl implements BakingService { param.put("product_area", jsonPointZc.getString("product_area")); param.put("request_param", NumberUtil.mul(Double.parseDouble(hours), 60)); - InHotTask inHotTask = new InHotTask(); + InHotTask inHotTask = SpringContextHolder.getBean(InHotTask.class); String task_id = inHotTask.createTask(param); // 3.插入主表 @@ -343,14 +343,14 @@ public class BakingServiceImpl implements BakingService { param.put("request_param", NumberUtil.mul(Double.parseDouble(hours), 60)); // 创建冷却区 --> 暂存位的任务 - InHotTask inHotTask = new InHotTask(); + InHotTask inHotTask = SpringContextHolder.getBean(InHotTask.class); String task_id = inHotTask.createTask(param); // 4.插入烘箱区出入主表 JSONObject jsonRaw = rawTab.query("container_name = '" + container_name + "' and is_delete = '0'").uniqueResult(0); JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0); if (ObjectUtil.isEmpty(jsonMater)) { - throw new BadRequestException("物料基础信息中无此物料!"); + throw new BadRequestException("物料基础信息中无此物料,联系海亮信息部人员补充【"+jsonRaw.getString("product_name")+"】物料信息"); } JSONObject hotParam = new JSONObject(); @@ -430,7 +430,7 @@ public class BakingServiceImpl implements BakingService { } JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0); if (ObjectUtil.isEmpty(jsonMater)) { - throw new BadRequestException("物料基础信息中无此物料!"); + throw new BadRequestException("物料基础信息中无此物料,联系海亮信息部人员补充【"+jsonRaw.getString("product_name")+"】物料信息!"); } //查询当前点位为空且没有任务的桁架内缓存点 @@ -562,7 +562,7 @@ public class BakingServiceImpl implements BakingService { } JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0); if (ObjectUtil.isEmpty(jsonMater)) { - throw new BadRequestException("物料基础信息中无此物料!"); + throw new BadRequestException("物料基础信息中无此物料,联系海亮信息部人员补充【"+jsonRaw.getString("product_name")+"】物料信息!"); } //查询该母卷对应最近的一条入烘箱记录 @@ -739,7 +739,7 @@ public class BakingServiceImpl implements BakingService { JSONObject jsonRaw = rawTab.query("container_name = '" + container_name + "' and is_delete = '0'").uniqueResult(0); JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0); if (ObjectUtil.isEmpty(jsonMater)) { - throw new BadRequestException("物料基础信息中无此物料!"); + throw new BadRequestException("物料基础信息中无此物料,联系海亮信息部人员补充【"+jsonRaw.getString("product_name")+"】物料信息!"); } JSONObject jsonCool = new JSONObject(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/HandleBakingServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/HandleBakingServiceImpl.java index d5c299326..d79701b26 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/HandleBakingServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/HandleBakingServiceImpl.java @@ -64,7 +64,7 @@ public class HandleBakingServiceImpl implements HandleBakingService { JSONObject jsonRaw = pdmBiRawfoilworkorderService.query("container_name = '" + container_name + "' and is_delete = '0'").uniqueResult(0); JSONObject jsonMater = materTab.query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0); if (ObjectUtil.isEmpty(jsonMater)) { - throw new BadRequestException("物料基础信息中无此物料"); + throw new BadRequestException("物料基础信息中无此物料,联系海亮信息部人员补充【"+jsonRaw.getString("product_name")+"】物料信息"); } if (StrUtil.equals(option, "1")) { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsTaskDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsTaskDto.java index 2a5e57a87..ac6d21960 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsTaskDto.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/AcsTaskDto.java @@ -145,4 +145,6 @@ public class AcsTaskDto { private String barcode; private String car_no; + private String storage_task_type; + } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSaveIvtExcelTwo.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSaveIvtExcelTwo.java index f4ef18752..1d9bc5ae4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSaveIvtExcelTwo.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSaveIvtExcelTwo.java @@ -2,6 +2,7 @@ package org.nl.wms.sch.manage; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; @@ -14,7 +15,10 @@ import org.nl.modules.common.config.FileProperties; import org.nl.modules.common.utils.FileUtil; +import org.nl.modules.common.utils.StringUtils; import org.nl.modules.wql.WQL; +import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.system.service.param.impl.SysParamServiceImpl; import org.nl.system.service.tools.IToolLocalStorageService; import org.nl.system.service.tools.dao.ToolLocalStorage; import org.redisson.api.RLock; @@ -68,15 +72,20 @@ public class AutoSaveIvtExcelTwo { row.createCell(15).setCellValue("管件类型"); row.createCell(16).setCellValue("管件描述"); + String limitDate = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("limit_date").getValue(); + //查询库存明细 JSONObject map = new JSONObject(); map.put("flag", "22"); map.put("ivt_status", "canuse_qty"); + if (StrUtil.isNotEmpty(limitDate)) { + map.put("limit_date", limitDate); + } JSONArray resultJSONArray = WQL.getWO("QST_STRUCTIVT001").addParamMap(map).process().getResultJSONArray(0); for (int i = 0; i < resultJSONArray.size(); i++) { - HSSFRow row_dtl = sheet.createRow(i+1); + HSSFRow row_dtl = sheet.createRow(i + 1); JSONObject dtl = resultJSONArray.getJSONObject(i); row_dtl.createCell(0).setCellValue(dtl.getString("stor_name")); row_dtl.createCell(1).setCellValue(dtl.getString("sect_name")); @@ -99,9 +108,16 @@ public class AutoSaveIvtExcelTwo { String type = FileUtil.getFileType("xls"); - Date date = new Date(); + String nowStr = ""; SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); - String nowStr = format.format(date) + "-"; + if (StrUtil.isNotEmpty(limitDate)){ + SimpleDateFormat originalFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date date = originalFormat.parse(limitDate); + nowStr = format.format(date) + "-"; + }else { + Date date = new Date(); + nowStr = format.format(date) + "-"; + } String path = properties.getPath().getPath() + type + File.separator + nowStr + "8库存报表.xls"; FileOutputStream fileOut = new FileOutputStream(path); ToolLocalStorage localStorage = new ToolLocalStorage( diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java index 7da50c08c..82a76c2e3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java @@ -4849,8 +4849,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { map.put("remark", "%" + map.get("remark") + "%"); } JSONArray jo = WQL.getWO("QST_IVT_CHECKOUTBILL") - .addParam("flag", "3") - .addParam("material_id", map.get("material_id")) + .addParam("flag", "33") .addParam("pcsn", map.get("pcsn")) .addParam("sap_pcsn", map.get("sap_pcsn")) .addParam("iostorinv_id", map.get("iostorinv_id")) @@ -4926,7 +4925,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { for (String box_no : boxSet) { JSONArray boxIvtArr = WQL.getWO("QST_IVT_CHECKOUTBILL") - .addParam("flag", "3") + .addParam("flag", "33") .addParam("box_no", box_no) .process() .getResultJSONArray(0); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/QST_IVT_CHECKOUTBILL.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/QST_IVT_CHECKOUTBILL.wql index 11004b117..6ef79f766 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/QST_IVT_CHECKOUTBILL.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/wql/QST_IVT_CHECKOUTBILL.wql @@ -603,6 +603,58 @@ ENDQUERY ENDIF + IF 输入.flag = "33" + QUERY + SELECT + ivt2.*, + '0' AS plan_qty, + mb.material_code, + mb.material_name, + struct.sect_id, + struct.sect_name, + struct.sect_code, + struct.storagevehicle_id, + struct.storagevehicle_code, + point.point_id, + sub.sap_pcsn, + CASE + WHEN SUBSTRING(sub.container_name,1,1) = 'B' AND DATEDIFF( NOW(), sub.date_of_production ) > '180' + THEN '1' + WHEN SUBSTRING(sub.container_name,1,1) != 'B' AND DATEDIFF( NOW(), sub.date_of_production ) > '90' + THEN '1' + ELSE '0' + END AS is_overdue + FROM + ST_IVT_StructIvt ivt2 + LEFT JOIN st_ivt_structattr struct ON struct.struct_id = ivt2.struct_id + LEFT JOIN md_me_materialbase mb ON mb.material_id = ivt2.material_id + LEFT JOIN SCH_BASE_Point point ON struct.struct_id = point.source_id + LEFT JOIN pdm_bi_subpackagerelation sub ON struct.storagevehicle_code = sub.package_box_sn and ivt2.pcsn = sub.container_name + WHERE + struct.lock_type='1' + OPTION 输入.sale_order_name <> "" + sub.sale_order_name = 输入.sale_order_name + ENDOPTION + OPTION 输入.pcsn <> "" + ivt2.pcsn = 输入.pcsn + ENDOPTION + OPTION 输入.sect_id <> "" + struct.sect_id = 输入.sect_id + ENDOPTION + OPTION 输入.stor_id <> "" + struct.stor_id = 输入.stor_id + ENDOPTION + OPTION 输入.box_no <> "" + sub.package_box_sn = 输入.box_no + ENDOPTION + OPTION 输入.sap_pcsn <> "" + sub.sap_pcsn = 输入.sap_pcsn + ENDOPTION + order by ivt2.canuse_qty,ivt2.pcsn desc + ENDSELECT + ENDQUERY + ENDIF + IF 输入.flag = "4" QUERY SELECT diff --git a/lms/nladmin-ui/src/views/wms/control/ivtcontrol/index.vue b/lms/nladmin-ui/src/views/wms/control/ivtcontrol/index.vue index baa544e97..e9fcd0350 100644 --- a/lms/nladmin-ui/src/views/wms/control/ivtcontrol/index.vue +++ b/lms/nladmin-ui/src/views/wms/control/ivtcontrol/index.vue @@ -46,7 +46,7 @@ start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" - @change="crud.toQuery" + @change="mytoQuery" /> @@ -192,6 +192,7 @@ export default { del: ['admin', 'inbill:del'] }, storlist: [], + query_flag: true, tableDataDtl: [], open_type: null, lock_type: null, @@ -214,6 +215,38 @@ export default { this.initQuery() }, methods: { + [CRUD.HOOK.beforeRefresh]() { + debugger + if (this.query_flag) { + const end = new Date() + const start = new Date() + const endYear = end.getFullYear() + var endMonth = end.getMonth() + 1 + if (end.getMonth() + 1 < 10) { + endMonth = '0' + endMonth.toString() + } + var endDay = end.getDate() + if (end.getDate() < 10) { + endDay = '0' + endDay.toString() + } + const endDate = endYear + '-' + endMonth + '-' + endDay + ' 23:59:59' + start.setTime(start.getTime() - 3600 * 1000 * 24 * 7) + const startYear = start.getFullYear() + var startMonth = start.getMonth() + 1 + if (start.getMonth() + 1 < 10) { + startMonth = '0' + startMonth.toString() + } + var startDay = start.getDate() + if (start.getDate() < 10) { + startDay = '0' + startDay.toString() + } + const startDate = startYear + '-' + startMonth + '-' + startDay + ' 00:00:00' + this.crud.query.createTime = [startDate, endDate] + this.crud.query.begin_time = startDate + this.crud.query.end_time = endDate + this.query_flag = false + } + }, /* 搜索框创建时间默认最近一周*/ initQuery() { const end = new Date() @@ -240,6 +273,15 @@ export default { } const startDate = startYear + '-' + startMonth + '-' + startDay + ' 00:00:00' this.$set(this.query, 'createTime', [startDate, endDate]) + }, + mytoQuery(array1) { + if (array1 === null) { + this.crud.query.begin_time = '' + this.crud.query.end_time = '' + } else { + this.crud.query.begin_time = array1[0] + this.crud.query.end_time = array1[1] + } this.crud.toQuery() }, addDialog(type) { diff --git a/lms/nladmin-ui/src/views/wms/sch/task/index.vue b/lms/nladmin-ui/src/views/wms/sch/task/index.vue index 623261018..b7442766f 100644 --- a/lms/nladmin-ui/src/views/wms/sch/task/index.vue +++ b/lms/nladmin-ui/src/views/wms/sch/task/index.vue @@ -273,32 +273,41 @@ export default { const today = new Date() const threeDaysAgo = new Date(today) threeDaysAgo.setDate(today.getDate() - 3) - const year = today.getFullYear() - const month = String(today.getMonth() + 1).padStart(2, '0') - const beforeDay = String(threeDaysAgo.getDate()).padStart(2, '0') - const day = String(today.getDate()).padStart(2, '0') + // 从 threeDaysAgo 提取完整日期信息 + const beforeYear = threeDaysAgo.getFullYear(); + const beforeMonth = String(threeDaysAgo.getMonth() + 1).padStart(2, '0'); + const beforeDay = String(threeDaysAgo.getDate()).padStart(2, '0'); - // 2. 构造固定时分秒的时间字符串(符合datetime-local格式) - const startTime = `${year}-${month}-${beforeDay} 00:00:00` - const endTime = `${year}-${month}-${day} 23:59:59` +// 从 today 提取完整日期信息 + const currentYear = today.getFullYear(); + const currentMonth = String(today.getMonth() + 1).padStart(2, '0'); + const currentDay = String(today.getDate()).padStart(2, '0'); + +// 构造正确的时间范围 + const startTime = `${beforeYear}-${beforeMonth}-${beforeDay} 00:00:00`; + const endTime = `${currentYear}-${currentMonth}-${currentDay} 23:59:59`; this.crud.query.createTime = [startTime, endTime] }, methods: { // 钩子:在获取表格数据之前执行,false 则代表不获取数据 [CRUD.HOOK.beforeRefresh]() { - debugger if (this.query_flag) { const today = new Date() - const threeDaysAgo = new Date(today) // 复制今天日期,避免修改原对象 - threeDaysAgo.setDate(today.getDate() - 3) // 正确减去3天 - const year = today.getFullYear() - const month = String(today.getMonth() + 1).padStart(2, '0') - const day = String(today.getDate()).padStart(2, '0') - const beforeDay = String(threeDaysAgo.getDate()).padStart(2, '0') + const threeDaysAgo = new Date(today) + threeDaysAgo.setDate(today.getDate() - 3) + // 从 threeDaysAgo 提取完整日期信息 + const beforeYear = threeDaysAgo.getFullYear(); + const beforeMonth = String(threeDaysAgo.getMonth() + 1).padStart(2, '0'); + const beforeDay = String(threeDaysAgo.getDate()).padStart(2, '0'); - // 2. 构造固定时分秒的时间字符串(符合datetime-local格式) - const startTime = `${year}-${month}-${beforeDay} 00:00:00` - const endTime = `${year}-${month}-${day} 23:59:59` +// 从 today 提取完整日期信息 + const currentYear = today.getFullYear(); + const currentMonth = String(today.getMonth() + 1).padStart(2, '0'); + const currentDay = String(today.getDate()).padStart(2, '0'); + +// 构造正确的时间范围 + const startTime = `${beforeYear}-${beforeMonth}-${beforeDay} 00:00:00`; + const endTime = `${currentYear}-${currentMonth}-${currentDay} 23:59:59`; this.crud.query.createTime = [startTime, endTime] this.crud.query.begin_time = startTime this.crud.query.end_time = endTime diff --git a/lms/nladmin-ui/src/views/wms/st/inbill/index.vue b/lms/nladmin-ui/src/views/wms/st/inbill/index.vue index 2d89f3907..cd3cde8b6 100644 --- a/lms/nladmin-ui/src/views/wms/st/inbill/index.vue +++ b/lms/nladmin-ui/src/views/wms/st/inbill/index.vue @@ -38,7 +38,7 @@ - +