Browse Source

修改仓储中心人员的权限范围

lwx_dev
erdanergou 3 years ago
parent
commit
85d84e0773
  1. 19
      src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java
  2. 149
      src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java

19
src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java

@ -710,7 +710,17 @@ public class DepositoryRecordController {
public RestResponse findApplicationOutRecordByCondition(@RequestParam Map<String, Object> map, HttpServletRequest request) {
UserByPort userByPort = (UserByPort) request.getAttribute("userToken");
// 获取对应主订单
List<ApplicationOutRecordP> list = depositoryRecordService.findApplicationOutRecordPByUser(userByPort, map);
List<ApplicationOutRecordP> list = new ArrayList<>();
Integer countBy = 0;
if(Integer.compare(userByPort.getMaindeparment(),361)==0){
list = depositoryRecordService.findApplicationOutRecordPByCondition(map,userByPort);
countBy = depositoryRecordService.findApplicationOutRecordPCountByCondition(map);
}else{
list = depositoryRecordService.findApplicationOutRecordPByUser(userByPort, map);
countBy = depositoryRecordService.findApplicationOutRecordPCountByUser(userByPort, map);
}
for (ApplicationOutRecordP outRecordP : list) {
// 根据主订单获取所有子订单
List<ApplicationOutRecordMin> applicationOutMinByParentId = depositoryRecordService.findApplicationOutMinByParentId(outRecordP.getId());
@ -718,10 +728,9 @@ public class DepositoryRecordController {
StringBuilder mcode = new StringBuilder();
StringBuilder depositoryName = new StringBuilder();
Integer sumQuantity = 0;
Double sumPrice = 0.0;
for (int j = 0; j < applicationOutMinByParentId.size(); j++) {
double sumPrice = 0.0;
for (ApplicationOutRecordMin applicationOutRecordMin : applicationOutMinByParentId) {
// 获取子订单信息
ApplicationOutRecordMin applicationOutRecordMin = applicationOutMinByParentId.get(j);
// 获取出库物料信息
Inventory inventory = materialService.findInventoryById(applicationOutRecordMin.getMid());
// 获取出库物料仓库信息
@ -738,7 +747,7 @@ public class DepositoryRecordController {
outRecordP.setQuantity(sumQuantity);
outRecordP.setPrice(sumPrice);
}
return new RestResponse(list, depositoryRecordService.findApplicationOutRecordPCountByUser(userByPort, map), 200);
return new RestResponse(list, countBy, 200);
}

149
src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java

@ -116,30 +116,72 @@ public class MaterialController {
@GetMapping("/findInventory")
public RestResponse findInventory(@RequestParam Map<String, Object> map, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken");
// 查询当前用户管理的仓库
List<RoleAndDepository> depositoryAndRole = roleService.findDepositoryAndRole(userToken.getId());
// 查询当前用户部门拥有的仓库
List<Depository> depositoryByAdminorg = depositoryService.findDepositoryByAdminorg(userToken.getMaindeparment().toString());
// 定义仓库编号列表
List<Integer> didList = new ArrayList<>();
List<InventoryP> list = new ArrayList<>();
Integer total = 0;
Integer size = 10, page = 1; // 定义每页展示数量
if (map.containsKey("size")) {
size = ObjectFormatUtil.toInteger(map.get("size"));
}
if (!(map.containsKey("depositoryId") || map.containsKey("mcode") || map.containsKey("mname") || map.containsKey("version"))) {
// 用于标识是一次就查询成功
boolean flag = true;
for (Depository depository : depositoryByAdminorg) {
Integer did = depository.getId();
didList.add(did);
map.put("depositoryId", did);
List<InventoryP> inventory = null;
if (!flag) {
// 如果不是一次成功
page = ObjectFormatUtil.toInteger(map.get("page"));
if(Integer.compare(userToken.getMaindeparment(),361) != 0){
// 查询当前用户管理的仓库
List<RoleAndDepository> depositoryAndRole = roleService.findDepositoryAndRole(userToken.getId());
// 查询当前用户部门拥有的仓库
List<Depository> depositoryByAdminorg = depositoryService.findDepositoryByAdminorg(userToken.getMaindeparment().toString());
// 定义仓库编号列表
List<Integer> didList = new ArrayList<>();
Integer size = 10, page = 1; // 定义每页展示数量
if (map.containsKey("size")) {
size = ObjectFormatUtil.toInteger(map.get("size"));
}
if (!(map.containsKey("depositoryId") || map.containsKey("mcode") || map.containsKey("mname") || map.containsKey("version"))) {
// 用于标识是一次就查询成功
boolean flag = true;
for (Depository depository : depositoryByAdminorg) {
Integer did = depository.getId();
didList.add(did);
map.put("depositoryId", did);
List<InventoryP> inventory = null;
if (!flag) {
// 如果不是一次成功
page = ObjectFormatUtil.toInteger(map.get("page"));
if (size - list.size() != size) {
// 如果当前不是崭新一页
map.put("begin", 0);
} else {
map.put("begin", (page - 1) * size - total);
}
map.put("size", size - list.size());
}
if (!map.containsKey("begin")) {
inventory = materialService.findInventory(map);
} else {
inventory = materialService.findInventoryByDepository(map);
}
total += materialService.findInventoryCount(map);
if (list.size() < size) {
list.addAll(inventory);
// 如果本次没有达到数目
if (list.size() < size) {
flag = false;
}
}
}
for (RoleAndDepository roleAndDepository : depositoryAndRole) {
Integer depositoryId = roleAndDepository.getDepositoryId();
if (didList.contains(depositoryId)) {
// 如果当前仓库编号存在
continue; // 跳过本次循环
}
map.put("depositoryId", depositoryId);
// 如果当前数目不足
if (map.containsKey("page")) {
// 当前页
page = ObjectFormatUtil.toInteger(map.get("page"));
}
// 计算所有页数
// 判断当前是在全新一页还是包含上述内容
if (size - list.size() != size) {
// 如果当前不是崭新一页
map.put("begin", 0);
@ -147,61 +189,26 @@ public class MaterialController {
map.put("begin", (page - 1) * size - total);
}
map.put("size", size - list.size());
}
if (!map.containsKey("begin")) {
inventory = materialService.findInventory(map);
} else {
inventory = materialService.findInventoryByDepository(map);
}
total += materialService.findInventoryCount(map);
if (list.size() < size) {
list.addAll(inventory);
// 如果本次没有达到数目
if (list.size() < size) {
flag = false;
List<InventoryP> materialByDepository = materialService.findInventoryByDepository(map);
list.addAll(materialByDepository);
}
total += materialService.findMaterialByDepositoryCount(map);
}
} else {
List<InventoryP> inventory = materialService.findInventory(map);
list.addAll(inventory);
total += materialService.findInventoryCount(map);
}
for (RoleAndDepository roleAndDepository : depositoryAndRole) {
Integer depositoryId = roleAndDepository.getDepositoryId();
if (didList.contains(depositoryId)) {
// 如果当前仓库编号存在
continue; // 跳过本次循环
}
map.put("depositoryId", depositoryId);
// 如果当前数目不足
if (map.containsKey("page")) {
// 当前页
page = ObjectFormatUtil.toInteger(map.get("page"));
}
// 计算所有页数
// 判断当前是在全新一页还是包含上述内容
if (size - list.size() != size) {
// 如果当前不是崭新一页
map.put("begin", 0);
} else {
map.put("begin", (page - 1) * size - total);
}
map.put("size", size - list.size());
if (list.size() < size) {
List<InventoryP> materialByDepository = materialService.findInventoryByDepository(map);
list.addAll(materialByDepository);
}
total += materialService.findMaterialByDepositoryCount(map);
for (InventoryP inventoryP : list
) {
inventoryP.setSplitInfoList(splitUnitService.findSplitInfoByMid(inventoryP.getMid()));
}
} else {
List<InventoryP> inventory = materialService.findInventory(map);
list.addAll(inventory);
total += materialService.findInventoryCount(map);
}
for (InventoryP inventoryP : list
) {
inventoryP.setSplitInfoList(splitUnitService.findSplitInfoByMid(inventoryP.getMid()));
}else{
list = materialService.findInventory(map);
total = materialService.findInventoryCount(map);
}
return new RestResponse(list, total, 200);
}

Loading…
Cancel
Save