|
|
|
@ -91,28 +91,12 @@ public class GroupController { |
|
|
|
@PostMapping("/findGroupByCode") |
|
|
|
public RestResponse findGroupByCode(@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); |
|
|
|
// 获取当前部门仓库
|
|
|
|
List<Depository> depositoryByAdminorg = depositoryService.findDepositoryByAdminorg(userToken.getMaindeparment().toString()); |
|
|
|
// 查询当前用户管理的仓库
|
|
|
|
List<RoleAndDepository> depositoryAndRole = roleService.findDepositoryAndRole(userToken.getId()); |
|
|
|
depositoryAndRole.addAll(roleService.findDepositoryAndRole(userToken.getPosition())); |
|
|
|
|
|
|
|
List<Integer> depositoryIdList = new ArrayList<>(); |
|
|
|
for (Depository depository : depositoryByAdminorg |
|
|
|
) { |
|
|
|
depositoryIdList.add(depository.getId()); |
|
|
|
} |
|
|
|
for (RoleAndDepository rad : depositoryAndRole |
|
|
|
) { |
|
|
|
if (!depositoryIdList.contains(rad.getDepositoryId())) { |
|
|
|
depositoryIdList.add(rad.getDepositoryId()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
List<Integer> depositoryIdList = roleService.findDepositoryIdForUserHas(userToken); |
|
|
|
|
|
|
|
String code = map.get("code").toString(); |
|
|
|
|
|
|
|
@ -128,17 +112,26 @@ public class GroupController { |
|
|
|
|
|
|
|
// 用于标识当前组合是否可以正常出库
|
|
|
|
boolean flag = true; |
|
|
|
// 定义符合要求的仓库id
|
|
|
|
List<Integer> satisfyDepositoryIdList = new ArrayList<>(); |
|
|
|
for (GroupInfo groupInfo : groupByGid) { |
|
|
|
|
|
|
|
// 获取详细信息
|
|
|
|
|
|
|
|
Integer infoQuantity = groupInfo.getQuantity(); |
|
|
|
// 获取该物料的库存
|
|
|
|
List<Double> inventoryByMidAndDepository = materialService.findInventoryByGroupInfoAndDepository(groupInfo, depositoryIdList); |
|
|
|
Map<Integer, Double> inventoryByGroupInfoAndDepository = materialService.findInventoryByGroupInfoAndDepository(groupInfo, depositoryIdList); |
|
|
|
// 用于标志当前物料库存是否符合要求
|
|
|
|
boolean flagForQuantity = false; |
|
|
|
for (Double quantity : inventoryByMidAndDepository) { |
|
|
|
// 获取key 的迭代
|
|
|
|
for (Integer depositoryId : inventoryByGroupInfoAndDepository.keySet()) { |
|
|
|
Double quantity = inventoryByGroupInfoAndDepository.get(depositoryId); |
|
|
|
// 如果库存符合要求
|
|
|
|
if (quantity >= groupInfo.getQuantity()) { |
|
|
|
if (quantity >= infoQuantity) { |
|
|
|
flagForQuantity = true; |
|
|
|
if (!satisfyDepositoryIdList.contains(depositoryId)) { |
|
|
|
satisfyDepositoryIdList.add(depositoryId); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (!flagForQuantity) { |
|
|
|
@ -146,6 +139,9 @@ public class GroupController { |
|
|
|
flag = false; |
|
|
|
errMsg.append(" ").append(groupInfo.getMname()).append(" "); |
|
|
|
break; |
|
|
|
} else { |
|
|
|
List<Depository> depositoryByIds = depositoryService.findDepositoryByIds(satisfyDepositoryIdList); |
|
|
|
groupInfo.setSatisfyDepositoryList(depositoryByIds); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
@ -208,7 +204,12 @@ public class GroupController { |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@PostMapping("/findGroupByGname") |
|
|
|
public RestResponse findGroupByGname(@RequestBody Map<String, Object> map) { |
|
|
|
public RestResponse findGroupByGname(@RequestBody Map<String, Object> map, HttpServletRequest request) { |
|
|
|
String token = request.getHeader("user-token"); |
|
|
|
if (token == null) { |
|
|
|
token = (String) request.getSession().getAttribute("userToken"); |
|
|
|
} |
|
|
|
UserByPort userToken = AuthenticationTokenPool.getUserToken(token); |
|
|
|
if (map.containsKey("gname")) { |
|
|
|
List<Group> groupOnlyByCondition = groupService.findGroupOnlyByCondition(map); |
|
|
|
int size = groupOnlyByCondition.size(); |
|
|
|
@ -220,6 +221,13 @@ public class GroupController { |
|
|
|
// 如果刚好只有一个
|
|
|
|
// 获取当前组合的所有物料数据
|
|
|
|
List<GroupInfo> groupByGid = groupService.findGroupByCondition(map); |
|
|
|
List<Integer> depositoryIdForUserHas = roleService.findDepositoryIdForUserHas(userToken); |
|
|
|
List<Depository> depositoryByIds = depositoryService.findDepositoryByIds(depositoryIdForUserHas); |
|
|
|
if (groupByGid != null && groupByGid.size() > 0) { |
|
|
|
groupByGid.get(0).setSatisfyDepositoryList(depositoryByIds); |
|
|
|
}else{ |
|
|
|
groupByGid = new ArrayList<>(); |
|
|
|
} |
|
|
|
return new RestResponse(groupByGid, groupByGid.size(), 200); |
|
|
|
|
|
|
|
} else { |
|
|
|
@ -369,28 +377,14 @@ public class GroupController { |
|
|
|
|
|
|
|
|
|
|
|
String token = request.getHeader("user-token"); |
|
|
|
if(token == null){ |
|
|
|
if (token == null) { |
|
|
|
token = (String) request.getSession().getAttribute("userToken"); |
|
|
|
} |
|
|
|
UserByPort userToken = AuthenticationTokenPool.getUserToken(token); |
|
|
|
// 获取当前部门仓库
|
|
|
|
List<Depository> depositoryByAdminorg = depositoryService.findDepositoryByAdminorg(userToken.getMaindeparment().toString()); |
|
|
|
|
|
|
|
// 查询当前用户管理的仓库
|
|
|
|
List<RoleAndDepository> depositoryAndRole = roleService.findDepositoryAndRole(userToken.getId()); |
|
|
|
depositoryAndRole.addAll(roleService.findDepositoryAndRole(userToken.getPosition())); |
|
|
|
|
|
|
|
List<Integer> depositoryIdList = new ArrayList<>(); |
|
|
|
for (Depository depository : depositoryByAdminorg |
|
|
|
) { |
|
|
|
depositoryIdList.add(depository.getId()); |
|
|
|
} |
|
|
|
for (RoleAndDepository rad : depositoryAndRole |
|
|
|
) { |
|
|
|
if (!depositoryIdList.contains(rad.getDepositoryId())) { |
|
|
|
depositoryIdList.add(rad.getDepositoryId()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
depositoryIdList = roleService.findDepositoryIdForUserHas(userToken); |
|
|
|
|
|
|
|
// 获取当前组合的所有物料数据
|
|
|
|
List<GroupInfo> groupByGid = groupService.findGroupByCondition(map); |
|
|
|
@ -403,29 +397,42 @@ public class GroupController { |
|
|
|
boolean flag = true; |
|
|
|
|
|
|
|
if (!"in".equals(type)) { |
|
|
|
// 定义符合要求的仓库id
|
|
|
|
List<Integer> satisfyDepositoryIdList = new ArrayList<>(); |
|
|
|
for (GroupInfo groupInfo : groupByGid) { |
|
|
|
|
|
|
|
// 获取详细信息
|
|
|
|
// 获取该物料的库存
|
|
|
|
List<Double> inventoryByMidAndDepository = materialService.findInventoryByGroupInfoAndDepository(groupInfo, depositoryIdList); |
|
|
|
Integer infoQuantity = groupInfo.getQuantity(); |
|
|
|
|
|
|
|
// 用于标志当前物料库存是否符合要求
|
|
|
|
boolean flagForQuantity = false; |
|
|
|
for (Double quantity : inventoryByMidAndDepository) { |
|
|
|
// 如果库存符合要求
|
|
|
|
if (quantity >= groupInfo.getQuantity()) { |
|
|
|
// 获取该物料在各仓库的库存
|
|
|
|
Map<Integer, Double> inventoryByMidAndDepository = materialService.findInventoryByGroupInfoAndDepository(groupInfo, depositoryIdList); |
|
|
|
// 获取key的迭代器
|
|
|
|
for (Integer depositoryId : inventoryByMidAndDepository.keySet()) { |
|
|
|
Double value = inventoryByMidAndDepository.get(depositoryId); |
|
|
|
if (value >= infoQuantity) { |
|
|
|
flagForQuantity = true; |
|
|
|
satisfyDepositoryIdList.add(depositoryId); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (!flagForQuantity) { |
|
|
|
// 如果当前不符合
|
|
|
|
flag = false; |
|
|
|
errMsg.append(" ").append(groupInfo.getMname()).append(" "); |
|
|
|
break; |
|
|
|
} else { |
|
|
|
List<Depository> depositoryByIds = depositoryService.findDepositoryByIds(satisfyDepositoryIdList); |
|
|
|
groupInfo.setSatisfyDepositoryList(depositoryByIds); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
if (flag) { |
|
|
|
|
|
|
|
return new RestResponse(groupByGid); |
|
|
|
} else { |
|
|
|
return new RestResponse(null, 666, new StatusInfo("不能出库", "当前组合中的" + errMsg + "在仓库中库存不足")); |
|
|
|
@ -454,14 +461,14 @@ public class GroupController { |
|
|
|
@PostMapping("/addApplicationToRedis") |
|
|
|
public RestResponse addApplicationToRedis(@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); |
|
|
|
// 获取暂存的数据
|
|
|
|
List<Integer> gids = (List<Integer>) map.get("gids"); |
|
|
|
// 获取当前已经存在的数据
|
|
|
|
List<String> range = redisPool.getRedisTemplateByDb(15).opsForList().range("wms_gids" + userToken.getId(), 0, -1); |
|
|
|
List<String> range = redisPool.getRedisTemplateByDb(15).opsForList().range("wms_gids" + userToken.getId(), 0, -1); |
|
|
|
for (Integer gid : gids) { |
|
|
|
if (range.contains(gid.toString())) { |
|
|
|
continue; |
|
|
|
@ -470,7 +477,7 @@ public class GroupController { |
|
|
|
|
|
|
|
} |
|
|
|
// 设置过期时间为1天
|
|
|
|
redisPool.getRedisTemplateByDb(15).expire("wms_gids" + userToken.getId(), 24 * 60 * 60, TimeUnit.SECONDS); |
|
|
|
redisPool.getRedisTemplateByDb(15).expire("wms_gids" + userToken.getId(), 24 * 60 * 60, TimeUnit.SECONDS); |
|
|
|
return CrudUtil.insertHandle(1, 1); |
|
|
|
} |
|
|
|
|
|
|
|
@ -488,11 +495,11 @@ public class GroupController { |
|
|
|
Integer start = (page - 1) * pagesize; |
|
|
|
Integer end = page * 10; |
|
|
|
String token = request.getHeader("user-token"); |
|
|
|
if(token == null){ |
|
|
|
if (token == null) { |
|
|
|
token = (String) request.getSession().getAttribute("userToken"); |
|
|
|
} |
|
|
|
UserByPort userToken = AuthenticationTokenPool.getUserToken(token); |
|
|
|
Long size = redisPool.getRedisTemplateByDb(15).boundListOps("wms_gids" + userToken.getId()).size(); |
|
|
|
Long size = redisPool.getRedisTemplateByDb(15).boundListOps("wms_gids" + userToken.getId()).size(); |
|
|
|
if (end > size) { |
|
|
|
end = ObjectFormatUtil.toInteger(size); |
|
|
|
} |
|
|
|
@ -500,7 +507,7 @@ public class GroupController { |
|
|
|
Map<String, Object> paramForGroupOnly = new HashMap<>(); |
|
|
|
for (int i = start; i < end; i++) { |
|
|
|
// 获取组合编号
|
|
|
|
Integer gid = ObjectFormatUtil.toInteger( redisPool.getRedisTemplateByDb(15).opsForList().index("wms_gids" + userToken.getId(), i)); |
|
|
|
Integer gid = ObjectFormatUtil.toInteger(redisPool.getRedisTemplateByDb(15).opsForList().index("wms_gids" + userToken.getId(), i)); |
|
|
|
paramForGroupOnly.put("gid", gid); |
|
|
|
List<GroupInfoP> groupPByCondition = groupService.findOnlyGroupByCondition(paramForGroupOnly); |
|
|
|
for (int j = 0; j < groupPByCondition.size(); j++) { |
|
|
|
@ -522,13 +529,13 @@ public class GroupController { |
|
|
|
@PostMapping("/deleteApplicationToRedis") |
|
|
|
public RestResponse deleteApplicationToRedis(@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); |
|
|
|
List<Integer> gids = (List<Integer>) map.get("gids"); |
|
|
|
for (int i = 0; i < gids.size(); i++) { |
|
|
|
redisPool.getRedisTemplateByDb(15).opsForList().remove("wms_gids" + userToken.getId(), 1, gids.get(i).toString()); |
|
|
|
redisPool.getRedisTemplateByDb(15).opsForList().remove("wms_gids" + userToken.getId(), 1, gids.get(i).toString()); |
|
|
|
} |
|
|
|
return CrudUtil.insertHandle(1, 1); |
|
|
|
} |
|
|
|
@ -571,7 +578,7 @@ public class GroupController { |
|
|
|
} |
|
|
|
} |
|
|
|
try { |
|
|
|
integer += groupService.insertApplicationInRecord(map, userToken,crypt,userKey,token); // 插入主订单
|
|
|
|
integer += groupService.insertApplicationInRecord(map, userToken, crypt, userKey, token); // 插入主订单
|
|
|
|
} catch (Exception e) { |
|
|
|
return new RestResponse("", 666, new StatusInfo("出库失败", e.getMessage())); |
|
|
|
} |
|
|
|
@ -580,6 +587,7 @@ public class GroupController { |
|
|
|
|
|
|
|
/** |
|
|
|
* 入库审核 |
|
|
|
* |
|
|
|
* @param map |
|
|
|
* @param request |
|
|
|
* @return |
|
|
|
@ -587,7 +595,7 @@ public class GroupController { |
|
|
|
@PutMapping("/reviewIn") |
|
|
|
public RestResponse reviewIn(@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); |
|
|
|
@ -602,10 +610,10 @@ public class GroupController { |
|
|
|
} |
|
|
|
|
|
|
|
@PostMapping("/findGroupById") |
|
|
|
public RestResponse findGroupById(@RequestBody Map<String,String> map){ |
|
|
|
if(map.containsKey("id")){ |
|
|
|
public RestResponse findGroupById(@RequestBody Map<String, String> map) { |
|
|
|
if (map.containsKey("id")) { |
|
|
|
return new RestResponse(groupService.findGroupOnlyById(ObjectFormatUtil.toInteger(map.get("id")))); |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
throw new MyException("缺少必要参数"); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -613,23 +621,24 @@ public class GroupController { |
|
|
|
|
|
|
|
/** |
|
|
|
* 用于获取当前物料在组合中的详细信息 |
|
|
|
* |
|
|
|
* @param map |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@PostMapping("/materialInfoForGroup") |
|
|
|
public RestResponse materialInfoForGroup(@RequestBody Map<String,String>map){ |
|
|
|
if(map.containsKey("mid") && map.containsKey("gid")){ |
|
|
|
public RestResponse materialInfoForGroup(@RequestBody Map<String, String> map) { |
|
|
|
if (map.containsKey("mid") && map.containsKey("gid")) { |
|
|
|
Integer mid = ObjectFormatUtil.toInteger(map.get("mid")); |
|
|
|
Integer gid = ObjectFormatUtil.toInteger(map.get("gid")); |
|
|
|
GroupInfo groupInfoByMidAndGid = groupService.findGroupInfoByMidAndGid(mid, gid); |
|
|
|
Map<String,Object> result = new HashMap<>(); |
|
|
|
Map<String, Object> result = new HashMap<>(); |
|
|
|
if (groupInfoByMidAndGid != null) { |
|
|
|
List<SplitInfo> splitInfoByMid = splitUnitService.findSplitInfoByMid(groupInfoByMidAndGid.getMid()); |
|
|
|
result.put("groupInfo",groupInfoByMidAndGid); |
|
|
|
result.put("splitList",splitInfoByMid); |
|
|
|
result.put("groupInfo", groupInfoByMidAndGid); |
|
|
|
result.put("splitList", splitInfoByMid); |
|
|
|
} |
|
|
|
return new RestResponse(result); |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
throw new MyException("缺少必要参数"); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -655,7 +664,7 @@ public class GroupController { |
|
|
|
map.put("applicantId", userToken.getId()); |
|
|
|
|
|
|
|
// 获取当前部门负责人
|
|
|
|
List<UserByPort> departmentHeadByUsers = PublicConfig.findDepartmentHeadByUser(userToken.getMaindeparment(), userkey,token); |
|
|
|
List<UserByPort> departmentHeadByUsers = PublicConfig.findDepartmentHeadByUser(userToken.getMaindeparment(), userkey, token); |
|
|
|
// 部门负责人id
|
|
|
|
StringBuilder departmentHeadId = new StringBuilder(); |
|
|
|
// 部门负责人企业微信user
|
|
|
|
@ -704,7 +713,7 @@ public class GroupController { |
|
|
|
map.put("adminorgId", userToken.getMaindeparment()); |
|
|
|
} |
|
|
|
try { |
|
|
|
integer += groupService.insertApplicationOutRecord(map, userToken,userkey,token); // 插入主订单
|
|
|
|
integer += groupService.insertApplicationOutRecord(map, userToken, userkey, token); // 插入主订单
|
|
|
|
} catch (Exception e) { |
|
|
|
return new RestResponse("", 666, new StatusInfo("出库失败", e.getMessage())); |
|
|
|
} |
|
|
|
@ -719,9 +728,9 @@ public class GroupController { |
|
|
|
QyWxApprovalMap.put("sp_no", sp_no); |
|
|
|
QyWxApprovalMap.put("mainId", id.toString()); |
|
|
|
QyWxApprovalMap.put("otherDepartmentIdList", jsonObject.getString("otherDepartmentIdList")); |
|
|
|
redisPool.getRedisTemplateByDb(14).opsForHash().putAll("wms_QyWxMessage_"+sp_no, QyWxApprovalMap); |
|
|
|
redisPool.getRedisTemplateByDb(14).opsForHash().putAll("wms_QyWxMessage_" + sp_no, QyWxApprovalMap); |
|
|
|
// 设置过期为7天
|
|
|
|
redisPool.getRedisTemplateByDb(14).expire("wms_QyWxMessage_"+sp_no, 7, TimeUnit.DAYS); |
|
|
|
redisPool.getRedisTemplateByDb(14).expire("wms_QyWxMessage_" + sp_no, 7, TimeUnit.DAYS); |
|
|
|
}); |
|
|
|
|
|
|
|
if (integer != 0 && params.size() < 1) { |
|
|
|
@ -773,37 +782,30 @@ public class GroupController { |
|
|
|
public RestResponse groupQuantityIsTrue(@RequestBody Map<String, Object> map, HttpServletRequest request) { |
|
|
|
if (map.containsKey("gid")) { |
|
|
|
String token = request.getHeader("user-token"); |
|
|
|
if(token == null){ |
|
|
|
token = (String) request.getSession().getAttribute("userToken"); |
|
|
|
} |
|
|
|
UserByPort userToken = AuthenticationTokenPool.getUserToken(token); |
|
|
|
// 获取当前部门所拥有的仓库
|
|
|
|
List<Depository> depositoryByAdminorg = depositoryService.findDepositoryByAdminorg(userToken.getMaindeparment().toString()); |
|
|
|
// 查询当前用户管理的仓库
|
|
|
|
List<RoleAndDepository> depositoryAndRole = roleService.findDepositoryAndRole(userToken.getId()); |
|
|
|
depositoryAndRole.addAll(roleService.findDepositoryAndRole(userToken.getPosition())); |
|
|
|
|
|
|
|
List<Integer> depositoryIdList = new ArrayList<>(); |
|
|
|
for (Depository depository : depositoryByAdminorg |
|
|
|
) { |
|
|
|
depositoryIdList.add(depository.getId()); |
|
|
|
} |
|
|
|
for (RoleAndDepository rad : depositoryAndRole |
|
|
|
) { |
|
|
|
if (!depositoryIdList.contains(rad.getDepositoryId())) { |
|
|
|
depositoryIdList.add(rad.getDepositoryId()); |
|
|
|
} |
|
|
|
if (token == null) { |
|
|
|
token = (String) request.getSession().getAttribute("userToken"); |
|
|
|
} |
|
|
|
UserByPort userToken = AuthenticationTokenPool.getUserToken(token); |
|
|
|
|
|
|
|
|
|
|
|
// 获取组合id
|
|
|
|
Integer gid = ObjectFormatUtil.toInteger(map.get("gid")); |
|
|
|
// 获取组合数量
|
|
|
|
Integer quantity = ObjectFormatUtil.toInteger(map.get("quantity")); |
|
|
|
List<Integer> depositoryIdList = new ArrayList<>(); |
|
|
|
if (map.containsKey("depositoryId")) { |
|
|
|
// 获取选择的仓库
|
|
|
|
Integer depositoryId = ObjectFormatUtil.toInteger(map.get("depositoryId")); |
|
|
|
depositoryIdList.add(depositoryId); |
|
|
|
} else { |
|
|
|
depositoryIdList = roleService.findDepositoryIdForUserHas(userToken); |
|
|
|
} |
|
|
|
|
|
|
|
Map<String, String> trueForGroup = isTrueForGroup(gid, quantity, depositoryIdList); |
|
|
|
Boolean flag = Boolean.valueOf(trueForGroup.get("flag")); |
|
|
|
|
|
|
|
String mname = trueForGroup.get("mname"); |
|
|
|
return new RestResponse(flag,200,new StatusInfo(mname,mname)); |
|
|
|
String mname = trueForGroup.get("mname"); |
|
|
|
return new RestResponse(flag, 200, new StatusInfo(mname, mname)); |
|
|
|
} else { |
|
|
|
throw new MyException("缺少必要参数"); |
|
|
|
} |
|
|
|
@ -829,7 +831,7 @@ public class GroupController { |
|
|
|
String crypt = Md5.crypt(header); |
|
|
|
map.put("applicantId", userToken.getId()); |
|
|
|
// 获取当前部门负责人
|
|
|
|
List<UserByPort> departmentHeadByUsers = PublicConfig.findDepartmentHeadByUser(userToken.getMaindeparment(), userkey,token); |
|
|
|
List<UserByPort> departmentHeadByUsers = PublicConfig.findDepartmentHeadByUser(userToken.getMaindeparment(), userkey, token); |
|
|
|
// 部门负责人id
|
|
|
|
StringBuilder departmentHeadId = new StringBuilder(); |
|
|
|
// 部门负责人企业微信user
|
|
|
|
@ -877,8 +879,8 @@ public class GroupController { |
|
|
|
Integer quantity = ObjectFormatUtil.toInteger(map.get("quantity")); |
|
|
|
Map<String, String> trueForGroup = isTrueForGroup(gid, quantity, depositoryIdList); |
|
|
|
boolean flag = Boolean.parseBoolean(trueForGroup.get("flag")); |
|
|
|
if(!flag){ |
|
|
|
return new RestResponse("", 666, new StatusInfo("仓库中"+trueForGroup.get("mname")+"库存不足","仓库中"+trueForGroup.get("mname")+"库存不足" )); |
|
|
|
if (!flag) { |
|
|
|
return new RestResponse("", 666, new StatusInfo("仓库中" + trueForGroup.get("mname") + "库存不足", "仓库中" + trueForGroup.get("mname") + "库存不足")); |
|
|
|
} |
|
|
|
map.put("gid", gid); |
|
|
|
List<GroupInfo> groupInfoByGid = groupService.findGroupInfoByGid(gid); |
|
|
|
@ -899,8 +901,8 @@ public class GroupController { |
|
|
|
|
|
|
|
Map<String, String> trueForGroup = isTrueForGroup(temp, quantity, depositoryIdList); |
|
|
|
boolean flag = Boolean.parseBoolean(trueForGroup.get("flag")); |
|
|
|
if(!flag){ |
|
|
|
return new RestResponse("", 666, new StatusInfo("仓库中"+trueForGroup.get("mname")+"库存不足","仓库中"+trueForGroup.get("mname")+"库存不足" )); |
|
|
|
if (!flag) { |
|
|
|
return new RestResponse("", 666, new StatusInfo("仓库中" + trueForGroup.get("mname") + "库存不足", "仓库中" + trueForGroup.get("mname") + "库存不足")); |
|
|
|
} |
|
|
|
List<GroupInfo> groupInfoByGid = groupService.findGroupInfoByGid(temp); |
|
|
|
if (groupInfoByGid != null) { |
|
|
|
@ -933,7 +935,7 @@ public class GroupController { |
|
|
|
map.put("adminorgId", userToken.getMaindeparment()); |
|
|
|
} |
|
|
|
try { |
|
|
|
integer += groupService.insertApplicationOutRecord(map, userToken,userkey,token); // 插入主订单
|
|
|
|
integer += groupService.insertApplicationOutRecord(map, userToken, userkey, token); // 插入主订单
|
|
|
|
} catch (Exception e) { |
|
|
|
return new RestResponse("", 666, new StatusInfo("出库失败", e.getMessage())); |
|
|
|
} |
|
|
|
@ -948,17 +950,16 @@ public class GroupController { |
|
|
|
QyWxApprovalMap.put("sp_no", sp_no); |
|
|
|
QyWxApprovalMap.put("mainId", id.toString()); |
|
|
|
QyWxApprovalMap.put("otherDepartmentIdList", jsonObject.getString("otherDepartmentIdList")); |
|
|
|
redisPool.getRedisTemplateByDb(14).opsForHash().putAll("wms_QyWxMessage_"+sp_no, QyWxApprovalMap); |
|
|
|
redisPool.getRedisTemplateByDb(14).opsForHash().putAll("wms_QyWxMessage_" + sp_no, QyWxApprovalMap); |
|
|
|
// 设置过期为7天
|
|
|
|
redisPool.getRedisTemplateByDb(14).expire("wms_QyWxMessage_"+sp_no, 7, TimeUnit.DAYS); |
|
|
|
redisPool.getRedisTemplateByDb(14).expire("wms_QyWxMessage_" + sp_no, 7, TimeUnit.DAYS); |
|
|
|
}); |
|
|
|
return CrudUtil.insertHandle(integer, result); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Map<String,String> isTrueForGroup(Integer gid,Integer quantity,List<Integer> depositoryIdList){ |
|
|
|
Map<String, String> isTrueForGroup(Integer gid, Integer quantity, List<Integer> depositoryIdList) { |
|
|
|
List<GroupInfo> groupInfoByGid = groupService.findGroupInfoByGid(gid); |
|
|
|
boolean flag = true; |
|
|
|
String mname = ""; |
|
|
|
@ -971,9 +972,11 @@ public class GroupController { |
|
|
|
boolean flagForInventory = false; |
|
|
|
|
|
|
|
// 获取该物料在各仓库的库存
|
|
|
|
List<Double> inventoryByMidAndDepository = materialService.findInventoryByGroupInfoAndDepository(groupInfo, depositoryIdList); |
|
|
|
for (Double integer : inventoryByMidAndDepository) { |
|
|
|
if (integer >= totalQuantity) { |
|
|
|
Map<Integer, Double> inventoryByMidAndDepository = materialService.findInventoryByGroupInfoAndDepository(groupInfo, depositoryIdList); |
|
|
|
// 获取key的迭代器
|
|
|
|
for (Integer depositoryId : inventoryByMidAndDepository.keySet()) { |
|
|
|
Double value = inventoryByMidAndDepository.get(depositoryId); |
|
|
|
if (value >= totalQuantity) { |
|
|
|
flagForInventory = true; |
|
|
|
break; |
|
|
|
} |
|
|
|
@ -985,9 +988,9 @@ public class GroupController { |
|
|
|
} |
|
|
|
mname = groupInfo.getMname(); |
|
|
|
} |
|
|
|
Map<String,String> result = new HashMap<>(); |
|
|
|
Map<String, String> result = new HashMap<>(); |
|
|
|
result.put("flag", Boolean.toString(flag)); |
|
|
|
result.put("mname",mname); |
|
|
|
result.put("mname", mname); |
|
|
|
return result; |
|
|
|
} |
|
|
|
} |
|
|
|
|