From 94c1bea63d0557a1f806e13df95074d652d26ad8 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期五, 03 一月 2025 09:11:31 +0800
Subject: [PATCH] #ddth开发
---
src/main/java/com/zy/asrs/mapper/LocDetlMapper.java | 2
src/main/webapp/static/js/report/locMap.js | 1
src/main/java/com/zy/asrs/entity/BasDevp.java | 4
src/main/java/com/zy/asrs/service/LocRuleService.java | 10
src/main/resources/mapper/LocDetlMapper.xml | 4
src/main/resources/mapper/LocMastMapper.xml | 30 ++
src/main/java/com/zy/common/web/WcsController.java | 19
src/main/java/com/zy/asrs/mapper/LocRuleMapper.java | 12
src/main/java/com/zy/asrs/mapper/LocMastMapper.java | 2
src/main/resources/mapper/LocRuleMapper.xml | 30 ++
src/main/java/com/zy/asrs/entity/LocMast.java | 4
src/main/java/com/zy/common/service/CommonService.java | 265 ++++++++++----------
src/main/webapp/views/locMast/locMast.html | 1
src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java | 5
src/main/java/com/zy/asrs/service/impl/LocRuleServiceImpl.java | 50 +++
src/main/java/com/zy/asrs/service/LocDetlService.java | 2
src/main/java/com/zy/asrs/entity/ViewLocMapDto.java | 4
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java | 2
src/main/java/com/zy/common/model/LocTypeDto.java | 11
src/main/java/com/zy/common/web/param/SearchLocParam.java | 7
src/main/java/com/zy/asrs/entity/param/LocMastInitParam.java | 2
src/main/java/com/zy/asrs/entity/LocRule.java | 249 +++++++++++++++++++
src/main/java/com/zy/asrs/service/LocMastService.java | 6
src/main/resources/license.lic | 0
src/main/resources/application.yml | 18
src/main/java/com/zy/asrs/controller/ReportQueryController.java | 2
26 files changed, 579 insertions(+), 163 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/ReportQueryController.java b/src/main/java/com/zy/asrs/controller/ReportQueryController.java
index cd42ffc..dc4f4ee 100644
--- a/src/main/java/com/zy/asrs/controller/ReportQueryController.java
+++ b/src/main/java/com/zy/asrs/controller/ReportQueryController.java
@@ -95,7 +95,7 @@
}
@RequestMapping("/viewLocMapList.action")
- public R queryViewLocMapListByPages(@RequestParam(defaultValue = "1")Integer row){
+ public R queryViewLocMapListByPages(@RequestParam(defaultValue = "0")Integer row){
// 鑾峰彇鎺掔骇鏁版嵁
// 琛ㄦ牸鏍囬锛氬垪 ===>> 鍗囧簭
List<String> bays = reportQueryMapper.getViewLocBayCount(row);
diff --git a/src/main/java/com/zy/asrs/entity/BasDevp.java b/src/main/java/com/zy/asrs/entity/BasDevp.java
index 78ca14c..a445ef5 100644
--- a/src/main/java/com/zy/asrs/entity/BasDevp.java
+++ b/src/main/java/com/zy/asrs/entity/BasDevp.java
@@ -151,7 +151,7 @@
@TableField("out_ok")
private String outOk;
- @ApiModelProperty(value= "楂樹綆绫诲瀷{0:鏈煡,1:浣庡簱浣�,2:楂樺簱浣峿")
+ @ApiModelProperty(value= "楂樹綆绫诲瀷{0:鏈煡,1:浣庡簱浣�,2:楂樺簱浣�,3:涓簱浣峿")
@TableField("loc_type1")
private Short locType1;
@@ -231,6 +231,8 @@
return "浣庡簱浣�";
case 2:
return "楂樺簱浣�";
+ case 3:
+ return "涓簱浣�";
default:
return String.valueOf(this.locType1);
}
diff --git a/src/main/java/com/zy/asrs/entity/LocMast.java b/src/main/java/com/zy/asrs/entity/LocMast.java
index 95e75e0..7504ca4 100644
--- a/src/main/java/com/zy/asrs/entity/LocMast.java
+++ b/src/main/java/com/zy/asrs/entity/LocMast.java
@@ -96,7 +96,7 @@
@TableField("loc_type")
private String locType;
- @ApiModelProperty(value= "楂樹綆绫诲瀷{0:鏈煡,1:浣庡簱浣�,2:楂樺簱浣峿")
+ @ApiModelProperty(value= "楂樹綆绫诲瀷{0:鏈煡,1:浣庡簱浣�,2:楂樺簱浣�,3:涓簱浣峿")
@TableField("loc_type1")
private Short locType1;
@@ -224,6 +224,8 @@
return "浣庡簱浣�";
case 2:
return "楂樺簱浣�";
+ case 3:
+ return "涓簱浣�";
default:
return String.valueOf(this.locType1);
}
diff --git a/src/main/java/com/zy/asrs/entity/LocRule.java b/src/main/java/com/zy/asrs/entity/LocRule.java
new file mode 100644
index 0000000..68b1c82
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/LocRule.java
@@ -0,0 +1,249 @@
+package com.zy.asrs.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 com.core.common.SpringUtils;
+import com.zy.system.entity.User;
+import com.zy.system.service.UserService;
+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("asr_loc_rule")
+public class LocRule implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ID
+ */
+ @ApiModelProperty(value= "ID")
+ @TableId(value = "id", type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 鍟嗗搧缂栧彿
+ */
+ @ApiModelProperty(value= "鍟嗗搧缂栧彿")
+ private String matnr;
+
+ /**
+ * 瑙勬牸
+ */
+ @ApiModelProperty(value= "瑙勬牸")
+ private String specs;
+
+ /**
+ * 鍨嬪彿
+ */
+ @ApiModelProperty(value= "鍨嬪彿")
+ private String model;
+
+ /**
+ * 瀹㈡埛
+ */
+ @ApiModelProperty(value= "瀹㈡埛")
+ private String cstmr;
+
+ /**
+ * 鎵瑰彿
+ */
+ @ApiModelProperty(value= "鎵瑰彿")
+ private String batch;
+
+ /**
+ * 鍏朵粬
+ */
+ @ApiModelProperty(value= "鍏朵粬")
+ private String other;
+
+ /**
+ * 寮�濮嬫帓
+ */
+ @ApiModelProperty(value= "寮�濮嬫帓")
+ @TableField("row_beg")
+ private Integer rowBeg;
+
+ /**
+ * 缁撴潫鎺�
+ */
+ @ApiModelProperty(value= "缁撴潫鎺�")
+ @TableField("row_end")
+ private Integer rowEnd;
+
+ /**
+ * 寮�濮嬪垪
+ */
+ @ApiModelProperty(value= "寮�濮嬪垪")
+ @TableField("bay_beg")
+ private Integer bayBeg;
+
+ /**
+ * 缁撴潫鍒�
+ */
+ @ApiModelProperty(value= "缁撴潫鍒�")
+ @TableField("bay_end")
+ private Integer bayEnd;
+
+ /**
+ * 寮�濮嬪眰
+ */
+ @ApiModelProperty(value= "寮�濮嬪眰")
+ @TableField("lev_beg")
+ private Integer levBeg;
+
+ /**
+ * 缁撴潫灞�
+ */
+ @ApiModelProperty(value= "缁撴潫灞�")
+ @TableField("lev_end")
+ private Integer levEnd;
+
+ /**
+ * 涓婇檺
+ */
+ @ApiModelProperty(value= "涓婇檺")
+ private Integer limit;
+
+ /**
+ * 鐘舵�� 1: 姝e父 0: 绂佺敤
+ */
+ @ApiModelProperty(value= "鐘舵�� 1: 姝e父 0: 绂佺敤 ")
+ private Integer status;
+
+ /**
+ * 娣诲姞浜哄憳
+ */
+ @ApiModelProperty(value= "娣诲姞浜哄憳")
+ @TableField("create_by")
+ private Long createBy;
+
+ /**
+ * 娣诲姞鏃堕棿
+ */
+ @ApiModelProperty(value= "娣诲姞鏃堕棿")
+ @TableField("create_time")
+ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ private Date createTime;
+
+ /**
+ * 淇敼浜哄憳
+ */
+ @ApiModelProperty(value= "淇敼浜哄憳")
+ @TableField("update_by")
+ private Long updateBy;
+
+ /**
+ * 淇敼鏃堕棿
+ */
+ @ApiModelProperty(value= "淇敼鏃堕棿")
+ @TableField("update_time")
+ @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+ private Date updateTime;
+
+ /**
+ * 澶囨敞
+ */
+ @ApiModelProperty(value= "澶囨敞")
+ private String memo;
+
+ public LocRule() {}
+
+ public LocRule(String matnr, String specs, String model, String cstmr, String batch, String other, Integer rowBeg, Integer rowEnd, Integer bayBeg, Integer bayEnd, Integer levBeg, Integer levEnd, Integer limit, Integer status, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) {
+ this.matnr = matnr;
+ this.specs = specs;
+ this.model = model;
+ this.cstmr = cstmr;
+ this.batch = batch;
+ this.other = other;
+ this.rowBeg = rowBeg;
+ this.rowEnd = rowEnd;
+ this.bayBeg = bayBeg;
+ this.bayEnd = bayEnd;
+ this.levBeg = levBeg;
+ this.levEnd = levEnd;
+ this.limit = limit;
+ this.status = status;
+ this.createBy = createBy;
+ this.createTime = createTime;
+ this.updateBy = updateBy;
+ this.updateTime = updateTime;
+ this.memo = memo;
+ }
+
+// LocRule locRule = new LocRule(
+// null, // 鍟嗗搧缂栧彿
+// null, // 瑙勬牸
+// null, // 鍨嬪彿
+// null, // 瀹㈡埛
+// null, // 鎵瑰彿
+// null, // 鍏朵粬
+// null, // 寮�濮嬫帓
+// null, // 缁撴潫鎺�
+// null, // 寮�濮嬪垪
+// null, // 缁撴潫鍒�
+// null, // 寮�濮嬪眰
+// null, // 缁撴潫灞�
+// null, // 涓婇檺
+// null, // 鐘舵��
+// null, // 娣诲姞浜哄憳
+// null, // 娣诲姞鏃堕棿
+// null, // 淇敼浜哄憳
+// null, // 淇敼鏃堕棿
+// null // 澶囨敞
+// );
+
+ public String getStatus$(){
+ if (null == this.status){ return null; }
+ switch (this.status){
+ case 1:
+ return "姝e父";
+ case 0:
+ return "绂佺敤";
+ default:
+ return String.valueOf(this.status);
+ }
+ }
+
+ public String getCreateBy$(){
+ UserService service = SpringUtils.getBean(UserService.class);
+ User user = service.selectById(this.createBy);
+ if (!Cools.isEmpty(user)){
+ return String.valueOf(user.getNickname());
+ }
+ return null;
+ }
+
+ public String getCreateTime$(){
+ if (Cools.isEmpty(this.createTime)){
+ return "";
+ }
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
+ }
+
+ public String getUpdateBy$(){
+ UserService service = SpringUtils.getBean(UserService.class);
+ User user = service.selectById(this.updateBy);
+ if (!Cools.isEmpty(user)){
+ return String.valueOf(user.getNickname());
+ }
+ return null;
+ }
+
+ public String getUpdateTime$(){
+ if (Cools.isEmpty(this.updateTime)){
+ return "";
+ }
+ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
+ }
+
+
+}
diff --git a/src/main/java/com/zy/asrs/entity/ViewLocMapDto.java b/src/main/java/com/zy/asrs/entity/ViewLocMapDto.java
index 53fbbc4..6142f8c 100644
--- a/src/main/java/com/zy/asrs/entity/ViewLocMapDto.java
+++ b/src/main/java/com/zy/asrs/entity/ViewLocMapDto.java
@@ -80,6 +80,10 @@
this.bgc = "#bac296";
this.color = "#fff";
break;
+ case "G":
+ this.bgc = "#90EE90"; // 娴呯豢鑹�
+ this.color = "#000"; // 瀛椾綋棰滆壊锛堝缓璁繁鑹蹭互淇濊瘉瀵规瘮搴︼級
+ break;
default:
break;
}
diff --git a/src/main/java/com/zy/asrs/entity/param/LocMastInitParam.java b/src/main/java/com/zy/asrs/entity/param/LocMastInitParam.java
index 3727293..d9988c5 100644
--- a/src/main/java/com/zy/asrs/entity/param/LocMastInitParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/LocMastInitParam.java
@@ -31,7 +31,7 @@
// 鍫嗗灈鏈烘暟閲�
private Integer crnAmount;
- // 楂樹綆绫诲瀷锛� 1锛氫綆搴撲綅 2锛氶珮搴撲綅
+ // 楂樹綆绫诲瀷锛�0:鏈煡,1:浣庡簱浣�,2:楂樺簱浣�,3:涓簱浣�
private Short locType1;
// 瀹界獎绫诲瀷锛� 1锛氱獎搴撲綅 2锛氬搴撲綅
diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index 2b7255c..aa847f3 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -37,7 +37,7 @@
@Select("SELECT ld.loc_no FROM asr_loc_detl ld LEFT JOIN asr_loc_mast lm ON ld.loc_no = lm.loc_no WHERE (1 = 1 AND ld.matnr = #{matnr} AND (lm.row1 >= #{start} AND lm.row1 <= #{end}) AND lm.loc_sts = 'F' AND DateDiff(dd, ld.appe_time, getdate()) = 0) ORDER BY ld.appe_time ASC")
List<String> selectSameDetlToday(@Param("matnr") String matnr, @Param("start") Integer start, @Param("end") Integer end);
- List<String> selectSameDetlTodayBatch(@Param("matnr") String matnr,@Param("batch") String batch, @Param("start") Integer start, @Param("end") Integer end);
+ List<LocDetl> selectSameDetlTodayBatch(@Param("matnr") String matnr,@Param("batch") String batch, @Param("start") Integer start, @Param("end") Integer end);
List<LocDetl> getStockStatis(Map<String, Object> map);
diff --git a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
index 14567e7..da5eed1 100644
--- a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -53,4 +53,6 @@
// LocMast selectLocByLocStsPakInO2(@Param("locNos") List<String> locNos,@Param("whsType") Long whsType);
LocMast selectLocByLocStsPakInO2(@Param("crnNo") Integer crnNo,@Param("bay") Integer bay,@Param("lev") Integer lev,@Param("gro") Integer gro,@Param("whsType") Long whsType);
+
+ List<LocMast> queryFreeLocMast2(Short locType1, Integer rowBeg, Integer rowEnd, Integer bayBeg, Integer bayEnd, Integer levBeg, Integer levEnd);
}
diff --git a/src/main/java/com/zy/asrs/mapper/LocRuleMapper.java b/src/main/java/com/zy/asrs/mapper/LocRuleMapper.java
new file mode 100644
index 0000000..3584f30
--- /dev/null
+++ b/src/main/java/com/zy/asrs/mapper/LocRuleMapper.java
@@ -0,0 +1,12 @@
+package com.zy.asrs.mapper;
+
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+import com.zy.asrs.entity.LocRule;
+import org.apache.ibatis.annotations.Mapper;
+import org.springframework.stereotype.Repository;
+
+@Mapper
+@Repository
+public interface LocRuleMapper extends BaseMapper<LocRule> {
+
+}
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index b08fe2a..c93f976 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -37,7 +37,7 @@
* @param batch 鎵规鍙�
* @return locNo 搴撲綅鍙�
*/
- List<String> getSameDetlToday(String matnr, String batch, Integer start, Integer end);
+ List<LocDetl> getSameDetlToday(String matnr, String batch, Integer start, Integer end);
Page<LocDetl> getStockStatis(Page<LocDetl> page);
diff --git a/src/main/java/com/zy/asrs/service/LocMastService.java b/src/main/java/com/zy/asrs/service/LocMastService.java
index 0a66cd6..bbd5d2c 100644
--- a/src/main/java/com/zy/asrs/service/LocMastService.java
+++ b/src/main/java/com/zy/asrs/service/LocMastService.java
@@ -60,4 +60,10 @@
// LocMast selectLocByLocStsPakInO(Integer curRow,Integer nearRow,List<String> locNos);
// LocMast selectLocByLocStsPakInO(Integer curRow,Integer nearRow,List<String> locNos, Long whsType);
LocMast selectLocByLocStsPakInO(Integer curRow,Integer nearRow,LocMast locNoo, Long whsType);
+
+ /*
+ 妫�绱㈠簱浣�
+ */
+ List<LocMast> queryFreeLocMast2(Short locType1, Integer rowBeg, Integer rowEnd, Integer bayBeg, Integer bayEnd, Integer levBeg, Integer levEnd);
+
}
diff --git a/src/main/java/com/zy/asrs/service/LocRuleService.java b/src/main/java/com/zy/asrs/service/LocRuleService.java
new file mode 100644
index 0000000..8e5cb02
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/LocRuleService.java
@@ -0,0 +1,10 @@
+package com.zy.asrs.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.LocRule;
+
+public interface LocRuleService extends IService<LocRule> {
+
+ LocRule find(String matnr, String batch, int startRow, int endRow);
+
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
index 2a882be..6ee792d 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -50,7 +50,7 @@
}
@Override
- public List<String> getSameDetlToday(String matnr,String batch, Integer start, Integer end) {
+ public List<LocDetl> getSameDetlToday(String matnr,String batch, Integer start, Integer end) {
return this.baseMapper.selectSameDetlTodayBatch(matnr,batch, start, end);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
index d22e201..5867094 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocMastServiceImpl.java
@@ -148,4 +148,9 @@
}
return this.baseMapper.selectLocShuttleMoveUnilateralN(bay,lev,type);
}
+
+ @Override
+ public List<LocMast> queryFreeLocMast2(Short locType1, Integer rowBeg, Integer rowEnd, Integer bayBeg, Integer bayEnd, Integer levBeg, Integer levEnd) {
+ return this.baseMapper.queryFreeLocMast2(locType1, rowBeg, rowEnd, bayBeg, bayEnd, levBeg, levEnd);
+ }
}
diff --git a/src/main/java/com/zy/asrs/service/impl/LocRuleServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocRuleServiceImpl.java
new file mode 100644
index 0000000..6596585
--- /dev/null
+++ b/src/main/java/com/zy/asrs/service/impl/LocRuleServiceImpl.java
@@ -0,0 +1,50 @@
+package com.zy.asrs.service.impl;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.Cools;
+import com.zy.asrs.entity.LocRule;
+import com.zy.asrs.entity.Mat;
+import com.zy.asrs.mapper.LocRuleMapper;
+import com.zy.asrs.service.LocRuleService;
+import com.zy.asrs.service.MatService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service("locRuleService")
+public class LocRuleServiceImpl extends ServiceImpl<LocRuleMapper, LocRule> implements LocRuleService {
+
+ @Autowired
+ private MatService matService;
+
+ @Override
+ public LocRule find(String matnr, String batch, int startRow, int endRow) {
+ if (Cools.isEmpty(matnr)) {
+ return null;
+ }
+ Mat mat = matService.selectByMatnr(matnr);
+ if (Cools.isEmpty(mat)) {
+ return null;
+ }
+ LocRule locRule = null;
+ do {
+ locRule = this.selectOne(new EntityWrapper<LocRule>().eq("matnr", matnr).ge("row_beg", startRow).le("row_end", endRow).eq("status", 1));
+ if (null != locRule) {
+ break;
+ }
+ locRule = this.selectOne(new EntityWrapper<LocRule>().eq("specs", mat.getSpecs()).ge("row_beg", startRow).le("row_end", endRow).eq("status", 1));
+ if (null != locRule) {
+ break;
+ }
+ locRule = this.selectOne(new EntityWrapper<LocRule>().eq("model", mat.getModel()).ge("row_beg", startRow).le("row_end", endRow).eq("status", 1));
+ if (null != locRule) {
+ break;
+ }
+ locRule = this.selectOne(new EntityWrapper<LocRule>().eq("batch", batch).ge("row_beg", startRow).le("row_end", endRow).eq("status", 1));
+ if (null != locRule) {
+ break;
+ }
+ } while (false);
+ return locRule;
+ }
+}
diff --git a/src/main/java/com/zy/common/model/LocTypeDto.java b/src/main/java/com/zy/common/model/LocTypeDto.java
index b8526c3..17c1def 100644
--- a/src/main/java/com/zy/common/model/LocTypeDto.java
+++ b/src/main/java/com/zy/common/model/LocTypeDto.java
@@ -13,7 +13,7 @@
@Data
public class LocTypeDto {
- // 楂樹綆绫诲瀷{0:鏈煡,1:浣庡簱浣�,2:楂樺簱浣峿
+ // 楂樹綆绫诲瀷{0:鏈煡,1:浣庡簱浣�,2:楂樺簱浣�,3:涓簱浣峿
private Short locType1;
// 瀹界獎绫诲瀷{0:鏈煡,1:绐勫簱浣�,2:瀹藉簱浣峿
@@ -26,7 +26,14 @@
}
public LocTypeDto(BasDevp basDevp) {
- this.locType1 = 1; // 浣庡簱浣�
+ if (basDevp.getLocType1() == null || basDevp.getLocType1() == 0) {
+ throw new CoolException("plc楂樹綆妫�娴嬪紓甯�");
+ }
+ if (basDevp.getLocType1() == 1) {
+ this.locType1 = 1; // 浣庡簱浣�
+ } else {
+ this.locType1 = 2; // 楂樺簱浣�
+ }
log.info(JSON.toJSONString(this));
}
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index e3f1e21..a841d2b 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -17,6 +17,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.util.Arrays;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
@@ -50,7 +51,8 @@
private SlaveProperties slaveProperties;
@Autowired
private WrkDetlService wrkDetlService;
-
+ @Autowired
+ private LocRuleService locRuleService;
/**
* 鐢熸垚宸ヤ綔鍙�
*
@@ -128,9 +130,8 @@
case 4:
return getLocNoRun4(whsType, staDescId, sourceStaNo, matnr, batch, grade, 4, locTypeDto, 0);
}
-
- } catch (Exception e) {
- log.error("绔欑偣={} 鏈煡璇㈠埌瀵瑰簲鐨勮鍒�", sourceStaNo);
+ } catch (CoolException ex) {
+ log.error("鍏ュ簱澶辫触锛岄敊璇俊鎭�: {}", ex.getMessage(), ex);
}
return null;
}
@@ -445,150 +446,148 @@
}
public StartupDto getLocNoRun4(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, Integer moveCrnNo, LocTypeDto locTypeDto, int times) {
- int rowCount = 0; //杞杞
- int crnNo = 0;
+ int crnNo = 1;//灏忚溅缂栧彿澶囩敤
+ RowLastno rowLastno = rowLastnoService.selectById(4);
LocMast locMast = null; // 鐩爣搴撲綅
StartupDto startupDto = new StartupDto();
+ int MaxBay = rowLastno.getCurrentRow();
+ int sRow = rowLastno.getsRow();
+ int eRow = rowLastno.geteRow();
+ //婊$増绌烘澘鍏ュ簱瑙勫垯
+ switch (staDescId){
+ //鍏ㄦ澘
+ case 1:
+ // 浠庣 3 鍒楀紑濮� 杞姣忎竴鍒�
+ int currentBay = 1;
+ while (currentBay <= MaxBay) { //
+ locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .ge("row1", sRow) // 鎺掕寖鍥达細璧峰鍒扮粨鏉�
+ .le("row1", eRow)
+ .ne("row1", 8) // 鎺掗櫎绗�8鎺�
+ .eq("loc_sts", "O") // 绌哄簱浣�
+ .eq("bay1", currentBay) // 褰撳墠鍒�
+ .eq("loc_type1", locTypeDto.getLocType1())
+ .orderBy("row1 ASC, lev1 ASC")); // 鎸夋帓鍜屽眰鎺掑簭
+ if (!Cools.isEmpty(locMast)) {
+ // 妫�鏌ユ槸鍚︾鍚堝晢鍝佺紪鍙峰拰鎵瑰彿瑙勫垯
+ LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>()
+ .eq("loc_no", locMast.getLocNo())
+ .andNew()
+ .eq("matnr", matnr)
+ .eq("batch", batch));
- if (!Cools.isEmpty(matnr) && staDescId != 10) {
- int lev = 0;
-// List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr", matnr));
-// if (!Cools.isEmpty(locDetls)){
-// for (LocDetl locDetl : locDetls){
-// if (locMast != null){
-// break;
-// }
-// LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo()));
-// if (Cools.isEmpty(locMast1)) {
-// continue;
-// }
-// if (locMast1.getLev1() != lev && locMast1.getLev1() !=3) {
-// List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
-// .eq("lev1", locMast1.getLev1())
-// .orderBy("bay1",false));
-// if (Cools.isEmpty(locMasts)){
-// throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�===銆嬪簱浣嶆湭鐭�");
-// }
-// for (LocMast locMast2 : locMasts) {
-// if (locMast2.getLocSts().equals("O") ) {
-// if (locMast == null){
-// locMast = locMast2;
-// }
-// }else if (locMast2.getLocSts().equals("F")){
-// locMast = null;
-// }
-// }
-// }
-// }
-// if(Cools.isEmpty(locMast)){
-// List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
-// .eq("lev1", 1)
-// .orderBy("bay1",false));
-// for (LocMast locMast2 : locMasts) {
-// if (locMast2.getLocSts().equals("O") ) {
-// if (locMast == null){
-// locMast = locMast2;
-// }
-// }else if (locMast2.getLocSts().equals("F")){
-// locMast = null;
-// }
-// }
-// }
-// if(Cools.isEmpty(locMast)){
-// List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
-// .eq("lev1", 2)
-// .orderBy("bay1",false));
-// for (LocMast locMast2 : locMasts) {
-// if (locMast2.getLocSts().equals("O") ) {
-// if (locMast == null){
-// locMast = locMast2;
-// }
-// }else if (locMast2.getLocSts().equals("F")){
-// locMast = null;
-// }
-// }
-// }
-// }else {
- for (int i = 1; i <= 2; i++) {
- if (locMast != null) {
- break;
- }
-// List<LocMast> locMastsF = locMastService.selectList(new EntityWrapper<LocMast>()
-// .eq("lev1", i)
-// .eq("loc_sts", "F"));
-// if (!Cools.isEmpty(locMastsF)) {
-// continue;
-// }
- List<LocMast> locMastsR = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("lev1", i)
- .eq("loc_sts", "R"));
- if (!Cools.isEmpty(locMastsR)) {
- WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("loc_no", locMastsR.get(0).getLocNo()));
- if (Cools.isEmpty(wrkMast)) {
- continue;
- }
- List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
- if (!wrkDetls.get(0).getMatnr().equals(matnr)) {
- continue;
- }
- }
- List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("lev1", i)
- .orderBy("bay1", false));
- if (Cools.isEmpty(locMasts)) {
- throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�===銆嬪簱浣嶆湭鐭�");
- }
- for (LocMast locmast3 : locMasts) {
- if (locmast3.getLocSts().equals("O")) {
- if (locMast == null) {
- locMast = locmast3;
+ if (Cools.isEmpty(locDetl) || (matnr.equals(locDetl.getMatnr()) && batch.equals(locDetl.getBatch()))) {
+ // 鎵惧埌绗﹀悎鏉′欢鐨勫簱浣嶏紝璺冲嚭寰幆
+ break;
}
- } else if (locmast3.getLocSts().equals("F")) {
- locMast = null;
+ }
+
+ // 褰撳墠鍒楁棤绌轰綅锛屾鏌ヤ笅涓�鍒�
+ currentBay++;
+ }
+ // 鈶� 濡傛灉绗竴鎺掑叏婊★紝妫�绱㈢8鎺�
+ if (Cools.isEmpty(locMast)) {
+ for (int bay = 1; bay <= MaxBay; bay++) {
+ locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("row1", 8) // 绗�8鎺�
+ .eq("loc_sts", "O") // 绌哄簱浣嶇姸鎬�
+ .eq("bay1", bay) // 褰撳墠鍒�
+ .orderBy("lev1 ASC")); // 鎸夊眰鎺掑簭
+
+ if (!Cools.isEmpty(locMast)) {
+ break; // 鎵惧埌绗﹀悎鏉′欢鐨勫簱浣嶏紝閫�鍑哄惊鐜�
+ }
}
}
- }
-// }
- } else {
- //绌烘澘鍏ュ簱
- List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("lev1", 3)
- .orderBy("bay1", true));
- if (Cools.isEmpty(locMasts)) {
- throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�===銆嬪簱浣嶆湭鐭�");
- }
- for (LocMast locmast : locMasts) {
- if (locmast.getLocSts().equals("O")) {
- if (locMast == null) {
- locMast = locmast;
- }
- } else if (locmast.getLocSts().equals("D")) {
- locMast = null;
+
+ // 濡傛灉娌℃湁鎵惧埌绗﹀悎鏉′欢鐨勫簱浣�
+ if (Cools.isEmpty(locMast)) {
+ log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛�", JSON.toJSONString(locTypeDto));
+ throw new CoolException("娌℃湁绌哄簱浣�");
}
- }
+ break;
+ // 绌烘澘瑙勫垯
+ case 10:
+ // 鈶� 浼樺厛妫�绱㈢1鎺掓墍鏈夊垪鐘舵�佷负 "D" 鐨勫簱浣�
+ // 鏍囩锛岀敤浜庤烦鍑哄灞傚惊鐜�
+ outerLoop:
+ for (int bay = 1; bay <= MaxBay; bay++) {
+ locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("row1", sRow) // 绗竴鎺�
+ .eq("loc_sts", "D") // 绌烘澘鐘舵��
+ .eq("bay1", bay) // 褰撳墠鍒�
+ .ne("row1", 8) // 鎺掗櫎绗�8鎺�
+ .orderBy("lev1 ASC")); // 鎸夊眰鎺掑簭
+
+ if (!Cools.isEmpty(locMast)) {
+ // 浠庡綋鍓嶅垪鎵惧埌鐘舵�佷负 "D" 鐨勫簱浣嶅悗锛屽悜澶栦緷娆℃绱㈡帓
+ for (int row = sRow + 1; row <= eRow; row++) { // 浠庣浜屾帓寮�濮�
+ LocMast potentialLoc = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("row1", row) // 褰撳墠鎺�
+ .eq("loc_sts", "O") // 绌哄簱浣嶇姸鎬�
+ .eq("bay1", bay) // 褰撳墠鍒�
+ .ne("row1", 8) // 鎺掗櫎绗�8鎺�
+ .eq("lev1",locMast.getLev1())); //褰撳墠灞�
+
+ if (!Cools.isEmpty(potentialLoc)) {
+ locMast = potentialLoc; // 鏇存柊涓烘壘鍒扮殑绌哄簱浣�
+ break outerLoop; // 鎵惧埌绗﹀悎鏉′欢鐨勫簱浣嶏紝璺冲嚭澶栧眰寰幆
+ }
+ }
+ }
+ }
+
+ // 鈶� 濡傛灉绗�1鎺掓病鏈夋壘鍒� "D"锛屾绱㈢姸鎬佷负 "O" 鐨勫簱浣�
+ if (Cools.isEmpty(locMast)) {
+ for (int bay = 1; bay <= MaxBay; bay++) {
+ locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("row1", sRow) // 绗竴鎺�
+ .eq("loc_sts", "O") // 绌哄簱浣嶇姸鎬�
+ .eq("bay1", bay) // 褰撳墠鍒�
+ .orderBy("lev1 ASC")); // 鎸夊眰鎺掑簭
+
+ if (!Cools.isEmpty(locMast)) {
+ break; // 鎵惧埌绗﹀悎鏉′欢鐨勫簱浣嶏紝閫�鍑哄惊鐜�
+ }
+ }
+ }
+
+ // 鈶� 濡傛灉绗竴鎺掑叏婊★紝妫�绱㈢8鎺�
+ if (Cools.isEmpty(locMast)) {
+ for (int bay = 1; bay <= MaxBay; bay++) {
+ locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+ .eq("row1", 8) // 绗�8鎺�
+ .eq("loc_sts", "O") // 绌哄簱浣嶇姸鎬�
+ .eq("bay1", bay) // 褰撳墠鍒�
+ .orderBy("lev1 ASC")); // 鎸夊眰鎺掑簭
+
+ if (!Cools.isEmpty(locMast)) {
+ break; // 鎵惧埌绗﹀悎鏉′欢鐨勫簱浣嶏紝閫�鍑哄惊鐜�
+ }
+ }
+ }
+
+ // 濡傛灉浠嶇劧娌℃湁鎵惧埌绗﹀悎鏉′欢鐨勫簱浣�
+ if (Cools.isEmpty(locMast)) {
+ log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛�", JSON.toJSONString(locTypeDto));
+ throw new CoolException("娌℃湁绌哄簱浣�");
+ }
+ break;
+
+ default:
+ throw new CoolException("涓嶆敮鎸佺殑搴撲綅瑙勫垯绫诲瀷: " + staDescId);
+
}
-
- // 閫掑綊鏌ヨ
- if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("O")) {
- // 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊
- if (times < rowCount * 2) {
- times = times + 1;
- return getLocNoRun4(whsType, staDescId, sourceStaNo, matnr, batch, grade, moveCrnNo, locTypeDto, times);
- }
- log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times);
- throw new CoolException("娌℃湁绌哄簱浣�");
- }
+ // 杩斿洖鎵惧埌鐨勫簱浣�
String locNo = locMast.getLocNo();
-
- // 鐢熸垚宸ヤ綔鍙�
int workNo = getWorkNo(0);
- // 杩斿洖dto
startupDto.setWorkNo(workNo);
- startupDto.setCrnNo(1);
+ startupDto.setCrnNo(locMast.getCrnNo());
startupDto.setSourceStaNo(sourceStaNo);
startupDto.setLocNo(locNo);
+
return startupDto;
}
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 4225924..d426bd7 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -67,13 +67,13 @@
public synchronized Re getLocNo(@RequestBody SearchLocParam param) {
log.info("鏀跺埌WCS鍏ュ簱鎺ュ彛璇锋眰====>>鍏ュ弬:{}", param);
if (Cools.isEmpty(param.getCargoHeight())) {
- return Re.error("鍏ュ嚭搴撶被鍨嬩笉鑳戒负绌�");
+ return Re.error("楂樹綆搴撶被鍨嬩笉鑳戒负绌�");
}
if (Cools.isEmpty(param.getFromPort())) {
return Re.error("婧愮珯缂栧彿涓嶈兘涓虹┖");
}
List<WaitPakin> waitPakins = null;
- if (param.getFromPort().equals("100")) {
+ if (param.getFromPort().equals("101")) {
//鏈夌┖鏉垮嚭搴撴椂绂佹鍏ュ簱
int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("io_type",110).eq("sta_no",100).notIn("wrk_sts",7));
@@ -81,11 +81,11 @@
return Re.error("鏈夌┖鏉垮嚭搴撳埌100绔欐椂鏃剁姝㈠叆搴�");
}
- if (Cools.isEmpty(param.getBarCode())) {
+ if (Cools.isEmpty(param.getBarCode()) && param.getIoType() != 10) {
return Re.error("鏉$爜涓嶈兘涓虹┖");
}
waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarCode()));
- if (Cools.isEmpty(waitPakins)) {
+ if (Cools.isEmpty(waitPakins) && param.getIoType() != 10) {
WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarCode());
if (wrkMast != null && wrkMast.getIoType() == 103) {
return Re.parse(CodeRes.PICK_600);
@@ -99,7 +99,7 @@
}
}else {
//鏈夋弧鏉垮嚭搴撴椂绂佹绌烘澘鍏ュ簱
- int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no",200).andNew().eq("io_type",101).or().eq("io_type",110));
+ int wrkCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no",100).andNew().eq("io_type",101).or().eq("io_type",110));
if(wrkCount > 0){
return Re.error("鏈夋弧鏉垮嚭搴撴椂绂佹绌烘澘鍏ュ簱");
}
@@ -119,12 +119,12 @@
LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
StartupDto dto = null;
- switch (param.getFromPort()) {
- case "100"://婊℃墭鐩樺叆搴�
+ switch (param.getIoType()) {
+ case 1://婊℃墭鐩樺叆搴�
assert waitPakins != null;
dto = startupFullPutStore(Integer.valueOf(param.getFromPort()), param.getBarCode(), locTypeDto, waitPakins);
break;
- case "200"://绌烘墭鐩樺叆搴�
+ case 10://绌烘墭鐩樺叆搴�
dto = emptyPlateIn(Integer.valueOf(param.getFromPort()), locTypeDto, param.getBarCode());
break;
default:
@@ -195,6 +195,9 @@
List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList());
StartupDto dto = commonService.getLocNo(1, devpNo, matnrs.get(0), batchs.get(0), null, locTypeDto);
+ if(dto == null){
+ throw new CoolException("娌℃湁妫�绱㈠埌绌哄簱浣�");
+ }
int workNo = dto.getWorkNo();
Date now = new Date();
// 鐢熸垚宸ヤ綔妗�
diff --git a/src/main/java/com/zy/common/web/param/SearchLocParam.java b/src/main/java/com/zy/common/web/param/SearchLocParam.java
index a9c8f59..62dd3f0 100644
--- a/src/main/java/com/zy/common/web/param/SearchLocParam.java
+++ b/src/main/java/com/zy/common/web/param/SearchLocParam.java
@@ -2,6 +2,7 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import lombok.Data;
/**
@@ -44,6 +45,12 @@
*/
private double cargoWeight;
+ /**
+ * 鍏ュ簱妯″紡
+ * 1锛屽叏鏉� 10锛岀┖鏉�
+ */
+ private Integer ioType;
+
// // 搴撲綅瑙勬牸锛� 0:鏈煡, 1:浣庡簱浣�, 2:楂樺簱浣嶏級
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index a8a014e..7b1a29b 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,5 +1,5 @@
server:
- port: 8085
+ port: 8090
servlet:
context-path: /@pom.build.finalName@
@@ -10,7 +10,7 @@
enabled: false
datasource:
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
- url: jdbc:sqlserver://127.0.0.1:1433;databasename=wzjaasrs
+ url: jdbc:sqlserver://127.0.0.1:1433;databasename=ddthasrs
username: sa
password: sa@123
mvc:
@@ -39,7 +39,7 @@
#License鐩稿叧閰嶇疆
license:
- subject: wzjaasrs
+ subject: ddthasrs
publicAlias: publicCert
storePass: public_zhongyang_123456789
licensePath: license.lic
@@ -50,25 +50,21 @@
# 鍙屾繁
doubleDeep: true
# 鍙屾繁搴撲綅鎺掑彿
- doubleLocs: 1,4,5,8,9,12,13,16
+ doubleLocs: 1,2,3,4,5
# 涓�涓爢鍨涙満璐熻矗鐨勮揣鏋舵帓鏁�
groupCount: 4
- # 宸︽繁搴撲綅鎺掑彿
- doubleLocsLeft: 1,5,9,13
- # 鍙虫繁搴撲綅鎺掑彿
- doubleLocsRight: 4,8,12,16
#鏄惁寮�鍚痺ms涓嬪彂浠诲姟缁檞cs
workIssued-fig : true
#鍦板潃
- url : 192.168.110.100:8082
+ url : localhost:8082
#wms涓嬪彂浠诲姟缁檞cs
workIssued : fromWms/taskReceive
#搴撲綅鍚屾
loc: fromWms/cargoNoSyn
#鍏ュ簱绔�
- inDevp : 100
+ inDevp : 101
#鍑哄簱绔�
- outDevp : 200
+ outDevp : 100
# wms鍙傛暟閰嶇疆
wms-parameter:
# 鑷姩琛ョ┖鏉垮姛鑳藉紑鍏�
diff --git a/src/main/resources/license.lic b/src/main/resources/license.lic
index fd02b05..1f276f1 100644
--- a/src/main/resources/license.lic
+++ b/src/main/resources/license.lic
Binary files differ
diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml
index 84a38a0..4eaba6b 100644
--- a/src/main/resources/mapper/LocDetlMapper.xml
+++ b/src/main/resources/mapper/LocDetlMapper.xml
@@ -337,8 +337,8 @@
INNER JOIN man_mat b ON a.matnr=#{matnrOld} AND b.matnr=#{matnr};
</update>
- <select id="selectSameDetlTodayBatch" resultType="java.lang.String">
- SELECT ld.loc_no FROM asr_loc_detl ld
+ <select id="selectSameDetlTodayBatch" resultMap="BaseResultMap">
+ SELECT * FROM asr_loc_detl ld
LEFT JOIN asr_loc_mast lm ON ld.loc_no = lm.loc_no
WHERE 1 = 1
AND ld.matnr = #{matnr}
diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index 8d918ad..a819b57 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -193,4 +193,34 @@
AND loc_sts in ('O') order by row1
</select>
+ <select id="queryFreeLocMast2" resultMap="BaseResultMap">
+ select *
+ from asr_loc_mast
+ where 1=1
+ and loc_sts='O'
+ <if test="locType1 != null">
+ and loc_type1 = #{locType1}
+ </if>
+
+ <if test="rowBeg != null">
+ and row1 >= #{rowBeg}
+ </if>
+ <if test="rowEnd != null">
+ and row1 <= #{rowEnd}
+ </if>
+ <if test="bayBeg != null">
+ and bay1 >= #{bayBeg}
+ </if>
+ <if test="bayEnd != null">
+ and bay1 <= #{bayEnd}
+ </if>
+ <if test="levBeg != null">
+ and lev1 >= #{levBeg}
+ </if>
+ <if test="levEnd != null">
+ and lev1 <= #{levEnd}
+ </if>
+ order by loc_sts desc ,row1 desc,lev1 asc,bay1 asc
+ </select>
+
</mapper>
diff --git a/src/main/resources/mapper/LocRuleMapper.xml b/src/main/resources/mapper/LocRuleMapper.xml
new file mode 100644
index 0000000..02d6fb5
--- /dev/null
+++ b/src/main/resources/mapper/LocRuleMapper.xml
@@ -0,0 +1,30 @@
+<?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.LocRuleMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.zy.asrs.entity.LocRule">
+ <id column="id" property="id" />
+ <result column="matnr" property="matnr" />
+ <result column="specs" property="specs" />
+ <result column="model" property="model" />
+ <result column="cstmr" property="cstmr" />
+ <result column="batch" property="batch" />
+ <result column="other" property="other" />
+ <result column="row_beg" property="rowBeg" />
+ <result column="row_end" property="rowEnd" />
+ <result column="bay_beg" property="bayBeg" />
+ <result column="bay_end" property="bayEnd" />
+ <result column="lev_beg" property="levBeg" />
+ <result column="lev_end" property="levEnd" />
+ <result column="limit" property="limit" />
+ <result column="status" property="status" />
+ <result column="create_by" property="createBy" />
+ <result column="create_time" property="createTime" />
+ <result column="update_by" property="updateBy" />
+ <result column="update_time" property="updateTime" />
+ <result column="memo" property="memo" />
+
+ </resultMap>
+
+</mapper>
diff --git a/src/main/webapp/static/js/report/locMap.js b/src/main/webapp/static/js/report/locMap.js
index e8f5ac8..268a7f3 100644
--- a/src/main/webapp/static/js/report/locMap.js
+++ b/src/main/webapp/static/js/report/locMap.js
@@ -65,6 +65,7 @@
|| html.trim()==='D'
|| html.trim()==='O'
|| html.trim()==='Z'
+
){
} else {
diff --git a/src/main/webapp/views/locMast/locMast.html b/src/main/webapp/views/locMast/locMast.html
index e95ce3d..86c5395 100644
--- a/src/main/webapp/views/locMast/locMast.html
+++ b/src/main/webapp/views/locMast/locMast.html
@@ -218,6 +218,7 @@
<option value="0">鏈煡</option>
<option value="1">浣庡簱浣�</option>
<option value="2">楂樺簱浣�</option>
+ <option value="3">涓簱浣�</option>
</select>
</div>
</div>
--
Gitblit v1.9.1