| | |
| | | @Autowired |
| | | private OrderDetlService orderDetlService; |
| | | @Autowired |
| | | private OrderPakinService orderPakinService; |
| | | @Autowired |
| | | private OrderDetlPakinService orderDetlPakinService; |
| | | @Autowired |
| | | private OrderPakoutService orderPakoutService; |
| | | @Autowired |
| | | private OrderDetlPakoutService orderDetlPakoutService; |
| | | @Autowired |
| | | private SnowflakeIdWorker snowflakeIdWorker; |
| | | @Autowired |
| | | private DocTypeService docTypeService; |
| | |
| | | @ManagerAuth(memo = "手动删除订单") |
| | | @Transactional |
| | | public R delete(@RequestParam Long orderId){ |
| | | orderService.remove(orderId); |
| | | // Order order = orderService.selectById(orderId); |
| | | // if (order != null) { |
| | | // order.setStatus(0); |
| | | // } |
| | | // if (!orderService.updateById(order)) { |
| | | // throw new CoolException("删除订单失败"); |
| | | // } |
| | | // orderDetlService.modifyStatus(orderId, 0); |
| | | // 获取订单信息 |
| | | Order order = orderService.selectOne(new EntityWrapper<Order>().eq("id", orderId)); |
| | | String orderNo = order.getOrderNo(); |
| | | |
| | | // 删除 OrderDetl 表中与订单相关的数据 |
| | | orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_no", orderNo)); |
| | | |
| | | // 根据 PakinPakoutStatus 删除相关数据 |
| | | if (order.getPakinPakoutStatus() == 1) { |
| | | // 删除 OrderPakin 和 OrderDetlPakin 相关数据 |
| | | orderPakinService.delete(new EntityWrapper<OrderPakin>().eq("order_no", orderNo)); |
| | | orderDetlPakinService.delete(new EntityWrapper<OrderDetlPakin>().eq("order_no", orderNo)); |
| | | } else if (order.getPakinPakoutStatus() == 2) { |
| | | // 删除 OrderPakout 和 OrderDetlPakout 相关数据 |
| | | orderPakoutService.delete(new EntityWrapper<OrderPakout>().eq("order_no", orderNo)); |
| | | orderDetlPakoutService.delete(new EntityWrapper<OrderDetlPakout>().eq("order_no", orderNo)); |
| | | } |
| | | |
| | | // 删除 Order 表中对应的订单数据 |
| | | orderService.delete(new EntityWrapper<Order>().eq("order_no", orderNo)); |
| | | |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | | @RequestMapping(value = "/order/export/auth") |
| | | @ManagerAuth |
| | | public R export(@RequestBody JSONObject param){ |
| | |
| | | agvBindCtnrAndBinParam.setStgBinCode(basAgvLocNoSou.getAgvLocNo()); |
| | | agvBindCtnrAndBinParam.setReqCode(String.valueOf(System.currentTimeMillis())); |
| | | agvBindCtnrAndBinParam.setIndBind("1"); |
| | | ReturnT<String> resultBind = new PostMesDataUtils().postMesDataArmGrating("AGV容器解绑", |
| | | ReturnT<String> resultBind = new PostMesDataUtils().postMesDataArmGrating("AGV容器绑定", |
| | | AgvConstant.AGV_URL+"/"+AgvConstant.AGV_1LBind,AgvConstant.getAGVADAPTOR(1), agvBindCtnrAndBinParam); |
| | | if(resultBind.getCode() != 200){ |
| | | throw new CoolException("agv入库绑定失败"); |
| | |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void combAuto(CombParam param, Long userId) { |
| | | public void |
| | | combAuto(CombParam param, Long userId) { |
| | | if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) { |
| | | throw new CoolException(BaseRes.PARAM); |
| | | } |
| | |
| | | String orderNo = null; |
| | | for (CombParam.CombMat combMat : param.getCombMats()) { |
| | | if(combMat.getSupplier().equals("1")){ |
| | | // List<OrderDetlPakin> orderDetlPakins = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>() |
| | | // .eq("matnr", combMat.getMatnr()).eq("box_type3", combMat.getOrderNo()) |
| | | // .eq("standby1", combMat.getStandby1()).eq("standby2", combMat.getStandby2()) |
| | | // .eq("standby3", combMat.getStandby3()).eq("box_type2","BU-00001"));//1时检索和得 |
| | | // if (orderDetlPakins.size() > 0) { |
| | | // orderNo = orderDetlPakins.get(0).getOrderNo(); |
| | | // combMat.setBoxType1(orderDetlPakins.get(0).getBoxType1()); |
| | | // combMat.setBoxType2(orderDetlPakins.get(0).getBoxType2()); |
| | | // combMat.setBoxType3(orderDetlPakins.get(0).getBoxType3()); |
| | | // combMat.setMemo(orderDetlPakins.get(0).getMemo()); |
| | | // combMat.setSupp(orderDetlPakins.get(0).getSupp()); |
| | | // combMat.setSuppCode(orderDetlPakins.get(0).getSuppCode()); |
| | | // combMat.setManu(orderDetlPakins.get(0).getManu());//仓库编码 |
| | | // } else { |
| | | // throw new CoolException("未查询到相关订单===>>" + param.getBarcode()); |
| | | // } |
| | | List<OrderDetlPakin> orderDetlPakins = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>() |
| | | .eq("matnr", combMat.getMatnr()).eq("box_type3", combMat.getOrderNo()) |
| | | .eq("standby1", combMat.getStandby1()).eq("standby2", combMat.getStandby2()) |
| | | .eq("standby3", combMat.getStandby3()).eq("box_type2","BU-00001"));//1时检索和得 |
| | | .eq("standby3", combMat.getStandby3()).eq("box_type2","shyucheng.test")); |
| | | if (orderDetlPakins.size() > 0) { |
| | | orderNo = orderDetlPakins.get(0).getOrderNo(); |
| | | combMat.setBoxType1(orderDetlPakins.get(0).getBoxType1()); |
| | |
| | | |
| | | //遍历单据 |
| | | for (String orderNo : orderNos) { |
| | | OrderPakin orderPakin = orderPakinService.selectOne(new EntityWrapper<OrderPakin>().eq("order_no",orderNo)); |
| | | if(orderPakin.getDocType() == 16){ |
| | | orderPakin.setMoveStatus(1); |
| | | orderPakinService.updateById(orderPakin); |
| | | continue; |
| | | } |
| | | |
| | | try{ |
| | | List<OrderDetlPakin> orderDetlPakinListAll = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>().eq("order_no",orderNo).eq("inspect",0)); |
| | | if (orderDetlPakinListAll.size()<1){ |
| | |
| | | return; |
| | | } else if (number == 0){ |
| | | |
| | | Integer status = basArmRulesService.getStatus(orderDetl.getWeight(),orderDetl.getVolume(),orderDetl.getManLength(),orderDetl.getWidth(),orderDetl.getHeight()); |
| | | Integer status = basArmRulesService.getStatus(mat.getWeight(),mat.getVolume(),mat.getManLength(),mat.getWidth(),mat.getHeight()); |
| | | if (!Cools.isEmpty(status) && status == 2){ |
| | | continue; |
| | | } else { |
| | |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * Created by Monkey D. Luffy on 2023.07.25 |
| | |
| | | put(1005, 1007);put(1008, 1010);put(1019, 1021);put(1022, 1024);put(1029, 1031); |
| | | put(2001, 2003);put(2007, 2009);put(2013, 2015);put(2019, 2021);put(2025, 2027); |
| | | put(2003, 2003);put(2009, 2009);put(2015, 2015);put(2021, 2021);put(2027, 2027); |
| | | put(1105,1105);put(1104,1105);put(1043,1042);put(1042,1042); |
| | | put(1105,1105);put(1104,1105);put(1043,1042);put(1042,1042);put(1103,1105);put(1044,1042); |
| | | }}; |
| | | public static final Map<Integer, Integer> siteInMap = new HashMap<Integer, Integer>() {{ |
| | | put(1043, 1042);put(1042, 1042);put(1044, 1042);put(1105, 1105);put(1104, 1105); |
| | |
| | | // }}; |
| | | |
| | | |
| | | @Scheduled(cron = "0/3 * * * * ? ") |
| | | @Scheduled(cron = "0/2 * * * * ? ") |
| | | private void execute(){ |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | String currentTime = sdf.format(new Date()); |
| | | for(Integer staNo : STA_WORK_IN){ |
| | | BasDevp basDevp = basDevpService.selectById(staNo); |
| | | basDevp.setDevNo(siteInMap.get(basDevp.getDevNo())); |
| | |
| | | if(Cools.isEmpty(wrkMast)){ |
| | | continue; |
| | | } |
| | | // boolean wrkTypeSign = fullKM(wrkMast); |
| | | if (!Cools.isEmpty(wrkMast)){ |
| | | ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,21);//入库 |
| | | if (result.getCode()==200){ |
| | |
| | | if (Cools.isEmpty(wrkMast)){ |
| | | continue; |
| | | } |
| | | |
| | | // if (wrkMast.getWrkSts()!=2 || wrkMast.getIoType()==10){ |
| | | // continue; |
| | | // } |
| | | // boolean wrkTypeSign = fullKM(wrkMast); |
| | | |
| | | if (!Cools.isEmpty(wrkMast)){ |
| | | // if (wrkTypeSign){ |
| | | ReturnT<String> result = wrkMastStaInItHandler.start(wrkMast,basDevp,22);//出库 |
| | | if (result.getCode()==200) { |
| | | continue; |
| | | } else { |
| | | System.out.println(staNo+"失败3!"); |
| | | System.out.println(staNo+"失败2!"); |
| | | } |
| | | } |
| | | } |
| | |
| | | basDevp.setDevNo(siteOutMap.get(basDevp.getDevNo())); |
| | | if (basDevp.getWrkNo() > 10000 && basDevp.getLoading().equals("Y") && basDevp.getAutoing().equals("Y")){ |
| | | ReturnT<String> result = wrkMastStaInItHandler.start(null,basDevp,23);//异常退出 |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo())); |
| | | if (Cools.isEmpty(wrkMast)){ |
| | | continue; |
| | | } |
| | | if (result.getCode()==200) { |
| | | System.out.println(staNo + "时间!" + currentTime); |
| | | continue; |
| | | } else { |
| | | System.out.println(staNo+"失败3!"); |
| | |
| | | @Value("${erp.switch.InboundOrderSwitch}") |
| | | private boolean InboundOrderSwitch; |
| | | |
| | | @Scheduled(cron = "0 */15 * * * ?") |
| | | @Scheduled(cron = "0 */30 * * * ?") |
| | | // @Scheduled(cron = "0/20 * * * * ?") |
| | | void login(){ |
| | | if(!InboundOrderSwitch){ |
| | | return; |
| | |
| | | if (!result.isSuccess()) { |
| | | log.error("单据[orderNo={}]新增保存至erp失败", order.getOrderNo()); |
| | | } |
| | | // order.setSettle(8L); |
| | | // orderService.updateById(order); |
| | | }else if( order.getDocType() == 21){ //导入订单出库(领料) |
| | | order.setSettle(8L); |
| | | orderService.updateById(order); |
| | |
| | | path = orgAddress; |
| | | break; |
| | | case "PUR_RECEIVEBIll": //已审核收料单查询 |
| | | jsonObject.put("start_biztime", "2025-01-01 00:00:00");//业务起始日期 |
| | | jsonObject.put("start_biztime", latestUpdateTime);//业务起始日期 |
| | | // jsonObject.put("start_biztime", "2025-01-01 00:00:00");//业务起始日期 |
| | | // jsonObject.put("start_auditdate", "2025-01-01 00:00:00"; |
| | | |
| | | jsonObject.put("end_biztime", sdf1.format(now));//业务结束日期 |
| | | jsonObject.put("billno", null); |
| | | jsonObject.put("billstatus", Arrays.asList("C"));//数据状态 [A:暂存, B:已提交, C:已审核] |
| | | jsonObject.put("start_auditdate", "2025-11-25 00:00:00"); |
| | | jsonObject.put("start_auditdate", latestUpdateTime); |
| | | jsonObject.put("end_auditdate", sdf1.format(now)); |
| | | jsonObject.put("org_number", null); |
| | | jsonObject.put("supplier_number", null); |
| | |
| | | path = imMdcMftproorder; |
| | | // jsonObject.put("start_modifytime", "2025-11-25 00:00:00"); |
| | | // jsonObject.put("start_auditdate", "2025-11-25 00:00:00"); |
| | | jsonObject.put("start_createtime", "2025-11-25 00:00:00"); |
| | | jsonObject.put("start_createtime", latestUpdateTime); |
| | | jsonObject.put("end_createtime", sdf1.format(now)); |
| | | // jsonObject.put("end_auditdate", sdf1.format(now)); |
| | | // jsonObject.put("end_modifytime", sdf1.format(now)); |
| | |
| | | jsonObject.put("billno", null); |
| | | jsonObject.put("org_number", null); |
| | | jsonObject.put("billstatus", Arrays.asList("C"));//数据状态 [A:暂存, B:已提交, C:已审核] |
| | | jsonObject.put("start_createtime", "2025-11-25 00:00:00"); |
| | | jsonObject.put("start_createtime", latestUpdateTime); |
| | | jsonObject.put("end_createtime", sdf1.format(now)); |
| | | // jsonObject.put("start_modifytime", "2025-11-25 00:00:00"); |
| | | // jsonObject.put("end_modifytime", sdf1.format(now)); |
| | |
| | | jsonObject.put("billno", null); |
| | | jsonObject.put("org_number", null); |
| | | jsonObject.put("billstatus", Arrays.asList("C"));//数据状态 [A:暂存, B:已提交, C:已审核] |
| | | jsonObject.put("start_createtime", "2025-11-25 00:00:00"); |
| | | jsonObject.put("start_createtime", latestUpdateTime); |
| | | jsonObject.put("end_createtime", sdf1.format(now)); |
| | | // jsonObject.put("start_modifytime", "2025-11-25 00:00:00"); |
| | | // jsonObject.put("end_modifytime", sdf1.format(now)); |
| | |
| | | case "PRD_MORPT"://生产进仓单 |
| | | path = imProductinbill; |
| | | jsonObject.put("billstatus", Arrays.asList("C"));//数据状态 [A:暂存, B:已提交, C:已审核] |
| | | jsonObject.put("modifytime_start", "2025-11-25 00:00:00"); |
| | | jsonObject.put("modifytime_start", latestUpdateTime); |
| | | jsonObject.put("modifytime_end", sdf1.format(now)); |
| | | break; |
| | | case "STK_InspectionForm"://产品检验 |
| | | path = qcppManuinspec; |
| | | jsonObject.put("billstatus", Arrays.asList("C"));//数据状态 [A:暂存, B:已提交, C:已审核] |
| | | jsonObject.put("auditdate_start", "2025-11-25 00:00:00"); |
| | | jsonObject.put("auditdate_start", latestUpdateTime); |
| | | jsonObject.put("auditdate_end", sdf1.format(now)); |
| | | break; |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | docType.setUpdateTime(now); |
| | | docTypeService.updateById(docType); |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | } |
| | | docType.setUpdateTime(now); |
| | | docTypeService.updateById(docType); |
| | | } |
| | | } |
| | |
| | | <input class="layui-input" type="text" name="request" placeholder="请输入(订单号或品号)" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">result</label> |
| | | <div class="layui-input-inline"> |
| | | <input class="layui-input" type="text" name="result" placeholder="1/0" autocomplete="off"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-inline">  |
| | | <button class="layui-btn icon-btn" lay-filter="search" lay-submit> |
| | | <i class="layui-icon"></i>搜索 |
| | |
| | | <!-- <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">修改</a>--> |
| | | <a class="layui-btn layui-btn-danger layui-btn-xs btn-delete" lay-event="del">删除</a> |
| | | {{# } }} |
| | | <!-- <a class="layui-btn layui-btn-danger layui-btn-xs btn-delete" lay-event="del">删除</a>--> |
| | | |
| | | {{# if (d.settle == 98) { }} |
| | | <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">彻底完结</a> |
| | | <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="continueExecution">继续执行</a> |