src/main/java/com/zy/asrs/service/impl/BasDevpServiceImpl.java
@@ -52,9 +52,9 @@ if(station.getAutoing()==null || !station.getAutoing().equals("Y")) { throw new CoolException(devpNo+"站点不是自动状态"); } if(station.getLoading()==null || !station.getLoading().equals("Y")) { throw new CoolException(devpNo+"站点无物"); } // if(station.getLoading()==null || !station.getLoading().equals("Y")) { // throw new CoolException(devpNo+"站点无物"); // } if(station.getWrkNo()!=null && station.getWrkNo()>0 && station.getWrkNo() < 9990) { throw new CoolException(devpNo+"站点已有工作号"); } src/main/java/com/zy/asrs/task/AgvScheduler.java
@@ -26,7 +26,7 @@ // 出库呼叫agv接货 // 223或123有出库的任务则呼叫agv接货 @Scheduled(cron = "0/3 * * * * ? ") // @Scheduled(cron = "0/3 * * * * ? ") private void outboundCallAgvScheduler() { // 获取两个站点有物,有工作号 src/main/java/com/zy/common/service/CommonService.java
@@ -137,6 +137,7 @@ */ @Transactional public StartupDto getLocNoRun(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, Integer moveCrnNo, LocTypeDto locTypeDto, int times) { long start = System.currentTimeMillis(); int tagId = 0; if (Cools.isEmpty(matnr)) { //物料号 matnr = ""; @@ -254,21 +255,7 @@ } } // // 靠近摆放规则 --- 空托 //分离版 // if (staDescId == 10 && Utils.BooleanWhsTypeStaIoType(whsType)) { // List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O")); // for (LocMast locMast1:locMasts){ // if (VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { // continue; // } // String shallowLoc = Utils.getDeepLoc(slaveProperties,locMast1.getLocNo()); // LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",shallowLoc)); // if (!Cools.isEmpty(locMast2) && locMast2.getLocSts().equals("D")){ // locMast = locMast1; // break; // } // } // } // 靠近摆放规则 --- 空托 //互通版 if (staDescId == 10 && Utils.BooleanWhsTypeStaIoType(whsType)) { @@ -342,29 +329,7 @@ .eq("loc_sts", "O") .orderBy("lev1",true).orderBy("bay1",true)); } // List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>() // .eq("row1", nearRow) // .eq("loc_sts", "O") // .orderBy("lev1",true).orderBy("bay1",true)); // for (LocMast locMast1 : locMasts) { // if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { // continue; // } // if (Utils.BooleanWhsTypeStaIoType(whsType)){ //// String shallowLoc = Utils.getDeepLoc(slaveProperties, locMast1.getLocNo()); // LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>() // .eq("loc_sts", "O")); // if (!Cools.isEmpty(locMast2)) { // locMast = locMast2; // break; // } // } else { // if (!Cools.isEmpty(locMast1)) { // locMast = locMast1; // break; // } // } // } if (Cools.isEmpty(locMast) && Utils.BooleanWhsTypeStaIoType(whsType)){ if(tagId == 226){ @@ -376,17 +341,16 @@ } } locMasts = filteredLocMasts; }else{ List<LocMast> filteredLocMasts = new ArrayList<>(); for (LocMast loc : locMasts) { Integer lev = loc.getLev1(); if (lev != null && lev >= 1 && lev <= 5) { filteredLocMasts.add(loc); } } locMasts = filteredLocMasts; } // if(tagId == 226){ //原材料毛胚等 // List<LocMast> filteredLocMasts = new ArrayList<>(); // for (LocMast loc : locMasts) { // Integer lev = loc.getLev1(); // if (lev != null && lev >= 1 && lev <= 5) { // filteredLocMasts.add(loc); // } // } // locMasts = filteredLocMasts; // } for (LocMast locMast1 : locMasts) { if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) { continue; @@ -412,12 +376,6 @@ times = times + 1; return getLocNoRun(whsType, staDescId, sourceStaNo, matnr, batch, grade,moveCrnNo+1, locTypeDto, times); } // // 2.库位当前所属尺寸无空库位时,调整尺寸参数,向上兼容检索库位 // if (locTypeDto.getLocType1() < 2) { // int i = locTypeDto.getLocType1() + 1; // locTypeDto.setLocType1((short)i); // return getLocNo(1, staDescId, sourceStaNo, matnr,batch,grade, locTypeDto, 0); // } log.error("系统没有空库位!!! 尺寸规格: {}, 轮询次数:{}", JSON.toJSONString(locTypeDto), times); throw new CoolException("没有空库位或堆垛机异常"); } @@ -430,6 +388,8 @@ startupDto.setCrnNo(crnNo); startupDto.setSourceStaNo(sourceStaNo); startupDto.setLocNo(locNo); log.info("库位检索耗时: {} ms", System.currentTimeMillis() - start); return startupDto; } } src/main/java/com/zy/common/web/WcsController.java
@@ -96,12 +96,6 @@ return R.error("高低检测信号不能为空"); } try { // 延迟 3 秒再检测 Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } // 源站点状态检测 BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getSourceStaNo(), true); sourceStaNo.setLocType1(param.getLocType1()); @@ -328,6 +322,7 @@ */ @Transactional public StartupDto startupFullPutStore(Integer devpNo, String barcode,Double weight, LocTypeDto locTypeDto, List<WaitPakin> waitPakins) { long start = System.currentTimeMillis(); // 源站点状态检测 BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true); // 检索库位 @@ -423,6 +418,7 @@ } else { throw new CoolException(dto.getLocNo() + "目标库位已被占用"); } log.info("库位检索耗时: {} ms", System.currentTimeMillis() - start); return dto; } src/main/java/com/zy/third/erp/entity/InDetTB.java
@@ -25,73 +25,73 @@ @TableId(value = "AutoId", type = IdType.AUTO) @TableField("auto_id") @TableField("AutoId") private Integer AutoId; @ApiModelProperty(value = "") @TableField("bill_no") @TableField("BillNo") private String BillNo; @ApiModelProperty(value = "") @TableField("i_no") @TableField("iNO") private Integer iNO; /** * erp行唯一码 */ @ApiModelProperty(value = "erp行唯一码") @TableField("det_id") @TableField("DetId") private Integer detId; @ApiModelProperty(value = "") @TableField("item_id") @TableField("ItemId") private String ItemId; @ApiModelProperty(value = "") @TableField("item_code") @TableField("ItemCode") private String ItemCode; @ApiModelProperty(value = "") @TableField("item_batch") @TableField("ItemBatch") private String ItemBatch; @ApiModelProperty(value = "") @TableField("pro_type") @TableField("proType") private String protype; @ApiModelProperty(value = "") @TableField("order_no") @TableField("OrderNo") private String OrderNo; @ApiModelProperty(value = "") @TableField("main_num") @TableField("MainNum") private Double MainNum; @ApiModelProperty(value = "") @TableField("remark") @TableField("Remark") private String remark; @TableField("ware_id") @TableField("WareId") private String wareId; @TableField("ware_name") @TableField("WareName") private String WareName; @ApiModelProperty(value = "") @TableField("temp1") @TableField("Temp1") private String temp1; @ApiModelProperty(value = "") @TableField("temp2") @TableField("Temp2") private String temp2; @ApiModelProperty(value = "") @TableField("temp3") @TableField("Temp3") private String temp3; @ApiModelProperty(value = "") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @TableField("make_date") @TableField("MakeDate") private Date makedate; @ApiModelProperty(value = "") @@ -101,17 +101,17 @@ /** * */ @TableField("fact_area") @TableField("FactArea") private String FactArea; /** * 供应商\客户ID */ @TableField("packing") @TableField("Packing") private String Packing; /** * 颜色 */ @TableField("s_color") @TableField("sColor") private String sColor; // /** @@ -123,7 +123,7 @@ /** * 工单号 */ @TableField("s_pg_no") @TableField("sPgNO") private String sPgNO; src/main/java/com/zy/third/erp/entity/InHedTB.java
@@ -18,12 +18,12 @@ @TableId(value = "AutoId", type = IdType.AUTO) @TableField("auto_id") @TableField("AutoId") private Integer AutoId; @ApiModelProperty(value = "") @TableId(value = "bill_no", type = IdType.INPUT) @TableField("bill_no") @TableId(value = "BillNo", type = IdType.INPUT) @TableField("BillNo") private String BillNo; /** @@ -34,55 +34,55 @@ * CheckMoreIn:盘盈入库单 */ // @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @TableField("bill_date") @TableField("BillDate") private Date BillDate; @TableField("io_kind_id") @TableField("IoKindId") private String IoKindID; @TableField("io_kind_name") @TableField("IoKindName") private String ioKindName; /** * 供应商、部门ID */ @ApiModelProperty(value = "供应商、部门ID") @TableField("object_id") @TableField("ObjectId") private String ObjectId; /** * 供应商、部门名称 */ @TableField("object_name") @TableField("ObjectName") @ApiModelProperty(value = "供应商、部门名称") private String ObjectName; @ApiModelProperty(value = "") @TableField("remark") @TableField("Remark") private String remark; @TableField("ware_id") @TableField("WareId") private String wareId; @TableField("ware_name") @TableField("WareName") private String wareName; @ApiModelProperty(value = "") @TableField("temp1") @TableField("Temp1") private String Temp1; @ApiModelProperty(value = "") @TableField("temp2") @TableField("Temp2") private String Temp2; @ApiModelProperty(value = "") @TableField("temp3") @TableField("Temp3") private String Temp3; @ApiModelProperty(value = "") // @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @TableField("make_date") @TableField("MakeDate") private Date MakeDate; @ApiModelProperty(value = "") @@ -92,7 +92,7 @@ /** * */ @TableField("fact_area") @TableField("FactArea") private String FactArea; src/main/java/com/zy/third/erp/entity/ItemTB.java
@@ -21,7 +21,7 @@ private static final long serialVersionUID = 1L; @TableId(value = "auto_id", type = IdType.AUTO) @TableId(value = "AutoId", type = IdType.AUTO) private Integer AutoId; @ApiModelProperty(value = "") src/main/java/com/zy/third/erp/entity/OutCancelTB.java
@@ -35,6 +35,10 @@ @TableField("LKName") private String LKName; @ApiModelProperty(value = "") @TableField("FactArea") private String FactArea; public String getMakedate$() { if (Cools.isEmpty(this.MakeDate)) { src/main/java/com/zy/third/erp/entity/OutDetTB.java
@@ -23,70 +23,70 @@ private static final long serialVersionUID = 1L; @TableId(value = "auto_id", type = IdType.AUTO) @TableField("auto_id") @TableId(value = "AutoId", type = IdType.AUTO) @TableField("AutoId") private Integer AutoId; @ApiModelProperty(value = "") @TableField("bill_no") @TableField("BillNo") private String BillNo; @ApiModelProperty(value = "") @TableField("i_no") @TableField("iNO") private Integer iNO; @ApiModelProperty(value = "") @TableField("det_id") @TableField("DetId") private Integer detId; @ApiModelProperty(value = "") @TableField("item_id") @TableField("ItemId") private String ItemId; @ApiModelProperty(value = "") @TableField("item_code") @TableField("ItemCode") private String ItemCode; @ApiModelProperty(value = "") @TableField("item_batch") @TableField("ItemBatch") private String ItemBatch; @ApiModelProperty(value = "") @TableField("pro_type") @TableField("proType") private String proType; @ApiModelProperty(value = "") @TableField("order_no") @TableField("OrderNo") private String OrderNo; @ApiModelProperty(value = "") @TableField("main_num") @TableField("MainNum") private Double MainNum; @TableField("remark") @TableField("Remark") private String remark; @TableField("ware_id") @TableField("WareId") private String wareId; @TableField("ware_name") @TableField("WareName") private String wareName; @ApiModelProperty(value = "") @TableField("temp1") @TableField("Temp1") private String temp1; @ApiModelProperty(value = "") @TableField("temp2") @TableField("Temp2") private String temp2; @ApiModelProperty(value = "") @TableField("temp3") @TableField("Temp3") private String temp3; @ApiModelProperty(value = "") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @TableField("make_date") @TableField("MakeDate") private Date makedate; // @ApiModelProperty(value= "") @@ -95,7 +95,7 @@ // private Date delDate; @ApiModelProperty(value = "") @TableField("pro_type") @TableField("proType") private String protype; @ApiModelProperty(value = "") @@ -103,18 +103,18 @@ private String LKName; @TableField("fact_area") @TableField("FactArea") private String FactArea; /** * 供应商\客户ID */ @TableField("packing") @TableField("Packing") private String Packing; /** * 颜色 */ @TableField("s_color") @TableField("sColor") private String sColor; // /** @@ -126,7 +126,7 @@ /** * 工单号 */ @TableField("s_pg_no") @TableField("sPgNO") private String sPgNO; public String getMakedate$() { src/main/java/com/zy/third/erp/entity/OutHedTB.java
@@ -21,16 +21,16 @@ private static final long serialVersionUID = 1L; @TableId(value = "auto_id", type = IdType.AUTO) @TableId(value = "AutoId", type = IdType.AUTO) private Integer AutoId; @ApiModelProperty(value = "") @TableId(value = "bill_no", type = IdType.INPUT) @TableField("bill_no") @TableId(value = "BillNo", type = IdType.INPUT) @TableField("BillNo") private String BillNo; @TableField("bill_date") @TableField("BillDate") // @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date BillDate; @@ -42,59 +42,59 @@ * CheckLossOut:盘盈出库单 */ @ApiModelProperty(value = "SendMatOut:发料出库 ") @TableField("io_kind_id") @TableField("IoKindID") private String IoKindID; @TableField("io_kind_name") @TableField("IoKindName") private String ioKindName; /** * 部门ID */ @ApiModelProperty(value = "部门ID") @TableField("object_id") @TableField("ObjectId") private String ObjectId; /** * 部门名称 */ @ApiModelProperty(value = "部门名称") @TableField("object_name") @TableField("ObjectName") private String ObjectName; @ApiModelProperty(value = "") @TableField("remark") @TableField("Remark") private String remark; @TableField("ware_id") @TableField("WareId") private String wareId; @TableField("ware_id") @TableField("WareName") private String wareName; @ApiModelProperty(value = "") @TableField("temp1") @TableField("Temp1") private String Temp1; @ApiModelProperty(value = "") @TableField("temp2") @TableField("Temp2") private String Temp2; @ApiModelProperty(value = "") @TableField("temp3") @TableField("Temp3") private String Temp3; @ApiModelProperty(value = "") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @TableField("make_date") @TableField("MakeDate") private Date MakeDate; @ApiModelProperty(value = "") @TableField("LKName") private String LKName; @TableField("fact_area") @TableField("FactArea") private String FactArea; } src/main/java/com/zy/third/erp/task/ERPInCancelScheduler.java
@@ -27,17 +27,17 @@ @Transactional(rollbackFor = Throwable.class) //@Scheduled(cron = "${erp.refreshtime}") @Scheduled(cron = "${erp.refreshtime}") public void InCancelScheduler() { if (!erpEnabled) return; String sqlInCancelTB = "select * from erp_InCancelTB where LKName='高霖立库'"; String sqlInCancelTB = "select * from erp_InCancelTB "; List<InCancelTB> ins = erpSqlServer.select(sqlInCancelTB, InCancelTB.class); for (InCancelTB in : ins) { com.zy.third.lk.entity.InCancelTB lkCancel = inMS.tryCancel(in.getBillNo()); com.zy.third.lk.entity.InCancelTB lkCancel = inMS.tryCancelIn(in.getBillNo()); if (lkCancel != null) { HashMap<String, String> condition = new HashMap<>(); condition.put("BillNo", "'" + in.getBillNo() + "'"); int delete = erpSqlServer.delete(InCancelTB.class, condition); int delete = erpSqlServer.delete(com.zy.third.erp.entity.InCancelTB.class, condition); if (delete > 0) { log.info("将入库取消通知单删除成功,{}", lkCancel.getBillNo()); } else { src/main/java/com/zy/third/erp/task/ERPInHedTBScheduler.java
@@ -48,7 +48,7 @@ //continue; } HashMap<String, String> condition = new HashMap<>(); condition.put("bill_no", "'" + inHed.getBillNo() + "'"); condition.put("BillNo", "'" + inHed.getBillNo() + "'"); List<InDetTB> inDetTBS = erpSqlServer.selectList(InDetTB.class, condition); HashMap<String, Object> hedAndDet = new HashMap<>(); hedAndDet.put("hed", inHed); @@ -63,7 +63,7 @@ } catch (Exception e) { log.info(e.getMessage()); //e.printStackTrace(); String sql = "UPDATE erp_InHedTB SET Temp3 = 'fault' WHERE bill_no = '" + inHed.getBillNo() + "'"; String sql = "UPDATE erp_InHedTB SET Temp3 = 'fault' WHERE BillNo = '" + inHed.getBillNo() + "'"; erpSqlServer.update(sql); } } @@ -76,12 +76,12 @@ InHedTB hed = (InHedTB) hedAndDet.get("hed"); ArrayList<InDetTB> dets = (ArrayList<InDetTB>) hedAndDet.get("det"); HashMap<String, String> condition = new HashMap<>(); condition.put("bill_no", "'" + hed.getBillNo() + "'"); condition.put("BillNo", "'" + hed.getBillNo() + "'"); erpSqlServer.delete(InHedTB.class, condition); for (InDetTB det : dets) { HashMap<String, String> condition2 = new HashMap<>(); condition2.put("bill_no", "'" + det.getBillNo() + "'"); condition2.put("i_no", String.valueOf(det.getINO())); condition2.put("BillNo", "'" + det.getBillNo() + "'"); condition2.put("iNo", String.valueOf(det.getINO())); erpSqlServer.delete(InDetTB.class, condition2); } src/main/java/com/zy/third/erp/task/ERPInOrOutCancelService.java
@@ -24,7 +24,7 @@ private OrderDetlService orderDetlService; public com.zy.third.lk.entity.InCancelTB tryCancel(String orderNo) { public com.zy.third.lk.entity.InCancelTB tryCancelIn(String orderNo) { com.zy.third.lk.entity.InCancelTB lkCancel = new com.zy.third.lk.entity.InCancelTB(); List<Order> targets = orderService.selectList(new EntityWrapper<Order>() @@ -62,5 +62,44 @@ } public com.zy.third.lk.entity.OutCancelTB tryCancelOut(String orderNo) { com.zy.third.lk.entity.OutCancelTB lkCancel = new com.zy.third.lk.entity.OutCancelTB(); List<Order> targets = orderService.selectList(new EntityWrapper<Order>() .eq("order_no",orderNo)); log.info("要取消的订单:{}", targets); if (targets.isEmpty()) { lkCancel.setBillNo(orderNo); lkCancel.setOpFlag(1); //erp方要求,订单找不到,返回1 lkCancel.setMakeDate(new Date()); return lkCancel; } else { //默认订单id不能重复 Order order = targets.get(0); List<OrderDetl> detlList = orderDetlService.selectItem(order.getOrderNo()); log.info("要取消的订单详情:{}", detlList); Optional<OrderDetl> any = detlList.stream().filter(s -> s.getQty().compareTo(0D) > 0).findAny(); if (order.getSettle() > 1L || any.isPresent()) { lkCancel.setBillNo(orderNo); lkCancel.setOpFlag(2); lkCancel.setMakeDate(new Date()); return lkCancel; } orderService.addToLogTable(order); orderService.delete(new EntityWrapper<Order>() .eq("order_no", order.getOrderNo())); detlList.stream().forEach(d -> orderDetlService.addToLogTable(d)); orderDetlService.delete(new EntityWrapper<OrderDetl>() .eq("order_no", order.getOrderNo())); lkCancel.setBillNo(orderNo); lkCancel.setOpFlag(1); lkCancel.setMakeDate(new Date()); return lkCancel; } } } src/main/java/com/zy/third/erp/task/ERPItemScheduler.java
@@ -59,6 +59,6 @@ */ //将数据从主表移动到bak表里 private void moveToBak(ItemTB itemTB) { erpSqlServer.update("delete from erp_ItemTB where LKName='高霖立库' and Item_id = '" + itemTB.getItemId() + "'"); erpSqlServer.update("delete from erp_ItemTB where LKName='高霖立库' and ItemId = '" + itemTB.getItemId() + "'"); } } src/main/java/com/zy/third/erp/task/ERPOutCancelScheduler.java
@@ -28,34 +28,34 @@ @Transactional(rollbackFor = Throwable.class) //@Scheduled(cron = "${erp.refreshtime}") public void InCancelScheduler() { @Scheduled(cron = "${erp.refreshtime}") public void OutCancelScheduler() { //log.info("InCancelScheduler开始了"); if (!erpEnabled) return; String sqlInCancelTB = "select * from erp_OutCancelTB where LKName='高霖立库'"; String sqlInCancelTB = "select * from erp_OutCancelTB"; List<OutCancelTB> ins = erpSqlServer.select(sqlInCancelTB, OutCancelTB.class); for (OutCancelTB in : ins) { com.zy.third.lk.entity.InCancelTB lkCancel = inMS.tryCancel(in.getBillNo()); com.zy.third.lk.entity.OutCancelTB lkCancel = inMS.tryCancelOut(in.getBillNo()); if (lkCancel != null) { HashMap<String, String> condition = new HashMap<>(); condition.put("BillNo", "'" + in.getBillNo() + "'"); int delete = erpSqlServer.delete(InCancelTB.class, condition); int delete = erpSqlServer.delete(com.zy.third.erp.entity.OutCancelTB.class, condition); if (delete > 0) { log.info("将入库取消通知单删除成功,{}", lkCancel.getBillNo()); log.info("将出库取消通知单删除成功,{}", lkCancel.getBillNo()); } else { log.error("将入库取消通知单删除失败,{}", lkCancel.getBillNo()); log.error("将出库取消通知单删除失败,{}", lkCancel.getBillNo()); } HashMap<String, Object> content = new HashMap<>(); content.put("BillNo", "'" + lkCancel.getBillNo() + "'"); content.put("opFlag", lkCancel.getOpFlag()); int insert = erpSqlServer.insert(com.zy.third.lk.entity.InCancelTB.class, content); // content.put("opFlag", lkCancel.getOpFlag()); int insert = erpSqlServer.insert(com.zy.third.lk.entity.OutCancelTB.class, content); if (insert > 0) { log.info("将入库取消通知单写入成功,{}", lkCancel.getBillNo()); log.info("将出库取消通知单写入成功,{}", lkCancel.getBillNo()); } else { log.error("将入库取消通知单写入失败,{}", lkCancel.getBillNo()); log.error("将出库取消通知单写入失败,{}", lkCancel.getBillNo()); } } else { log.error("将入库取消通知单写入失败"); log.error("将出库取消通知单写入失败"); } } } src/main/java/com/zy/third/erp/task/ERPOutHedTBScheduler.java
@@ -49,7 +49,7 @@ //continue; } HashMap<String, String> condition = new HashMap<>(); condition.put("bill_no", "'" + inHed.getBillNo() + "'"); condition.put("BillNO", "'" + inHed.getBillNo() + "'"); List<OutDetTB> inDetTBS = erpSqlServer.selectList(OutDetTB.class, condition); HashMap<String, Object> hedAndDet = new HashMap<>(); hedAndDet.put("hed", inHed); @@ -64,7 +64,7 @@ } catch (Exception e) { log.info(e.getMessage()); // e.printStackTrace(); String sql = "UPDATE erp_OutHedTB SET Temp3 = 'fault' WHERE BillNo = '" + inHed.getBillNo() + "'"; String sql = "UPDATE erp_OutHedTB SET Remark = 'fault' WHERE BillNo = '" + inHed.getBillNo() + "'"; erpSqlServer.update(sql); // } @@ -96,7 +96,7 @@ } catch (Exception e) { log.info(e.getMessage()); // e.printStackTrace(); String sql = "UPDATE erp_OutHedTB SET Temp3 = 'fault' WHERE BillNo = '" + inHed.getBillNo() + "'"; String sql = "UPDATE erp_OutHedTB SET Remark = 'fault' WHERE BillNo = '" + inHed.getBillNo() + "'"; erpSqlServer.update(sql); // } @@ -109,12 +109,12 @@ OutHedTB hed = (OutHedTB) hedAndDet.get("hed"); ArrayList<OutDetTB> dets = (ArrayList<OutDetTB>) hedAndDet.get("det"); HashMap<String, String> condition = new HashMap<>(); condition.put("bill_no", "'" + hed.getBillNo() + "'"); condition.put("BillNo", "'" + hed.getBillNo() + "'"); erpSqlServer.delete(OutHedTB.class, condition); for (OutDetTB det : dets) { HashMap<String, String> condition2 = new HashMap<>(); condition2.put("bill_no", "'" + det.getBillNo() + "'"); condition2.put("i_no", String.valueOf(det.getINO())); condition2.put("BillNo", "'" + det.getBillNo() + "'"); condition2.put("iNo", String.valueOf(det.getINO())); erpSqlServer.delete(OutDetTB.class, condition2); } src/main/java/com/zy/third/lk/entity/OutCancelTB.java
New file @@ -0,0 +1,55 @@ package com.zy.third.lk.entity; import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; import com.baomidou.mybatisplus.enums.IdType; import com.core.common.Cools; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.text.SimpleDateFormat; import java.util.Date; @Data @TableName("lk_OutCancelTB") public class OutCancelTB implements Serializable { private static final long serialVersionUID = 1L; @TableId(value = "AutoId", type = IdType.AUTO) private Integer AutoId; @ApiModelProperty(value = "") @TableField("BillNo") private String BillNo; @ApiModelProperty(value = "") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @TableField("MakeDate") private Date MakeDate; @ApiModelProperty(value = "") @TableField("opFlag") private Integer opFlag; @ApiModelProperty(value = "") @TableField("LKName") private String LKName; @ApiModelProperty(value = "") @TableField("FactArea") private String FactArea; public String getMakedate$() { if (Cools.isEmpty(this.MakeDate)) { return ""; } return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.MakeDate); } } src/main/java/com/zy/third/lk/task/LKInTBScheduler.java
@@ -93,9 +93,9 @@ */ @Transactional(rollbackFor = Throwable.class) public boolean insertInDet(OrderDetl orderDetl) { String sqlInDetTb = "select * from lk_InDetTB where bill_no='" + orderDetl.getOrderNo() + "' and " + " item_id='" + orderDetl.getMatnr() + "' and item_batch='" + orderDetl.getBatch() + "' and pro_type='" + orderDetl.getSpecs() + "'"; String sqlInDetTb = "select * from Lk_InDetTB where BillNo='" + orderDetl.getOrderNo() + "' and " + " ItemID='" + orderDetl.getMatnr() + "' and ItemBatch='" + orderDetl.getBatch() + "' and proType='" + orderDetl.getSpecs() + "'"; List<InDetTB> inDets = erpSqlServer.select(sqlInDetTb, InDetTB.class); String sqlInDetTbBak = "select * from lk_InDetTB_Bak where bill_no='" + orderDetl.getOrderNo() + "' and " + " item_id='" + orderDetl.getMatnr() + "' and item_batch='" + orderDetl.getBatch() + "' and pro_type='" + orderDetl.getSpecs() + "'"; String sqlInDetTbBak = "select * from Lk_InDetTB_Bak where BillNo='" + orderDetl.getOrderNo() + "' and " + " ItemID='" + orderDetl.getMatnr() + "' and ItemBatch='" + orderDetl.getBatch() + "' and proType='" + orderDetl.getSpecs() + "'"; List<InDetTBBak> inDetBaks = erpSqlServer.select(sqlInDetTbBak, InDetTBBak.class); if (!inDets.isEmpty() || !inDetBaks.isEmpty()) { log.error("该单号料号中间表表身已存在:" + orderDetl.getOrderNo() + "==>>" + orderDetl.getOrderNo()); @@ -122,9 +122,9 @@ */ @Transactional(rollbackFor = Throwable.class) public boolean insertInHed(Order order) { String sqlInHedTb = "select * from lk_InHedTB where LKName='高霖立库' and bill_no='" + order.getOrderNo() + "'"; String sqlInHedTb = "select * from lk_InHedTB where LKName='高霖立库' and BillNo='" + order.getOrderNo() + "'"; List<InHedTB> outHeds = erpSqlServer.select(sqlInHedTb, InHedTB.class); String sqlInHedTbBak = "select * from lk_InHedTB_Bak where LKName='高霖立库' and bill_no='" + order.getOrderNo() + "'"; String sqlInHedTbBak = "select * from lk_InHedTB_Bak where LKName='高霖立库' and BillNo='" + order.getOrderNo() + "'"; List<InHedTBBak> inHedBaks = erpSqlServer.select(sqlInHedTbBak, InHedTBBak.class); if (!outHeds.isEmpty() || !inHedBaks.isEmpty()) { log.error("该单号料号中间表表头已存在:" + order.getOrderNo()); @@ -132,20 +132,20 @@ } DocType docType = docTypeService.selectById(order.getDocType()); HashMap<String, Object> content = new HashMap<>(); content.put("bill_no", "'" + order.getOrderNo() + "'"); content.put("bill_date", "'" + DateUtils.convert(new Date()) + "'"); if (!Cools.isEmpty(docType.getDocCode())) content.put("io_kind_id", "'" + docType.getDocCode() + "'"); if (!Cools.isEmpty(docType.getDocName())) content.put("io_kind_name", "'" + docType.getDocName() + "'"); if (!Cools.isEmpty(order.getWareId())) content.put("ware_id", "'" + order.getWareId() + "'"); if (!Cools.isEmpty(order.getWareName())) content.put("ware_name", "'" + order.getWareName() + "'"); if (!Cools.isEmpty(order.getTemp1())) content.put("temp1", "'" + order.getTemp1() + "'"); if (!Cools.isEmpty(order.getTemp2())) content.put("temp2", "'" + order.getTemp2() + "'"); if (!Cools.isEmpty(order.getTemp3())) content.put("temp3", "'" + order.getTemp3() + "'"); if (!Cools.isEmpty(order.getCstmr())) content.put("object_id", "'" + order.getCstmr() + "'"); if (!Cools.isEmpty(order.getCstmrName())) content.put("object_name", "'" + order.getCstmrName() + "'"); if (!Cools.isEmpty(order.getMemo())) content.put("remark", "'" + order.getMemo() + "'"); content.put("BillNo", "'" + order.getOrderNo() + "'"); content.put("BillDate", "'" + DateUtils.convert(new Date()) + "'"); if (!Cools.isEmpty(docType.getDocCode())) content.put("IoKindId", "'" + docType.getDocCode() + "'"); if (!Cools.isEmpty(docType.getDocName())) content.put("IoKindName", "'" + docType.getDocName() + "'"); if (!Cools.isEmpty(order.getWareId())) content.put("WareId", "'" + order.getWareId() + "'"); if (!Cools.isEmpty(order.getWareName())) content.put("WareName", "'" + order.getWareName() + "'"); if (!Cools.isEmpty(order.getTemp1())) content.put("Temp1", "'" + order.getTemp1() + "'"); if (!Cools.isEmpty(order.getTemp2())) content.put("Temp2", "'" + order.getTemp2() + "'"); if (!Cools.isEmpty(order.getTemp3())) content.put("Temp3", "'" + order.getTemp3() + "'"); if (!Cools.isEmpty(order.getCstmr())) content.put("ObjectId", "'" + order.getCstmr() + "'"); if (!Cools.isEmpty(order.getCstmrName())) content.put("ObjectName", "'" + order.getCstmrName() + "'"); if (!Cools.isEmpty(order.getMemo())) content.put("Remark", "'" + order.getMemo() + "'"); content.put("LKName", "'高霖立库'"); content.put("b_pass", "1"); content.put("bPass", "1"); int insert = erpSqlServer.insert(InHedTB.class, content); if (insert == 1) { log.info("入库单表头回传成功:" + content); @@ -164,9 +164,9 @@ */ @Transactional(rollbackFor = Throwable.class) public boolean insertOutDet(OrderDetl orderDetl) { String sqlInDetTb = "select * from lk_OutDetTB where bill_no='" + orderDetl.getOrderNo() + "' and " + " item_id='" + orderDetl.getMatnr() + "' and item_batch='" + orderDetl.getBatch() + "' and pro_type='" + orderDetl.getSpecs() + "'"; String sqlInDetTb = "select * from lk_OutDetTB where BillNo='" + orderDetl.getOrderNo() + "' and " + " ItemId='" + orderDetl.getMatnr() + "' and OrderNo='" + orderDetl.getOutOrderNo() + "' and proType='" + orderDetl.getProType() + "'"; List<OutDetTB> inDets = erpSqlServer.select(sqlInDetTb, OutDetTB.class); String sqlInDetTbBak = "select * from lk_OutDetTB_Bak where bill_no='" + orderDetl.getOrderNo() + "' and " + " item_id='" + orderDetl.getMatnr() + "' and item_batch='" + orderDetl.getBatch() + "' and pro_type='" + orderDetl.getSpecs() + "'"; String sqlInDetTbBak = "select * from lk_OutDetTB_Bak where BillNo='" + orderDetl.getOrderNo() + "' and " + " ItemId='" + orderDetl.getMatnr() + "' and OrderNo='" + orderDetl.getOutOrderNo() + "' and proType='" + orderDetl.getProType() + "'"; List<OutDetTBBak> inDetBaks = erpSqlServer.select(sqlInDetTbBak, OutDetTBBak.class); if (!inDets.isEmpty() || !inDetBaks.isEmpty()) { log.error("该单号料号中间表表身已存在:" + orderDetl.getOrderNo() + "==>>" + orderDetl.getOrderNo()); @@ -193,9 +193,9 @@ */ @Transactional(rollbackFor = Throwable.class) public boolean insertOutHed(Order order) { String sqlInHedTb = "select * from lk_OutHedTB where LKName='高霖立库' and bill_no='" + order.getOrderNo() + "'"; String sqlInHedTb = "select * from lk_OutHedTB where LKName='高霖立库' and BillNo='" + order.getOrderNo() + "'"; List<OutHedTB> outHeds = erpSqlServer.select(sqlInHedTb, OutHedTB.class); String sqlInHedTbBak = "select * from lk_OutHedTB_Bak where LKName='高霖立库' and bill_no='" + order.getOrderNo() + "'"; String sqlInHedTbBak = "select * from lk_OutHedTB_Bak where LKName='高霖立库' and BillNo='" + order.getOrderNo() + "'"; List<OutHedTBBak> inHedBaks = erpSqlServer.select(sqlInHedTbBak, OutHedTBBak.class); if (!outHeds.isEmpty() || !inHedBaks.isEmpty()) { log.error("该单号料号中间表表头已存在:" + order.getOrderNo()); @@ -203,21 +203,21 @@ } DocType docType = docTypeService.selectById(order.getDocType()); HashMap<String, Object> content = new HashMap<>(); content.put("bill_no", "'" + order.getOrderNo() + "'"); content.put("bill_no", "'" + DateUtils.convert(new Date()) + "'"); if (!Cools.isEmpty(docType.getDocCode())) content.put("io_kind_id", "'" + docType.getDocCode() + "'"); if (!Cools.isEmpty(docType.getDocName())) content.put("io_kind_name", "'" + docType.getDocName() + "'"); if (!Cools.isEmpty(order.getWareId())) content.put("ware_id", "'" + order.getWareId() + "'"); if (!Cools.isEmpty(order.getWareName())) content.put("ware_name", "'" + order.getWareName() + "'"); if (!Cools.isEmpty(order.getUpdateTime())) content.put("make_date", "'" + order.getUpdateTime() + "'"); if (!Cools.isEmpty(order.getTemp1())) content.put("temp1", "'" + order.getTemp1() + "'"); if (!Cools.isEmpty(order.getTemp2())) content.put("temp2", "'" + order.getTemp2() + "'"); if (!Cools.isEmpty(order.getTemp3())) content.put("temp3", "'" + order.getTemp3() + "'"); if (!Cools.isEmpty(order.getCstmr())) content.put("object_id", "'" + order.getCstmr() + "'"); if (!Cools.isEmpty(order.getCstmrName())) content.put("object_name", "'" + order.getCstmrName() + "'"); if (!Cools.isEmpty(order.getMemo())) content.put("remark", "'" + order.getMemo() + "'"); content.put("BillNo", "'" + order.getOrderNo() + "'"); content.put("BillDate", "'" + DateUtils.convert(new Date()) + "'"); if (!Cools.isEmpty(docType.getDocCode())) content.put("IoKindId", "'" + docType.getDocCode() + "'"); if (!Cools.isEmpty(docType.getDocName())) content.put("IoKindName", "'" + docType.getDocName() + "'"); if (!Cools.isEmpty(order.getWareId())) content.put("WareId", "'" + order.getWareId() + "'"); if (!Cools.isEmpty(order.getWareName())) content.put("WareName", "'" + order.getWareName() + "'"); if (!Cools.isEmpty(order.getUpdateTime())) content.put("MakeDate", "'" + order.getUpdateTime() + "'"); if (!Cools.isEmpty(order.getTemp1())) content.put("Temp1", "'" + order.getTemp1() + "'"); if (!Cools.isEmpty(order.getTemp2())) content.put("Temp2", "'" + order.getTemp2() + "'"); if (!Cools.isEmpty(order.getTemp3())) content.put("Temp3", "'" + order.getTemp3() + "'"); if (!Cools.isEmpty(order.getCstmr())) content.put("ObjectId", "'" + order.getCstmr() + "'"); if (!Cools.isEmpty(order.getCstmrName())) content.put("ObjectName", "'" + order.getCstmrName() + "'"); if (!Cools.isEmpty(order.getMemo())) content.put("Remark", "'" + order.getMemo() + "'"); content.put("LKName", "'高霖立库'"); content.put("b_pass", "1"); content.put("bPass", "1"); int insert = erpSqlServer.insert(OutHedTB.class, content); if (insert == 1) { log.info("入库单表头回传成功:" + content); @@ -230,32 +230,32 @@ private Map<String, Object> getMap(OrderDetl orderDetl) { Map<String, Object> content = new HashMap<>(); if (!Cools.isEmpty(orderDetl.getOrderNo())) content.put("bill_no", "'" + orderDetl.getOrderNo() + "'"); if (!Cools.isEmpty(orderDetl.getINo())) content.put("i_no", "'" + orderDetl.getINo() + "'"); if (!Cools.isEmpty(orderDetl.getThreeCode())) content.put("det_id", orderDetl.getThreeCode()); if (!Cools.isEmpty(orderDetl.getMatnr())) content.put("item_id", "'" + orderDetl.getMatnr() + "'"); if (!Cools.isEmpty(orderDetl.getModel())) content.put("item_code", "'" + orderDetl.getModel() + "'"); if (!Cools.isEmpty(orderDetl.getBatch())) content.put("item_batch", "'" + orderDetl.getBatch() + "'"); if (!Cools.isEmpty(orderDetl.getProType())) content.put("pro_type", "'" + orderDetl.getProType() + "'"); if (!Cools.isEmpty(orderDetl.getUpdateTime())) content.put("make_date", "'" + orderDetl.getUpdateTime$() + "'"); if (!Cools.isEmpty(orderDetl.getMemo())) content.put("remark", "'" + orderDetl.getMemo() + "'"); if (!Cools.isEmpty(orderDetl.getOutOrderNo())) content.put("order_no", "'" + orderDetl.getOutOrderNo() + "'"); if (!Cools.isEmpty(orderDetl.getOrderNo())) content.put("BillNo", "'" + orderDetl.getOrderNo() + "'"); if (!Cools.isEmpty(orderDetl.getINo())) content.put("iNo", "'" + orderDetl.getINo() + "'"); if (!Cools.isEmpty(orderDetl.getDetId())) content.put("DetId", orderDetl.getDetId()); if (!Cools.isEmpty(orderDetl.getMatnr())) content.put("ItemId", "'" + orderDetl.getMatnr() + "'"); if (!Cools.isEmpty(orderDetl.getModel())) content.put("ItemCode", "'" + orderDetl.getModel() + "'"); if (!Cools.isEmpty(orderDetl.getBatch())) content.put("ItemBatch", "'" + orderDetl.getBatch() + "'"); if (!Cools.isEmpty(orderDetl.getProType())) content.put("proType", "'" + orderDetl.getProType() + "'"); if (!Cools.isEmpty(orderDetl.getUpdateTime())) content.put("MakeDate", "'" + orderDetl.getUpdateTime$() + "'"); if (!Cools.isEmpty(orderDetl.getMemo())) content.put("Remark", "'" + orderDetl.getMemo() + "'"); if (!Cools.isEmpty(orderDetl.getOutOrderNo())) content.put("OrderNo", "'" + orderDetl.getOutOrderNo() + "'"); if (!Cools.isEmpty(orderDetl.getQty())) { if (orderDetl.getQty() > orderDetl.getAnfme() && orderDetl.getQty() > orderDetl.getWorkQty()) { log.info("修正错误数量:{}", JSON.toJSON(orderDetl)); content.put("main_num", orderDetl.getWorkQty()); content.put("MainNum", orderDetl.getWorkQty()); } else { content.put("main_num", orderDetl.getQty()); content.put("MainNum", orderDetl.getQty()); } } if (!Cools.isEmpty(orderDetl.getWareId())) content.put("ware_id", "'" + orderDetl.getWareId() + "'"); if (!Cools.isEmpty(orderDetl.getWareName())) content.put("ware_name", "'" + orderDetl.getWareName() + "'"); if (!Cools.isEmpty(orderDetl.getPacking())) content.put("packing", "'" + orderDetl.getPacking() + "'"); // if (!Cools.isEmpty(orderDetl.getLuHao())) content.put("LuHao", "'" + orderDetl.getLuHao() + "'"); if (!Cools.isEmpty(orderDetl.getSPgNO())) content.put("s_pg_no", "'" + orderDetl.getSPgNO() + "'"); if (!Cools.isEmpty(orderDetl.getTemp1())) content.put("temp1", "'" + orderDetl.getTemp1() + "'"); if (!Cools.isEmpty(orderDetl.getTemp2())) content.put("temp2", "'" + orderDetl.getTemp2() + "'"); if (!Cools.isEmpty(orderDetl.getTemp3())) content.put("temp3", "'" + orderDetl.getTemp3() + "'"); if (!Cools.isEmpty(orderDetl.getWareId())) content.put("WareId", "'" + orderDetl.getWareId() + "'"); if (!Cools.isEmpty(orderDetl.getWareName())) content.put("WareName", "'" + orderDetl.getWareName() + "'"); if (!Cools.isEmpty(orderDetl.getPacking())) content.put("Packing", "'" + orderDetl.getPacking() + "'"); if (!Cools.isEmpty(orderDetl.getLuHao())) content.put("LuHao", "'" + orderDetl.getLuHao() + "'"); if (!Cools.isEmpty(orderDetl.getSPgNO())) content.put("sPgNo", "'" + orderDetl.getSPgNO() + "'"); if (!Cools.isEmpty(orderDetl.getTemp1())) content.put("Temp1", "'" + orderDetl.getTemp1() + "'"); if (!Cools.isEmpty(orderDetl.getTemp2())) content.put("Temp2", "'" + orderDetl.getTemp2() + "'"); if (!Cools.isEmpty(orderDetl.getTemp3())) content.put("Temp3", "'" + orderDetl.getTemp3() + "'"); content.put("LKName", "'高霖立库'"); return content; } src/main/resources/application.yml
@@ -110,6 +110,6 @@ db: driver_class_name: com.microsoft.sqlserver.jdbc.SQLServerDriver url: jdbc:sqlserver://192.168.16.202:9116;databasename=TZGLLK username: GLLK password: GLLK0626 username: gllk2 password: gllk250722