From 0366280f46f26ef1a59ba23ac155d97c7de49d5f Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期四, 14 十二月 2023 11:30:30 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/entity/WrkDetlLog.java | 457 ++++++++++++++++++++++++++++++++++++++ src/main/resources/mapper/WrkDetlLogMapper.xml | 58 ++++ src/main/java/com/zy/asrs/service/impl/WrkDetlLogServiceImpl.java | 18 + src/main/java/com/zy/asrs/mapper/WrkDetlLogMapper.java | 16 + src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 31 + src/main/java/com/zy/asrs/service/WrkDetlLogService.java | 12 + src/main/java/com/zy/core/thread/SiemensDevpThread.java | 95 ++++++- 7 files changed, 657 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/zy/asrs/entity/WrkDetlLog.java b/src/main/java/com/zy/asrs/entity/WrkDetlLog.java new file mode 100644 index 0000000..047fd7e --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/WrkDetlLog.java @@ -0,0 +1,457 @@ +package com.zy.asrs.entity; + +import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableField; +import java.text.SimpleDateFormat; +import java.util.Date; +import org.springframework.format.annotation.DateTimeFormat; +import com.core.common.SpringUtils; +import com.zy.system.service.UserService; +import com.zy.system.entity.User; +import java.text.SimpleDateFormat; +import java.util.Date; +import com.core.common.SpringUtils; +import com.zy.system.service.UserService; +import com.zy.system.entity.User; +import java.text.SimpleDateFormat; +import java.util.Date; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import com.baomidou.mybatisplus.annotations.TableName; +import java.io.Serializable; + +@Data +@TableName("asr_wrk_detl_log") +public class WrkDetlLog implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 宸ヤ綔鍙� + */ + @ApiModelProperty(value= "宸ヤ綔鍙�") + @TableField("wrk_no") + private Integer wrkNo; + + /** + * 宸ヤ綔鏃堕棿 + */ + @ApiModelProperty(value= "宸ヤ綔鏃堕棿") + @TableField("io_time") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + 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= "鍗曟嵁缂栧彿") + @TableField("order_no") + 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= "鍝侀」鏁�") + @TableField("item_num") + private String itemNum; + + /** + * 瀹夊叏搴撳瓨閲� + */ + @ApiModelProperty(value= "瀹夊叏搴撳瓨閲�") + @TableField("safe_qty") + private Double safeQty; + + /** + * 閲嶉噺 + */ + @ApiModelProperty(value= "閲嶉噺") + private Double weight; + + /** + * 闀垮害 + */ + @ApiModelProperty(value= "闀垮害") + private Double length; + + /** + * 浣撶Н + */ + @ApiModelProperty(value= "浣撶Н") + private Double volume; + + /** + * 涓夋柟缂栫爜 + */ + @ApiModelProperty(value= "涓夋柟缂栫爜") + @TableField("three_code") + private String threeCode; + + /** + * 渚涘簲鍟� + */ + @ApiModelProperty(value= "渚涘簲鍟�") + private String supp; + + /** + * 渚涘簲鍟嗙紪鐮� + */ + @ApiModelProperty(value= "渚涘簲鍟嗙紪鐮�") + @TableField("supp_code") + private String suppCode; + + /** + * 鏄惁鎵规 1: 鏄� 0: 鍚� + */ + @ApiModelProperty(value= "鏄惁鎵规 1: 鏄� 0: 鍚� ") + @TableField("be_batch") + private Integer beBatch; + + /** + * 淇濊川鏈� + */ + @ApiModelProperty(value= "淇濊川鏈�") + @TableField("dead_time") + private String deadTime; + + /** + * 棰勮澶╂暟 + */ + @ApiModelProperty(value= "棰勮澶╂暟") + @TableField("dead_warn") + 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= "淇敼浜哄憳") + @TableField("modi_user") + private Long modiUser; + + /** + * 淇敼鏃堕棿 + */ + @ApiModelProperty(value= "淇敼鏃堕棿") + @TableField("modi_time") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date modiTime; + + /** + * 娣诲姞浜哄憳 + */ + @ApiModelProperty(value= "娣诲姞浜哄憳") + @TableField("appe_user") + private Long appeUser; + + /** + * 娣诲姞鏃堕棿 + */ + @ApiModelProperty(value= "娣诲姞鏃堕棿") + @TableField("appe_time") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + private Date appeTime; + + /** + * 澶囨敞 + */ + @ApiModelProperty(value= "澶囨敞") + private String memo; + + public WrkDetlLog() {} + + public WrkDetlLog(Integer wrkNo,Date ioTime,Double anfme,String zpallet,String matnr,String maktx,String batch,String orderNo,String specs,String model,String color,String brand,String unit,Double price,String sku,Double units,String barcode,String origin,String manu,String manuDate,String itemNum,Double safeQty,Double weight,Double length,Double volume,String threeCode,String supp,String suppCode,Integer beBatch,String deadTime,Integer deadWarn,Integer source,Integer inspect,Integer danger,Long modiUser,Date modiTime,Long appeUser,Date appeTime,String memo) { + this.wrkNo = wrkNo; + this.ioTime = ioTime; + this.anfme = anfme; + this.zpallet = zpallet; + this.matnr = matnr; + this.maktx = maktx; + this.batch = batch; + this.orderNo = orderNo; + this.specs = specs; + this.model = model; + this.color = color; + this.brand = brand; + this.unit = unit; + this.price = price; + this.sku = sku; + this.units = units; + this.barcode = barcode; + this.origin = origin; + this.manu = manu; + this.manuDate = manuDate; + this.itemNum = itemNum; + this.safeQty = safeQty; + this.weight = weight; + this.length = length; + this.volume = volume; + this.threeCode = threeCode; + this.supp = supp; + this.suppCode = suppCode; + this.beBatch = beBatch; + this.deadTime = deadTime; + this.deadWarn = deadWarn; + this.source = source; + this.inspect = inspect; + this.danger = danger; + this.modiUser = modiUser; + this.modiTime = modiTime; + this.appeUser = appeUser; + this.appeTime = appeTime; + this.memo = memo; + } + +// WrkDetlLog wrkDetlLog = new WrkDetlLog( +// null, // 宸ヤ綔鍙穂闈炵┖] +// null, // 宸ヤ綔鏃堕棿 +// null, // 鏁伴噺 +// null, // 鎵樼洏鏉$爜 +// null, // 鍟嗗搧缂栧彿[闈炵┖] +// null, // 鍟嗗搧鍚嶇О +// null, // 鎵瑰彿 +// null, // 鍗曟嵁缂栧彿 +// null, // 瑙勬牸 +// null, // 鍨嬪彿 +// null, // 棰滆壊 +// null, // 鍝佺墝 +// null, // 鍗曚綅 +// null, // 鍗曚环 +// null, // sku +// null, // 鍗曚綅閲� +// null, // 鏉$爜 +// null, // 浜у湴 +// null, // 鍘傚 +// null, // 鐢熶骇鏃ユ湡 +// null, // 鍝侀」鏁� +// null, // 瀹夊叏搴撳瓨閲� +// null, // 閲嶉噺 +// null, // 闀垮害 +// null, // 浣撶Н +// null, // 涓夋柟缂栫爜 +// null, // 渚涘簲鍟� +// null, // 渚涘簲鍟嗙紪鐮� +// null, // 鏄惁鎵规 +// null, // 淇濊川鏈� +// null, // 棰勮澶╂暟 +// null, // 鍒惰喘 +// null, // 瑕佹眰妫�楠� +// null, // 鍗遍櫓鍝� +// null, // 淇敼浜哄憳 +// null, // 淇敼鏃堕棿 +// null, // 娣诲姞浜哄憳 +// null, // 娣诲姞鏃堕棿 +// null // 澶囨敞 +// ); + + public String getIoTime$(){ + if (Cools.isEmpty(this.ioTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ioTime); + } + + public String getBeBatch$(){ + if (null == this.beBatch){ return null; } + switch (this.beBatch){ + case 1: + return "鏄�"; + case 0: + return "鍚�"; + default: + return String.valueOf(this.beBatch); + } + } + + public String getSource$(){ + if (null == this.source){ return null; } + switch (this.source){ + case 1: + return "鍒堕��"; + case 2: + return "閲囪喘"; + case 3: + return "澶栧崗"; + default: + return String.valueOf(this.source); + } + } + + public String getInspect$(){ + if (null == this.inspect){ return null; } + switch (this.inspect){ + case 1: + return "鏄�"; + case 0: + return "鍚�"; + default: + return String.valueOf(this.inspect); + } + } + + public String getDanger$(){ + if (null == this.danger){ return null; } + switch (this.danger){ + case 1: + return "鏄�"; + case 0: + return "鍚�"; + default: + return String.valueOf(this.danger); + } + } + + public String getModiUser$(){ + UserService service = SpringUtils.getBean(UserService.class); + User user = service.selectById(this.modiUser); + if (!Cools.isEmpty(user)){ + return String.valueOf(user.getNickname()); + } + return null; + } + + public String getModiTime$(){ + if (Cools.isEmpty(this.modiTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime); + } + + public String getAppeUser$(){ + UserService service = SpringUtils.getBean(UserService.class); + User user = service.selectById(this.appeUser); + if (!Cools.isEmpty(user)){ + return String.valueOf(user.getNickname()); + } + return null; + } + + public String getAppeTime$(){ + if (Cools.isEmpty(this.appeTime)){ + return ""; + } + return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime); + } + + +} diff --git a/src/main/java/com/zy/asrs/mapper/WrkDetlLogMapper.java b/src/main/java/com/zy/asrs/mapper/WrkDetlLogMapper.java new file mode 100644 index 0000000..5da40b8 --- /dev/null +++ b/src/main/java/com/zy/asrs/mapper/WrkDetlLogMapper.java @@ -0,0 +1,16 @@ +package com.zy.asrs.mapper; + +import com.zy.asrs.entity.WrkDetlLog; +import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Mapper +@Repository +public interface WrkDetlLogMapper extends BaseMapper<WrkDetlLog> { + + List<WrkDetlLog> selectLatestByWorkNo(Integer workNo); + +} diff --git a/src/main/java/com/zy/asrs/service/WrkDetlLogService.java b/src/main/java/com/zy/asrs/service/WrkDetlLogService.java new file mode 100644 index 0000000..36a32e5 --- /dev/null +++ b/src/main/java/com/zy/asrs/service/WrkDetlLogService.java @@ -0,0 +1,12 @@ +package com.zy.asrs.service; + +import com.zy.asrs.entity.WrkDetlLog; +import com.baomidou.mybatisplus.service.IService; + +import java.util.List; + +public interface WrkDetlLogService extends IService<WrkDetlLog> { + + List<WrkDetlLog> selectLatestByWorkNo(Integer workNo); + +} 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 f05c600..6b15116 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -113,6 +113,8 @@ private ConfigService configService; @Autowired private NavigateMapUtils navigateMapUtils; + @Autowired + private WrkDetlLogService wrkDetlLogService; /** @@ -664,8 +666,8 @@ continue; } - staProtocol.setStaNo(dto.getSourceStaNo().shortValue());//鍐欏叆鐩爣绔� - MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); +// staProtocol.setStaNo(dto.getSourceStaNo().shortValue());//鍐欏叆鐩爣绔� +// MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); } else if (code == 500) { News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response); @@ -1201,15 +1203,15 @@ return false;//鍑哄簱绔欑偣涓嶅瓨鍦� } - if (!basDevp.getAutoing().equals("Y")) { - News.info("{}浠诲姟锛寋}绔欑偣锛屼笉鏄嚜鍔ㄧ姸鎬�",wrkMast.getWrkNo(),basDevp.getDevNo()); - return false;//涓嶆槸鑷姩鐘舵�� - } - - if (!basDevp.getOutEnable().equals("Y")) { - News.info("{}浠诲姟锛寋}绔欑偣锛屾病鏈夊彲鍑轰俊鍙�", wrkMast.getWrkNo(), basDevp.getDevNo()); - return false;//鍑哄簱绔欑偣涓嶅彲鍑� - } +// if (!basDevp.getAutoing().equals("Y")) { +// News.info("{}浠诲姟锛寋}绔欑偣锛屼笉鏄嚜鍔ㄧ姸鎬�",wrkMast.getWrkNo(),basDevp.getDevNo()); +// return false;//涓嶆槸鑷姩鐘舵�� +// } +// +// if (!basDevp.getOutEnable().equals("Y")) { +// News.info("{}浠诲姟锛寋}绔欑偣锛屾病鏈夊彲鍑轰俊鍙�", wrkMast.getWrkNo(), basDevp.getDevNo()); +// return false;//鍑哄簱绔欑偣涓嶅彲鍑� +// } Integer liftNo = basDevp.getLiftNo();//鎼滅储鍑哄簱鎻愬崌鏈烘槸鍚﹀瓨鍦ㄥ叆搴撲换鍔★紝濡傚瓨鍦ㄧ姝㈠嚭搴� List<WrkMast> liftWrkMasts = wrkMastMapper.selectInWrkMastByLiftNo(liftNo); @@ -2897,6 +2899,13 @@ wrkDetls.forEach(wrkDetl -> { ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(), wrkDetl.getAnfme(), wrkDetl.getSpecs(), wrkDetl.getSuppCode())); }); + + if (wrkDetls.isEmpty()) {//浠庡巻鍙叉。鏌ヨ + List<WrkDetlLog> wrkDetlLogs = wrkDetlLogService.selectLatestByWorkNo(wrkMast.getWrkNo()); + wrkDetlLogs.forEach(wrkDetl -> { + ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(), wrkDetl.getAnfme(), wrkDetl.getSpecs(), wrkDetl.getSuppCode())); + }); + } } } diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlLogServiceImpl.java new file mode 100644 index 0000000..c2cd44b --- /dev/null +++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlLogServiceImpl.java @@ -0,0 +1,18 @@ +package com.zy.asrs.service.impl; + +import com.zy.asrs.mapper.WrkDetlLogMapper; +import com.zy.asrs.entity.WrkDetlLog; +import com.zy.asrs.service.WrkDetlLogService; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service("wrkDetlLogService") +public class WrkDetlLogServiceImpl extends ServiceImpl<WrkDetlLogMapper, WrkDetlLog> implements WrkDetlLogService { + + @Override + public List<WrkDetlLog> selectLatestByWorkNo(Integer workNo) { + return this.baseMapper.selectLatestByWorkNo(workNo); + } +} diff --git a/src/main/java/com/zy/core/thread/SiemensDevpThread.java b/src/main/java/com/zy/core/thread/SiemensDevpThread.java index f128698..99d6878 100644 --- a/src/main/java/com/zy/core/thread/SiemensDevpThread.java +++ b/src/main/java/com/zy/core/thread/SiemensDevpThread.java @@ -78,6 +78,18 @@ add(343);add(344); }}; + public static final ArrayList<Integer> staNos3 = new ArrayList<Integer>() {{//218 + add(302);add(304); + add(315);add(322); + add(324);add(330); + add(332);add(337); + }}; + + public static final ArrayList<Integer> staNos4 = new ArrayList<Integer>() {{//250 + add(318);add(320); + add(343); + }}; + //楂樹綆淇″彿绔欑偣 public static final ArrayList<Integer> locType1StaNos = new ArrayList<Integer>() {{ add(100);add(103); @@ -270,25 +282,70 @@ } } -// Thread.sleep(100); -// for (Integer staNo : staNos2) { -// OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB" + staNo + ".0", (short) 48); -// if (result5.IsSuccess) { -// StaProtocol staProtocol = station.get(staNo); -// if (null == staProtocol) { -// staProtocol = new StaProtocol(); -// staProtocol.setSiteId(staNo); -// station.put(staNo, staProtocol); -// } -// -// boolean[] status1 = siemensS7Net.getByteTransform().TransBool(result5.Content, 8, 1); -// boolean[] status2 = siemensS7Net.getByteTransform().TransBool(result5.Content, 21, 1); -// staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result.Content, 34)); // 宸ヤ綔鍙� -// staProtocol.setStaNo(siemensS7Net.getByteTransform().TransInt16(result.Content, 40)); // 鐩爣绔� -// staProtocol.setAutoing(status1[0]); // 鑷姩 -// staProtocol.setLoading(status2[2]); // 鏈夌墿 -// } -// } + Thread.sleep(100); + for (Integer staNo : staNos2) { + OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB" + staNo + ".0", (short) 48); + if (result5.IsSuccess) { + StaProtocol staProtocol = station.get(staNo); + StaProtocol staProtocol300 = station.get(300); + if (null == staProtocol) { + staProtocol = new StaProtocol(); + staProtocol.setSiteId(staNo); + station.put(staNo, staProtocol); + } + + boolean[] status1 = siemensS7Net.getByteTransform().TransBool(result5.Content, 1, 1); + staProtocol.setAutoing(staProtocol300.isAutoing()); // 鑷姩 + staProtocol.setLoading(status1[2]); // 鏈夌墿 + + if (staNos3.contains(staNo) || staNos4.contains(staNo)) { + continue; + } + if (staNo == 344) { + staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result5.Content, 34)); // 宸ヤ綔鍙� + }else { + staProtocol.setWorkNo(siemensS7Net.getByteTransform().TransInt16(result5.Content, 22)); // 宸ヤ綔鍙� + } + } + } + + Thread.sleep(100); + for (Integer staNo : staNos3) { + OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB" + staNo + ".22.0", (short) 2); + OperateResultExOne<byte[]> result6 = siemensS7Net.Read("DB" + staNo + ".218.0", (short) 2); + if (result5.IsSuccess && result6.IsSuccess) { + StaProtocol staProtocol = station.get(staNo); + short wrkNo1 = siemensS7Net.getByteTransform().TransInt16(result5.Content, 0); + short wrkNo2 = siemensS7Net.getByteTransform().TransInt16(result6.Content, 0); + short wrkNo = 0; + if (wrkNo1 != 0) { + wrkNo = wrkNo1; + } + if (wrkNo2 != 0) { + wrkNo = wrkNo2; + } + staProtocol.setWorkNo(wrkNo); // 宸ヤ綔鍙� + } + } + + Thread.sleep(100); + for (Integer staNo : staNos4) { + OperateResultExOne<byte[]> result5 = siemensS7Net.Read("DB" + staNo + ".22.0", (short) 2); + OperateResultExOne<byte[]> result6 = siemensS7Net.Read("DB" + staNo + ".250.0", (short) 2); + if (result5.IsSuccess && result6.IsSuccess) { + StaProtocol staProtocol = station.get(staNo); + short wrkNo1 = siemensS7Net.getByteTransform().TransInt16(result5.Content, 0); + short wrkNo2 = siemensS7Net.getByteTransform().TransInt16(result6.Content, 0); + short wrkNo = 0; + if (wrkNo1 != 0) { + wrkNo = wrkNo1; + } + if (wrkNo2 != 0) { + wrkNo = wrkNo2; + } + staProtocol.setWorkNo(wrkNo); // 宸ヤ綔鍙� + } + } if (result.IsSuccess && result1.IsSuccess) { OutputQueue.DEVP.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId())); diff --git a/src/main/resources/mapper/WrkDetlLogMapper.xml b/src/main/resources/mapper/WrkDetlLogMapper.xml new file mode 100644 index 0000000..63a94b0 --- /dev/null +++ b/src/main/resources/mapper/WrkDetlLogMapper.xml @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.zy.asrs.mapper.WrkDetlLogMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.zy.asrs.entity.WrkDetlLog"> + <result column="wrk_no" property="wrkNo" /> + <result column="io_time" property="ioTime" /> + <result column="anfme" property="anfme" /> + <result column="zpallet" property="zpallet" /> + <result column="matnr" property="matnr" /> + <result column="maktx" property="maktx" /> + <result column="batch" property="batch" /> + <result column="order_no" property="orderNo" /> + <result column="specs" property="specs" /> + <result column="model" property="model" /> + <result column="color" property="color" /> + <result column="brand" property="brand" /> + <result column="unit" property="unit" /> + <result column="price" property="price" /> + <result column="sku" property="sku" /> + <result column="units" property="units" /> + <result column="barcode" property="barcode" /> + <result column="origin" property="origin" /> + <result column="manu" property="manu" /> + <result column="manu_date" property="manuDate" /> + <result column="item_num" property="itemNum" /> + <result column="safe_qty" property="safeQty" /> + <result column="weight" property="weight" /> + <result column="length" property="length" /> + <result column="volume" property="volume" /> + <result column="three_code" property="threeCode" /> + <result column="supp" property="supp" /> + <result column="supp_code" property="suppCode" /> + <result column="be_batch" property="beBatch" /> + <result column="dead_time" property="deadTime" /> + <result column="dead_warn" property="deadWarn" /> + <result column="source" property="source" /> + <result column="inspect" property="inspect" /> + <result column="danger" property="danger" /> + <result column="modi_user" property="modiUser" /> + <result column="modi_time" property="modiTime" /> + <result column="appe_user" property="appeUser" /> + <result column="appe_time" property="appeTime" /> + <result column="memo" property="memo" /> + + </resultMap> + + <select id="selectLatestByWorkNo" resultMap="BaseResultMap"> + select * from asr_wrk_detl_log wdl,(select top 1 io_time,wrk_no from asr_wrk_detl_log + where wrk_no = #{workNo} + group by io_time,wrk_no + order by io_time desc) a + where wdl.wrk_no = a.wrk_no + and wdl.io_time = a.io_time + </select> + +</mapper> -- Gitblit v1.9.1