Commit 305b5e72d5c69d06a1dfb7e7728cb95d24a83784
Merge branch 'develop' of http://172.16.29.40:8010/wms/wms2 into develop
Showing
28 changed files
with
1344 additions
and
17 deletions
src/main/java/com/huaheng/api/acs/controller/StateInfoUp.java
0 → 100644
1 | +package com.huaheng.api.acs.controller; | |
2 | + | |
3 | +import com.huaheng.api.acs.domain.StateInfoUploadModel; | |
4 | +import com.huaheng.api.acs.service.AcsService; | |
5 | +import com.huaheng.framework.aspectj.lang.annotation.Log; | |
6 | +import com.huaheng.framework.aspectj.lang.constant.BusinessType; | |
7 | +import com.huaheng.framework.web.controller.BaseController; | |
8 | +import com.huaheng.framework.web.domain.AjaxResult; | |
9 | +import io.swagger.annotations.Api; | |
10 | +import io.swagger.annotations.ApiOperation; | |
11 | +import org.springframework.web.bind.annotation.*; | |
12 | + | |
13 | +import javax.annotation.Resource; | |
14 | + | |
15 | + | |
16 | +@RestController | |
17 | +@RequestMapping("/api/ACS/v1") | |
18 | +@Api(tags = {"ACS"}, description = "登陆接口") | |
19 | +public class StateInfoUp extends BaseController { | |
20 | + @Resource | |
21 | + private AcsService acsService; | |
22 | + | |
23 | + /** | |
24 | + * AGV 信息上传 | |
25 | + */ | |
26 | +// @RequiresPermissions("api:acs:StateInfoUpload") | |
27 | + @Log(title = "AGV 信息上传", action = BusinessType.INSERT) | |
28 | + @PostMapping("/StateInfoUpload") | |
29 | + @ApiOperation("AGV 信息上传接口") | |
30 | + @ResponseBody | |
31 | + public AjaxResult StateInfoUpload(@RequestBody StateInfoUploadModel model) | |
32 | + { | |
33 | + return acsService.StateInfoUpload(model); | |
34 | + } | |
35 | + | |
36 | +} | |
... | ... |
src/main/java/com/huaheng/api/acs/controller/TaskConfirm.java
0 → 100644
1 | +package com.huaheng.api.acs.controller; | |
2 | + | |
3 | +import com.huaheng.api.acs.domain.AgvTask; | |
4 | +import com.huaheng.api.acs.service.AcsService; | |
5 | +import com.huaheng.framework.aspectj.lang.annotation.Log; | |
6 | +import com.huaheng.framework.aspectj.lang.constant.BusinessType; | |
7 | +import com.huaheng.framework.web.controller.BaseController; | |
8 | +import com.huaheng.framework.web.domain.AjaxResult; | |
9 | +import io.swagger.annotations.Api; | |
10 | +import io.swagger.annotations.ApiOperation; | |
11 | +import org.springframework.web.bind.annotation.*; | |
12 | + | |
13 | +import javax.annotation.Resource; | |
14 | + | |
15 | + | |
16 | +@RestController | |
17 | +@RequestMapping("/api/ACS/v1") | |
18 | +@Api(tags = {"ACS"}, description = "登陆接口") | |
19 | +public class TaskConfirm extends BaseController { | |
20 | + @Resource | |
21 | + private AcsService acsService; | |
22 | + | |
23 | + /** | |
24 | + * AGV 任务回传 | |
25 | + */ | |
26 | +// @RequiresPermissions("api:acs:TaskConfirm") | |
27 | + @Log(title = "AGV 任务回传", action = BusinessType.UPDATE) | |
28 | + @PostMapping("/TaskConfirm") | |
29 | + @ApiOperation("AGV 任务回传接口") | |
30 | + @ResponseBody | |
31 | + public AjaxResult TaskConfirm(@RequestBody AgvTask model) | |
32 | + { | |
33 | + return acsService.TaskConfirm(model); | |
34 | + } | |
35 | + | |
36 | + | |
37 | +} | |
... | ... |
src/main/java/com/huaheng/api/acs/domain/AgvTask.java
0 → 100644
1 | +package com.huaheng.api.acs.domain; | |
2 | + | |
3 | +import com.huaheng.framework.web.domain.BaseEntity; | |
4 | + | |
5 | +import java.util.Date; | |
6 | +import java.util.List; | |
7 | + | |
8 | +/** | |
9 | + * AGV任务实体 | |
10 | + * | |
11 | + */ | |
12 | +public class AgvTask extends BaseEntity { | |
13 | + | |
14 | + | |
15 | + private Integer id; | |
16 | + //交互标识 | |
17 | + private String interactionId; | |
18 | + //任务头标识 | |
19 | + private Integer taskHeaderId; | |
20 | + //任务子标识 | |
21 | + private Integer taskDetailId; | |
22 | + //任务类型 | |
23 | + private String taskType; | |
24 | + //货架编码 | |
25 | + private String shelfNo; | |
26 | + //站台编码 | |
27 | + private String station; | |
28 | + //源位置编码 | |
29 | + private String fromLocationNo; | |
30 | + //目的位置编码 | |
31 | + private String toLocationNo; | |
32 | + //方向 | |
33 | + private String orientation; | |
34 | + //平台 | |
35 | + private String platform; | |
36 | + //小车编号 | |
37 | + private String carNo; | |
38 | + //状态 | |
39 | + private String state; | |
40 | + //优先级 | |
41 | + private Integer status; | |
42 | + //仓库ID | |
43 | + private Integer warehouseId; | |
44 | + //仓库编码 | |
45 | + private String warehouseCode; | |
46 | + //货主ID | |
47 | + private Integer companyId; | |
48 | + //货主编码 | |
49 | + private String companyCode; | |
50 | + //货主ID list | |
51 | + private List<Integer> companyIdList; | |
52 | + //货主list | |
53 | + private List<String> companyCodeList; | |
54 | + | |
55 | + private Date date; | |
56 | + | |
57 | + public Date getDate() { | |
58 | + return date; | |
59 | + } | |
60 | + | |
61 | + public void setDate(Date date) { | |
62 | + this.date = date; | |
63 | + } | |
64 | + | |
65 | + public List<Integer> getCompanyIdList() { | |
66 | + return companyIdList; | |
67 | + } | |
68 | + | |
69 | + public void setCompanyIdList(List<Integer> companyIdList) { | |
70 | + this.companyIdList = companyIdList; | |
71 | + } | |
72 | + | |
73 | + public Integer getWarehouseId() { | |
74 | + return warehouseId; | |
75 | + } | |
76 | + | |
77 | + public void setWarehouseId(Integer warehouseId) { | |
78 | + this.warehouseId = warehouseId; | |
79 | + } | |
80 | + | |
81 | + public String getWarehouseCode() { | |
82 | + return warehouseCode; | |
83 | + } | |
84 | + | |
85 | + public void setWarehouseCode(String warehouseCode) { | |
86 | + this.warehouseCode = warehouseCode; | |
87 | + } | |
88 | + | |
89 | + public Integer getCompanyId() { | |
90 | + return companyId; | |
91 | + } | |
92 | + | |
93 | + public void setCompanyId(Integer companyId) { | |
94 | + this.companyId = companyId; | |
95 | + } | |
96 | + | |
97 | + public String getCompanyCode() { | |
98 | + return companyCode; | |
99 | + } | |
100 | + | |
101 | + public void setCompanyCode(String companyCode) { | |
102 | + this.companyCode = companyCode; | |
103 | + } | |
104 | + | |
105 | + public List<String> getCompanyCodeList() { | |
106 | + return companyCodeList; | |
107 | + } | |
108 | + | |
109 | + public void setCompanyCodeList(List<String> companyCodeList) { | |
110 | + this.companyCodeList = companyCodeList; | |
111 | + } | |
112 | + | |
113 | + public Integer getId() { | |
114 | + return id; | |
115 | + } | |
116 | + | |
117 | + public void setId(Integer id) { | |
118 | + this.id = id; | |
119 | + } | |
120 | + | |
121 | + public String getInteractionId() { | |
122 | + return interactionId; | |
123 | + } | |
124 | + | |
125 | + public void setInteractionId(String interactionId) { | |
126 | + this.interactionId = interactionId; | |
127 | + } | |
128 | + | |
129 | + public Integer getTaskHeaderId() { | |
130 | + return taskHeaderId; | |
131 | + } | |
132 | + | |
133 | + public void setTaskHeaderId(Integer taskHeaderId) { | |
134 | + this.taskHeaderId = taskHeaderId; | |
135 | + } | |
136 | + | |
137 | + public Integer getTaskDetailId() { | |
138 | + return taskDetailId; | |
139 | + } | |
140 | + | |
141 | + public void setTaskDetailId(Integer taskDetailId) { | |
142 | + this.taskDetailId = taskDetailId; | |
143 | + } | |
144 | + | |
145 | + public String getTaskType() { | |
146 | + return taskType; | |
147 | + } | |
148 | + | |
149 | + public void setTaskType(String taskType) { | |
150 | + this.taskType = taskType; | |
151 | + } | |
152 | + | |
153 | + public String getShelfNo() { | |
154 | + return shelfNo; | |
155 | + } | |
156 | + | |
157 | + public void setShelfNo(String shelfNo) { | |
158 | + this.shelfNo = shelfNo; | |
159 | + } | |
160 | + | |
161 | + public String getStation() { | |
162 | + return station; | |
163 | + } | |
164 | + | |
165 | + public void setStation(String station) { | |
166 | + this.station = station; | |
167 | + } | |
168 | + | |
169 | + public String getFromLocationNo() { | |
170 | + return fromLocationNo; | |
171 | + } | |
172 | + | |
173 | + public void setFromLocationNo(String fromLocationNo) { | |
174 | + this.fromLocationNo = fromLocationNo; | |
175 | + } | |
176 | + | |
177 | + public String getToLocationNo() { | |
178 | + return toLocationNo; | |
179 | + } | |
180 | + | |
181 | + public void setToLocationNo(String toLocationNo) { | |
182 | + this.toLocationNo = toLocationNo; | |
183 | + } | |
184 | + | |
185 | + public String getOrientation() { | |
186 | + return orientation; | |
187 | + } | |
188 | + | |
189 | + public void setOrientation(String orientation) { | |
190 | + this.orientation = orientation; | |
191 | + } | |
192 | + | |
193 | + public String getPlatform() { | |
194 | + return platform; | |
195 | + } | |
196 | + | |
197 | + public void setPlatform(String platform) { | |
198 | + this.platform = platform; | |
199 | + } | |
200 | + | |
201 | + public String getCarNo() { | |
202 | + return carNo; | |
203 | + } | |
204 | + | |
205 | + public void setCarNo(String carNo) { | |
206 | + this.carNo = carNo; | |
207 | + } | |
208 | + | |
209 | + public String getState() { | |
210 | + return state; | |
211 | + } | |
212 | + | |
213 | + public void setState(String state) { | |
214 | + this.state = state; | |
215 | + } | |
216 | + | |
217 | + public Integer getStatus() { | |
218 | + return status; | |
219 | + } | |
220 | + | |
221 | + public void setStatus(Integer status) { | |
222 | + this.status = status; | |
223 | + } | |
224 | + | |
225 | + @Override | |
226 | + public String toString() { | |
227 | + return "AgvTask{" + | |
228 | + "id=" + id + | |
229 | + ", interactionId='" + interactionId + '\'' + | |
230 | + ", taskHeaderId=" + taskHeaderId + | |
231 | + ", taskDetailId=" + taskDetailId + | |
232 | + ", taskType='" + taskType + '\'' + | |
233 | + ", shelfNo='" + shelfNo + '\'' + | |
234 | + ", station='" + station + '\'' + | |
235 | + ", fromLocationNo='" + fromLocationNo + '\'' + | |
236 | + ", toLocationNo='" + toLocationNo + '\'' + | |
237 | + ", orientation='" + orientation + '\'' + | |
238 | + ", platform='" + platform + '\'' + | |
239 | + ", carNo='" + carNo + '\'' + | |
240 | + ", state='" + state + '\'' + | |
241 | + '}'; | |
242 | + } | |
243 | +} | |
... | ... |
src/main/java/com/huaheng/api/acs/domain/StateInfoUploadModel.java
0 → 100644
1 | +package com.huaheng.api.acs.domain; | |
2 | + | |
3 | +import java.util.Date; | |
4 | + | |
5 | +/** | |
6 | + * 小车信息实体 | |
7 | + * | |
8 | + */ | |
9 | +public class StateInfoUploadModel { | |
10 | + | |
11 | + private String carNo; // 小车编号,string(50),唯一 ,必填 | |
12 | + private String interactionId; // 交互标识,int,默认 0,必填" | |
13 | + private String taskType; // 任务类型,string (50),putway 上架 pick 拣货,必填 | |
14 | + private String shelfNo; // 货架编码,string (50),默认 0,必填 | |
15 | + private String station; // 站台编码,string (50),默认 0,必填 | |
16 | + private String currentLocationNo; // 当前位置编码,string (50),默认 0 必填 | |
17 | + private String fromLocationNo; // 源位置编码,string (50),默认 0 必填 | |
18 | + private String toLocationNo; // 目的位置编码,string (50),默认 0 必填 | |
19 | + private String orientation; // 方向,string (50),N,S,E,W,必填 | |
20 | + private Integer percentCapacity; // 电量,int【0-100】,必填 | |
21 | + private Integer exceptionFlag; // 异常标志 0 正常 1 异常,int,默认 0 必填 | |
22 | + private String state; // 状态,string (50),0 空闲 1 预定 2 任务中 -1 充电,必填 | |
23 | + private String exceptionInfo; // 异常信息 string(200) | |
24 | + //仓库ID | |
25 | + private Integer warehouseId; | |
26 | + //仓库编码 | |
27 | + private String warehouseCode; | |
28 | + | |
29 | + private Date date; | |
30 | + | |
31 | + public Date getDate() { | |
32 | + return date; | |
33 | + } | |
34 | + | |
35 | + public void setDate(Date date) { | |
36 | + this.date = date; | |
37 | + } | |
38 | + | |
39 | + public Integer getWarehouseId() { | |
40 | + return warehouseId; | |
41 | + } | |
42 | + | |
43 | + public void setWarehouseId(Integer warehouseId) { | |
44 | + this.warehouseId = warehouseId; | |
45 | + } | |
46 | + | |
47 | + public String getWarehouseCode() { | |
48 | + return warehouseCode; | |
49 | + } | |
50 | + | |
51 | + public void setWarehouseCode(String warehouseCode) { | |
52 | + this.warehouseCode = warehouseCode; | |
53 | + } | |
54 | + | |
55 | + public String getCarNo() { | |
56 | + return carNo; | |
57 | + } | |
58 | + | |
59 | + public void setCarNo(String carNo) { | |
60 | + this.carNo = carNo; | |
61 | + } | |
62 | + | |
63 | + public String getInteractionId() { | |
64 | + return interactionId; | |
65 | + } | |
66 | + | |
67 | + public void setInteractionId(String interactionId) { | |
68 | + this.interactionId = interactionId; | |
69 | + } | |
70 | + | |
71 | + public String getTaskType() { | |
72 | + return taskType; | |
73 | + } | |
74 | + | |
75 | + public void setTaskType(String taskType) { | |
76 | + this.taskType = taskType; | |
77 | + } | |
78 | + | |
79 | + public String getShelfNo() { | |
80 | + return shelfNo; | |
81 | + } | |
82 | + | |
83 | + public void setShelfNo(String shelfNo) { | |
84 | + this.shelfNo = shelfNo; | |
85 | + } | |
86 | + | |
87 | + public String getStation() { | |
88 | + return station; | |
89 | + } | |
90 | + | |
91 | + public void setStation(String station) { | |
92 | + this.station = station; | |
93 | + } | |
94 | + | |
95 | + public String getCurrentLocationNo() { | |
96 | + return currentLocationNo; | |
97 | + } | |
98 | + | |
99 | + public void setCurrentLocationNo(String currentLocationNo) { | |
100 | + this.currentLocationNo = currentLocationNo; | |
101 | + } | |
102 | + | |
103 | + public String getFromLocationNo() { | |
104 | + return fromLocationNo; | |
105 | + } | |
106 | + | |
107 | + public void setFromLocationNo(String fromLocationNo) { | |
108 | + this.fromLocationNo = fromLocationNo; | |
109 | + } | |
110 | + | |
111 | + public String getToLocationNo() { | |
112 | + return toLocationNo; | |
113 | + } | |
114 | + | |
115 | + public void setToLocationNo(String toLocationNo) { | |
116 | + this.toLocationNo = toLocationNo; | |
117 | + } | |
118 | + | |
119 | + public String getOrientation() { | |
120 | + return orientation; | |
121 | + } | |
122 | + | |
123 | + public void setOrientation(String orientation) { | |
124 | + this.orientation = orientation; | |
125 | + } | |
126 | + | |
127 | + public Integer getPercentCapacity() { | |
128 | + return percentCapacity; | |
129 | + } | |
130 | + | |
131 | + public void setPercentCapacity(Integer percentCapacity) { | |
132 | + this.percentCapacity = percentCapacity; | |
133 | + } | |
134 | + | |
135 | + public Integer getExceptionFlag() { | |
136 | + return exceptionFlag; | |
137 | + } | |
138 | + | |
139 | + public void setExceptionFlag(Integer exceptionFlag) { | |
140 | + this.exceptionFlag = exceptionFlag; | |
141 | + } | |
142 | + | |
143 | + public String getState() { | |
144 | + return state; | |
145 | + } | |
146 | + | |
147 | + public void setState(String state) { | |
148 | + this.state = state; | |
149 | + } | |
150 | + | |
151 | + public String getExceptionInfo() { | |
152 | + return exceptionInfo; | |
153 | + } | |
154 | + | |
155 | + public void setExceptionInfo(String exceptionInfo) { | |
156 | + this.exceptionInfo = exceptionInfo; | |
157 | + } | |
158 | + | |
159 | + | |
160 | + | |
161 | +} | |
... | ... |
src/main/java/com/huaheng/api/acs/service/AcsService.java
0 → 100644
1 | +package com.huaheng.api.acs.service; | |
2 | + | |
3 | +import com.huaheng.api.acs.domain.AgvTask; | |
4 | +import com.huaheng.api.acs.domain.StateInfoUploadModel; | |
5 | +import com.huaheng.framework.web.domain.AjaxResult; | |
6 | + | |
7 | +public interface AcsService { | |
8 | + | |
9 | + | |
10 | + //AGV 信息上传 | |
11 | + AjaxResult StateInfoUpload(StateInfoUploadModel model); | |
12 | + | |
13 | + | |
14 | + //AGV 任务回传 | |
15 | + AjaxResult TaskConfirm(AgvTask agvTask); | |
16 | +} | |
... | ... |
src/main/java/com/huaheng/api/acs/service/AcsServiceImpl.java
0 → 100644
1 | +package com.huaheng.api.acs.service; | |
2 | + | |
3 | +import com.huaheng.api.acs.domain.AgvTask; | |
4 | +import com.huaheng.api.acs.domain.StateInfoUploadModel; | |
5 | +import com.huaheng.framework.web.domain.AjaxResult; | |
6 | +import org.springframework.stereotype.Service; | |
7 | + | |
8 | +/** | |
9 | + * @ClassName AcsServiceImpl | |
10 | + * @Description TODO | |
11 | + * @Author Administrator | |
12 | + * @Date 2019/12/2615:38 | |
13 | + */ | |
14 | +@Service | |
15 | +public class AcsServiceImpl implements AcsService { | |
16 | + @Override | |
17 | + public AjaxResult StateInfoUpload(StateInfoUploadModel model) { | |
18 | + return null; | |
19 | + } | |
20 | + | |
21 | + @Override | |
22 | + public AjaxResult TaskConfirm(AgvTask agvTask) { | |
23 | + return null; | |
24 | + } | |
25 | +} | |
... | ... |
src/main/java/com/huaheng/common/constant/QuantityConstant.java
src/main/java/com/huaheng/pc/config/address/domain/Address.java
... | ... | @@ -33,6 +33,13 @@ public class Address implements Serializable { |
33 | 33 | private String warehouseCode; |
34 | 34 | |
35 | 35 | /** |
36 | + * 编号 | |
37 | + */ | |
38 | + @TableField(value = "number") | |
39 | + @ApiModelProperty(value="编号") | |
40 | + private Integer number; | |
41 | + | |
42 | + /** | |
36 | 43 | * 参数 |
37 | 44 | */ |
38 | 45 | @TableField(value = "param") |
... | ... | @@ -62,6 +69,14 @@ public class Address implements Serializable { |
62 | 69 | this.warehouseCode = warehouseCode; |
63 | 70 | } |
64 | 71 | |
72 | + public Integer getNumber() { | |
73 | + return number; | |
74 | + } | |
75 | + | |
76 | + public void setNumber(Integer number) { | |
77 | + this.number = number; | |
78 | + } | |
79 | + | |
65 | 80 | public String getParam() { |
66 | 81 | return param; |
67 | 82 | } |
... | ... |
src/main/java/com/huaheng/pc/config/container/domain/Container.java
... | ... | @@ -65,6 +65,15 @@ public class Container implements Serializable { |
65 | 65 | @Excel(name = "容器类型") |
66 | 66 | private String containerType; |
67 | 67 | |
68 | + | |
69 | + /** | |
70 | + * 容器类型 | |
71 | + */ | |
72 | + @TableField(value = "goodsShelfNo") | |
73 | + @ApiModelProperty(value="AGV货架编码") | |
74 | + @Excel(name = "AGV货架编码") | |
75 | + private String goodsShelfNo; | |
76 | + | |
68 | 77 | /** |
69 | 78 | * 创建时间 |
70 | 79 | */ |
... | ... | @@ -199,6 +208,8 @@ public class Container implements Serializable { |
199 | 208 | |
200 | 209 | public static final String COL_CONTAINERTYPE = "containerType"; |
201 | 210 | |
211 | + public static final String COL_GOODSSHELFNO = "goodsShelfNo"; | |
212 | + | |
202 | 213 | public static final String COL_CREATED = "created"; |
203 | 214 | |
204 | 215 | public static final String COL_CREATEDBY = "createdBy"; |
... | ... | @@ -245,6 +256,7 @@ public class Container implements Serializable { |
245 | 256 | sb.append(", warehouseCode=").append(warehouseCode); |
246 | 257 | sb.append(", companyCode=").append(companyCode); |
247 | 258 | sb.append(", containerType=").append(containerType); |
259 | + sb.append(", goodsShelfNo=").append(goodsShelfNo); | |
248 | 260 | sb.append(", created=").append(created); |
249 | 261 | sb.append(", createdBy=").append(createdBy); |
250 | 262 | sb.append(", lastUpdated=").append(lastUpdated); |
... | ... |
src/main/java/com/huaheng/pc/config/container/mapper/ContainerMapper.java
src/main/java/com/huaheng/pc/config/container/service/ContainerService.java
src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java
... | ... | @@ -171,4 +171,10 @@ public class ContainerServiceImpl extends ServiceImpl<ContainerMapper, Container |
171 | 171 | public Container findAllByCode(String code) { |
172 | 172 | return containerMapper.findAllByCode(code); |
173 | 173 | } |
174 | + | |
175 | + | |
176 | + @Override | |
177 | + public List<Container> selectListShelf() { | |
178 | + return containerMapper.selectListShelf(); | |
179 | + } | |
174 | 180 | } |
... | ... |
src/main/java/com/huaheng/pc/config/points/controller/PointController.java
0 → 100644
1 | +package com.huaheng.pc.config.points.controller; | |
2 | + | |
3 | + | |
4 | +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | |
5 | +import com.baomidou.mybatisplus.core.metadata.IPage; | |
6 | +import com.baomidou.mybatisplus.core.toolkit.Wrappers; | |
7 | +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | |
8 | +import com.huaheng.common.utils.StringUtils; | |
9 | +import com.huaheng.common.utils.security.ShiroUtils; | |
10 | +import com.huaheng.framework.aspectj.lang.annotation.Log; | |
11 | +import com.huaheng.framework.aspectj.lang.constant.BusinessType; | |
12 | +import com.huaheng.framework.web.controller.BaseController; | |
13 | +import com.huaheng.framework.web.domain.AjaxResult; | |
14 | +import com.huaheng.framework.web.page.PageDomain; | |
15 | +import com.huaheng.framework.web.page.TableDataInfo; | |
16 | +import com.huaheng.framework.web.page.TableSupport; | |
17 | +import com.huaheng.pc.config.company.domain.Company; | |
18 | +import com.huaheng.pc.config.company.service.CompanyService; | |
19 | +import com.huaheng.pc.config.container.domain.Container; | |
20 | +import com.huaheng.pc.config.container.service.ContainerService; | |
21 | +import com.huaheng.pc.config.points.domain.Points; | |
22 | +import com.huaheng.pc.config.points.service.PointsService; | |
23 | +import org.apache.shiro.authz.annotation.RequiresPermissions; | |
24 | +import org.springframework.beans.factory.annotation.Autowired; | |
25 | +import org.springframework.stereotype.Controller; | |
26 | +import org.springframework.ui.ModelMap; | |
27 | +import org.springframework.web.bind.annotation.*; | |
28 | + | |
29 | +import java.util.List; | |
30 | + | |
31 | +/** | |
32 | + * 货架 信息操作处理 | |
33 | + * | |
34 | + * @author huaheng | |
35 | + * @date 2019-07-11 | |
36 | + */ | |
37 | +@Controller | |
38 | +@RequestMapping("/config/point") | |
39 | +public class PointController extends BaseController | |
40 | +{ | |
41 | + private String prefix = "config/point"; | |
42 | + | |
43 | + @Autowired | |
44 | + private PointsService pointsService; | |
45 | + @Autowired | |
46 | + private CompanyService companyService; | |
47 | + @Autowired | |
48 | + private ContainerService containerService; | |
49 | + | |
50 | + @RequiresPermissions("config:point:view") | |
51 | + @GetMapping() | |
52 | + public String point() | |
53 | + { | |
54 | + return prefix + "/point"; | |
55 | + } | |
56 | + | |
57 | + /** | |
58 | + * 查询货架列表 | |
59 | + */ | |
60 | + @RequiresPermissions("config:point:list") | |
61 | + @Log(title = "配置-货架设置", operating = "货架查看列表", action = BusinessType.GRANT) | |
62 | + @PostMapping("/list") | |
63 | + @ResponseBody | |
64 | + public TableDataInfo list(Points points) | |
65 | + { | |
66 | + | |
67 | + LambdaQueryWrapper<Points> lambdaQueryWrapper = Wrappers.lambdaQuery(); | |
68 | + PageDomain pageDomain = TableSupport.buildPageRequest(); | |
69 | + Integer pageNum = pageDomain.getPageNum(); | |
70 | + Integer pageSize = pageDomain.getPageSize(); | |
71 | + lambdaQueryWrapper | |
72 | + .eq(StringUtils.isNotEmpty(points.getGoodsShelfNo()), Points::getGoodsShelfNo, points.getGoodsShelfNo()) | |
73 | + .eq(StringUtils.isNotEmpty(points.getCompanyCode()),Points::getCompanyCode, points.getCompanyCode()) | |
74 | + .eq(Points::getWarehouseCode, ShiroUtils.getWarehouseCode()); | |
75 | + | |
76 | + if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ | |
77 | + /*使用分页查询*/ | |
78 | + Page<Points> page = new Page<>(pageNum, pageSize); | |
79 | + IPage<Points> iPage = pointsService.page(page, lambdaQueryWrapper); | |
80 | + return getMpDataTable(iPage.getRecords(), iPage.getTotal()); | |
81 | + } else { | |
82 | + List<Points> list = pointsService.list(lambdaQueryWrapper); | |
83 | + list.forEach(t->{ | |
84 | + LambdaQueryWrapper<Company> companyLamb = Wrappers.lambdaQuery(); | |
85 | + companyLamb.eq(Company::getCode,t.getCompanyCode()); | |
86 | + Company company= companyService.getOne(companyLamb); | |
87 | + if(company!=null) { | |
88 | + t.setCompanyName(company.getName()); | |
89 | + } | |
90 | + }); | |
91 | + return getDataTable(list); | |
92 | + } | |
93 | + } | |
94 | + | |
95 | + /** | |
96 | + * 修改货架 | |
97 | + */ | |
98 | + @GetMapping("/edit/{id}") | |
99 | + public String edit(@PathVariable("id") Integer id, ModelMap mmap) | |
100 | + { | |
101 | + | |
102 | + Points points = pointsService.getById(id); | |
103 | + mmap.put("points", points); | |
104 | + return prefix + "/edit"; | |
105 | + } | |
106 | + | |
107 | + /** | |
108 | + * 修改保存货架 | |
109 | + */ | |
110 | + @RequiresPermissions("config:point:edit") | |
111 | + @Log(title = "配置-货架设置", operating = "修改货架", action = BusinessType.UPDATE) | |
112 | + @PostMapping("/edit") | |
113 | + @ResponseBody | |
114 | + public AjaxResult editSave(Points points) | |
115 | + { | |
116 | + LambdaQueryWrapper<Container> containerLamb = Wrappers.lambdaQuery(); | |
117 | + containerLamb.eq(Container::getGoodsShelfNo,points.getGoodsShelfNo()) | |
118 | + .eq(Container::getWarehouseCode,ShiroUtils.getWarehouseCode()); | |
119 | + List<Container> containerList=containerService.list(containerLamb); | |
120 | + for(Container item:containerList){ | |
121 | + item.setCompanyCode(points.getCompanyCode()); | |
122 | + if(containerService.saveOrUpdate(item) == false){ | |
123 | + return AjaxResult.error("修改失败"); | |
124 | + } | |
125 | + } | |
126 | + if(pointsService.saveOrUpdate(points) == false){ | |
127 | + return AjaxResult.error("修改失败"); | |
128 | + } | |
129 | + return AjaxResult.success("修改成功"); | |
130 | + } | |
131 | + | |
132 | + | |
133 | + /** | |
134 | + * 恢复货架状态 | |
135 | + */ | |
136 | + @RequiresPermissions("config:point:edit") | |
137 | + @Log(title = "配置-货架设置", operating = "恢复货架状态", action = BusinessType.UPDATE) | |
138 | + @PostMapping("/restore") | |
139 | + @ResponseBody | |
140 | + public AjaxResult restore(){ | |
141 | + if(pointsService.updateAll() >0){ | |
142 | + return AjaxResult.success("货架状态恢复成功"); | |
143 | + }else { | |
144 | + return AjaxResult.error("失败"); | |
145 | + } | |
146 | + } | |
147 | + | |
148 | + /** | |
149 | + * 检测货架装货状态 | |
150 | + */ | |
151 | + @RequiresPermissions("config:point:edit") | |
152 | + @Log(title = "配置-货架设置", operating = "检测货架装货状态", action = BusinessType.UPDATE) | |
153 | + @PostMapping("/detectShelf") | |
154 | + @ResponseBody | |
155 | + public AjaxResult detectShelf(){ | |
156 | + return pointsService.detectShelf(); | |
157 | + } | |
158 | +} | |
... | ... |
src/main/java/com/huaheng/pc/config/points/domain/Points.java
0 → 100644
1 | +package com.huaheng.pc.config.points.domain; | |
2 | + | |
3 | +import com.baomidou.mybatisplus.annotation.IdType; | |
4 | +import com.baomidou.mybatisplus.annotation.TableField; | |
5 | +import com.baomidou.mybatisplus.annotation.TableId; | |
6 | +import com.baomidou.mybatisplus.annotation.TableName; | |
7 | +import com.huaheng.framework.web.domain.BaseEntity; | |
8 | +import io.swagger.annotations.ApiModel; | |
9 | +import lombok.Data; | |
10 | + | |
11 | +/** | |
12 | + * @author ricard | |
13 | + * @time 2019/12/26 | |
14 | + * 货架实体 | |
15 | + */ | |
16 | + | |
17 | +@ApiModel(value="com.huaheng.pc.config.points.domain.Points") | |
18 | +@Data | |
19 | +@TableName(value = "points") | |
20 | +public class Points extends BaseEntity { | |
21 | + //id | |
22 | + @TableId(value = "id", type = IdType.AUTO ) | |
23 | + private Integer id; | |
24 | + | |
25 | + //仓库编码 | |
26 | + @TableField(value = "warehouseCode") | |
27 | + private String warehouseCode; | |
28 | + | |
29 | + //货架号 | |
30 | + @TableField(value = "goodsShelfNo") | |
31 | + private String goodsShelfNo; | |
32 | + private Integer companyId; | |
33 | + | |
34 | + //货主 | |
35 | + @TableField(value = "companyCode") | |
36 | + private String companyCode; | |
37 | + //货主名称 | |
38 | + private String companyName; | |
39 | + | |
40 | + //货架调动次数 | |
41 | + @TableField(value = "num") | |
42 | + private Integer num; | |
43 | + | |
44 | + //是否为空 | |
45 | + @TableField(value = "isEmpty") | |
46 | + private Integer isEmpty; | |
47 | + | |
48 | + //是否可用 | |
49 | + @TableField(value = "isEnable") | |
50 | + private Integer isEnable; | |
51 | + | |
52 | + //货架状态 | |
53 | + @TableField(value = "isLocked") | |
54 | + private Integer isLocked; | |
55 | + | |
56 | + //回库后X轴位置 | |
57 | + @TableField(value = "intX") | |
58 | + private String intX; | |
59 | + | |
60 | + //回库后Y轴位置 | |
61 | + @TableField(value = "intY") | |
62 | + private String intY; | |
63 | + | |
64 | + //出库前x位置 | |
65 | + @TableField(value = "oIntX") | |
66 | + private String oIntX; | |
67 | + | |
68 | + //出库前Y位置 | |
69 | + @TableField(value = "oIntY") | |
70 | + private String oIntY; | |
71 | + | |
72 | + public Integer getCompanyId() { | |
73 | + return companyId; | |
74 | + } | |
75 | + | |
76 | + public void setCompanyId(Integer companyId) { | |
77 | + this.companyId = companyId; | |
78 | + } | |
79 | + | |
80 | + public String getCompanyCode() { | |
81 | + return companyCode; | |
82 | + } | |
83 | + | |
84 | + public void setCompanyCode(String companyCode) { | |
85 | + this.companyCode = companyCode; | |
86 | + } | |
87 | + | |
88 | + public String getCompanyName() { | |
89 | + return companyName; | |
90 | + } | |
91 | + | |
92 | + public void setCompanyName(String companyName) { | |
93 | + this.companyName = companyName; | |
94 | + } | |
95 | + | |
96 | + public String getoIntX() { | |
97 | + return oIntX; | |
98 | + } | |
99 | + | |
100 | + public void setoIntX(String oIntX) { | |
101 | + this.oIntX = oIntX; | |
102 | + } | |
103 | + | |
104 | + public String getoIntY() { | |
105 | + return oIntY; | |
106 | + } | |
107 | + | |
108 | + public void setoIntY(String oIntY) { | |
109 | + this.oIntY = oIntY; | |
110 | + } | |
111 | + | |
112 | + public String getWarehouseCode() { | |
113 | + return warehouseCode; | |
114 | + } | |
115 | + | |
116 | + public void setWarehouseCode(String warehouseCode) { | |
117 | + this.warehouseCode = warehouseCode; | |
118 | + } | |
119 | + | |
120 | + public String getIntX() { | |
121 | + return intX; | |
122 | + } | |
123 | + | |
124 | + public void setIntX(String intX) { | |
125 | + this.intX = intX; | |
126 | + } | |
127 | + | |
128 | + public String getIntY() { | |
129 | + return intY; | |
130 | + } | |
131 | + | |
132 | + public void setIntY(String intY) { | |
133 | + this.intY = intY; | |
134 | + } | |
135 | + | |
136 | + public Integer getId() { | |
137 | + return id; | |
138 | + } | |
139 | + | |
140 | + public void setId(Integer id) { | |
141 | + this.id = id; | |
142 | + } | |
143 | + | |
144 | + public String getGoodsShelfNo() { | |
145 | + return goodsShelfNo; | |
146 | + } | |
147 | + | |
148 | + public void setGoodsShelfNo(String goodsShelfNo) { | |
149 | + this.goodsShelfNo = goodsShelfNo; | |
150 | + } | |
151 | + | |
152 | + public Integer getIsEnable() { | |
153 | + return isEnable; | |
154 | + } | |
155 | + | |
156 | + public void setIsEnable(Integer isEnable) { | |
157 | + this.isEnable = isEnable; | |
158 | + } | |
159 | + | |
160 | + public Integer getIsLocked() { | |
161 | + return isLocked; | |
162 | + } | |
163 | + | |
164 | + public void setIsLocked(Integer isLocked) { | |
165 | + this.isLocked = isLocked; | |
166 | + } | |
167 | + | |
168 | + public Integer getNum() { | |
169 | + return num; | |
170 | + } | |
171 | + | |
172 | + public void setNum(Integer num) { | |
173 | + this.num = num; | |
174 | + } | |
175 | + | |
176 | + public Integer getIsEmpty() { | |
177 | + return isEmpty; | |
178 | + } | |
179 | + | |
180 | + public void setIsEmpty(Integer isEmpty) { | |
181 | + this.isEmpty = isEmpty; | |
182 | + } | |
183 | +} | |
... | ... |
src/main/java/com/huaheng/pc/config/points/mapper/PointsMapper.java
0 → 100644
1 | +package com.huaheng.pc.config.points.mapper; | |
2 | + | |
3 | + | |
4 | +import com.baomidou.mybatisplus.core.mapper.BaseMapper; | |
5 | +import com.huaheng.pc.config.points.domain.Points; | |
6 | +import org.apache.ibatis.annotations.Param; | |
7 | + | |
8 | +import java.util.List; | |
9 | + | |
10 | +/** | |
11 | + * 货架 数据层 | |
12 | + * | |
13 | + * @author ricard | |
14 | + * @date 2019-12-26 | |
15 | + */ | |
16 | +public interface PointsMapper extends BaseMapper<Points> { | |
17 | + | |
18 | + //修改货架位置信息 | |
19 | + int updatePoints(Points points); | |
20 | + | |
21 | + //修改所有货架的状态为初始状态 | |
22 | + int updateAll(); | |
23 | + | |
24 | + int updateIsEmpty(@Param("list") List<String> list, @Param("isEmpty") Integer isEmpty); | |
25 | +} | |
... | ... |
src/main/java/com/huaheng/pc/config/points/service/PointsService.java
0 → 100644
1 | +package com.huaheng.pc.config.points.service; | |
2 | + | |
3 | + | |
4 | +import com.baomidou.mybatisplus.extension.service.IService; | |
5 | +import com.huaheng.framework.web.domain.AjaxResult; | |
6 | +import com.huaheng.pc.config.points.domain.Points; | |
7 | + | |
8 | +import java.util.List; | |
9 | +import java.util.Map; | |
10 | + | |
11 | +/** | |
12 | + * 货架 服务层 | |
13 | + * | |
14 | + * @author ricard | |
15 | + * @date 2019-02-26 | |
16 | + */ | |
17 | + | |
18 | +public interface PointsService extends IService<Points> { | |
19 | + | |
20 | + //修改所有货架的状态为初始状态 | |
21 | + int updateAll(); | |
22 | + | |
23 | + //检查货架是否是空货架,并修改 | |
24 | + AjaxResult detectShelf(); | |
25 | + | |
26 | +} | |
... | ... |
src/main/java/com/huaheng/pc/config/points/service/PointsServiceImpl.java
0 → 100644
1 | +package com.huaheng.pc.config.points.service; | |
2 | + | |
3 | +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | |
4 | +import com.baomidou.mybatisplus.core.toolkit.Wrappers; | |
5 | +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | |
6 | +import com.huaheng.common.constant.QuantityConstant; | |
7 | +import com.huaheng.common.utils.security.ShiroUtils; | |
8 | +import com.huaheng.framework.web.domain.AjaxResult; | |
9 | +import com.huaheng.pc.config.container.domain.Container; | |
10 | +import com.huaheng.pc.config.container.service.ContainerService; | |
11 | +import com.huaheng.pc.config.points.domain.Points; | |
12 | +import com.huaheng.pc.config.points.mapper.PointsMapper; | |
13 | +import org.apache.commons.collections.ListUtils; | |
14 | +import org.springframework.stereotype.Service; | |
15 | + | |
16 | +import javax.annotation.Resource; | |
17 | +import java.util.ArrayList; | |
18 | +import java.util.List; | |
19 | + | |
20 | + | |
21 | +/** | |
22 | + * 货架 服务层实现 | |
23 | + * | |
24 | + * @author ricard | |
25 | + * @date 2019-12-26 | |
26 | + */ | |
27 | +@Service | |
28 | +public class PointsServiceImpl extends ServiceImpl<PointsMapper,Points> implements PointsService{ | |
29 | + | |
30 | + @Resource | |
31 | + private PointsMapper pointsMapper; | |
32 | + @Resource | |
33 | + private ContainerService containerService; | |
34 | + | |
35 | + @Override | |
36 | + public int updateAll() { | |
37 | + return pointsMapper.updateAll(); | |
38 | + } | |
39 | + | |
40 | + | |
41 | + | |
42 | + @Override | |
43 | + public AjaxResult detectShelf() { | |
44 | + //查找为空的货架 | |
45 | + List<Container> containers =containerService.selectListShelf(); | |
46 | + List<String> stringList = new ArrayList<>(); | |
47 | + for(Container item : containers){ | |
48 | + stringList.add(item.getGoodsShelfNo()); | |
49 | + } | |
50 | + Integer flag = 1; | |
51 | + | |
52 | + //修改空货架状态 | |
53 | + flag = pointsMapper.updateIsEmpty(stringList, QuantityConstant.POINTS_SOME); | |
54 | + if(flag < 1){ | |
55 | + return AjaxResult.error("修改空货架状态失败"); | |
56 | + } | |
57 | + | |
58 | + | |
59 | + //查找所以货架 | |
60 | + LambdaQueryWrapper<Points> pointsLamb = Wrappers.lambdaQuery(); | |
61 | + pointsLamb.eq(Points::getWarehouseCode,ShiroUtils.getWarehouseCode()); | |
62 | + List<Points> pointsList = this.list(pointsLamb); | |
63 | + | |
64 | + //去重 | |
65 | + List<String> list =new ArrayList<>(); | |
66 | + for(Points item : pointsList){ | |
67 | + list.add(item.getGoodsShelfNo()); | |
68 | + } | |
69 | + | |
70 | + List<String> list1 = ListUtils.subtract(list,stringList); | |
71 | + | |
72 | + //修改非空货架 | |
73 | + flag = pointsMapper.updateIsEmpty(list1,QuantityConstant.POINTS_EMPTY); | |
74 | + if(flag < 1){ | |
75 | + return AjaxResult.error("修改空货架状态失败"); | |
76 | + } | |
77 | + | |
78 | + return AjaxResult.success("成功"); | |
79 | + } | |
80 | + | |
81 | +} | |
... | ... |
src/main/java/com/huaheng/pc/shipment/shippingCombination/controller/ShippingCombinationController.java
... | ... | @@ -19,6 +19,8 @@ import com.huaheng.pc.shipment.shipmentDetail.service.ShipmentDetailServiceImpl; |
19 | 19 | import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader; |
20 | 20 | import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService; |
21 | 21 | import com.huaheng.pc.shipment.shippingCombination.service.ShippingCombinationService; |
22 | +import com.huaheng.pc.task.taskHeader.domain.TaskHeader; | |
23 | +import com.huaheng.pc.task.taskHeader.service.TaskHeaderService; | |
22 | 24 | import org.apache.shiro.authz.annotation.RequiresPermissions; |
23 | 25 | import org.springframework.beans.factory.annotation.Autowired; |
24 | 26 | import org.springframework.stereotype.Controller; |
... | ... | @@ -46,6 +48,8 @@ public class ShippingCombinationController extends BaseController { |
46 | 48 | ShipmentHeaderService shipmentHeaderService; |
47 | 49 | @Autowired |
48 | 50 | ShipmentPreferenceService shipmentPreferenceService; |
51 | + @Autowired | |
52 | + TaskHeaderService taskHeaderService; | |
49 | 53 | |
50 | 54 | |
51 | 55 | /** |
... | ... |
src/main/resources/mybatis/config/AddressMapper.xml
... | ... | @@ -5,11 +5,12 @@ |
5 | 5 | <!--@mbg.generated--> |
6 | 6 | <id column="id" jdbcType="INTEGER" property="id" /> |
7 | 7 | <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" /> |
8 | + <result column="number" jdbcType="INTEGER" property="number" /> | |
8 | 9 | <result column="param" jdbcType="VARCHAR" property="param" /> |
9 | 10 | <result column="url" jdbcType="VARCHAR" property="url" /> |
10 | 11 | </resultMap> |
11 | 12 | <sql id="Base_Column_List"> |
12 | 13 | <!--@mbg.generated--> |
13 | - id, warehouseCode, param,url | |
14 | + id, warehouseCode,number, param,url | |
14 | 15 | </sql> |
15 | 16 | </mapper> |
16 | 17 | \ No newline at end of file |
... | ... |
src/main/resources/mybatis/config/ContainerMapper.xml
... | ... | @@ -78,4 +78,13 @@ |
78 | 78 | ) |
79 | 79 | </foreach> |
80 | 80 | </insert> |
81 | + | |
82 | + <select id="selectListShelf" resultType="com.huaheng.pc.config.container.domain.Container"> | |
83 | + SELECT | |
84 | + g.goodsShelfNo | |
85 | + FROM | |
86 | + ( SELECT DISTINCT ( goodsShelfNo ) goodsShelfNo, COUNT( * ) cunt FROM container WHERE `status` = 'empty' AND type = 'A' GROUP BY goodsShelfNo ) g | |
87 | + INNER JOIN ( SELECT DISTINCT ( goodsShelfNo ) goodsShelfNo, COUNT( * ) cunt FROM container WHERE type = 'A' GROUP BY goodsShelfNo ) s ON g.goodsShelfNo = s.goodsShelfNo | |
88 | + AND g.cunt = s.cunt | |
89 | + </select> | |
81 | 90 | </mapper> |
82 | 91 | \ No newline at end of file |
... | ... |
src/main/resources/mybatis/config/PointsMapper.xml
0 → 100644
1 | +<?xml version="1.0" encoding="UTF-8"?> | |
2 | +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |
3 | +<mapper namespace="com.huaheng.pc.config.points.mapper.PointsMapper"> | |
4 | + <resultMap id="BaseResultMap" type="com.huaheng.pc.config.points.domain.Points"> | |
5 | + <!--@mbg.generated--> | |
6 | + <id column="id" jdbcType="INTEGER" property="id" /> | |
7 | + <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" /> | |
8 | + <result column="companyCode" jdbcType="VARCHAR" property="companyCode" /> | |
9 | + <result column="goodsShelfNo" jdbcType="VARCHAR" property="goodsShelfNo" /> | |
10 | + <result column="intX" jdbcType="VARCHAR" property="intX" /> | |
11 | + <result column="intY" jdbcType="VARCHAR" property="intY" /> | |
12 | + <result column="oIntX" jdbcType="VARCHAR" property="oIntX" /> | |
13 | + <result column="oIntY" jdbcType="VARCHAR" property="oIntY" /> | |
14 | + <result column="num" jdbcType="INTEGER" property="num" /> | |
15 | + <result column="isEmpty" jdbcType="INTEGER" property="isEmpty" /> | |
16 | + <result column="isEnable" jdbcType="INTEGER" property="isEnable" /> | |
17 | + <result column="isLocked" jdbcType="INTEGER" property="isLocked" /> | |
18 | + </resultMap> | |
19 | + <sql id="Base_Column_List"> | |
20 | + <!--@mbg.generated--> | |
21 | + warehouseCode,companyCode,goodsShelfNo,intX,intY,oIntX,oIntY,num,isEmpty,isEnable,isLocked | |
22 | + </sql> | |
23 | + | |
24 | + | |
25 | + <update id="updatePoints"> | |
26 | + UPDATE points | |
27 | + <set> | |
28 | + <if test="isLocked != null"> | |
29 | + isLocked = #{isLocked, jdbcType=INTEGER}, | |
30 | + </if> | |
31 | + <if test="intX != null"> | |
32 | + intX = #{intX, jdbcType=VARCHAR}, | |
33 | + </if> | |
34 | + <if test="intY != null"> | |
35 | + intY = #{intY, jdbcType=VARCHAR}, | |
36 | + </if> | |
37 | + <if test="oIntX != null"> | |
38 | + oIntX = #{oIntX, jdbcType=VARCHAR}, | |
39 | + </if> | |
40 | + <if test="oIntY != null"> | |
41 | + oIntY = #{oIntY, jdbcType=VARCHAR}, | |
42 | + </if> | |
43 | + <if test="num != null"> | |
44 | + num = #{num, jdbcType=INTEGER}, | |
45 | + </if> | |
46 | + </set> | |
47 | + where goodsShelfNo=#{goodsShelfNo} and warehouseCode=#{warehouseCode} | |
48 | + </update> | |
49 | + | |
50 | + | |
51 | + | |
52 | + <update id="updateAll"> | |
53 | + update points set isLocked = 0 | |
54 | + </update> | |
55 | + | |
56 | + | |
57 | + <update id="updateIsEmpty"> | |
58 | + update points set isEmpty = #{isEmpty} | |
59 | + WHERE goodsShelfNo IN | |
60 | + <foreach collection="list" item="item" index="index" open="(" close=")" separator=","> | |
61 | + #{item} | |
62 | + </foreach> | |
63 | + | |
64 | + </update> | |
65 | +</mapper> | |
0 | 66 | \ No newline at end of file |
... | ... |
src/main/resources/static/huaheng.png
src/main/resources/templates/config/point/edit.html
0 → 100644
1 | +<!DOCTYPE HTML> | |
2 | +<html lang="zh" xmlns:th="http://www.thymeleaf.org"> | |
3 | +<meta charset="utf-8"> | |
4 | +<head th:include="include :: header"></head> | |
5 | +<body class="white-bg"> | |
6 | +<div class="wrapper wrapper-content animated fadeInRight ibox-content"> | |
7 | + <form class="form-horizontal m" id="form-zone-edit"> | |
8 | + <div class="form-group"> | |
9 | + <label class="col-sm-3 control-label">货架号:</label> | |
10 | + <div class="col-sm-8"> | |
11 | + <input id="goodsShelfNo" name="goodsShelfNo" class="form-control" type="text"> | |
12 | + </div> | |
13 | + </div> | |
14 | + <div class="form-group"> | |
15 | + <label class="col-sm-3 control-label">货主:</label> | |
16 | + <div class="col-sm-8"> | |
17 | + <select id="companyCode" name="companyCode" class="form-control" th:with="list=${@company.selectCompanyByCurrentUserId()}"> | |
18 | + <option th:each="item : ${list}" th:text="${item['name']}" th:value="${item['code']}" th:attr = " code = ${item['code']}"></option> | |
19 | + </select> | |
20 | + </div> | |
21 | + </div> | |
22 | + <div class="form-group"> | |
23 | + <div class="form-control-static col-sm-offset-9"> | |
24 | + <button type="submit" class="btn btn-primary">提交</button> | |
25 | + <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button> | |
26 | + </div> | |
27 | + </div> | |
28 | + </form> | |
29 | +</div> | |
30 | +<div th:include="include::footer"></div> | |
31 | +<script type="text/javascript"> | |
32 | + let prefix = ctx + "config/point"; | |
33 | + $("#form-zone-edit").validate({ | |
34 | + rules:{ | |
35 | + XX:{ | |
36 | + required:true, | |
37 | + }, | |
38 | + }, | |
39 | + submitHandler: function(form) { | |
40 | + let tableValue = $.common.getTableValue("#form-zone-edit"); | |
41 | + $.operate.save(prefix + "/edit", tableValue); | |
42 | + } | |
43 | + }); | |
44 | + | |
45 | + $(function () { | |
46 | + $("#goodsShelfNo").val(window.parent.goodsShelfNos); | |
47 | + $("select[name='companyCode']").change(function (e) { | |
48 | + let companyCode=$("select[name='companyCode'] option:selected").attr('code'); | |
49 | + $.ajax({ | |
50 | + url: ctx + "receipt/receiptHeader/getwarehouse", | |
51 | + type:'post', | |
52 | + data:{code:companyCode}, | |
53 | + success:function (response) { | |
54 | + if(response.code===200){ | |
55 | + $("select[name='uWarehouseCode']").children().remove(); | |
56 | + $("select[name='uWarehouseCode']").append(`<option value="">所有</option>`); | |
57 | + for (let item of response.data) { | |
58 | + let option=`<option value="${item.uWarehouseCode}">${item.uWarehouseName}</option>`; | |
59 | + $("select[name='uWarehouseCode']").append(option); | |
60 | + } | |
61 | + } | |
62 | + else {$.modal.msgError(response.msg)} | |
63 | + } | |
64 | + }) | |
65 | + }) | |
66 | + }) | |
67 | +</script> | |
68 | +</body> | |
69 | +</html> | |
... | ... |
src/main/resources/templates/config/point/point.html
0 → 100644
1 | +<!DOCTYPE HTML> | |
2 | +<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"> | |
3 | +<meta charset="utf-8"> | |
4 | +<head th:include="include :: header"></head> | |
5 | +<body class="gray-bg"> | |
6 | +<div class="container-div"> | |
7 | + <div class="row"> | |
8 | + <div class="col-sm-12 select-info"> | |
9 | + <form id="zone-form"> | |
10 | + <div class="select-list"> | |
11 | + <ul> | |
12 | + <li> | |
13 | + 货架号:<input type="text" id="goodsShelfNo" name="goodsShelfNo"/> | |
14 | + </li> | |
15 | + <li> | |
16 | + 货主:<select name="companyCode" th:with="company=${@company.getEnableCompanyList()}"> | |
17 | + <option value="">所有</option> | |
18 | + <option th:each="e : ${company}" th:text="${e['name']}" th:value="${e['code']}"></option></select> | |
19 | + </li> | |
20 | + <li> | |
21 | + <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> | |
22 | + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('zone-form')"><i class="fa fa-refresh"></i> 重置</a> | |
23 | + </li> | |
24 | + </ul> | |
25 | + </div> | |
26 | + </form> | |
27 | + </div> | |
28 | + | |
29 | + <!--<div class="btn-group hidden-xs" id="toolbar" role="group">--> | |
30 | + <!--<a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="config:zone:add">--> | |
31 | + <!--<i class="fa fa-plus"></i> 新增--> | |
32 | + <!--</a>--> | |
33 | + <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="config:zone:remove">--> | |
34 | + <!--<i class="fa fa-trash-o"></i> 删除--> | |
35 | + <!--</a>--> | |
36 | + <!--</div>--> | |
37 | + | |
38 | + <div class="col-sm-12 select-info"> | |
39 | + <a class="btn btn-outline btn-primary btn-rounded to-receive" onclick="restore()"> | |
40 | + <i class="fa fa-paper-plane"></i> 状态恢复 | |
41 | + </a> | |
42 | + <a class="btn btn-outline btn-primary btn-rounded to-receive" onclick="detectShelf()"> | |
43 | + <i class="fa fa-paper-plane"></i> 检测空货架 | |
44 | + </a> | |
45 | + <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table> | |
46 | + </div> | |
47 | + </div> | |
48 | +</div> | |
49 | +<div th:include="include :: footer"></div> | |
50 | +<script th:inline="javascript"> | |
51 | + var prefix = ctx + "config/point"; | |
52 | + var goodsShelfNos=null; | |
53 | + $(function() { | |
54 | + let options = { | |
55 | + url: prefix + "/list", | |
56 | + createUrl: prefix + "/add", | |
57 | + updateUrl: prefix + "/edit/{id}", | |
58 | + removeUrl: prefix + "/remove", | |
59 | + modalName: "货架", | |
60 | + search: false, | |
61 | + columns: [ | |
62 | + // { | |
63 | + // checkbox: true | |
64 | + // }, | |
65 | + { | |
66 | + field : 'goodsShelfNo', | |
67 | + title : '货架号', | |
68 | + sortable:true | |
69 | + }, | |
70 | + { | |
71 | + field : 'companyName', | |
72 | + title : '货主名称', | |
73 | + sortable:true | |
74 | + }, | |
75 | + { | |
76 | + field : 'isEmpty', | |
77 | + title : '是否空货架', | |
78 | + sortable:true, | |
79 | + formatter: function (value, item, index) { | |
80 | + if (value==true) { | |
81 | + return '<span class="badge" style="background-color: #00B83F;color: white;width: 36px;">' + ' 是 ' + '</span>'; | |
82 | + } | |
83 | + else if (value==false) { | |
84 | + return '<span class="badge" style="background-color: #ff0000;color: white;width: 36px;">' + ' 否 ' + '</span>'; | |
85 | + } | |
86 | + } | |
87 | + }, | |
88 | + { | |
89 | + title: '操作', | |
90 | + align: 'center', | |
91 | + formatter: function(value, row, index) { | |
92 | + let actions = []; | |
93 | + actions.push('<a class="btn btn-success btn-xs" onclick="Edit(\'' + row.id + '\' , \'' + row.goodsShelfNo + '\' )"><i class="fa fa-edit"></i>编辑</a> '); | |
94 | + return actions.join(''); | |
95 | + } | |
96 | + } | |
97 | + ] | |
98 | + }; | |
99 | + $.table.init(options); | |
100 | + }); | |
101 | + | |
102 | + function Edit(id, code) { | |
103 | + goodsShelfNos=code; | |
104 | + $.operate.edit(id) | |
105 | + } | |
106 | + | |
107 | + /* 恢复 */ | |
108 | + function restore() { | |
109 | + $.ajax({ | |
110 | + url:prefix+'/restore', | |
111 | + type:'post', | |
112 | + success:function (res) { | |
113 | + if(res.code==200){ | |
114 | + $.table.refresh(); | |
115 | + $.modal.msgSuccess(res.msg); | |
116 | + } | |
117 | + else{ | |
118 | + $.modal.msgError(res.msg); | |
119 | + } | |
120 | + } | |
121 | + }) | |
122 | + } | |
123 | + | |
124 | + | |
125 | + | |
126 | + /* 检测货架装货状态 */ | |
127 | + function detectShelf() { | |
128 | + $.ajax({ | |
129 | + url:prefix+'/detectShelf', | |
130 | + type:'post', | |
131 | + success:function (res) { | |
132 | + if(res.code==200){ | |
133 | + $.table.refresh(); | |
134 | + $.modal.msgSuccess(res.msg); | |
135 | + } | |
136 | + else{ | |
137 | + $.modal.msgError(res.msg); | |
138 | + } | |
139 | + } | |
140 | + }) | |
141 | + } | |
142 | + | |
143 | +</script> | |
144 | +</body> | |
145 | +</html> | |
0 | 146 | \ No newline at end of file |
... | ... |
src/main/resources/templates/index.html
... | ... | @@ -4,9 +4,9 @@ |
4 | 4 | <meta charset="utf-8"> |
5 | 5 | <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
6 | 6 | <meta name="renderer" content="webkit"> |
7 | - <title>政田WMS管理系统首页</title> | |
8 | - <meta name="keywords" content="政田WMS管理系统首页"> | |
9 | - <meta name="description" content="政田WMS管理系统首页"> | |
7 | + <title>华恒WMS管理系统首页</title> | |
8 | + <meta name="keywords" content="华恒WMS管理系统首页"> | |
9 | + <meta name="description" content="华恒WMS管理系统首页"> | |
10 | 10 | <!--[if lt IE 9]> |
11 | 11 | <meta http-equiv="refresh" content="0;ie.html"/> |
12 | 12 | <![endif]--> |
... | ... | @@ -31,7 +31,7 @@ |
31 | 31 | <li class="nav-header"> |
32 | 32 | <div class="dropdown profile-element"> |
33 | 33 | <span class="pull-left" style="padding-right: 10px;"> |
34 | - <img th:src="(${user.avatar} == '') ? 'img/profiles.jpg' : 'profile/' + ${user.avatar}" alt="image" class="img-circle" height="45" width="45"/> | |
34 | + <img th:src="(${user.avatar} == '') ? 'img/profile.jpg' : 'profile/' + ${user.avatar}" alt="image" class="img-circle" height="45" width="45"/> | |
35 | 35 | </span> |
36 | 36 | <a href="#" class="dropdown-toggle" data-toggle="dropdown"> |
37 | 37 | <span class="pull-left clear"> |
... | ... |
src/main/resources/templates/login.html
... | ... | @@ -4,8 +4,8 @@ |
4 | 4 | <meta charset="utf-8"> |
5 | 5 | <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> |
6 | 6 | |
7 | - <title>政田WMS仓库管理系统 - 登录</title> | |
8 | - <meta name="keywords" content="政田WMS管理系统"> | |
7 | + <title>华恒WMS仓库管理系统 - 登录</title> | |
8 | + <meta name="keywords" content="华恒WMS管理系统"> | |
9 | 9 | <meta name="description" content="huaheng"> |
10 | 10 | <link href="../static/css/bootstrap.min.css" th:href="@{css/bootstrap.min.css}" rel="stylesheet"/> |
11 | 11 | <link href="../static/css/font-awesome.css" th:href="@{css/font-awesome.css}" rel="stylesheet"/> |
... | ... | @@ -38,7 +38,7 @@ |
38 | 38 | <h1><img alt="[ 华恒 ]" src="../static/huaheng.png" th:src="@{/huaheng.png}"></h1> |
39 | 39 | </div> |
40 | 40 | <div class="m-b"></div> |
41 | - <h4>欢迎使用政田WMS仓库管理系统_v2.0</h4> | |
41 | + <h4>欢迎使用华恒WMS仓库管理系统_v2.0</h4> | |
42 | 42 | <!--<ul class="m-b">--> |
43 | 43 | <!--<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> SpringBoot</li>--> |
44 | 44 | <!--<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Mybatis</li>--> |
... | ... |
src/main/resources/templates/system/user/edit.html
... | ... | @@ -58,14 +58,14 @@ |
58 | 58 | </div> |
59 | 59 | </div> |
60 | 60 | </div> |
61 | - <div class="form-group"> | |
62 | - <label class="col-sm-3 control-label">货主:</label> | |
63 | - <div class="col-sm-8"> | |
64 | - <label th:each="company:${companys}" class="checkbox-inline i-checks"> | |
65 | - <input name="company" type="checkbox" th:value="${company.id}" th:text=" ${company.name}" th:checked="${company.flag}" > | |
66 | - </label> | |
67 | - </div> | |
68 | - </div> | |
61 | + <!--<div class="form-group">--> | |
62 | + <!--<label class="col-sm-3 control-label">货主:</label>--> | |
63 | + <!--<div class="col-sm-8">--> | |
64 | + <!--<label th:each="company:${companys}" class="checkbox-inline i-checks">--> | |
65 | + <!--<input name="company" type="checkbox" th:value="${company.id}" th:text=" ${company.name}" th:checked="${company.flag}" >--> | |
66 | + <!--</label>--> | |
67 | + <!--</div>--> | |
68 | + <!--</div>--> | |
69 | 69 | |
70 | 70 | <div class="form-group"> |
71 | 71 | <label class="col-sm-3 control-label">仓库:</label> |
... | ... |
src/main/resources/templates/system/user/profile/profile.html
... | ... | @@ -35,7 +35,7 @@ |
35 | 35 | <div class="contact-box"> |
36 | 36 | <div class="col-sm-4"> |
37 | 37 | <div class="text-center"> |
38 | - <img alt="image" class="img-circle m-t-xs img-responsive" th:src="(${user.avatar} == '') ? '../../img/profiles.jpg' : '/profile/' + ${user.avatar}"> | |
38 | + <img alt="image" class="img-circle m-t-xs img-responsive" th:src="(${user.avatar} == '') ? '../../img/profile.jpg' : '/profile/' + ${user.avatar}"> | |
39 | 39 | <div class="m-t-xs font-bold">[[${user.loginIp}]]</div> |
40 | 40 | </div> |
41 | 41 | </div> |
... | ... |