|
|
|
@ -301,6 +301,16 @@ public class MaterialServiceImpl implements MaterialService { |
|
|
|
return pack(list); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 用于修改库存中的备注 |
|
|
|
* @param map 待修改数据 |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public Integer updateInventoryRemark(Map<String, Object> map) { |
|
|
|
return materialMapper.updateInventory(map); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 根据物料编码及所处仓库查询库存 |
|
|
|
@ -2544,9 +2554,12 @@ public class MaterialServiceImpl implements MaterialService { |
|
|
|
* |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public List<Object> InitTreeForSelectName(String mname, String type, Map<String, Object> map) { |
|
|
|
public List<Object> InitTreeForSelectName(String mname, String type, Map<String, Object> map,UserByPort userToken) { |
|
|
|
// 获取所有物料类型
|
|
|
|
List<MaterialType> materialTypeAll = materialTypeMapper.findMaterialTypeAll(); |
|
|
|
// 获取当前用户所可见的仓库id
|
|
|
|
List<Integer> depositoryIdForUserHas = roleService.findDepositoryIdForUserHas(userToken); |
|
|
|
|
|
|
|
// 物料总数
|
|
|
|
int totalVal = materialTypeAll.size(); |
|
|
|
|
|
|
|
@ -2578,7 +2591,7 @@ public class MaterialServiceImpl implements MaterialService { |
|
|
|
MaterialType materialType = materialTypeAll.get(i); |
|
|
|
if (((i + 1) % 100) == 0) { // 如果有100个开启线程进行处理
|
|
|
|
materialTypeList.add(materialType.getOldId()); |
|
|
|
TaskTestForSelectMname taskTestForSelectMname = new TaskTestForSelectMname(materialTypeList, mname, type); |
|
|
|
TaskTestForSelectMname taskTestForSelectMname = new TaskTestForSelectMname(materialTypeList, mname, type,depositoryIdForUserHas); |
|
|
|
if (flagForStock) { |
|
|
|
taskTestForSelectMname.setMap(map); |
|
|
|
} |
|
|
|
@ -2593,7 +2606,7 @@ public class MaterialServiceImpl implements MaterialService { |
|
|
|
|
|
|
|
if (materialTypeList.size() > 0) { |
|
|
|
// 如果有剩余,开启线程进行处理
|
|
|
|
TaskTestForSelectMname taskTestForSelectMname = new TaskTestForSelectMname(materialTypeList, mname, type); |
|
|
|
TaskTestForSelectMname taskTestForSelectMname = new TaskTestForSelectMname(materialTypeList, mname, type,depositoryIdForUserHas); |
|
|
|
if (flagForStock) { |
|
|
|
taskTestForSelectMname.setMap(map); |
|
|
|
} |
|
|
|
@ -2802,7 +2815,8 @@ public class MaterialServiceImpl implements MaterialService { |
|
|
|
map.put("id", material.getId()); |
|
|
|
result.add(map); |
|
|
|
} |
|
|
|
} else if (inventoryList != null) { |
|
|
|
} |
|
|
|
else if (inventoryList != null) { |
|
|
|
for (Inventory inventory : inventoryList) { |
|
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
|
String version = inventory.getVersion(); |
|
|
|
@ -2811,7 +2825,7 @@ public class MaterialServiceImpl implements MaterialService { |
|
|
|
} |
|
|
|
StringBuilder title = new StringBuilder(); |
|
|
|
Depository depositoryById = depositoryMapper.findDepositoryById(inventory.getDepositoryId()); |
|
|
|
title = new StringBuilder(inventory.getMname() + ",规格型号: " + version + "," + depositoryById.getDname() + "库存数量:" + inventory.getUnit() + ":" + inventory.getQuantity()); |
|
|
|
title = new StringBuilder(inventory.getMname() + ",规格型号: " + version + "," + depositoryById.getDname() + "库存数量:" + inventory.getUnit() + ":" + inventory.getQuantity() / 100.0); |
|
|
|
// 获取对应拆单库存处理记录
|
|
|
|
List<SplitInventory> splitInventoryList = splitUnitMapper.findSplitInventoryByIid(inventory.getId()); |
|
|
|
if (splitInventoryList.size() > 0) { |
|
|
|
@ -2822,7 +2836,7 @@ public class MaterialServiceImpl implements MaterialService { |
|
|
|
splitInventoryList) { |
|
|
|
|
|
|
|
SplitInfo splitInfoById = splitUnitMapper.findSplitInfoById(splitInventory.getSid()); |
|
|
|
title.append(",").append(splitInfoById.getNewUnit()).append(":").append(splitInventory.getSaveQuantity()); |
|
|
|
title.append(",").append(splitInfoById.getNewUnit()).append(":").append(splitInventory.getSaveQuantity() / 100.0); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
@ -2843,9 +2857,9 @@ public class MaterialServiceImpl implements MaterialService { |
|
|
|
public List<Object> buildTreeForSelectName(List<Object> list) { |
|
|
|
// 定义树结构
|
|
|
|
List<Object> result = new ArrayList<>(); |
|
|
|
for (int i = 0; i < list.size(); i++) { |
|
|
|
for (Object o : list) { |
|
|
|
// 构造为jsonObject类
|
|
|
|
JSONObject jsonObject = new JSONObject((Map<String, Object>) list.get(i)); |
|
|
|
JSONObject jsonObject = new JSONObject((Map<String, Object>) o); |
|
|
|
JSONArray children = jsonObject.getJSONArray("children"); |
|
|
|
if (children.size() > 0) { |
|
|
|
result.add(jsonObject); |
|
|
|
@ -3033,11 +3047,14 @@ public class MaterialServiceImpl implements MaterialService { |
|
|
|
String type; |
|
|
|
// 相关使用的数据
|
|
|
|
Map<String, Object> map; |
|
|
|
// 当前用户可见的仓库
|
|
|
|
List<Integer> depositoryIdList; |
|
|
|
|
|
|
|
public TaskTestForSelectMname(List<Long> materialTypeByCondition, String mname, String type) { |
|
|
|
public TaskTestForSelectMname(List<Long> materialTypeByCondition, String mname, String type,List<Integer> depositoryIdList) { |
|
|
|
this.materialTypeIdList = materialTypeByCondition; |
|
|
|
this.mname = mname; |
|
|
|
this.type = type; |
|
|
|
this.depositoryIdList = depositoryIdList; |
|
|
|
} |
|
|
|
|
|
|
|
public void setMap(Map<String, Object> map) { |
|
|
|
@ -3059,9 +3076,11 @@ public class MaterialServiceImpl implements MaterialService { |
|
|
|
// 如果是入库
|
|
|
|
materialByTypeIds = materialMapper.findMaterialByTypeIdsAndMname(paramForMnameAndMtid); |
|
|
|
} else if ("2".equals(type)) { |
|
|
|
paramForMnameAndMtid.put("depositoryIdList",depositoryIdList); |
|
|
|
// 如果是出库
|
|
|
|
inventoryByTypeIdsAndMname = materialMapper.findInventoryByTypeIdsAndMname(paramForMnameAndMtid); |
|
|
|
} else if ("3".equals(type)) { |
|
|
|
paramForMnameAndMtid.put("depositoryIdList",depositoryIdList); |
|
|
|
// 如果是盘点
|
|
|
|
List<Inventory> inventoryList = materialMapper.findInventoryByTypeIdsAndMname(paramForMnameAndMtid); |
|
|
|
|
|
|
|
|