From 4ea361f8b7fa5fa63c650832e6b5efa150cb6693 Mon Sep 17 00:00:00 2001 From: zc <zc@123> Date: 星期四, 24 四月 2025 09:59:37 +0800 Subject: [PATCH] 初步调试 --- src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java | 2 src/main/java/com/zy/asrs/domain/dto/WrkDetl.java | 272 ++++++++++++++++++++++++++++++++++ src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 12 + src/main/java/com/zy/asrs/controller/TVController.java | 170 +++++++++++--------- 4 files changed, 373 insertions(+), 83 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/TVController.java b/src/main/java/com/zy/asrs/controller/TVController.java index 889d1c7..d4ba63c 100644 --- a/src/main/java/com/zy/asrs/controller/TVController.java +++ b/src/main/java/com/zy/asrs/controller/TVController.java @@ -1,5 +1,8 @@ package com.zy.asrs.controller; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Arith; import com.core.common.Cools; @@ -7,6 +10,7 @@ import com.zy.asrs.domain.dto.AxisBean; import com.zy.asrs.domain.dto.WorkChartAxis; import com.zy.asrs.domain.dto.LocChartPie; +import com.zy.asrs.domain.dto.WrkDetl; import com.zy.asrs.entity.BasDevp; import com.zy.asrs.entity.BasShuttle; import com.zy.asrs.entity.BasShuttleErr; @@ -16,7 +20,10 @@ import com.zy.asrs.service.BasShuttleErrService; import com.zy.asrs.service.BasShuttleService; import com.zy.asrs.service.WrkMastService; +import com.zy.common.model.MatDto; +import com.zy.common.model.SearchLocParam; import com.zy.common.service.CommonService; +import com.zy.common.utils.HttpHandler; import com.zy.core.cache.SlaveConnection; import com.zy.core.enums.SlaveType; import com.zy.core.model.ShuttleSlave; @@ -25,11 +32,13 @@ import com.zy.core.properties.SlaveProperties; import com.zy.core.thread.ShuttleThread; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.io.IOException; import java.text.SimpleDateFormat; import java.util.*; @@ -55,6 +64,8 @@ private SlaveProperties slaveProperties; @Autowired private BasShuttleErrService basShuttleErrService; + @Value("${asrs.wmsUrl}") + private String wmsUrl; /** * 鑾峰彇褰撳墠鏃堕棿 @@ -210,83 +221,87 @@ /** * 鑾峰彇鍏朵粬淇℃伅 */ -// @GetMapping("/led") -// public R monitorLed(@RequestParam("ledId") Integer ledId) { -// BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", ledId)); -// if (Cools.isEmpty(basDevp)) { -// return R.ok(); -// } -// WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo())); -// if (Cools.isEmpty(wrkMast)) { -// return R.ok(); -// } -// List<LedCommand> commands = new ArrayList<>(); -// -// // 缁勮鍛戒护 -// LedCommand ledCommand = new LedCommand(); -// ledCommand.setWorkNo(wrkMast.getWrkNo()); -// ledCommand.setIoType(wrkMast.getIoType()); -// // 鍑哄簱妯″紡 -// switch (wrkMast.getIoType()) { -// case 1: -// ledCommand.setTitle("鍏ㄦ澘鍏ュ簱"); -// break; -// case 10: -// ledCommand.setTitle("绌烘澘鍏ュ簱"); -// break; -// case 101: -// ledCommand.setTitle("鍏ㄦ澘鍑哄簱"); -// break; -// case 103: -// ledCommand.setTitle("鎷f枡鍑哄簱"); -// break; -// case 104: -// ledCommand.setTitle("骞舵澘鍑哄簱"); -// break; -// case 107: -// ledCommand.setTitle("鐩樼偣鍑哄簱"); -// break; -// case 110: -// ledCommand.setTitle("绌烘澘鍑哄簱"); -// ledCommand.setEmptyMk(true); -// break; -// case 53: -// ledCommand.setTitle("鎷f枡鍏ュ簱"); -// break; -// case 57: -// ledCommand.setTitle("鐩樼偣鍏ュ簱"); -// break; -// case 54: -// ledCommand.setTitle("骞舵澘鍏ュ簱"); -// break; -// default: -// break; -// } -// ledCommand.setSourceLocNo(wrkMast.getSourceLocNo()); -// ledCommand.setLocNo(wrkMast.getLocNo()); -// ledCommand.setStaNo(wrkMast.getStaNo()); -//// ledCommand.setSourceStaNo(wrkMast.getSourceStaNo()); -// if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) { -// List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); -// try { -// if (wrkMast.getIoType() > 100) { -// for (WrkDetl wrkDetl : wrkDetls) { -// LocDetl locDetl = locDetlService.selectMatnrSpecs(wrkDetl.getMatnr(), wrkDetl.getSpecs(), wrkMast.getSourceLocNo()); -// wrkDetl.setWeight(locDetl.getAnfme()); -// } -// } else { -// for (WrkDetl wrkDetl : wrkDetls) { -// wrkDetl.setWeight(wrkDetl.getAnfme()); -// } -// } -// } catch (Exception e) { -//// log.error("宸ヤ綔妗f鏄庣粏杈撳叆鐢佃鏈哄け璐�1锛氬紓甯镐俊鎭�==銆�"+e); -// } -// wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(), wrkDetl.getWeight(), wrkDetl.getSpecs(), wrkDetl.getModel()))); -// } -// commands.add(ledCommand); -// return R.ok().add(commands); -// } + @GetMapping("/led") + public R monitorLed(@RequestParam("ledId") Integer ledId) { + BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", ledId)); + if (Cools.isEmpty(basDevp)) { + return R.ok(); + } + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wms_wrk_no", basDevp.getWrkNo())); + if (Cools.isEmpty(wrkMast)) { + return R.ok(); + } + List<LedCommand> commands = new ArrayList<>(); + + // 缁勮鍛戒护 + LedCommand ledCommand = new LedCommand(); + ledCommand.setWorkNo(wrkMast.getWmsWrkNo()); + ledCommand.setIoType(wrkMast.getIoType()); + // 鍑哄簱妯″紡 + switch (wrkMast.getIoType()) { + case 1: + ledCommand.setTitle("鍏ㄦ澘鍏ュ簱"); + break; + case 10: + ledCommand.setTitle("绌烘澘鍏ュ簱"); + break; + case 101: + ledCommand.setTitle("鍏ㄦ澘鍑哄簱"); + break; + case 103: + ledCommand.setTitle("鎷f枡鍑哄簱"); + break; + case 104: + ledCommand.setTitle("骞舵澘鍑哄簱"); + break; + case 107: + ledCommand.setTitle("鐩樼偣鍑哄簱"); + break; + case 110: + ledCommand.setTitle("绌烘澘鍑哄簱"); + ledCommand.setEmptyMk(true); + break; + case 53: + ledCommand.setTitle("鎷f枡鍏ュ簱"); + break; + case 57: + ledCommand.setTitle("鐩樼偣鍏ュ簱"); + break; + case 54: + ledCommand.setTitle("骞舵澘鍏ュ簱"); + break; + default: + break; + } + ledCommand.setSourceLocNo(wrkMast.getSourceLocNo()); + ledCommand.setLocNo(wrkMast.getLocNo()); + ledCommand.setStaNo(wrkMast.getStaNo()); + if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) { + Map<String, Object> param = new HashMap<>(); + param.put("taskNo", wrkMast.getWmsWrkNo()); + param.put("sta", wrkMast.getStaNo()); + String response = null; + try { + response = new HttpHandler.Builder() + .setUri(wmsUrl) + .setPath("/rpc/led/getTask2") + .setJson(JSON.toJSONString(param)) + .build() + .doPost(); + } catch (IOException e) { + e.printStackTrace(); + } + JSONObject jsonObject = JSON.parseObject(response); + Integer code = jsonObject.getInteger("code"); + if (code.equals(200)) { + String data = jsonObject.getString("data"); + List<LedCommand> wrkDetls = JSONArray.parseArray(data, LedCommand.class); + commands.addAll(wrkDetls); + } + } + + return R.ok().add(commands); + } /** * 寮傚父閫氱煡 @@ -316,7 +331,6 @@ @GetMapping("/device/error") public R monitorDeviceError() { ArrayList<HashMap<String, Object>> list = new ArrayList<>(); - List<BasShuttle> basCrnpLiset = shuttleService.selectList(new EntityWrapper<BasShuttle>()); for (ShuttleSlave shuttleSlave : slaveProperties.getShuttle()) { // 鑾峰彇鍥涘悜绌挎杞︿俊鎭� diff --git a/src/main/java/com/zy/asrs/domain/dto/WrkDetl.java b/src/main/java/com/zy/asrs/domain/dto/WrkDetl.java new file mode 100644 index 0000000..c6ace7e --- /dev/null +++ b/src/main/java/com/zy/asrs/domain/dto/WrkDetl.java @@ -0,0 +1,272 @@ +package com.zy.asrs.domain.dto; + +import com.baomidou.mybatisplus.annotations.TableField; +import com.baomidou.mybatisplus.annotations.TableName; +import com.core.common.Cools; +import com.core.common.SpringUtils; +import com.zy.common.utils.Synchro; +import com.zy.system.entity.User; +import com.zy.system.service.UserService; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.text.SimpleDateFormat; +import java.util.Date; + +@Data +public class WrkDetl implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 宸ヤ綔鍙� + */ + @ApiModelProperty(value= "宸ヤ綔鍙�") + private Integer wrkNo; + + /** + * 宸ヤ綔鏃堕棿 + */ + @ApiModelProperty(value= "宸ヤ綔鏃堕棿") + private Date ioTime; + + /** + * 鏁伴噺 + */ + @ApiModelProperty(value= "鏁伴噺") + private Double anfme; + + /** + * 鎵樼洏鏉$爜 + */ + @ApiModelProperty(value= "鎵樼洏鏉$爜") + private String zpallet; + + /** + * 鐗╂枡 + */ + @ApiModelProperty(value= "鍟嗗搧缂栧彿") + private String matnr; + + /** + * 鐗╂枡鎻忚堪 + */ + @ApiModelProperty(value= "鍟嗗搧鍚嶇О") + private String maktx; + + /** + * 鎵瑰彿 + */ + @ApiModelProperty(value= "鎵瑰彿") + private String batch; + + /** + * 鍗曟嵁缂栧彿 + */ + @ApiModelProperty(value= "鍗曟嵁缂栧彿") + private String orderNo; + + /** + * 瑙勬牸 + */ + @ApiModelProperty(value= "瑙勬牸") + private String specs; + + /** + * 鍨嬪彿 + */ + @ApiModelProperty(value= "鍨嬪彿") + private String model; + + /** + * 棰滆壊 + */ + @ApiModelProperty(value= "棰滆壊") + private String color; + + /** + * 鍝佺墝 + */ + @ApiModelProperty(value= "鍝佺墝") + private String brand; + + /** + * 鍗曚綅 + */ + @ApiModelProperty(value= "鍗曚綅") + private String unit; + + /** + * 鍗曚环 + */ + @ApiModelProperty(value= "鍗曚环") + private Double price; + + /** + * sku + */ + @ApiModelProperty(value= "sku") + private String sku; + + /** + * 鍗曚綅閲� + */ + @ApiModelProperty(value= "鍗曚綅閲�") + private Double units; + + /** + * 鏉$爜 + */ + @ApiModelProperty(value= "鏉$爜") + private String barcode; + + /** + * 浜у湴 + */ + @ApiModelProperty(value= "浜у湴") + private String origin; + + /** + * 鍘傚 + */ + @ApiModelProperty(value= "鍘傚") + private String manu; + + /** + * 鐢熶骇鏃ユ湡 + */ + @ApiModelProperty(value= "鐢熶骇鏃ユ湡") + @TableField("manu_date") + private String manuDate; + + /** + * 鍝侀」鏁� + */ + @ApiModelProperty(value= "鍝侀」鏁�") + private String itemNum; + + /** + * 瀹夊叏搴撳瓨閲� + */ + @ApiModelProperty(value= "瀹夊叏搴撳瓨閲�") + private Double safeQty; + + /** + * 閲嶉噺 + */ + @ApiModelProperty(value= "閲嶉噺") + private Double weight; + + /** + * 闀垮害 + */ + @ApiModelProperty(value= "闀垮害") + private Double length; + + /** + * 浣撶Н + */ + @ApiModelProperty(value= "浣撶Н") + private Double volume; + + /** + * 涓夋柟缂栫爜 + */ + @ApiModelProperty(value= "涓夋柟缂栫爜") + private String threeCode; + + /** + * 渚涘簲鍟� + */ + @ApiModelProperty(value= "渚涘簲鍟�") + private String supp; + + /** + * 渚涘簲鍟嗙紪鐮� + */ + @ApiModelProperty(value= "渚涘簲鍟嗙紪鐮�") + private String suppCode; + + /** + * 鏄惁鎵规 1: 鏄� 0: 鍚� + */ + @ApiModelProperty(value= "鏄惁鎵规 1: 鏄� 0: 鍚� ") + private Integer beBatch; + + /** + * 淇濊川鏈� + */ + @ApiModelProperty(value= "淇濊川鏈�") + private String deadTime; + + /** + * 棰勮澶╂暟 + */ + @ApiModelProperty(value= "棰勮澶╂暟") + private Integer deadWarn; + + /** + * 鍒惰喘 1: 鍒堕�� 2: 閲囪喘 3: 澶栧崗 + */ + @ApiModelProperty(value= "鍒惰喘 1: 鍒堕�� 2: 閲囪喘 3: 澶栧崗 ") + private Integer source; + + /** + * 瑕佹眰妫�楠� 1: 鏄� 0: 鍚� + */ + @ApiModelProperty(value= "瑕佹眰妫�楠� 1: 鏄� 0: 鍚� ") + private Integer inspect; + + /** + * 鍗遍櫓鍝� 1: 鏄� 0: 鍚� + */ + @ApiModelProperty(value= "鍗遍櫓鍝� 1: 鏄� 0: 鍚� ") + private Integer danger; + + /** + * 淇敼浜哄憳 + */ + @ApiModelProperty(value= "淇敼浜哄憳") + private Long modiUser; + + /** + * 淇敼鏃堕棿 + */ + @ApiModelProperty(value= "淇敼鏃堕棿") + private Date modiTime; + + /** + * 鍒涘缓鑰� + */ + @ApiModelProperty(value= "鍒涘缓鑰�") + private Long appeUser; + + /** + * 娣诲姞鏃堕棿 + */ + @ApiModelProperty(value= "娣诲姞鏃堕棿") + private Date appeTime; + + /** + * 澶囨敞 + */ + @ApiModelProperty(value= "澶囨敞") + private String memo; + + @ApiModelProperty(value= "棰勭暀1") + private String temp1; + @ApiModelProperty(value= "棰勭暀1") + private String temp2; + @ApiModelProperty(value= "棰勭暀1") + private String temp3; + @ApiModelProperty(value= "棰勭暀1") + private String temp4; + + + + public void sync(Object source) { + Synchro.Copy(source, this); + } + +} diff --git a/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java b/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java index b8650f1..96dff59 100644 --- a/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java +++ b/src/main/java/com/zy/asrs/mapper/ReportQueryMapper.java @@ -31,7 +31,7 @@ //鏇茬嚎鍥� @Select("select ymd,SUM(sto_qty) inqty,SUM(ret_qty) outqty from asr_sta_inout_view " - + "where ymd>CONVERT(char(10), DATEADD(DAY,-12,GETDATE()), 120) group by ymd order by ymd") + + "where ymd>DATE_FORMAT(NOW(),'%Y-%m-%d') group by ymd order by ymd") public List<WorkChartAxis> getChartAxis(); diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 42bebb2..cee0f9d 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -426,8 +426,12 @@ ShuttleProtocol status1 = shuttleThread1.getStatus(); ShuttleProtocol status2 = shuttleThread2.getStatus(); List<String> loc = new ArrayList<>(); - loc.add(status1.getCurrentLocNo()); - loc.add(status2.getCurrentLocNo()); + if (status1 != null) { + loc.add(status1.getCurrentLocNo()); + } + if (status2 != null) { + loc.add(status2.getCurrentLocNo()); + } DevpSlave devpSlave = slaveProperties.getDevp().get(0); // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯 DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devpSlave.getId()); @@ -1215,9 +1219,9 @@ //鑾峰彇鎻愬崌鏈哄懡浠� List<LiftCommand> liftCommands = liftThread.getPalletOutCommand(wrkMast.getWrkNo(), sourceLev, wrkMast.getStaNo()); LiftCommand liftCommand = liftCommands.get(0); - if ( wrkMast.getStaNo()==1031){ + if (wrkMast.getStaNo() == 1031) { liftCommand.setTaskNo(wrkMast.getWrkNo()); - }else { + } else { int deviceWrk = commonService.getWorkNo(8);//鐢熸垚鎻愬崌鏈鸿澶囧伐浣滃彿 liftCommand.setTaskNo(deviceWrk);//鏇存崲闅忔満浠诲姟鍙� } -- Gitblit v1.9.1