Commit c1461b6de49394ca8030ec98053d30c995ec49d0

Authored by lector
2 parents dfdc44af 30b5455c

Merge remote-tracking branch 'origin/develop' into develop

Showing 42 changed files with 285 additions and 145 deletions
src/main/java/com/huaheng/api/wcs/service/stationInfo/StationInfoServiceImpl.java
@@ -3,6 +3,7 @@ package com.huaheng.api.wcs.service.stationInfo; @@ -3,6 +3,7 @@ package com.huaheng.api.wcs.service.stationInfo;
3 3
4 import com.alibaba.fastjson.JSON; 4 import com.alibaba.fastjson.JSON;
5 import com.huaheng.api.wcs.domain.WcsTask; 5 import com.huaheng.api.wcs.domain.WcsTask;
  6 +import com.huaheng.common.constant.QuantityConstant;
6 import com.huaheng.common.exception.service.ServiceException; 7 import com.huaheng.common.exception.service.ServiceException;
7 import com.huaheng.common.utils.StringUtils; 8 import com.huaheng.common.utils.StringUtils;
8 import com.huaheng.common.utils.http.HttpUtils; 9 import com.huaheng.common.utils.http.HttpUtils;
@@ -45,8 +46,7 @@ public class StationInfoServiceImpl implements StationInfoService { @@ -45,8 +46,7 @@ public class StationInfoServiceImpl implements StationInfoService {
45 map.put("port",list); 46 map.put("port",list);
46 47
47 //3、发送数据 48 //3、发送数据
48 - String param="wcs";  
49 - String url=addressService.selectAddress(param)+"StationInfo"; 49 + String url=addressService.selectAddress(QuantityConstant.ADDRESS_WCS_STATION_INFOS);
50 String JsonParam = JSON.toJSONString(map); 50 String JsonParam = JSON.toJSONString(map);
51 String result = HttpUtils.bodypost(url, JsonParam); 51 String result = HttpUtils.bodypost(url, JsonParam);
52 if(StringUtils.isEmpty(result)){ 52 if(StringUtils.isEmpty(result)){
src/main/java/com/huaheng/api/wcs/service/taskAssignService/TaskAssignServiceImpl.java
@@ -110,7 +110,7 @@ public class TaskAssignServiceImpl implements TaskAssignService { @@ -110,7 +110,7 @@ public class TaskAssignServiceImpl implements TaskAssignService {
110 wcsTask.setWarehouseCode(ShiroUtils.getWarehouseCode()); 110 wcsTask.setWarehouseCode(ShiroUtils.getWarehouseCode());
111 wcsTask.setTaskType(taskType); 111 wcsTask.setTaskType(taskType);
112 wcsTask.setFromPort(""); 112 wcsTask.setFromPort("");
113 - wcsTask.setToPort(taskHeader.getStationCode()); 113 + wcsTask.setToPort(taskHeader.getPort());
114 wcsTask.setContainerCode(taskHeader.getContainerCode()); 114 wcsTask.setContainerCode(taskHeader.getContainerCode());
115 Location location; 115 Location location;
116 switch(wcsTask.getTaskType().intValue()) { 116 switch(wcsTask.getTaskType().intValue()) {
@@ -264,8 +264,7 @@ public class TaskAssignServiceImpl implements TaskAssignService { @@ -264,8 +264,7 @@ public class TaskAssignServiceImpl implements TaskAssignService {
264 wcsTask.setTaskDetails(taskDetails); 264 wcsTask.setTaskDetails(taskDetails);
265 265
266 //4、发送数据 266 //4、发送数据
267 - String param = "wcs";  
268 - String url = addressService.selectAddress(param)+"TaskAssign"; 267 + String url = addressService.selectAddress(QuantityConstant.ADDRESS_WCS_TASK_ASSIGN);
269 wcsTask = switchTaskTypeToWcs(wcsTask); 268 wcsTask = switchTaskTypeToWcs(wcsTask);
270 String JsonParam = JSON.toJSONString(wcsTask); 269 String JsonParam = JSON.toJSONString(wcsTask);
271 System.out.println(JsonParam); 270 System.out.println(JsonParam);
src/main/java/com/huaheng/api/wcs/service/taskCancel/TaskCancelServiceImpl.java
@@ -2,6 +2,7 @@ package com.huaheng.api.wcs.service.taskCancel; @@ -2,6 +2,7 @@ package com.huaheng.api.wcs.service.taskCancel;
2 2
3 import com.alibaba.fastjson.JSON; 3 import com.alibaba.fastjson.JSON;
4 import com.huaheng.api.wcs.domain.WcsTask; 4 import com.huaheng.api.wcs.domain.WcsTask;
  5 +import com.huaheng.common.constant.QuantityConstant;
5 import com.huaheng.common.exception.service.ServiceException; 6 import com.huaheng.common.exception.service.ServiceException;
6 import com.huaheng.common.utils.StringUtils; 7 import com.huaheng.common.utils.StringUtils;
7 import com.huaheng.common.utils.http.HttpUtils; 8 import com.huaheng.common.utils.http.HttpUtils;
@@ -35,14 +36,13 @@ public class TaskCancelServiceImpl implements TaskCancelService { @@ -35,14 +36,13 @@ public class TaskCancelServiceImpl implements TaskCancelService {
35 36
36 37
37 //2、转换实体 38 //2、转换实体
38 -// WcsTask wcsTask = new WcsTask();  
39 -// wcsTask.setTaskNo(id.toString()); 39 + WcsTask wcsTask = new WcsTask();
  40 + wcsTask.setTaskNo(id.toString());
40 41
41 //3、发送数据 42 //3、发送数据
42 - String param="wcs";  
43 - String url=addressService.selectAddress(param)+"TaskCancel";  
44 - String JsonParam = JSON.toJSONString(id.toString());  
45 - String result = HttpUtils.bodypost(url, JsonParam); 43 + String url = addressService.selectAddress(QuantityConstant.ADDRESS_WCS_TASK_CANCEL);
  44 + String jsonParam = JSON.toJSONString(wcsTask);
  45 + String result = HttpUtils.bodypost(url, jsonParam);
46 if(StringUtils.isEmpty(result)){ 46 if(StringUtils.isEmpty(result)){
47 throw new ServiceException("接口地址错误"); 47 throw new ServiceException("接口地址错误");
48 } 48 }
src/main/java/com/huaheng/api/wcs/service/taskFinish/TaskFinishServiceImpl.java
@@ -46,12 +46,14 @@ public class TaskFinishServiceImpl implements TaskFinishService { @@ -46,12 +46,14 @@ public class TaskFinishServiceImpl implements TaskFinishService {
46 46
47 } 47 }
48 48
49 - if (StringUtils.isEmpty(taskFinishDomain.getWeight())) {  
50 - return AjaxResult.error("重量为空"); 49 +
  50 + String[] weight = new String[1];
  51 + if (StringUtils.isNotEmpty(taskFinishDomain.getWeight())) {
  52 + weight = Convert.toStrArray(taskFinishDomain.getWeight());
51 } 53 }
52 //任务完成 54 //任务完成
53 try{ 55 try{
54 - ajaxResult=taskHeaderService.completeTaskByWMS(Convert.toIntArray(taskFinishDomain.getTaskNo()), Convert.toStrArray(taskFinishDomain.getWeight())); 56 + ajaxResult=taskHeaderService.completeTaskByWMS(Convert.toIntArray(taskFinishDomain.getTaskNo()), weight);
55 } catch (Exception e) { 57 } catch (Exception e) {
56 e.printStackTrace(); 58 e.printStackTrace();
57 } 59 }
src/main/java/com/huaheng/api/wcs/service/taskInfo/TaskInfoServiceImpl.java
@@ -2,6 +2,7 @@ package com.huaheng.api.wcs.service.taskInfo; @@ -2,6 +2,7 @@ package com.huaheng.api.wcs.service.taskInfo;
2 2
3 import com.alibaba.fastjson.JSON; 3 import com.alibaba.fastjson.JSON;
4 import com.huaheng.api.wcs.domain.WcsTask; 4 import com.huaheng.api.wcs.domain.WcsTask;
  5 +import com.huaheng.common.constant.QuantityConstant;
5 import com.huaheng.common.exception.service.ServiceException; 6 import com.huaheng.common.exception.service.ServiceException;
6 import com.huaheng.common.utils.StringUtils; 7 import com.huaheng.common.utils.StringUtils;
7 import com.huaheng.common.utils.http.HttpUtils; 8 import com.huaheng.common.utils.http.HttpUtils;
@@ -39,8 +40,7 @@ public class TaskInfoServiceImpl implements TaskInfoService { @@ -39,8 +40,7 @@ public class TaskInfoServiceImpl implements TaskInfoService {
39 wcsTask.setTaskNo(id.toString()); 40 wcsTask.setTaskNo(id.toString());
40 41
41 //3、发送数据 42 //3、发送数据
42 - String param="wcs";  
43 - String url=addressService.selectAddress(param)+"TaskInfo"; 43 + String url=addressService.selectAddress(QuantityConstant.ADDRESS_WCS_TASK_INFO);
44 String JsonParam = JSON.toJSONString(wcsTask); 44 String JsonParam = JSON.toJSONString(wcsTask);
45 String result = HttpUtils.bodypost(url, JsonParam); 45 String result = HttpUtils.bodypost(url, JsonParam);
46 if(StringUtils.isEmpty(result)){ 46 if(StringUtils.isEmpty(result)){
src/main/java/com/huaheng/common/constant/QuantityConstant.java
@@ -361,11 +361,24 @@ public class QuantityConstant { @@ -361,11 +361,24 @@ public class QuantityConstant {
361 public static final Integer POINTS_SOME = 1; 361 public static final Integer POINTS_SOME = 1;
362 362
363 public static final int ROW_OUT = 1; 363 public static final int ROW_OUT = 1;
364 -  
365 public static final int ROW_IN = 0; 364 public static final int ROW_IN = 0;
366 365
  366 + //WCS任务下发
  367 + public static final String ADDRESS_WCS_TASK_ASSIGN = "WCS_TASK_ASSIGN";
  368 + //WCS任务取消
  369 + public static final String ADDRESS_WCS_TASK_CANCEL = "WCS_TASK_CANCEL";
  370 + //WCS任务信息查询
  371 + public static final String ADDRESS_WCS_TASK_INFO = "WCS_TASK_INFO";
  372 + //WCS设置任务优先级
  373 + public static final String ADDRESS_WCS_TASK_PRIORITY_CHANGE = "WCS_TASK_PRIORITY_CHANGE";
  374 + //WCS站台信息查询
  375 + public static final String ADDRESS_WCS_STATION_INFOS = "WCS_STATION_INFOS";
  376 + //WCS获取可用巷道
  377 + public static final String ADDRESS_WCS_AVAILABLE_ROADWAY = "WCS_AVAILABLE_ROADWAY";
  378 +
  379 +
367 public static final String STATUS_CONTAINER_EMPTY = "empty"; 380 public static final String STATUS_CONTAINER_EMPTY = "empty";
368 - public static final String STATUS_CONTAINER_LOCK = "empty"; 381 + public static final String STATUS_CONTAINER_LOCK = "lock";
369 public static final String STATUS_CONTAINER_SOME = "some"; 382 public static final String STATUS_CONTAINER_SOME = "some";
370 383
371 public static final String STATUS_LOCATION_EMPTY = "empty"; 384 public static final String STATUS_LOCATION_EMPTY = "empty";
@@ -373,7 +386,14 @@ public class QuantityConstant { @@ -373,7 +386,14 @@ public class QuantityConstant {
373 386
374 public static final String RULE_SHIPMENT_TASK= "shipmentTaskRule"; 387 public static final String RULE_SHIPMENT_TASK= "shipmentTaskRule";
375 public static final String RULE_TASK_LOCATION = "taskLocationRule"; 388 public static final String RULE_TASK_LOCATION = "taskLocationRule";
  389 + public static final String RULE_CONNECT_WCS = "connectWcs";
376 390
377 public static final int RULE_TASK_SET_LOCATION = 1; 391 public static final int RULE_TASK_SET_LOCATION = 1;
378 public static final int RULE_TASK_NOT_LOCATION = 0; 392 public static final int RULE_TASK_NOT_LOCATION = 0;
  393 +
  394 + public static final int RULE_TASK_PICK_SHIPMENT = 1;
  395 + public static final int RULE_TASK_WHOLE_SHIPMENT = 0;
  396 +
  397 + public static final int RULE_WCS_CONNECT = 1;
  398 + public static final int RULE_WCS_DISCONNECT = 0;
379 } 399 }
src/main/java/com/huaheng/mobile/invenory/MobileInventoryController.java
@@ -104,13 +104,13 @@ public class MobileInventoryController { @@ -104,13 +104,13 @@ public class MobileInventoryController {
104 @ResponseBody 104 @ResponseBody
105 public AjaxResult createCheckOutTask(@RequestBody @ApiParam(value="库存ids") Map<String, String> param){ 105 public AjaxResult createCheckOutTask(@RequestBody @ApiParam(value="库存ids") Map<String, String> param){
106 String ids = param.get("ids"); 106 String ids = param.get("ids");
107 - String stationCode = param.get("stationCode"); 107 + String port = param.get("port");
108 Integer companyId = DataUtils.getInteger(param.get("companyId")) ; 108 Integer companyId = DataUtils.getInteger(param.get("companyId")) ;
109 String companyCode = param.get("companyCode"); 109 String companyCode = param.get("companyCode");
110 if(StringUtils.isEmpty(ids)){ 110 if(StringUtils.isEmpty(ids)){
111 return AjaxResult.error("ids不能为空"); 111 return AjaxResult.error("ids不能为空");
112 } 112 }
113 - return workTaskService.createCheckOutTaskByIds(Arrays.asList(Convert.toIntArray(ids)), stationCode); 113 + return workTaskService.createCheckOutTaskByIds(Arrays.asList(Convert.toIntArray(ids)), port);
114 } 114 }
115 115
116 @PostMapping("/transfer") 116 @PostMapping("/transfer")
src/main/java/com/huaheng/mobile/receipt/MobileBatchReceiptController.java
@@ -252,7 +252,7 @@ public class MobileBatchReceiptController { @@ -252,7 +252,7 @@ public class MobileBatchReceiptController {
252 taskQueryWrapper.eq(TaskHeader::getWarehouseCode, ShiroUtils.getWarehouseCode()) 252 taskQueryWrapper.eq(TaskHeader::getWarehouseCode, ShiroUtils.getWarehouseCode())
253 .in(TaskHeader::getTaskType, QuantityConstant.TASK_TYPE_WHOLERECEIPT, 253 .in(TaskHeader::getTaskType, QuantityConstant.TASK_TYPE_WHOLERECEIPT,
254 QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT) 254 QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT)
255 - .lt(TaskHeader::getStatus, 100) 255 + .lt(TaskHeader::getStatus, QuantityConstant.TASK_STATUS_COMPLETED)
256 .eq(TaskHeader::getContainerCode, containerCode); 256 .eq(TaskHeader::getContainerCode, containerCode);
257 TaskHeader taskHeader = taskHeaderService.getOne(taskQueryWrapper); 257 TaskHeader taskHeader = taskHeaderService.getOne(taskQueryWrapper);
258 if(taskHeader == null) { 258 if(taskHeader == null) {
src/main/java/com/huaheng/pc/config/address/controller/AddressController.java
@@ -41,11 +41,6 @@ public class AddressController extends BaseController { @@ -41,11 +41,6 @@ public class AddressController extends BaseController {
41 @Resource 41 @Resource
42 private AddressService addressService; 42 private AddressService addressService;
43 43
44 -  
45 -  
46 -  
47 -  
48 - @RequiresPermissions("config:address:view")  
49 @GetMapping() 44 @GetMapping()
50 public String address() { 45 public String address() {
51 return prefix + "/address"; 46 return prefix + "/address";
@@ -54,7 +49,6 @@ public class AddressController extends BaseController { @@ -54,7 +49,6 @@ public class AddressController extends BaseController {
54 /** 49 /**
55 * 查询接口地址 50 * 查询接口地址
56 */ 51 */
57 - @RequiresPermissions("config:address:list")  
58 @Log(title = "配置-接口地址", operating = "查看接口地址", action = BusinessType.GRANT) 52 @Log(title = "配置-接口地址", operating = "查看接口地址", action = BusinessType.GRANT)
59 @PostMapping("/list") 53 @PostMapping("/list")
60 @ResponseBody 54 @ResponseBody
@@ -89,7 +83,6 @@ public class AddressController extends BaseController { @@ -89,7 +83,6 @@ public class AddressController extends BaseController {
89 /** 83 /**
90 * 新增保存接口地址 84 * 新增保存接口地址
91 */ 85 */
92 - @RequiresPermissions("config:address:add")  
93 @Log(title = "通用-接口地址", operating = "新增接口地址", action = BusinessType.INSERT) 86 @Log(title = "通用-接口地址", operating = "新增接口地址", action = BusinessType.INSERT)
94 @PostMapping("/add") 87 @PostMapping("/add")
95 @ResponseBody 88 @ResponseBody
@@ -110,7 +103,6 @@ public class AddressController extends BaseController { @@ -110,7 +103,6 @@ public class AddressController extends BaseController {
110 /** 103 /**
111 * 修改保存接口地址 104 * 修改保存接口地址
112 */ 105 */
113 - @RequiresPermissions("config:address:edit")  
114 @Log(title = "配置-接口地址", operating = "修改接口地址", action = BusinessType.UPDATE) 106 @Log(title = "配置-接口地址", operating = "修改接口地址", action = BusinessType.UPDATE)
115 @PostMapping("/edit") 107 @PostMapping("/edit")
116 @ResponseBody 108 @ResponseBody
@@ -121,7 +113,6 @@ public class AddressController extends BaseController { @@ -121,7 +113,6 @@ public class AddressController extends BaseController {
121 /** 113 /**
122 * 删除接口地址 114 * 删除接口地址
123 */ 115 */
124 - @RequiresPermissions("config:address:remove")  
125 @Log(title = "配置-接口地址", operating = "删除接口地址", action = BusinessType.DELETE) 116 @Log(title = "配置-接口地址", operating = "删除接口地址", action = BusinessType.DELETE)
126 @PostMapping( "/remove") 117 @PostMapping( "/remove")
127 @ResponseBody 118 @ResponseBody
src/main/java/com/huaheng/pc/config/configValue/service/ConfigValueService.java
@@ -3,6 +3,7 @@ package com.huaheng.pc.config.configValue.service; @@ -3,6 +3,7 @@ package com.huaheng.pc.config.configValue.service;
3 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 3 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
4 import com.baomidou.mybatisplus.core.toolkit.Wrappers; 4 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
5 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 5 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  6 +import com.huaheng.framework.web.domain.AjaxResult;
6 import com.huaheng.pc.config.configValue.domain.ConfigValue; 7 import com.huaheng.pc.config.configValue.domain.ConfigValue;
7 import com.huaheng.pc.config.configValue.mapper.ConfigValueMapper; 8 import com.huaheng.pc.config.configValue.mapper.ConfigValueMapper;
8 import org.springframework.stereotype.Service; 9 import org.springframework.stereotype.Service;
@@ -44,4 +45,12 @@ public class ConfigValueService extends ServiceImpl&lt;ConfigValueMapper, ConfigVal @@ -44,4 +45,12 @@ public class ConfigValueService extends ServiceImpl&lt;ConfigValueMapper, ConfigVal
44 return false; 45 return false;
45 } 46 }
46 } 47 }
  48 +
  49 + public ConfigValue getConfigValueByIdentifer(String identifier , String warehouseCode) {
  50 + LambdaQueryWrapper<ConfigValue> lambdaQueryWrapper = Wrappers.lambdaQuery();
  51 + lambdaQueryWrapper.eq(ConfigValue::getWarehouseCode, warehouseCode)
  52 + .eq(ConfigValue::getIdentifier, identifier);
  53 + ConfigValue configValue = getOne(lambdaQueryWrapper);
  54 + return configValue;
  55 + }
47 } 56 }
src/main/java/com/huaheng/pc/config/location/controller/LocationController.java
@@ -222,11 +222,13 @@ public class LocationController extends BaseController { @@ -222,11 +222,13 @@ public class LocationController extends BaseController {
222 @Log(title = "通用-库位管理", operating = "批量修改库位", action = BusinessType.UPDATE) 222 @Log(title = "通用-库位管理", operating = "批量修改库位", action = BusinessType.UPDATE)
223 @PostMapping("/editBatchSave") 223 @PostMapping("/editBatchSave")
224 @ResponseBody 224 @ResponseBody
225 - public AjaxResult editBatchSave (String ids, String area) { 225 + public AjaxResult editBatchSave (String ids, String area, Integer high, String status) {
226 String[] idArray = Convert.toStrArray(ids); 226 String[] idArray = Convert.toStrArray(ids);
227 LambdaUpdateWrapper<Location> wrapper = Wrappers.lambdaUpdate(); 227 LambdaUpdateWrapper<Location> wrapper = Wrappers.lambdaUpdate();
228 wrapper.in(Location::getId, idArray) 228 wrapper.in(Location::getId, idArray)
229 - .set(Location::getArea, area); 229 + .set(Location::getArea, area)
  230 + .set(Location::getHigh, high)
  231 + .set(Location::getStatus, status);
230 return toAjax(locationService.update(wrapper)); 232 return toAjax(locationService.update(wrapper));
231 } 233 }
232 234
src/main/java/com/huaheng/pc/config/shipmentPreference/service/ShipmentPreferenceServiceImpl.java
@@ -86,7 +86,7 @@ public class ShipmentPreferenceServiceImpl extends ServiceImpl&lt;ShipmentPreferenc @@ -86,7 +86,7 @@ public class ShipmentPreferenceServiceImpl extends ServiceImpl&lt;ShipmentPreferenc
86 StatusFlowDetail statusFlowDetail = statusFlowDetailService.getOne(statusFlowDetailLamb); 86 StatusFlowDetail statusFlowDetail = statusFlowDetailService.getOne(statusFlowDetailLamb);
87 87
88 List<ShipmentHeader> shipmentHeaderList = new ArrayList<>(); 88 List<ShipmentHeader> shipmentHeaderList = new ArrayList<>();
89 - if (statusFlowDetail != null) { 89 + if (statusFlowDetail != null && statusFlowDetail.getNessary().intValue() == 1) {
90 if (StringUtils.isNotEmpty(ids)) { 90 if (StringUtils.isNotEmpty(ids)) {
91 for (Integer id : Convert.toIntArray(ids)) { 91 for (Integer id : Convert.toIntArray(ids)) {
92 //判断单据是否按出库流程操作 92 //判断单据是否按出库流程操作
src/main/java/com/huaheng/pc/inventory/inventoryHeader/controller/InventoryHeaderController.java
@@ -198,8 +198,8 @@ public class InventoryHeaderController extends BaseController @@ -198,8 +198,8 @@ public class InventoryHeaderController extends BaseController
198 @PostMapping("/emptyOut") 198 @PostMapping("/emptyOut")
199 @Log(title = "任务-任务管理", operating = "生成空托盘出库任务", action = BusinessType.INSERT) 199 @Log(title = "任务-任务管理", operating = "生成空托盘出库任务", action = BusinessType.INSERT)
200 @ResponseBody 200 @ResponseBody
201 - public AjaxResult emptyOut(String containerCode,String sourceLocation, String stationCode){  
202 - return inventoryHeaderService.createEmptyOut(containerCode, sourceLocation, stationCode); 201 + public AjaxResult emptyOut(String containerCode,String sourceLocation, String port){
  202 + return inventoryHeaderService.createEmptyOut(containerCode, sourceLocation, port);
203 } 203 }
204 204
205 /** 205 /**
@@ -217,17 +217,17 @@ public class InventoryHeaderController extends BaseController @@ -217,17 +217,17 @@ public class InventoryHeaderController extends BaseController
217 /** 217 /**
218 * 出库查看任务 218 * 出库查看任务
219 * @param ids 219 * @param ids
220 - * @param stationCode 220 + * @param port
221 * @return 221 * @return
222 */ 222 */
223 @PostMapping("/checkOut") 223 @PostMapping("/checkOut")
224 @Log(title = "任务-任务管理", operating = "出库查看任务", action = BusinessType.INSERT) 224 @Log(title = "任务-任务管理", operating = "出库查看任务", action = BusinessType.INSERT)
225 @ResponseBody 225 @ResponseBody
226 - public AjaxResult checkOut(String ids,String stationCode){  
227 - if(StringUtils.isEmpty(ids) || StringUtils.isEmpty(stationCode)){  
228 - throw new ServiceException("库存头和出库站台不能为空!"); 226 + public AjaxResult checkOut(String ids,String port){
  227 + if(StringUtils.isEmpty(ids) || StringUtils.isEmpty(port)){
  228 + throw new ServiceException("库存头和出库口不能为空!");
229 } 229 }
230 - return inventoryHeaderService.createCheckOutTask(Arrays.asList(Convert.toIntArray(ids)), stationCode); 230 + return inventoryHeaderService.createCheckOutTask(Arrays.asList(Convert.toIntArray(ids)), port);
231 } 231 }
232 232
233 /** 233 /**
@@ -250,11 +250,11 @@ public class InventoryHeaderController extends BaseController @@ -250,11 +250,11 @@ public class InventoryHeaderController extends BaseController
250 @PostMapping("/emptyCheckOut") 250 @PostMapping("/emptyCheckOut")
251 @Log(title = "任务-任务管理", operating = "生成空托盘出库查看任务", action = BusinessType.INSERT) 251 @Log(title = "任务-任务管理", operating = "生成空托盘出库查看任务", action = BusinessType.INSERT)
252 @ResponseBody 252 @ResponseBody
253 - public AjaxResult emptyCheckOut(String containerCode,String sourceLocation){ 253 + public AjaxResult emptyCheckOut(String containerCode,String sourceLocation, String stationCode){
254 if(StringUtils.isEmpty(containerCode) || StringUtils.isEmpty(sourceLocation)){ 254 if(StringUtils.isEmpty(containerCode) || StringUtils.isEmpty(sourceLocation)){
255 throw new ServiceException("容器和库位不能有空值!"); 255 throw new ServiceException("容器和库位不能有空值!");
256 } 256 }
257 - return inventoryHeaderService.createEmptyCheckOut(containerCode, sourceLocation); 257 + return inventoryHeaderService.createEmptyCheckOut(containerCode, sourceLocation, stationCode);
258 } 258 }
259 259
260 /** 260 /**
src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderService.java
@@ -13,7 +13,7 @@ public interface InventoryHeaderService extends IService&lt;InventoryHeader&gt; { @@ -13,7 +13,7 @@ public interface InventoryHeaderService extends IService&lt;InventoryHeader&gt; {
13 13
14 14
15 15
16 - AjaxResult createCheckOutTask (List<Integer> ids, String stationCode); 16 + AjaxResult createCheckOutTask (List<Integer> ids, String port);
17 17
18 AjaxResult createTransferTask(String sourceLocation, String destinationLocation); 18 AjaxResult createTransferTask(String sourceLocation, String destinationLocation);
19 19
@@ -28,10 +28,12 @@ public interface InventoryHeaderService extends IService&lt;InventoryHeader&gt; { @@ -28,10 +28,12 @@ public interface InventoryHeaderService extends IService&lt;InventoryHeader&gt; {
28 28
29 AjaxResult createEmptyOut(String containerCode, String sourceLocation); 29 AjaxResult createEmptyOut(String containerCode, String sourceLocation);
30 30
31 - AjaxResult createEmptyOut(String containerCode, String sourceLocation, String stationCode); 31 + AjaxResult createEmptyOut(String containerCode, String sourceLocation, String port);
32 32
33 AjaxResult createEmptyCheckOut(String containerCode, String location); 33 AjaxResult createEmptyCheckOut(String containerCode, String location);
34 34
  35 + AjaxResult createEmptyCheckOut(String containerCode, String location, String port);
  36 +
35 /** 37 /**
36 * 移动端获取库存详情 38 * 移动端获取库存详情
37 * @param code 物料编码 39 * @param code 物料编码
src/main/java/com/huaheng/pc/inventory/inventoryHeader/service/InventoryHeaderServiceImpl.java
@@ -69,9 +69,9 @@ public class InventoryHeaderServiceImpl extends ServiceImpl&lt;InventoryHeaderMappe @@ -69,9 +69,9 @@ public class InventoryHeaderServiceImpl extends ServiceImpl&lt;InventoryHeaderMappe
69 * 出库查看 69 * 出库查看
70 * */ 70 * */
71 @Override 71 @Override
72 - public AjaxResult createCheckOutTask(List<Integer> ids, String stationCode) { 72 + public AjaxResult createCheckOutTask(List<Integer> ids, String port) {
73 //生成出库查看任务 73 //生成出库查看任务
74 - return workTaskService.createCheckOutTaskByIds(ids, stationCode); 74 + return workTaskService.createCheckOutTaskByIds(ids, port);
75 } 75 }
76 76
77 @Override 77 @Override
@@ -112,8 +112,8 @@ public class InventoryHeaderServiceImpl extends ServiceImpl&lt;InventoryHeaderMappe @@ -112,8 +112,8 @@ public class InventoryHeaderServiceImpl extends ServiceImpl&lt;InventoryHeaderMappe
112 *空托出库 112 *空托出库
113 * */ 113 * */
114 @Override 114 @Override
115 - public AjaxResult createEmptyOut(String containerCode, String sourceLocation, String stationCode) {  
116 - return workTaskService.createEmptyOut(containerCode, sourceLocation, stationCode); 115 + public AjaxResult createEmptyOut(String containerCode, String sourceLocation, String port) {
  116 + return workTaskService.createEmptyOut(containerCode, sourceLocation, port);
117 } 117 }
118 118
119 /** 119 /**
@@ -121,7 +121,15 @@ public class InventoryHeaderServiceImpl extends ServiceImpl&lt;InventoryHeaderMappe @@ -121,7 +121,15 @@ public class InventoryHeaderServiceImpl extends ServiceImpl&lt;InventoryHeaderMappe
121 * */ 121 * */
122 @Override 122 @Override
123 public AjaxResult createEmptyCheckOut(String containerCode, String location) { 123 public AjaxResult createEmptyCheckOut(String containerCode, String location) {
124 - return workTaskService.createEmptyCheckOut(containerCode, location); 124 + return workTaskService.createEmptyCheckOut(containerCode, location, null);
  125 + }
  126 +
  127 + /**
  128 + *空托出库查看
  129 + * */
  130 + @Override
  131 + public AjaxResult createEmptyCheckOut(String containerCode, String location, String port) {
  132 + return workTaskService.createEmptyCheckOut(containerCode, location, port);
125 } 133 }
126 134
127 /** 135 /**
src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/controller/ReceiptContainerHeaderController.java
@@ -134,7 +134,7 @@ public class ReceiptContainerHeaderController extends BaseController { @@ -134,7 +134,7 @@ public class ReceiptContainerHeaderController extends BaseController {
134 List<Integer> idList = Arrays.asList(Convert.toIntArray(ids)); 134 List<Integer> idList = Arrays.asList(Convert.toIntArray(ids));
135 List<Integer> idsList = idList.stream().distinct().collect(Collectors.toList()); 135 List<Integer> idsList = idList.stream().distinct().collect(Collectors.toList());
136 AjaxResult ajaxResult = receiptTaskService.createReceiptTask(idsList); 136 AjaxResult ajaxResult = receiptTaskService.createReceiptTask(idsList);
137 - if(ajaxResult.getCode() != HttpConstant.OK) { 137 + if(ajaxResult.hasErr()) {
138 return ajaxResult; 138 return ajaxResult;
139 } 139 }
140 List<String> taskList = (List<String>)ajaxResult.getData(); 140 List<String> taskList = (List<String>)ajaxResult.getData();
src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java
@@ -8,9 +8,11 @@ import com.huaheng.common.exception.service.ServiceException; @@ -8,9 +8,11 @@ import com.huaheng.common.exception.service.ServiceException;
8 import com.huaheng.common.utils.StringUtils; 8 import com.huaheng.common.utils.StringUtils;
9 import com.huaheng.common.utils.security.ShiroUtils; 9 import com.huaheng.common.utils.security.ShiroUtils;
10 import com.huaheng.framework.web.domain.AjaxResult; 10 import com.huaheng.framework.web.domain.AjaxResult;
  11 +import com.huaheng.framework.web.service.ConfigService;
11 import com.huaheng.mobile.receipt.ReceiptBill; 12 import com.huaheng.mobile.receipt.ReceiptBill;
12 import com.huaheng.pc.config.configValue.domain.ConfigValue; 13 import com.huaheng.pc.config.configValue.domain.ConfigValue;
13 import com.huaheng.pc.config.configValue.mapper.ConfigValueMapper; 14 import com.huaheng.pc.config.configValue.mapper.ConfigValueMapper;
  15 +import com.huaheng.pc.config.configValue.service.ConfigValueService;
14 import com.huaheng.pc.config.container.domain.Container; 16 import com.huaheng.pc.config.container.domain.Container;
15 import com.huaheng.pc.config.container.service.ContainerService; 17 import com.huaheng.pc.config.container.service.ContainerService;
16 import com.huaheng.pc.config.location.domain.Location; 18 import com.huaheng.pc.config.location.domain.Location;
@@ -64,6 +66,8 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl&lt;ReceiptContai @@ -64,6 +66,8 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl&lt;ReceiptContai
64 private ReceiptPreferenceMapper receiptPreferenceMapper; 66 private ReceiptPreferenceMapper receiptPreferenceMapper;
65 @Resource 67 @Resource
66 private ConfigValueMapper configValueMapper; 68 private ConfigValueMapper configValueMapper;
  69 + @Resource
  70 + private ConfigService configService;
67 /** 71 /**
68 * 保存入库组盘 72 * 保存入库组盘
69 * @param receiptCode 入库单编码 73 * @param receiptCode 入库单编码
@@ -126,12 +130,15 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl&lt;ReceiptContai @@ -126,12 +130,15 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl&lt;ReceiptContai
126 receiptContainerHeader.setTaskType(taskType); 130 receiptContainerHeader.setTaskType(taskType);
127 if (taskType.equals(QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT)) { 131 if (taskType.equals(QuantityConstant.TASK_TYPE_SUPPLEMENTRECEIPT)) {
128 receiptContainerHeader.setFromLocation(container.getLocationCode()); 132 receiptContainerHeader.setFromLocation(container.getLocationCode());
129 -// receiptContainerHeader.setToLocation(container.getLocationCode()); 133 + String value = configService.getKey(QuantityConstant.RULE_TASK_LOCATION);
  134 + int taskLocationRule = Integer.parseInt(value);
  135 + if (taskLocationRule == QuantityConstant.RULE_TASK_SET_LOCATION) {
  136 + receiptContainerHeader.setToLocation(container.getLocationCode());
  137 + }
130 } else { 138 } else {
131 receiptContainerHeader.setToLocation(locationCode); 139 receiptContainerHeader.setToLocation(locationCode);
132 } 140 }
133 receiptContainerHeader.setProjectNo(receiptDetail.getProjectNo()); 141 receiptContainerHeader.setProjectNo(receiptDetail.getProjectNo());
134 -// receiptContainerHeader.setToLocation(locationCode);  
135 receiptContainerHeader.setCreatedBy(ShiroUtils.getLoginName()); 142 receiptContainerHeader.setCreatedBy(ShiroUtils.getLoginName());
136 receiptContainerHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); 143 receiptContainerHeader.setLastUpdatedBy(ShiroUtils.getLoginName());
137 receiptContainerHeader.setLocatingRule(locatingRule); 144 receiptContainerHeader.setLocatingRule(locatingRule);
src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/domain/ShipmentContainerHeader.java
@@ -57,11 +57,11 @@ public class ShipmentContainerHeader implements Serializable { @@ -57,11 +57,11 @@ public class ShipmentContainerHeader implements Serializable {
57 private Integer status; 57 private Integer status;
58 58
59 /** 59 /**
60 - * 出库站台 60 + * 出库
61 */ 61 */
62 - @TableField(value = "stationCode")  
63 - @ApiModelProperty(value="出库站台")  
64 - private String stationCode; 62 + @TableField(value = "port")
  63 + @ApiModelProperty(value="出库口")
  64 + private String port;
65 65
66 /** 66 /**
67 * 父 67 * 父
@@ -450,12 +450,12 @@ public class ShipmentContainerHeader implements Serializable { @@ -450,12 +450,12 @@ public class ShipmentContainerHeader implements Serializable {
450 this.status = status; 450 this.status = status;
451 } 451 }
452 452
453 - public String getStationCode() {  
454 - return stationCode; 453 + public String getPort() {
  454 + return port;
455 } 455 }
456 456
457 - public void setStationCode(String stationCode) {  
458 - this.stationCode = stationCode; 457 + public void setPort(String port) {
  458 + this.port = port;
459 } 459 }
460 460
461 /** 461 /**
src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java
@@ -211,7 +211,7 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;ShipmentCont @@ -211,7 +211,7 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl&lt;ShipmentCont
211 shipmentContainerHeader.setLocationCode(location.getCode()); 211 shipmentContainerHeader.setLocationCode(location.getCode());
212 shipmentContainerHeader.setWarehouseCode(ShiroUtils.getWarehouseCode()); 212 shipmentContainerHeader.setWarehouseCode(ShiroUtils.getWarehouseCode());
213 shipmentContainerHeader.setCompanyCode(shipmentDetail.getCompanyCode()); 213 shipmentContainerHeader.setCompanyCode(shipmentDetail.getCompanyCode());
214 - shipmentContainerHeader.setStationCode(shipmentDetail.getStationCode()); 214 + shipmentContainerHeader.setPort(shipmentDetail.getPort());
215 shipmentContainerHeader.setContainerType(container.getContainerType()); 215 shipmentContainerHeader.setContainerType(container.getContainerType());
216 shipmentContainerHeader.setStatus(QuantityConstant.SHIPMENT_CONTAINER_BUILD); 216 shipmentContainerHeader.setStatus(QuantityConstant.SHIPMENT_CONTAINER_BUILD);
217 shipmentContainerHeader.setTaskCreated(0); 217 shipmentContainerHeader.setTaskCreated(0);
src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java
@@ -188,11 +188,11 @@ public class ShipmentDetail implements Serializable { @@ -188,11 +188,11 @@ public class ShipmentDetail implements Serializable {
188 private String projectNo; 188 private String projectNo;
189 189
190 /** 190 /**
191 - * 出库站台 191 + * 出库
192 */ 192 */
193 - @TableField(value = "stationCode")  
194 - @ApiModelProperty(value="出库站台")  
195 - private String stationCode; 193 + @TableField(value = "port")
  194 + @ApiModelProperty(value="出库口")
  195 + private String port;
196 196
197 /** 197 /**
198 * 生产日期 198 * 生产日期
@@ -1016,12 +1016,12 @@ public class ShipmentDetail implements Serializable { @@ -1016,12 +1016,12 @@ public class ShipmentDetail implements Serializable {
1016 return processStamp; 1016 return processStamp;
1017 } 1017 }
1018 1018
1019 - public String getStationCode() {  
1020 - return stationCode; 1019 + public String getPort() {
  1020 + return port;
1021 } 1021 }
1022 1022
1023 - public void setStationCode(String stationCode) {  
1024 - this.stationCode = stationCode; 1023 + public void setPort(String port) {
  1024 + this.port = port;
1025 } 1025 }
1026 1026
1027 /** 1027 /**
src/main/java/com/huaheng/pc/system/config/controller/ConfigController.java
@@ -130,4 +130,6 @@ public class ConfigController extends BaseController { @@ -130,4 +130,6 @@ public class ConfigController extends BaseController {
130 return uniqueFlag; 130 return uniqueFlag;
131 } 131 }
132 132
  133 +
  134 +
133 } 135 }
src/main/java/com/huaheng/pc/task/taskHeader/controller/TaskHeaderController.java
@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
4 import com.baomidou.mybatisplus.core.metadata.IPage; 4 import com.baomidou.mybatisplus.core.metadata.IPage;
5 import com.baomidou.mybatisplus.core.toolkit.Wrappers; 5 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
6 import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 6 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  7 +import com.huaheng.api.wcs.service.taskCancel.TaskCancelService;
  8 +import com.huaheng.common.constant.QuantityConstant;
7 import com.huaheng.common.support.Convert; 9 import com.huaheng.common.support.Convert;
8 import com.huaheng.common.utils.StringUtils; 10 import com.huaheng.common.utils.StringUtils;
9 import com.huaheng.common.utils.security.ShiroUtils; 11 import com.huaheng.common.utils.security.ShiroUtils;
@@ -14,6 +16,9 @@ import com.huaheng.framework.web.domain.AjaxResult; @@ -14,6 +16,9 @@ import com.huaheng.framework.web.domain.AjaxResult;
14 import com.huaheng.framework.web.page.PageDomain; 16 import com.huaheng.framework.web.page.PageDomain;
15 import com.huaheng.framework.web.page.TableDataInfo; 17 import com.huaheng.framework.web.page.TableDataInfo;
16 import com.huaheng.framework.web.page.TableSupport; 18 import com.huaheng.framework.web.page.TableSupport;
  19 +import com.huaheng.framework.web.service.ConfigService;
  20 +import com.huaheng.pc.config.configValue.domain.ConfigValue;
  21 +import com.huaheng.pc.config.configValue.service.ConfigValueService;
17 import com.huaheng.pc.config.material.service.MaterialService; 22 import com.huaheng.pc.config.material.service.MaterialService;
18 import com.huaheng.pc.config.warehouse.domain.Warehouse; 23 import com.huaheng.pc.config.warehouse.domain.Warehouse;
19 import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail; 24 import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail;
@@ -47,6 +52,10 @@ public class TaskHeaderController extends BaseController { @@ -47,6 +52,10 @@ public class TaskHeaderController extends BaseController {
47 private TaskHeaderService taskHeaderService; 52 private TaskHeaderService taskHeaderService;
48 @Resource 53 @Resource
49 private WorkTaskService workTaskService; 54 private WorkTaskService workTaskService;
  55 + @Resource
  56 + private TaskCancelService taskCancelService;
  57 + @Resource
  58 + private ConfigService configService;
50 59
51 private String prefix = "task/taskHeader"; 60 private String prefix = "task/taskHeader";
52 61
@@ -75,8 +84,8 @@ public class TaskHeaderController extends BaseController { @@ -75,8 +84,8 @@ public class TaskHeaderController extends BaseController {
75 .eq(StringUtils.isNotEmpty(taskHeader.getToLocation()),TaskHeader::getToLocation,taskHeader.getToLocation()) 84 .eq(StringUtils.isNotEmpty(taskHeader.getToLocation()),TaskHeader::getToLocation,taskHeader.getToLocation())
76 .gt(StringUtils.isNotEmpty(createdBegin),TaskHeader::getCreated,createdBegin) 85 .gt(StringUtils.isNotEmpty(createdBegin),TaskHeader::getCreated,createdBegin)
77 .lt(StringUtils.isNotEmpty(createdEnd),TaskHeader::getCreated,createdEnd) 86 .lt(StringUtils.isNotEmpty(createdEnd),TaskHeader::getCreated,createdEnd)
78 - .orderByDesc(TaskHeader::getId)  
79 - .orderByAsc(TaskHeader::getStatus); 87 + .orderByAsc(TaskHeader::getStatus)
  88 + .orderByDesc(TaskHeader::getId);
80 89
81 PageDomain pageDomain = TableSupport.buildPageRequest(); 90 PageDomain pageDomain = TableSupport.buildPageRequest();
82 Integer pageNum = pageDomain.getPageNum(); 91 Integer pageNum = pageDomain.getPageNum();
@@ -137,6 +146,18 @@ public class TaskHeaderController extends BaseController { @@ -137,6 +146,18 @@ public class TaskHeaderController extends BaseController {
137 if (StringUtils.isEmpty(ids)) { 146 if (StringUtils.isEmpty(ids)) {
138 return AjaxResult.error("taskId不能为空"); 147 return AjaxResult.error("taskId不能为空");
139 } 148 }
  149 + String value = configService.getKey(QuantityConstant.RULE_CONNECT_WCS);
  150 + int connectWCS = Integer.parseInt(value);
  151 + if(connectWCS == QuantityConstant.RULE_WCS_CONNECT) {
  152 + Integer[] idList = Convert.toIntArray(ids);
  153 + for (int id : idList) {
  154 + AjaxResult ajaxResult = taskCancelService.TaskCance(id);
  155 + if (ajaxResult.hasErr()) {
  156 + return ajaxResult;
  157 + }
  158 + }
  159 + }
  160 +
140 return taskHeaderService.cancelTask(Convert.toIntArray(ids)); 161 return taskHeaderService.cancelTask(Convert.toIntArray(ids));
141 } 162 }
142 163
@@ -172,7 +193,7 @@ public class TaskHeaderController extends BaseController { @@ -172,7 +193,7 @@ public class TaskHeaderController extends BaseController {
172 } 193 }
173 194
174 /** 195 /**
175 - * 选择出库站台 196 + * 选择出库
176 */ 197 */
177 @GetMapping("/chooseStation/{taskId}") 198 @GetMapping("/chooseStation/{taskId}")
178 public String chooseStation(@PathVariable("taskId")String taskId, ModelMap mmap) { 199 public String chooseStation(@PathVariable("taskId")String taskId, ModelMap mmap) {
@@ -192,7 +213,7 @@ public class TaskHeaderController extends BaseController { @@ -192,7 +213,7 @@ public class TaskHeaderController extends BaseController {
192 LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery(); 213 LambdaQueryWrapper<TaskHeader> taskHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();
193 taskHeaderLambdaQueryWrapper.eq(TaskHeader::getId, taskiId); 214 taskHeaderLambdaQueryWrapper.eq(TaskHeader::getId, taskiId);
194 TaskHeader taskHeader1 = taskHeaderService.getOne(taskHeaderLambdaQueryWrapper); 215 TaskHeader taskHeader1 = taskHeaderService.getOne(taskHeaderLambdaQueryWrapper);
195 - taskHeader1.setStationCode(taskHeader.getStationCode()); 216 + taskHeader1.setPort(taskHeader.getPort());
196 taskHeaderService.update(taskHeader1, taskHeaderLambdaQueryWrapper); 217 taskHeaderService.update(taskHeader1, taskHeaderLambdaQueryWrapper);
197 return execute(String.valueOf(taskiId)); 218 return execute(String.valueOf(taskiId));
198 } 219 }
src/main/java/com/huaheng/pc/task/taskHeader/domain/TaskHeader.java
@@ -135,11 +135,11 @@ public class TaskHeader implements Serializable { @@ -135,11 +135,11 @@ public class TaskHeader implements Serializable {
135 private Integer preTaskNo; 135 private Integer preTaskNo;
136 136
137 /** 137 /**
138 - * 出库站台 138 + * 出库
139 */ 139 */
140 - @TableField(value = "stationCode")  
141 - @ApiModelProperty(value="出库站台")  
142 - private String stationCode; 140 + @TableField(value = "port")
  141 + @ApiModelProperty(value="出库口")
  142 + private String port;
143 143
144 144
145 /** 145 /**
src/main/java/com/huaheng/pc/task/taskHeader/service/ShipmentTaskService.java
@@ -8,6 +8,9 @@ import com.huaheng.common.exception.service.ServiceException; @@ -8,6 +8,9 @@ import com.huaheng.common.exception.service.ServiceException;
8 import com.huaheng.common.utils.StringUtils; 8 import com.huaheng.common.utils.StringUtils;
9 import com.huaheng.common.utils.security.ShiroUtils; 9 import com.huaheng.common.utils.security.ShiroUtils;
10 import com.huaheng.framework.web.domain.AjaxResult; 10 import com.huaheng.framework.web.domain.AjaxResult;
  11 +import com.huaheng.framework.web.service.ConfigService;
  12 +import com.huaheng.pc.config.configValue.domain.ConfigValue;
  13 +import com.huaheng.pc.config.configValue.service.ConfigValueService;
11 import com.huaheng.pc.config.container.domain.Container; 14 import com.huaheng.pc.config.container.domain.Container;
12 import com.huaheng.pc.config.container.service.ContainerService; 15 import com.huaheng.pc.config.container.service.ContainerService;
13 import com.huaheng.pc.config.location.domain.Location; 16 import com.huaheng.pc.config.location.domain.Location;
@@ -76,6 +79,8 @@ public class ShipmentTaskService { @@ -76,6 +79,8 @@ public class ShipmentTaskService {
76 private IMaterialWarningService materialWarningService; 79 private IMaterialWarningService materialWarningService;
77 @Resource 80 @Resource
78 private ShipmentPreferenceService shipmentPreferenceService; 81 private ShipmentPreferenceService shipmentPreferenceService;
  82 + @Resource
  83 + private ConfigService configService;
79 /** 84 /**
80 * 创建出库任务 85 * 创建出库任务
81 * @param shipmentTaskCreateModel 86 * @param shipmentTaskCreateModel
@@ -109,7 +114,7 @@ public class ShipmentTaskService { @@ -109,7 +114,7 @@ public class ShipmentTaskService {
109 if (StringUtils.isNull(location)) { 114 if (StringUtils.isNull(location)) {
110 return AjaxResult.error("库位禁用或不存在!"); 115 return AjaxResult.error("库位禁用或不存在!");
111 } 116 }
112 - if(location.getRowFlag() == 1) { 117 + if(location.getRowFlag() == QuantityConstant.ROW_OUT) {
113 Location location1 = locationService.getNear(location); 118 Location location1 = locationService.getNear(location);
114 if(location1 != null) { 119 if(location1 != null) {
115 String locationCode = location1.getCode(); 120 String locationCode = location1.getCode();
@@ -121,7 +126,6 @@ public class ShipmentTaskService { @@ -121,7 +126,6 @@ public class ShipmentTaskService {
121 preTaskNo = taskHeaderList.get(0).getPreTaskNo(); 126 preTaskNo = taskHeaderList.get(0).getPreTaskNo();
122 } 127 }
123 } 128 }
124 -  
125 } 129 }
126 LambdaQueryWrapper<Container> containerLambdaQueryWrapper = Wrappers.lambdaQuery(); 130 LambdaQueryWrapper<Container> containerLambdaQueryWrapper = Wrappers.lambdaQuery();
127 containerLambdaQueryWrapper.eq(Container::getCode, shipmentContainerHeader.getContainerCode()) 131 containerLambdaQueryWrapper.eq(Container::getCode, shipmentContainerHeader.getContainerCode())
@@ -140,7 +144,6 @@ public class ShipmentTaskService { @@ -140,7 +144,6 @@ public class ShipmentTaskService {
140 TaskHeader task = new TaskHeader(); 144 TaskHeader task = new TaskHeader();
141 task.setTaskType(QuantityConstant.TASK_TYPE_SORTINGSHIPMENT); 145 task.setTaskType(QuantityConstant.TASK_TYPE_SORTINGSHIPMENT);
142 task.setFromLocation(shipmentContainerHeader.getLocationCode()); 146 task.setFromLocation(shipmentContainerHeader.getLocationCode());
143 - task.setToLocation(shipmentContainerHeader.getLocationCode());  
144 //判断是否整出任务,钱柜和AGV不能整出 147 //判断是否整出任务,钱柜和AGV不能整出
145 //表示整出优先 148 //表示整出优先
146 //判断当前子货箱所有数量是否等于该托盘对应的所有库存的数量, 149 //判断当前子货箱所有数量是否等于该托盘对应的所有库存的数量,
@@ -160,14 +163,19 @@ public class ShipmentTaskService { @@ -160,14 +163,19 @@ public class ShipmentTaskService {
160 for (ShipmentContainerDetail item : shipmentContainerDetails) { 163 for (ShipmentContainerDetail item : shipmentContainerDetails) {
161 containerTotal = containerTotal.add(item.getQty()); 164 containerTotal = containerTotal.add(item.getQty());
162 } 165 }
163 - LambdaQueryWrapper<ShipmentPreference> lambdaQueryWrapper = Wrappers.lambdaQuery();  
164 - lambdaQueryWrapper.eq(ShipmentPreference::getWarehouseCode, ShiroUtils.getWarehouseCode());  
165 - ShipmentPreference shipmentPreference = shipmentPreferenceService.getOne(lambdaQueryWrapper); 166 + String value = configService.getKey(QuantityConstant.RULE_SHIPMENT_TASK);
  167 + int shipmentTaskRule = Integer.parseInt(value);
166 // 当onlyPicking为1,只允许分拣出库 168 // 当onlyPicking为1,只允许分拣出库
167 - if (inventoryTotal.compareTo(containerTotal) == 0 && (shipmentPreference.getOnlyPicking() == 0)) { 169 + if (inventoryTotal.compareTo(containerTotal) == 0 &&
  170 + (shipmentTaskRule == QuantityConstant.RULE_TASK_WHOLE_SHIPMENT)) {
168 //整盘出库 171 //整盘出库
169 task.setTaskType(QuantityConstant.TASK_TYPE_WHOLESHIPMENT); 172 task.setTaskType(QuantityConstant.TASK_TYPE_WHOLESHIPMENT);
170 - task.setToLocation(""); 173 + } else {
  174 + value = configService.getKey(QuantityConstant.RULE_TASK_LOCATION);
  175 + int taskLocationRule = Integer.parseInt(value);
  176 + if (taskLocationRule == QuantityConstant.RULE_TASK_SET_LOCATION) {
  177 + task.setToLocation(shipmentContainerHeader.getLocationCode());
  178 + }
171 } 179 }
172 180
173 181
@@ -176,7 +184,7 @@ public class ShipmentTaskService { @@ -176,7 +184,7 @@ public class ShipmentTaskService {
176 task.setWarehouseCode(shipmentContainerHeader.getWarehouseCode()); 184 task.setWarehouseCode(shipmentContainerHeader.getWarehouseCode());
177 task.setAssignedUser(ShiroUtils.getLoginName()); 185 task.setAssignedUser(ShiroUtils.getLoginName());
178 task.setConfirmedBy(ShiroUtils.getLoginName()); 186 task.setConfirmedBy(ShiroUtils.getLoginName());
179 - task.setStationCode(shipmentContainerHeader.getStationCode()); 187 + task.setPort(shipmentContainerHeader.getPort());
180 task.setStatus(QuantityConstant.TASK_STATUS_BUILD); 188 task.setStatus(QuantityConstant.TASK_STATUS_BUILD);
181 task.setContainerCode(shipmentContainerHeader.getContainerCode()); 189 task.setContainerCode(shipmentContainerHeader.getContainerCode());
182 task.setCompanyCode(shipmentContainerHeader.getCompanyCode()); 190 task.setCompanyCode(shipmentContainerHeader.getCompanyCode());
src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
@@ -11,6 +11,9 @@ import com.huaheng.common.support.Convert; @@ -11,6 +11,9 @@ import com.huaheng.common.support.Convert;
11 import com.huaheng.common.utils.StringUtils; 11 import com.huaheng.common.utils.StringUtils;
12 import com.huaheng.common.utils.security.ShiroUtils; 12 import com.huaheng.common.utils.security.ShiroUtils;
13 import com.huaheng.framework.web.domain.AjaxResult; 13 import com.huaheng.framework.web.domain.AjaxResult;
  14 +import com.huaheng.framework.web.service.ConfigService;
  15 +import com.huaheng.pc.config.configValue.domain.ConfigValue;
  16 +import com.huaheng.pc.config.configValue.service.ConfigValueService;
14 import com.huaheng.pc.config.configWarning.service.ConfigWarningService; 17 import com.huaheng.pc.config.configWarning.service.ConfigWarningService;
15 import com.huaheng.pc.config.container.domain.Container; 18 import com.huaheng.pc.config.container.domain.Container;
16 import com.huaheng.pc.config.container.service.ContainerService; 19 import com.huaheng.pc.config.container.service.ContainerService;
@@ -95,7 +98,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea @@ -95,7 +98,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
95 private TransferTaskService transferTaskService; 98 private TransferTaskService transferTaskService;
96 @Resource 99 @Resource
97 private ReceivingService receivingService; 100 private ReceivingService receivingService;
98 - 101 + @Resource
  102 + private ConfigService configService;
99 103
100 104
101 105
@@ -298,12 +302,15 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea @@ -298,12 +302,15 @@ public class TaskHeaderServiceImpl extends ServiceImpl&lt;TaskHeaderMapper, TaskHea
298 return AjaxResult.error("任务" + taskId + "已经下发,请不要重复下发,操作中止"); 302 return AjaxResult.error("任务" + taskId + "已经下发,请不要重复下发,操作中止");
299 } 303 }
300 304
301 - // 给wcs传递任务  
302 - AjaxResult ajaxResult = taskAssignService.wcsTaskAssign(task);  
303 - if(ajaxResult != null && ajaxResult.hasErr()) {  
304 - return AjaxResult.error(ajaxResult.getMsg());  
305 - }  
306 - 305 + String value = configService.getKey(QuantityConstant.RULE_CONNECT_WCS);
  306 + int connectWCS = Integer.parseInt(value);
  307 + if(connectWCS == QuantityConstant.RULE_WCS_CONNECT) {
  308 + // 给wcs传递任务
  309 + AjaxResult ajaxResult = taskAssignService.wcsTaskAssign(task);
  310 + if (ajaxResult != null && ajaxResult.hasErr()) {
  311 + return AjaxResult.error(ajaxResult.getMsg());
  312 + }
  313 + }
307 //修改任务头表 314 //修改任务头表
308 task.setId(taskId); 315 task.setId(taskId);
309 task.setStatus(QuantityConstant.TASK_STATUS_RELEASE); 316 task.setStatus(QuantityConstant.TASK_STATUS_RELEASE);
src/main/java/com/huaheng/pc/task/taskHeader/service/WorkTaskService.java
@@ -10,6 +10,7 @@ import com.huaheng.common.support.Convert; @@ -10,6 +10,7 @@ import com.huaheng.common.support.Convert;
10 import com.huaheng.common.utils.StringUtils; 10 import com.huaheng.common.utils.StringUtils;
11 import com.huaheng.common.utils.security.ShiroUtils; 11 import com.huaheng.common.utils.security.ShiroUtils;
12 import com.huaheng.framework.web.domain.AjaxResult; 12 import com.huaheng.framework.web.domain.AjaxResult;
  13 +import com.huaheng.framework.web.service.ConfigService;
13 import com.huaheng.mobile.shipment.Shipment; 14 import com.huaheng.mobile.shipment.Shipment;
14 import com.huaheng.pc.config.FilterConfigDetail.domain.FilterConfigDetail; 15 import com.huaheng.pc.config.FilterConfigDetail.domain.FilterConfigDetail;
15 import com.huaheng.pc.config.FilterConfigDetail.service.FilterConfigDetailService; 16 import com.huaheng.pc.config.FilterConfigDetail.service.FilterConfigDetailService;
@@ -54,7 +55,7 @@ public class WorkTaskService { @@ -54,7 +55,7 @@ public class WorkTaskService {
54 @Resource 55 @Resource
55 private LocationService locationService; 56 private LocationService locationService;
56 @Resource 57 @Resource
57 - private ConfigValueService configValueService; 58 + private ConfigService configService;
58 @Resource 59 @Resource
59 private ReceiptPreferenceService preferenceService; 60 private ReceiptPreferenceService preferenceService;
60 @Resource 61 @Resource
@@ -167,10 +168,11 @@ public class WorkTaskService { @@ -167,10 +168,11 @@ public class WorkTaskService {
167 * 容器编码与源库位只需要填一个 168 * 容器编码与源库位只需要填一个
168 * @param containerCode 容器编码 169 * @param containerCode 容器编码
169 * @param sourceLocation 源库位 170 * @param sourceLocation 源库位
  171 + * @param port 出库口
170 * @return 172 * @return
171 */ 173 */
172 @Transactional 174 @Transactional
173 - public AjaxResult createEmptyOut(String containerCode, String sourceLocation, String stationCode) { 175 + public AjaxResult createEmptyOut(String containerCode, String sourceLocation, String port) {
174 /* 容器编码*/ 176 /* 容器编码*/
175 String conCode = null; 177 String conCode = null;
176 /* 库位编码*/ 178 /* 库位编码*/
@@ -234,7 +236,7 @@ public class WorkTaskService { @@ -234,7 +236,7 @@ public class WorkTaskService {
234 taskHeader.setStatus(QuantityConstant.TASK_STATUS_BUILD); 236 taskHeader.setStatus(QuantityConstant.TASK_STATUS_BUILD);
235 taskHeader.setFromLocation(locationCode); 237 taskHeader.setFromLocation(locationCode);
236 taskHeader.setToLocation(""); 238 taskHeader.setToLocation("");
237 - taskHeader.setStationCode(stationCode); 239 + taskHeader.setPort(port);
238 if(taskHeaderService.save(taskHeader)){ 240 if(taskHeaderService.save(taskHeader)){
239 //锁定库位状态 241 //锁定库位状态
240 locationService.updateStatus(locationCode,QuantityConstant.STATUS_LOCATION_LOCK); 242 locationService.updateStatus(locationCode,QuantityConstant.STATUS_LOCATION_LOCK);
@@ -302,9 +304,10 @@ public class WorkTaskService { @@ -302,9 +304,10 @@ public class WorkTaskService {
302 /** 304 /**
303 * 创建出库查看任务 305 * 创建出库查看任务
304 * @param locationCodeList 库位编码列表 306 * @param locationCodeList 库位编码列表
  307 + * @param port 出库口
305 * @return 308 * @return
306 */ 309 */
307 - public AjaxResult createCheckOutTask(List<String> locationCodeList, String stationCode) { 310 + public AjaxResult createCheckOutTask(List<String> locationCodeList, String port) {
308 for (String locationCode : locationCodeList) { 311 for (String locationCode : locationCodeList) {
309 Location location = locationService.getLocationByCode(locationCode); 312 Location location = locationService.getLocationByCode(locationCode);
310 if (StringUtils.isNull(location)) { 313 if (StringUtils.isNull(location)) {
@@ -323,15 +326,13 @@ public class WorkTaskService { @@ -323,15 +326,13 @@ public class WorkTaskService {
323 taskHeader.setInternalTaskType(QuantityConstant.TASK_INTENERTYPE_WORK); 326 taskHeader.setInternalTaskType(QuantityConstant.TASK_INTENERTYPE_WORK);
324 taskHeader.setContainerCode(location.getContainerCode()); 327 taskHeader.setContainerCode(location.getContainerCode());
325 taskHeader.setFromLocation(locationCode); 328 taskHeader.setFromLocation(locationCode);
326 - LambdaQueryWrapper<ConfigValue> configLambdaQueryWrapper = Wrappers.lambdaQuery();  
327 - configLambdaQueryWrapper.eq(ConfigValue::getIdentifier, QuantityConstant.RULE_TASK_LOCATION);  
328 - ConfigValue configValue = configValueService.getOne(configLambdaQueryWrapper);  
329 - int taskLocationRule = Integer.parseInt(configValue.getValue()); 329 + String value = configService.getKey(QuantityConstant.RULE_TASK_LOCATION);
  330 + int taskLocationRule = Integer.parseInt(value);
330 if (taskLocationRule == QuantityConstant.RULE_TASK_SET_LOCATION) { 331 if (taskLocationRule == QuantityConstant.RULE_TASK_SET_LOCATION) {
331 taskHeader.setToLocation(locationCode); 332 taskHeader.setToLocation(locationCode);
332 } 333 }
333 taskHeader.setStatus(QuantityConstant.TASK_STATUS_BUILD); 334 taskHeader.setStatus(QuantityConstant.TASK_STATUS_BUILD);
334 - taskHeader.setStationCode(stationCode); 335 + taskHeader.setPort(port);
335 if (!taskHeaderService.save(taskHeader)) { 336 if (!taskHeaderService.save(taskHeader)) {
336 throw new ServiceException("创建任务失败"); 337 throw new ServiceException("创建任务失败");
337 } 338 }
@@ -375,12 +376,13 @@ public class WorkTaskService { @@ -375,12 +376,13 @@ public class WorkTaskService {
375 * 根据库存头表id生成出库查看任务 376 * 根据库存头表id生成出库查看任务
376 * @param ids 库存头id 377 * @param ids 库存头id
377 */ 378 */
378 - public AjaxResult createCheckOutTaskByIds(List<Integer> ids, String stationCode) { 379 + public AjaxResult createCheckOutTaskByIds(List<Integer> ids, String port) {
379 LambdaQueryWrapper<InventoryHeader> queryWrapper = Wrappers.lambdaQuery(); 380 LambdaQueryWrapper<InventoryHeader> queryWrapper = Wrappers.lambdaQuery();
380 queryWrapper.in(InventoryHeader::getId, ids); 381 queryWrapper.in(InventoryHeader::getId, ids);
381 List<InventoryHeader> inventoryHeaderList = inventoryHeaderService.list(queryWrapper); 382 List<InventoryHeader> inventoryHeaderList = inventoryHeaderService.list(queryWrapper);
382 - List<String> locationCodeList = inventoryHeaderList.stream().map(InventoryHeader::getLocationCode).distinct().collect(Collectors.toList());  
383 - return createCheckOutTask(locationCodeList, stationCode); 383 + List<String> locationCodeList = inventoryHeaderList.stream().map(
  384 + InventoryHeader::getLocationCode).distinct().collect(Collectors.toList());
  385 + return createCheckOutTask(locationCodeList, port);
384 } 386 }
385 387
386 /** 388 /**
@@ -411,14 +413,7 @@ public class WorkTaskService { @@ -411,14 +413,7 @@ public class WorkTaskService {
411 taskHeader.getContainerCode(), QuantityConstant.STATUS_LOCATION_EMPTY); 413 taskHeader.getContainerCode(), QuantityConstant.STATUS_LOCATION_EMPTY);
412 Container container = containerService.getContainerByCode(taskHeader.getContainerCode()); 414 Container container = containerService.getContainerByCode(taskHeader.getContainerCode());
413 container.setLocationCode(taskHeader.getToLocation()); 415 container.setLocationCode(taskHeader.getToLocation());
414 - if (StringUtils.isEmpty(container.getLocationCode())) {  
415 - container.setStatus(QuantityConstant.STATUS_CONTAINER_EMPTY);  
416 - } else {  
417 - container.setStatus(QuantityConstant.STATUS_CONTAINER_SOME);  
418 - }  
419 - if (!containerService.updateById(container)) {  
420 - throw new ServiceException("更新容器状态失败");  
421 - } 416 + container.setStatus(QuantityConstant.STATUS_CONTAINER_EMPTY);
422 417
423 LambdaQueryWrapper<InventoryHeader> lambdaQueryWrapper = Wrappers.lambdaQuery(); 418 LambdaQueryWrapper<InventoryHeader> lambdaQueryWrapper = Wrappers.lambdaQuery();
424 lambdaQueryWrapper.eq(InventoryHeader::getWarehouseCode, ShiroUtils.getWarehouseCode()) 419 lambdaQueryWrapper.eq(InventoryHeader::getWarehouseCode, ShiroUtils.getWarehouseCode())
@@ -437,9 +432,14 @@ public class WorkTaskService { @@ -437,9 +432,14 @@ public class WorkTaskService {
437 inventoryDetail.setLocationCode(taskHeader.getToLocation()); 432 inventoryDetail.setLocationCode(taskHeader.getToLocation());
438 inventoryDetailService.updateById(inventoryDetail); 433 inventoryDetailService.updateById(inventoryDetail);
439 } 434 }
  435 + container.setStatus(QuantityConstant.STATUS_CONTAINER_SOME);
440 } 436 }
441 } 437 }
442 438
  439 + if (!containerService.updateById(container)) {
  440 + throw new ServiceException("更新容器状态失败");
  441 + }
  442 +
443 if (QuantityConstant.STATUS_CONTAINER_SOME.equals(container.getStatus())) { 443 if (QuantityConstant.STATUS_CONTAINER_SOME.equals(container.getStatus())) {
444 LambdaUpdateWrapper<InventoryDetail> queryWrapper = Wrappers.lambdaUpdate(); 444 LambdaUpdateWrapper<InventoryDetail> queryWrapper = Wrappers.lambdaUpdate();
445 queryWrapper.eq(InventoryDetail::getLocationCode, taskHeader.getToLocation()) 445 queryWrapper.eq(InventoryDetail::getLocationCode, taskHeader.getToLocation())
@@ -460,7 +460,7 @@ public class WorkTaskService { @@ -460,7 +460,7 @@ public class WorkTaskService {
460 * @return 460 * @return
461 */ 461 */
462 @Transactional 462 @Transactional
463 - public AjaxResult createEmptyCheckOut(String containerCode, String sourceLocation) { 463 + public AjaxResult createEmptyCheckOut(String containerCode, String sourceLocation, String port) {
464 /* 容器编码*/ 464 /* 容器编码*/
465 String conCode = null; 465 String conCode = null;
466 /* 库位编码*/ 466 /* 库位编码*/
@@ -524,6 +524,7 @@ public class WorkTaskService { @@ -524,6 +524,7 @@ public class WorkTaskService {
524 taskHeader.setStatus(QuantityConstant.TASK_STATUS_BUILD); 524 taskHeader.setStatus(QuantityConstant.TASK_STATUS_BUILD);
525 taskHeader.setFromLocation(locationCode); 525 taskHeader.setFromLocation(locationCode);
526 taskHeader.setToLocation(locationCode); 526 taskHeader.setToLocation(locationCode);
  527 + taskHeader.setPort(port);
527 if(taskHeaderService.save(taskHeader)){ 528 if(taskHeaderService.save(taskHeader)){
528 //锁定库位状态 529 //锁定库位状态
529 locationService.updateStatus(locationCode,QuantityConstant.STATUS_LOCATION_LOCK); 530 locationService.updateStatus(locationCode,QuantityConstant.STATUS_LOCATION_LOCK);
src/main/resources/static/huaheng/index.js
@@ -319,7 +319,7 @@ $(function () { @@ -319,7 +319,7 @@ $(function () {
319 return false; 319 return false;
320 } 320 }
321 321
322 - $('.menuTabs').on('click', '.menuTab i', refreshTab); 322 + $('.menuTabs').on('click', '.menuTab i', closeTab);
323 323
324 //关闭其他选项卡 324 //关闭其他选项卡
325 function closeOtherTabs() { 325 function closeOtherTabs() {
src/main/resources/templates/config/address/add.html
@@ -6,7 +6,7 @@ @@ -6,7 +6,7 @@
6 <div class="wrapper wrapper-content animated fadeInRight ibox-content"> 6 <div class="wrapper wrapper-content animated fadeInRight ibox-content">
7 <form class="form-horizontal m" id="form-address-add"> 7 <form class="form-horizontal m" id="form-address-add">
8 <div class="form-group"> 8 <div class="form-group">
9 - <label class="col-sm-3 control-label">参数方法名:</label> 9 + <label class="col-sm-3 control-label">参数名称:</label>
10 <div class="col-sm-8"> 10 <div class="col-sm-8">
11 <input id="param" name="param" class="form-control" type="text"> 11 <input id="param" name="param" class="form-control" type="text">
12 </div> 12 </div>
src/main/resources/templates/config/address/address.html
@@ -13,7 +13,7 @@ @@ -13,7 +13,7 @@
13 仓库:<input type="text" name="warehouseCode"/> 13 仓库:<input type="text" name="warehouseCode"/>
14 </li> 14 </li>
15 <li> 15 <li>
16 - 参数方法名:<input type="text" name="param"/> 16 + 参数名称:<input type="text" name="param"/>
17 </li> 17 </li>
18 <!--<li class="time"> 18 <!--<li class="time">
19 <label>创建时间: </label> 19 <label>创建时间: </label>
@@ -30,7 +30,7 @@ @@ -30,7 +30,7 @@
30 </div> 30 </div>
31 31
32 <div class="btn-group hidden-xs" id="toolbar" role="group"> 32 <div class="btn-group hidden-xs" id="toolbar" role="group">
33 - <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="config:address:add"> 33 + <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()">
34 <i class="fa fa-plus"></i> 新增 34 <i class="fa fa-plus"></i> 新增
35 </a> 35 </a>
36 </div> 36 </div>
@@ -79,8 +79,8 @@ @@ -79,8 +79,8 @@
79 align: 'center', 79 align: 'center',
80 formatter: function(value, row, index) { 80 formatter: function(value, row, index) {
81 var actions = []; 81 var actions = [];
82 - actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\' )"><i class="fa fa-edit"></i>编辑</a> ');  
83 - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>'); 82 + actions.push('<a class="btn btn-success btn-xs ' + '" href="#" onclick="$.operate.edit(\'' + row.id + '\' )"><i class="fa fa-edit"></i>编辑</a> ');
  83 + actions.push('<a class="btn btn-danger btn-xs ' + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-trash-o"></i>删除</a>');
84 return actions.join(''); 84 return actions.join('');
85 } 85 }
86 } 86 }
src/main/resources/templates/config/address/edit.html
@@ -7,7 +7,7 @@ @@ -7,7 +7,7 @@
7 <form class="form-horizontal m" id="form-address-edit" th:object="${address}"> 7 <form class="form-horizontal m" id="form-address-edit" th:object="${address}">
8 <input id="id" name="id" th:field="*{id}" type="hidden"> 8 <input id="id" name="id" th:field="*{id}" type="hidden">
9 <div class="form-group"> 9 <div class="form-group">
10 - <label class="col-sm-3 control-label">参数方法名:</label> 10 + <label class="col-sm-3 control-label">参数名称:</label>
11 <div class="col-sm-8"> 11 <div class="col-sm-8">
12 <input id="param" name="param" th:field="*{param}" class="form-control" type="text"> 12 <input id="param" name="param" th:field="*{param}" class="form-control" type="text">
13 </div> 13 </div>
src/main/resources/templates/config/location/editBatch.html
@@ -7,7 +7,23 @@ @@ -7,7 +7,23 @@
7 <form class="form-horizontal m" id="form-location-edit"> 7 <form class="form-horizontal m" id="form-location-edit">
8 <input id="ids" name="ids" th:value="${ids}" type="hidden"> 8 <input id="ids" name="ids" th:value="${ids}" type="hidden">
9 <div class="form-group"> 9 <div class="form-group">
10 - <label class="col-sm-3 control-label">区域:</label> 10 + <label class="col-sm-3 control-label">高低位:</label>
  11 + <div class="col-sm-8">
  12 + <select id="high" name="high" class="form-control" th:with="high=${@dict.getType('high')}">
  13 + <option th:each="item : ${high}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option>
  14 + </select>
  15 + </div>
  16 + </div>
  17 + <div class="form-group">
  18 + <label class="col-sm-3 control-label">库位状态:</label>
  19 + <div class="col-sm-8">
  20 + <select id="status" name="status" class="form-control" th:with="status=${@dict.getType('locationStatus')}">
  21 + <option th:each="item : ${status}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option>
  22 + </select>
  23 + </div>
  24 + </div>
  25 + <div class="form-group">
  26 + <label class="col-sm-3 control-label">物料分区:</label>
11 <div class="col-sm-8"> 27 <div class="col-sm-8">
12 <select id="area" name="area" class="form-control" th:with="areas=${@dict.getType('material_areas')}"> 28 <select id="area" name="area" class="form-control" th:with="areas=${@dict.getType('material_areas')}">
13 <option th:each="item : ${areas}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option> 29 <option th:each="item : ${areas}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option>
@@ -33,6 +49,8 @@ @@ -33,6 +49,8 @@
33 url : prefix + "/editBatchSave", 49 url : prefix + "/editBatchSave",
34 data : { 50 data : {
35 "ids": $("input[name='ids']").val(), 51 "ids": $("input[name='ids']").val(),
  52 + "high" : $("#high option:selected").val(),
  53 + "status" : $("#status option:selected").val(),
36 "area" : $("#area option:selected").val() 54 "area" : $("#area option:selected").val()
37 }, 55 },
38 async : false, 56 async : false,
src/main/resources/templates/inventory/inventoryHeader/checkOut.html
@@ -27,9 +27,9 @@ @@ -27,9 +27,9 @@
27 </div> 27 </div>
28 </div> 28 </div>
29 <div class="form-group"> 29 <div class="form-group">
30 - <label class="col-sm-3 control-label">出库站台:</label> 30 + <label class="col-sm-3 control-label">出库:</label>
31 <div class="col-sm-8"> 31 <div class="col-sm-8">
32 - <select id="stationCode" name="stationCode" class="form-control"></select> 32 + <select id="port" name="port" class="form-control"></select>
33 </div> 33 </div>
34 </div> 34 </div>
35 <div class="form-group"> 35 <div class="form-group">
@@ -62,7 +62,7 @@ @@ -62,7 +62,7 @@
62 var ids = document.getElementById("ids").value; 62 var ids = document.getElementById("ids").value;
63 console.log("ids:" + ids); 63 console.log("ids:" + ids);
64 var data = { "ids": ids }; 64 var data = { "ids": ids };
65 - $('#stationCode').select2({ 65 + $('#port').select2({
66 ajax: { 66 ajax: {
67 url: ctx+'config/station/getStationFromInventory', 67 url: ctx+'config/station/getStationFromInventory',
68 dataType: 'json', 68 dataType: 'json',
src/main/resources/templates/inventory/inventoryHeader/emptyCheckOut.html
@@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
8 <div class="form-group"> 8 <div class="form-group">
9 <label class="col-sm-3 control-label">容器编码:</label> 9 <label class="col-sm-3 control-label">容器编码:</label>
10 <div class="col-sm-8"> 10 <div class="col-sm-8">
11 - <input id="containerCode" name="containerCode" class="form-control" type="text"> 11 + <input id="containerCode" name="containerCode" class="form-control" type="text" oninput="myFunction()" onpropertychange="myFunction()">
12 </div> 12 </div>
13 </div> 13 </div>
14 <div class="form-group"> 14 <div class="form-group">
@@ -18,6 +18,12 @@ @@ -18,6 +18,12 @@
18 </div> 18 </div>
19 </div> 19 </div>
20 <div class="form-group"> 20 <div class="form-group">
  21 + <label class="col-sm-3 control-label">出库口:</label>
  22 + <div class="col-sm-8">
  23 + <select id="port" name="port" class="form-control"></select>
  24 + </div>
  25 + </div>
  26 + <div class="form-group">
21 <div class="col-sm-offset-9" style="margin-left:62%"> 27 <div class="col-sm-offset-9" style="margin-left:62%">
22 <input type="button" class="btn-success btn" onclick="selectEmptyOut()" value="选取空容器" /> 28 <input type="button" class="btn-success btn" onclick="selectEmptyOut()" value="选取空容器" />
23 <button type="submit" class="btn btn-primary">提交</button> 29 <button type="submit" class="btn btn-primary">提交</button>
@@ -26,7 +32,8 @@ @@ -26,7 +32,8 @@
26 </div> 32 </div>
27 </form> 33 </form>
28 </div> 34 </div>
29 -<div th:include="include::footer"></div> 35 +<th:block th:include="include :: footer" />
  36 +<th:block th:include="include :: select2-js" />
30 <script type="text/javascript"> 37 <script type="text/javascript">
31 var prefix = ctx + "inventory/inventoryHeader" 38 var prefix = ctx + "inventory/inventoryHeader"
32 $("#form-task-emptyCheckOut").validate({ 39 $("#form-task-emptyCheckOut").validate({
@@ -43,9 +50,29 @@ @@ -43,9 +50,29 @@
43 } 50 }
44 }); 51 });
45 52
  53 + function myFunction() {
  54 + container = document.getElementById("containerCode").value;
  55 + console.log("container:" + container);
  56 + var data = { "containerCode": container };
  57 + $('#port').select2({
  58 + ajax: {
  59 + url: ctx+'config/station/getStation',
  60 + dataType: 'json',
  61 + type: 'post',
  62 + data: data,
  63 + success: function(data) {
  64 +
  65 + }
  66 + }
  67 + });
  68 + }
  69 +
  70 + myFunction()
  71 +
46 function selectEmptyOut() { 72 function selectEmptyOut() {
47 $.modal.open("空托盘选取",prefix+"/listEmpty",780); 73 $.modal.open("空托盘选取",prefix+"/listEmpty",780);
48 } 74 }
  75 +
49 </script> 76 </script>
50 </body> 77 </body>
51 </html> 78 </html>
src/main/resources/templates/inventory/inventoryHeader/emptyOut.html
@@ -21,9 +21,9 @@ @@ -21,9 +21,9 @@
21 </div> 21 </div>
22 </div> 22 </div>
23 <div class="form-group"> 23 <div class="form-group">
24 - <label class="col-sm-3 control-label">出库站台:</label> 24 + <label class="col-sm-3 control-label">出库:</label>
25 <div class="col-sm-8"> 25 <div class="col-sm-8">
26 - <select id="stationCode" name="stationCode" class="form-control"></select> 26 + <select id="port" name="port" class="form-control"></select>
27 </div> 27 </div>
28 </div> 28 </div>
29 <div class="form-group"> 29 <div class="form-group">
@@ -60,7 +60,7 @@ @@ -60,7 +60,7 @@
60 container = document.getElementById("containerCode").value; 60 container = document.getElementById("containerCode").value;
61 console.log("container:" + container); 61 console.log("container:" + container);
62 var data = { "containerCode": container }; 62 var data = { "containerCode": container };
63 - $('#stationCode').select2({ 63 + $('#port').select2({
64 ajax: { 64 ajax: {
65 url: ctx+'config/station/getStation', 65 url: ctx+'config/station/getStation',
66 dataType: 'json', 66 dataType: 'json',
src/main/resources/templates/inventory/inventoryHeader/inventoryHeader.html
@@ -25,6 +25,9 @@ @@ -25,6 +25,9 @@
25 <div class="select-list"> 25 <div class="select-list">
26 <ul> 26 <ul>
27 <li> 27 <li>
  28 + 库区:<input type="text" name="zoneCode"/>
  29 + </li>
  30 + <li>
28 库位编号:<input type="text" name="locationCode"/> 31 库位编号:<input type="text" name="locationCode"/>
29 </li> 32 </li>
30 <li> 33 <li>
@@ -70,6 +73,10 @@ @@ -70,6 +73,10 @@
70 shiro:hasPermission="inventory:inventoryHeader:emptyOut"> 73 shiro:hasPermission="inventory:inventoryHeader:emptyOut">
71 <i class="fa fa-level-up"></i> 空托出库 74 <i class="fa fa-level-up"></i> 空托出库
72 </a> 75 </a>
  76 + <a class="btn btn-outline btn-info btn-rounded" onclick="emptyCheckOut()"
  77 + shiro:hasPermission="inventory:inventoryHeader:seeOut">
  78 + <i class="fa fa-eye"></i> 空托出库查看
  79 + </a>
73 </div> 80 </div>
74 <div class="col-sm-12 select-info"> 81 <div class="col-sm-12 select-info">
75 <table id="bootstrap-table" data-mobile-responsive="true" 82 <table id="bootstrap-table" data-mobile-responsive="true"
@@ -117,6 +124,11 @@ @@ -117,6 +124,11 @@
117 visible: false 124 visible: false
118 }, 125 },
119 { 126 {
  127 + field: 'zoneCode',
  128 + title: ' 库区',
  129 + visible: false
  130 + },
  131 + {
120 field: 'locationCode', 132 field: 'locationCode',
121 title: '库位 ' 133 title: '库位 '
122 }, 134 },
src/main/resources/templates/shipment/shipmentContainerHeader/shipmentContainerHeader.html
@@ -147,8 +147,8 @@ @@ -147,8 +147,8 @@
147 // },sortable:true 147 // },sortable:true
148 // }, 148 // },
149 { 149 {
150 - field : 'stationCode',  
151 - title : '出库站台' 150 + field : 'port',
  151 + title : '出库口'
152 }, 152 },
153 { 153 {
154 field : 'status', 154 field : 'status',
src/main/resources/templates/shipment/shipmentDetail/add.html
@@ -46,9 +46,9 @@ @@ -46,9 +46,9 @@
46 </div> 46 </div>
47 </div> 47 </div>
48 <div class="form-group"> 48 <div class="form-group">
49 - <label class="col-sm-3 control-label">出库站台:</label> 49 + <label class="col-sm-3 control-label">出库:</label>
50 <div class="col-sm-8"> 50 <div class="col-sm-8">
51 - <select id="stationCode" name="stationCode" class="form-control"></select> 51 + <select id="port" name="port" class="form-control"></select>
52 </div> 52 </div>
53 </div> 53 </div>
54 <div class="form-group"> 54 <div class="form-group">
@@ -204,7 +204,7 @@ @@ -204,7 +204,7 @@
204 } 204 }
205 } 205 }
206 }); 206 });
207 - $('#stationCode').select2({ 207 + $('#port').select2({
208 ajax: { 208 ajax: {
209 url: ctx+'config/station/getData', 209 url: ctx+'config/station/getData',
210 dataType: 'json', 210 dataType: 'json',
src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html
@@ -523,8 +523,8 @@ @@ -523,8 +523,8 @@
523 }, 523 },
524 }, 524 },
525 { 525 {
526 - field: 'stationCode',  
527 - title: '出库站台', 526 + field: 'port',
  527 + title: '出库口',
528 }, 528 },
529 { 529 {
530 field: 'shipQty', 530 field: 'shipQty',
src/main/resources/templates/system/config/config.html
@@ -89,6 +89,10 @@ @@ -89,6 +89,10 @@
89 field: 'configValue', 89 field: 'configValue',
90 title: '参数键值' 90 title: '参数键值'
91 }, 91 },
  92 + {
  93 + field: 'remark',
  94 + title: '描述'
  95 + },
92 { 96 {
93 field: 'configType', 97 field: 'configType',
94 title: '系统内置', 98 title: '系统内置',
src/main/resources/templates/task/task/emptyOut.html
@@ -18,9 +18,9 @@ @@ -18,9 +18,9 @@
18 </div> 18 </div>
19 </div> 19 </div>
20 <div class="form-group"> 20 <div class="form-group">
21 - <label class="col-sm-3 control-label">出库站台:</label> 21 + <label class="col-sm-3 control-label">出库:</label>
22 <div class="col-sm-8"> 22 <div class="col-sm-8">
23 - <select id="stationCode" name="stationCode" class="form-control"></select> 23 + <select id="port" name="port" class="form-control"></select>
24 </div> 24 </div>
25 </div> 25 </div>
26 <div class="form-group"> 26 <div class="form-group">
@@ -49,7 +49,7 @@ @@ -49,7 +49,7 @@
49 } 49 }
50 }); 50 });
51 51
52 - $('#stationCode').select2({ 52 + $('#port').select2({
53 ajax: { 53 ajax: {
54 url: ctx+'config/station/getData', 54 url: ctx+'config/station/getData',
55 dataType: 'json', 55 dataType: 'json',
src/main/resources/templates/task/taskHeader/chooseStation.html
@@ -28,9 +28,9 @@ @@ -28,9 +28,9 @@
28 </div> 28 </div>
29 29
30 <div class="form-group"> 30 <div class="form-group">
31 - <label class="col-sm-3 control-label">出库站台:</label> 31 + <label class="col-sm-3 control-label">出库:</label>
32 <div class="col-sm-8"> 32 <div class="col-sm-8">
33 - <select id="stationCode" name="stationCode" class="form-control"></select> 33 + <select id="port" name="port" class="form-control"></select>
34 </div> 34 </div>
35 </div> 35 </div>
36 <div class="form-group"> 36 <div class="form-group">
@@ -60,7 +60,7 @@ @@ -60,7 +60,7 @@
60 var containerCode = document.getElementById("containerCode").value; 60 var containerCode = document.getElementById("containerCode").value;
61 var type = document.getElementById("type").value; 61 var type = document.getElementById("type").value;
62 var data = { "containerCode": containerCode, "type":type }; 62 var data = { "containerCode": containerCode, "type":type };
63 - $('#stationCode').select2({ 63 + $('#port').select2({
64 ajax: { 64 ajax: {
65 url: ctx+'config/station/getStationFromType', 65 url: ctx+'config/station/getStationFromType',
66 dataType: 'json', 66 dataType: 'json',
src/main/resources/templates/task/taskHeader/taskHeader.html
@@ -220,8 +220,8 @@ @@ -220,8 +220,8 @@
220 title : '重量' 220 title : '重量'
221 }, 221 },
222 { 222 {
223 - field : 'stationCode',  
224 - title : '站台' , 223 + field : 'port',
  224 + title : '出库口' ,
225 align: 'center', 225 align: 'center',
226 visible:true, 226 visible:true,
227 formatter: function(value, row, index) { 227 formatter: function(value, row, index) {