From 4f2427e086d3915dda736df520c011bfc26d35ba Mon Sep 17 00:00:00 2001 From: zhangzq Date: Sat, 10 May 2025 11:13:34 +0800 Subject: [PATCH] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=E6=8B=94=E8=BD=B4?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BC=98=E5=85=88=E6=9A=82=E5=AD=98=E6=9E=B6?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=EF=BC=9Badd:=E5=A2=9E=E5=8A=A0=E7=A7=B0?= =?UTF-8?q?=E9=87=8D=E5=BC=82=E5=B8=B8=E9=A3=9E=E4=B9=A6=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/IBstIvtCutpointivtService.java | 2 ++ .../dao/mapper/BstIvtCutpointivtMapper.java | 3 ++ .../dao/mapper/BstIvtCutpointivtMapper.xml | 32 +++++++++++++++++++ .../impl/BstIvtCutpointivtServiceImpl.java | 6 ++++ .../slitter/auto/AutoCallAirShaftTask.java | 27 ++++++++++------ .../acs/service/impl/AcsToWmsServiceImpl.java | 6 ++++ .../bi/rest/SubpackagerelationController.java | 13 ++++---- .../org/nl/wms/sch/manage/AutoSendFeiShu.java | 30 ++++++++++++++++- 8 files changed, 101 insertions(+), 18 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/IBstIvtCutpointivtService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/IBstIvtCutpointivtService.java index b8a9f1ba3..ac3e1fd77 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/IBstIvtCutpointivtService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/IBstIvtCutpointivtService.java @@ -2,6 +2,7 @@ package org.nl.b_lms.bst.ivt.cutpointivt.service; import com.baomidou.mybatisplus.core.metadata.IPage; import org.nl.b_lms.bst.ivt.cutpointivt.service.dto.BstIvtCutpointivtQuery; +import org.nl.b_lms.bst.ivt.cutpointivt.service.dto.CutpointAirShhaftDto; import org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto; import org.nl.common.domain.query.PageQuery; import com.baomidou.mybatisplus.extension.service.IService; @@ -93,6 +94,7 @@ public interface IBstIvtCutpointivtService extends IService { * @return */ List getAreaNotTaskPointByLocationAreaAndStatus(String location); + List getAreaNotTaskPointByTcQzzPoint(String location); /** * 获取一半的点位 diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.java index c76e8d84b..0a1e42765 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.java @@ -2,6 +2,7 @@ package org.nl.b_lms.bst.ivt.cutpointivt.service.dao.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt; +import org.nl.b_lms.bst.ivt.cutpointivt.service.dto.CutpointAirShhaftDto; import org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto; import java.util.List; @@ -18,6 +19,8 @@ public interface BstIvtCutpointivtMapper extends BaseMapper { List getAreaNotTaskPointByLocationAreaAndStatus(String location); + List getAreaNotTaskPointByTcQzzPoint(String location); + List getAllHalfPlacePoints(String type, String pointStatus, String location); List getCachePointSame(SlitterPlanDistinctDto dto); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.xml index 48da58699..51dfdddc0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.xml @@ -188,4 +188,36 @@ ORDER BY bic.sort_seq DESC + diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/impl/BstIvtCutpointivtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/impl/BstIvtCutpointivtServiceImpl.java index a17a2519e..5908cdfa2 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/impl/BstIvtCutpointivtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/impl/BstIvtCutpointivtServiceImpl.java @@ -13,6 +13,7 @@ import org.nl.b_lms.bst.ivt.cutpointivt.service.IBstIvtCutpointivtService; import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt; import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.mapper.BstIvtCutpointivtMapper; import org.nl.b_lms.bst.ivt.cutpointivt.service.dto.BstIvtCutpointivtQuery; +import org.nl.b_lms.bst.ivt.cutpointivt.service.dto.CutpointAirShhaftDto; import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant; import org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto; import org.nl.common.domain.query.PageQuery; @@ -126,6 +127,11 @@ public class BstIvtCutpointivtServiceImpl extends ServiceImpl getAreaNotTaskPointByTcQzzPoint(String location) { + return bstIvtCutpointivtMapper.getAreaNotTaskPointByTcQzzPoint(location); + } + @Override public List getAllHalfPlacePoints(String type, String pointStatus, String location) { return bstIvtCutpointivtMapper.getAllHalfPlacePoints(type, pointStatus, location); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java index 161cfac67..2bb736211 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java @@ -7,9 +7,11 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import lombok.extern.slf4j.Slf4j; import org.nl.b_lms.bst.ivt.cutpointivt.service.IBstIvtCutpointivtService; import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt; +import org.nl.b_lms.bst.ivt.cutpointivt.service.dto.CutpointAirShhaftDto; import org.nl.b_lms.bst.ivt.papervehicle.service.IMdPbPapervehicleService; import org.nl.b_lms.bst.ivt.papervehicle.service.dao.MdPbPapervehicle; import org.nl.b_lms.bst.ivt.shafttubeivt.service.IBstIvtShafttubeivtService; @@ -20,6 +22,7 @@ import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproducti import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan; import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.service.IschBaseTaskService; +import org.nl.b_lms.sch.tasks.first_floor_area.auto.Prun; import org.nl.b_lms.sch.tasks.slitter.StockAreaCallTubeTask; import org.nl.b_lms.sch.tasks.slitter.StockAreaSendVehicleTask; import org.nl.b_lms.sch.tasks.slitter.TrussCallAirShaftTask; @@ -61,7 +64,7 @@ import static org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil.doSavePaperInf */ @Slf4j @Component -public class AutoCallAirShaftTask { +public class AutoCallAirShaftTask extends Prun { @Autowired private IBstIvtShafttubeivtService bstIvtShafttubeivtService; @@ -762,7 +765,9 @@ public class AutoCallAirShaftTask { stepStr += ",8"; log.info("不需要套轴,只做拔轴!"); //查询套轴缓存位哦:point_type=1 - List notTaskPoints = bcutpointivtService.getAreaNotTaskPointByLocationAreaAndStatus(empty.getPoint_location()); + List notTaskPoints = bcutpointivtService.getAreaNotTaskPointByTcQzzPoint(empty.getPoint_location()); + //所有TC暂存位有卷的:Truss_point_code1,Truss_point_code2有任务的 + //根据point_code排序 if (notTaskPoints.size() == 0) { stepStr += ",99"; return; @@ -770,7 +775,8 @@ public class AutoCallAirShaftTask { stepStr += ",9"; // 筛选一个满足的位置:3寸:看代数4/5;6寸直接 //判断气胀轴代 - BstIvtCutpointivt cutpointivt = notTaskPoints.stream() + CutpointAirShhaftDto cutpointivt = notTaskPoints.stream() + .sorted(Comparator.comparingLong(CutpointAirShhaftDto::getIvt_id)) .filter(cut -> "6".equals(cut.getQzz_size()) || ("3".equals(cut.getQzz_size()) && specification.equals(cut.getQzz_generation()))) .findFirst() @@ -780,8 +786,8 @@ public class AutoCallAirShaftTask { return; } stepStr += ",10"; - String pointCode1 = ObjectUtil.isNotEmpty(cutpointivt.getQzz_no1()) ? cutpointivt.getTruss_point_code1() : cutpointivt.getTruss_point_code2(); - String qzzNo = ObjectUtil.isNotEmpty(cutpointivt.getQzz_no1()) ? cutpointivt.getQzz_no1() : cutpointivt.getQzz_no2(); + String pointCode1 = cutpointivt.getPoint_code(); + String qzzNo = cutpointivt.getQzz_no(); // 获取对应的分切计划 List list = slittingproductionplanService.list(new LambdaQueryWrapper() .eq(PdmBiSlittingproductionplan::getQzzno, qzzNo) @@ -789,11 +795,12 @@ public class AutoCallAirShaftTask { if (list.size() == 0) { stepStr += ",99"; log.warn("气涨轴[{}]对应的分切计划不存在!", qzzNo); - // 把点位禁用 - cutpointivt.setIs_used("0"); - cutpointivt.setRemark("气胀轴" + qzzNo + "的计划不存在,无效点位自动禁用。"); - cutpointivt.setUpdate_time(DateUtil.now()); - bcutpointivtService.updateById(cutpointivt); + bcutpointivtService.update(new UpdateWrapper() + .eq("ivt_id",cutpointivt.getIvt_id()) + .set("is_used","0") + .set("remark","气胀轴" + qzzNo + "的计划不存在,无效点位自动禁用") + .set("update_time",DateUtil.now())); + return; } PdmBiSlittingproductionplan plan = list.get(0); 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 dd1e136a5..e132c5c9e 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 @@ -56,6 +56,7 @@ import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.SpringContextHolder; import org.nl.system.service.notice.ISysNoticeService; import org.nl.system.service.param.ISysParamService; +import org.nl.system.service.param.dao.Param; import org.nl.system.service.param.impl.SysParamServiceImpl; import org.nl.wms.ext.acs.service.AcsToWmsService; import org.nl.wms.pda.mps.eum.RegionTypeEnum; @@ -65,6 +66,7 @@ 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.AutoSendFeiShu; import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.sch.tasks.CutConveyorTask; import org.nl.wms.sch.tasks.EmptyVehicleTask; @@ -2053,6 +2055,10 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { } if (!compaerResult){ errorMsg.add("称重"+current_weight+"不匹配"+box_weight); + Param notify = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("weight_notify"); + if (notify!=null && StringUtils.isNotEmpty(notify.getValue())){ + AutoSendFeiShu.sendFeiShuMsg(notify.getValue(),box_no+"称重"+current_weight+",理论"+box_weight,"二期称重异常提醒"); + } } if (!inbound){ errorMsg.add("手动至异常口"); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/rest/SubpackagerelationController.java b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/rest/SubpackagerelationController.java index 88c2539be..f8e2b3e84 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/rest/SubpackagerelationController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/pdm/bi/rest/SubpackagerelationController.java @@ -1,6 +1,7 @@ package org.nl.wms.pdm.bi.rest; +import cn.dev33.satoken.annotation.SaIgnore; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; @@ -8,6 +9,7 @@ import lombok.extern.slf4j.Slf4j; import org.nl.modules.logging.annotation.Log; import org.nl.wms.pdm.bi.service.SubpackagerelationService; import org.nl.wms.pdm.bi.service.dto.SubpackagerelationDto; +import org.nl.wms.sch.manage.AutoSendFeiShu; import org.nl.wms.util.TranUtil; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; @@ -73,13 +75,10 @@ public class SubpackagerelationController { public void download(@RequestParam Map map, HttpServletResponse response) throws IOException { subpackagerelationService.download(map, response); } - @Log("导出数据") - @GetMapping(value = "/tranTest") - public void tranTest(@RequestBody JSONObject param) throws IOException { - TranUtil.openTransaction((req,callback)->{ - - return null; - },new JSONArray()); + @PostMapping (value = "/sendMsg") + @SaIgnore + public void tranTest(@RequestBody JSONObject param) { + AutoSendFeiShu.sendFeiShuMsg(param.getString("u"),param.getString("m"),param.getString("t")); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSendFeiShu.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSendFeiShu.java index 72a3375f1..99143e89a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSendFeiShu.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/manage/AutoSendFeiShu.java @@ -47,7 +47,35 @@ public class AutoSendFeiShu { } } } - + public static void sendFeiShuMsg(String ul,String m,String t){ + JSONObject jo = new JSONObject(); + String[] u = ul.split(","); + JSONArray UserList = new JSONArray(); + if (u.length > 0) { + for (String s : u) { + JSONObject param = new JSONObject(); + param.put("User", s); + UserList.add(param); + } + } + jo.put("SendType", "L"); + jo.put("Title", t); + jo.put("WarnType", "string"); + jo.put("MessageType", "P"); + jo.put("UserList", UserList); + jo.put("Message", m); + String url = SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("FEISHU_URL").getValue(); + String api = "/FeiShuNoticesWebApi/CommunalApi"; + url = url + api; + try { + log.info("飞书输 ru参数为:-------------------" + String.valueOf(jo)); + String resultMsg = HttpRequest.post(url) + .body(String.valueOf(jo)) + .execute().body(); + } catch (Exception e) { + log.info(e.getMessage()); + } + } void sendInfo(JSONArray device_rows) { WQLObject wo = WQLObject.getWQLObject("em_bi_devicestatus"); for (int i = 0; i < device_rows.size(); i++) {