Browse Source

修改库存转移时所处库位显示不全问题

lwx_dev
erdanergou 3 years ago
parent
commit
2a5db7e823
  1. 17
      src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java
  2. 27
      src/main/java/com/dreamchaser/depository_manage/controller/PlaceController.java
  3. 16
      src/main/java/com/dreamchaser/depository_manage/service/impl/PlaceServiceImpl.java

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

@ -396,6 +396,9 @@ public class MaterialController {
UserByPort userToken = (UserByPort) request.getAttribute("userToken");
// 获取当前部门仓库
List<Depository> depositoryByAdminorg = depositoryService.findDepositoryByAdminorg(userToken.getMaindeparment().toString());
// 查询当前用户管理的仓库
List<RoleAndDepository> depositoryAndRole = roleService.findDepositoryAndRole(userToken.getId());
Map<String, Object> param = new HashMap<>();
String code = map.get("code").toString();
String type = map.get("type").toString();
@ -414,6 +417,17 @@ public class MaterialController {
break;
}
}
if(inventoryPByCondition.size() <= 0) {
for (RoleAndDepository depository : depositoryAndRole
) {
param.put("depositoryId", depository.getDepositoryId());
// 查找当前用户部门仓库中是否存在该物料
inventoryPByCondition = materialService.findInventory(param);
if (inventoryPByCondition.size() > 0) {
break;
}
}
}
MaterialP mp = null;
InventoryP ip = null;
Map<String, Object> paramByPrice = new HashMap<>();
@ -435,7 +449,8 @@ public class MaterialController {
List<SplitInfo> splitInfoByMid = splitUnitService.findSplitInfoByMid(ip.getMid());
ip.setSplitInfoList(splitInfoByMid);
return new RestResponse(ip, 1, 200);
} else if ("in".equals(type)) {
}
else if ("in".equals(type)) {
param.put("code", code);
materialPByCondition = materialService.findMaterialPByCondition(param);
if (materialPByCondition.size() > 0) {

27
src/main/java/com/dreamchaser/depository_manage/controller/PlaceController.java

@ -208,11 +208,34 @@ public class PlaceController {
@PostMapping("/findPlaceByMid")
public RestResponse findPlaceByMid(@RequestBody Map<String,Object> map, HttpServletRequest request){
UserByPort userToken= (UserByPort) request.getAttribute("userToken");
// 查询当前用户部门所拥有的仓库
List<Depository> depositoryByAdminorg = depositoryService.findDepositoryByAdminorg(userToken.getMaindeparment().toString());
// 查询当前用户管理的仓库
List<RoleAndDepository> depositoryAndRole = roleService.findDepositoryAndRole(userToken.getId());
Integer mid = ObjectFormatUtil.toInteger(map.get("mid"));
Inventory inventoryById = materialService.findInventoryById(mid);
List<PlaceP> placeList = new ArrayList<>();
Map<String, Object> param = new HashMap<>();
param.put("mcode", inventoryById.getCode());
List<Integer> depositoryIdList = new ArrayList<>();
for (Depository depository : depositoryByAdminorg) {
List<PlaceP> placeByMidAndDid = placeService.findPlaceByMidAndDid(mid, depository.getId());
depositoryIdList.add(depository.getId());
}
for (RoleAndDepository depository : depositoryAndRole) {
if(!depositoryIdList.contains(depository.getDepositoryId())){
depositoryIdList.add(depository.getDepositoryId());
}
}
List<InventoryP> inventoryPList = new ArrayList<>();
for (Integer depositoryId:depositoryIdList
) {
param.put("depositoryId", depositoryId);
// 查找当前用户部门仓库中是否存在该物料
inventoryPList.addAll(materialService.findInventory(param));
}
for (Integer depositoryId:depositoryIdList){
for (InventoryP inventory : inventoryPList) {
List<PlaceP> placeByMidAndDid = placeService.findPlaceByMidAndDid(inventory.getId(), depositoryId);
for (PlaceP placeP : placeByMidAndDid) {
int index = placeList.indexOf(placeP);
if (index == -1) {
@ -220,6 +243,8 @@ public class PlaceController {
}
}
}
}
return new RestResponse(placeList);
}
// 根据物料编码以及仓库编号获取具体库位

16
src/main/java/com/dreamchaser/depository_manage/service/impl/PlaceServiceImpl.java

@ -1,9 +1,7 @@
package com.dreamchaser.depository_manage.service.impl;
import com.dreamchaser.depository_manage.entity.Depository;
import com.dreamchaser.depository_manage.entity.MaterialAndPlace;
import com.dreamchaser.depository_manage.entity.PidOrDidAndCode;
import com.dreamchaser.depository_manage.entity.Place;
import com.dreamchaser.depository_manage.entity.*;
import com.dreamchaser.depository_manage.mapper.MaterialMapper;
import com.dreamchaser.depository_manage.mapper.PlaceMapper;
import com.dreamchaser.depository_manage.mapper.QrCodeMapper;
import com.dreamchaser.depository_manage.pojo.MaterialAndPlaceForView;
@ -31,6 +29,9 @@ public class PlaceServiceImpl implements PlaceService {
@Autowired
QrCodeMapper qrCodeMapper;
@Autowired
MaterialMapper materialMapper;
/**
* 查找所有库位
* @return
@ -200,17 +201,18 @@ public class PlaceServiceImpl implements PlaceService {
Map<String,Object> map = new HashMap<>();
map.put("mid",mid);
map.put("did",depositoryId);
Inventory inventoryById = materialMapper.findInventoryById(mid);
List<Place> placeByCondition = placeMapper.findPlaceByMidAndDid(map);
List<PlaceP> placePList = new ArrayList<>();
for (int i = 0; i < placeByCondition.size(); i++) {
Place place = placeByCondition.get(i);
for (Place place : placeByCondition) {
PlaceP pp = new PlaceP(place);
Integer did = place.getDid();
if (did != 0) {
Depository depositoryRecordById = depositoryService.findDepositoryById(did);
pp.setDepositoryName(depositoryRecordById.getDname());
} else {
pp.setDepositoryName("默认库位");
Depository depositoryById = depositoryService.findDepositoryById(inventoryById.getDepositoryId());
pp.setDepositoryName(depositoryById.getDname());
}
placePList.add(pp);
}

Loading…
Cancel
Save