Commit 34bb33d4e3b90a5e0bac07bcaff92f9afec6dbac

Authored by 周鸿
1 parent c5717c2e

任务创建者使用出库配盘的创建者;

src/main/java/com/huaheng/framework/config/MyMetaObjectHandler.java
... ... @@ -2,6 +2,7 @@ package com.huaheng.framework.config;
2 2  
3 3 import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
4 4 import com.huaheng.common.utils.security.ShiroUtils;
  5 +import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
5 6 import lombok.extern.slf4j.Slf4j;
6 7 import org.apache.ibatis.reflection.MetaObject;
7 8 import org.springframework.stereotype.Component;
... ... @@ -13,7 +14,7 @@ import java.util.Date;
13 14 */
14 15 @Slf4j
15 16 @Component
16   -public class MyMetaObjectHandler implements MetaObjectHandler{
  17 +public class MyMetaObjectHandler implements MetaObjectHandler {
17 18 /**
18 19 * 插入元对象字段填充(用于插入时对公共字段的填充)
19 20 *
... ... @@ -23,11 +24,16 @@ public class MyMetaObjectHandler implements MetaObjectHandler{
23 24 public void insertFill(MetaObject metaObject) {
24 25 log.info("start insert fill ....");
25 26 this.setFieldValByName("created", new Date(), metaObject);
26   - if(ShiroUtils.getUserName() != null) {
27   - this.setFieldValByName("createdBy", ShiroUtils.getUserName(), metaObject);
  27 + if (ShiroUtils.getUserName() != null) {
  28 + System.out.println(metaObject.getOriginalObject() instanceof TaskHeader);
  29 + if (metaObject.getOriginalObject() instanceof TaskHeader) {
  30 +
  31 + } else {
  32 + this.setFieldValByName("createdBy", ShiroUtils.getUserName(), metaObject);
  33 + }
28 34 this.setFieldValByName("lastUpdatedBy", ShiroUtils.getUserName(), metaObject);
29   - }else{
30   - if(ShiroUtils.getUserName() != null){
  35 + } else {
  36 + if (ShiroUtils.getUserName() != null) {
31 37 this.setFieldValByName("createdBy", ShiroUtils.getLoginName(), metaObject);
32 38 this.setFieldValByName("lastUpdatedBy", ShiroUtils.getLoginName(), metaObject);
33 39 }
... ... @@ -43,10 +49,10 @@ public class MyMetaObjectHandler implements MetaObjectHandler{
43 49 @Override
44 50 public void updateFill(MetaObject metaObject) {
45 51 this.setFieldValByName("lastUpdated", new Date(), metaObject);
46   - if(ShiroUtils.getUserName() != null) {
  52 + if (ShiroUtils.getUserName() != null) {
47 53 this.setFieldValByName("lastUpdatedBy", ShiroUtils.getUserName(), metaObject);
48   - }else{
49   - if(ShiroUtils.getUserName() != null){
  54 + } else {
  55 + if (ShiroUtils.getUserName() != null) {
50 56 this.setFieldValByName("lastUpdatedBy", ShiroUtils.getLoginName(), metaObject);
51 57 }
52 58 }
... ...
src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java
... ... @@ -733,7 +733,7 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont
733 733 /* 生成任务 */
734 734 @Override
735 735 @Transactional
736   - public AjaxResult createTask(List<Integer> idList) {
  736 + public synchronized AjaxResult createTask(List<Integer> idList) {
737 737 ShipmentTaskCreateModel shipmentTask = new ShipmentTaskCreateModel();
738 738 for (Integer id : idList) {
739 739 shipmentTask.setShipmentContainerHeaderIds(id);
... ...
src/main/java/com/huaheng/pc/shipment/shippingCombination/controller/ShippingCombinationController.java
... ... @@ -225,9 +225,11 @@ public class ShippingCombinationController extends BaseController {
225 225 shipmentContainerHeader.eq(ShipmentContainerHeader::getStatus, QuantityConstant.SHIPMENT_CONTAINER_BUILD);
226 226 List<ShipmentContainerHeader> shipmentContainerHeaders = shipmentContainerHeaderService.list(shipmentContainerHeader);
227 227 for (ShipmentContainerHeader item : shipmentContainerHeaders) {
228   - ShipmentTaskCreateModel shipmentTask = new ShipmentTaskCreateModel();
229   - shipmentTask.setShipmentContainerHeaderIds(item.getId());
230   - AjaxResult ajaxResults = shipmentTaskService.createTaskFromShipmentContainers(shipmentTask);
  228 +// ShipmentTaskCreateModel shipmentTask = new ShipmentTaskCreateModel();
  229 +// shipmentTask.setShipmentContainerHeaderIds(item.getId());
  230 +// AjaxResult ajaxResults = shipmentTaskService.createTaskFromShipmentContainers(shipmentTask);
  231 + List<Integer> idList = Arrays.asList(Convert.toIntArray(item.getId().toString()));
  232 + AjaxResult ajaxResults = shipmentContainerHeaderService.createTask(idList);
231 233 if (ajaxResults.hasErr()) {
232 234 throw new ServiceException("任务生成失败:" + ajaxResults.getMsg());
233 235 }
... ...
src/main/java/com/huaheng/pc/task/taskHeader/domain/TaskHeader.java
1 1 package com.huaheng.pc.task.taskHeader.domain;
2 2  
3 3 import com.baomidou.mybatisplus.annotation.*;
  4 +import com.huaheng.common.utils.StringUtils;
  5 +import com.huaheng.common.utils.security.ShiroUtils;
4 6 import io.swagger.annotations.ApiModel;
5 7 import io.swagger.annotations.ApiModelProperty;
  8 +import lombok.Data;
  9 +
6 10 import java.io.Serializable;
7 11 import java.util.Date;
8   -import lombok.Data;
9 12  
10   -@ApiModel(value="com.huaheng.pc.task.taskHeader.TaskHeader")
  13 +@ApiModel(value = "com.huaheng.pc.task.taskHeader.TaskHeader")
11 14 @Data
12 15 @TableName(value = "task_header")
13 16 public class TaskHeader implements Serializable {
... ... @@ -15,7 +18,7 @@ public class TaskHeader implements Serializable {
15 18 * ID
16 19 */
17 20 @TableId(value = "id", type = IdType.AUTO)
18   - @ApiModelProperty(value="ID")
  21 + @ApiModelProperty(value = "ID")
19 22 private Integer id;
20 23  
21 24 @TableField(exist = false)
... ... @@ -25,42 +28,42 @@ public class TaskHeader implements Serializable {
25 28 * 仓库
26 29 */
27 30 @TableField(value = "warehouseCode")
28   - @ApiModelProperty(value="仓库")
  31 + @ApiModelProperty(value = "仓库")
29 32 private String warehouseCode;
30 33  
31 34 /**
32 35 * 货主
33 36 */
34 37 @TableField(value = "companyCode")
35   - @ApiModelProperty(value="货主")
  38 + @ApiModelProperty(value = "货主")
36 39 private String companyCode;
37 40  
38 41 /**
39 42 * 库区
40 43 */
41 44 @TableField(value = "zoneCode")
42   - @ApiModelProperty(value="库区")
  45 + @ApiModelProperty(value = "库区")
43 46 private String zoneCode;
44 47  
45 48 /**
46 49 * 库区
47 50 */
48 51 @TableField(value = "area")
49   - @ApiModelProperty(value="区域")
  52 + @ApiModelProperty(value = "区域")
50 53 private String area;
51 54  
52 55 /**
53 56 * 库区
54 57 */
55 58 @TableField(value = "materialCode")
56   - @ApiModelProperty(value="物料编码")
  59 + @ApiModelProperty(value = "物料编码")
57 60 private String materialCode;
58 61  
59 62 /**
60 63 * 任务类型
61 64 */
62 65 @TableField(value = "taskType")
63   - @ApiModelProperty(value="任务类型")
  66 + @ApiModelProperty(value = "任务类型")
64 67 private Integer taskType;
65 68  
66 69 @TableField(exist = false)
... ... @@ -69,35 +72,35 @@ public class TaskHeader implements Serializable {
69 72 * 入库或出库组盘头ID
70 73 */
71 74 @TableField(value = "allocationHeadId")
72   - @ApiModelProperty(value="入库或出库组盘头ID")
  75 + @ApiModelProperty(value = "入库或出库组盘头ID")
73 76 private Integer allocationHeadId;
74 77  
75 78 /**
76 79 * 内部类型
77 80 */
78 81 @TableField(value = "internalTaskType")
79   - @ApiModelProperty(value="内部类型")
  82 + @ApiModelProperty(value = "内部类型")
80 83 private Integer internalTaskType;
81 84  
82 85 /**
83 86 * 容器号
84 87 */
85 88 @TableField(value = "containerCode")
86   - @ApiModelProperty(value="容器号")
  89 + @ApiModelProperty(value = "容器号")
87 90 private String containerCode;
88 91  
89 92 /**
90 93 * 从货位,源库位
91 94 */
92 95 @TableField(value = "fromLocation")
93   - @ApiModelProperty(value="从货位,源库位")
  96 + @ApiModelProperty(value = "从货位,源库位")
94 97 private String fromLocation;
95 98  
96 99 /**
97 100 * 到货位,目的库位
98 101 */
99 102 @TableField(value = "toLocation")
100   - @ApiModelProperty(value="到货位,目的库位")
  103 + @ApiModelProperty(value = "到货位,目的库位")
101 104 private String toLocation;
102 105  
103 106 /**
... ... @@ -122,35 +125,35 @@ public class TaskHeader implements Serializable {
122 125 * 参考单内部号
123 126 */
124 127 @TableField(value = "referenceId")
125   - @ApiModelProperty(value="参考单内部号")
  128 + @ApiModelProperty(value = "参考单内部号")
126 129 private Integer referenceId;
127 130  
128 131 /**
129 132 * 参考单号
130 133 */
131 134 @TableField(value = "referenceCode")
132   - @ApiModelProperty(value="参考单号")
  135 + @ApiModelProperty(value = "参考单号")
133 136 private String referenceCode;
134 137  
135 138 /**
136 139 * 分配用户
137 140 */
138 141 @TableField(value = "assignedUser")
139   - @ApiModelProperty(value="分配用户")
  142 + @ApiModelProperty(value = "分配用户")
140 143 private String assignedUser;
141 144  
142 145 /**
143 146 * 确认用户
144 147 */
145 148 @TableField(value = "confirmedBy")
146   - @ApiModelProperty(value="确认用户")
  149 + @ApiModelProperty(value = "确认用户")
147 150 private String confirmedBy;
148 151  
149 152 /**
150 153 * 状态
151 154 */
152 155 @TableField(value = "status")
153   - @ApiModelProperty(value="状态")
  156 + @ApiModelProperty(value = "状态")
154 157 private Integer status;
155 158  
156 159 @TableField(exist = false)
... ... @@ -160,14 +163,14 @@ public class TaskHeader implements Serializable {
160 163 * 前置任务号
161 164 */
162 165 @TableField(value = "preTaskNo")
163   - @ApiModelProperty(value="前置任务号")
  166 + @ApiModelProperty(value = "前置任务号")
164 167 private Integer preTaskNo;
165 168  
166 169 /**
167 170 * 出库口
168 171 */
169 172 @TableField(value = "port")
170   - @ApiModelProperty(value="出库口")
  173 + @ApiModelProperty(value = "出库口")
171 174 private String port;
172 175  
173 176  
... ... @@ -175,201 +178,210 @@ public class TaskHeader implements Serializable {
175 178 * 波次号
176 179 */
177 180 @TableField(value = "waveId")
178   - @ApiModelProperty(value="波次号")
  181 + @ApiModelProperty(value = "波次号")
179 182 private Integer waveId;
180 183  
181 184 /**
182 185 * 车号
183 186 */
184 187 @TableField(value = "pickingCartCode")
185   - @ApiModelProperty(value="车号")
  188 + @ApiModelProperty(value = "车号")
186 189 private String pickingCartCode;
187 190  
188 191 /**
189 192 * 位置号
190 193 */
191 194 @TableField(value = "pickingCartPos")
192   - @ApiModelProperty(value="位置号")
  195 + @ApiModelProperty(value = "位置号")
193 196 private String pickingCartPos;
194 197  
195 198 /**
196 199 * 开始拣货时间
197 200 */
198 201 @TableField(value = "startPickDateTime")
199   - @ApiModelProperty(value="开始拣货时间")
  202 + @ApiModelProperty(value = "开始拣货时间")
200 203 private Date startPickDateTime;
201 204  
202 205 /**
203 206 * 截至拣货时间
204 207 */
205 208 @TableField(value = "endPickDateTime")
206   - @ApiModelProperty(value="截至拣货时间")
  209 + @ApiModelProperty(value = "截至拣货时间")
207 210 private Date endPickDateTime;
208 211  
209 212 /**
210 213 * 合流货位
211 214 */
212 215 @TableField(value = "rebatchLoc")
213   - @ApiModelProperty(value="合流货位")
  216 + @ApiModelProperty(value = "合流货位")
214 217 private String rebatchLoc;
215 218  
216 219 /**
217 220 * 是否完成合流
218 221 */
219 222 @TableField(value = "finishRebatch")
220   - @ApiModelProperty(value="是否完成合流")
  223 + @ApiModelProperty(value = "是否完成合流")
221 224 private Integer finishRebatch;
222 225  
223 226 /**
224 227 * 合流组唯一号
225 228 */
226 229 @TableField(value = "rebatchGroupCode")
227   - @ApiModelProperty(value="合流组唯一号")
  230 + @ApiModelProperty(value = "合流组唯一号")
228 231 private String rebatchGroupCode;
229 232  
230 233 /**
231 234 * 是否允许合流
232 235 */
233 236 @TableField(value = "allowRebatch")
234   - @ApiModelProperty(value="是否允许合流")
  237 + @ApiModelProperty(value = "是否允许合流")
235 238 private Integer allowRebatch;
236 239  
237 240 /**
238 241 * 任务处理类型
239 242 */
240 243 @TableField(value = "taskProcessType")
241   - @ApiModelProperty(value="任务处理类型")
  244 + @ApiModelProperty(value = "任务处理类型")
242 245 private String taskProcessType;
243 246  
244 247 /**
245 248 * 二次分拣工作台
246 249 */
247 250 @TableField(value = "rebinBench")
248   - @ApiModelProperty(value="二次分拣工作台")
  251 + @ApiModelProperty(value = "二次分拣工作台")
249 252 private String rebinBench;
250 253  
251 254 /**
252 255 * 二次分拣完成
253 256 */
254 257 @TableField(value = "rebined")
255   - @ApiModelProperty(value="二次分拣完成")
  258 + @ApiModelProperty(value = "二次分拣完成")
256 259 private Integer rebined;
257 260  
258 261 /**
259 262 * 二次分拣开始时间
260 263 */
261 264 @TableField(value = "startRebinDateTime")
262   - @ApiModelProperty(value="二次分拣开始时间")
  265 + @ApiModelProperty(value = "二次分拣开始时间")
263 266 private Date startRebinDateTime;
264 267  
265 268 /**
266 269 * 二次分拣结束时间
267 270 */
268 271 @TableField(value = "endRebinDateTime")
269   - @ApiModelProperty(value="二次分拣结束时间")
  272 + @ApiModelProperty(value = "二次分拣结束时间")
270 273 private Date endRebinDateTime;
271 274  
272 275 /**
273 276 * 二次分拣人
274 277 */
275 278 @TableField(value = "rebinedBy")
276   - @ApiModelProperty(value="二次分拣人")
  279 + @ApiModelProperty(value = "二次分拣人")
277 280 private String rebinedBy;
278 281  
279 282 /**
280 283 * 异常原因
281 284 */
282 285 @TableField(value = "exceptionCode")
283   - @ApiModelProperty(value="异常原因")
  286 + @ApiModelProperty(value = "异常原因")
284 287 private String exceptionCode;
285 288  
286 289 /**
287 290 * 异常处理人
288 291 */
289 292 @TableField(value = "exceptionHandledBy")
290   - @ApiModelProperty(value="异常处理人")
  293 + @ApiModelProperty(value = "异常处理人")
291 294 private String exceptionHandledBy;
292 295  
293 296 /**
294 297 * 创建时间
295 298 */
296   - @TableField(value = "created", fill = FieldFill.INSERT)
297   - @ApiModelProperty(value="创建时间")
  299 + @TableField(value = "created")
  300 + @ApiModelProperty(value = "创建时间")
298 301 private Date created;
299 302  
300 303 /**
301 304 * 创建用户
302 305 */
303   - @TableField(value = "createdBy", fill = FieldFill.INSERT)
304   - @ApiModelProperty(value="创建用户")
  306 + @TableField(value = "createdBy")
  307 + @ApiModelProperty(value = "创建用户")
305 308 private String createdBy;
306 309  
  310 + public void setCreatedBy(String createdBy) {
  311 + if (StringUtils.isEmpty(createdBy)) {
  312 + this.createdBy = ShiroUtils.getUserName();
  313 + } else {
  314 + this.createdBy = createdBy;
  315 + }
  316 +
  317 + }
  318 +
307 319 /**
308 320 * 创建时间
309 321 */
310   - @TableField(value = "lastUpdated",fill = FieldFill.INSERT_UPDATE)
311   - @ApiModelProperty(value="创建时间")
  322 + @TableField(value = "lastUpdated", fill = FieldFill.INSERT_UPDATE)
  323 + @ApiModelProperty(value = "创建时间")
312 324 private Date lastUpdated;
313 325  
314 326 /**
315 327 * 更新用户
316 328 */
317   - @TableField(value = "lastUpdatedBy",fill = FieldFill.INSERT_UPDATE)
318   - @ApiModelProperty(value="更新用户")
  329 + @TableField(value = "lastUpdatedBy", fill = FieldFill.INSERT_UPDATE)
  330 + @ApiModelProperty(value = "更新用户")
319 331 private String lastUpdatedBy;
320 332  
321 333 /**
322 334 * 数据版本
323 335 */
324 336 @TableField(value = "version")
325   - @ApiModelProperty(value="数据版本")
  337 + @ApiModelProperty(value = "数据版本")
326 338 private Integer version;
327 339  
328 340 /**
329 341 * AGV区域任务标志 =‘AGV’
330 342 */
331 343 @TableField(value = "userDef1")
332   - @ApiModelProperty(value="AGV区域任务标志 =‘AGV’")
  344 + @ApiModelProperty(value = "AGV区域任务标志 =‘AGV’")
333 345 private String userDef1;
334 346  
335 347 /**
336 348 * 自定义字段2
337 349 */
338 350 @TableField(value = "userDef2")
339   - @ApiModelProperty(value="自定义字段2")
  351 + @ApiModelProperty(value = "自定义字段2")
340 352 private String userDef2;
341 353  
342 354 /**
343 355 * 同步标志 0:需要同步 10:同步成功 20:同步失败
344 356 */
345 357 @TableField(value = "userDef3")
346   - @ApiModelProperty(value="同步标志 0:需要同步 10:同步成功 20:同步失败")
  358 + @ApiModelProperty(value = "同步标志 0:需要同步 10:同步成功 20:同步失败")
347 359 private String userDef3;
348 360  
349 361 /**
350 362 * 处理标记
351 363 */
352 364 @TableField(value = "processStamp")
353   - @ApiModelProperty(value="处理标记")
  365 + @ApiModelProperty(value = "处理标记")
354 366 private String processStamp;
355 367  
356 368 /**
357 369 * 站台
358 370 */
359 371 @TableField(value = "recvDock")
360   - @ApiModelProperty(value="站台")
  372 + @ApiModelProperty(value = "站台")
361 373 private String recvDock;
362 374  
363 375 /**
364 376 * 需要容器数量
365 377 */
366 378 @TableField(value = "containQty")
367   - @ApiModelProperty(value="需要容器数量")
  379 + @ApiModelProperty(value = "需要容器数量")
368 380 private Integer containQty;
369 381  
370 382  
371 383 @TableField(value = "priority")
372   - @ApiModelProperty(value="优先级")
  384 + @ApiModelProperty(value = "优先级")
373 385 private Integer priority;
374 386  
375 387  
... ... @@ -416,25 +428,32 @@ public class TaskHeader implements Serializable {
416 428 @TableField(value = "roadway")
417 429 private String roadway;
418 430  
419   - /** 货主id */
  431 + /**
  432 + * 货主id
  433 + */
420 434 @TableField(value = "companyId")
421 435 private Integer companyId;
422 436  
423   - /** 仓库id */
  437 + /**
  438 + * 仓库id
  439 + */
424 440 @TableField(value = "warehouseId")
425 441 private Integer warehouseId;
426 442  
427   - /** 货架 */
  443 + /**
  444 + * 货架
  445 + */
428 446 @TableField(value = "goodsShelfNo")
429 447 private String goodsShelfNo;
430 448  
431 449 @TableField(value = "clickNum")
432 450 private Integer clickNum;
433 451  
434   - public Integer getFirstStatus(){
  452 + public Integer getFirstStatus() {
435 453 return status;
436 454 }
437   - public Integer getType(){
  455 +
  456 + public Integer getType() {
438 457 return taskType;
439 458 }
440 459 }
... ...
src/main/java/com/huaheng/pc/task/taskHeader/service/ShipmentTaskService.java
... ... @@ -223,6 +223,7 @@ public class ShipmentTaskService {
223 223 task.setWarehouseCode(shipmentContainerHeader.getWarehouseCode());
224 224 task.setAssignedUser(ShiroUtils.getLoginName());
225 225 task.setConfirmedBy(ShiroUtils.getLoginName());
  226 + task.setCreatedBy(ShiroUtils.getUserName());
226 227 //东厂默认分配站台 KS0001 LK
227 228 if (location.getWarehouseCode().equals("KS0001") && location.getZoneCode().equals(QuantityConstant.ZONE_CODE_TYPE_LK)) {
228 229 Station station = stationService.getOne(
... ... @@ -298,6 +299,8 @@ public class ShipmentTaskService {
298 299 taskDetail.setStatus(QuantityConstant.TASK_STATUS_BUILD);
299 300 taskDetail.setWaveId(shipmentContainerDetail.getWaveId());
300 301 taskDetail.setInventorySts(shipmentContainerDetail.getInventorySts());
  302 +
  303 + taskDetail.setCreatedBy(shipmentContainerDetail.getCreatedBy());
301 304 if (!taskDetailService.save(taskDetail)) {
302 305 throw new ServiceException("新建任务明细失败,sql报错");
303 306 }
... ...