Browse Source

更新各模块的禁用功能

lwx_dev
erdanergou 3 years ago
parent
commit
4efea1c347
  1. 104
      src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java
  2. 2
      src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java
  3. 6
      src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java
  4. 13
      src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.java
  5. 20
      src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml
  6. 3
      src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml
  7. 15
      src/main/java/com/dreamchaser/depository_manage/service/DepositoryRecordService.java
  8. 20
      src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java
  9. 5
      src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java
  10. 5
      src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialServiceImpl.java
  11. 5
      src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialTypeServiceImpl.java
  12. 12
      src/main/resources/templates/pages/application/application-in.html
  13. 1
      src/main/resources/templates/pages/material/selectPlaceByDepository.html
  14. 10
      src/test/java/com/dreamchaser/depository_manage/TestFoFindDepositoryMaterial.java
  15. 3
      target/classes/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml

104
src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java

@ -38,6 +38,9 @@ public class DepositoryController {
@Autowired @Autowired
RoleService roleService; RoleService roleService;
@Autowired
StockTakingService stockTakingService;
/** /**
* 获取本月之前的月份 * 获取本月之前的月份
* *
@ -1415,8 +1418,7 @@ public class DepositoryController {
*/ */
@GetMapping("/findMaterialByDepository") @GetMapping("/findMaterialByDepository")
public RestResponse FindMaterialByDepository(@RequestParam("depositoryId") String depositoryId, HttpServletRequest request) { public RestResponse FindMaterialByDepository(@RequestParam("depositoryId") String depositoryId, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken"); Boolean allSonDepository = findAllSonDepositoryOfRelevancy(depositoryId, request);
Boolean allSonDepository = findAllSonDepository(depositoryId, userToken);
return new RestResponse(allSonDepository); return new RestResponse(allSonDepository);
} }
@ -1475,25 +1477,25 @@ public class DepositoryController {
/** /**
* 根据父级编号查询所有关联信息 * 根据父级编号查询所有关联信息
* *
* @param parentid * @param did
* @return * @return
*/ */
public Boolean findAllSonDepositoryOfRelevancy(String parentid, HttpServletRequest request) { public Boolean findAllSonDepositoryOfRelevancy(String did, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken"); // 判断当前仓库是否存在物料
Map<String, Object> param = new HashMap<>(); boolean materialByDepository = findMaterialByDepository(did);
param.put("parentId", parentid); // 判断当前仓库是否有相关订单
param.put("state", 1); boolean depositoryRecord = findDepositoryRecord(did, request);
boolean materialByDepository = findMaterialByDepository(parentid);
Boolean depositoryRecord = findDepositoryRecord(parentid, request);
if (materialByDepository || depositoryRecord) { if (materialByDepository || depositoryRecord) {
return true; return true;
} }
List<Depository> depositoryRecordPByCondition = depositoryService.findDepositoryByCondition(param, userToken); // 查询当前仓库
for (int i = 0; i < depositoryRecordPByCondition.size(); i++) { Depository depositoryById = depositoryService.findDepositoryById(ObjectFormatUtil.toInteger(did));
String depositoryId = depositoryRecordPByCondition.get(i).getId().toString(); // 查询当前仓库及子仓库
if (!findMaterialByDepository(depositoryId) && !findDepositoryRecord(depositoryId, request)) { List<Integer> childForDepositoryByParent = findChildForDepositoryByParent(depositoryById);
findAllSonDepositoryOfRelevancy(depositoryRecordPByCondition.get(i).getId().toString(), request); List<Depository> depositories = depositoryService.selectDepositoryRecordByIds(childForDepositoryByParent);
} else { for (Depository depository : depositories) {
String depositoryId = depository.getId().toString();
if (findMaterialByDepository(depositoryId) || findDepositoryRecord(depositoryId, request)) {
return true; return true;
} }
} }
@ -1503,39 +1505,33 @@ public class DepositoryController {
/** /**
* 根据仓库编号判断该仓库是否有物品 * 根据仓库编号判断该仓库是否有物品
* *
* @param parentId * @param depositoryId 待查询仓库id
* @return * @return
*/ */
public boolean findMaterialByDepository(String parentId) { public boolean findMaterialByDepository(String depositoryId) {
Map<String, Object> param = new HashMap<>(); Map<String, Object> param = new HashMap<>();
param.put("state", 1); param.put("state", 1);
param.put("depositoryId", parentId); param.put("depositoryId", depositoryId);
List<InventoryP> materialPByCondition = materialService.findInventory(param); List<InventoryP> materialPByCondition = materialService.findInventory(param);
if (materialPByCondition.size() > 0) { return materialPByCondition.size() > 0;
return true;
}
return false;
} }
/** /**
* 根据仓库编号查询与其有关的订单信息 * 根据仓库编号查询与其有关的订单信息
* * @param depositoryId 待查询仓库id
* @param depositoryId
* @return * @return
*/ */
public Boolean findDepositoryRecord(String depositoryId, HttpServletRequest request) { public Boolean findDepositoryRecord(String depositoryId, HttpServletRequest request) {
Map<String, Object> param = new HashMap<>(); Map<String, Object> param = new HashMap<>();
param.put("depositoryId", depositoryId); param.put("depositoryId", depositoryId);
List<DepositoryRecordP> recordPByCondition = depositoryRecordService.findDepositoryRecordPByCondition(param, request); List<ApplicationInRecordP> inRecordPList = depositoryRecordService.findApplicationInRecordByDepository(depositoryId);
if (recordPByCondition.size() > 0) { List<ApplicationOutRecordP> outRecordPList = depositoryRecordService.findApplicationOutRecordByDepository(depositoryId);
return true; List<StockTaking> stockTakingList = stockTakingService.findStockTakingByCondition(param);
} return inRecordPList.size() > 0 || outRecordPList.size() > 0 || stockTakingList.size() > 0;
return false;
} }
/** /**
* 查询当前仓库子仓库 * 查询当前仓库子仓库
*
* @param parentId * @param parentId
* @return * @return
*/ */
@ -1548,6 +1544,12 @@ public class DepositoryController {
return new RestResponse(depositoryRecordPByCondition, depositoryService.findCountByCondition(param), 200); return new RestResponse(depositoryRecordPByCondition, depositoryService.findCountByCondition(param), 200);
} }
/**
* 查询当前仓库的管理员
* @param did 待查询仓库
* @param request
* @return
*/
@GetMapping("/findManagerByDid") @GetMapping("/findManagerByDid")
public RestResponse FindManagerByDid(@RequestParam("did") Integer did, HttpServletRequest request) { public RestResponse FindManagerByDid(@RequestParam("did") Integer did, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken"); UserByPort userToken = (UserByPort) request.getAttribute("userToken");
@ -1626,4 +1628,44 @@ public class DepositoryController {
return new RestResponse("err: " + e.getMessage(), 678, new StatusInfo("失败", "请联系开发人员")); return new RestResponse("err: " + e.getMessage(), 678, new StatusInfo("失败", "请联系开发人员"));
} }
} }
/**
* 用于获取当前仓库的所有子类
* @param d 待查询仓库
* @return
*/
public List<Integer> findChildForDepositoryByParent(Depository d) {
// 用于存储最终返回结果
List<Integer> result = new ArrayList<>();
result.add(d.getId());
// 父级
List<Integer> parentId = new ArrayList<>();
parentId.add(d.getId());
// 查询所有仓库正常使用的仓库
List<Depository> depositoryAll = depositoryService.findDepositoryAll();
for (Depository depository : depositoryAll) {
if (isTrueForParent(parentId, depository.getParentId())) {
parentId.add(depository.getId());
result.add(depository.getId());
}
}
return result;
}
/**
* 判断当前id是否在ids中
*
* @param parentList 父级列表
* @param id 待判断id
* @return
*/
public Boolean isTrueForParent(List<Integer> parentList, Integer id) {
for (Integer aLong : parentList) {
if (Long.compare(aLong, id) == 0) {
return true;
}
}
return false;
}
} }

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

@ -9,6 +9,7 @@ import com.dreamchaser.depository_manage.service.impl.QyWxOperationService;
import com.dreamchaser.depository_manage.utils.*; import com.dreamchaser.depository_manage.utils.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -174,6 +175,7 @@ public class DepositoryRecordController {
// 入库申请 // 入库申请
@PostMapping("/applicationIn") @PostMapping("/applicationIn")
@Transactional(rollbackFor = Exception.class)
public RestResponse insertApplicationInRecord(@RequestBody Map<String,Object> map, HttpServletRequest request){ public RestResponse insertApplicationInRecord(@RequestBody Map<String,Object> map, HttpServletRequest request){
UserByPort userToken= (UserByPort) request.getAttribute("userToken"); UserByPort userToken= (UserByPort) request.getAttribute("userToken");
List<Integer> params = (List<Integer>) map.get("params"); List<Integer> params = (List<Integer>) map.get("params");

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

@ -59,6 +59,12 @@ public class MaterialController {
} }
/**
* 用于查询当前组合中物料的数量
* @param map 待查询数据
* @param request
* @return
*/
@GetMapping("/findInventoryForGroup") @GetMapping("/findInventoryForGroup")
public RestResponse findInventoryForGroup(@RequestParam Map<String, Object> map, HttpServletRequest request) { public RestResponse findInventoryForGroup(@RequestParam Map<String, Object> map, HttpServletRequest request) {
UserByPort userToken = (UserByPort) request.getAttribute("userToken"); UserByPort userToken = (UserByPort) request.getAttribute("userToken");

13
src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.java

@ -216,6 +216,19 @@ public interface DepositoryRecordMapper {
*/ */
List<ApplicationInRecordP> findApplicationInRecordPByCondition(Map<String,Object> map); List<ApplicationInRecordP> findApplicationInRecordPByCondition(Map<String,Object> map);
/**
* 查询当前仓库的入库记录
* @param depositoryId 待查询仓库id
* @return
*/
List<ApplicationInRecordP> findApplicationInRecordByDepository(String depositoryId);
/**
* 查询当前仓库的出库记录
* @param depositoryId 待查询仓库id
* @return
*/
List<ApplicationOutRecordP> findApplicationOutRecordByDepository(String depositoryId);
/** /**

20
src/main/java/com/dreamchaser/depository_manage/mapper/DepositoryRecordMapper.xml

@ -288,6 +288,19 @@
LIMIT #{begin},#{size} LIMIT #{begin},#{size}
</if> </if>
</select> </select>
<!--根据条件查询入库记录-->
<select id="findApplicationInRecordByDepository" parameterType="String" resultMap="applicationInRecord">
select
<include refid="ApplicationInRecordInfo"/>
from applicationInRecordInfo
where 1 = 1
<if test="depositoryId != null and depositoryId != ''">
and did = #{depositoryId}
</if>
</select>
<!--根据条件查询入库记录--> <!--根据条件查询入库记录-->
<select id="findApplicationInRecordPByCondition" parameterType="map" resultMap="applicationInRecord"> <select id="findApplicationInRecordPByCondition" parameterType="map" resultMap="applicationInRecord">
select select
@ -313,6 +326,13 @@
LIMIT #{begin},#{size} LIMIT #{begin},#{size}
</if> </if>
</select> </select>
<!--根据条件查询出库记录-->
<select id="findApplicationOutRecordByDepository" parameterType="String" resultMap="applicationOutRecord">
select
<include refid="ApplicationOutRecordInfo"/>
from applicationOutRecordInfo
where 1 = 1 and depositoryId = #{depositoryId}
</select>
<!--根据条件查询出库记录--> <!--根据条件查询出库记录-->
<select id="findApplicationOutRecordPByCondition" parameterType="map" resultMap="applicationOutRecord"> <select id="findApplicationOutRecordPByCondition" parameterType="map" resultMap="applicationOutRecord">
select select

3
src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml

@ -174,6 +174,9 @@
<if test="materialTypeId != null"> <if test="materialTypeId != null">
AND m.type_id = #{materialTypeId} AND m.type_id = #{materialTypeId}
</if> </if>
<if test="state != null and state != ''">
and m.state = #{state}
</if>
<if test="code != null and code != '' "> <if test="code != null and code != '' ">
and m.code = #{code} and m.code = #{code}
</if> </if>

15
src/main/java/com/dreamchaser/depository_manage/service/DepositoryRecordService.java

@ -95,6 +95,21 @@ public interface DepositoryRecordService {
List<ApplicationOutRecordP> findApplicationOutRecordPByCondition(Map<String,Object> map,HttpServletRequest request); List<ApplicationOutRecordP> findApplicationOutRecordPByCondition(Map<String,Object> map,HttpServletRequest request);
/**
* 查询当前仓库的入库记录
* @param depositoryId 待查询仓库id
* @return
*/
List<ApplicationInRecordP> findApplicationInRecordByDepository(String depositoryId);
/**
* 查询当前仓库的出库记录
* @param depositoryId 待查询仓库id
* @return
*/
List<ApplicationOutRecordP> findApplicationOutRecordByDepository(String depositoryId);
/** /**
* 根据条件查询出库记录数目 * 根据条件查询出库记录数目
* @param map * @param map

20
src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java

@ -1928,6 +1928,26 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
return list; return list;
} }
/**
* 查询当前仓库的入库记录
* @param depositoryId 待查询仓库id
* @return
*/
@Override
public List<ApplicationInRecordP> findApplicationInRecordByDepository(String depositoryId) {
return depositoryRecordMapper.findApplicationInRecordByDepository(depositoryId);
}
/**
* 查询当前仓库的出库记录
* @param depositoryId 待查询仓库id
* @return
*/
@Override
public List<ApplicationOutRecordP> findApplicationOutRecordByDepository(String depositoryId) {
return depositoryRecordMapper.findApplicationOutRecordByDepository(depositoryId);
}
/** /**
* 根据条件查询出库记录数目 * 根据条件查询出库记录数目
* *

5
src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java

@ -153,6 +153,11 @@ public class DepositoryServiceImpl implements DepositoryService {
*/ */
@Override @Override
public Integer findCountByCondition(Map<String, Object> map) { public Integer findCountByCondition(Map<String, Object> map) {
Object state = 1;
if(map.containsKey("state")){
state = map.get("state");
}
map.put("state",state);
return depositoryMapper.findCountByCondition(map); return depositoryMapper.findCountByCondition(map);
} }

5
src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialServiceImpl.java

@ -487,6 +487,11 @@ public class MaterialServiceImpl implements MaterialService {
*/ */
@Override @Override
public Integer findCountByCondition(Map<String, Object> map) { public Integer findCountByCondition(Map<String, Object> map) {
Object state = 1;
if(map.containsKey("state")){
state = map.get("state");
}
map.put("state",state);
return materialMapper.findCountByCondition(map); return materialMapper.findCountByCondition(map);
} }

5
src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialTypeServiceImpl.java

@ -62,6 +62,11 @@ public class MaterialTypeServiceImpl implements MaterialTypeService {
*/ */
@Override @Override
public Integer findMaterialTypeCountByCondition(Map<String, Object> map) { public Integer findMaterialTypeCountByCondition(Map<String, Object> map) {
Object state = 1;
if(map.containsKey("state")){
state = map.get("state");
}
map.put("state",state);
return materialTypeMapper.findMaterialTypeCountByCondition(map); return materialTypeMapper.findMaterialTypeCountByCondition(map);
} }

12
src/main/resources/templates/pages/application/application-in.html

@ -48,6 +48,7 @@
<div class="layuimini-container"> <div class="layuimini-container">
<div class="layuimini-main"> <div class="layuimini-main">
<div class="layui-fluid"> <div class="layui-fluid">
<!-- 入库申请提交--> <!-- 入库申请提交-->
<div class="layui-carousel" id="stepForm" lay-filter="stepForm" style="margin: 0 auto; "> <div class="layui-carousel" id="stepForm" lay-filter="stepForm" style="margin: 0 auto; ">
<div carousel-item style="overflow: inherit"> <div carousel-item style="overflow: inherit">
@ -262,8 +263,6 @@
title: '提交成功' title: '提交成功'
}] }]
}); });
// 用于提交操作 // 用于提交操作
form.on('submit(formStep)', function (data) { form.on('submit(formStep)', function (data) {
data = data.field; data = data.field;
@ -320,8 +319,7 @@
}); });
return false; return false;
}); });
// 用于提交操作(组合)
form.on('submit(formStep2)', function (data) { form.on('submit(formStep2)', function (data) {
step.next('#stepForm'); step.next('#stepForm');
return false; return false;
@ -433,7 +431,6 @@
$("#stepForm").css("height", height + 587 + 'px'); $("#stepForm").css("height", height + 587 + 'px');
$("#" + parentId).after(materialItem); $("#" + parentId).after(materialItem);
}; };
// 实现卡片删除 // 实现卡片删除
deleteItem = function (obj) { deleteItem = function (obj) {
// 获取父节点 // 获取父节点
@ -447,8 +444,6 @@
params = remove(params, parentId); params = remove(params, parentId);
reparent.removeChild(parent); reparent.removeChild(parent);
}; };
//删除数组中指定元素 //删除数组中指定元素
function remove(arr, item) { function remove(arr, item) {
var result = []; var result = [];
@ -460,7 +455,6 @@
} }
return result; return result;
} }
// 用于选择生产日期 // 用于选择生产日期
selectDate = function (obj) { selectDate = function (obj) {
var name = obj.id; var name = obj.id;
@ -470,8 +464,6 @@
, show: true , show: true
}); });
}; };
// 用于实现通过编码查询物料 // 用于实现通过编码查询物料
selectCode = function (obj) { selectCode = function (obj) {
// 输入code // 输入code

1
src/main/resources/templates/pages/material/selectPlaceByDepository.html

@ -69,7 +69,6 @@
}); });
outQuantityCheck = function (placeId) { outQuantityCheck = function (placeId) {
console.log(quantity)
layer.prompt({ layer.prompt({
formType: 0, formType: 0,
value: quantity, value: quantity,

10
src/test/java/com/dreamchaser/depository_manage/TestFoFindDepositoryMaterial.java

@ -58,7 +58,7 @@ public class TestFoFindDepositoryMaterial {
// 判断当前仓库是否存在物料 // 判断当前仓库是否存在物料
boolean materialByDepository = findMaterialByDepository(did); boolean materialByDepository = findMaterialByDepository(did);
// 判断当前仓库是否有相关订单 // 判断当前仓库是否有相关订单
boolean depositoryRecord = findDepositoryRecord(did, request); boolean depositoryRecord = findDepositoryRecord(did);
if (materialByDepository || depositoryRecord) { if (materialByDepository || depositoryRecord) {
return true; return true;
} }
@ -69,7 +69,7 @@ public class TestFoFindDepositoryMaterial {
List<Depository> depositories = depositoryService.selectDepositoryRecordByIds(childForDepositoryByParent); List<Depository> depositories = depositoryService.selectDepositoryRecordByIds(childForDepositoryByParent);
for (Depository depository : depositories) { for (Depository depository : depositories) {
String depositoryId = depository.getId().toString(); String depositoryId = depository.getId().toString();
if (findMaterialByDepository(depositoryId) || findDepositoryRecord(depositoryId, request)) { if (findMaterialByDepository(depositoryId) || findDepositoryRecord(depositoryId)) {
return true; return true;
} }
} }
@ -95,11 +95,11 @@ public class TestFoFindDepositoryMaterial {
* @param depositoryId 待查询仓库id * @param depositoryId 待查询仓库id
* @return * @return
*/ */
public Boolean findDepositoryRecord(String depositoryId, HttpServletRequest request) { public Boolean findDepositoryRecord(String depositoryId) {
Map<String, Object> param = new HashMap<>(); Map<String, Object> param = new HashMap<>();
param.put("depositoryId", depositoryId); param.put("depositoryId", depositoryId);
List<ApplicationInRecordP> inRecordPList = depositoryRecordService.findApplicationInRecordPByCondition(param,request); List<ApplicationInRecordP> inRecordPList = depositoryRecordService.findApplicationInRecordByDepository(depositoryId);
List<ApplicationOutRecordP> outRecordPList = depositoryRecordService.findApplicationOutRecordPByCondition(param, request); List<ApplicationOutRecordP> outRecordPList = depositoryRecordService.findApplicationOutRecordByDepository(depositoryId);
List<StockTaking> stockTakingList = stockTakingService.findStockTakingByCondition(param); List<StockTaking> stockTakingList = stockTakingService.findStockTakingByCondition(param);
return inRecordPList.size() > 0 || outRecordPList.size() > 0 || stockTakingList.size() > 0; return inRecordPList.size() > 0 || outRecordPList.size() > 0 || stockTakingList.size() > 0;
} }

3
target/classes/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml

@ -174,6 +174,9 @@
<if test="materialTypeId != null"> <if test="materialTypeId != null">
AND m.type_id = #{materialTypeId} AND m.type_id = #{materialTypeId}
</if> </if>
<if test="state != null and state != ''">
and m.state = #{state}
</if>
<if test="code != null and code != '' "> <if test="code != null and code != '' ">
and m.code = #{code} and m.code = #{code}
</if> </if>

Loading…
Cancel
Save