|
|
|
@ -71,6 +71,7 @@ public class PlaceController { |
|
|
|
|
|
|
|
/** |
|
|
|
* 用于创建库位 |
|
|
|
* |
|
|
|
* @param map |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@ -107,12 +108,11 @@ public class PlaceController { |
|
|
|
} else { |
|
|
|
insert.put("max", 0); |
|
|
|
} |
|
|
|
insert.put("state",1); |
|
|
|
insert.put("quantity",0); |
|
|
|
insert.put("flagType",1); |
|
|
|
insert.put("state", 1); |
|
|
|
insert.put("quantity", 0); |
|
|
|
insert.put("flagType", 1); |
|
|
|
success += placeService.InsertPlace(insert); |
|
|
|
} |
|
|
|
else if("list".equals(type)){ |
|
|
|
} else if ("list".equals(type)) { |
|
|
|
//获取起始、终止行
|
|
|
|
Integer place_start_x = ObjectFormatUtil.toInteger(map.get("place_start_x")); |
|
|
|
Integer place_end_x = ObjectFormatUtil.toInteger(map.get("place_end_x")); |
|
|
|
@ -134,40 +134,38 @@ public class PlaceController { |
|
|
|
for (int k = place_start_z; k <= place_end_z; k++) { |
|
|
|
// String code = String.format("%02d", i) + String.format("%02d", j) + String.format("%02d", k);
|
|
|
|
String code = String.format("%02d", i) + String.format("%02d", k); |
|
|
|
insert.put("x",i); |
|
|
|
insert.put("x", i); |
|
|
|
// insert.put("y",j);
|
|
|
|
insert.put("z",k); |
|
|
|
insert.put("code",code); |
|
|
|
insert.put("z", k); |
|
|
|
insert.put("code", code); |
|
|
|
String kingdeeCode = depositoryCode.substring(depositoryCode.length() - 2) + code; |
|
|
|
insert.put("did", map.get("depositoryId")); |
|
|
|
insert.put("kingdeecode", kingdeeCode); |
|
|
|
insert.put("min",min); |
|
|
|
insert.put("max",max); |
|
|
|
insert.put("state",1); |
|
|
|
insert.put("quantity",0); |
|
|
|
insert.put("flagType",1); |
|
|
|
insert.put("min", min); |
|
|
|
insert.put("max", max); |
|
|
|
insert.put("state", 1); |
|
|
|
insert.put("quantity", 0); |
|
|
|
insert.put("flagType", 1); |
|
|
|
success += placeService.InsertPlace(insert); |
|
|
|
} |
|
|
|
// }
|
|
|
|
} |
|
|
|
} |
|
|
|
else{ |
|
|
|
} else { |
|
|
|
throw new MyException("所需请求参数缺失!"); |
|
|
|
} |
|
|
|
|
|
|
|
if ("one".equals(type)) { |
|
|
|
return CrudUtil.insertHandle(success, 1); |
|
|
|
} else if("list".equals(type)){ |
|
|
|
return CrudUtil.insertHandle(success,total); |
|
|
|
}else{ |
|
|
|
} else if ("list".equals(type)) { |
|
|
|
return CrudUtil.insertHandle(success, total); |
|
|
|
} else { |
|
|
|
throw new MyException("请求参数错误!"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@PostMapping("/addTray") |
|
|
|
public RestResponse addTray(@RequestBody Map<String,Object> map){ |
|
|
|
public RestResponse addTray(@RequestBody Map<String, Object> map) { |
|
|
|
String type = (String) map.get("type"); |
|
|
|
Map<String, Object> insert = new HashMap<>(); |
|
|
|
Integer success = 0; |
|
|
|
@ -180,7 +178,12 @@ public class PlaceController { |
|
|
|
insert.put("min", 0); |
|
|
|
} |
|
|
|
if (!"".equals(max)) { |
|
|
|
Double maxQuantity = ObjectFormatUtil.toDouble(max); |
|
|
|
if (maxQuantity >= 999999999) { |
|
|
|
insert.put("max", 999999999); |
|
|
|
} else { |
|
|
|
insert.put("max", map.get("max")); |
|
|
|
} |
|
|
|
} else { |
|
|
|
insert.put("max", 0); |
|
|
|
} |
|
|
|
@ -189,46 +192,48 @@ public class PlaceController { |
|
|
|
// 获取当前仓库的托盘数量
|
|
|
|
Integer countForTray = placeService.findPlaceCoutnByTypeForFlag(2, ObjectFormatUtil.toInteger(depositoryId)); |
|
|
|
if ("one".equals(type)) { |
|
|
|
String code = "F"+String.format("%02d",countForTray+1); |
|
|
|
String code = "F" + String.format("%02d", countForTray + 1); |
|
|
|
insert.put("code", code); |
|
|
|
insert.put("state",1); |
|
|
|
insert.put("quantity",0); |
|
|
|
insert.put("flagType",2); |
|
|
|
insert.put("state", 1); |
|
|
|
insert.put("quantity", 0); |
|
|
|
insert.put("flagType", 2); |
|
|
|
success += placeService.InsertPlace(insert); |
|
|
|
}else if("list".equals(type)){ |
|
|
|
} else if ("list".equals(type)) { |
|
|
|
Integer num = ObjectFormatUtil.toInteger(map.get("num")); |
|
|
|
insert.put("state",1); |
|
|
|
insert.put("quantity",0); |
|
|
|
insert.put("flagType",2); |
|
|
|
insert.put("state", 1); |
|
|
|
insert.put("quantity", 0); |
|
|
|
insert.put("flagType", 2); |
|
|
|
total = num; |
|
|
|
for (int i = 1; i <= num; i++) { |
|
|
|
String code = "F"+String.format("%02d",countForTray+i); |
|
|
|
String code = "F" + String.format("%02d", countForTray + i); |
|
|
|
insert.put("code", code); |
|
|
|
success += placeService.InsertPlace(insert); |
|
|
|
} |
|
|
|
} |
|
|
|
if ("one".equals(type)) { |
|
|
|
return CrudUtil.insertHandle(success, 1); |
|
|
|
} else if("list".equals(type)){ |
|
|
|
return CrudUtil.insertHandle(success,total); |
|
|
|
}else{ |
|
|
|
} else if ("list".equals(type)) { |
|
|
|
return CrudUtil.insertHandle(success, total); |
|
|
|
} else { |
|
|
|
throw new MyException("请求参数错误!"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 将库位状态改为删除 |
|
|
|
* |
|
|
|
* @param map |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@PostMapping("/deletePlace") |
|
|
|
public RestResponse deletePlace(@RequestBody Map<String,Object> map){ |
|
|
|
if (map.containsKey("id")){ |
|
|
|
Integer id= ObjectFormatUtil.toInteger(map.get("id")); |
|
|
|
return CrudUtil.deleteHandle(placeService.changeStateToDeletedById(id),1); |
|
|
|
}else if (map.containsKey("ids")){ |
|
|
|
List<Integer> ids=(List<Integer>) map.get("ids"); |
|
|
|
return CrudUtil.deleteHandle(placeService.changeStateToDeletedByIds(ids),ids.size()); |
|
|
|
}else { |
|
|
|
public RestResponse deletePlace(@RequestBody Map<String, Object> map) { |
|
|
|
if (map.containsKey("id")) { |
|
|
|
Integer id = ObjectFormatUtil.toInteger(map.get("id")); |
|
|
|
return CrudUtil.deleteHandle(placeService.changeStateToDeletedById(id), 1); |
|
|
|
} else if (map.containsKey("ids")) { |
|
|
|
List<Integer> ids = (List<Integer>) map.get("ids"); |
|
|
|
return CrudUtil.deleteHandle(placeService.changeStateToDeletedByIds(ids), ids.size()); |
|
|
|
} else { |
|
|
|
throw new MyException("所需请求参数缺失!"); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -237,11 +242,11 @@ public class PlaceController { |
|
|
|
* 修改库位信息 |
|
|
|
*/ |
|
|
|
@PostMapping("/place_edit") |
|
|
|
public RestResponse placeEdit(@RequestBody Map<String,Object> map){ |
|
|
|
if(map.containsKey("state")){ |
|
|
|
map.put("state",1); |
|
|
|
}else{ |
|
|
|
map.put("state",2); |
|
|
|
public RestResponse placeEdit(@RequestBody Map<String, Object> map) { |
|
|
|
if (map.containsKey("state")) { |
|
|
|
map.put("state", 1); |
|
|
|
} else { |
|
|
|
map.put("state", 2); |
|
|
|
} |
|
|
|
Object id = map.get("id"); |
|
|
|
// 获取当前修改的库位
|
|
|
|
@ -251,22 +256,22 @@ public class PlaceController { |
|
|
|
// Integer place_y = ObjectFormatUtil.toInteger(map.get("place_y"));
|
|
|
|
Integer place_z = ObjectFormatUtil.toInteger(map.get("place_z")); |
|
|
|
String newCode = ""; |
|
|
|
if(Integer.compare(placeById.getX(),place_x) != 0 || Integer.compare(placeById.getZ(),place_z) != 0){ |
|
|
|
if (Integer.compare(placeById.getX(), place_x) != 0 || Integer.compare(placeById.getZ(), place_z) != 0) { |
|
|
|
// 如果更改了行层
|
|
|
|
// String code = String.format("%02d", place_x) + String.format("%02d", place_y) + String.format("%02d", place_z);
|
|
|
|
newCode = String.format("%02d", place_x) + String.format("%02d", place_z); |
|
|
|
}else{ |
|
|
|
newCode = (String)map.get("code"); |
|
|
|
} else { |
|
|
|
newCode = (String) map.get("code"); |
|
|
|
} |
|
|
|
String oldCode = placeById.getCode(); |
|
|
|
if(!newCode.equals(oldCode)){ |
|
|
|
if (!newCode.equals(oldCode)) { |
|
|
|
// 如果编码发生改变
|
|
|
|
|
|
|
|
// 获取当前修改后的库位编码是否存在
|
|
|
|
Place placeByDidAndCode = placeService.findPlaceByDidAndCode(placeById.getDid(), newCode); |
|
|
|
if(placeByDidAndCode != null){ |
|
|
|
if (placeByDidAndCode != null) { |
|
|
|
// 如果存在
|
|
|
|
return new RestResponse("",12345,new StatusInfo("修改失败","该编码或位置已经存在")); |
|
|
|
return new RestResponse("", 12345, new StatusInfo("修改失败", "该编码或位置已经存在")); |
|
|
|
} |
|
|
|
} |
|
|
|
String min = (String) map.get("min"); |
|
|
|
@ -275,7 +280,7 @@ public class PlaceController { |
|
|
|
// update.put("y", place_y);
|
|
|
|
update.put("z", place_z); |
|
|
|
update.put("code", newCode); |
|
|
|
update.put("kingdeecode",placeById.getKingdeecode().substring(0,2) + newCode); |
|
|
|
update.put("kingdeecode", placeById.getKingdeecode().substring(0, 2) + newCode); |
|
|
|
update.put("oldCode", oldCode); |
|
|
|
update.put("did", map.get("did")); |
|
|
|
if (!"".equals(min)) { |
|
|
|
@ -284,26 +289,31 @@ public class PlaceController { |
|
|
|
update.put("min", 0); |
|
|
|
} |
|
|
|
if (!"".equals(max)) { |
|
|
|
Double maxQuantity = ObjectFormatUtil.toDouble(max); |
|
|
|
if (maxQuantity >= 999999999) { |
|
|
|
update.put("max", 999999999); |
|
|
|
} else { |
|
|
|
update.put("max", map.get("max")); |
|
|
|
} |
|
|
|
} else { |
|
|
|
update.put("max", 500); |
|
|
|
update.put("max", 50000); |
|
|
|
} |
|
|
|
update.put("id", id); |
|
|
|
return CrudUtil.insertHandle(placeService.UpdatePlace(update),1); |
|
|
|
return CrudUtil.insertHandle(placeService.UpdatePlace(update), 1); |
|
|
|
} |
|
|
|
|
|
|
|
@PostMapping("/tray_edit") |
|
|
|
public RestResponse trayEdit(@RequestBody Map<String,Object> map){ |
|
|
|
if(map.containsKey("state")){ |
|
|
|
map.put("state",1); |
|
|
|
}else{ |
|
|
|
map.put("state",2); |
|
|
|
public RestResponse trayEdit(@RequestBody Map<String, Object> map) { |
|
|
|
if (map.containsKey("state")) { |
|
|
|
map.put("state", 1); |
|
|
|
} else { |
|
|
|
map.put("state", 2); |
|
|
|
} |
|
|
|
String code = (String) map.get("code"); |
|
|
|
Integer depositoryId = ObjectFormatUtil.toInteger(map.get("did")); |
|
|
|
Place placeByDidAndCode = placeService.findPlaceByDidAndCode(depositoryId, code); |
|
|
|
if(placeByDidAndCode != null){ |
|
|
|
return new RestResponse("",12345,new StatusInfo("修改失败","该编码已经存在")); |
|
|
|
if (placeByDidAndCode != null) { |
|
|
|
return new RestResponse("", 12345, new StatusInfo("修改失败", "该编码已经存在")); |
|
|
|
} |
|
|
|
Map<String, Object> update = new HashMap<>(); |
|
|
|
String min = (String) map.get("min"); |
|
|
|
@ -314,30 +324,36 @@ public class PlaceController { |
|
|
|
update.put("min", 0); |
|
|
|
} |
|
|
|
if (!"".equals(max)) { |
|
|
|
Double maxQuantity = ObjectFormatUtil.toDouble(max); |
|
|
|
if (maxQuantity >= 999999999) { |
|
|
|
update.put("max", 999999999); |
|
|
|
} else { |
|
|
|
update.put("max", map.get("max")); |
|
|
|
} |
|
|
|
} else { |
|
|
|
update.put("max", 500); |
|
|
|
update.put("max", 50000); |
|
|
|
} |
|
|
|
update.put("code",code); |
|
|
|
update.put("code", code); |
|
|
|
update.put("id", map.get("id")); |
|
|
|
return CrudUtil.insertHandle(placeService.UpdatePlace(update),1); } |
|
|
|
return CrudUtil.insertHandle(placeService.UpdatePlace(update), 1); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@PostMapping("/editPlaceState") |
|
|
|
public RestResponse editPlaceState(@RequestBody Map<String,Object> map) { |
|
|
|
public RestResponse editPlaceState(@RequestBody Map<String, Object> map) { |
|
|
|
if (map.containsKey("state")) { |
|
|
|
map.put("state", 1); |
|
|
|
} else { |
|
|
|
map.put("state", 2); |
|
|
|
} |
|
|
|
return CrudUtil.insertHandle(placeService.editPlaceState(map),1); |
|
|
|
return CrudUtil.insertHandle(placeService.editPlaceState(map), 1); |
|
|
|
} |
|
|
|
|
|
|
|
// 根据物料编号获取库位
|
|
|
|
@PostMapping("/findPlaceByMid") |
|
|
|
public RestResponse findPlaceByMid(@RequestBody Map<String,Object> map, HttpServletRequest request){ |
|
|
|
public RestResponse findPlaceByMid(@RequestBody Map<String, Object> map, HttpServletRequest request) { |
|
|
|
String token = request.getHeader("user-token"); |
|
|
|
if(token == null){ |
|
|
|
if (token == null) { |
|
|
|
token = (String) request.getSession().getAttribute("userToken"); |
|
|
|
} |
|
|
|
UserByPort userToken = AuthenticationTokenPool.getUserToken(token); |
|
|
|
@ -355,18 +371,18 @@ public class PlaceController { |
|
|
|
depositoryIdList.add(depository.getId()); |
|
|
|
} |
|
|
|
for (RoleAndDepository depository : depositoryAndRole) { |
|
|
|
if(!depositoryIdList.contains(depository.getDepositoryId())){ |
|
|
|
if (!depositoryIdList.contains(depository.getDepositoryId())) { |
|
|
|
depositoryIdList.add(depository.getDepositoryId()); |
|
|
|
} |
|
|
|
} |
|
|
|
List<InventoryP> inventoryPList = new ArrayList<>(); |
|
|
|
for (Integer depositoryId:depositoryIdList |
|
|
|
for (Integer depositoryId : depositoryIdList |
|
|
|
) { |
|
|
|
param.put("depositoryId", depositoryId); |
|
|
|
// 查找当前用户部门仓库中是否存在该物料
|
|
|
|
inventoryPList.addAll(materialService.findInventory(param)); |
|
|
|
} |
|
|
|
for (Integer depositoryId:depositoryIdList){ |
|
|
|
for (Integer depositoryId : depositoryIdList) { |
|
|
|
for (InventoryP inventory : inventoryPList) { |
|
|
|
List<PlaceP> placeByMidAndDid = placeService.findPlaceByMidAndDid(inventory.getId(), depositoryId); |
|
|
|
for (PlaceP placeP : placeByMidAndDid) { |
|
|
|
@ -380,18 +396,19 @@ public class PlaceController { |
|
|
|
} |
|
|
|
return new RestResponse(placeList); |
|
|
|
} |
|
|
|
|
|
|
|
// 根据物料编码以及仓库编号获取具体库位
|
|
|
|
@PostMapping("/findPlaceByMcodeAndDid") |
|
|
|
public RestResponse findPlaceByMcodeAndDid(@RequestBody Map<String,Object> map,HttpServletRequest request){ |
|
|
|
public RestResponse findPlaceByMcodeAndDid(@RequestBody Map<String, Object> map, HttpServletRequest request) { |
|
|
|
List<InventoryP> inventory = materialService.findInventory(map); |
|
|
|
List<PlaceP> placeList = new ArrayList<>(); |
|
|
|
if(inventory.size() > 0){ // 如果有当前物料
|
|
|
|
if (inventory.size() > 0) { // 如果有当前物料
|
|
|
|
for (int i = 0; i < inventory.size(); i++) { |
|
|
|
InventoryP materialP = inventory.get(i); |
|
|
|
List<PlaceP> placeByMidAndDid = placeService.findPlaceByMidAndDid(materialP.getId(), ObjectFormatUtil.toInteger(map.get("depositoryId"))); |
|
|
|
for (int j = 0; j < placeByMidAndDid.size(); j++) { |
|
|
|
int index = placeList.indexOf(placeByMidAndDid.get(j)); |
|
|
|
if(index == -1){ |
|
|
|
if (index == -1) { |
|
|
|
placeList.add(placeByMidAndDid.get(j)); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -402,7 +419,7 @@ public class PlaceController { |
|
|
|
|
|
|
|
// 构造仓库二维码
|
|
|
|
@PostMapping("/createQrCode") |
|
|
|
public RestResponse createQrCode(@RequestBody Map<String,Object> map) { |
|
|
|
public RestResponse createQrCode(@RequestBody Map<String, Object> map) { |
|
|
|
|
|
|
|
|
|
|
|
Integer pid = ObjectFormatUtil.toInteger(map.get("pid")); |
|
|
|
@ -411,7 +428,7 @@ public class PlaceController { |
|
|
|
// 二维码保存信息
|
|
|
|
Place placeById = placeService.findPlaceById(pid); |
|
|
|
Depository depositoryById = depositoryService.findDepositoryById(placeById.getDid()); |
|
|
|
return RestResponse.CreateBarCode(qrCode,depositoryById.getDname() + "-" + placeById.getCode()); |
|
|
|
return RestResponse.CreateBarCode(qrCode, depositoryById.getDname() + "-" + placeById.getCode()); |
|
|
|
} catch (IOException e) { |
|
|
|
return new RestResponse("err: " + e.getMessage(), 678, new StatusInfo("失败", "请联系开发人员")); |
|
|
|
} |
|
|
|
@ -420,39 +437,39 @@ public class PlaceController { |
|
|
|
|
|
|
|
// 用于扫描入库位置
|
|
|
|
@PostMapping("/qywxApplicationInScanQrCode") |
|
|
|
public RestResponse qywxApplicationInScanQrCode(@RequestBody Map<String,Object> map,HttpServletRequest request){ |
|
|
|
public RestResponse qywxApplicationInScanQrCode(@RequestBody Map<String, Object> map, HttpServletRequest request) { |
|
|
|
// 获取扫描的码值
|
|
|
|
String qrCode = (String) map.get("qrCode"); |
|
|
|
// 根据二维码获取对应位置信息
|
|
|
|
PidOrDidAndCode locationByQrCode = placeService.findLocationByQrCode(qrCode); |
|
|
|
Map<String,Object> result = new HashMap<>(); |
|
|
|
result.put("flag",0); |
|
|
|
if(locationByQrCode != null){ |
|
|
|
Map<String, Object> result = new HashMap<>(); |
|
|
|
result.put("flag", 0); |
|
|
|
if (locationByQrCode != null) { |
|
|
|
// 获取当前标志位(1为库位2为仓库)
|
|
|
|
Integer flag = locationByQrCode.getFlag(); |
|
|
|
if(Integer.compare(1,flag) == 0){ |
|
|
|
if (Integer.compare(1, flag) == 0) { |
|
|
|
// 如果当前位置为库位
|
|
|
|
|
|
|
|
// 获取当前库位
|
|
|
|
Place place = placeService.findPlaceById(Integer.parseInt(locationByQrCode.getPid().toString())); |
|
|
|
PlaceP placeP = new PlaceP(place); |
|
|
|
|
|
|
|
if(Integer.compare(0,placeP.getId()) == 0){ |
|
|
|
if (Integer.compare(0, placeP.getId()) == 0) { |
|
|
|
// 如果是默认库位
|
|
|
|
placeP.setDepositoryName("默认库位-0000"); |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
Depository depository = depositoryService.findDepositoryById(placeP.getDid()); |
|
|
|
placeP.setDepositoryName(depository.getDname() + "-"+placeP.getCode()); |
|
|
|
placeP.setDepositoryName(depository.getDname() + "-" + placeP.getCode()); |
|
|
|
} |
|
|
|
result.put("flag",1); |
|
|
|
result.put("place",placeP); |
|
|
|
}else { |
|
|
|
result.put("flag", 1); |
|
|
|
result.put("place", placeP); |
|
|
|
} else { |
|
|
|
// 如果当前位置为仓库
|
|
|
|
|
|
|
|
// 获取当前仓库
|
|
|
|
Depository depository = depositoryService.findDepositoryById(Integer.parseInt(locationByQrCode.getDepositoryId().toString())); |
|
|
|
result.put("flag",2); |
|
|
|
result.put("depository",depository); |
|
|
|
result.put("flag", 2); |
|
|
|
result.put("depository", depository); |
|
|
|
} |
|
|
|
} |
|
|
|
return new RestResponse(result); |
|
|
|
|