From 47edc84ecccc1bc1c8923275116ee3caaf860ae3 Mon Sep 17 00:00:00 2001 From: zhangzq Date: Wed, 15 Jan 2025 22:18:47 +0800 Subject: [PATCH 01/60] fix:tlog --- .../java/org/nl/config/TlogIdGenerator.java | 10 ++++++- .../logging/aspect/WhiteListLogAspect.java | 29 ++++++++++++------- 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/config/TlogIdGenerator.java b/lms/nladmin-system/src/main/java/org/nl/config/TlogIdGenerator.java index 90be04997..557fe91bc 100644 --- a/lms/nladmin-system/src/main/java/org/nl/config/TlogIdGenerator.java +++ b/lms/nladmin-system/src/main/java/org/nl/config/TlogIdGenerator.java @@ -1,11 +1,19 @@ package org.nl.config; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import com.yomahub.tlog.id.TLogIdGenerator; +import java.util.UUID; + public class TlogIdGenerator extends TLogIdGenerator { @Override public String generateTraceId() { - return IdUtil.getSnowflake(1, 1).nextIdStr(); + String idStr = String.valueOf(System.currentTimeMillis()); + try { + idStr = IdUtil.getSnowflake(1, 1).nextIdStr(); + }catch (Exception ex){ + } + return idStr; } } diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/WhiteListLogAspect.java b/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/WhiteListLogAspect.java index f1b75ceee..a067bdb93 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/WhiteListLogAspect.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/WhiteListLogAspect.java @@ -16,6 +16,7 @@ import org.nl.system.service.logging.ISysInterfaceLogService; import org.nl.system.service.logging.dao.SysInterfaceLog; import org.nl.system.service.logging.dao.SysLog; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component; import org.springframework.util.AntPathMatcher; import org.springframework.web.context.request.RequestContextHolder; @@ -37,8 +38,8 @@ import java.util.stream.Collectors; * @Date: 2024/7/25 15:06 */ @Slf4j -//@Aspect -//@Component +@Aspect +@Component public class WhiteListLogAspect { @Autowired @@ -54,13 +55,12 @@ public class WhiteListLogAspect { // 该方法无方法体,主要为了让同类中其他方法使用此切入点 } -// @Around("logPointcut()") + @Around("logPointcut()") public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable { Object[] args = joinPoint.getArgs(); - Object result = null; + long startTime = System.currentTimeMillis(); try { - long startTime = System.currentTimeMillis(); - result = joinPoint.proceed(args); + Object result = joinPoint.proceed(args); long endTime = System.currentTimeMillis(); long time = endTime - startTime; MethodSignature signature = (MethodSignature) joinPoint.getSignature(); @@ -68,10 +68,12 @@ public class WhiteListLogAspect { if (!shouldLog(signature.getName())){ addLog(joinPoint, JSONUtil.toJsonStr(result), time); } + return result; } catch (Exception e) { log.error("doAround日志记录异常,异常信息为:", e); + throw e; } - return result; + } /** @@ -100,10 +102,15 @@ public class WhiteListLogAspect { @AfterThrowing(pointcut = "logPointcut()", throwing = "e") public void logAfterThrowing(JoinPoint joinPoint, Throwable e) { - SysInterfaceLog log = new SysInterfaceLog("ERROR", 0L); - log.setException_detail(ThrowableUtil.getStackTrace(e).getBytes()); - HttpServletRequest request = RequestHolder.getHttpServletRequest(); - interfaceLogService.save(getUsername(), e.toString(), StringUtils.getBrowser(request), StringUtils.getIp(request), (ProceedingJoinPoint) joinPoint, log); + try { + SysInterfaceLog log = new SysInterfaceLog("ERROR", 0L); + log.setException_detail(ThrowableUtil.getStackTrace(e).getBytes()); + HttpServletRequest request = RequestHolder.getHttpServletRequest(); + interfaceLogService.save(getUsername(), e.toString(), StringUtils.getBrowser(request), StringUtils.getIp(request), (ProceedingJoinPoint) joinPoint, log); + }catch (Exception ex){ + log.error("doAround日志记录异常,异常信息为:", ex); + } + } /** From 6fecd54c0eb642f3f88c410aa6a1952f441cd2de Mon Sep 17 00:00:00 2001 From: zhangzq Date: Sat, 18 Jan 2025 17:20:03 +0800 Subject: [PATCH 02/60] =?UTF-8?q?fix:=E5=BA=9F=E7=AE=94=E4=B8=8B=E5=8D=B7?= =?UTF-8?q?=E6=97=B6=E6=B7=BB=E5=8A=A0=E5=88=86=E5=88=87=E6=9C=BA=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E4=BB=BB=E5=8A=A1=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PdmBiSubpackagerelationServiceImpl.java | 22 +++++++++---------- .../pda/mps/service/impl/OutServiceImpl.java | 17 +++++++++++++- 2 files changed, 26 insertions(+), 13 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java index bfeb43f11..7f443bff0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/service/impl/PdmBiSubpackagerelationServiceImpl.java @@ -261,10 +261,18 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl subpackagerelations = this.list(new QueryWrapper().in("workorder_id", workIdList)); if (ObjectUtils.isEmpty(planList)) { throw new BadRequestException("子卷查询不到分切计划,请检查!"); } + Optional any = subpackagerelations.stream() + .filter(sub -> sub.getStatus().equals("0") && StringUtils.isNotEmpty(sub.getPackage_box_sn())) + .findAny(); + if (any.isPresent()){ + PdmBiSubpackagerelation subpackagerelation = any.get(); + throw new BadRequestException(subpackagerelation.getPackage_box_sn()+"包装关系已存在"+subpackagerelation.getPackage_box_sn()+",如重新生成请确认MES跟LMS包装关系已解绑定"); + } + BigDecimal totalWeight; totalWeight = planList.stream() .map(PdmBiSlittingproductionplan::getWeight) @@ -475,17 +483,7 @@ public class PdmBiSubpackagerelationServiceImpl extends ServiceImpl { - try { - log.error("----回传子卷包装关系----"); - String isConnect2 = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("IS_CONNECT_MES2").getValue(); - if ("1".equals(isConnect2)) { - transferBoxPackageToMes(false, whereJson, containerNameList, boxSn, weightTotal); - } - } catch (Exception e) { - log.error("子卷装箱异常,transferBoxPackageToMes给MES传输子卷包装关系异常,木箱号为:" + boxSn + ",异常信息:" + e); - } - }, pool); + transferBoxPackageToMes(false, whereJson, containerNameList, boxSn, weightTotal); } /** diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java index 37ffd68dd..a73922fed 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/mps/service/impl/OutServiceImpl.java @@ -4,8 +4,11 @@ import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.nl.b_lms.sch.task.dao.SchBaseTask; +import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; @@ -14,10 +17,14 @@ import org.nl.wms.pda.mps.service.OutService; import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.sch.tasks.CutConveyorTask; import org.nl.wms.sch.tasks.CutTrussTask; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import java.util.HashMap; +import java.util.List; +import java.util.stream.Collectors; @Service @RequiredArgsConstructor @@ -25,6 +32,8 @@ import java.util.HashMap; public class OutServiceImpl implements OutService { private final CutTrussTask cutTrussTask; + @Autowired + private IschBaseTaskService ischBaseTaskService; @Override public JSONObject queryMaterialInfo(JSONObject whereJson) { @@ -211,7 +220,13 @@ public class OutServiceImpl implements OutService { if (ObjectUtil.isEmpty(cut_ivt)) { throw new BadRequestException("未查询到对应的分切机!"); } - + List list = ischBaseTaskService.list(new QueryWrapper() + .eq("point_code1", point_code) + .lt("task_status", TaskStatusEnum.FINISHED.getCode()) + .eq("is_delete", "0")); + if (!CollectionUtils.isEmpty(list)){ + throw new BadRequestException("当前分切机"+point_code+"存在任务,如需继续下卷请先取消任务"+list.stream().map(SchBaseTask::getTask_code).collect(Collectors.joining(","))); + } //查询该分切机邻近位置的空载具的输送线点位 JSONObject empty_vehicle = WQL.getWO("PDA_02") .addParam("sort_seq", cut_ivt.getString("sort_seq")) From 2b2671f6549f102052ef7bd403b28c3e2c0c6ff1 Mon Sep 17 00:00:00 2001 From: zhangzq Date: Wed, 22 Jan 2025 11:25:37 +0800 Subject: [PATCH 03/60] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=E5=87=BA=E5=85=A5?= =?UTF-8?q?=E7=83=98=E7=AE=B1=E6=97=B6=E9=87=8D=E5=A4=8D=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=EF=BC=88=E6=A0=B9=E6=8D=AEcode=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E5=8F=AF=E8=83=BD=E5=AF=BC=E8=87=B4=E8=A1=A8=E9=94=81?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pdm/ivt/service/impl/HotPointIvtServiceImpl.java | 1 - .../main/java/org/nl/wms/sch/tasks/InHotTask.java | 4 ---- .../main/java/org/nl/wms/sch/tasks/OutHotTask.java | 12 ------------ 3 files changed, 17 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/HotPointIvtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/HotPointIvtServiceImpl.java index e01c47318..61c30b2fe 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/HotPointIvtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/ivt/service/impl/HotPointIvtServiceImpl.java @@ -131,7 +131,6 @@ public class HotPointIvtServiceImpl implements HotPointIvtService { } @Override - @Transactional(rollbackFor = Exception.class) public void update(HotPointIvtDto dto) { HotPointIvtDto entity = this.findById(dto.getIvt_id()); if (entity == null) { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java index 2012a3a19..8779817f3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java @@ -208,10 +208,6 @@ public class InHotTask extends AbstractAcsTask { log.info("入烘箱wql执行update语句!"); hotIvtTab.update(jsonHotIvt); - log.info("入烘箱mybatis执行update语句!"); - HotMapper hotMapper = SpringContextHolder.getBean(HotMapper.class); - hotMapper.updateHotByObject(jsonHotIvt); - hot_point_code = jsonHotIvt.getString("ext_code"); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutHotTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutHotTask.java index 61108220a..ed1256333 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutHotTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutHotTask.java @@ -188,18 +188,6 @@ public class OutHotTask extends AbstractAcsTask { log.info("出烘箱wql执行update语句!"); hotIvtTab.update(jsonHotIvt); - JSONObject update_ivt = hotIvtTab.query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); - log.info("更新完后烘箱库存为:-----------------" + update_ivt.toString()); - - log.info("出烘箱mybatis执行update语句!"); - HotMapper hotMapper = SpringContextHolder.getBean(HotMapper.class); - hotMapper.updateHotByObject(jsonHotIvt); - JSONObject update_ivt2 = hotIvtTab.query("point_code = '" + jsonTask.getString("point_code1") + "'").uniqueResult(0); - log.info("更新完后烘箱库存为:-----------------" + update_ivt2.toString()); - - if (!update_ivt2.getString("container_name").equals(update_ivt.getString("container_name"))) { - log.info("出烘箱WQL更新不成功!"); - } // 将出烘箱信息发送给mes JSONObject param = new JSONObject(); From a749523029a3e9ad3bcd1bce7392bd70321a0a33 Mon Sep 17 00:00:00 2001 From: zhangzq Date: Sun, 26 Jan 2025 22:02:17 +0800 Subject: [PATCH 04/60] =?UTF-8?q?opt:=E4=BB=BB=E5=8A=A1=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../acs/service/impl/AcsToWmsServiceImpl.java | 5 +- .../wms/sch/service/impl/TaskServiceImpl.java | 14 +++--- .../org/nl/wms/sch/tasks/CallEmpReelTask.java | 46 ++++--------------- .../java/org/nl/wms/sch/tasks/InHotTask.java | 1 - .../java/org/nl/wms/sch/tasks/InTask.java | 2 + .../java/org/nl/wms/sch/tasks/OutTask.java | 3 +- 6 files changed, 21 insertions(+), 50 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 2f77454e4..a5b9ce675 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -39,6 +39,7 @@ import org.nl.b_lms.storage_manage.ios.service.iostorInv.util.service.*; import org.nl.common.enums.NoticeTypeEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.CodeUtil; +import org.nl.common.utils.MapOf; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; @@ -170,7 +171,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { * @returnzss */ @Override - @Transactional(rollbackFor = Exception.class) @SneakyThrows public Map receiveTaskStatusAcs(String string) { log.info("acs向lms反馈任务状态,请求参数:--------------------------------------" + string); @@ -191,8 +191,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { String acs_task_status = row.getString("task_status"); String car_no = row.getString("car_no"); if (StrUtil.isNotEmpty(car_no)) { - taskObj.put("car_no", car_no); - WQLObject.getWQLObject("SCH_BASE_Task").update(taskObj); + WQLObject.getWQLObject("SCH_BASE_Task").update(MapOf.of("car_no", car_no),"task_id = '" + task_id + "'"); } String message = ""; String status = ""; diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java index 914765361..604458d89 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java @@ -117,7 +117,6 @@ public class TaskServiceImpl implements TaskService { } @Override - @Transactional(rollbackFor = Exception.class) @SneakyThrows public void operation(Map map) { String task_id = MapUtil.getStr(map, "task_id"); @@ -130,12 +129,13 @@ public class TaskServiceImpl implements TaskService { if ("finish".equals(method_name)) { //强制执行,只把任务变更成完成状态 // 更改任务状态为完成 - taskObj.put("task_status", TaskStatusEnum.FINISHED.getCode()); - taskObj.put("update_optid", SecurityUtils.getCurrentUserId()); - taskObj.put("update_optname", SecurityUtils.getCurrentUsername()); - taskObj.put("update_time", DateUtil.now()); - taskObj.put("remark", "任务被用户:" + SecurityUtils.getCurrentUsername() + "在:" + DateUtil.now() + "强制完成。"); - WQLObject.getWQLObject("SCH_BASE_Task").update(taskObj); + HashMap hashMap = new HashMap<>(); + hashMap.put("task_status", TaskStatusEnum.FINISHED.getCode()); + hashMap.put("update_optid", SecurityUtils.getCurrentUserId()); + hashMap.put("update_optname", SecurityUtils.getCurrentUsername()); + hashMap.put("update_time", DateUtil.now()); + hashMap.put("remark", "任务被用户:" + SecurityUtils.getCurrentUsername() + "在:" + DateUtil.now() + "强制完成。"); + WQLObject.getWQLObject("SCH_BASE_Task").update(hashMap,"task_id = '" + task_id + "'"); } else { // 任务处理类 String processing_class = taskObj.getString("handle_class"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java index 7b42b1e84..78697c4c5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java @@ -123,11 +123,12 @@ public class CallEmpReelTask extends AbstractAcsTask { if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { // 更改任务状态为完成 - jsonTask.put("task_status", TaskStatusEnum.FINISHED.getCode()); - jsonTask.put("update_optid", SecurityUtils.getCurrentUserId()); - jsonTask.put("update_optname", SecurityUtils.getCurrentUsername()); - jsonTask.put("update_time", DateUtil.now()); - taskTab.update(jsonTask); + HashMap hashMap = new HashMap<>(); + hashMap.put("task_status", TaskStatusEnum.FINISHED.getCode()); + hashMap.put("update_optid", SecurityUtils.getCurrentUserId()); + hashMap.put("update_optname", SecurityUtils.getCurrentUsername()); + hashMap.put("update_time", DateUtil.now()); + taskTab.update(hashMap,"task_id = '" + task_id + "'"); String point_code1 = jsonTask.getString("point_code1"); String point_code2 = jsonTask.getString("point_code2"); @@ -230,7 +231,8 @@ public class CallEmpReelTask extends AbstractAcsTask { jsonIvt2.put("point_status", "2"); jsonIvt2.put("material_code", jsonTask.getString("material_code")); point_tab.update(jsonIvt2); - } else if (jsonTask.getString("task_type").equals("010106")) { + } + else if (jsonTask.getString("task_type").equals("010106")) { BakingServiceImpl bean = SpringContextHolder.getBean(BakingServiceImpl.class); WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase"); // 物料表 JSONObject requestParam = jsonTask.getJSONObject("request_param"); @@ -322,37 +324,6 @@ public class CallEmpReelTask extends AbstractAcsTask { cache_param.put("cool_ivt_status", "01"); ivtTab.update(cache_param, "full_point_code ='" + point_code4 + "'"); - /*// 插入入库单 - JSONObject jsonMater = WQLObject.getWQLObject("md_me_materialbase").query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonMater)) { - throw new BadRequestException("产品不存在"); - } - - JSONObject jsonRegion = new JSONObject(); - jsonRegion.put("iostorinv_id", IdUtil.getSnowflake(1, 1).nextId()); - jsonRegion.put("bill_code", CodeUtil.getNewCode("COOLREGION_BILL_CODE")); - jsonRegion.put("io_type", "0"); - jsonRegion.put("material_id", jsonMater.getString("material_id")); - jsonRegion.put("pcsn", jsonRaw.getString("container_name")); - jsonRegion.put("vehicle_code", ""); - jsonRegion.put("qty", jsonRaw.getString("productin_qty")); - jsonRegion.put("qty_unit_id", jsonMater.get("base_unit_id")); - jsonRegion.put("bill_status", "50"); - jsonRegion.put("start_point_code", point_code2); - jsonRegion.put("end_point_code", point_code4); - jsonRegion.put("cust_id", ""); - jsonRegion.put("create_mode", "03"); - jsonRegion.put("task_id", task_id); - jsonRegion.put("create_id", currentUserId); - jsonRegion.put("create_name", currentUsername); - jsonRegion.put("create_time", DateUtil.now()); - jsonRegion.put("update_optid", currentUserId); - jsonRegion.put("update_optname", currentUsername); - jsonRegion.put("update_time", DateUtil.now()); - jsonRegion.put("confirm_optid", currentUserId); - jsonRegion.put("confirm_optname", currentUsername); - jsonRegion.put("confirm_time", DateUtil.now()); - coolTab.insert(jsonRegion);*/ } } @@ -370,7 +341,6 @@ public class CallEmpReelTask extends AbstractAcsTask { } @Override - @Transactional(rollbackFor = Exception.class) public String createTask(JSONObject form) { WQLObject tab = WQLObject.getWQLObject("SCH_BASE_Task"); String currentUserId = SecurityUtils.getCurrentUserId(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java index 8779817f3..7d83fe9a5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InHotTask.java @@ -251,7 +251,6 @@ public class InHotTask extends AbstractAcsTask { } @Override - @Transactional(rollbackFor = Exception.class) public String createTask(JSONObject form) { WQLObject tab = WQLObject.getWQLObject("SCH_BASE_Task"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InTask.java index 0a8fea068..35bbc12b0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/InTask.java @@ -18,6 +18,7 @@ import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.st.inbill.service.impl.InbillServiceImpl; import org.nl.wms.st.inbill.service.impl.RawAssistIStorServiceImpl; import org.nl.wms.st.inbill.service.impl.StorPublicServiceImpl; +import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; @@ -28,6 +29,7 @@ import java.util.Map; /** * Created by ZZ on 2021/12/22. */ +@Service public class InTask extends AbstractAcsTask { private final String THIS_CLASS = InTask.class.getName(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutTask.java index 08f4bfada..0227e8260 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/OutTask.java @@ -17,6 +17,7 @@ import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.st.inbill.service.CheckOutBillService; import org.springframework.stereotype.Component; +import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; @@ -25,7 +26,7 @@ import java.util.List; /** * Created by Lxy on 2021/12/22. */ -@Component +@Service @RequiredArgsConstructor public class OutTask extends AbstractAcsTask { private final String THIS_CLASS = OutTask.class.getName(); From 62d1f6831e0565a7e47eda50ff34dd7659a1a3d6 Mon Sep 17 00:00:00 2001 From: zhangzq Date: Sun, 2 Feb 2025 12:02:30 +0800 Subject: [PATCH 05/60] =?UTF-8?q?opt:=E4=BB=BB=E5=8A=A1=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E6=B7=BB=E5=8A=A0=E5=A4=87=E6=B3=A8=E8=AF=B4?= =?UTF-8?q?=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index a5b9ce675..1daae95ea 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -218,6 +218,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { m.invoke(obj, row, status); } catch (Exception e) { e.printStackTrace(); + WQLObject.getWQLObject("SCH_BASE_Task").update(MapOf.of("remark",DateUtil.now()+"更新"+status+"失败:"+e.getMessage()),"task_id = '" + task_id + "'"); message = e.getMessage(); throw new BadRequestException(message); } @@ -1596,7 +1597,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } //查询该设备对应的输送线点位 - JSONObject deliver_jo = WQLObject.getWQLObject("st_ivt_deliverypointivt").query("point_code = '" + device_code + "'").uniqueResult(0); + JSONObject deliver_jo = WQLObject.getWQLObject("").query("point_code = '" + device_code + "'").uniqueResult(0); if (ObjectUtil.isNotEmpty(deliver_jo)) { char dtl_type = device_code.charAt(device_code.length() - 1); //判断该点位是否存在未完成的任务 From 1f02e53d114e383a8b04b8b03e20465739c039f5 Mon Sep 17 00:00:00 2001 From: zhangzq Date: Fri, 7 Feb 2025 10:05:54 +0800 Subject: [PATCH 06/60] =?UTF-8?q?rev:=E4=BB=BB=E5=8A=A1=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E5=8F=8D=E9=A6=88=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/modules/logging/aspect/LogAspect.java | 15 +++++++++++---- .../ext/acs/service/impl/AcsToWmsServiceImpl.java | 8 +++----- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java b/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java index 2834719d2..9a57e0173 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java @@ -42,8 +42,10 @@ import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Parameter; +import java.lang.reflect.UndeclaredThrowableException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -106,22 +108,27 @@ public class LogAspect { SysLog log = new SysLog("INFO", System.currentTimeMillis() - currentTime.get()); currentTime.remove(); logService.save(getUsername(), StringUtils.getBrowser(request), StringUtils.getIp(request), joinPoint, log); - }catch (Exception ex) { + }catch (Throwable ex) { StringBuffer errorStack = new StringBuffer(); errorStack.append("
【异常堆栈:"); - String errorMsg = ex.getMessage(); int x = 0; + if (ex instanceof UndeclaredThrowableException){ + ex = ((UndeclaredThrowableException) ex).getUndeclaredThrowable(); + if (ex instanceof InvocationTargetException){ + ex = ((InvocationTargetException) ex).getTargetException(); + } + } StackTraceElement[] stackTrace = ex.getStackTrace(); if (stackTrace != null && stackTrace.length > 0) { for (StackTraceElement stack : stackTrace) { x++; errorStack.append(stack.toString().replaceAll("<", ">")).append("
"); - if (x > 10) { + if (x > 15) { break; } } } - log.error("[-requestError-][请求接口:{}]【异常信息:{}】[请求参数:{}] {}", url, errorMsg, params, errorStack.append("】").toString()); + log.error("[-requestError-][请求接口:{}]【异常信息:{}】[请求参数:{}] {}", url, ex.getMessage(), params, ThrowableUtil.getStackTrace(ex)); throw ex; } finally { log.info("[--response--][请求接口:{} 执行结束][耗时:{}s]", url, (System.currentTimeMillis() - comming) / 1000); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 1daae95ea..19669dec1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -184,7 +184,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { boolean tryLock = lock.tryLock(0, TimeUnit.SECONDS); try { if (tryLock) { - JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task").query("task_id = '" + task_id + "'").uniqueResult(0); + JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task") + .query("task_id = '" + task_id + "'").uniqueResult(0); // 任务处理类 String processing_class = taskObj.getString("handle_class"); //1:执行中,2:完成 ,3:acs取消 @@ -193,7 +194,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { if (StrUtil.isNotEmpty(car_no)) { WQLObject.getWQLObject("SCH_BASE_Task").update(MapOf.of("car_no", car_no),"task_id = '" + task_id + "'"); } - String message = ""; String status = ""; if ("1".equals(acs_task_status)) { status = TaskStatusEnum.EXECUTING.getCode(); @@ -217,10 +217,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { Method m = obj.getClass().getDeclaredMethod("updateTaskStatus", JSONObject.class, String.class); m.invoke(obj, row, status); } catch (Exception e) { - e.printStackTrace(); WQLObject.getWQLObject("SCH_BASE_Task").update(MapOf.of("remark",DateUtil.now()+"更新"+status+"失败:"+e.getMessage()),"task_id = '" + task_id + "'"); - message = e.getMessage(); - throw new BadRequestException(message); + throw e; } } else { throw new BadRequestException("任务标识为:" + task_id + "的任务正在操作中!"); From af6a11289ecd14256a09f990a328ce38fe2a284d Mon Sep 17 00:00:00 2001 From: "DESKTOP-5DIJMF9\\admin" <2388969634@qq.com> Date: Fri, 7 Feb 2025 16:49:46 +0800 Subject: [PATCH 07/60] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=E5=87=BA=E5=85=A5?= =?UTF-8?q?=E5=BA=93=E5=9B=9E=E4=BC=A0=20=E5=8A=9F=E8=83=BD=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=95=88=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/InAndOutRetrunServiceImpl.java | 21 +- .../st/returns/wql/QST_IVT_INANDOUTRETRUN.wql | 294 +++++++++++------- .../src/views/wms/st/inAndOutReturn/index.vue | 47 +-- 3 files changed, 222 insertions(+), 140 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/impl/InAndOutRetrunServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/impl/InAndOutRetrunServiceImpl.java index 3e97c416c..a95435e32 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/impl/InAndOutRetrunServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/impl/InAndOutRetrunServiceImpl.java @@ -53,9 +53,14 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService { map.put("bill_status", MapUtil.getStr(whereJson, "bill_status")); map.put("bill_type", MapUtil.getStr(whereJson, "bill_type")); map.put("is_upload", MapUtil.getStr(whereJson, "is_upload")); - map.put("begin_time", MapUtil.getStr(whereJson, "begin_time")); - map.put("end_time", MapUtil.getStr(whereJson, "end_time")); - map.put("is_writeoff", MapUtil.getStr(whereJson, "is_writeoff")); + String begin_time = MapUtil.getStr(whereJson, "begin_time"); + if (StrUtil.isNotEmpty(begin_time)) { + map.put("begin_time", begin_time.substring(0,10)+" 00:00:00"); + } + String end_time = MapUtil.getStr(whereJson, "end_time"); + if (StrUtil.isNotEmpty(end_time)) { + map.put("end_time", end_time.substring(0,10)+" 23:59:59"); + } // 空格查询 String vbeln = MapUtil.getStr(map, "vbeln"); @@ -113,6 +118,8 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService { // 空格查询 String sap_pcsn = MapUtil.getStr(map, "sap_pcsn"); if (StrUtil.isNotEmpty(sap_pcsn)) { + //若客户需查询sap_pcsn字段,则调用flag 11 + map.put("flag", "11"); // 判断是否有空格 boolean matches = sap_pcsn.matches(".*\\s.*"); @@ -127,10 +134,10 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService { } } - if (!ObjectUtil.isEmpty(bill_code)) { + if (ObjectUtil.isNotEmpty(bill_code)) { map.put("bill_code", "%" + bill_code + "%"); } - if (!ObjectUtil.isEmpty(material_search)) { + if (ObjectUtil.isNotEmpty(material_search)) { map.put("material_search", "%" + material_search + "%"); } @@ -142,7 +149,7 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService { map.put("in_stor_id", in_stor_id); } - JSONObject jo = WQL.getWO("QST_IVT_INANDOUTRETRUN").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst.input_time desc"); + JSONObject jo = WQL.getWO("QST_IVT_INANDOUTRETRUN").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst2.input_time desc"); return jo; } @@ -175,7 +182,7 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService { String is_productstore = stor_jo.getString("is_productstore"); //生产入库 if (StrUtil.equals(bill_type, "0001") || StrUtil.equals(bill_type, "0007")) { - + //1.回传MES //查询该入库单下的所有箱子回传 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/wql/QST_IVT_INANDOUTRETRUN.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/wql/QST_IVT_INANDOUTRETRUN.wql index e77bebdee..59f19a2f0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/wql/QST_IVT_INANDOUTRETRUN.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/wql/QST_IVT_INANDOUTRETRUN.wql @@ -66,124 +66,195 @@ IF 输入.flag = "1" PAGEQUERY SELECT - mst.*, - IFNULL( a.source_bill_type, '' ) AS source_bill_type, - IFNULL(a.vbeln,'') AS vbeln, - user.person_name AS upload_name + mst2.*, + IFNULL( a.source_bill_type, '' ) AS source_bill_type, + IFNULL( a.vbeln, '' ) AS vbeln FROM - st_ivt_iostorinv mst - INNER JOIN ( - SELECT - iostorinv_id, - MAX( source_bill_type ) AS source_bill_type, - MAX( vbeln ) AS vbeln - FROM - st_ivt_iostorinvdtl dtl - INNER JOIN md_me_materialbase mb ON mb.material_id = dtl.material_id - WHERE - 1=1 - - OPTION 输入.vbeln <> "" + ( + SELECT + mst.*, + USER.person_name AS upload_name + FROM + st_ivt_iostorinv mst + LEFT JOIN sys_user USER ON USER.user_id = mst.upload_optid + WHERE + mst.is_delete = '0' + and mst.bill_status = '99' + and mst.stor_id in 输入.in_stor_id + OPTION 输入.stor_id <> "" + mst.stor_id = 输入.stor_id + ENDOPTION + OPTION 输入.bill_type <> "" + mst.bill_type = 输入.bill_type + ENDOPTION + OPTION 输入.bill_code <> "" + mst.bill_code like 输入.bill_code + ENDOPTION + OPTION 输入.io_type <> "" + mst.io_type = 输入.io_type + ENDOPTION + OPTION 输入.is_upload <> "" + mst.is_upload = 输入.is_upload + ENDOPTION + OPTION 输入.begin_time <> "" + mst.input_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + mst.input_time <= 输入.end_time + ENDOPTION + ) mst2 + INNER JOIN ( + SELECT + iostorinv_id + FROM + st_ivt_iostorinvdis dis + WHERE + 1 = 1 + OPTION 输入.pcsn <> "" + dis.pcsn like 输入.pcsn + ENDOPTION + OPTION 输入.pcsn_in <> "" + dis.pcsn IN 输入.pcsn_in + ENDOPTION + OPTION 输入.box_no <> "" + dis.box_no like 输入.box_no + ENDOPTION + OPTION 输入.box_no_in <> "" + dis.box_no IN 输入.box_no_in + ENDOPTION + GROUP BY + iostorinv_id + ) b ON b.iostorinv_id = mst2.iostorinv_id + INNER JOIN ( + SELECT + iostorinv_id, + MAX( source_bill_type ) AS source_bill_type, + MAX( vbeln ) AS vbeln + FROM + st_ivt_iostorinvdtl dtl + INNER JOIN md_me_materialbase mb ON mb.material_id = dtl.material_id + WHERE + 1 = 1 + OPTION 输入.vbeln <> "" dtl.vbeln like 输入.vbeln - ENDOPTION - - OPTION 输入.vbeln_in <> "" + ENDOPTION + OPTION 输入.vbeln_in <> "" dtl.vbeln IN 输入.vbeln_in - ENDOPTION - - OPTION 输入.material_search <> "" - ( - mb.material_code like 输入.material_search - OR - mb.material_name like 输入.material_search - ) - ENDOPTION - GROUP BY - iostorinv_id - ) a ON mst.iostorinv_id = a.iostorinv_id - INNER JOIN ( - SELECT - iostorinv_id - FROM - st_ivt_iostorinvdis dis - LEFT JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn - AND dis.box_no = sub.package_box_sn AND dis.iostorinv_id = sub.bill_id - WHERE - 1=1 - OPTION 输入.pcsn <> "" - dis.pcsn like 输入.pcsn - ENDOPTION - - OPTION 输入.pcsn_in <> "" - dis.pcsn IN 输入.pcsn_in - ENDOPTION - - OPTION 输入.sap_pcsn <> "" - sub.sap_pcsn like 输入.sap_pcsn - ENDOPTION - - OPTION 输入.sap_pcsn_in <> "" - sub.sap_pcsn IN 输入.sap_pcsn_in - ENDOPTION - - OPTION 输入.box_no <> "" - dis.box_no like 输入.box_no - ENDOPTION - - OPTION 输入.box_no_in <> "" - dis.box_no IN 输入.box_no_in - ENDOPTION - - GROUP BY - iostorinv_id - ) b ON b.iostorinv_id = mst.iostorinv_id - LEFT JOIN sys_user user ON user.user_id = mst.upload_optid - WHERE - mst.is_delete = '0' - and mst.stor_id in 输入.in_stor_id - - OPTION 输入.stor_id <> "" - mst.stor_id = 输入.stor_id - ENDOPTION - - OPTION 输入.is_writeoff <> "" - mst.is_writeoff = 输入.is_writeoff - ENDOPTION - - OPTION 输入.bill_status <> "" - mst.bill_status = 输入.bill_status - ENDOPTION - - OPTION 输入.bill_type <> "" - mst.bill_type = 输入.bill_type - ENDOPTION - - OPTION 输入.bill_status <> "" - mst.bill_status = 输入.bill_status - ENDOPTION - - OPTION 输入.bill_code <> "" - mst.bill_code like 输入.bill_code - ENDOPTION - - OPTION 输入.io_type <> "" - mst.io_type = 输入.io_type - ENDOPTION - - OPTION 输入.is_upload <> "" - mst.is_upload = 输入.is_upload - ENDOPTION - - OPTION 输入.begin_time <> "" - mst.input_time >= 输入.begin_time - ENDOPTION - OPTION 输入.end_time <> "" - mst.input_time <= 输入.end_time - ENDOPTION + ENDOPTION + OPTION 输入.material_search <> "" + ( + mb.material_code like 输入.material_search + OR + mb.material_name like 输入.material_search + ) + ENDOPTION + GROUP BY + iostorinv_id + ) a ON mst2.iostorinv_id = a.iostorinv_id ENDSELECT ENDPAGEQUERY ENDIF + IF 输入.flag = "11" + PAGEQUERY + SELECT + mst2.*, + IFNULL( a.source_bill_type, '' ) AS source_bill_type, + IFNULL( a.vbeln, '' ) AS vbeln + FROM + ( + SELECT + mst.*, + USER.person_name AS upload_name + FROM + st_ivt_iostorinv mst + LEFT JOIN sys_user USER ON USER.user_id = mst.upload_optid + WHERE + mst.is_delete = '0' + and mst.bill_status = '99' + and mst.stor_id in 输入.in_stor_id + OPTION 输入.stor_id <> "" + mst.stor_id = 输入.stor_id + ENDOPTION + OPTION 输入.bill_type <> "" + mst.bill_type = 输入.bill_type + ENDOPTION + OPTION 输入.bill_code <> "" + mst.bill_code like 输入.bill_code + ENDOPTION + OPTION 输入.io_type <> "" + mst.io_type = 输入.io_type + ENDOPTION + OPTION 输入.is_upload <> "" + mst.is_upload = 输入.is_upload + ENDOPTION + OPTION 输入.begin_time <> "" + mst.input_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + mst.input_time <= 输入.end_time + ENDOPTION + ) mst2 + INNER JOIN ( + SELECT + iostorinv_id + FROM + st_ivt_iostorinvdis dis + LEFT JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn + AND dis.box_no = sub.package_box_sn AND dis.iostorinv_id = sub.bill_id + WHERE + 1=1 + OPTION 输入.pcsn <> "" + dis.pcsn like 输入.pcsn + ENDOPTION + OPTION 输入.pcsn_in <> "" + dis.pcsn IN 输入.pcsn_in + ENDOPTION + OPTION 输入.sap_pcsn <> "" + sub.sap_pcsn like 输入.sap_pcsn + ENDOPTION + OPTION 输入.sap_pcsn_in <> "" + sub.sap_pcsn IN 输入.sap_pcsn_in + ENDOPTION + OPTION 输入.box_no <> "" + dis.box_no like 输入.box_no + ENDOPTION + OPTION 输入.box_no_in <> "" + dis.box_no IN 输入.box_no_in + ENDOPTION + GROUP BY + iostorinv_id + ) b ON b.iostorinv_id = mst2.iostorinv_id + INNER JOIN ( + SELECT + iostorinv_id, + MAX( source_bill_type ) AS source_bill_type, + MAX( vbeln ) AS vbeln + FROM + st_ivt_iostorinvdtl dtl + INNER JOIN md_me_materialbase mb ON mb.material_id = dtl.material_id + WHERE + 1 = 1 + OPTION 输入.vbeln <> "" + dtl.vbeln like 输入.vbeln + ENDOPTION + OPTION 输入.vbeln_in <> "" + dtl.vbeln IN 输入.vbeln_in + ENDOPTION + OPTION 输入.material_search <> "" + ( + mb.material_code like 输入.material_search + OR + mb.material_name like 输入.material_search + ) + ENDOPTION + GROUP BY + iostorinv_id + ) a ON mst2.iostorinv_id = a.iostorinv_id + ENDSELECT + ENDPAGEQUERY + ENDIF + IF 输入.flag = "2" QUERY SELECT DISTINCT @@ -216,3 +287,4 @@ ENDSELECT ENDQUERY ENDIF + diff --git a/lms/nladmin-ui/src/views/wms/st/inAndOutReturn/index.vue b/lms/nladmin-ui/src/views/wms/st/inAndOutReturn/index.vue index b4d434e12..3dde7c437 100644 --- a/lms/nladmin-ui/src/views/wms/st/inAndOutReturn/index.vue +++ b/lms/nladmin-ui/src/views/wms/st/inAndOutReturn/index.vue @@ -63,24 +63,6 @@ /> - - @@ -286,6 +269,7 @@ import ViewDialog from '@/views/wms/st/inAndOutReturn/ViewDialog' import crudUserStor from '@/views/wms/basedata/st/userStor/userStor' import { download } from '@/api/data' import { downloadFile } from '@/utils' +import Date from '@/utils/datetime' export default { name: 'Return', @@ -315,6 +299,7 @@ export default { mstrow: {}, fullscreenLoading: false, storlist: [], + query_flag: true, billtypelist: [], showDtlLoading: false } @@ -331,18 +316,36 @@ export default { }) // debugger this.billtypelist = this.dict.ST_INV_OUT_TYPE + this.crud.query.createTime = [new Date().daysAgo(30), new Date()] this.initQuery() }, methods: { + [CRUD.HOOK.beforeRefresh]() { + if (this.query_flag) { + this.crud.query.begin_time = (new Date().daysAgo(30)).strftime('%F', 'zh') + this.crud.query.end_time = (new Date()).strftime('%F', 'zh') + this.query_flag = false + } + }, /* 搜索框出入类型 默认出库*/ initQuery() { this.query.io_type = '1' this.query.is_upload = '0' this.crud.toQuery() }, - // [CRUD.HOOK.beforeRefresh]() { - // return true - // }, + 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() + }, + onInput() { + this.$forceUpdate() + }, querytable() { this.onSelectAll() this.crud.toQuery() From 41c26718290891d880fb6f2b24ccac0012deb5ba Mon Sep 17 00:00:00 2001 From: zhangzq Date: Sun, 9 Feb 2025 19:09:14 +0800 Subject: [PATCH 08/60] =?UTF-8?q?opt:=E5=85=B3=E9=97=AD=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E5=8F=8A=E8=AE=BE=E5=A4=87=E5=8F=8D=E9=A6=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nl/modules/logging/aspect/LogAspect.java | 4 +- .../logging/aspect/WhiteListLogAspect.java | 266 +++++++++--------- .../service/impl/InterfaceLogServiceImpl.java | 4 +- .../acs/service/impl/AcsToWmsServiceImpl.java | 101 +++---- 4 files changed, 188 insertions(+), 187 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java b/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java index 9a57e0173..7abe78c07 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java @@ -105,9 +105,9 @@ public class LogAspect { log.info("[--request--][请求接口:{}][请求参数:{}]", url, params); currentTime.set(System.currentTimeMillis()); result = joinPoint.proceed(); - SysLog log = new SysLog("INFO", System.currentTimeMillis() - currentTime.get()); +// SysLog log = new SysLog("INFO", System.currentTimeMillis() - currentTime.get()); currentTime.remove(); - logService.save(getUsername(), StringUtils.getBrowser(request), StringUtils.getIp(request), joinPoint, log); +// logServsice.save(getUsername(), StringUtils.getBrowser(request), StringUtils.getIp(request), joinPoint, log); }catch (Throwable ex) { StringBuffer errorStack = new StringBuffer(); errorStack.append("
【异常堆栈:"); diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/WhiteListLogAspect.java b/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/WhiteListLogAspect.java index a067bdb93..bf6e0dae7 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/WhiteListLogAspect.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/WhiteListLogAspect.java @@ -1,133 +1,133 @@ -package org.nl.modules.logging.aspect; - -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.json.JSONUtil; -import lombok.extern.slf4j.Slf4j; -import org.aspectj.lang.JoinPoint; -import org.aspectj.lang.ProceedingJoinPoint; -import org.aspectj.lang.annotation.*; -import org.aspectj.lang.reflect.MethodSignature; -import org.nl.common.utils.SecurityUtils; -import org.nl.modules.common.utils.RequestHolder; -import org.nl.modules.common.utils.StringUtils; -import org.nl.modules.common.utils.ThrowableUtil; -import org.nl.modules.logging.properties.LoggingProperties; -import org.nl.system.service.logging.ISysInterfaceLogService; -import org.nl.system.service.logging.dao.SysInterfaceLog; -import org.nl.system.service.logging.dao.SysLog; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Component; -import org.springframework.util.AntPathMatcher; -import org.springframework.web.context.request.RequestContextHolder; -import org.springframework.web.context.request.ServletRequestAttributes; -import org.springframework.web.multipart.support.MultipartFilter; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.lang.reflect.Method; -import java.util.Arrays; -import java.util.List; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * @author by: zz - * @ClassName: WhiteListLogAspect - * @Description: 外部接口日志切面插入日志表 - * @Date: 2024/7/25 15:06 - */ -@Slf4j -@Aspect -@Component -public class WhiteListLogAspect { - - @Autowired - private LoggingProperties loggingProperties; - - @Autowired - private ISysInterfaceLogService interfaceLogService; - - private AntPathMatcher pathMatcher = new AntPathMatcher(); - - @Pointcut("execution(* org.nl.wms.ext..*Service.*(..)) || @annotation(org.nl.modules.logging.annotation.InterfaceLog)") - public void logPointcut() { - // 该方法无方法体,主要为了让同类中其他方法使用此切入点 - } - - @Around("logPointcut()") - public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable { - Object[] args = joinPoint.getArgs(); - long startTime = System.currentTimeMillis(); - try { - Object result = joinPoint.proceed(args); - long endTime = System.currentTimeMillis(); - long time = endTime - startTime; - MethodSignature signature = (MethodSignature) joinPoint.getSignature(); - //黑名单接口不打印日志 - if (!shouldLog(signature.getName())){ - addLog(joinPoint, JSONUtil.toJsonStr(result), time); - } - return result; - } catch (Exception e) { - log.error("doAround日志记录异常,异常信息为:", e); - throw e; - } - - } - - /** - * 日志记录操作 - */ - public void addLog(ProceedingJoinPoint joinPoint, String outParams, long time) { - ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); - HttpServletRequest request = null; - if (ObjectUtil.isNotEmpty(attributes)) { - request = attributes.getRequest(); - } - // 方法路径 - SysInterfaceLog log = new SysInterfaceLog("INFO", time); - String borwser = ObjectUtil.isNotEmpty(attributes) ? StringUtils.getBrowser(request) : "定时器"; - String ip = ObjectUtil.isNotEmpty(attributes) ? StringUtils.getIp(request) : "定时器"; - interfaceLogService.save(getUsername(), outParams, borwser, ip, joinPoint, log); - } - - public String getUsername() { - try { - return SecurityUtils.getCurrentUsername(); - } catch (Exception e) { - return ""; - } - } - - @AfterThrowing(pointcut = "logPointcut()", throwing = "e") - public void logAfterThrowing(JoinPoint joinPoint, Throwable e) { - try { - SysInterfaceLog log = new SysInterfaceLog("ERROR", 0L); - log.setException_detail(ThrowableUtil.getStackTrace(e).getBytes()); - HttpServletRequest request = RequestHolder.getHttpServletRequest(); - interfaceLogService.save(getUsername(), e.toString(), StringUtils.getBrowser(request), StringUtils.getIp(request), (ProceedingJoinPoint) joinPoint, log); - }catch (Exception ex){ - log.error("doAround日志记录异常,异常信息为:", ex); - } - - } - - /** - * 过滤参数 - * - * @param args - * @return - */ - private List filterArgs(Object[] args) { - return Arrays.stream(args).filter(object -> !(object instanceof MultipartFilter) - && !(object instanceof HttpServletRequest) - && !(object instanceof HttpServletResponse) - ).collect(Collectors.toList()); - } - - private boolean shouldLog(String requestURI) { - return loggingProperties.getIncludePaths().stream().anyMatch(pattern -> pathMatcher.match(pattern, requestURI)); - } -} - +//package org.nl.modules.logging.aspect; +// +//import cn.hutool.core.util.ObjectUtil; +//import cn.hutool.json.JSONUtil; +//import lombok.extern.slf4j.Slf4j; +//import org.aspectj.lang.JoinPoint; +//import org.aspectj.lang.ProceedingJoinPoint; +//import org.aspectj.lang.annotation.*; +//import org.aspectj.lang.reflect.MethodSignature; +//import org.nl.common.utils.SecurityUtils; +//import org.nl.modules.common.utils.RequestHolder; +//import org.nl.modules.common.utils.StringUtils; +//import org.nl.modules.common.utils.ThrowableUtil; +//import org.nl.modules.logging.properties.LoggingProperties; +//import org.nl.system.service.logging.ISysInterfaceLogService; +//import org.nl.system.service.logging.dao.SysInterfaceLog; +//import org.nl.system.service.logging.dao.SysLog; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.scheduling.annotation.Async; +//import org.springframework.stereotype.Component; +//import org.springframework.util.AntPathMatcher; +//import org.springframework.web.context.request.RequestContextHolder; +//import org.springframework.web.context.request.ServletRequestAttributes; +//import org.springframework.web.multipart.support.MultipartFilter; +// +//import javax.servlet.http.HttpServletRequest; +//import javax.servlet.http.HttpServletResponse; +//import java.lang.reflect.Method; +//import java.util.Arrays; +//import java.util.List; +//import java.util.Objects; +//import java.util.stream.Collectors; +// +///** +// * @author by: zz +// * @ClassName: WhiteListLogAspect +// * @Description: 外部接口日志切面插入日志表 +// * @Date: 2024/7/25 15:06 +// */ +////@Slf4j +////@Aspect +////@Component +//public class WhiteListLogAspect { +// +//// @Autowired +// private LoggingProperties loggingProperties; +// +// @Autowired +// private ISysInterfaceLogService interfaceLogService; +// +// private AntPathMatcher pathMatcher = new AntPathMatcher(); +// +// @Pointcut("execution(* org.nl.wms.ext..*Service.*(..)) || @annotation(org.nl.modules.logging.annotation.InterfaceLog)") +// public void logPointcut() { +// // 该方法无方法体,主要为了让同类中其他方法使用此切入点 +// } +// +// @Around("logPointcut()") +// public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable { +// Object[] args = joinPoint.getArgs(); +// long startTime = System.currentTimeMillis(); +// try { +// Object result = joinPoint.proceed(args); +// long endTime = System.currentTimeMillis(); +// long time = endTime - startTime; +// MethodSignature signature = (MethodSignature) joinPoint.getSignature(); +// //黑名单接口不打印日志 +// if (!shouldLog(signature.getName())){ +// addLog(joinPoint, JSONUtil.toJsonStr(result), time); +// } +// return result; +// } catch (Exception e) { +// log.error("doAround日志记录异常,异常信息为:", e); +// throw e; +// } +// +// } +// +// /** +// * 日志记录操作 +// */ +// public void addLog(ProceedingJoinPoint joinPoint, String outParams, long time) { +// ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); +// HttpServletRequest request = null; +// if (ObjectUtil.isNotEmpty(attributes)) { +// request = attributes.getRequest(); +// } +// // 方法路径 +// SysInterfaceLog log = new SysInterfaceLog("INFO", time); +// String borwser = ObjectUtil.isNotEmpty(attributes) ? StringUtils.getBrowser(request) : "定时器"; +// String ip = ObjectUtil.isNotEmpty(attributes) ? StringUtils.getIp(request) : "定时器"; +// interfaceLogService.save(getUsername(), outParams, borwser, ip, joinPoint, log); +// } +// +// public String getUsername() { +// try { +// return SecurityUtils.getCurrentUsername(); +// } catch (Exception e) { +// return ""; +// } +// } +// +// @AfterThrowing(pointcut = "logPointcut()", throwing = "e") +// public void logAfterThrowing(JoinPoint joinPoint, Throwable e) { +// try { +// SysInterfaceLog log = new SysInterfaceLog("ERROR", 0L); +// log.setException_detail(ThrowableUtil.getStackTrace(e).getBytes()); +// HttpServletRequest request = RequestHolder.getHttpServletRequest(); +// interfaceLogService.save(getUsername(), e.toString(), StringUtils.getBrowser(request), StringUtils.getIp(request), (ProceedingJoinPoint) joinPoint, log); +// }catch (Exception ex){ +// log.error("doAround日志记录异常,异常信息为:", ex); +// } +// +// } +// +// /** +// * 过滤参数 +// * +// * @param args +// * @return +// */ +// private List filterArgs(Object[] args) { +// return Arrays.stream(args).filter(object -> !(object instanceof MultipartFilter) +// && !(object instanceof HttpServletRequest) +// && !(object instanceof HttpServletResponse) +// ).collect(Collectors.toList()); +// } +// +// private boolean shouldLog(String requestURI) { +// return loggingProperties.getIncludePaths().stream().anyMatch(pattern -> pathMatcher.match(pattern, requestURI)); +// } +//} +// diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/logging/service/impl/InterfaceLogServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/modules/logging/service/impl/InterfaceLogServiceImpl.java index bbcacb4f8..5841eaa48 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/logging/service/impl/InterfaceLogServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/logging/service/impl/InterfaceLogServiceImpl.java @@ -71,8 +71,8 @@ public class InterfaceLogServiceImpl implements InterfaceLogService { map.put("log_dtl_info", whereJson.get("log_dtl_info")); map.put("log_type", whereJson.get("log_type")); map.put("method", whereJson.get("method")); - JSONObject json = WQL.getWO("QSCH_INTERFACE_LOGS").addParamMap(map).pageQuery(WqlUtil.getHttpContext(pageable), "create_time desc"); - return json; +// JSONObject json = WQL.getWO("QSCH_INTERFACE_LOGS").addParamMap(map).pageQuery(WqlUtil.getHttpContext(pageable), "create_time desc"); + return new HashMap<>(); } @Override diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 19669dec1..043952147 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -1018,56 +1018,57 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { @Override public JSONObject sendDeviceStatus(JSONObject whereJson) { - log.info("sendDeviceStatus--------------输入为:" + whereJson.toString()); - WQLObject wo = WQLObject.getWQLObject("em_bi_devicestatus"); - String device_code = whereJson.getString("device_code"); - String device_name = whereJson.getString("device_name"); - String product_area = whereJson.getString("product_area"); - String device_type = whereJson.getString("device_type"); - if (StrUtil.isEmpty(device_code)) { - log.info("未传入设备号,输入参数为:" + whereJson.toString()); - JSONObject result = new JSONObject(); - result.put("status", HttpStatus.OK.value()); - result.put("message", "反馈成功!"); - return result; - } else { - JSONObject device = wo.query("device_code = '" + device_code + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(device)) { - JSONObject jo = new JSONObject(); - jo.put("device_code", device_code); - jo.put("device_name", device_name); - jo.put("product_area", product_area); - jo.put("device_type", device_type); - jo.put("plan", "1"); - jo.put("upload_flag", "1"); - if (whereJson.containsKey("mode")) { - jo.put("mode", whereJson.getString("mode")); - jo.put("mode_update_time", DateUtil.now()); - } - if (whereJson.containsKey("error")) { - jo.put("error", whereJson.getString("error")); - jo.put("error_msg", whereJson.getString("error_msg")); - jo.put("error_update_time", DateUtil.now()); - } - wo.insert(jo); - } else { - HashMap map = new HashMap<>(); - if (whereJson.containsKey("mode")) { - map.put("mode", whereJson.getString("mode")); - map.put("mode_update_time", DateUtil.now()); - } - if (whereJson.containsKey("error")) { - map.put("error", whereJson.getString("error")); - map.put("error_msg", whereJson.getString("error_msg")); - map.put("error_update_time", DateUtil.now()); - if ("0".equals(whereJson.getString("error"))) { - map.put("is_upload", "0"); - map.put("upload_time", DateUtil.now()); - } - } - wo.update(map, "device_code = '" + device_code + "'"); - } - } + +// log.info("sendDeviceStatus--------------输入为:" + whereJson.toString()); +// WQLObject wo = WQLObject.getWQLObject("em_bi_devicestatus"); +// String device_code = whereJson.getString("device_code"); +// String device_name = whereJson.getString("device_name"); +// String product_area = whereJson.getString("product_area"); +// String device_type = whereJson.getString("device_type"); +// if (StrUtil.isEmpty(device_code)) { +// log.info("未传入设备号,输入参数为:" + whereJson.toString()); +// JSONObject result = new JSONObject(); +// result.put("status", HttpStatus.OK.value()); +// result.put("message", "反馈成功!"); +// return result; +// } else { +// JSONObject device = wo.query("device_code = '" + device_code + "'").uniqueResult(0); +// if (ObjectUtil.isEmpty(device)) { +// JSONObject jo = new JSONObject(); +// jo.put("device_code", device_code); +// jo.put("device_name", device_name); +// jo.put("product_area", product_area); +// jo.put("device_type", device_type); +// jo.put("plan", "1"); +// jo.put("upload_flag", "1"); +// if (whereJson.containsKey("mode")) { +// jo.put("mode", whereJson.getString("mode")); +// jo.put("mode_update_time", DateUtil.now()); +// } +// if (whereJson.containsKey("error")) { +// jo.put("error", whereJson.getString("error")); +// jo.put("error_msg", whereJson.getString("error_msg")); +// jo.put("error_update_time", DateUtil.now()); +// } +// wo.insert(jo); +// } else { +// HashMap map = new HashMap<>(); +// if (whereJson.containsKey("mode")) { +// map.put("mode", whereJson.getString("mode")); +// map.put("mode_update_time", DateUtil.now()); +// } +// if (whereJson.containsKey("error")) { +// map.put("error", whereJson.getString("error")); +// map.put("error_msg", whereJson.getString("error_msg")); +// map.put("error_update_time", DateUtil.now()); +// if ("0".equals(whereJson.getString("error"))) { +// map.put("is_upload", "0"); +// map.put("upload_time", DateUtil.now()); +// } +// } +// wo.update(map, "device_code = '" + device_code + "'"); +// } +// } JSONObject result = new JSONObject(); result.put("status", HttpStatus.OK.value()); result.put("message", "反馈成功!"); From 4e4ead09aa9f5dc66097609b8f0f77b5a4a0b595 Mon Sep 17 00:00:00 2001 From: zhangzq Date: Sun, 9 Feb 2025 23:50:58 +0800 Subject: [PATCH 09/60] =?UTF-8?q?fix:=E6=9B=B4=E6=96=B0=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E5=85=89=E7=94=B5=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 043952147..06471b016 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -1596,7 +1596,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } //查询该设备对应的输送线点位 - JSONObject deliver_jo = WQLObject.getWQLObject("").query("point_code = '" + device_code + "'").uniqueResult(0); + JSONObject deliver_jo = WQLObject.getWQLObject("st_ivt_deliverypointivt").query("point_code = '" + device_code + "'").uniqueResult(0); if (ObjectUtil.isNotEmpty(deliver_jo)) { char dtl_type = device_code.charAt(device_code.length() - 1); //判断该点位是否存在未完成的任务 From 28f7ea731d5dd9585d3b16e03757f3a6e54dcc58 Mon Sep 17 00:00:00 2001 From: "DESKTOP-5DIJMF9\\admin" <2388969634@qq.com> Date: Tue, 11 Feb 2025 09:04:49 +0800 Subject: [PATCH 10/60] =?UTF-8?q?opt=EF=BC=9A=E6=95=B0=E6=8D=AE=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E5=8E=BB=E6=8E=89=E4=BA=8B=E5=8A=A1=E6=B3=A8=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wms/pdm/bi/service/impl/SubpackagerelationServiceImpl.java | 1 - 1 file changed, 1 deletion(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/service/impl/SubpackagerelationServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/service/impl/SubpackagerelationServiceImpl.java index 4e8a105d0..1eb0f7d84 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/service/impl/SubpackagerelationServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/service/impl/SubpackagerelationServiceImpl.java @@ -181,7 +181,6 @@ public class SubpackagerelationServiceImpl implements SubpackagerelationService } @Override - @Transactional(rollbackFor = Exception.class) public void download(Map whereJson, HttpServletResponse response) throws IOException { String material_code = MapUtil.getStr(whereJson, "material_code"); String material_name = MapUtil.getStr(whereJson, "material_name"); From 9580b6c81bbfdfc610752e21f2c78d7b338a0d11 Mon Sep 17 00:00:00 2001 From: "DESKTOP-5DIJMF9\\admin" <2388969634@qq.com> Date: Tue, 11 Feb 2025 09:08:26 +0800 Subject: [PATCH 11/60] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=EF=BC=8C=E5=87=BA?= =?UTF-8?q?=E5=BA=93=E6=9F=A5=E8=AF=A2=E9=A1=B5=E9=9D=A2=E6=95=88=E7=8E=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CheckOutBillServiceImpl.java | 1 + .../st/outbill/wql/QST_IVT_CHECKOUTBILL.wql | 332 +++++++++++------- .../st/returns/wql/QST_IVT_INANDOUTRETRUN.wql | 5 +- 3 files changed, 216 insertions(+), 122 deletions(-) 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 a1c2ba957..e77b2e72f 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 @@ -164,6 +164,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { } else { map.put("sap_pcsn", "%" + map.get("sap_pcsn") + "%"); } + map.put("flag", "11"); } if (StrUtil.isNotEmpty(map.get("cust_code"))) { 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 fd30e9c70..fdc7ad9fc 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 @@ -88,40 +88,217 @@ ########################################## IF 输入.flag = "1" - PAGEQUERY - SELECT DISTINCT - ios.*, - cu.shd_dtl_num, - cu.cust_name, - IFNULL(dtl.vbeln,'') as vbeln, - cu.cust_simple_name, - a.plan_qty, - attr.stor_name AS out_stor_name + PAGEQUERY + SELECT + ios.*, + a.plan_qty, + IFNULL(c.vbeln,'') as vbeln + FROM + ( + SELECT + mst.*, + cu.shd_dtl_num, + cu.cust_name, + cu.cust_simple_name, + attr.stor_name AS out_stor_name + FROM + st_ivt_iostorinv mst + LEFT JOIN md_cs_customerbase cu ON mst.cust_code = cu.cust_code + LEFT JOIN st_ivt_bsrealstorattr attr ON attr.stor_id = mst.out_stor_id + WHERE + mst.io_type = '1' + and mst.is_delete='0' + and mst.stor_id in 输入.in_stor_id + OPTION 输入.bill_code <> "" + mst.bill_code like 输入.bill_code + ENDOPTION + OPTION 输入.cust_code <> "" + (cu.cust_code like 输入.cust_code or + cu.cust_simple_name like 输入.cust_code) + ENDOPTION + OPTION 输入.is_upload <> "" + mst.is_upload = 输入.is_upload + ENDOPTION + OPTION 输入.billTypes <> "" + mst.bill_type in 输入.billTypes + ENDOPTION + OPTION 输入.storIds <> "" + mst.stor_id in 输入.storIds + ENDOPTION + OPTION 输入.create_mode <> "" + mst.create_mode = 输入.create_mode + ENDOPTION + OPTION 输入.billStatuses <> "" + mst.bill_status in 输入.billStatuses + ENDOPTION + OPTION 输入.begin_time <> "" + mst.input_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + mst.input_time <= 输入.end_time + ENDOPTION + ) ios + LEFT JOIN ( + select + dtl.iostorinv_id, + dtl.vbeln + from + st_ivt_iostorinvdtl dtl + where 1=1 + OPTION 输入.vbeln <> "" + dtl.vbeln like 输入.vbeln + ENDOPTION + OPTION 输入.vbeln_in <> "" + dtl.vbeln IN 输入.vbeln_in + ENDOPTION + OPTION 输入.width <> "" + dtl.width like 输入.width + ENDOPTION + GROUP BY + dtl.iostorinv_id, + dtl.vbeln + ) c ON ios.iostorinv_id = c.iostorinv_id + LEFT JOIN ( + SELECT + dis.iostorinv_id + FROM + st_ivt_iostorinvdis dis + WHERE + 1 = 1 + OPTION 输入.pcsn <> "" + dis.pcsn like 输入.pcsn + ENDOPTION + OPTION 输入.pcsn_in <> "" + dis.pcsn IN 输入.pcsn_in + ENDOPTION + OPTION 输入.box_no <> "" + dis.box_no like 输入.box_no + ENDOPTION + OPTION 输入.box_no_in <> "" + dis.box_no IN 输入.box_no_in + ENDOPTION + GROUP BY + dis.iostorinv_id + ) b ON b.iostorinv_id = ios.iostorinv_id + LEFT JOIN ( + SELECT + SUM(a.plan_qty) AS plan_qty, + a.iostorinv_id + FROM + st_ivt_iostorinvdis a + LEFT JOIN ST_IVT_IOStorInv b ON a.iostorinv_id = b.iostorinv_id + WHERE + b.io_type = '1' + and b.is_delete='0' + and b.is_overdue = '0' + GROUP BY a.iostorinv_id + ) a ON a.iostorinv_id = ios.iostorinv_id + ENDSELECT + ENDPAGEQUERY + ENDIF + IF 输入.flag = "11" + PAGEQUERY + SELECT + ios.*, + a.plan_qty, + IFNULL(c.vbeln,'') as vbeln FROM - ST_IVT_IOStorInv ios - LEFT JOIN md_cs_customerbase cu ON ios.cust_code = cu.cust_code - LEFT JOIN st_ivt_iostorinvdtl dtl ON ios.iostorinv_id = dtl.iostorinv_id - LEFT JOIN st_ivt_iostorinvdis dis ON dtl.iostorinvdtl_id = dis.iostorinvdtl_id - LEFT JOIN st_ivt_bsrealstorattr attr ON attr.stor_id = ios.out_stor_id - LEFT JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND dis.box_no = sub.package_box_sn AND sub.bill_code = ios.bill_code - LEFT JOIN ( - SELECT - SUM(a.plan_qty) AS plan_qty, - a.iostorinv_id - FROM - st_ivt_iostorinvdis a - LEFT JOIN ST_IVT_IOStorInv b ON a.iostorinv_id = b.iostorinv_id - WHERE - b.io_type = '1' - and b.is_delete='0' - and a.is_overdue = '0' - and b.is_overdue = '1' - GROUP BY a.iostorinv_id - - UNION - - SELECT + ( + SELECT + mst.*, + cu.shd_dtl_num, + cu.cust_name, + cu.cust_simple_name, + attr.stor_name AS out_stor_name + FROM + st_ivt_iostorinv mst + LEFT JOIN md_cs_customerbase cu ON mst.cust_code = cu.cust_code + LEFT JOIN st_ivt_bsrealstorattr attr ON attr.stor_id = mst.out_stor_id + WHERE + mst.io_type = '1' + and mst.is_delete='0' + and mst.stor_id in 输入.in_stor_id + OPTION 输入.bill_code <> "" + mst.bill_code like 输入.bill_code + ENDOPTION + OPTION 输入.cust_code <> "" + (cu.cust_code like 输入.cust_code or + cu.cust_simple_name like 输入.cust_code) + ENDOPTION + OPTION 输入.is_upload <> "" + mst.is_upload = 输入.is_upload + ENDOPTION + OPTION 输入.billTypes <> "" + mst.bill_type in 输入.billTypes + ENDOPTION + OPTION 输入.storIds <> "" + mst.stor_id in 输入.storIds + ENDOPTION + OPTION 输入.create_mode <> "" + mst.create_mode = 输入.create_mode + ENDOPTION + OPTION 输入.billStatuses <> "" + mst.bill_status in 输入.billStatuses + ENDOPTION + OPTION 输入.begin_time <> "" + mst.input_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + mst.input_time <= 输入.end_time + ENDOPTION + ) ios + LEFT JOIN ( + select + dtl.iostorinv_id, + dtl.vbeln + from + st_ivt_iostorinvdtl dtl + where 1=1 + OPTION 输入.vbeln <> "" + dtl.vbeln like 输入.vbeln + ENDOPTION + OPTION 输入.vbeln_in <> "" + dtl.vbeln IN 输入.vbeln_in + ENDOPTION + OPTION 输入.width <> "" + dtl.width like 输入.width + ENDOPTION + GROUP BY + dtl.iostorinv_id, + dtl.vbeln + ) c ON ios.iostorinv_id = c.iostorinv_id + LEFT JOIN ( + SELECT + dis.iostorinv_id + FROM + st_ivt_iostorinvdis dis + LEFT JOIN pdm_bi_subpackagerelationrecord sub ON (sub.container_name = dis.pcsn AND dis.box_no = sub.package_box_sn AND dis.iostorinv_id = sub.bill_id) + WHERE + 1 = 1 + OPTION 输入.pcsn <> "" + dis.pcsn like 输入.pcsn + ENDOPTION + OPTION 输入.pcsn_in <> "" + dis.pcsn IN 输入.pcsn_in + ENDOPTION + OPTION 输入.box_no <> "" + dis.box_no like 输入.box_no + ENDOPTION + OPTION 输入.box_no_in <> "" + dis.box_no IN 输入.box_no_in + ENDOPTION + OPTION 输入.sap_pcsn <> "" + sub.sap_pcsn like 输入.sap_pcsn + ENDOPTION + OPTION 输入.sap_pcsn_in <> "" + sub.sap_pcsn IN 输入.sap_pcsn_in + ENDOPTION + GROUP BY + dis.iostorinv_id + ) b ON b.iostorinv_id = ios.iostorinv_id + LEFT JOIN ( + SELECT SUM(a.plan_qty) AS plan_qty, a.iostorinv_id FROM @@ -132,93 +309,10 @@ and b.is_delete='0' and b.is_overdue = '0' GROUP BY a.iostorinv_id - - ) a ON a.iostorinv_id = ios.iostorinv_id - WHERE - ios.io_type = '1' - and ios.is_delete='0' - and ios.stor_id in 输入.in_stor_id - - OPTION 输入.bill_code <> "" - ios.bill_code like 输入.bill_code - ENDOPTION - - OPTION 输入.sap_pcsn <> "" - sub.sap_pcsn like 输入.sap_pcsn - ENDOPTION - - OPTION 输入.sap_pcsn_in <> "" - sub.sap_pcsn IN 输入.sap_pcsn_in - ENDOPTION - - OPTION 输入.cust_code <> "" - (cu.cust_code like 输入.cust_code or - cu.cust_simple_name like 输入.cust_code) - ENDOPTION - - OPTION 输入.pcsn <> "" - dis.pcsn like 输入.pcsn - ENDOPTION - - OPTION 输入.pcsn_in <> "" - dis.pcsn IN 输入.pcsn_in - ENDOPTION - - OPTION 输入.is_upload <> "" - ios.is_upload = 输入.is_upload - ENDOPTION - - OPTION 输入.io_type <> "" - ios.io_type = 输入.io_type - ENDOPTION - - OPTION 输入.vbeln <> "" - dtl.vbeln like 输入.vbeln - ENDOPTION - - OPTION 输入.vbeln_in <> "" - dtl.vbeln IN 输入.vbeln_in - ENDOPTION - - OPTION 输入.width <> "" - dtl.width like 输入.width - ENDOPTION - - OPTION 输入.box_no <> "" - dis.box_no like 输入.box_no - ENDOPTION - - OPTION 输入.box_no_in <> "" - dis.box_no IN 输入.box_no_in - ENDOPTION - - OPTION 输入.billTypes <> "" - ios.bill_type in 输入.billTypes - ENDOPTION - - OPTION 输入.storIds <> "" - ios.stor_id in 输入.storIds - ENDOPTION - - OPTION 输入.create_mode <> "" - ios.create_mode = 输入.create_mode - ENDOPTION - - OPTION 输入.billStatuses <> "" - ios.bill_status in 输入.billStatuses - ENDOPTION - - OPTION 输入.begin_time <> "" - ios.input_time >= 输入.begin_time - ENDOPTION - - OPTION 输入.end_time <> "" - ios.input_time <= 输入.end_time - ENDOPTION - - ENDSELECT - ENDPAGEQUERY - ENDIF + ) a ON a.iostorinv_id = ios.iostorinv_id + ENDSELECT + ENDPAGEQUERY + ENDIF IF 输入.flag = "111" QUERY diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/wql/QST_IVT_INANDOUTRETRUN.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/wql/QST_IVT_INANDOUTRETRUN.wql index 59f19a2f0..77d568656 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/wql/QST_IVT_INANDOUTRETRUN.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/wql/QST_IVT_INANDOUTRETRUN.wql @@ -200,9 +200,8 @@ iostorinv_id FROM st_ivt_iostorinvdis dis - LEFT JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn - AND dis.box_no = sub.package_box_sn AND dis.iostorinv_id = sub.bill_id - WHERE + LEFT JOIN pdm_bi_subpackagerelationrecord sub ON (sub.container_name = dis.pcsn AND dis.box_no = sub.package_box_sn AND dis.iostorinv_id = sub.bill_id) + WHERE 1=1 OPTION 输入.pcsn <> "" dis.pcsn like 输入.pcsn From 5e29a39660567cb5e19bb6f1a5c313813e193edd Mon Sep 17 00:00:00 2001 From: zhangzq Date: Fri, 14 Feb 2025 09:59:05 +0800 Subject: [PATCH 12/60] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96WQL=E5=88=86?= =?UTF-8?q?=E9=A1=B5=E6=9F=A5=E8=AF=A2=E6=94=B9=E6=88=90selectcount(0);?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=AD=90=E5=8D=B7=E5=8C=85=E8=A3=85=E5=85=B3?= =?UTF-8?q?=E7=B3=BB=E9=A1=B5=E9=9D=A2=E5=8F=8A=E4=B8=8B=E8=BD=BD=E6=95=B0?= =?UTF-8?q?=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/nl/config/DataBaseConfig.java | 3 +- .../nl/modules/wql/core/bean/ResultBean.java | 8 +- .../wql/core/engine/syntax/wqlSELECT.java | 7 +- .../impl/SubpackagerelationServiceImpl.java | 20 ++--- .../nl/wms/pdm/wql/PDM_BI_SUBPACKAGER01.wql | 86 ++++++++++++++++--- 5 files changed, 94 insertions(+), 30 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/config/DataBaseConfig.java b/lms/nladmin-system/src/main/java/org/nl/config/DataBaseConfig.java index f679d3b82..88e916df8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/config/DataBaseConfig.java +++ b/lms/nladmin-system/src/main/java/org/nl/config/DataBaseConfig.java @@ -1,6 +1,7 @@ package org.nl.config; import com.alibaba.druid.pool.DruidDataSource; +import com.github.pagehelper.parser.CountSqlParser; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; @@ -12,7 +13,7 @@ import javax.sql.DataSource; @Configuration @Slf4j public class DataBaseConfig { - + public static CountSqlParser countSqlParser = new CountSqlParser(); @Primary @Bean(name = "dataSource") @ConfigurationProperties(prefix = "spring.datasource.druid") diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/wql/core/bean/ResultBean.java b/lms/nladmin-system/src/main/java/org/nl/modules/wql/core/bean/ResultBean.java index 62bb50fc1..6bf8ae107 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/wql/core/bean/ResultBean.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/wql/core/bean/ResultBean.java @@ -7,7 +7,7 @@ * * 创 建 者 :yumeng * 创建时间:2014-07-01 14:25:35 - * 文件版本:v1.0 + * 文件版本:v1.0 * *******************************************************/ package org.nl.modules.wql.core.bean; @@ -110,7 +110,7 @@ public class ResultBean implements Serializable, Cloneable { // */ // public WQLData getWQLData(WQLObject wo,int value){ // if (value < rslist.size()) { -// +// // ArrayList list = getResultSet(value); // try{ // WQLData wd = null; @@ -127,7 +127,7 @@ public class ResultBean implements Serializable, Cloneable { // } // return null; // } -// +// // /** // * 返回普通dataset // * @param value @@ -256,7 +256,7 @@ public class ResultBean implements Serializable, Cloneable { int nTotalSize = 0; if (null != rows2 && rows2.size() > 0) { JSONObject jrow2 = this.row2jsonobject((BasicDynaBean) rows2.get(0)); - nTotalSize = jrow2.getInteger("page_totalrecordnum"); + nTotalSize = jrow2.getInteger("count(0)"); } jres.put("totalElements", nTotalSize); return jres; diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/wql/core/engine/syntax/wqlSELECT.java b/lms/nladmin-system/src/main/java/org/nl/modules/wql/core/engine/syntax/wqlSELECT.java index 435359dc2..495a2f639 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/wql/core/engine/syntax/wqlSELECT.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/wql/core/engine/syntax/wqlSELECT.java @@ -1,6 +1,8 @@ package org.nl.modules.wql.core.engine.syntax; +import com.github.pagehelper.parser.CountSqlParser; import lombok.extern.slf4j.Slf4j; +import org.nl.config.DataBaseConfig; import org.nl.modules.wql.WQLCore; import org.nl.modules.wql.core.DataType; import org.nl.modules.wql.core.bean.ErrorBean; @@ -410,7 +412,8 @@ public class wqlSELECT extends IWQL { //对sql进行特殊处理,找出和第一个select配对的from,并把中间全部换为1 // String page_sql = change_1(wo.wp.sSQL); String page_sql = wo.wp.sSQL; - wo.wp.sSQL = "select count(*) PAGE_TOTALRECORDNUM from ( " + page_sql + ") TOTALRECORDVIEW"; + String countSql = DataBaseConfig.countSqlParser.getSmartCountSql(page_sql, "0"); + wo.wp.sSQL = countSql; } } //2.3、加session并执行 @@ -658,7 +661,7 @@ public class wqlSELECT extends IWQL { // this.wo = wo; // this.cmdLine = cmdLine; // this.list = list; -// +// // } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/service/impl/SubpackagerelationServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/service/impl/SubpackagerelationServiceImpl.java index 1eb0f7d84..24a8d081e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/service/impl/SubpackagerelationServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/service/impl/SubpackagerelationServiceImpl.java @@ -25,10 +25,9 @@ import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.io.IOException; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.function.Supplier; +import java.util.stream.Collectors; /** * @author lyd @@ -99,9 +98,11 @@ public class SubpackagerelationServiceImpl implements SubpackagerelationService map.put("date_of_production", date_of_production); map.put("date_of_FG_inbound", date_of_FG_inbound); map.put("status", status); - - - JSONObject json = WQL.getWO("PDM_BI_SUBPACKAGER01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "create_time DESC"); + JSONObject json = WQL.getWO("PDM_BI_SUBPACKAGER01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page),"workorder_id desc"); + JSONArray content = json.getJSONArray("content"); + String ids = content.stream().map(a -> ((JSONObject) a).getString("workorder_id")).collect(Collectors.joining("','")); + JSONArray subs = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("workorder_id in ('" + ids + "')").getResultJSONArray(0); + json.put("content",subs); return json; } @@ -199,7 +200,7 @@ public class SubpackagerelationServiceImpl implements SubpackagerelationService // 子卷号 是否计划外子卷 sap批次 制造完成日期 入库日期 状态 JSONObject map = new JSONObject(); - map.put("flag", "1"); + map.put("flag", "4"); if (ObjectUtil.isNotEmpty(material_code)) { map.put("material_code", "%" + material_code + "%"); } @@ -229,9 +230,8 @@ public class SubpackagerelationServiceImpl implements SubpackagerelationService map.put("date_of_production", date_of_production); map.put("date_of_FG_inbound", date_of_FG_inbound); map.put("status", status); - + map.put("limits", "10000"); JSONArray resultJSONArray = WQL.getWO("PDM_BI_SUBPACKAGER01").addParamMap(map).process().getResultJSONArray(0); - List> list = new ArrayList<>(); for (int i = 0; i < resultJSONArray.size(); i++) { JSONObject json = resultJSONArray.getJSONObject(i); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/PDM_BI_SUBPACKAGER01.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/PDM_BI_SUBPACKAGER01.wql index 7a17406cc..42546b5da 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/PDM_BI_SUBPACKAGER01.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/PDM_BI_SUBPACKAGER01.wql @@ -20,6 +20,7 @@ 输入.customer_name TYPEAS s_string 输入.customer_description TYPEAS s_string 输入.package_box_sn TYPEAS s_string + 输入.limits TYPEAS s_string 输入.container_name TYPEAS s_string 输入.is_un_plan_production TYPEAS s_string 输入.sap_pcsn TYPEAS s_string @@ -52,7 +53,7 @@ IF 输入.flag = "1" PAGEQUERY SELECT - * + workorder_id FROM pdm_bi_subpackagerelation WHERE @@ -112,14 +113,13 @@ IF 输入.flag = "2" PAGEQUERY - SELECT DISTINCT - sub.* - FROM - pdm_bi_subpackagerelation sub - INNER JOIN pdm_bi_subpackagerelationrecord record ON sub.container_name = record.container_name - WHERE - 1=1 - + SELECT + sub.workorder_id + FROM + pdm_bi_subpackagerelation sub + INNER JOIN ( SELECT subre.container_name FROM pdm_bi_subpackagerelationrecord subre WHERE 1 = 1 GROUP BY subre.container_name ) c ON sub.container_name = c.container_name + WHERE + 1 =1 OPTION 输入.material_code <> "" sub.product_name LIKE 输入.material_code ENDOPTION @@ -175,13 +175,12 @@ IF 输入.flag = "3" PAGEQUERY SELECT - sub.* + sub.workorder_id FROM pdm_bi_subpackagerelation sub LEFT JOIN pdm_bi_subpackagerelationrecord record ON sub.container_name = record.container_name WHERE - IFNULL(record.bill_code,'') = '' - + record.bill_code is null OPTION 输入.material_code <> "" sub.product_name LIKE 输入.material_code ENDOPTION @@ -232,4 +231,65 @@ ENDSELECT ENDPAGEQUERY - ENDIF \ No newline at end of file + ENDIF + IF 输入.flag = "4" + QUERY + SELECT + * + FROM + pdm_bi_subpackagerelation + WHERE + 1=1 + OPTION 输入.material_code <> "" + product_name LIKE 输入.material_code + ENDOPTION + + OPTION 输入.package_box_sn <> "" + package_box_sn LIKE 输入.package_box_sn + ENDOPTION + + OPTION 输入.material_name <> "" + product_description LIKE 输入.material_name + ENDOPTION + + OPTION 输入.sale_order_name <> "" + sale_order_name LIKE 输入.sale_order_name + ENDOPTION + + OPTION 输入.customer_name <> "" + customer_name LIKE 输入.customer_name + ENDOPTION + + OPTION 输入.customer_description <> "" + customer_description LIKE 输入.customer_description + ENDOPTION + + OPTION 输入.container_name <> "" + container_name LIKE 输入.container_name + ENDOPTION + + OPTION 输入.sap_pcsn <> "" + sap_pcsn LIKE 输入.sap_pcsn + ENDOPTION + + OPTION 输入.is_un_plan_production <> "" + is_un_plan_production = 输入.is_un_plan_production + ENDOPTION + + OPTION 输入.date_of_production <> "" + date_of_production = 输入.date_of_production + ENDOPTION + + OPTION 输入.date_of_FG_inbound <> "" + date_of_FG_inbound = 输入.date_of_FG_inbound + ENDOPTION + + OPTION 输入.status <> "" + status = 输入.status + ENDOPTION + OPTION 输入.limits <> "" + 1=1 order by workorder_id desc limit 0,输入.limits + ENDOPTION + ENDSELECT + ENDQUERY + ENDIF From 6741aa3fac25b324d56f53dd56cffa301b616026 Mon Sep 17 00:00:00 2001 From: zhangzq Date: Fri, 14 Feb 2025 10:01:41 +0800 Subject: [PATCH 13/60] =?UTF-8?q?opt:=E5=85=B3=E9=97=AD=E5=88=87=E9=9D=A2s?= =?UTF-8?q?ys=5Flog=E6=8F=92=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/nl/modules/logging/aspect/LogAspect.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java b/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java index 7abe78c07..c8f3fb172 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java @@ -105,9 +105,6 @@ public class LogAspect { log.info("[--request--][请求接口:{}][请求参数:{}]", url, params); currentTime.set(System.currentTimeMillis()); result = joinPoint.proceed(); -// SysLog log = new SysLog("INFO", System.currentTimeMillis() - currentTime.get()); - currentTime.remove(); -// logServsice.save(getUsername(), StringUtils.getBrowser(request), StringUtils.getIp(request), joinPoint, log); }catch (Throwable ex) { StringBuffer errorStack = new StringBuffer(); errorStack.append("
【异常堆栈:"); @@ -177,7 +174,7 @@ public class LogAspect { * @param joinPoint join point for advice * @param e exception */ - @AfterThrowing(pointcut = "logPointcut()", throwing = "e") +// @AfterThrowing(pointcut = "logPointcut()", throwing = "e") public void logAfterThrowing(JoinPoint joinPoint, Throwable e) { SysLog log = new SysLog("ERROR", System.currentTimeMillis() - currentTime.get()); currentTime.remove(); From 065c809a58306f6c02d034d464d5776f2b486ef8 Mon Sep 17 00:00:00 2001 From: "DESKTOP-5DIJMF9\\admin" <2388969634@qq.com> Date: Fri, 14 Feb 2025 13:49:05 +0800 Subject: [PATCH 14/60] =?UTF-8?q?opt:=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../util/impl/InBoxManageServiceImpl.java | 34 +- .../org/nl/modules/common/utils/FileUtil.java | 49 +- .../service/impl/FaultDeviceServiceImpl.java | 3 + .../acs/service/impl/AcsToWmsServiceImpl.java | 13 + .../mps/service/impl/BakingServiceImpl.java | 13 +- .../service/impl/VirtualOutServiceImpl.java | 3 + .../org/nl/wms/sch/service/RegionService.java | 2 +- .../sch/service/impl/RegionServiceImpl.java | 4 +- .../org/nl/wms/sch/tasks/CallEmpReelTask.java | 54 ++- .../service/impl/InchargeServiceImpl.java | 1 + .../service/impl/OutChargeServiceImpl.java | 4 + .../impl/RawAssistIStorServiceImpl.java | 9 +- .../nl/wms/st/inbill/wql/QST_IVT_INCHARGE.wql | 91 +++- .../st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql | 443 ++++++++++++++++-- .../nl/wms/st/instor/wql/QST_IVT_CHANGE.wql | 112 +++-- .../st/instor/wql/QST_IVT_HANDMOVESTOR.wql | 25 +- .../service/impl/CheckOutBillServiceImpl.java | 4 +- .../st/outbill/wql/QST_IVT_CHECKOUTBILL.wql | 256 +++++----- .../st/returns/wql/QST_IVT_INANDOUTRETRUN.wql | 5 +- .../nl/wms/stat/wql/ST_IVT_INBILLQUERY.wql | 12 +- .../nl/wms/stat/wql/ST_IVT_OUTBILLQUERY.wql | 2 +- 21 files changed, 821 insertions(+), 318 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBoxManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBoxManageServiceImpl.java index ea00fbac5..a4e639629 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBoxManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/InBoxManageServiceImpl.java @@ -104,13 +104,13 @@ public class InBoxManageServiceImpl implements InBoxManageService { .eq("task_type", "010702") .eq("is_delete", "0") .lt("task_status", TaskStatusEnum.FINISHED.getCode())); - if (count>0){ - throw new BadRequestException("当前木箱入库任务已存在"+ boxNo); + if (count > 0) { + throw new BadRequestException("当前木箱入库任务已存在" + boxNo); } //查询仓库是否存在相同木箱 JSONArray stIvtStructattr = WQLObject.getWQLObject("st_ivt_structattr").query("storagevehicle_code = '" + boxNo + "'").getResultJSONArray(0); - if (stIvtStructattr!=null && stIvtStructattr.size()>0){ - throw new BadRequestException("当前木箱已经存在库中"+stIvtStructattr.getJSONObject(0).getString("struct_code")); + if (stIvtStructattr != null && stIvtStructattr.size() > 0) { + throw new BadRequestException("当前木箱已经存在库中" + stIvtStructattr.getJSONObject(0).getString("struct_code")); } // 查询木箱信息 BstIvtBoxinfo boxDao = iBstIvtBoxinfoService.getOne( @@ -201,10 +201,10 @@ public class InBoxManageServiceImpl implements InBoxManageService { throw new BadRequestException("扫描的木箱个数和选择的木箱层数不一致!"); } Set collect = Arrays.stream(split).collect(Collectors.toSet()); - if (collect.size()!=split.length){ + if (collect.size() != split.length) { throw new BadRequestException("扫描的木箱条码不能相同"); } - if (split.length>3){ + if (split.length > 3) { throw new BadRequestException("堆叠木箱最大不能超过3层"); } // 校验是否有相同木箱号 @@ -218,8 +218,8 @@ public class InBoxManageServiceImpl implements InBoxManageService { //查询仓库是否存在相同木箱 for (String boxSn : split) { JSONArray stIvtStructattr = WQLObject.getWQLObject("st_ivt_structattr").query("storagevehicle_code = '" + boxSn + "'").getResultJSONArray(0); - if (stIvtStructattr!=null && stIvtStructattr.size()>0){ - throw new BadRequestException("当前木箱已经存在库中"+stIvtStructattr.getJSONObject(0).getString("struct_code")); + if (stIvtStructattr != null && stIvtStructattr.size() > 0) { + throw new BadRequestException("当前木箱已经存在库中" + stIvtStructattr.getJSONObject(0).getString("struct_code")); } } @@ -349,13 +349,13 @@ public class InBoxManageServiceImpl implements InBoxManageService { // 手工入库 if (whereJson.getString("bill_type").equals(IOSEnum.IN_TYPE.code("手工入库"))) { if (!ifFirst) { - throw new BadRequestException("此木箱【"+whereJson.getString("box_no")+"】未入过库,请选择【生产入库】!"); + throw new BadRequestException("此木箱【" + whereJson.getString("box_no") + "】未入过库,请选择【生产入库】!"); } } if (whereJson.getString("bill_type").equals(IOSEnum.IN_TYPE.code("生产入库"))) { if (ifFirst) { - throw new BadRequestException("此木箱【"+whereJson.getString("box_no")+"】已入过库,请选择【手工入库】!"); + throw new BadRequestException("此木箱【" + whereJson.getString("box_no") + "】已入过库,请选择【手工入库】!"); } } } @@ -368,15 +368,15 @@ public class InBoxManageServiceImpl implements InBoxManageService { JSONObject param = new JSONObject(); param.put("pcsn", ""); WQLObject.getWQLObject("md_pb_storagevehicleext") - .update(param,"pcsn = '"+whereJson.getString("box_no")+"'"); + .update(param, "pcsn = '" + whereJson.getString("box_no") + "'"); } // 更新子卷包装关系创建人 JSONObject param2 = new JSONObject(); - param2.put("create_id",SecurityUtils.getCurrentUserId()); - param2.put("create_name",SecurityUtils.getCurrentNickName()); + param2.put("create_id", SecurityUtils.getCurrentUserId()); + param2.put("create_name", SecurityUtils.getCurrentNickName()); WQLObject.getWQLObject("pdm_bi_subpackagerelation") - .update(param2,"package_box_sn = '"+whereJson.getString("box_no")+"'"); + .update(param2, "package_box_sn = '" + whereJson.getString("box_no") + "'"); /* * 查询mes木箱信息,插入木箱信息表 @@ -423,6 +423,12 @@ public class InBoxManageServiceImpl implements InBoxManageService { param.put("height", boxDao.getBox_high()); param.put("containerType", boxDao.getVehicle_type()); String type = whereJson.getString("bill_type"); + if (StrUtil.isEmpty(type)) { + throw new BadRequestException("入库类型不能为空!"); + } + if (type.length() < 4) { + throw new BadRequestException("入库类型字段长度不能少于4!"); + } param.put("barcode", whereJson.getString("box_no") + "-" + type.substring(3, 4)); //根据木箱高度,判断入库仓位的高度 diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/common/utils/FileUtil.java b/lms/nladmin-system/src/main/java/org/nl/modules/common/utils/FileUtil.java index df4af2968..e221f58f0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/common/utils/FileUtil.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/common/utils/FileUtil.java @@ -16,6 +16,7 @@ package org.nl.modules.common.utils;/* import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.poi.excel.BigExcelWriter; import cn.hutool.poi.excel.ExcelUtil; import org.apache.poi.util.IOUtils; @@ -203,26 +204,34 @@ public class FileUtil extends cn.hutool.core.io.FileUtil { * 导出excel */ public static void downloadExcel(List> list, HttpServletResponse response) throws IOException { - String tempPath = SYS_TEM_DIR + IdUtil.fastSimpleUUID() + ".xlsx"; - File file = new File(tempPath); - BigExcelWriter writer = ExcelUtil.getBigWriter(file); - // 一次性写出内容,使用默认样式,强制输出标题 - writer.write(list, true); - SXSSFSheet sheet = (SXSSFSheet)writer.getSheet(); - //上面需要强转SXSSFSheet 不然没有trackAllColumnsForAutoSizing方法 - sheet.trackAllColumnsForAutoSizing(); - //列宽自适应 - writer.autoSizeColumnAll(); - //response为HttpServletResponse对象 - response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"); - //test.xls是弹出下载对话框的文件名,不能为中文,中文请自行编码 - response.setHeader("Content-Disposition", "attachment;filename=file.xlsx"); - ServletOutputStream out = response.getOutputStream(); - // 终止后删除临时文件 - file.deleteOnExit(); - writer.flush(out, true); - //此处记得关闭输出Servlet流 - IoUtil.close(out); + ServletOutputStream out = null; + BigExcelWriter writer; + try { + String tempPath = SYS_TEM_DIR + IdUtil.fastSimpleUUID() + ".xlsx"; + File file = new File(tempPath); + writer = ExcelUtil.getBigWriter(file); + // 一次性写出内容,使用默认样式,强制输出标题 + writer.write(list, true); + SXSSFSheet sheet = (SXSSFSheet) writer.getSheet(); + //上面需要强转SXSSFSheet 不然没有trackAllColumnsForAutoSizing方法 + sheet.trackAllColumnsForAutoSizing(); + //列宽自适应 + writer.autoSizeColumnAll(); + //response为HttpServletResponse对象 + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"); + //test.xls是弹出下载对话框的文件名,不能为中文,中文请自行编码 + response.setHeader("Content-Disposition", "attachment;filename=file.xlsx"); + out = response.getOutputStream(); + // 终止后删除临时文件 + file.deleteOnExit(); + writer.flush(out, true); + } finally { + //此处记得关闭输出Servlet流 + if (ObjectUtil.isNotEmpty(out)) { + IoUtil.close(out); + } + } + } public static String getFileType(String type) { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/FaultDeviceServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/FaultDeviceServiceImpl.java index 358478262..e400cfff2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/FaultDeviceServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/master/service/impl/FaultDeviceServiceImpl.java @@ -67,6 +67,9 @@ public class FaultDeviceServiceImpl implements FaultDeviceService { JSONObject param = new JSONObject(); if (ObjectUtil.isNotEmpty(device_code)) { JSONObject device_jo = WQLObject.getWQLObject("EM_BI_MonitorDevice").query("device_code = '" + device_code + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(device_jo)){ + throw new BadRequestException("未查询到设备号为["+device_code+"]的设备信息!"); + } param.put("device_code", device_code); param.put("product_area", device_jo.getString("product_area")); } else { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 06471b016..21ff05b89 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -186,8 +186,14 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { if (tryLock) { JSONObject taskObj = WQLObject.getWQLObject("SCH_BASE_Task") .query("task_id = '" + task_id + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(taskObj)){ + throw new BadRequestException("未找到任务标识为:" + task_id + "的任务!"); + } // 任务处理类 String processing_class = taskObj.getString("handle_class"); + if (StrUtil.isEmpty(processing_class)) { + throw new BadRequestException("当前任务的处理类未找到!"); + } //1:执行中,2:完成 ,3:acs取消 String acs_task_status = row.getString("task_status"); String car_no = row.getString("car_no"); @@ -2109,7 +2115,14 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { WQLObject veExtTab = WQLObject.getWQLObject("md_pb_storagevehicleext"); // 6-退货入库 String materialBarcode = whereJson.getString("material_barcode"); + if(StrUtil.isEmpty(materialBarcode)){ + throw new BadRequestException("当前木箱号不能为空!"); + } String[] box_arr = materialBarcode.split("-"); + if (box_arr.length < 2) { + // 处理分割结果不足的情况 + throw new BadRequestException("当前木箱号数据异常!"+box_arr.toString()); + } //获取当前的入库类型 whereJson.put("bill_type", "000" + box_arr[1]); whereJson.put("box_no", box_arr[0]); 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 50780f10f..9b89694a3 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 @@ -5,12 +5,10 @@ import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.nl.b_lms.sch.point.service.IschBasePointService; import org.nl.common.utils.SecurityUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.utils.RedisUtils; @@ -18,7 +16,6 @@ import org.nl.common.utils.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; -import org.nl.system.service.param.impl.SysParamServiceImpl; import org.nl.wms.basedata.st.service.impl.UserAreaServiceImpl; import org.nl.wms.ext.acs.service.impl.WmsToAcsServiceImpl; import org.nl.wms.pda.mps.eum.RegionTypeEnum; @@ -256,7 +253,7 @@ public class BakingServiceImpl implements BakingService { JSONObject map = new JSONObject(); map.put("flag", "1"); if (product_area.equals("B2")) { - map.put("flag", "3"); + map.put("flag", "302"); } map.put("reging_id", reging_id); map.put("point_location", point_location); @@ -521,7 +518,11 @@ public class BakingServiceImpl implements BakingService { hotParam.put("task_id", task_id); hotParam.put("start_point_code", point_code1); hotParam.put("end_point_code", point_code2); - String point_temperature = (String) redisUtils.hget(point_code1, "temperature"); + Object pt = redisUtils.hget(point_code1, "temperature"); + if (ObjectUtil.isEmpty(pt)) { + throw new BadRequestException("当前操作点位设备:"+point_code1+",无法获取温度,请稍后再试!"); + } + String point_temperature = String.valueOf(pt); hotParam.put("temperature", point_temperature); if (ObjectUtil.isEmpty(last_hot_mst)) { hotParam.put("oven_time", "480"); @@ -757,7 +758,7 @@ public class BakingServiceImpl implements BakingService { rows.add(jo); new WmsToAcsServiceImpl().action(rows); JSONObject result = new JSONObject(); - result.put("message", "操作成功!"); + result.put("message", "烘箱三色灯报警已关闭,请联系烘箱设备维护人员处理烘箱报警问题!!"); return result; } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/VirtualOutServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/VirtualOutServiceImpl.java index 5861731de..146e64dbe 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/VirtualOutServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/VirtualOutServiceImpl.java @@ -97,6 +97,9 @@ public class VirtualOutServiceImpl implements VirtualOutService { if (ObjectUtil.isNotEmpty(whereJson.getString("box_no"))) { JSONObject jsonSub = WQL.getWO("PDA_VIRTUALOUT").addParam("flag", "4").addParam("box_no", whereJson.getString("box_no")).process().uniqueResult(0); + if (ObjectUtil.isNotEmpty(jsonSub)){ + throw new BadRequestException("未查询到设木箱号为["+whereJson.getString("box_no")+"]的子卷包装关系信息!"); + } jo.put("net_weight_num", ObjectUtil.isNotEmpty(jsonSub) ? NumberUtil.round(jsonSub.getString("net_weight_num"), 3) : "0"); } else { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/RegionService.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/RegionService.java index 1da65aa83..6f1406ab8 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/RegionService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/RegionService.java @@ -29,7 +29,7 @@ public interface RegionService { * @param whereJson 条件参数 * @return List */ - List queryAll(Map whereJson); + List queryAll(String whereJson); /** * 根据ID查询 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/RegionServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/RegionServiceImpl.java index d0c01dd67..5572770a0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/RegionServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/RegionServiceImpl.java @@ -50,9 +50,9 @@ public class RegionServiceImpl implements RegionService { } @Override - public List queryAll(Map whereJson) { + public List queryAll(String whereJson) { WQLObject wo = WQLObject.getWQLObject("sch_base_region"); - JSONArray arr = wo.query().getResultJSONArray(0); + JSONArray arr = wo.query(whereJson).getResultJSONArray(0); if (ObjectUtil.isNotEmpty(arr)) { return arr.toJavaList(RegionDto.class); } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java index 78697c4c5..54ac8813e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java @@ -123,12 +123,11 @@ public class CallEmpReelTask extends AbstractAcsTask { if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { // 更改任务状态为完成 - HashMap hashMap = new HashMap<>(); - hashMap.put("task_status", TaskStatusEnum.FINISHED.getCode()); - hashMap.put("update_optid", SecurityUtils.getCurrentUserId()); - hashMap.put("update_optname", SecurityUtils.getCurrentUsername()); - hashMap.put("update_time", DateUtil.now()); - taskTab.update(hashMap,"task_id = '" + task_id + "'"); + jsonTask.put("task_status", TaskStatusEnum.FINISHED.getCode()); + jsonTask.put("update_optid", SecurityUtils.getCurrentUserId()); + jsonTask.put("update_optname", SecurityUtils.getCurrentUsername()); + jsonTask.put("update_time", DateUtil.now()); + taskTab.update(jsonTask); String point_code1 = jsonTask.getString("point_code1"); String point_code2 = jsonTask.getString("point_code2"); @@ -136,7 +135,9 @@ public class CallEmpReelTask extends AbstractAcsTask { String point_code4 = jsonTask.getString("point_code4"); JSONObject jsonRaw = rawTab.query("container_name ='" + jsonTask.getString("material_code") + "' AND status <> '09' AND is_delete = '0'").uniqueResult(0); - + if (ObjectUtil.isEmpty(jsonRaw)) { + throw new BadRequestException("未找到满足条件的生箔工单:" + jsonTask.getString("material_code")); + } // 判断是两个点位的任务还是四个点位的任务 if (ObjectUtil.isEmpty(point_code3)) { // 判断是取满 or 取空 :取满起点是生箔区域、取空起点是冷却区域 @@ -231,8 +232,7 @@ public class CallEmpReelTask extends AbstractAcsTask { jsonIvt2.put("point_status", "2"); jsonIvt2.put("material_code", jsonTask.getString("material_code")); point_tab.update(jsonIvt2); - } - else if (jsonTask.getString("task_type").equals("010106")) { + } else if (jsonTask.getString("task_type").equals("010106")) { BakingServiceImpl bean = SpringContextHolder.getBean(BakingServiceImpl.class); WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase"); // 物料表 JSONObject requestParam = jsonTask.getJSONObject("request_param"); @@ -299,8 +299,8 @@ public class CallEmpReelTask extends AbstractAcsTask { } else { // 校验终点是否存在 JSONObject jsonIvt2 = ivtTab.query("full_point_code ='" + point_code4 + "'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonIvt)) { - throw new BadRequestException("终点未找到可用点位:" + point_code2); + if (ObjectUtil.isEmpty(jsonIvt2)) { + throw new BadRequestException("终点未找到可用点位:" + jsonIvt2); } // 更新工单状态为完成 @@ -324,6 +324,37 @@ public class CallEmpReelTask extends AbstractAcsTask { cache_param.put("cool_ivt_status", "01"); ivtTab.update(cache_param, "full_point_code ='" + point_code4 + "'"); + /*// 插入入库单 + JSONObject jsonMater = WQLObject.getWQLObject("md_me_materialbase").query("material_code = '" + jsonRaw.getString("product_name") + "'").uniqueResult(0); + if (ObjectUtil.isEmpty(jsonMater)) { + throw new BadRequestException("产品不存在"); + } + + JSONObject jsonRegion = new JSONObject(); + jsonRegion.put("iostorinv_id", IdUtil.getSnowflake(1, 1).nextId()); + jsonRegion.put("bill_code", CodeUtil.getNewCode("COOLREGION_BILL_CODE")); + jsonRegion.put("io_type", "0"); + jsonRegion.put("material_id", jsonMater.getString("material_id")); + jsonRegion.put("pcsn", jsonRaw.getString("container_name")); + jsonRegion.put("vehicle_code", ""); + jsonRegion.put("qty", jsonRaw.getString("productin_qty")); + jsonRegion.put("qty_unit_id", jsonMater.get("base_unit_id")); + jsonRegion.put("bill_status", "50"); + jsonRegion.put("start_point_code", point_code2); + jsonRegion.put("end_point_code", point_code4); + jsonRegion.put("cust_id", ""); + jsonRegion.put("create_mode", "03"); + jsonRegion.put("task_id", task_id); + jsonRegion.put("create_id", currentUserId); + jsonRegion.put("create_name", currentUsername); + jsonRegion.put("create_time", DateUtil.now()); + jsonRegion.put("update_optid", currentUserId); + jsonRegion.put("update_optname", currentUsername); + jsonRegion.put("update_time", DateUtil.now()); + jsonRegion.put("confirm_optid", currentUserId); + jsonRegion.put("confirm_optname", currentUsername); + jsonRegion.put("confirm_time", DateUtil.now()); + coolTab.insert(jsonRegion);*/ } } @@ -341,6 +372,7 @@ public class CallEmpReelTask extends AbstractAcsTask { } @Override + @Transactional(rollbackFor = Exception.class) public String createTask(JSONObject form) { WQLObject tab = WQLObject.getWQLObject("SCH_BASE_Task"); String currentUserId = SecurityUtils.getCurrentUserId(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/InchargeServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/InchargeServiceImpl.java index 065f07f8f..ff07bb6f2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/InchargeServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/InchargeServiceImpl.java @@ -59,6 +59,7 @@ public class InchargeServiceImpl implements InchargeService { } if (ObjectUtil.isNotEmpty(sap_pcsn)) { map.put("sap_pcsn", "%" + sap_pcsn + "%"); + map.put("flag", "11"); } if (ObjectUtil.isNotEmpty(pcsn)) { map.put("pcsn", "%" + pcsn + "%"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/OutChargeServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/OutChargeServiceImpl.java index cec8ec850..13ce24b23 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/OutChargeServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/OutChargeServiceImpl.java @@ -96,6 +96,10 @@ public class OutChargeServiceImpl implements OutChargeService { map.put("end_time", end_time); } + if (ObjectUtil.isNotEmpty(map.get("sap_pcsn"))) { + map.put("flag", "151"); + } + JSONObject json = WQL.getWO("QST_IVT_RAWASSISTISTOR").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "ios.iostorinv_id DESC"); return json; } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java index debaae6a7..e22446fb4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java @@ -75,7 +75,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { @Override public Map pageQuery(Map whereJson, Pageable page) { HashMap map = new HashMap<>(); - map.put("flag", "1"); + map.put("flag", "30"); map.put("buss_type", (String) whereJson.get("buss_type")); map.put("stor_id", (String) whereJson.get("stor_id")); map.put("bill_type", (String) whereJson.get("bill_type")); @@ -172,6 +172,10 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { map.put("in_stor_id", in_stor_id); } + if (ObjectUtil.isNotEmpty(map.get("sap_pcsn_in"))) { + map.put("flag", "29"); + } + JSONObject jo = WQL.getWO("QST_IVT_RAWASSISTISTOR").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "iostorinv_id desc"); return jo; } @@ -1873,7 +1877,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { @Transactional(rollbackFor = Exception.class) public void download(Map whereJson, HttpServletResponse response) throws IOException { HashMap map = new HashMap<>(); - map.put("flag", "1"); + map.put("flag", "199"); map.put("buss_type", (String) whereJson.get("buss_type")); map.put("stor_id", (String) whereJson.get("stor_id")); map.put("bill_type", (String) whereJson.get("bill_type")); @@ -1969,7 +1973,6 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { if (ObjectUtil.isNotEmpty(in_stor_id)) { map.put("in_stor_id", in_stor_id); } - JSONArray resultJSONArray = WQL.getWO("QST_IVT_RAWASSISTISTOR").addParamMap(map).process().getResultJSONArray(0); List> list = new ArrayList<>(); for (int i = 0; i < resultJSONArray.size(); i++) { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_INCHARGE.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_INCHARGE.wql index bcdce16f5..e7224a4cb 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_INCHARGE.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_INCHARGE.wql @@ -49,12 +49,77 @@ IF 输入.flag = "1" PAGEQUERY - SELECT DISTINCT + SELECT ios.* FROM ST_IVT_IOStorInv ios - LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinv_id = ios.iostorinv_id - LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = dis.pcsn AND dis.box_no = sub.package_box_sn + INNER JOIN ( + SELECT + dis.iostorinv_id + FROM + st_ivt_iostorinvdis dis + WHERE + 1 = 1 + OPTION 输入.pcsn <> "" + dis.pcsn like 输入.pcsn + ENDOPTION + GROUP BY + dis.iostorinv_id + ) b ON b.iostorinv_id = ios.iostorinv_id + WHERE + ios.is_delete = '0' + AND ios.io_type = '0' + AND ios.bill_status = '99' + AND ios.is_writeoff = '0' + AND ios.bill_type = '0002' + and ios.stor_id in 输入.in_stor_id + OPTION 输入.bill_code <> "" + ios.bill_code like 输入.bill_code + ENDOPTION + OPTION 输入.stor_id <> "" + ios.stor_id = 输入.stor_id + ENDOPTION + OPTION 输入.bill_type <> "" + ios.bill_type = 输入.bill_type + ENDOPTION + OPTION 输入.create_mode <> "" + ios.create_mode = 输入.create_mode + ENDOPTION + OPTION 输入.begin_time <> "" + ios.input_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + ios.input_time <= 输入.end_time + ENDOPTION + + ENDSELECT + ENDPAGEQUERY + ENDIF + + IF 输入.flag = "11" + PAGEQUERY + SELECT + ios.* + FROM + ST_IVT_IOStorInv ios + INNER JOIN ( + SELECT + dis.iostorinv_id + FROM + st_ivt_iostorinvdis dis + LEFT JOIN pdm_bi_subpackagerelation sub ON ( sub.container_name = dis.pcsn AND dis.box_no = sub.package_box_sn ) + WHERE + 1 = 1 + OPTION 输入.sap_pcsn <> "" + sub.sap_pcsn like 输入.sap_pcsn + ENDOPTION + + OPTION 输入.pcsn <> "" + dis.pcsn like 输入.pcsn + ENDOPTION + GROUP BY + dis.iostorinv_id + ) b ON b.iostorinv_id = ios.iostorinv_id WHERE ios.is_delete = '0' AND ios.io_type = '0' @@ -62,39 +127,25 @@ AND ios.is_writeoff = '0' AND ios.bill_type = '0002' and ios.stor_id in 输入.in_stor_id - OPTION 输入.bill_code <> "" ios.bill_code like 输入.bill_code ENDOPTION - OPTION 输入.stor_id <> "" ios.stor_id = 输入.stor_id ENDOPTION - - OPTION 输入.sap_pcsn <> "" - sub.sap_pcsn like 输入.sap_pcsn - ENDOPTION - - OPTION 输入.pcsn <> "" - dis.pcsn like 输入.pcsn - ENDOPTION - OPTION 输入.bill_type <> "" ios.bill_type = 输入.bill_type ENDOPTION - OPTION 输入.create_mode <> "" ios.create_mode = 输入.create_mode ENDOPTION - OPTION 输入.begin_time <> "" ios.input_time >= 输入.begin_time ENDOPTION - OPTION 输入.end_time <> "" ios.input_time <= 输入.end_time ENDOPTION - ENDSELECT - ENDPAGEQUERY - ENDIF \ No newline at end of file + ENDSELECT + ENDPAGEQUERY + ENDIF diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql index 54f3dae62..02da64dfd 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql @@ -37,6 +37,7 @@ 输入.row_num TYPEAS s_string 输入.block_num TYPEAS s_string 输入.placement_type TYPEAS s_string + 输入.limits TYPEAS s_string 输入.sql_str TYPEAS f_string 输入.in_stor_id TYPEAS f_string 输入.in_layer_num TYPEAS f_string @@ -72,7 +73,7 @@ IF 输入.flag = "1" PAGEQUERY - SELECT DISTINCT + SELECT ios.*, IFNULL(dtl.vbeln,'') as vbeln FROM @@ -145,6 +146,282 @@ OPTION 输入.end_time <> "" ios.input_time <= 输入.end_time ENDOPTION + ENDSELECT + ENDPAGEQUERY + ENDIF + + IF 输入.flag = "199" + QUERY + SELECT + ios.*, + IFNULL(dtl.vbeln,'') as vbeln + FROM + ST_IVT_IOStorInv ios + LEFT JOIN st_ivt_iostorinvdtl dtl ON ios.iostorinv_id = dtl.iostorinv_id + LEFT JOIN st_ivt_iostorinvdis dis ON dtl.iostorinvdtl_id = dis.iostorinvdtl_id + LEFT JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND ios.bill_code = sub.bill_code + WHERE + ios.is_delete = '0' + AND + ios.io_type = '0' + AND ios.stor_id in 输入.in_stor_id + + OPTION 输入.box_no <> "" + dis.box_no like 输入.box_no + ENDOPTION + + OPTION 输入.box_no_in <> "" + dis.box_no IN 输入.box_no_in + ENDOPTION + + OPTION 输入.vbeln <> "" + dtl.vbeln like 输入.vbeln + ENDOPTION + + OPTION 输入.vbeln_in <> "" + dtl.vbeln IN 输入.vbeln_in + ENDOPTION + + OPTION 输入.bill_code <> "" + ios.bill_code like 输入.bill_code + ENDOPTION + + OPTION 输入.sap_pcsn <> "" + sub.sap_pcsn like 输入.sap_pcsn + ENDOPTION + + OPTION 输入.sap_pcsn_in <> "" + sub.sap_pcsn IN 输入.sap_pcsn_in + ENDOPTION + + OPTION 输入.pcsn <> "" + dis.pcsn like 输入.pcsn + ENDOPTION + + OPTION 输入.pcsn_in <> "" + dis.pcsn IN 输入.pcsn_in + ENDOPTION + + OPTION 输入.stor_id <> "" + ios.stor_id = 输入.stor_id + ENDOPTION + + OPTION 输入.bill_type <> "" + ios.bill_type = 输入.bill_type + ENDOPTION + + OPTION 输入.create_mode <> "" + ios.create_mode = 输入.create_mode + ENDOPTION + + OPTION 输入.bill_status <> "" + ios.bill_status = 输入.bill_status + ENDOPTION + + OPTION 输入.begin_time <> "" + ios.input_time >= 输入.begin_time + ENDOPTION + + OPTION 输入.end_time <> "" + ios.input_time <= 输入.end_time + ENDOPTION + limit 0,10000 + ENDSELECT + ENDQUERY + ENDIF + + IF 输入.flag = "29" + PAGEQUERY + SELECT + ios2.*, + IFNULL(dtl2.vbeln,'') as vbeln + FROM + ( + SELECT + ios.* + FROM + ST_IVT_IOStorInv ios + WHERE + ios.is_delete = '0' + AND ios.io_type = '0' + AND ios.stor_id in 输入.in_stor_id + OPTION 输入.stor_id <> "" + ios.stor_id = 输入.stor_id + ENDOPTION + + OPTION 输入.bill_type <> "" + ios.bill_type = 输入.bill_type + ENDOPTION + + OPTION 输入.bill_code <> "" + ios.bill_code like 输入.bill_code + ENDOPTION + + OPTION 输入.create_mode <> "" + ios.create_mode = 输入.create_mode + ENDOPTION + + OPTION 输入.bill_status <> "" + ios.bill_status = 输入.bill_status + ENDOPTION + + OPTION 输入.begin_time <> "" + ios.input_time >= 输入.begin_time + ENDOPTION + + OPTION 输入.end_time <> "" + ios.input_time <= 输入.end_time + ENDOPTION + ) ios2 + INNER JOIN ( + SELECT + dis.iostorinv_id + FROM + st_ivt_iostorinvdis dis + LEFT JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn + WHERE + 1 = 1 + OPTION 输入.box_no <> "" + dis.box_no like 输入.box_no + ENDOPTION + + OPTION 输入.box_no_in <> "" + dis.box_no IN 输入.box_no_in + ENDOPTION + + OPTION 输入.pcsn <> "" + dis.pcsn like 输入.pcsn + ENDOPTION + + OPTION 输入.pcsn_in <> "" + dis.pcsn IN 输入.pcsn_in + ENDOPTION + + OPTION 输入.sap_pcsn <> "" + sub.sap_pcsn like 输入.sap_pcsn + ENDOPTION + + OPTION 输入.sap_pcsn_in <> "" + sub.sap_pcsn IN 输入.sap_pcsn_in + ENDOPTION + GROUP BY dis.iostorinv_id + ) dis2 ON dis2.iostorinv_id = ios2.iostorinv_id + INNER JOIN ( + SELECT + dtl.iostorinv_id, + MAX( vbeln ) AS vbeln + FROM + st_ivt_iostorinvdtl dtl + WHERE + 1 = 1 + OPTION 输入.vbeln <> "" + dtl.vbeln like 输入.vbeln + ENDOPTION + + OPTION 输入.vbeln_in <> "" + dtl.vbeln IN 输入.vbeln_in + ENDOPTION + GROUP BY + dtl.iostorinv_id + ) dtl2 ON ios2.iostorinv_id = dtl2.iostorinv_id + + ENDSELECT + ENDPAGEQUERY + ENDIF + + IF 输入.flag = "30" + PAGEQUERY + SELECT + ios2.*, + IFNULL(dtl2.vbeln,'') as vbeln + FROM + ( + SELECT + ios.* + FROM + ST_IVT_IOStorInv ios + WHERE + ios.is_delete = '0' + AND ios.io_type = '0' + AND ios.stor_id in 输入.in_stor_id + OPTION 输入.stor_id <> "" + ios.stor_id = 输入.stor_id + ENDOPTION + + OPTION 输入.bill_type <> "" + ios.bill_type = 输入.bill_type + ENDOPTION + + OPTION 输入.bill_code <> "" + ios.bill_code like 输入.bill_code + ENDOPTION + + OPTION 输入.create_mode <> "" + ios.create_mode = 输入.create_mode + ENDOPTION + + OPTION 输入.bill_status <> "" + ios.bill_status = 输入.bill_status + ENDOPTION + + OPTION 输入.begin_time <> "" + ios.input_time >= 输入.begin_time + ENDOPTION + + OPTION 输入.end_time <> "" + ios.input_time <= 输入.end_time + ENDOPTION + ) ios2 + INNER JOIN ( + SELECT + dis.iostorinv_id + FROM + st_ivt_iostorinvdis dis + WHERE + 1 = 1 + OPTION 输入.box_no <> "" + dis.box_no like 输入.box_no + ENDOPTION + + OPTION 输入.box_no_in <> "" + dis.box_no IN 输入.box_no_in + ENDOPTION + + OPTION 输入.pcsn <> "" + dis.pcsn like 输入.pcsn + ENDOPTION + + OPTION 输入.pcsn_in <> "" + dis.pcsn IN 输入.pcsn_in + ENDOPTION + + OPTION 输入.sap_pcsn <> "" + sub.sap_pcsn like 输入.sap_pcsn + ENDOPTION + + OPTION 输入.sap_pcsn_in <> "" + sub.sap_pcsn IN 输入.sap_pcsn_in + ENDOPTION + GROUP BY dis.iostorinv_id + ) dis2 ON dis2.iostorinv_id = ios2.iostorinv_id + INNER JOIN ( + SELECT + dtl.iostorinv_id, + MAX( vbeln ) AS vbeln + FROM + st_ivt_iostorinvdtl dtl + WHERE + 1 = 1 + OPTION 输入.vbeln <> "" + dtl.vbeln like 输入.vbeln + ENDOPTION + + OPTION 输入.vbeln_in <> "" + dtl.vbeln IN 输入.vbeln_in + ENDOPTION + GROUP BY + dtl.iostorinv_id + ) dtl2 ON ios2.iostorinv_id = dtl2.iostorinv_id ENDSELECT ENDPAGEQUERY @@ -715,52 +992,128 @@ IF 输入.flag = "15" PAGEQUERY - SELECT DISTINCT - ios.* + SELECT + ios2.* FROM - ST_IVT_IOStorInv ios - LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinv_id = ios.iostorinv_id - LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = dis.pcsn AND dis.box_no = sub.package_box_sn - WHERE - ios.is_delete = '0' - AND - ios.io_type = '1' - AND - ios.is_writeoff = '0' - AND - ios.bill_status = '99' - AND - ios.bill_type in ('1001','1009') - AND - ios.stor_id in 输入.in_stor_id + ( + SELECT + ios.* + FROM + ST_IVT_IOStorInv ios + WHERE + ios.is_delete = '0' + AND + ios.io_type = '1' + AND + ios.is_writeoff = '0' + AND + ios.bill_status = '99' + AND + ios.bill_type in ('1001','1009') + AND + ios.stor_id in 输入.in_stor_id + OPTION 输入.bill_code <> "" + ios.bill_code like 输入.bill_code + ENDOPTION + OPTION 输入.stor_id <> "" + ios.stor_id = 输入.stor_id + ENDOPTION + OPTION 输入.bill_type <> "" + ios.bill_type = 输入.bill_type + ENDOPTION + OPTION 输入.create_mode <> "" + ios.create_mode = 输入.create_mode + ENDOPTION + OPTION 输入.bill_status <> "" + ios.bill_status = 输入.bill_status + ENDOPTION + OPTION 输入.begin_time <> "" + ios.input_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + ios.input_time <= 输入.end_time + ENDOPTION + ) ios2 + INNER JOIN ( + SELECT + dis.iostorinv_id + FROM + st_ivt_iostorinvdis dis + WHERE + 1 = 1 + OPTION 输入.pcsn <> "" + dis.pcsn like 输入.pcsn + ENDOPTION + OPTION 输入.sap_pcsn <> "" + sub.sap_pcsn like 输入.sap_pcsn + ENDOPTION + GROUP BY dis.iostorinv_id + ) dis2 ON dis2.iostorinv_id = ios2.iostorinv_id - OPTION 输入.bill_code <> "" - ios.bill_code like 输入.bill_code - ENDOPTION - OPTION 输入.stor_id <> "" - ios.stor_id = 输入.stor_id - ENDOPTION - OPTION 输入.pcsn <> "" - dis.pcsn like 输入.pcsn - ENDOPTION - OPTION 输入.sap_pcsn <> "" - sub.sap_pcsn like 输入.sap_pcsn - ENDOPTION - OPTION 输入.bill_type <> "" - ios.bill_type = 输入.bill_type - ENDOPTION - OPTION 输入.create_mode <> "" - ios.create_mode = 输入.create_mode - ENDOPTION - OPTION 输入.bill_status <> "" - ios.bill_status = 输入.bill_status - ENDOPTION - OPTION 输入.begin_time <> "" - ios.input_time >= 输入.begin_time - ENDOPTION - OPTION 输入.end_time <> "" - ios.input_time <= 输入.end_time - ENDOPTION + ENDSELECT + ENDPAGEQUERY + ENDIF + + IF 输入.flag = "151" + PAGEQUERY + SELECT + ios2.* + FROM + ( + SELECT + ios.* + FROM + ST_IVT_IOStorInv ios + WHERE + ios.is_delete = '0' + AND + ios.io_type = '1' + AND + ios.is_writeoff = '0' + AND + ios.bill_status = '99' + AND + ios.bill_type in ('1001','1009') + AND + ios.stor_id in 输入.in_stor_id + OPTION 输入.bill_code <> "" + ios.bill_code like 输入.bill_code + ENDOPTION + OPTION 输入.stor_id <> "" + ios.stor_id = 输入.stor_id + ENDOPTION + OPTION 输入.bill_type <> "" + ios.bill_type = 输入.bill_type + ENDOPTION + OPTION 输入.create_mode <> "" + ios.create_mode = 输入.create_mode + ENDOPTION + OPTION 输入.bill_status <> "" + ios.bill_status = 输入.bill_status + ENDOPTION + OPTION 输入.begin_time <> "" + ios.input_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + ios.input_time <= 输入.end_time + ENDOPTION + ) ios2 + INNER JOIN ( + SELECT + dis.iostorinv_id + FROM + st_ivt_iostorinvdis dis + LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = dis.pcsn AND dis.box_no = sub.package_box_sn + WHERE + 1 = 1 + OPTION 输入.pcsn <> "" + dis.pcsn like 输入.pcsn + ENDOPTION + OPTION 输入.sap_pcsn <> "" + sub.sap_pcsn like 输入.sap_pcsn + ENDOPTION + GROUP BY dis.iostorinv_id + ) dis2 ON dis2.iostorinv_id = ios2.iostorinv_id ENDSELECT ENDPAGEQUERY diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_CHANGE.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_CHANGE.wql index 4cffdd9f5..ad9fc6c7a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_CHANGE.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_CHANGE.wql @@ -64,23 +64,31 @@ IF 输入.flag = "1" PAGEQUERY - SELECT DISTINCT + SELECT cg.changeinv_id AS id, - cg.* + cg.* FROM st_ivt_structivtchange cg - LEFT JOIN st_ivt_structivtchangedtl dtl ON cg.changeinv_id = dtl.changeinv_id + inner JOIN ( + SELECT + dtl.changeinv_id + FROM + st_ivt_structivtchangedtl dtl + WHERE + 1 = 1 + OPTION 输入.pcsn <> "" + dtl.pcsn = 输入.pcsn + ENDOPTION + GROUP BY + dtl.changeinv_id + ) b ON cg.changeinv_id = b.changeinv_id WHERE - 1 = 1 + 1 = 1 AND cg.is_delete = '0' and cg.stor_id in 输入.in_stor_id - OPTION 输入.bill_code <> "" cg.bill_code like 输入.bill_code ENDOPTION - OPTION 输入.pcsn <> "" - dtl.pcsn = 输入.pcsn - ENDOPTION OPTION 输入.buss_type <> "" cg.buss_type like 输入.buss_type ENDOPTION @@ -109,42 +117,58 @@ IF 输入.flag = "2" QUERY - SELECT DISTINCT - dtl.mfg_order_name AS new_sale_order_name, - dtl.customer_name AS new_customer_name, - dtl.customer_description AS new_customer_description, - dtl.package_box_sn AS storagevehicle_code, - sa.sect_name AS turnout_sect_name, - sa.struct_code AS turnout_struct_code, - mb.material_code, - mb.material_name, - dtl.seq_no, - sub.sale_order_name, - sub.customer_name, - sub.customer_description, - sub.net_weight AS qty, - dtl.demand_date, - dtl.UpdatedDateOfProduction AS date_of_FG_inbound, - dtl.isRePrintPackageBoxLabel, - dtl.isUnPackBox, - dtl.pcsn - FROM - st_ivt_structivtchangedtl dtl - LEFT JOIN md_me_materialbase mb ON mb.material_id = dtl.material_id - LEFT JOIN st_ivt_structattr sa ON sa.storagevehicle_code = dtl.package_box_sn - LEFT JOIN pdm_bi_subpackagerelation sub ON sub.package_box_sn = dtl.package_box_sn AND sub.container_name = dtl.pcsn - WHERE - 1 = 1 - OPTION 输入.changeinv_id <> "" - dtl.changeinv_id = 输入.changeinv_id - ENDOPTION - OPTION 输入.changeinvdtl_id <> "" - dtl.changeinvdtl_id = 输入.changeinvdtl_id - ENDOPTION - OPTION 输入.work_status <> "" - dtl.work_status <= 输入.work_status - ENDOPTION - order by dtl.seq_no + SELECT * from + ( + select + dtl.mfg_order_name AS new_sale_order_name, + dtl.customer_name AS new_customer_name, + dtl.customer_description AS new_customer_description, + dtl.package_box_sn AS storagevehicle_code, + dtl.demand_date, + dtl.UpdatedDateOfProduction AS date_of_FG_inbound, + dtl.isRePrintPackageBoxLabel, + dtl.isUnPackBox, + dtl.pcsn, + dtl.seq_no, + sa.sect_name AS turnout_sect_name, + sa.struct_code AS turnout_struct_code, + mb.material_code, + mb.material_name + FROM + st_ivt_structivtchangedtl dtl + LEFT JOIN md_me_materialbase mb ON mb.material_id = dtl.material_id + LEFT JOIN st_ivt_structattr sa ON sa.storagevehicle_code = dtl.package_box_sn + WHERE + 1 = 1 + OPTION 输入.changeinv_id <> "" + dtl.changeinv_id = 输入.changeinv_id + ENDOPTION + OPTION 输入.changeinvdtl_id <> "" + dtl.changeinvdtl_id = 输入.changeinvdtl_id + ENDOPTION + OPTION 输入.work_status <> "" + dtl.work_status <= 输入.work_status + ENDOPTION + order by dtl.seq_no + ) dtl2 + LEFT JOIN ( + select + sub.sale_order_name, + sub.customer_name, + sub.customer_description, + sub.net_weight , + sub.package_box_sn, + sub.container_name + from + pdm_bi_subpackagerelation sub + group by + sub.sale_order_name, + sub.customer_name, + sub.customer_description, + sub.net_weight, + sub.package_box_sn, + sub.container_name + ) sub2 ON (sub2.package_box_sn = dtl2.storagevehicle_code AND sub2.container_name = dtl2.pcsn) ENDSELECT ENDQUERY ENDIF diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_HANDMOVESTOR.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_HANDMOVESTOR.wql index d51b2c4e8..962147367 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_HANDMOVESTOR.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/wql/QST_IVT_HANDMOVESTOR.wql @@ -79,21 +79,22 @@ move.* FROM ST_IVT_MoveInv move + inner join ( + SELECT + movedtl.moveinv_id + FROM + st_ivt_moveinvdtl movedtl + INNER JOIN md_me_materialbase mb ON mb.material_id = movedtl.material_id + WHERE + 1 = 1 + OPTION 输入.material_code <> "" + (mb.material_code LIKE 输入.material_code OR mb.material_name LIKE 输入.material_code) + ENDOPTION + GROUP BY movedtl.moveinv_id + ) dtl2 on dtl2.moveinv_id = move.moveinv_id WHERE 1 = 1 AND move.is_delete = '0' - AND move.moveinv_id IN ( - SELECT DISTINCT - (movedtl.moveinv_id) - FROM - st_ivt_moveinvdtl movedtl - LEFT JOIN md_me_materialbase mb ON mb.material_id = movedtl.material_id - WHERE - 1 = 1 - OPTION 输入.material_code <> "" - (mb.material_code LIKE 输入.material_code OR mb.material_name LIKE 输入.material_code) - ENDOPTION - ) AND move.stor_id in 输入.in_stor_id OPTION 输入.bill_code <> "" 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 e77b2e72f..6008ce838 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 @@ -400,7 +400,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { @Transactional(rollbackFor = Exception.class) public String insertDtl(JSONObject map) { if(MapUtil.getStr(map,"bill_type").equals("1011")) { - String iostorinv_id = inserdtlPic(map); + String iostorinv_id = inserdtlPic(map); return iostorinv_id ; } @@ -5686,7 +5686,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { if (jo_mst.getString("is_overdue").equals("1")) { dis_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + iostorinv_id + "' and is_overdue = '0' and box_no = '"+jsonSub.getString("package_box_sn")+"'").getResultJSONArray(0); } else { - + dis_rows = WQLObject.getWQLObject("ST_IVT_IOStorInvDis").query("iostorinv_id = '" + iostorinv_id + "' and box_no = '"+jsonSub.getString("package_box_sn")+"'").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 fdc7ad9fc..d286d06f6 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 @@ -88,121 +88,11 @@ ########################################## IF 输入.flag = "1" - PAGEQUERY - SELECT - ios.*, - a.plan_qty, - IFNULL(c.vbeln,'') as vbeln - FROM - ( - SELECT - mst.*, - cu.shd_dtl_num, - cu.cust_name, - cu.cust_simple_name, - attr.stor_name AS out_stor_name - FROM - st_ivt_iostorinv mst - LEFT JOIN md_cs_customerbase cu ON mst.cust_code = cu.cust_code - LEFT JOIN st_ivt_bsrealstorattr attr ON attr.stor_id = mst.out_stor_id - WHERE - mst.io_type = '1' - and mst.is_delete='0' - and mst.stor_id in 输入.in_stor_id - OPTION 输入.bill_code <> "" - mst.bill_code like 输入.bill_code - ENDOPTION - OPTION 输入.cust_code <> "" - (cu.cust_code like 输入.cust_code or - cu.cust_simple_name like 输入.cust_code) - ENDOPTION - OPTION 输入.is_upload <> "" - mst.is_upload = 输入.is_upload - ENDOPTION - OPTION 输入.billTypes <> "" - mst.bill_type in 输入.billTypes - ENDOPTION - OPTION 输入.storIds <> "" - mst.stor_id in 输入.storIds - ENDOPTION - OPTION 输入.create_mode <> "" - mst.create_mode = 输入.create_mode - ENDOPTION - OPTION 输入.billStatuses <> "" - mst.bill_status in 输入.billStatuses - ENDOPTION - OPTION 输入.begin_time <> "" - mst.input_time >= 输入.begin_time - ENDOPTION - OPTION 输入.end_time <> "" - mst.input_time <= 输入.end_time - ENDOPTION - ) ios - LEFT JOIN ( - select - dtl.iostorinv_id, - dtl.vbeln - from - st_ivt_iostorinvdtl dtl - where 1=1 - OPTION 输入.vbeln <> "" - dtl.vbeln like 输入.vbeln - ENDOPTION - OPTION 输入.vbeln_in <> "" - dtl.vbeln IN 输入.vbeln_in - ENDOPTION - OPTION 输入.width <> "" - dtl.width like 输入.width - ENDOPTION - GROUP BY - dtl.iostorinv_id, - dtl.vbeln - ) c ON ios.iostorinv_id = c.iostorinv_id - LEFT JOIN ( - SELECT - dis.iostorinv_id - FROM - st_ivt_iostorinvdis dis - WHERE - 1 = 1 - OPTION 输入.pcsn <> "" - dis.pcsn like 输入.pcsn - ENDOPTION - OPTION 输入.pcsn_in <> "" - dis.pcsn IN 输入.pcsn_in - ENDOPTION - OPTION 输入.box_no <> "" - dis.box_no like 输入.box_no - ENDOPTION - OPTION 输入.box_no_in <> "" - dis.box_no IN 输入.box_no_in - ENDOPTION - GROUP BY - dis.iostorinv_id - ) b ON b.iostorinv_id = ios.iostorinv_id - LEFT JOIN ( - SELECT - SUM(a.plan_qty) AS plan_qty, - a.iostorinv_id - FROM - st_ivt_iostorinvdis a - LEFT JOIN ST_IVT_IOStorInv b ON a.iostorinv_id = b.iostorinv_id - WHERE - b.io_type = '1' - and b.is_delete='0' - and b.is_overdue = '0' - GROUP BY a.iostorinv_id - ) a ON a.iostorinv_id = ios.iostorinv_id - ENDSELECT - ENDPAGEQUERY - ENDIF - - IF 输入.flag = "11" - PAGEQUERY - SELECT + PAGEQUERY + SELECT ios.*, a.plan_qty, - IFNULL(c.vbeln,'') as vbeln + IFNULL(c.vbeln,'') as vbeln FROM ( SELECT @@ -248,7 +138,7 @@ mst.input_time <= 输入.end_time ENDOPTION ) ios - LEFT JOIN ( + inner JOIN ( select dtl.iostorinv_id, dtl.vbeln @@ -268,12 +158,11 @@ dtl.iostorinv_id, dtl.vbeln ) c ON ios.iostorinv_id = c.iostorinv_id - LEFT JOIN ( + inner JOIN ( SELECT dis.iostorinv_id FROM st_ivt_iostorinvdis dis - LEFT JOIN pdm_bi_subpackagerelationrecord sub ON (sub.container_name = dis.pcsn AND dis.box_no = sub.package_box_sn AND dis.iostorinv_id = sub.bill_id) WHERE 1 = 1 OPTION 输入.pcsn <> "" @@ -288,12 +177,6 @@ OPTION 输入.box_no_in <> "" dis.box_no IN 输入.box_no_in ENDOPTION - OPTION 输入.sap_pcsn <> "" - sub.sap_pcsn like 输入.sap_pcsn - ENDOPTION - OPTION 输入.sap_pcsn_in <> "" - sub.sap_pcsn IN 输入.sap_pcsn_in - ENDOPTION GROUP BY dis.iostorinv_id ) b ON b.iostorinv_id = ios.iostorinv_id @@ -310,9 +193,126 @@ and b.is_overdue = '0' GROUP BY a.iostorinv_id ) a ON a.iostorinv_id = ios.iostorinv_id - ENDSELECT - ENDPAGEQUERY - ENDIF + ENDSELECT + ENDPAGEQUERY + ENDIF + + IF 输入.flag = "11" + PAGEQUERY + SELECT + ios.*, + a.plan_qty, + IFNULL(c.vbeln,'') as vbeln + FROM + ( + SELECT + mst.*, + cu.shd_dtl_num, + cu.cust_name, + cu.cust_simple_name, + attr.stor_name AS out_stor_name + FROM + st_ivt_iostorinv mst + LEFT JOIN md_cs_customerbase cu ON mst.cust_code = cu.cust_code + LEFT JOIN st_ivt_bsrealstorattr attr ON attr.stor_id = mst.out_stor_id + WHERE + mst.io_type = '1' + and mst.is_delete='0' + and mst.stor_id in 输入.in_stor_id + OPTION 输入.bill_code <> "" + mst.bill_code like 输入.bill_code + ENDOPTION + OPTION 输入.cust_code <> "" + (cu.cust_code like 输入.cust_code or + cu.cust_simple_name like 输入.cust_code) + ENDOPTION + OPTION 输入.is_upload <> "" + mst.is_upload = 输入.is_upload + ENDOPTION + OPTION 输入.billTypes <> "" + mst.bill_type in 输入.billTypes + ENDOPTION + OPTION 输入.storIds <> "" + mst.stor_id in 输入.storIds + ENDOPTION + OPTION 输入.create_mode <> "" + mst.create_mode = 输入.create_mode + ENDOPTION + OPTION 输入.billStatuses <> "" + mst.bill_status in 输入.billStatuses + ENDOPTION + OPTION 输入.begin_time <> "" + mst.input_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + mst.input_time <= 输入.end_time + ENDOPTION + ) ios + inner JOIN ( + select + dtl.iostorinv_id, + dtl.vbeln + from + st_ivt_iostorinvdtl dtl + where 1=1 + OPTION 输入.vbeln <> "" + dtl.vbeln like 输入.vbeln + ENDOPTION + OPTION 输入.vbeln_in <> "" + dtl.vbeln IN 输入.vbeln_in + ENDOPTION + OPTION 输入.width <> "" + dtl.width like 输入.width + ENDOPTION + GROUP BY + dtl.iostorinv_id, + dtl.vbeln + ) c ON ios.iostorinv_id = c.iostorinv_id + inner JOIN ( + SELECT + dis.iostorinv_id + FROM + st_ivt_iostorinvdis dis + LEFT JOIN pdm_bi_subpackagerelationrecord sub ON (sub.container_name = dis.pcsn AND dis.box_no = sub.package_box_sn AND dis.iostorinv_id = sub.bill_id) + WHERE + 1 = 1 + OPTION 输入.pcsn <> "" + dis.pcsn like 输入.pcsn + ENDOPTION + OPTION 输入.pcsn_in <> "" + dis.pcsn IN 输入.pcsn_in + ENDOPTION + OPTION 输入.box_no <> "" + dis.box_no like 输入.box_no + ENDOPTION + OPTION 输入.box_no_in <> "" + dis.box_no IN 输入.box_no_in + ENDOPTION + OPTION 输入.sap_pcsn <> "" + sub.sap_pcsn like 输入.sap_pcsn + ENDOPTION + OPTION 输入.sap_pcsn_in <> "" + sub.sap_pcsn IN 输入.sap_pcsn_in + ENDOPTION + GROUP BY + dis.iostorinv_id + ) b ON b.iostorinv_id = ios.iostorinv_id + LEFT JOIN ( + SELECT + SUM(a.plan_qty) AS plan_qty, + a.iostorinv_id + FROM + st_ivt_iostorinvdis a + LEFT JOIN ST_IVT_IOStorInv b ON a.iostorinv_id = b.iostorinv_id + WHERE + b.io_type = '1' + and b.is_delete='0' + and b.is_overdue = '0' + GROUP BY a.iostorinv_id + ) a ON a.iostorinv_id = ios.iostorinv_id + ENDSELECT + ENDPAGEQUERY + ENDIF IF 输入.flag = "111" QUERY @@ -426,8 +426,7 @@ ENDOPTION GROUP BY sub.sale_order_name,spec,ios.iostorinv_id,dtl.iostorinvdtl_id - - + limit 0,10000 ENDSELECT ENDQUERY ENDIF @@ -693,8 +692,7 @@ OPTION 输入.bill_status <> "" dis.work_status <= 输入.bill_status ENDOPTION - - order by dis.box_no,dis.pcsn + order by dis.box_no,dis.pcsn limit 0,10000 ENDSELECT ENDQUERY ENDIF diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/wql/QST_IVT_INANDOUTRETRUN.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/wql/QST_IVT_INANDOUTRETRUN.wql index 77d568656..503c8882e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/wql/QST_IVT_INANDOUTRETRUN.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/wql/QST_IVT_INANDOUTRETRUN.wql @@ -200,8 +200,9 @@ iostorinv_id FROM st_ivt_iostorinvdis dis - LEFT JOIN pdm_bi_subpackagerelationrecord sub ON (sub.container_name = dis.pcsn AND dis.box_no = sub.package_box_sn AND dis.iostorinv_id = sub.bill_id) - WHERE + LEFT JOIN pdm_bi_subpackagerelationrecord sub ON (sub.container_name = dis.pcsn + AND dis.box_no = sub.package_box_sn AND dis.iostorinv_id = sub.bill_id) + WHERE 1=1 OPTION 输入.pcsn <> "" dis.pcsn like 输入.pcsn diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_INBILLQUERY.wql b/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_INBILLQUERY.wql index c85cfb7d5..f915a3194 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_INBILLQUERY.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_INBILLQUERY.wql @@ -53,7 +53,7 @@ IF 输入.flag = "1" PAGEQUERY - SELECT DISTINCT + SELECT mst.stor_name, dis.sect_name, dis.struct_code, @@ -212,7 +212,7 @@ IF 输入.flag = "2" PAGEQUERY - SELECT DISTINCT + SELECT MAX(mst.stor_name) AS stor_name, MAX(dis.sect_name) AS sect_name, MAX(dis.struct_code) AS struct_code, @@ -340,7 +340,7 @@ IF 输入.flag = "3" PAGEQUERY - SELECT DISTINCT + SELECT mst.stor_name, dis.sect_name, dis.struct_code, @@ -501,7 +501,7 @@ IF 输入.flag = "4" PAGEQUERY - SELECT DISTINCT + SELECT MAX(mst.stor_name) AS stor_name, MAX(dis.sect_name) AS sect_name, MAX(dis.struct_code) AS struct_code, @@ -631,7 +631,7 @@ IF 输入.flag = "5" PAGEQUERY - SELECT DISTINCT + SELECT mst.stor_name, dis.sect_name, dis.struct_code, @@ -832,7 +832,7 @@ IF 输入.flag = "6" PAGEQUERY - SELECT DISTINCT + SELECT MAX(mst.stor_name) AS stor_name, MAX(dis.sect_name) AS sect_name, MAX(dis.struct_code) AS struct_code, diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_OUTBILLQUERY.wql b/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_OUTBILLQUERY.wql index 1b58ebf3e..0e5648aeb 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_OUTBILLQUERY.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_OUTBILLQUERY.wql @@ -150,7 +150,7 @@ IF 输入.flag = "2" PAGEQUERY - SELECT DISTINCT + SELECT mst.stor_name, dis.sect_name, mst.bill_type, From 9933b5fa4e9dc0ed8ef8aaf953c3d01e7b625b67 Mon Sep 17 00:00:00 2001 From: "DESKTOP-5DIJMF9\\admin" <2388969634@qq.com> Date: Fri, 14 Feb 2025 14:34:46 +0800 Subject: [PATCH 15/60] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96servece?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java | 1 + .../src/main/java/org/nl/wms/sch/tasks/EmptyVehicleTask.java | 2 ++ 2 files changed, 3 insertions(+) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java index 54ac8813e..91ca32a83 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java @@ -72,6 +72,7 @@ public class CallEmpReelTask extends AbstractAcsTask { } @Override + @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); // 任务表 WQLObject ivtTab = WQLObject.getWQLObject("ST_IVT_CoolPointIvt"); // 冷却区库存表 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/EmptyVehicleTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/EmptyVehicleTask.java index 7dcbb01d9..a855f141c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/EmptyVehicleTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/EmptyVehicleTask.java @@ -11,6 +11,7 @@ import org.nl.modules.wql.core.bean.WQLObject; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.TaskStatusEnum; +import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; @@ -21,6 +22,7 @@ import java.util.List; * Created by ZZ on 2021/12/22. * Description:密集库空载具任务创建 */ +@Service public class EmptyVehicleTask extends AbstractAcsTask { private final String THIS_CLASS = EmptyVehicleTask.class.getName(); From a5f325a68d5fac46c3e51ea33b5abc6d0a4a7b95 Mon Sep 17 00:00:00 2001 From: "DESKTOP-5DIJMF9\\admin" <2388969634@qq.com> Date: Fri, 14 Feb 2025 14:52:20 +0800 Subject: [PATCH 16/60] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../acs/service/impl/AcsToWmsServiceImpl.java | 22 ++++++------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 21ff05b89..6d6a12e2b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -54,6 +54,7 @@ import org.nl.wms.pda.mps.service.ShippingService; import org.nl.wms.pda.mps.service.impl.BakingServiceImpl; import org.nl.wms.pda.st.service.impl.PrintServiceImpl; import org.nl.wms.sch.ComPareUtil; +import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.sch.tasks.CutConveyorTask; import org.nl.wms.sch.tasks.EmptyVehicleTask; @@ -211,24 +212,15 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { status = "0"; } // 任务处理类 - try { - Object obj = new Object(); - try { - obj = SpringContextHolder.getBean(Class.forName(processing_class)); - } catch (Exception e) { - Class clz = Class.forName(processing_class); - obj = clz.newInstance(); - } - // 调用每个任务类的forceFinishInst()强制结束方法 - Method m = obj.getClass().getDeclaredMethod("updateTaskStatus", JSONObject.class, String.class); - m.invoke(obj, row, status); - } catch (Exception e) { - WQLObject.getWQLObject("SCH_BASE_Task").update(MapOf.of("remark",DateUtil.now()+"更新"+status+"失败:"+e.getMessage()),"task_id = '" + task_id + "'"); - throw e; - } + AbstractAcsTask abstractTask = (AbstractAcsTask)SpringContextHolder.getBean(Class.forName(taskObj.getString("handle_class"))); + abstractTask.updateTaskStatus(taskObj,status); } else { throw new BadRequestException("任务标识为:" + task_id + "的任务正在操作中!"); } + }catch (Exception ex){ + WQLObject.getWQLObject("SCH_BASE_Task").update(MapOf.of("remark",DateUtil.now()+"更新"+row.getString("task_status")+"失败:"+ex.getMessage()),"task_id = '" + task_id + "'"); + log.error(task_id+"acs更新任务失败:{}", ex); + throw ex; } finally { if (tryLock) { lock.unlock(); From c4d5243abfce20339d29146f7c4ef172816b522c Mon Sep 17 00:00:00 2001 From: zhangzq Date: Fri, 14 Feb 2025 17:00:41 +0800 Subject: [PATCH 17/60] =?UTF-8?q?fix:=E5=87=BA=E5=85=A5=E5=BA=93=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E4=B8=8D=E5=88=B0=E5=8D=95=E6=8D=AE=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../acs/service/impl/AcsToWmsServiceImpl.java | 25 +++---------------- .../org/nl/wms/sch/tasks/CallEmpReelTask.java | 1 - .../nl/wms/sch/tasks/EmptyVehicleTask.java | 1 - .../st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql | 4 +-- .../st/outbill/wql/QST_IVT_CHECKOUTBILL.wql | 4 +-- 5 files changed, 8 insertions(+), 27 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 6d6a12e2b..b2513121a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -83,7 +83,7 @@ import java.util.stream.Collectors; @Slf4j public class AcsToWmsServiceImpl implements AcsToWmsService { - private static Interner Heap_Lock = Interners.newWeakInterner(); + private static Map Task_Status_Convers = MapOf.of("1",TaskStatusEnum.EXECUTING.getCode(),"2",TaskStatusEnum.FINISHED.getCode(),"3","0"); private final RawAssistIStorService rawAssistIStorService; @@ -195,25 +195,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { if (StrUtil.isEmpty(processing_class)) { throw new BadRequestException("当前任务的处理类未找到!"); } - //1:执行中,2:完成 ,3:acs取消 - String acs_task_status = row.getString("task_status"); - String car_no = row.getString("car_no"); - if (StrUtil.isNotEmpty(car_no)) { - WQLObject.getWQLObject("SCH_BASE_Task").update(MapOf.of("car_no", car_no),"task_id = '" + task_id + "'"); - } - String status = ""; - if ("1".equals(acs_task_status)) { - status = TaskStatusEnum.EXECUTING.getCode(); - } - if ("2".equals(acs_task_status)) { - status = TaskStatusEnum.FINISHED.getCode(); - } - if ("3".equals(acs_task_status)) { - status = "0"; - } - // 任务处理类 AbstractAcsTask abstractTask = (AbstractAcsTask)SpringContextHolder.getBean(Class.forName(taskObj.getString("handle_class"))); - abstractTask.updateTaskStatus(taskObj,status); + abstractTask.updateTaskStatus(taskObj,Task_Status_Convers.get(row.getString("task_status"))); } else { throw new BadRequestException("任务标识为:" + task_id + "的任务正在操作中!"); } @@ -221,8 +204,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { WQLObject.getWQLObject("SCH_BASE_Task").update(MapOf.of("remark",DateUtil.now()+"更新"+row.getString("task_status")+"失败:"+ex.getMessage()),"task_id = '" + task_id + "'"); log.error(task_id+"acs更新任务失败:{}", ex); throw ex; - } finally { - if (tryLock) { + }finally { + if (lock.isLocked() && lock.isHeldByCurrentThread()) { lock.unlock(); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java index 91ca32a83..54ac8813e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/CallEmpReelTask.java @@ -72,7 +72,6 @@ public class CallEmpReelTask extends AbstractAcsTask { } @Override - @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task"); // 任务表 WQLObject ivtTab = WQLObject.getWQLObject("ST_IVT_CoolPointIvt"); // 冷却区库存表 diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/EmptyVehicleTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/EmptyVehicleTask.java index a855f141c..ef4b2eee3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/EmptyVehicleTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/tasks/EmptyVehicleTask.java @@ -78,7 +78,6 @@ public class EmptyVehicleTask extends AbstractAcsTask { } @Override - @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { WQLObject point_table = WQLObject.getWQLObject("SCH_BASE_Point"); WQLObject struct_table = WQLObject.getWQLObject("ST_IVT_StructAttr"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql index 02da64dfd..23396f964 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql @@ -273,7 +273,7 @@ ios.input_time <= 输入.end_time ENDOPTION ) ios2 - INNER JOIN ( + LEFT JOIN ( SELECT dis.iostorinv_id FROM @@ -372,7 +372,7 @@ ios.input_time <= 输入.end_time ENDOPTION ) ios2 - INNER JOIN ( + LEFT JOIN ( SELECT dis.iostorinv_id FROM 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 d286d06f6..6ab99b36d 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 @@ -158,7 +158,7 @@ dtl.iostorinv_id, dtl.vbeln ) c ON ios.iostorinv_id = c.iostorinv_id - inner JOIN ( + LEFT JOIN ( SELECT dis.iostorinv_id FROM @@ -268,7 +268,7 @@ dtl.iostorinv_id, dtl.vbeln ) c ON ios.iostorinv_id = c.iostorinv_id - inner JOIN ( + LEFT JOIN ( SELECT dis.iostorinv_id FROM From 028e5eb36a195bd7c8e73930171d7cfad45ffb57 Mon Sep 17 00:00:00 2001 From: zhangzq Date: Sat, 15 Feb 2025 12:23:14 +0800 Subject: [PATCH 18/60] =?UTF-8?q?fix:=E5=AD=90=E5=8D=B7=E5=8C=85=E8=A3=85?= =?UTF-8?q?=E5=80=92=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/nl/wms/pdm/wql/PDM_BI_SUBPACKAGER01.wql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/PDM_BI_SUBPACKAGER01.wql b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/PDM_BI_SUBPACKAGER01.wql index 42546b5da..e86eb52d9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/PDM_BI_SUBPACKAGER01.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/wql/PDM_BI_SUBPACKAGER01.wql @@ -288,7 +288,7 @@ status = 输入.status ENDOPTION OPTION 输入.limits <> "" - 1=1 order by workorder_id desc limit 0,输入.limits + 1=1 order by workorder_id desc limit 0,10000 ENDOPTION ENDSELECT ENDQUERY From 8e3b712ee52bb6def06f11d275c4b4a806b6bbc8 Mon Sep 17 00:00:00 2001 From: zhangzq Date: Sat, 15 Feb 2025 12:43:43 +0800 Subject: [PATCH 19/60] =?UTF-8?q?fix:=E4=BB=BB=E5=8A=A1=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E5=8F=8D=E9=A6=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wms/ext/acs/service/impl/AcsToWmsServiceImpl.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index b2513121a..2adcb8281 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -201,8 +201,17 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { throw new BadRequestException("任务标识为:" + task_id + "的任务正在操作中!"); } }catch (Exception ex){ - WQLObject.getWQLObject("SCH_BASE_Task").update(MapOf.of("remark",DateUtil.now()+"更新"+row.getString("task_status")+"失败:"+ex.getMessage()),"task_id = '" + task_id + "'"); log.error(task_id+"acs更新任务失败:{}", ex); + String msg = ""; + if (!StringUtils.isEmpty(ex.getMessage())){ + int length = ex.getMessage().length(); + if (length>100){ + msg = ex.getMessage().substring(0, 99); + }else { + msg = ex.getMessage(); + } + } + WQLObject.getWQLObject("SCH_BASE_Task").update(MapOf.of("remark","更新"+row.getString("task_status")+"失败:"+msg),"task_id = '" + task_id + "'"); throw ex; }finally { if (lock.isLocked() && lock.isHeldByCurrentThread()) { From 581edafe3e8d3536049e12ddd2023ce04b9a86cc Mon Sep 17 00:00:00 2001 From: "DESKTOP-5DIJMF9\\admin" <2388969634@qq.com> Date: Sun, 16 Feb 2025 10:59:00 +0800 Subject: [PATCH 20/60] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CheckOutBillServiceImpl.java | 2 + .../st/outbill/wql/QST_IVT_CHECKOUTBILL.wql | 42 +++++-------------- 2 files changed, 12 insertions(+), 32 deletions(-) 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 6008ce838..bc99cece1 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 @@ -124,6 +124,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { map.put("box_no", "%" + map.get("box_no") + "%"); } + map.put("flag", "11"); } if (StrUtil.isNotEmpty(map.get("width"))) { @@ -146,6 +147,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { } else { map.put("pcsn", "%" + map.get("pcsn") + "%"); } + map.put("flag", "11"); } // 空格查询 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 6ab99b36d..7dad8b34f 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 @@ -160,39 +160,17 @@ ) c ON ios.iostorinv_id = c.iostorinv_id LEFT JOIN ( SELECT - dis.iostorinv_id + SUM(a.plan_qty) AS plan_qty, + a.iostorinv_id FROM - st_ivt_iostorinvdis dis + st_ivt_iostorinvdis a + LEFT JOIN ST_IVT_IOStorInv b ON a.iostorinv_id = b.iostorinv_id WHERE - 1 = 1 - OPTION 输入.pcsn <> "" - dis.pcsn like 输入.pcsn - ENDOPTION - OPTION 输入.pcsn_in <> "" - dis.pcsn IN 输入.pcsn_in - ENDOPTION - OPTION 输入.box_no <> "" - dis.box_no like 输入.box_no - ENDOPTION - OPTION 输入.box_no_in <> "" - dis.box_no IN 输入.box_no_in - ENDOPTION - GROUP BY - dis.iostorinv_id - ) b ON b.iostorinv_id = ios.iostorinv_id - LEFT JOIN ( - SELECT - SUM(a.plan_qty) AS plan_qty, - a.iostorinv_id - FROM - st_ivt_iostorinvdis a - LEFT JOIN ST_IVT_IOStorInv b ON a.iostorinv_id = b.iostorinv_id - WHERE - b.io_type = '1' - and b.is_delete='0' - and b.is_overdue = '0' - GROUP BY a.iostorinv_id - ) a ON a.iostorinv_id = ios.iostorinv_id + b.io_type = '1' + and b.is_delete='0' + and b.is_overdue = '0' + GROUP BY a.iostorinv_id + ) a ON a.iostorinv_id = ios.iostorinv_id ENDSELECT ENDPAGEQUERY ENDIF @@ -268,7 +246,7 @@ dtl.iostorinv_id, dtl.vbeln ) c ON ios.iostorinv_id = c.iostorinv_id - LEFT JOIN ( + inner JOIN ( SELECT dis.iostorinv_id FROM From c570852f49fd6c5ee93e507b9d42ad685fce7369 Mon Sep 17 00:00:00 2001 From: "DESKTOP-5DIJMF9\\admin" <2388969634@qq.com> Date: Mon, 17 Feb 2025 11:27:22 +0800 Subject: [PATCH 21/60] =?UTF-8?q?opt=E4=BC=98=E5=8C=96=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/RawAssistIStorServiceImpl.java | 15 +++++--- .../st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql | 34 +------------------ 2 files changed, 11 insertions(+), 38 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java index e22446fb4..5803d752c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/RawAssistIStorServiceImpl.java @@ -6,6 +6,7 @@ import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.http.HttpUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -106,6 +107,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { } else { map.put("pcsn", "%" + pcsn + "%"); } + map.put("flag", "29"); } // 空格查询 @@ -121,6 +123,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { } else { map.put("sap_pcsn", "%" + sap_pcsn + "%"); } + map.put("flag", "29"); } // 空格查询 @@ -137,6 +140,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { map.put("box_no", "%" + box_no + "%"); } + map.put("flag", "29"); } // 空格查询 @@ -172,10 +176,6 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { map.put("in_stor_id", in_stor_id); } - if (ObjectUtil.isNotEmpty(map.get("sap_pcsn_in"))) { - map.put("flag", "29"); - } - JSONObject jo = WQL.getWO("QST_IVT_RAWASSISTISTOR").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "iostorinv_id desc"); return jo; } @@ -1867,6 +1867,11 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { if (ObjectUtil.isEmpty(struct_jo)) { // 主存区类型更改成中转区类型:找一排主存区的更改中转区、把一排中转区的更改成主存区(只允许调用一次) + String result = HttpUtil.get("http://127.0.0.1:8013/api/in/rawAssist/updateStructSect?layer_num=" + col_num); + JSONObject toJSON = (JSONObject)JSONObject.toJSON(result); + if (!toJSON.getString("status").equals("200")){ + throw new BadRequestException(toJSON.getString("message")); + } SpringContextHolder.getBean(RawAssistIStorServiceImpl.class).updateStructSect(col_num); struct_jo = autoDisMove2(whereJson); } @@ -2794,7 +2799,7 @@ public class RawAssistIStorServiceImpl implements RawAssistIStorService { /** * 新开事务,把当前事务挂起,(新开事务不回滚) */ - @Transactional(propagation=Propagation.REQUIRES_NEW) + @Transactional() public void updateStructSect(String layer_num) { WQLObject attr = WQLObject.getWQLObject("st_ivt_structattr"); WQLObject point = WQLObject.getWQLObject("sch_base_point"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql index 23396f964..d52262e8b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/wql/QST_IVT_RAWASSISTISTOR.wql @@ -273,7 +273,7 @@ ios.input_time <= 输入.end_time ENDOPTION ) ios2 - LEFT JOIN ( + inner JOIN ( SELECT dis.iostorinv_id FROM @@ -372,38 +372,6 @@ ios.input_time <= 输入.end_time ENDOPTION ) ios2 - LEFT JOIN ( - SELECT - dis.iostorinv_id - FROM - st_ivt_iostorinvdis dis - WHERE - 1 = 1 - OPTION 输入.box_no <> "" - dis.box_no like 输入.box_no - ENDOPTION - - OPTION 输入.box_no_in <> "" - dis.box_no IN 输入.box_no_in - ENDOPTION - - OPTION 输入.pcsn <> "" - dis.pcsn like 输入.pcsn - ENDOPTION - - OPTION 输入.pcsn_in <> "" - dis.pcsn IN 输入.pcsn_in - ENDOPTION - - OPTION 输入.sap_pcsn <> "" - sub.sap_pcsn like 输入.sap_pcsn - ENDOPTION - - OPTION 输入.sap_pcsn_in <> "" - sub.sap_pcsn IN 输入.sap_pcsn_in - ENDOPTION - GROUP BY dis.iostorinv_id - ) dis2 ON dis2.iostorinv_id = ios2.iostorinv_id INNER JOIN ( SELECT dtl.iostorinv_id, From 4d674b5c678517125ba3914d127b264456abe48c Mon Sep 17 00:00:00 2001 From: "DESKTOP-5DIJMF9\\admin" <2388969634@qq.com> Date: Mon, 17 Feb 2025 13:28:35 +0800 Subject: [PATCH 22/60] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=E7=A9=BA=E6=8C=87?= =?UTF-8?q?=E9=92=88=E5=BC=82=E5=B8=B8=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nl/wms/pda/mps/service/impl/BakingServiceImpl.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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 9b89694a3..2fe497bf1 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 @@ -518,11 +518,13 @@ public class BakingServiceImpl implements BakingService { hotParam.put("task_id", task_id); hotParam.put("start_point_code", point_code1); hotParam.put("end_point_code", point_code2); - Object pt = redisUtils.hget(point_code1, "temperature"); - if (ObjectUtil.isEmpty(pt)) { + boolean exists = redisUtils.hHasKey(point_code1, "temperature"); + String point_temperature = ""; + if(exists){ + point_temperature = (String) redisUtils.hget(point_code1, "temperature"); + }else{ throw new BadRequestException("当前操作点位设备:"+point_code1+",无法获取温度,请稍后再试!"); } - String point_temperature = String.valueOf(pt); hotParam.put("temperature", point_temperature); if (ObjectUtil.isEmpty(last_hot_mst)) { hotParam.put("oven_time", "480"); From e7fa8c89d69387abc8c227337df68264c5021a84 Mon Sep 17 00:00:00 2001 From: "DESKTOP-5DIJMF9\\admin" <2388969634@qq.com> Date: Tue, 18 Feb 2025 10:40:24 +0800 Subject: [PATCH 23/60] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E6=98=8E=E7=BB=86=E9=A1=B5=E9=9D=A2=E6=9F=A5=E8=AF=A2=E9=87=8D?= =?UTF-8?q?=E5=A4=8Dsql?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../st/outbill/wql/QST_IVT_CHECKOUTBILL.wql | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) 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 7dad8b34f..53cd86b83 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 @@ -418,13 +418,27 @@ mb.material_name, mb.material_spec, mb.material_model, - (case when IFNULL(record.sap_pcsn,'') = '' then sub.sap_pcsn else record.sap_pcsn end) AS sap_pcsn + (case when IFNULL(record2.sap_pcsn,'') = '' then sub.sap_pcsn else record2.sap_pcsn end) AS sap_pcsn FROM ST_IVT_IOStorInvDtl iosdtl LEFT JOIN md_me_materialbase mb ON mb.material_id = iosdtl.material_id LEFT JOIN ST_IVT_IOStorInv ios ON ios.iostorinv_id = iosdtl.iostorinv_id LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = iosdtl.pcsn AND sub.package_box_sn = iosdtl.box_no - LEFT JOIN pdm_bi_subpackagerelationrecord record ON record.container_name = iosdtl.pcsn AND ios.bill_code = record.bill_code + LEFT JOIN ( + SELECT + record.bill_code, + record.container_name, + record.package_box_sn, + record.sap_pcsn, + COUNT( * ) AS num + FROM + pdm_bi_subpackagerelationrecord record + GROUP BY + record.bill_code, + record.container_name, + record.sap_pcsn, + record.package_box_sn + ) record2 ON (record2.container_name = iosdtl.pcsn AND ios.bill_code = record2.bill_code AND record2.package_box_sn = iosdtl.box_no) WHERE 1=1 OPTION 输入.iostorinv_id <> "" From ec6aed68c1c81398a9d0f2ee4c44d89fa30c6f5e Mon Sep 17 00:00:00 2001 From: "DESKTOP-5DIJMF9\\admin" <2388969634@qq.com> Date: Tue, 18 Feb 2025 14:12:06 +0800 Subject: [PATCH 24/60] =?UTF-8?q?opt=EF=BC=9A=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/wms/pda/st/service/impl/VirtualOutServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/VirtualOutServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/VirtualOutServiceImpl.java index 146e64dbe..7c4858fd5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/VirtualOutServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pda/st/service/impl/VirtualOutServiceImpl.java @@ -97,7 +97,7 @@ public class VirtualOutServiceImpl implements VirtualOutService { if (ObjectUtil.isNotEmpty(whereJson.getString("box_no"))) { JSONObject jsonSub = WQL.getWO("PDA_VIRTUALOUT").addParam("flag", "4").addParam("box_no", whereJson.getString("box_no")).process().uniqueResult(0); - if (ObjectUtil.isNotEmpty(jsonSub)){ + if (ObjectUtil.isEmpty(jsonSub)){ throw new BadRequestException("未查询到设木箱号为["+whereJson.getString("box_no")+"]的子卷包装关系信息!"); } From 7603f7aaf29562f35a3a161a52d555750eb7afe2 Mon Sep 17 00:00:00 2001 From: "DESKTOP-5DIJMF9\\admin" <2388969634@qq.com> Date: Wed, 19 Feb 2025 12:49:06 +0800 Subject: [PATCH 25/60] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=E6=88=90=E5=93=81?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E6=9F=A5=E8=AF=A2=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/OutBillQueryServiceImpl.java | 38 ++- .../nl/wms/stat/wql/ST_IVT_OUTBILLQUERY.wql | 242 +++++++++++++----- 2 files changed, 205 insertions(+), 75 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/stat/service/impl/OutBillQueryServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/stat/service/impl/OutBillQueryServiceImpl.java index 7924a1800..3dfcca964 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/stat/service/impl/OutBillQueryServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/stat/service/impl/OutBillQueryServiceImpl.java @@ -255,27 +255,27 @@ public class OutBillQueryServiceImpl implements OutBillQueryService { @Override public void download2(Map map, HttpServletResponse response, String[] bill_types) throws IOException { String stor_id = MapUtil.getStr(map, "stor_id"); + String bill_type = MapUtil.getStr(map, "bill_type"); String with = MapUtil.getStr(map, "with"); // 厚度*幅宽 String begin_time = MapUtil.getStr(map, "begin_time"); - String pcsn = MapUtil.getStr(map, "pcsn"); String end_time = MapUtil.getStr(map, "end_time"); + String pcsn = MapUtil.getStr(map, "pcsn"); String customer_name = MapUtil.getStr(map, "customer_name"); - JSONObject mapParam = new JSONObject(); - mapParam.put("flag", "2"); - mapParam.put("stor_id", stor_id); + map.put("flag", "2"); + map.put("stor_id", stor_id); if (ObjectUtil.isNotEmpty(bill_types)) { StringJoiner joiner = new StringJoiner(",", "(", ")"); for (String type : bill_types) { joiner.add("'" + type + "'"); } - mapParam.put("bill_type", joiner.toString()); + map.put("bill_type", joiner.toString()); } - mapParam.put("with", with); - mapParam.put("pcsn", pcsn); + map.put("with", with); + map.put("pcsn", pcsn); if (ObjectUtil.isNotEmpty(customer_name)) { - mapParam.put("customer_name", "%" + customer_name + "%"); + map.put("customer_name", "%" + customer_name + "%"); } // 处理时间 @@ -293,11 +293,20 @@ public class OutBillQueryServiceImpl implements OutBillQueryService { String today_end_time = substring + " 07:59:59"; - mapParam.put("begin_time", today_begin_time); - mapParam.put("end_time", today_end_time); + map.put("begin_time", today_begin_time); + map.put("end_time", today_end_time); } - JSONArray resultJSONArray = WQL.getWO("ST_IVT_OUTBILLQUERY").addParamMap(mapParam).process().getResultJSONArray(0); + JSONArray resultJSONArray = WQL.getWO("ST_IVT_OUTBILLQUERY").addParamMap(map).process().getResultJSONArray(0); + + List content = resultJSONArray.toJavaList(JSONObject.class); + String pcsn_in = content.stream() + .map(row -> row.getString("pcsn")) + .collect(Collectors.joining("','")); + + List subList = WQLObject.getWQLObject("pdm_bi_subpackagerelationrecord") + .query("container_name IN ('" + pcsn_in + "') AND io_type = '0' ORDER BY insert_time") + .getResultJSONArray(0).toJavaList(JSONObject.class); List> list = new ArrayList<>(); for (int i = 0; i < resultJSONArray.size(); i++) { @@ -305,9 +314,10 @@ public class OutBillQueryServiceImpl implements OutBillQueryService { Map mp = new LinkedHashMap<>(); // 查询第一次入库的源销售订单 - JSONObject jsonSub = WQLObject.getWQLObject("pdm_bi_subpackagerelationrecord") - .query("container_name = '" + json.getString("pcsn") + "' AND io_type = '0' ORDER BY insert_time") - .uniqueResult(0); + JSONObject jsonSub = subList.stream() + .filter(row -> row.getString("container_name").equals(json.getString("pcsn"))) + .min(Comparator.comparing(row -> row.getString("insert_time"))) + .orElse(null); mp.put("仓库", json.getString("stor_name")); if (ObjectUtil.isNotEmpty(bill_type) && "1004".equals(bill_type)) { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_OUTBILLQUERY.wql b/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_OUTBILLQUERY.wql index 0e5648aeb..cfe934ba7 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_OUTBILLQUERY.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/stat/wql/ST_IVT_OUTBILLQUERY.wql @@ -149,47 +149,169 @@ ENDIF IF 输入.flag = "2" - PAGEQUERY + PAGEQUERY + SELECT + mst.stor_name, + mst.input_time, + mst.bill_type, + mst.confirm_time, + mst.estimated_freight, + mst.input_optname, + mst.remark, + dtl.vbeln, + base.cust_name, + dis.sect_name, + dis.box_no, + dis.qty_unit_name, + mater.material_code, + mater.material_name, + c.pcsn, + sub.sap_pcsn, + sub.net_weight, + sub.customer_name, + sub.customer_description, + sub.sale_order_name, + cust.sales_owner, + sub.width, + sub.thickness, + sub.mass_per_unit_area, + case when plan.paper_tube_or_FRP = '1' then '纸管' when plan.paper_tube_or_FRP = '2' then 'FRP管' end AS paper_type, + case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_material when plan.paper_tube_or_FRP = '2' then plan.FRP_material end AS paper_code, + case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_description when plan.paper_tube_or_FRP = '2' then plan.FRP_description end AS paper_name, + stor.stor_name AS in_stor_name + FROM + ( + SELECT + MAX( a.iostorinvdis_id ) AS iostorinvdis_id, + a.pcsn + FROM + st_ivt_iostorinvdis a + LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id + WHERE + b.io_type = '1' + AND b.bill_status = '99' + AND b.is_delete = '0' + OPTION 输入.bill_type <> "" + b.bill_type IN 输入.bill_type + ENDOPTION + OPTION 输入.stor_id <> "" + b.stor_id = 输入.stor_id + ENDOPTION + OPTION 输入.pcsn <> "" + a.pcsn = 输入.pcsn + ENDOPTION + OPTION 输入.begin_time <> "" + b.confirm_time >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + b.confirm_time <= 输入.end_time + ENDOPTION + GROUP BY + a.pcsn + ) AS c + inner JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = c.iostorinvdis_id + inner JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id + inner JOIN st_ivt_iostorinvdtl dtl ON dtl.iostorinvdtl_id = dis.iostorinvdtl_id + LEFT JOIN md_cs_transportationbase base ON base.cust_code = mst.trans_code + LEFT JOIN md_me_materialbase mater ON mater.material_id = dis.material_id + LEFT JOIN st_ivt_bsrealstorattr stor ON stor.stor_id = mst.out_stor_id + INNER JOIN ( + SELECT + record.bill_code, + record.container_name, + record.package_box_sn, + record.sap_pcsn, + max(record.customer_name) as customer_name, + max(record.customer_description) as customer_description, + max(record.width) as width, + max(record.thickness) as thickness, + max(record.mass_per_unit_area) as mass_per_unit_area, + max(record.net_weight) as net_weight, + max(record.sale_order_name) as sale_order_name, + max(record.bill_id) as bill_id, + COUNT( * ) AS num + FROM + pdm_bi_subpackagerelationrecord record + where 1=1 + OPTION 输入.with <> "" + CONCAT(record.width,'*',record.thickness) = 输入.with + ENDOPTION + OPTION 输入.customer_name <> "" + (record.customer_name LIKE 输入.customer_name OR record.customer_description LIKE 输入.customer_name) + ENDOPTION + GROUP BY + record.bill_code, + record.container_name, + record.sap_pcsn, + record.package_box_sn) sub ON (sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = mst.iostorinv_id) + LEFT JOIN md_cs_customerbase cust ON cust.cust_code = sub.customer_name + LEFT JOIN (SELECT + container_name, + MAX(paper_tube_or_FRP) AS paper_tube_or_FRP, + MAX(paper_tube_material) AS paper_tube_material, + MAX(paper_tube_description) AS paper_tube_description, + MAX(paper_tube_model) AS paper_tube_model, + MAX(FRP_material) AS FRP_material, + MAX(FRP_description) AS FRP_description, + MAX(FRP_model) AS FRP_model + FROM + pdm_bi_slittingproductionplan plan1 + WHERE + plan1.is_delete = '0' + GROUP BY container_name) plan ON plan.container_name = sub.container_name + WHERE 1=1 + ENDSELECT + ENDPAGEQUERY + ENDIF + + IF 输入.flag = "22" + QUERY SELECT mst.stor_name, - dis.sect_name, + mst.input_time, mst.bill_type, + mst.confirm_time, + mst.estimated_freight, + mst.input_optname, + mst.remark, dtl.vbeln, base.cust_name, - mst.estimated_freight, + dis.sect_name, dis.box_no, + dis.qty_unit_name, mater.material_code, mater.material_name, - dis.pcsn, + c.pcsn, sub.sap_pcsn, sub.net_weight, - dis.qty_unit_name, sub.customer_name, sub.customer_description, sub.sale_order_name, cust.sales_owner, - mst.input_time, sub.width, - mst.confirm_time, sub.thickness, sub.mass_per_unit_area, - mst.input_optname, case when plan.paper_tube_or_FRP = '1' then '纸管' when plan.paper_tube_or_FRP = '2' then 'FRP管' end AS paper_type, case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_material when plan.paper_tube_or_FRP = '2' then plan.FRP_material end AS paper_code, case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_description when plan.paper_tube_or_FRP = '2' then plan.FRP_description end AS paper_name, - mst.remark, stor.stor_name AS in_stor_name FROM ( SELECT - MAX( a.iostorinvdis_id ) AS iostorinvdis_id + MAX( a.iostorinvdis_id ) AS iostorinvdis_id, + a.pcsn FROM st_ivt_iostorinvdis a LEFT JOIN st_ivt_iostorinv b ON a.iostorinv_id = b.iostorinv_id WHERE b.io_type = '1' + AND b.bill_status = '99' + AND b.is_delete = '0' OPTION 输入.bill_type <> "" - b.bill_type IN 输入.bill_type + b.bill_type IN 输入.bill_type + ENDOPTION + OPTION 输入.stor_id <> "" + b.stor_id = 输入.stor_id ENDOPTION OPTION 输入.pcsn <> "" a.pcsn = 输入.pcsn @@ -197,66 +319,64 @@ OPTION 输入.begin_time <> "" b.confirm_time >= 输入.begin_time ENDOPTION - OPTION 输入.end_time <> "" b.confirm_time <= 输入.end_time ENDOPTION - AND b.bill_status = '99' GROUP BY - pcsn + a.pcsn ) AS c - LEFT JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = c.iostorinvdis_id - LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id - LEFT JOIN st_ivt_iostorinvdtl dtl ON dtl.iostorinvdtl_id = dis.iostorinvdtl_id + inner JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = c.iostorinvdis_id + inner JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id + inner JOIN st_ivt_iostorinvdtl dtl ON dtl.iostorinvdtl_id = dis.iostorinvdtl_id LEFT JOIN md_cs_transportationbase base ON base.cust_code = mst.trans_code LEFT JOIN md_me_materialbase mater ON mater.material_id = dis.material_id LEFT JOIN st_ivt_bsrealstorattr stor ON stor.stor_id = mst.out_stor_id - INNER JOIN pdm_bi_subpackagerelationrecord sub ON sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = mst.iostorinv_id + INNER JOIN ( + SELECT + record.bill_code, + record.container_name, + record.package_box_sn, + record.sap_pcsn, + max(record.customer_name) as customer_name, + max(record.customer_description) as customer_description, + max(record.width) as width, + max(record.thickness) as thickness, + max(record.mass_per_unit_area) as mass_per_unit_area, + max(record.net_weight) as net_weight, + max(record.sale_order_name) as sale_order_name, + max(record.bill_id) as bill_id, + COUNT( * ) AS num + FROM + pdm_bi_subpackagerelationrecord record + where 1=1 + OPTION 输入.with <> "" + CONCAT(record.width,'*',record.thickness) = 输入.with + ENDOPTION + OPTION 输入.customer_name <> "" + (record.customer_name LIKE 输入.customer_name OR record.customer_description LIKE 输入.customer_name) + ENDOPTION + GROUP BY + record.bill_code, + record.container_name, + record.sap_pcsn, + record.package_box_sn) sub ON (sub.container_name = dis.pcsn AND sub.package_box_sn = dis.box_no AND sub.bill_id = mst.iostorinv_id) LEFT JOIN md_cs_customerbase cust ON cust.cust_code = sub.customer_name LEFT JOIN (SELECT - container_name, - MAX(paper_tube_or_FRP) AS paper_tube_or_FRP, - MAX(paper_tube_material) AS paper_tube_material, - MAX(paper_tube_description) AS paper_tube_description, - MAX(paper_tube_model) AS paper_tube_model, - MAX(FRP_material) AS FRP_material, - MAX(FRP_description) AS FRP_description, - MAX(FRP_model) AS FRP_model + container_name, + MAX(paper_tube_or_FRP) AS paper_tube_or_FRP, + MAX(paper_tube_material) AS paper_tube_material, + MAX(paper_tube_description) AS paper_tube_description, + MAX(paper_tube_model) AS paper_tube_model, + MAX(FRP_material) AS FRP_material, + MAX(FRP_description) AS FRP_description, + MAX(FRP_model) AS FRP_model FROM - pdm_bi_slittingproductionplan plan1 - WHERE - plan1.is_delete = '0' - GROUP BY container_name) plan ON plan.container_name = sub.container_name - WHERE - mst.io_type = '1' - AND mst.is_delete = '0' - AND mst.bill_status = '99' - - OPTION 输入.stor_id <> "" - mst.stor_id = 输入.stor_id - ENDOPTION - - OPTION 输入.bill_type <> "" - mst.bill_type IN 输入.bill_type - ENDOPTION - - OPTION 输入.begin_time <> "" - mst.confirm_time >= 输入.begin_time - ENDOPTION - - OPTION 输入.end_time <> "" - mst.confirm_time <= 输入.end_time - ENDOPTION - - OPTION 输入.with <> "" - CONCAT(sub.width,'*',sub.thickness) = 输入.with - ENDOPTION - - OPTION 输入.customer_name <> "" - (sub.customer_name LIKE 输入.customer_name OR - sub.customer_description LIKE 输入.customer_name) - ENDOPTION - + pdm_bi_slittingproductionplan plan1 + WHERE + plan1.is_delete = '0' + GROUP BY container_name) plan ON plan.container_name = sub.container_name + WHERE 1=1 + limit 0,10000 ENDSELECT - ENDPAGEQUERY + ENDQUERY ENDIF \ No newline at end of file From 9827511d67b4956a59e047779bc768553c89a2f3 Mon Sep 17 00:00:00 2001 From: "DESKTOP-5DIJMF9\\admin" <2388969634@qq.com> Date: Wed, 19 Feb 2025 12:51:47 +0800 Subject: [PATCH 26/60] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=E6=88=90=E5=93=81?= =?UTF-8?q?=E5=87=BA=E5=BA=93=E6=9F=A5=E8=AF=A2=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lms/nladmin-ui/src/views/wms/stat/outbillquery/index2.vue | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lms/nladmin-ui/src/views/wms/stat/outbillquery/index2.vue b/lms/nladmin-ui/src/views/wms/stat/outbillquery/index2.vue index e4b89c3ef..9e7b4c1b6 100644 --- a/lms/nladmin-ui/src/views/wms/stat/outbillquery/index2.vue +++ b/lms/nladmin-ui/src/views/wms/stat/outbillquery/index2.vue @@ -195,11 +195,12 @@ export default { }, downdtl() { if (this.currentRow !== null) { - crud.downloadLoading = true + this.showDtlLoading = true const data = { 'stor_id': this.crud.query.stor_id, 'bill_types': this.crud.query.bill_types, 'with': this.crud.query.with, + 'pcsn': this.crud.query.pcsn, 'customer_name': this.crud.query.customer_name } if (this.crud.query.createTime !== undefined) { @@ -208,9 +209,9 @@ export default { } download('/api/out/OutQuery/download2', data).then(result => { downloadFile(result, '成品出库查询', 'xlsx') - crud.downloadLoading = false + this.showDtlLoading = false }).catch(() => { - crud.downloadLoading = false + this.showDtlLoading = false }) } } From 438e2c117b9df963853ceab2d5ae62842e66fcd3 Mon Sep 17 00:00:00 2001 From: zhangzq Date: Wed, 19 Feb 2025 16:26:53 +0800 Subject: [PATCH 27/60] =?UTF-8?q?opt:=E6=97=A5=E5=BF=97=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/nl/modules/logging/aspect/LogAspect.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java b/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java index c8f3fb172..68ff8b3d6 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java @@ -28,6 +28,7 @@ import org.nl.common.utils.BaseCode; import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; import org.nl.config.lucene.LuceneAppender; +import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.utils.RequestHolder; import org.nl.modules.common.utils.StringUtils; import org.nl.modules.common.utils.ThrowableUtil; @@ -126,7 +127,11 @@ public class LogAspect { } } log.error("[-requestError-][请求接口:{}]【异常信息:{}】[请求参数:{}] {}", url, ex.getMessage(), params, ThrowableUtil.getStackTrace(ex)); - throw ex; + if (ex instanceof BadRequestException){ + throw ex; + }else { + throw new BadRequestException("系统繁忙,请联系管理员确认,后再试并"); + } } finally { log.info("[--response--][请求接口:{} 执行结束][耗时:{}s]", url, (System.currentTimeMillis() - comming) / 1000); MDC.clear(); From 8bda61b87a5a8f7112e1f6c7f7dbf68ff0fa28d5 Mon Sep 17 00:00:00 2001 From: "DESKTOP-5DIJMF9\\admin" <2388969634@qq.com> Date: Wed, 19 Feb 2025 17:31:04 +0800 Subject: [PATCH 28/60] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../nl/wms/st/inbill/service/impl/StorPublicServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/StorPublicServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/StorPublicServiceImpl.java index 504ae460e..c5a43c9d9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/StorPublicServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/inbill/service/impl/StorPublicServiceImpl.java @@ -249,7 +249,7 @@ public class StorPublicServiceImpl implements StorPublicService { throw new BadRequestException("输入数据异常,请检查"); } if (jo_in.getDoubleValue("frozen_qty") < 0) { - throw new BadRequestException("冻结数不允许为负数!"); + throw new BadRequestException("库存冻结数异常,请联系管理员分析处理单据!"); } wql.update(jo_in, "stockrecord_id='" + jo_in.getString("stockrecord_id") + "'"); } else { From 99e96d4026c2dc9c55bf9eb4766ea6d7c42cf2f5 Mon Sep 17 00:00:00 2001 From: zhangzq Date: Thu, 20 Feb 2025 10:59:34 +0800 Subject: [PATCH 29/60] =?UTF-8?q?opt:=E6=97=A5=E5=BF=97=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/nl/modules/logging/aspect/LogAspect.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java b/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java index 68ff8b3d6..c2bc6bc65 100644 --- a/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java +++ b/lms/nladmin-system/src/main/java/org/nl/modules/logging/aspect/LogAspect.java @@ -130,7 +130,7 @@ public class LogAspect { if (ex instanceof BadRequestException){ throw ex; }else { - throw new BadRequestException("系统繁忙,请联系管理员确认,后再试并"); + throw new BadRequestException("系统繁忙,请联系管理员确认,稍后再试"); } } finally { log.info("[--response--][请求接口:{} 执行结束][耗时:{}s]", url, (System.currentTimeMillis() - comming) / 1000); From c017bcdad64c6eb4539307f89cb9d9227953d730 Mon Sep 17 00:00:00 2001 From: "DESKTOP-5DIJMF9\\admin" <2388969634@qq.com> Date: Thu, 20 Feb 2025 14:28:32 +0800 Subject: [PATCH 30/60] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=E6=88=90=E5=93=81?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E6=9F=A5=E8=AF=A2=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../st/service/impl/StructivtServiceImpl.java | 23 +- .../wms/basedata/st/wql/QST_STRUCTIVT001.wql | 636 +++++++++--------- .../src/views/wms/basedata/st/ivt/index.vue | 46 +- 3 files changed, 331 insertions(+), 374 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructivtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructivtServiceImpl.java index 035f4696e..704e33975 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructivtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/StructivtServiceImpl.java @@ -216,20 +216,21 @@ public class StructivtServiceImpl implements StructivtService { String material = MapUtil.getStr(whereJson, "material"); String struct = MapUtil.getStr(whereJson, "struct"); String stor_id = MapUtil.getStr(whereJson, "stor_id"); + String sect_id = MapUtil.getStr(whereJson, "sect_id"); String pcsn = MapUtil.getStr(whereJson, "pcsn"); String sap_pcsn = MapUtil.getStr(whereJson, "sap_pcsn"); String package_box_sn = MapUtil.getStr(whereJson, "package_box_sn"); String sale_order_name = MapUtil.getStr(whereJson, "sale_order_name"); - String is_virtual = MapUtil.getStr(whereJson, "is_virtual"); - String rein_flag = MapUtil.getStr(whereJson, "rein_flag"); String ivt_status = MapUtil.getStr(whereJson, "ivt_status"); + String is_virtual = MapUtil.getStr(whereJson, "is_virtual"); String sub_type = MapUtil.getStr(whereJson, "sub_type"); String quality_scode = MapUtil.getStr(whereJson, "quality_scode"); JSONObject map = new JSONObject(); map.put("flag", "2"); map.put("stor_id", stor_id); - map.put("is_virtual", is_virtual); + map.put("sect_id", sect_id); map.put("ivt_status", ivt_status); + map.put("is_virtual", is_virtual); map.put("sub_type", sub_type); map.put("quality_scode", quality_scode); if (StrUtil.isNotEmpty(material)) { @@ -250,7 +251,6 @@ public class StructivtServiceImpl implements StructivtService { if (StrUtil.isNotEmpty(sale_order_name)) { map.put("sale_order_name", "%" + sale_order_name + "%"); } - if (ObjectUtil.isNotEmpty(product_area)) { String areas = "("; for (int i = 0; i < product_area.length; i++) { @@ -262,13 +262,6 @@ public class StructivtServiceImpl implements StructivtService { } map.put("areas", areas); } - //获取人员对应的仓库 - UserStorServiceImpl userStorService = new UserStorServiceImpl(); - String in_stor_id = userStorService.getInStor(); - - if (ObjectUtil.isNotEmpty(in_stor_id)) { - map.put("in_stor_id", in_stor_id); - } if (ObjectUtil.isNotNull(ivt_flag)) { StringJoiner joiner = new StringJoiner(",", "(", ")"); @@ -278,6 +271,14 @@ public class StructivtServiceImpl implements StructivtService { map.put("rein_flag", joiner.toString()); } + //获取人员对应的仓库 + UserStorServiceImpl userStorService = new UserStorServiceImpl(); + String in_stor_id = userStorService.getInStor(); + + if (ObjectUtil.isNotEmpty(in_stor_id)) { + map.put("in_stor_id", in_stor_id); + } + JSONArray resultJSONArray = WQL.getWO("QST_STRUCTIVT001").addParamMap(map).process().getResultJSONArray(0); List> list = new ArrayList<>(); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STRUCTIVT001.wql b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STRUCTIVT001.wql index d4d9ef32f..918fc3215 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STRUCTIVT001.wql +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/wql/QST_STRUCTIVT001.wql @@ -54,165 +54,157 @@ IF 输入.flag = "1" PAGEQUERY - SELECT - a.* - FROM - ( - SELECT - ivt.*, - attr.sect_id, - attr.sect_code, - attr.sect_name, - attr.stor_name, - mater.material_code, - mater.material_name, - unit.unit_name, - region.region_name, - sub.sap_pcsn, - sub.package_box_sn, - sub.quanlity_in_box, - sub.sale_order_name, - case when plan.paper_tube_or_FRP = '1' then '纸管' when plan.paper_tube_or_FRP = '2' then 'FRP管' end AS paper_type, - case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_material when plan.paper_tube_or_FRP = '2' then plan.FRP_material end AS paper_code, - case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_description when plan.paper_tube_or_FRP = '2' then plan.FRP_description end AS paper_name, - sub.box_weight, - CASE - WHEN SUBSTRING( sub.container_name, 1, 2 ) = 'BB' THEN - CASE - WHEN DATEDIFF( NOW(), sub.date_of_production ) > '150' AND DATEDIFF( NOW(), sub.date_of_production ) <= '180' THEN '2' - WHEN DATEDIFF( NOW(), sub.date_of_production ) <= '180' THEN '1' - WHEN DATEDIFF( NOW(), sub.date_of_production ) > '180' THEN '3' - END + SELECT + a.* + FROM + ( + SELECT + ivt.*, + sub.sap_pcsn, + sub.package_box_sn, + sub.quanlity_in_box, + sub.sale_order_name, + sub.box_weight, + case when plan.paper_tube_or_FRP = '1' then '纸管' when plan.paper_tube_or_FRP = '2' then 'FRP管' end AS paper_type, + case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_material when plan.paper_tube_or_FRP = '2' then plan.FRP_material end AS paper_code, + case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_description when plan.paper_tube_or_FRP = '2' then plan.FRP_description end AS paper_name, + CASE + WHEN SUBSTRING( sub.container_name, 1, 2 ) = 'BB' THEN + CASE + WHEN DATEDIFF( NOW(), sub.date_of_production ) > '150' AND DATEDIFF( NOW(), sub.date_of_production ) <= '180' THEN '2' + WHEN DATEDIFF( NOW(), sub.date_of_production ) <= '180' THEN '1' + WHEN DATEDIFF( NOW(), sub.date_of_production ) > '180' THEN '3' + END - WHEN SUBSTRING( sub.container_name, 1, 2 ) <> 'BB' THEN - CASE - WHEN DATEDIFF( NOW(), sub.date_of_production ) > '60' AND DATEDIFF( NOW(), sub.date_of_production ) <= '90' THEN '2' - WHEN DATEDIFF( NOW(), sub.date_of_production ) <= '90' THEN '1' - WHEN DATEDIFF( NOW(), sub.date_of_production ) > '90' THEN '3' - END - END AS sub_type, - DATEDIFF( NOW(), dis.confirm_time ) AS stock_age, - DATEDIFF( NOW(), sub.date_of_production ) AS produce_age, - sub.joint_type, - dis.confirm_time - - FROM - ST_IVT_StructIvt ivt - LEFT JOIN st_ivt_structattr attr ON ivt.struct_id = attr.struct_id - LEFT JOIN st_ivt_sectattr sect ON sect.sect_id =attr.sect_id - LEFT JOIN md_me_materialbase mater ON mater.material_id = ivt.material_id - LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = ivt.qty_unit_id - LEFT JOIN SCH_BASE_Region region ON region.region_id = ivt.region_id - LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = ivt.pcsn AND attr.storagevehicle_code = sub.package_box_sn - LEFT JOIN (SELECT - container_name, - MAX(paper_tube_or_FRP) AS paper_tube_or_FRP, - MAX(paper_tube_material) AS paper_tube_material, - MAX(paper_tube_description) AS paper_tube_description, - MAX(paper_tube_model) AS paper_tube_model, - MAX(FRP_material) AS FRP_material, - MAX(FRP_description) AS FRP_description, - MAX(FRP_model) AS FRP_model + WHEN SUBSTRING( sub.container_name, 1, 2 ) <> 'BB' THEN + CASE + WHEN DATEDIFF( NOW(), sub.date_of_production ) > '60' AND DATEDIFF( NOW(), sub.date_of_production ) <= '90' THEN '2' + WHEN DATEDIFF( NOW(), sub.date_of_production ) <= '90' THEN '1' + WHEN DATEDIFF( NOW(), sub.date_of_production ) > '90' THEN '3' + END + END AS sub_type, + DATEDIFF( NOW(), dis.confirm_time ) AS stock_age, + DATEDIFF( NOW(), sub.date_of_production ) AS produce_age, + sub.joint_type, + dis.confirm_time FROM - pdm_bi_slittingproductionplan plan1 - WHERE - plan1.is_delete = '0' - GROUP BY container_name) plan ON plan.container_name = sub.container_name - LEFT JOIN ( + ( SELECT + StructIvt.*, + attr.sect_id, + attr.sect_code, + attr.sect_name, + attr.stor_name, + attr.storagevehicle_code, + mater.material_code, + mater.material_name, + unit.unit_name, + region.region_name + FROM + ST_IVT_StructIvt StructIvt + inner JOIN st_ivt_structattr attr ON StructIvt.struct_id = attr.struct_id + inner JOIN st_ivt_sectattr sect ON sect.sect_id = attr.sect_id + inner JOIN md_me_materialbase mater ON mater.material_id = StructIvt.material_id + LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = StructIvt.qty_unit_id + LEFT JOIN SCH_BASE_Region region ON region.region_id = StructIvt.region_id + WHERE 1 = 1 + and attr.stor_id in 输入.in_stor_id + OPTION 输入.struct <> "" + ( + StructIvt.struct_code like 输入.struct or + StructIvt.struct_name like 输入.struct + ) + ENDOPTION + OPTION 输入.material <> "" ( - CASE - WHEN MAX(mst.bill_type) = '0001' THEN MIN( mst.confirm_time ) - ELSE MAX( mst.confirm_time ) - END - ) AS confirm_time, - dis.pcsn + mater.material_code like 输入.material or + mater.material_name like 输入.material + ) + ENDOPTION + OPTION 输入.pcsn <> "" + StructIvt.pcsn like 输入.pcsn + ENDOPTION + OPTION 输入.quality_scode <> "" + StructIvt.quality_scode = 输入.quality_scode + ENDOPTION + OPTION 输入.is_virtual = "0" + sect.sect_type_attr <> '09' + ENDOPTION + OPTION 输入.is_virtual = "1" + sect.sect_type_attr = '09' + ENDOPTION + OPTION 输入.stor_id <> "" + attr.stor_id = 输入.stor_id + ENDOPTION + OPTION 输入.sect_id <> "" + attr.sect_id = 输入.sect_id + ENDOPTION + OPTION 输入.ivt_status = "canuse_qty" + StructIvt.canuse_qty > 0 + ENDOPTION + OPTION 输入.ivt_status = "warehousing_qty" + StructIvt.warehousing_qty > 0 + ENDOPTION + OPTION 输入.ivt_status = "frozen_qty" + StructIvt.frozen_qty > 0 + ENDOPTION + ) ivt + LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = ivt.pcsn AND ivt.storagevehicle_code = sub.package_box_sn + LEFT JOIN (SELECT + container_name, + MAX(paper_tube_or_FRP) AS paper_tube_or_FRP, + MAX(paper_tube_material) AS paper_tube_material, + MAX(paper_tube_description) AS paper_tube_description, + MAX(paper_tube_model) AS paper_tube_model, + MAX(FRP_material) AS FRP_material, + MAX(FRP_description) AS FRP_description, + MAX(FRP_model) AS FRP_model FROM - st_ivt_iostorinvdis dis - LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id - WHERE - mst.io_type = '0' - AND mst.bill_type IN ('0001','0006','0007') - AND mst.is_delete = '0' - GROUP BY - dis.pcsn - ) dis ON dis.pcsn = ivt.pcsn - - WHERE - 1 = 1 - and attr.stor_id in 输入.in_stor_id - - OPTION 输入.struct <> "" - ( - ivt.struct_code like 输入.struct or - ivt.struct_name like 输入.struct - ) - ENDOPTION - OPTION 输入.areas <> "" - (LEFT(sub.container_name,2) IN 输入.areas OR SUBSTRING(sub.container_name,2,2) IN 输入.areas) - ENDOPTION - OPTION 输入.material <> "" - ( - mater.material_code like 输入.material or - mater.material_name like 输入.material - ) - ENDOPTION - OPTION 输入.pcsn <> "" - ivt.pcsn like 输入.pcsn - ENDOPTION - - OPTION 输入.quality_scode <> "" - ivt.quality_scode = 输入.quality_scode - ENDOPTION - - OPTION 输入.is_virtual = "0" - sect.sect_type_attr <> '09' - ENDOPTION - - OPTION 输入.is_virtual = "1" - sect.sect_type_attr = '09' - ENDOPTION - - OPTION 输入.sap_pcsn <> "" - sub.sap_pcsn like 输入.sap_pcsn - ENDOPTION - - OPTION 输入.stor_id <> "" - attr.stor_id = 输入.stor_id - ENDOPTION - - OPTION 输入.sect_id <> "" - attr.sect_id = 输入.sect_id - ENDOPTION - - OPTION 输入.package_box_sn <> "" - sub.package_box_sn like 输入.package_box_sn - ENDOPTION - - OPTION 输入.sale_order_name <> "" - sub.sale_order_name like 输入.sale_order_name - ENDOPTION - - OPTION 输入.ivt_status = "canuse_qty" - ivt.canuse_qty > 0 - ENDOPTION - - OPTION 输入.ivt_status = "warehousing_qty" - ivt.warehousing_qty > 0 - ENDOPTION - - OPTION 输入.rein_flag <> "" - IFNULL(sub.sub_type,'') in 输入.rein_flag - ENDOPTION - - OPTION 输入.ivt_status = "frozen_qty" - ivt.frozen_qty > 0 - ENDOPTION - ) a - WHERE 1=1 - OPTION 输入.sub_type <> "" - a.sub_type = 输入.sub_type - ENDOPTION + pdm_bi_slittingproductionplan plan1 + WHERE + plan1.is_delete = '0' + GROUP BY container_name) plan ON plan.container_name = sub.container_name + LEFT JOIN ( + SELECT + ( + CASE + WHEN MAX(mst.bill_type) = '0001' THEN MIN( mst.confirm_time ) + ELSE MAX( mst.confirm_time ) + END + ) AS confirm_time, + dis.pcsn + FROM + st_ivt_iostorinvdis dis + LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id + WHERE + mst.io_type = '0' + AND mst.bill_type IN ('0001','0006','0007') + AND mst.is_delete = '0' + GROUP BY + dis.pcsn + ) dis ON dis.pcsn = ivt.pcsn + WHERE + 1 = 1 + OPTION 输入.areas <> "" + (LEFT(sub.container_name,2) IN 输入.areas OR SUBSTRING(sub.container_name,2,2) IN 输入.areas) + ENDOPTION + OPTION 输入.sap_pcsn <> "" + sub.sap_pcsn like 输入.sap_pcsn + ENDOPTION + OPTION 输入.package_box_sn <> "" + sub.package_box_sn like 输入.package_box_sn + ENDOPTION + OPTION 输入.sale_order_name <> "" + sub.sale_order_name like 输入.sale_order_name + ENDOPTION + OPTION 输入.rein_flag <> "" + IFNULL(sub.sub_type,'') in 输入.rein_flag + ENDOPTION + ) a + WHERE 1=1 + OPTION 输入.sub_type <> "" + a.sub_type = 输入.sub_type + ENDOPTION ENDSELECT ENDPAGEQUERY ENDIF @@ -220,183 +212,171 @@ IF 输入.flag = "2" QUERY SELECT - a.* - FROM - ( - SELECT - ivt.*, - attr.sect_id, - attr.sect_code, - attr.sect_name, - attr.stor_name, - mater.material_code, - mater.material_name, - unit.unit_name, - region.region_name, - sub.sap_pcsn, - sub.package_box_sn, - sub.sale_order_name, - sub.customer_name, - sub.customer_description, - sub.date_of_production, - sub.width, - sub.thickness, - sub.mass_per_unit_area, - sub.net_weight, - sub.length, - sub.is_un_plan_production, - sub.un_plan_product_property1, - sub.un_plan_product_property2, - sub.un_plan_product_property3, - sub.isUnPackBox, - sub.isRePrintPackageBoxLabel, - sub.width_standard, - case when plan.paper_tube_or_FRP = '1' then '纸管' when plan.paper_tube_or_FRP = '2' then 'FRP管' end AS paper_type, - case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_material when plan.paper_tube_or_FRP = '2' then plan.FRP_material end AS paper_code, - case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_description when plan.paper_tube_or_FRP = '2' then plan.FRP_description end AS paper_name, - sub.thickness_request, - sub.box_weight, - cust.sales_owner, - CASE - WHEN SUBSTRING( sub.container_name, 1, 2 ) = 'BB' THEN - CASE - WHEN DATEDIFF( NOW(), sub.date_of_production ) > '150' AND DATEDIFF( NOW(), sub.date_of_production ) <= '180' THEN '2' - WHEN DATEDIFF( NOW(), sub.date_of_production ) <= '180' THEN '1' - WHEN DATEDIFF( NOW(), sub.date_of_production ) > '180' THEN '3' - END - - WHEN SUBSTRING( sub.container_name, 1, 2 ) <> 'BB' THEN - CASE - WHEN DATEDIFF( NOW(), sub.date_of_production ) > '60' AND DATEDIFF( NOW(), sub.date_of_production ) <= '90' THEN '2' - WHEN DATEDIFF( NOW(), sub.date_of_production ) <= '90' THEN '1' - WHEN DATEDIFF( NOW(), sub.date_of_production ) > '90' THEN '3' - END - END AS sub_type, - DATEDIFF( NOW(), dis.confirm_time ) AS stock_age, - DATEDIFF( NOW(), sub.date_of_production ) AS produce_age, - sub.joint_type, - dis.confirm_time + a.* FROM - ST_IVT_StructIvt ivt - LEFT JOIN st_ivt_structattr attr ON ivt.struct_id = attr.struct_id - LEFT JOIN st_ivt_sectattr sect ON sect.sect_id =attr.sect_id - LEFT JOIN md_me_materialbase mater ON mater.material_id = ivt.material_id - LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = ivt.qty_unit_id - LEFT JOIN SCH_BASE_Region region ON region.region_id = ivt.region_id - LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = ivt.pcsn AND attr.storagevehicle_code = sub.package_box_sn - LEFT JOIN md_cs_customerbase cust ON cust.cust_code = sub.customer_name - LEFT JOIN (SELECT - container_name, - MAX(paper_tube_or_FRP) AS paper_tube_or_FRP, - MAX(paper_tube_material) AS paper_tube_material, - MAX(paper_tube_description) AS paper_tube_description, - MAX(paper_tube_model) AS paper_tube_model, - MAX(FRP_material) AS FRP_material, - MAX(FRP_description) AS FRP_description, - MAX(FRP_model) AS FRP_model - FROM - pdm_bi_slittingproductionplan plan1 - WHERE - plan1.is_delete = '0' - GROUP BY container_name) plan ON plan.container_name = sub.container_name - LEFT JOIN ( - SELECT - ( - CASE - WHEN MAX(mst.bill_type) = '0001' THEN MIN( mst.confirm_time ) - ELSE MAX( mst.confirm_time ) - END - ) AS confirm_time, - dis.pcsn - FROM - st_ivt_iostorinvdis dis - LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id - WHERE - mst.io_type = '0' - AND mst.bill_type IN ( '0001', '0006', '0007' ) - AND mst.is_delete = '0' - GROUP BY - dis.pcsn - ) dis ON dis.pcsn = ivt.pcsn - WHERE - 1 = 1 - and attr.stor_id in 输入.in_stor_id - - OPTION 输入.struct <> "" - ( - ivt.struct_code like 输入.struct or - ivt.struct_name like 输入.struct - ) - ENDOPTION - OPTION 输入.material <> "" - ( - mater.material_code like 输入.material or - mater.material_name like 输入.material - ) - ENDOPTION - OPTION 输入.pcsn <> "" - ivt.pcsn like 输入.pcsn - ENDOPTION - - OPTION 输入.quality_scode <> "" - ivt.quality_scode = 输入.quality_scode - ENDOPTION - - OPTION 输入.sap_pcsn <> "" - sub.sap_pcsn like 输入.sap_pcsn - ENDOPTION - - OPTION 输入.stor_id <> "" - attr.stor_id = 输入.stor_id - ENDOPTION - - OPTION 输入.is_virtual = "0" - sect.sect_type_attr <> '09' - ENDOPTION - OPTION 输入.is_virtual = "1" - sect.sect_type_attr = '09' - ENDOPTION - OPTION 输入.package_box_sn <> "" - sub.package_box_sn like 输入.package_box_sn - ENDOPTION - - OPTION 输入.sale_order_name <> "" - sub.sale_order_name like 输入.sale_order_name - ENDOPTION - OPTION 输入.areas <> "" - LEFT(sub.container_name,2) IN 输入.areas - ENDOPTION - - OPTION 输入.rein_flag <> "" - IFNULL(sub.sub_type,'') in 输入.rein_flag - ENDOPTION - - OPTION 输入.ivt_status = "canuse_qty" - ivt.canuse_qty > 0 - ENDOPTION - - OPTION 输入.ivt_status = "warehousing_qty" - ivt.warehousing_qty > 0 - ENDOPTION - - OPTION 输入.ivt_status = "frozen_qty" - ivt.frozen_qty > 0 - ENDOPTION - ) a - INNER JOIN ( + ( SELECT - dis.pcsn, - mst.bill_type - FROM - st_ivt_iostorinvdis dis - INNER JOIN ( SELECT MAX( iostorinvdis_id ) AS iostorinvdis_id, pcsn FROM st_ivt_iostorinvdis GROUP BY pcsn ) a ON a.iostorinvdis_id = dis.iostorinvdis_id - INNER JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id - ) b ON a.pcsn = b.pcsn + ivt.*, + sub.sap_pcsn, + sub.customer_name, + sub.customer_description, + sub.mass_per_unit_area, + sub.package_box_sn, + sub.quanlity_in_box, + sub.net_weight, + sub.length, + sub.sale_order_name, + sub.box_weight, + sub.is_un_plan_production, + sub.un_plan_product_property1, + sub.un_plan_product_property2, + sub.un_plan_product_property3, + cust.sales_owner, + sub.isUnPackBox, + sub.isRePrintPackageBoxLabel, + sub.width_standard, + sub.thickness_request, + case when plan.paper_tube_or_FRP = '1' then '纸管' when plan.paper_tube_or_FRP = '2' then 'FRP管' end AS paper_type, + case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_material when plan.paper_tube_or_FRP = '2' then plan.FRP_material end AS paper_code, + case when plan.paper_tube_or_FRP = '1' then plan.paper_tube_description when plan.paper_tube_or_FRP = '2' then plan.FRP_description end AS paper_name, + CASE + WHEN SUBSTRING( sub.container_name, 1, 2 ) = 'BB' THEN + CASE + WHEN DATEDIFF( NOW(), sub.date_of_production ) > '150' AND DATEDIFF( NOW(), sub.date_of_production ) <= '180' THEN '2' + WHEN DATEDIFF( NOW(), sub.date_of_production ) <= '180' THEN '1' + WHEN DATEDIFF( NOW(), sub.date_of_production ) > '180' THEN '3' + END + + WHEN SUBSTRING( sub.container_name, 1, 2 ) <> 'BB' THEN + CASE + WHEN DATEDIFF( NOW(), sub.date_of_production ) > '60' AND DATEDIFF( NOW(), sub.date_of_production ) <= '90' THEN '2' + WHEN DATEDIFF( NOW(), sub.date_of_production ) <= '90' THEN '1' + WHEN DATEDIFF( NOW(), sub.date_of_production ) > '90' THEN '3' + END + END AS sub_type, + DATEDIFF( NOW(), dis.confirm_time ) AS stock_age, + DATEDIFF( NOW(), sub.date_of_production ) AS produce_age, + sub.joint_type, + dis.confirm_time + FROM + ( + SELECT + StructIvt.*, + attr.sect_id, + attr.sect_code, + attr.sect_name, + attr.stor_name, + attr.storagevehicle_code, + mater.material_code, + mater.material_name, + unit.unit_name, + region.region_name + FROM + ST_IVT_StructIvt StructIvt + inner JOIN st_ivt_structattr attr ON StructIvt.struct_id = attr.struct_id + inner JOIN st_ivt_sectattr sect ON sect.sect_id = attr.sect_id + inner JOIN md_me_materialbase mater ON mater.material_id = StructIvt.material_id + LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = StructIvt.qty_unit_id + LEFT JOIN SCH_BASE_Region region ON region.region_id = StructIvt.region_id + WHERE 1 = 1 + and attr.stor_id in 输入.in_stor_id + OPTION 输入.struct <> "" + ( + StructIvt.struct_code like 输入.struct or + StructIvt.struct_name like 输入.struct + ) + ENDOPTION + OPTION 输入.material <> "" + ( + mater.material_code like 输入.material or + mater.material_name like 输入.material + ) + ENDOPTION + OPTION 输入.pcsn <> "" + StructIvt.pcsn like 输入.pcsn + ENDOPTION + OPTION 输入.quality_scode <> "" + StructIvt.quality_scode = 输入.quality_scode + ENDOPTION + OPTION 输入.is_virtual = "0" + sect.sect_type_attr <> '09' + ENDOPTION + OPTION 输入.is_virtual = "1" + sect.sect_type_attr = '09' + ENDOPTION + OPTION 输入.stor_id <> "" + attr.stor_id = 输入.stor_id + ENDOPTION + OPTION 输入.sect_id <> "" + attr.sect_id = 输入.sect_id + ENDOPTION + OPTION 输入.ivt_status = "canuse_qty" + StructIvt.canuse_qty > 0 + ENDOPTION + OPTION 输入.ivt_status = "warehousing_qty" + StructIvt.warehousing_qty > 0 + ENDOPTION + OPTION 输入.ivt_status = "frozen_qty" + StructIvt.frozen_qty > 0 + ENDOPTION + ) ivt + LEFT JOIN pdm_bi_subpackagerelation sub ON sub.container_name = ivt.pcsn AND ivt.storagevehicle_code = sub.package_box_sn + LEFT JOIN md_cs_customerbase cust ON cust.cust_code = sub.customer_name + LEFT JOIN (SELECT + container_name, + MAX(paper_tube_or_FRP) AS paper_tube_or_FRP, + MAX(paper_tube_material) AS paper_tube_material, + MAX(paper_tube_description) AS paper_tube_description, + MAX(paper_tube_model) AS paper_tube_model, + MAX(FRP_material) AS FRP_material, + MAX(FRP_description) AS FRP_description, + MAX(FRP_model) AS FRP_model + FROM + pdm_bi_slittingproductionplan plan1 + WHERE + plan1.is_delete = '0' + GROUP BY container_name) plan ON plan.container_name = sub.container_name + LEFT JOIN ( + SELECT + ( + CASE + WHEN MAX(mst.bill_type) = '0001' THEN MIN( mst.confirm_time ) + ELSE MAX( mst.confirm_time ) + END + ) AS confirm_time, + dis.pcsn + FROM + st_ivt_iostorinvdis dis + LEFT JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id + WHERE + mst.io_type = '0' + AND mst.bill_type IN ('0001','0006','0007') + AND mst.is_delete = '0' + GROUP BY + dis.pcsn + ) dis ON dis.pcsn = ivt.pcsn WHERE - 1=1 - OPTION 输入.sub_type <> "" - a.sub_type = 输入.sub_type - ENDOPTION + 1 = 1 + OPTION 输入.areas <> "" + (LEFT(sub.container_name,2) IN 输入.areas OR SUBSTRING(sub.container_name,2,2) IN 输入.areas) + ENDOPTION + OPTION 输入.sap_pcsn <> "" + sub.sap_pcsn like 输入.sap_pcsn + ENDOPTION + OPTION 输入.package_box_sn <> "" + sub.package_box_sn like 输入.package_box_sn + ENDOPTION + OPTION 输入.sale_order_name <> "" + sub.sale_order_name like 输入.sale_order_name + ENDOPTION + OPTION 输入.rein_flag <> "" + IFNULL(sub.sub_type,'') in 输入.rein_flag + ENDOPTION + ) a + WHERE 1=1 + OPTION 输入.sub_type <> "" + a.sub_type = 输入.sub_type + ENDOPTION order by a.instorage_time desc,a.package_box_sn ENDSELECT ENDQUERY diff --git a/lms/nladmin-ui/src/views/wms/basedata/st/ivt/index.vue b/lms/nladmin-ui/src/views/wms/basedata/st/ivt/index.vue index a292457b0..1c23b4249 100644 --- a/lms/nladmin-ui/src/views/wms/basedata/st/ivt/index.vue +++ b/lms/nladmin-ui/src/views/wms/basedata/st/ivt/index.vue @@ -47,7 +47,7 @@ v-model="query.package_box_sn" clearable size="small" - placeholder="物料编码、名称或规格" + placeholder="木箱码" style="width: 200px;" class="filter-item" /> @@ -112,6 +112,7 @@ > @@ -203,6 +204,7 @@ type="success" icon="el-icon-check" size="mini" + :loading="showDtlLoading" @click="downdtl" > 导出Excel @@ -250,7 +252,6 @@ label="物料名称" :min-width="flexWidth('material_name',crud.data,'物料名称')" /> - + @@ -274,17 +276,11 @@ -