Browse Source

更新各模块的禁用功能

lwx_dev
erdanergou 3 years ago
parent
commit
4caf60f37a
  1. 11
      src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java
  2. 21
      src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java
  3. 2
      src/main/java/com/dreamchaser/depository_manage/controller/MaterialController.java
  4. 23
      src/main/java/com/dreamchaser/depository_manage/controller/PageController.java
  5. 7
      src/main/java/com/dreamchaser/depository_manage/controller/PlaceController.java
  6. 14
      src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.java
  7. 42
      src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml
  8. 2
      src/main/java/com/dreamchaser/depository_manage/mapper/StockTakingMapper.java
  9. 3
      src/main/java/com/dreamchaser/depository_manage/service/DepositoryService.java
  10. 8
      src/main/java/com/dreamchaser/depository_manage/service/MaterialService.java
  11. 7
      src/main/java/com/dreamchaser/depository_manage/service/StockTakingService.java
  12. 12
      src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java
  13. 7
      src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryServiceImpl.java
  14. 20
      src/main/java/com/dreamchaser/depository_manage/service/impl/ExcelServiceImpl.java
  15. 17
      src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialServiceImpl.java
  16. 5
      src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialTypeServiceImpl.java
  17. 2
      src/main/java/com/dreamchaser/depository_manage/service/impl/PlaceServiceImpl.java
  18. 11
      src/main/java/com/dreamchaser/depository_manage/service/impl/StockTakingServiceImpl.java
  19. 6
      src/main/resources/templates/pages/chart/chart-in_back.html
  20. 5
      src/main/resources/templates/pages/depository/table-stock.html
  21. 96
      src/main/resources/templates/pages/warehouse/depository-out.html
  22. 147
      src/test/java/com/dreamchaser/depository_manage/TestFoFindDepositoryMaterial.java
  23. 42
      target/classes/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml
  24. 6
      target/classes/templates/pages/chart/chart-in_back.html
  25. 5
      target/classes/templates/pages/depository/table-stock.html
  26. 96
      target/classes/templates/pages/warehouse/depository-out.html

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

@ -1462,8 +1462,9 @@ public class DepositoryController {
} }
List<Depository> depositoryRecordPByCondition = depositoryService.findDepositoryByCondition(param, userToken); List<Depository> depositoryRecordPByCondition = depositoryService.findDepositoryByCondition(param, userToken);
for (int i = 0; i < depositoryRecordPByCondition.size(); i++) { for (int i = 0; i < depositoryRecordPByCondition.size(); i++) {
if (!findMaterialByDepository(depositoryRecordPByCondition.get(i).getId().toString())) { String depositoryId = depositoryRecordPByCondition.get(i).getId().toString();
findAllSonDepository(depositoryRecordPByCondition.get(i).getId().toString(), userToken); if (!findMaterialByDepository(depositoryId)) {
findAllSonDepository(depositoryId, userToken);
} else { } else {
return true; return true;
} }
@ -1509,7 +1510,7 @@ public class DepositoryController {
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", parentId);
List<MaterialP> materialPByCondition = materialService.findMaterialPByCondition(param); List<InventoryP> materialPByCondition = materialService.findInventory(param);
if (materialPByCondition.size() > 0) { if (materialPByCondition.size() > 0) {
return true; return true;
} }
@ -1594,7 +1595,7 @@ public class DepositoryController {
// 根据id获取仓库信息 // 根据id获取仓库信息
@GetMapping("/findDepositoryByDid") @GetMapping("/findDepositoryByDid")
public RestResponse findDepositoryByDid(@RequestParam(value = "depositoryId") Integer depositoryId) { public RestResponse findDepositoryByDid(@RequestParam(value = "depositoryId") Integer depositoryId) {
Depository depositoryRecordById = depositoryService.findDepositoryRecordById(depositoryId); Depository depositoryRecordById = depositoryService.findDepositoryById(depositoryId);
return new RestResponse(depositoryRecordById); return new RestResponse(depositoryRecordById);
} }
@ -1607,7 +1608,7 @@ public class DepositoryController {
String qrCode = snowflake.nextIdStr(); String qrCode = snowflake.nextIdStr();
Integer depositoryId = ObjectFormatUtil.toInteger(map.get("depositoryId")); Integer depositoryId = ObjectFormatUtil.toInteger(map.get("depositoryId"));
Depository depository = depositoryService.findDepositoryRecordById(depositoryId); Depository depository = depositoryService.findDepositoryById(depositoryId);
String qrCodeByDepository = depositoryService.findQrCodeByDepository(depository.getId()); String qrCodeByDepository = depositoryService.findQrCodeByDepository(depository.getId());
if (qrCodeByDepository == null) { if (qrCodeByDepository == null) {

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

@ -43,15 +43,6 @@ public class DepositoryRecordController {
@GetMapping("/depositoryRecord")
public RestResponse findDepositoryRecordByCondition(@RequestParam Map<String,Object> map,HttpServletRequest request){
List<DepositoryRecordP> list=depositoryRecordService.findDepositoryRecordPByCondition(map,request);
for (int i = 0; i < list.size(); i++) {
list.get(i).setPrice(list.get(i).getPrice() / 100);
}
return new RestResponse(list,depositoryRecordService.findCountByCondition(map),200);
}
@GetMapping("/myApply") @GetMapping("/myApply")
public RestResponse findDepositoryInAndOutRecordPByCondition(@RequestParam Map<String,Object> map,HttpServletRequest request){ public RestResponse findDepositoryInAndOutRecordPByCondition(@RequestParam Map<String,Object> map,HttpServletRequest request){
UserByPort userToken= (UserByPort) request.getAttribute("userToken"); UserByPort userToken= (UserByPort) request.getAttribute("userToken");
@ -150,7 +141,7 @@ public class DepositoryRecordController {
// 获取数据库中子订单信息 // 获取数据库中子订单信息
ApplicationOutRecordMin applicationOutMinById = depositoryRecordService.findApplicationOutMinById(ObjectFormatUtil.toInteger(minRecordId)); ApplicationOutRecordMin applicationOutMinById = depositoryRecordService.findApplicationOutMinById(ObjectFormatUtil.toInteger(minRecordId));
// 获取仓库信息 // 获取仓库信息
Depository depositoryRecordById = depositoryService.findDepositoryRecordById(applicationOutMinById.getDepositoryId()); Depository depositoryRecordById = depositoryService.findDepositoryById(applicationOutMinById.getDepositoryId());
// 获取子订单对应主订单 // 获取子订单对应主订单
ApplicationOutRecordP applicationOutRecordPById = depositoryRecordService.findApplicationOutRecordPById(applicationOutMinById.getParentId()); ApplicationOutRecordP applicationOutRecordPById = depositoryRecordService.findApplicationOutRecordPById(applicationOutMinById.getParentId());
// 创建展示对象 // 创建展示对象
@ -175,7 +166,7 @@ public class DepositoryRecordController {
UserByPort userToken= (UserByPort) request.getAttribute("userToken"); UserByPort userToken= (UserByPort) request.getAttribute("userToken");
map.put("applicantId",userToken.getId()); map.put("applicantId",userToken.getId());
Integer depositoryId = ObjectFormatUtil.toInteger(map.get("depositoryId")); Integer depositoryId = ObjectFormatUtil.toInteger(map.get("depositoryId"));
Depository depository = depositoryService.findDepositoryRecordById(depositoryId); Depository depository = depositoryService.findDepositoryById(depositoryId);
return CrudUtil.postHandle(depositoryRecordService.apply(map),1); return CrudUtil.postHandle(depositoryRecordService.apply(map),1);
} }
@ -446,7 +437,7 @@ public class DepositoryRecordController {
Integer stateOnView =ObjectFormatUtil.toInteger(map.get("state")); Integer stateOnView =ObjectFormatUtil.toInteger(map.get("state"));
UserByPort userToken = (UserByPort) request.getAttribute("userToken"); UserByPort userToken = (UserByPort) request.getAttribute("userToken");
// 获取当前仓库信息 // 获取当前仓库信息
Depository depositoryRecordById = depositoryService.findDepositoryRecordById(depositoryId); Depository depositoryRecordById = depositoryService.findDepositoryById(depositoryId);
// 获取当前用户要处理的记录信息 // 获取当前用户要处理的记录信息
String minRecord = (String) redisTemplateForHash.opsForHash().get("user:"+userToken.getId(),"minRecord"); String minRecord = (String) redisTemplateForHash.opsForHash().get("user:"+userToken.getId(),"minRecord");
// 获取子订单键值 // 获取子订单键值
@ -576,7 +567,7 @@ public class DepositoryRecordController {
// 获取出库物料信息 // 获取出库物料信息
Material materialById = materialService.findMaterialById(applicationOutRecordMin.getMid()); Material materialById = materialService.findMaterialById(applicationOutRecordMin.getMid());
// 获取出库物料仓库信息 // 获取出库物料仓库信息
Depository depository = depositoryService.findDepositoryRecordById(applicationOutRecordMin.getDepositoryId()); Depository depository = depositoryService.findDepositoryById(applicationOutRecordMin.getDepositoryId());
mname.append(materialById.getMname()).append(","); mname.append(materialById.getMname()).append(",");
mcode.append(materialById.getCode()).append(","); mcode.append(materialById.getCode()).append(",");
depositoryName.append(depository.getDname()).append(","); depositoryName.append(depository.getDname()).append(",");
@ -846,7 +837,7 @@ public class DepositoryRecordController {
// 获取物料信息 // 获取物料信息
Inventory materialById = materialService.findInventoryByMid(mid); Inventory materialById = materialService.findInventoryByMid(mid);
// 获取仓库信息 // 获取仓库信息
Depository depositoryRecordById = depositoryService.findDepositoryRecordById(depositoryId); Depository depositoryRecordById = depositoryService.findDepositoryById(depositoryId);
ApplicationModel ap = new ApplicationModel(); ApplicationModel ap = new ApplicationModel();
ap.setDepositoryId(depositoryId); ap.setDepositoryId(depositoryId);
@ -1115,7 +1106,7 @@ public class DepositoryRecordController {
// 获取失败的物料信息 // 获取失败的物料信息
Material materialById = materialService.findMaterialById(mid); Material materialById = materialService.findMaterialById(mid);
// 获取失败的仓库信息 // 获取失败的仓库信息
Depository depositoryRecordById = depositoryService.findDepositoryRecordById(depositoryId); Depository depositoryRecordById = depositoryService.findDepositoryById(depositoryId);
errMsg += materialById.getMname() + "在"+depositoryRecordById.getDname()+"出库数量为"+quantity +"失败,数量不足;"; errMsg += materialById.getMname() + "在"+depositoryRecordById.getDname()+"出库数量为"+quantity +"失败,数量不足;";
} }
} }

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

@ -1510,7 +1510,7 @@ public class MaterialController {
flag = 2; flag = 2;
} else { } else {
// 如果是仓库 // 如果是仓库
Depository depository = depositoryService.findDepositoryRecordById(ObjectFormatUtil.toInteger(locationByQrCode.getDepositoryId())); Depository depository = depositoryService.findDepositoryById(ObjectFormatUtil.toInteger(locationByQrCode.getDepositoryId()));
result.put("depository", depository); result.put("depository", depository);
flag = 3; flag = 3;
} }

23
src/main/java/com/dreamchaser/depository_manage/controller/PageController.java

@ -635,7 +635,7 @@ public class PageController {
materialById = materialService.findInventoryByMid(mid); materialById = materialService.findInventoryByMid(mid);
} }
if (depositoryId != null) { if (depositoryId != null) {
depositoryRecordById = depositoryService.findDepositoryRecordById(depositoryId); depositoryRecordById = depositoryService.findDepositoryById(depositoryId);
} }
if (materialById.getShelfLife() == null) { if (materialById.getShelfLife() == null) {
mv.addObject("display", "none"); mv.addObject("display", "none");
@ -667,7 +667,7 @@ public class PageController {
InventoryP materialById = new InventoryP(); InventoryP materialById = new InventoryP();
if (code != null) { if (code != null) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
Depository depositoryByCode = depositoryService.findDepositoryRecordById(ObjectFormatUtil.toInteger(depositoryId)); Depository depositoryByCode = depositoryService.findDepositoryById(ObjectFormatUtil.toInteger(depositoryId));
map.put("depositoryId", depositoryByCode.getId()); map.put("depositoryId", depositoryByCode.getId());
map.put("mcode", code); map.put("mcode", code);
List<InventoryP> inventory = materialService.findInventory(map); List<InventoryP> inventory = materialService.findInventory(map);
@ -973,7 +973,7 @@ public class PageController {
ModelAndView mv = new ModelAndView(); ModelAndView mv = new ModelAndView();
mv.setViewName("pages/warehouse/warehouse_view"); mv.setViewName("pages/warehouse/warehouse_view");
if (id != null) { if (id != null) {
Depository depositoryRecordById = depositoryService.findDepositoryRecordById(id); Depository depositoryRecordById = depositoryService.findDepositoryById(id);
// 用于二维码存放数据 // 用于二维码存放数据
mv.addObject("record", depositoryRecordById); mv.addObject("record", depositoryRecordById);
@ -1054,6 +1054,8 @@ public class PageController {
param.put("parentId", parentId); param.put("parentId", parentId);
mv.addObject("parentId", parentId); mv.addObject("parentId", parentId);
List<Depository> depositoryRecordPByCondition = depositoryService.findDepositoryByCondition(param, userByPort); List<Depository> depositoryRecordPByCondition = depositoryService.findDepositoryByCondition(param, userByPort);
param.put("state",2);
List<Depository> depositoryRecordPByConditionForState = depositoryService.findDepositoryByCondition(param, userByPort);
Integer role = userByPort.getIsadmin(); Integer role = userByPort.getIsadmin();
if (role == null) { if (role == null) {
role = 1; role = 1;
@ -1063,10 +1065,11 @@ public class PageController {
} else { } else {
mv.addObject("display", "none"); mv.addObject("display", "none");
} }
if (depositoryRecordPByCondition.size() > 0) { if (depositoryRecordPByCondition.size() > 0 || depositoryRecordPByConditionForState.size() > 0) {
mv.addObject("depositories", depositoryRecordPByCondition); mv.addObject("depositories", depositoryRecordPByCondition);
mv.setViewName("pages/warehouse/depository-out"); mv.setViewName("pages/warehouse/depository-out");
} else { } else {
List<Place> placeByDid = placeService.findPlaceByDid(parentId); List<Place> placeByDid = placeService.findPlaceByDid(parentId);
mv.addObject("placeList", placeByDid); mv.addObject("placeList", placeByDid);
mv.setViewName("pages/warehouse/warehouseByParentId"); mv.setViewName("pages/warehouse/warehouseByParentId");
@ -1186,7 +1189,7 @@ public class PageController {
// 获取出库物料信息 // 获取出库物料信息
Inventory materialById = materialService.findInventoryByMid(applicationOutRecordMin.getMid()); Inventory materialById = materialService.findInventoryByMid(applicationOutRecordMin.getMid());
// 获取出库物料仓库信息 // 获取出库物料仓库信息
Depository depository = depositoryService.findDepositoryRecordById(applicationOutRecordMin.getDepositoryId()); Depository depository = depositoryService.findDepositoryById(applicationOutRecordMin.getDepositoryId());
// 获取出库库位 // 获取出库库位
Place placeById = placeService.findPlaceById(applicationOutRecordMin.getPlaceId()); Place placeById = placeService.findPlaceById(applicationOutRecordMin.getPlaceId());
if (placeById != null) { if (placeById != null) {
@ -1272,7 +1275,7 @@ public class PageController {
// 获取出库物料信息 // 获取出库物料信息
Inventory materialById = materialService.findInventoryByMid(recordMin.getMid()); Inventory materialById = materialService.findInventoryByMid(recordMin.getMid());
// 获取出库物料仓库信息 // 获取出库物料仓库信息
Depository depository = depositoryService.findDepositoryRecordById(recordMin.getDepositoryId()); Depository depository = depositoryService.findDepositoryById(recordMin.getDepositoryId());
// 获取出库库位 // 获取出库库位
Place placeById = placeService.findPlaceById(recordMin.getPlaceId()); Place placeById = placeService.findPlaceById(recordMin.getPlaceId());
// 获取处理人 // 获取处理人
@ -1333,7 +1336,7 @@ public class PageController {
// 获取出库物料信息 // 获取出库物料信息
Inventory materialById = materialService.findInventoryByMid(applicationOutRecordMin.getMid()); Inventory materialById = materialService.findInventoryByMid(applicationOutRecordMin.getMid());
// 获取出库物料仓库信息 // 获取出库物料仓库信息
Depository depository = depositoryService.findDepositoryRecordById(applicationOutRecordMin.getDepositoryId()); Depository depository = depositoryService.findDepositoryById(applicationOutRecordMin.getDepositoryId());
// 获取出库库位 // 获取出库库位
Place placeById = placeService.findPlaceById(applicationOutRecordMin.getPlaceId()); Place placeById = placeService.findPlaceById(applicationOutRecordMin.getPlaceId());
if (placeById != null) { if (placeById != null) {
@ -1460,7 +1463,7 @@ public class PageController {
// 获取盘点位置 // 获取盘点位置
Integer placeId = stockTaking.getPlaceId(); Integer placeId = stockTaking.getPlaceId();
StringBuilder location = new StringBuilder(); StringBuilder location = new StringBuilder();
Depository depository = depositoryService.findDepositoryRecordById(stockTaking.getDepositoryId()); Depository depository = depositoryService.findDepositoryById(stockTaking.getDepositoryId());
location.append(depository.getDname()); location.append(depository.getDname());
if (!(Integer.compare(placeId, 0) == 0)) { if (!(Integer.compare(placeId, 0) == 0)) {
// 如果不是默认库位 // 如果不是默认库位
@ -1539,7 +1542,7 @@ public class PageController {
// 获取盘点位置 // 获取盘点位置
Integer placeId = stockTaking.getPlaceId(); Integer placeId = stockTaking.getPlaceId();
StringBuilder location = new StringBuilder(); StringBuilder location = new StringBuilder();
Depository depository = depositoryService.findDepositoryRecordById(stockTaking.getDepositoryId()); Depository depository = depositoryService.findDepositoryById(stockTaking.getDepositoryId());
location.append(depository.getDname()); location.append(depository.getDname());
if (!(Integer.compare(placeId, 0) == 0)) { if (!(Integer.compare(placeId, 0) == 0)) {
// 如果不是默认库位 // 如果不是默认库位
@ -2023,7 +2026,7 @@ public class PageController {
@GetMapping("/ApplicationOutMinByDidForMobile") @GetMapping("/ApplicationOutMinByDidForMobile")
public ModelAndView ApplicationOutMinByDidForMobile(Integer depositoryId, Integer state, HttpServletRequest request) { public ModelAndView ApplicationOutMinByDidForMobile(Integer depositoryId, Integer state, HttpServletRequest request) {
ModelAndView mv = new ModelAndView(); ModelAndView mv = new ModelAndView();
Depository depository = depositoryService.findDepositoryRecordById(depositoryId); Depository depository = depositoryService.findDepositoryById(depositoryId);
mv.addObject("depositoryId", depositoryId); mv.addObject("depositoryId", depositoryId);
mv.addObject("state", state); mv.addObject("state", state);
mv.addObject("depository", depository); mv.addObject("depository", depository);

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

@ -1,7 +1,6 @@
package com.dreamchaser.depository_manage.controller; package com.dreamchaser.depository_manage.controller;
import cn.hutool.core.lang.Snowflake; import cn.hutool.core.lang.Snowflake;
import com.baomidou.mybatisplus.extension.api.R;
import com.dreamchaser.depository_manage.entity.*; import com.dreamchaser.depository_manage.entity.*;
import com.dreamchaser.depository_manage.exception.MyException; import com.dreamchaser.depository_manage.exception.MyException;
import com.dreamchaser.depository_manage.pojo.*; import com.dreamchaser.depository_manage.pojo.*;
@ -47,7 +46,7 @@ public class PlaceController {
Place place = placeByCondition.get(i); Place place = placeByCondition.get(i);
PlaceP placeP = new PlaceP(place); PlaceP placeP = new PlaceP(place);
Integer depositoryId = place.getDid(); Integer depositoryId = place.getDid();
Depository depositoryById = depositoryService.findDepositoryRecordById(depositoryId); Depository depositoryById = depositoryService.findDepositoryById(depositoryId);
// 获取当前库位所有的物料信息 // 获取当前库位所有的物料信息
List<MaterialAndPlace> placeAndMaterialByPid = placeService.findPlaceAndMaterialByPid(place.getId()); List<MaterialAndPlace> placeAndMaterialByPid = placeService.findPlaceAndMaterialByPid(place.getId());
if(placeAndMaterialByPid == null){ if(placeAndMaterialByPid == null){
@ -293,7 +292,7 @@ public class PlaceController {
// 如果是默认库位 // 如果是默认库位
placeP.setDepositoryName("默认库位-0000"); placeP.setDepositoryName("默认库位-0000");
}else { }else {
Depository depository = depositoryService.findDepositoryRecordById(placeP.getDid()); Depository depository = depositoryService.findDepositoryById(placeP.getDid());
placeP.setDepositoryName(depository.getDname() + "-"+placeP.getCode()); placeP.setDepositoryName(depository.getDname() + "-"+placeP.getCode());
} }
result.put("flag",1); result.put("flag",1);
@ -302,7 +301,7 @@ public class PlaceController {
// 如果当前位置为仓库 // 如果当前位置为仓库
// 获取当前仓库 // 获取当前仓库
Depository depository = depositoryService.findDepositoryRecordById(Integer.parseInt(locationByQrCode.getDepositoryId().toString())); Depository depository = depositoryService.findDepositoryById(Integer.parseInt(locationByQrCode.getDepositoryId().toString()));
result.put("flag",2); result.put("flag",2);
result.put("depository",depository); result.put("depository",depository);
} }

14
src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.java

@ -23,6 +23,13 @@ public interface MaterialMapper {
*/ */
Integer insertMaterial(Map<String, Object> map); Integer insertMaterial(Map<String, Object> map);
/**
* 根据物料名与物料规格型号查询对应的物料
* @param map
* @return
*/
Material findMaterialByMnameAndVersion(Map<String,Object> map);
/** /**
@ -136,6 +143,13 @@ public interface MaterialMapper {
*/ */
List<Inventory> findInventory(Map<String,Object> map); List<Inventory> findInventory(Map<String,Object> map);
/**
* 根据条件查询符合条件的库存
* @param map
* @return
*/
List<Inventory> findInventoryForImport(Map<String,Object> map);
/** /**
* 根据物料id与仓库id查询库存信息 * 根据物料id与仓库id查询库存信息

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

@ -195,7 +195,24 @@
and state != 3 and m.depository_id is null and state != 3 and m.depository_id is null
</select> </select>
<select id="findMaterialByMnameAndVersion" resultMap="materialMap" parameterType="map">
SELECT
<include refid="allColumnsAndTypeNameOnView" />
from findMaterial
where 1 = 1
<if test="mname != null and mname != ''">
and mname = #{mname}
</if>
<if test="version == null or version == ''">
and version is null
</if>
<if test="version != null and version != ''">
and version = #{version}
</if>
</select>
<!-- 根据条件参数查询数据列表 --> <!-- 根据条件参数查询数据列表 -->
<select id="findMaterialByCondition" resultMap="materialMap" parameterType="map"> <select id="findMaterialByCondition" resultMap="materialMap" parameterType="map">
SELECT SELECT
@ -241,6 +258,9 @@
<if test="remark != '' and remark != null"> <if test="remark != '' and remark != null">
and remark LIKE CONCAT('%', #{remark}, '%') and remark LIKE CONCAT('%', #{remark}, '%')
</if> </if>
<if test="state != null and state != ''">
and state = #{state}
</if>
and depository_id is null and depository_id is null
<if test="begin != null and size != null"> <if test="begin != null and size != null">
LIMIT #{begin},#{size} LIMIT #{begin},#{size}
@ -322,7 +342,25 @@
</if> </if>
</select> </select>
<!--根据条件查询库存-->
<select id="findInventoryForImport" resultMap="InventoryMap" parameterType="map">
SELECT
<include refid="allColumnsAndTypeNameOnViewByInventory" />
from findInventory
where 1 = 1
<if test="depositoryId != null">
AND depositoryId = #{depositoryId}
</if>
<if test="mname != null and mname != ''">
AND mname LIKE CONCAT('%', #{mname}, '%')
</if>
<if test="version != null and version != ''">
and version = #{version}
</if>
<if test="version == null or version == ''">
and version is null
</if>
</select>
<select id="findMaterialCount" parameterType="map" resultType="int"> <select id="findMaterialCount" parameterType="map" resultType="int">
select count(*) select count(*)

2
src/main/java/com/dreamchaser/depository_manage/mapper/StockTakingMapper.java

@ -146,6 +146,8 @@ public interface StockTakingMapper {
* @return * @return
*/ */
StockTaking selectStockTakingById(Long id); StockTaking selectStockTakingById(Long id);
/** /**
* 根据主键查找盘点详情 * 根据主键查找盘点详情
* @param id * @param id

3
src/main/java/com/dreamchaser/depository_manage/service/DepositoryService.java

@ -54,7 +54,8 @@ public interface DepositoryService {
* @param id * @param id
* @return 查询数据 * @return 查询数据
*/ */
Depository findDepositoryRecordById(Integer id); Depository findDepositoryById(Integer id);
/** /**
* 根据多个id获取数据 * 根据多个id获取数据

8
src/main/java/com/dreamchaser/depository_manage/service/MaterialService.java

@ -50,6 +50,14 @@ public interface MaterialService {
*/ */
List<MaterialP> findMaterialPByCondition(Map<String, Object> map); List<MaterialP> findMaterialPByCondition(Map<String, Object> map);
/**
* 根据物料名与物料规格型号查询对应的物料
* @param map
* @return
*/
Material findMaterialByMnameAndVersion(Map<String,Object> map);
/** /**
* 根据条件查询符合条件的库存 * 根据条件查询符合条件的库存
* @param map * @param map

7
src/main/java/com/dreamchaser/depository_manage/service/StockTakingService.java

@ -85,6 +85,13 @@ public interface StockTakingService {
*/ */
StockTakingChildP findStockTakingChildPById(Integer id); StockTakingChildP findStockTakingChildPById(Integer id);
/**
* 根据条件查询盘点记录
* @param map 查询条件
* @return
*/
List<StockTaking> findStockTakingByCondition(Map<String,Object> map);
/** /**
* 用于对盘点进行审核 * 用于对盘点进行审核
* @param map * @param map

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

@ -1886,12 +1886,12 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
map.put("applicantTime", DateUtil.DateTimeByDayToTimeStamp(applyTime)); map.put("applicantTime", DateUtil.DateTimeByDayToTimeStamp(applyTime));
} }
List<ApplicationInRecordP> list = depositoryRecordMapper.findApplicationInRecordPByCondition(map); List<ApplicationInRecordP> list = depositoryRecordMapper.findApplicationInRecordPByCondition(map);
for (int i = 0; i < list.size(); i++) { for (ApplicationInRecordP applicationInRecordP : list) {
UserByPort userByPortById = findUserByPortById(list.get(i).getApplicantId(), request); UserByPort userByPortById = findUserByPortById(applicationInRecordP.getApplicantId(), request);
String time = DateUtil.TimeStampToDateTime(Long.valueOf(list.get(i).getApplicantTime())); String time = DateUtil.TimeStampToDateTime(Long.valueOf(applicationInRecordP.getApplicantTime()));
list.get(i).setApplicantName(userByPortById.getName()); applicationInRecordP.setApplicantName(userByPortById.getName());
list.get(i).setApplicantTime(time); applicationInRecordP.setApplicantTime(time);
list.get(i).setApplyRemark(list.get(i).getApplyRemark() == null ? "" : list.get(i).getApplyRemark()); applicationInRecordP.setApplyRemark(applicationInRecordP.getApplyRemark() == null ? "" : applicationInRecordP.getApplyRemark());
} }
return list; return list;
} }

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

@ -129,6 +129,11 @@ public class DepositoryServiceImpl implements DepositoryService {
page = ObjectFormatUtil.toInteger(map.get("page")); page = ObjectFormatUtil.toInteger(map.get("page"));
map.put("begin", (page - 1) * size); map.put("begin", (page - 1) * size);
} }
Object state = 1;
if(map.containsKey("state")){
state = map.get("state");
}
map.put("state",state);
List<Depository> list = depositoryMapper.findDepositoryByCondition(map); List<Depository> list = depositoryMapper.findDepositoryByCondition(map);
for (int i = 0; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {
Depository depository = list.get(i); Depository depository = list.get(i);
@ -187,7 +192,7 @@ public class DepositoryServiceImpl implements DepositoryService {
* @return 查询结果 * @return 查询结果
*/ */
@Override @Override
public Depository findDepositoryRecordById(Integer id) { public Depository findDepositoryById(Integer id) {
return depositoryMapper.findDepositoryById(id); return depositoryMapper.findDepositoryById(id);
} }

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

@ -2,6 +2,7 @@ package com.dreamchaser.depository_manage.service.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.dreamchaser.depository_manage.entity.*; import com.dreamchaser.depository_manage.entity.*;
import com.dreamchaser.depository_manage.pojo.InventoryP;
import com.dreamchaser.depository_manage.pojo.MaterialP; import com.dreamchaser.depository_manage.pojo.MaterialP;
import com.dreamchaser.depository_manage.service.ExcelService; import com.dreamchaser.depository_manage.service.ExcelService;
import com.dreamchaser.depository_manage.service.MaterialService; import com.dreamchaser.depository_manage.service.MaterialService;
@ -296,29 +297,29 @@ public class ExcelServiceImpl implements ExcelService {
insert.put("mname", excelInfoByInventory.getMname()); insert.put("mname", excelInfoByInventory.getMname());
insert.put("version",excelInfoByInventory.getVersion()); insert.put("version",excelInfoByInventory.getVersion());
// 获取对应物料
MaterialP materialByCode = materialService.findMaterialPByCondition(insert).get(0);
// 添加库存记录
Material material = materialService.findMaterialByMnameAndVersion(insert);
// 添加库存记录
Integer depositoryId = excelInfoByInventory.getDepositoryId(); Integer depositoryId = excelInfoByInventory.getDepositoryId();
insert.put("tempPlaceCode", excelInfoByInventory.getDepositoryCode()); insert.put("tempPlaceCode", excelInfoByInventory.getDepositoryCode());
insert.put("quantity", String.valueOf(ObjectFormatUtil.toInteger(excelInfoByInventory.getQuantity()) + materialByCode.getQuantity())); insert.put("quantity", String.valueOf(ObjectFormatUtil.toInteger(excelInfoByInventory.getQuantity())));
// 如果模板中总金额未填写 // 如果模板中总金额未填写
if (excelInfoByInventory.getAmounts() == null || "".equals(excelInfoByInventory.getAmounts())) { if (excelInfoByInventory.getAmounts() == null || "".equals(excelInfoByInventory.getAmounts())) {
// 求均值 // 求均值
// 总金额 // 总金额
Double amounts = Double.parseDouble(excelInfoByInventory.getPrice()) * 100 * Double.parseDouble(excelInfoByInventory.getQuantity()); Double amounts = Double.parseDouble(excelInfoByInventory.getPrice()) * 100 * Double.parseDouble(excelInfoByInventory.getQuantity());
insert.put("amounts", String.valueOf(materialByCode.getAmounts() + amounts)); insert.put("amounts", amounts);
// 保留两位 // 保留两位
Double avgPrice = (materialByCode.getAmounts() + amounts) / (Double.parseDouble(excelInfoByInventory.getQuantity()) + materialByCode.getQuantity()); Double avgPrice = Double.parseDouble(excelInfoByInventory.getQuantity());
BigDecimal bg = new BigDecimal(avgPrice); BigDecimal bg = new BigDecimal(avgPrice);
avgPrice = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); avgPrice = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
insert.put("price", String.valueOf(avgPrice)); insert.put("price", String.valueOf(avgPrice));
} else { } else {
// 求均值 // 求均值
insert.put("amounts", String.valueOf(materialByCode.getAmounts() + Double.parseDouble(excelInfoByInventory.getAmounts()) * 100)); insert.put("amounts", Double.parseDouble(excelInfoByInventory.getAmounts()) * 100);
Double avgPrice = (materialByCode.getAmounts() + Double.parseDouble(excelInfoByInventory.getAmounts()) * 100) / ((Double.parseDouble(excelInfoByInventory.getQuantity()) + materialByCode.getQuantity())); Double avgPrice = ( Double.parseDouble(excelInfoByInventory.getAmounts()) * 100) / ((Double.parseDouble(excelInfoByInventory.getQuantity()) ));
// 保留两位 // 保留两位
BigDecimal bg = new BigDecimal(avgPrice); BigDecimal bg = new BigDecimal(avgPrice);
avgPrice = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); avgPrice = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
@ -326,7 +327,8 @@ public class ExcelServiceImpl implements ExcelService {
} }
insert.put("depositoryId", depositoryId); insert.put("depositoryId", depositoryId);
insert.put("depositoryCode", excelInfoByInventory.getDepositoryCode()); insert.put("depositoryCode", excelInfoByInventory.getDepositoryCode());
insert.put("mid",materialByCode.getId()); insert.put("mid", material.getId());
// 插入库存记录 // 插入库存记录
materialService.insertInventoryForImport(insert); materialService.insertInventoryForImport(insert);

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

@ -192,6 +192,11 @@ public class MaterialServiceImpl implements MaterialService {
page = ObjectFormatUtil.toInteger(map.get("page")); page = ObjectFormatUtil.toInteger(map.get("page"));
map.put("begin", (page - 1) * size); map.put("begin", (page - 1) * size);
} }
Object state = 1;
if(map.containsKey("state")){
state = map.get("state");
}
map.put("state",state);
List<Material> list = materialMapper.findMaterialByCondition(map); List<Material> list = materialMapper.findMaterialByCondition(map);
for (int i = 0; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {
list.get(i).setPrice(list.get(i).getPrice() / 100); list.get(i).setPrice(list.get(i).getPrice() / 100);
@ -219,6 +224,16 @@ public class MaterialServiceImpl implements MaterialService {
return packForMatieral(list); return packForMatieral(list);
} }
/**
* 根据物料名与物料规格型号查询对应的物料
* @param map
* @return
*/
@Override
public Material findMaterialByMnameAndVersion(Map<String, Object> map) {
return materialMapper.findMaterialByMnameAndVersion(map);
}
/** /**
* 根据条件查询符合条件的库存信息 * 根据条件查询符合条件的库存信息
* *
@ -716,7 +731,7 @@ public class MaterialServiceImpl implements MaterialService {
params.put("mname",map.get("mname")); params.put("mname",map.get("mname"));
params.put("version",map.get("version")); params.put("version",map.get("version"));
params.put("depositoryId", map.get("depositoryId")); params.put("depositoryId", map.get("depositoryId"));
List<Inventory> inventory = materialMapper.findInventory(params); List<Inventory> inventory = materialMapper.findInventoryForImport(params);
if (inventory.size() >= 1) { if (inventory.size() >= 1) {
// 用于标志是新插入的物料 // 用于标志是新插入的物料
map.put("isNew", false); map.put("isNew", false);

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

@ -81,6 +81,11 @@ public class MaterialTypeServiceImpl implements MaterialTypeService {
page=ObjectFormatUtil.toInteger(map.get("page")); page=ObjectFormatUtil.toInteger(map.get("page"));
map.put("begin",(page-1)*size); map.put("begin",(page-1)*size);
} }
Object state = 1;
if(map.containsKey("state")){
state = map.get("state");
}
map.put("state",state);
return materialTypeMapper.findMaterialTypeByCondition(map); return materialTypeMapper.findMaterialTypeByCondition(map);
} }

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

@ -192,7 +192,7 @@ public class PlaceServiceImpl implements PlaceService {
PlaceP pp = new PlaceP(place); PlaceP pp = new PlaceP(place);
Integer did = place.getDid(); Integer did = place.getDid();
if(did != 0){ if(did != 0){
Depository depositoryRecordById = depositoryService.findDepositoryRecordById(did); Depository depositoryRecordById = depositoryService.findDepositoryById(did);
pp.setDepositoryName(depositoryRecordById.getDname()); pp.setDepositoryName(depositoryRecordById.getDname());
}else{ }else{
pp.setDepositoryName("默认库位"); pp.setDepositoryName("默认库位");

11
src/main/java/com/dreamchaser/depository_manage/service/impl/StockTakingServiceImpl.java

@ -278,6 +278,17 @@ public class StockTakingServiceImpl implements StockTakingService {
return stockTakingMapper.selectStockTakingChildPById(id); return stockTakingMapper.selectStockTakingChildPById(id);
} }
/**
* 根据条件查询盘点记录
* @param map 查询条件
* @return
*/
@Override
public List<StockTaking> findStockTakingByCondition(Map<String, Object> map) {
return stockTakingMapper.selectStockTakingByCondition(map);
}
/** /**
* 用于对盘点进行审核 * 用于对盘点进行审核
* *

6
src/main/resources/templates/pages/chart/chart-in_back.html

@ -42,7 +42,7 @@
<div class="layui-col-xs12 layui-col-md3"> <div class="layui-col-xs12 layui-col-md3">
<div class="layui-card top-panel"> <div class="layui-card top-panel">
<div class="layui-card-header">当日入物料数量</div> <div class="layui-card-header">当日入物料数量</div>
<div class="layui-card-body"> <div class="layui-card-body">
<div class="layui-row layui-col-space5"> <div class="layui-row layui-col-space5">
<div class="layui-col-xs7 layui-col-md7 top-panel-number"> <div class="layui-col-xs7 layui-col-md7 top-panel-number">
@ -59,7 +59,7 @@
<div class="layui-col-xs12 layui-col-md3"> <div class="layui-col-xs12 layui-col-md3">
<div class="layui-card top-panel"> <div class="layui-card top-panel">
<div class="layui-card-header">当日入物料金额</div> <div class="layui-card-header">当日入物料金额</div>
<div class="layui-card-body"> <div class="layui-card-body">
<div class="layui-row layui-col-space5"> <div class="layui-row layui-col-space5">
<div class="layui-col-xs7 layui-col-md7 top-panel-number"> <div class="layui-col-xs7 layui-col-md7 top-panel-number">
@ -76,7 +76,7 @@
<div class="layui-col-xs12 layui-col-md3"> <div class="layui-col-xs12 layui-col-md3">
<div class="layui-card top-panel"> <div class="layui-card top-panel">
<div class="layui-card-header">全部入物料数量</div> <div class="layui-card-header">全部入物料数量</div>
<div class="layui-card-body"> <div class="layui-card-body">
<div class="layui-row layui-col-space5"> <div class="layui-row layui-col-space5">
<div class="layui-col-xs7 layui-col-md7 top-panel-number"> <div class="layui-col-xs7 layui-col-md7 top-panel-number">

5
src/main/resources/templates/pages/depository/table-stock.html

@ -401,11 +401,12 @@
re += show re += show
} }
for (let i = 0; i < res.data.dataList.length; i++) { for (let i = 0; i < res.data.dataList.length; i++) {
var code = res.data.dataList[i]["code"] === null?'':res.data.dataList[i]["code"];
var mname = res.data.dataList[i]["mname"]; var mname = res.data.dataList[i]["mname"];
var code = res.data.dataList[i]["code"]; var version = res.data.dataList[i]["version"] === null?'':res.data.dataList[i]["version"];
var price = res.data.dataList[i]["price"]; var price = res.data.dataList[i]["price"];
var quantity = res.data.dataList[i]["quantity"]; var quantity = res.data.dataList[i]["quantity"];
var show = "<p style='color: #00FF00'>" + mname + " " + code + " " + price + " " + quantity + ":成功" + "</p>"; var show = "<p style='color: #00FF00'>" + code+", "+mname + ", " + version + ", 单价为" + price + ", 数量为" + quantity + ":成功" + "</p>";
re += show re += show
} }

96
src/main/resources/templates/pages/warehouse/depository-out.html

@ -451,21 +451,23 @@
if (obj.elem.checked) { if (obj.elem.checked) {
req["state"] = 1 req["state"] = 1
} }
req["id"] = this.value req["id"] = this.value;
if (req["state"] == undefined) {// 如果禁用 if (req["state"] === undefined) {// 如果禁用
$.ajax({ $.ajax({
url: "/repository/findMaterialByDepository?depositoryId=" + this.value, url: "/repository/findMaterialByDepository?depositoryId=" + this.value,
type: "get", type: "get",
dataType: "json", dataType: "json",
contentType: "application/json;charset=utf-8", contentType: "application/json;charset=utf-8",
success: function (data) { success: function (d) {
hasMaterial = data.data hasMaterial = d.data;
// 子仓库下是否有物品 // 子仓库下是否有物品
if (hasMaterial) { // 有 if (hasMaterial) { // 有
layer.confirm('仓库下还有物品,确定封库?', { layer.confirm('仓库下还有物品,确定封库?', {
btn: ['封库', '取消'] //按钮 btn: ['封库', '取消'] //按钮
}, function () { },
req["envelop"] = 1 // 封库操作 function () {
req["envelop"] = 1; // 封库操作
$.ajax({ $.ajax({
url: "/repository/EditDepositoryState", url: "/repository/EditDepositoryState",
type: 'post', type: 'post',
@ -497,7 +499,8 @@
} }
} }
}) })
}, function () { },
function () {
// 执行重加载 // 执行重加载
table.reload('currentTableId', { table.reload('currentTableId', {
url: '/repository/warehouseRecord', url: '/repository/warehouseRecord',
@ -507,38 +510,55 @@
where: {"parentId": parentId} where: {"parentId": parentId}
}); });
}); });
} else { }
$.ajax({ else {
url: "/repository/EditDepositoryState", layer.confirm('确定封库?',{
type: 'post', btn:['确定','取消']
dataType: 'json', },
contentType: "application/json;charset=utf-8", function () {
data: JSON.stringify(req), $.ajax({
beforeSend: function () { url: "/repository/EditDepositoryState",
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']}); type: 'post',
}, dataType: 'json',
success: function (data) { contentType: "application/json;charset=utf-8",
layer.close(this.layerIndex); data: JSON.stringify(req),
if (data.status >= 300) { beforeSend: function () {
layer.msg(data.statusInfo.message);//失败的表情 this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
return; },
} else { success: function (data) {
layer.msg("修改成功", { layer.close(this.layerIndex);
icon: 6,//成功的表情 if (data.status >= 300) {
time: 500 //1秒关闭(如果不配置,默认是3秒) layer.msg(data.statusInfo.message);//失败的表情
}, function () { return;
// 执行重加载 } else {
table.reload('currentTableId', { layer.msg("修改成功", {
url: '/repository/warehouseRecord', icon: 6,//成功的表情
page: { time: 500 //1秒关闭(如果不配置,默认是3秒)
curr: 1 }, function () {
}, // 执行重加载
where: {"parentId": parentId} table.reload('currentTableId', {
}); url: '/repository/warehouseRecord',
}) page: {
curr: 1
},
where: {"parentId": parentId}
});
})
}
} }
} })
}) },
function () {
// 执行重加载
table.reload('currentTableId', {
url: '/repository/warehouseRecord',
page: {
curr: 1
},
where: {"parentId": parentId}
});
})
} }
} }
}) })

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

@ -0,0 +1,147 @@
package com.dreamchaser.depository_manage;
import com.dreamchaser.depository_manage.entity.*;
import com.dreamchaser.depository_manage.pojo.ApplicationInRecordP;
import com.dreamchaser.depository_manage.pojo.ApplicationOutRecordP;
import com.dreamchaser.depository_manage.pojo.DepositoryRecordP;
import com.dreamchaser.depository_manage.pojo.InventoryP;
import com.dreamchaser.depository_manage.service.DepositoryRecordService;
import com.dreamchaser.depository_manage.service.DepositoryService;
import com.dreamchaser.depository_manage.service.MaterialService;
import com.dreamchaser.depository_manage.service.StockTakingService;
import com.dreamchaser.depository_manage.utils.LinkInterfaceUtil;
import com.dreamchaser.depository_manage.utils.ObjectFormatUtil;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@SpringBootTest
@RunWith(SpringRunner.class)
public class TestFoFindDepositoryMaterial {
@Autowired
DepositoryService depositoryService;
@Autowired
DepositoryRecordService depositoryRecordService;
@Autowired
MaterialService materialService;
@Autowired
StockTakingService stockTakingService;
@Test
public void Test(){
UserByPort userByPort = LinkInterfaceUtil.FindUserById(78, null);
Boolean allSonDepository = findAllSonDepositoryOfRelevancy("48",null);
System.out.println(allSonDepository);
}
/**
* 根据父级编号查询所有关联信息
*
* @param did
* @return
*/
public Boolean findAllSonDepositoryOfRelevancy(String did, HttpServletRequest request) {
// 判断当前仓库是否存在物料
boolean materialByDepository = findMaterialByDepository(did);
// 判断当前仓库是否有相关订单
boolean depositoryRecord = findDepositoryRecord(did, request);
if (materialByDepository || depositoryRecord) {
return true;
}
// 查询当前仓库
Depository depositoryById = depositoryService.findDepositoryById(ObjectFormatUtil.toInteger(did));
// 查询当前仓库及子仓库
List<Integer> childForDepositoryByParent = findChildForDepositoryByParent(depositoryById);
List<Depository> depositories = depositoryService.selectDepositoryRecordByIds(childForDepositoryByParent);
for (Depository depository : depositories) {
String depositoryId = depository.getId().toString();
if (findMaterialByDepository(depositoryId) || findDepositoryRecord(depositoryId, request)) {
return true;
}
}
return false;
}
/**
* 根据仓库编号判断该仓库是否有物品
*
* @param depositoryId 待查询仓库id
* @return
*/
public boolean findMaterialByDepository(String depositoryId) {
Map<String, Object> param = new HashMap<>();
param.put("state", 1);
param.put("depositoryId", depositoryId);
List<InventoryP> materialPByCondition = materialService.findInventory(param);
return materialPByCondition.size() > 0;
}
/**
* 根据仓库编号查询与其有关的订单信息
* @param depositoryId 待查询仓库id
* @return
*/
public Boolean findDepositoryRecord(String depositoryId, HttpServletRequest request) {
Map<String, Object> param = new HashMap<>();
param.put("depositoryId", depositoryId);
List<ApplicationInRecordP> inRecordPList = depositoryRecordService.findApplicationInRecordPByCondition(param,request);
List<ApplicationOutRecordP> outRecordPList = depositoryRecordService.findApplicationOutRecordPByCondition(param, request);
List<StockTaking> stockTakingList = stockTakingService.findStockTakingByCondition(param);
return inRecordPList.size() > 0 || outRecordPList.size() > 0 || stockTakingList.size() > 0;
}
/**
* 用于获取当前仓库的所有子类
* @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;
}
}

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

@ -195,7 +195,24 @@
and state != 3 and m.depository_id is null and state != 3 and m.depository_id is null
</select> </select>
<select id="findMaterialByMnameAndVersion" resultMap="materialMap" parameterType="map">
SELECT
<include refid="allColumnsAndTypeNameOnView" />
from findMaterial
where 1 = 1
<if test="mname != null and mname != ''">
and mname = #{mname}
</if>
<if test="version == null or version == ''">
and version is null
</if>
<if test="version != null and version != ''">
and version = #{version}
</if>
</select>
<!-- 根据条件参数查询数据列表 --> <!-- 根据条件参数查询数据列表 -->
<select id="findMaterialByCondition" resultMap="materialMap" parameterType="map"> <select id="findMaterialByCondition" resultMap="materialMap" parameterType="map">
SELECT SELECT
@ -241,6 +258,9 @@
<if test="remark != '' and remark != null"> <if test="remark != '' and remark != null">
and remark LIKE CONCAT('%', #{remark}, '%') and remark LIKE CONCAT('%', #{remark}, '%')
</if> </if>
<if test="state != null and state != ''">
and state = #{state}
</if>
and depository_id is null and depository_id is null
<if test="begin != null and size != null"> <if test="begin != null and size != null">
LIMIT #{begin},#{size} LIMIT #{begin},#{size}
@ -322,7 +342,25 @@
</if> </if>
</select> </select>
<!--根据条件查询库存-->
<select id="findInventoryForImport" resultMap="InventoryMap" parameterType="map">
SELECT
<include refid="allColumnsAndTypeNameOnViewByInventory" />
from findInventory
where 1 = 1
<if test="depositoryId != null">
AND depositoryId = #{depositoryId}
</if>
<if test="mname != null and mname != ''">
AND mname LIKE CONCAT('%', #{mname}, '%')
</if>
<if test="version != null and version != ''">
and version = #{version}
</if>
<if test="version == null or version == ''">
and version is null
</if>
</select>
<select id="findMaterialCount" parameterType="map" resultType="int"> <select id="findMaterialCount" parameterType="map" resultType="int">
select count(*) select count(*)

6
target/classes/templates/pages/chart/chart-in_back.html

@ -42,7 +42,7 @@
<div class="layui-col-xs12 layui-col-md3"> <div class="layui-col-xs12 layui-col-md3">
<div class="layui-card top-panel"> <div class="layui-card top-panel">
<div class="layui-card-header">当日入物料数量</div> <div class="layui-card-header">当日入物料数量</div>
<div class="layui-card-body"> <div class="layui-card-body">
<div class="layui-row layui-col-space5"> <div class="layui-row layui-col-space5">
<div class="layui-col-xs7 layui-col-md7 top-panel-number"> <div class="layui-col-xs7 layui-col-md7 top-panel-number">
@ -59,7 +59,7 @@
<div class="layui-col-xs12 layui-col-md3"> <div class="layui-col-xs12 layui-col-md3">
<div class="layui-card top-panel"> <div class="layui-card top-panel">
<div class="layui-card-header">当日入物料金额</div> <div class="layui-card-header">当日入物料金额</div>
<div class="layui-card-body"> <div class="layui-card-body">
<div class="layui-row layui-col-space5"> <div class="layui-row layui-col-space5">
<div class="layui-col-xs7 layui-col-md7 top-panel-number"> <div class="layui-col-xs7 layui-col-md7 top-panel-number">
@ -76,7 +76,7 @@
<div class="layui-col-xs12 layui-col-md3"> <div class="layui-col-xs12 layui-col-md3">
<div class="layui-card top-panel"> <div class="layui-card top-panel">
<div class="layui-card-header">全部入物料数量</div> <div class="layui-card-header">全部入物料数量</div>
<div class="layui-card-body"> <div class="layui-card-body">
<div class="layui-row layui-col-space5"> <div class="layui-row layui-col-space5">
<div class="layui-col-xs7 layui-col-md7 top-panel-number"> <div class="layui-col-xs7 layui-col-md7 top-panel-number">

5
target/classes/templates/pages/depository/table-stock.html

@ -401,11 +401,12 @@
re += show re += show
} }
for (let i = 0; i < res.data.dataList.length; i++) { for (let i = 0; i < res.data.dataList.length; i++) {
var code = res.data.dataList[i]["code"] === null?'':res.data.dataList[i]["code"];
var mname = res.data.dataList[i]["mname"]; var mname = res.data.dataList[i]["mname"];
var code = res.data.dataList[i]["code"]; var version = res.data.dataList[i]["version"] === null?'':res.data.dataList[i]["version"];
var price = res.data.dataList[i]["price"]; var price = res.data.dataList[i]["price"];
var quantity = res.data.dataList[i]["quantity"]; var quantity = res.data.dataList[i]["quantity"];
var show = "<p style='color: #00FF00'>" + mname + " " + code + " " + price + " " + quantity + ":成功" + "</p>"; var show = "<p style='color: #00FF00'>" + code+", "+mname + ", " + version + ", 单价为" + price + ", 数量为" + quantity + ":成功" + "</p>";
re += show re += show
} }

96
target/classes/templates/pages/warehouse/depository-out.html

@ -451,21 +451,23 @@
if (obj.elem.checked) { if (obj.elem.checked) {
req["state"] = 1 req["state"] = 1
} }
req["id"] = this.value req["id"] = this.value;
if (req["state"] == undefined) {// 如果禁用 if (req["state"] === undefined) {// 如果禁用
$.ajax({ $.ajax({
url: "/repository/findMaterialByDepository?depositoryId=" + this.value, url: "/repository/findMaterialByDepository?depositoryId=" + this.value,
type: "get", type: "get",
dataType: "json", dataType: "json",
contentType: "application/json;charset=utf-8", contentType: "application/json;charset=utf-8",
success: function (data) { success: function (d) {
hasMaterial = data.data hasMaterial = d.data;
// 子仓库下是否有物品 // 子仓库下是否有物品
if (hasMaterial) { // 有 if (hasMaterial) { // 有
layer.confirm('仓库下还有物品,确定封库?', { layer.confirm('仓库下还有物品,确定封库?', {
btn: ['封库', '取消'] //按钮 btn: ['封库', '取消'] //按钮
}, function () { },
req["envelop"] = 1 // 封库操作 function () {
req["envelop"] = 1; // 封库操作
$.ajax({ $.ajax({
url: "/repository/EditDepositoryState", url: "/repository/EditDepositoryState",
type: 'post', type: 'post',
@ -497,7 +499,8 @@
} }
} }
}) })
}, function () { },
function () {
// 执行重加载 // 执行重加载
table.reload('currentTableId', { table.reload('currentTableId', {
url: '/repository/warehouseRecord', url: '/repository/warehouseRecord',
@ -507,38 +510,55 @@
where: {"parentId": parentId} where: {"parentId": parentId}
}); });
}); });
} else { }
$.ajax({ else {
url: "/repository/EditDepositoryState", layer.confirm('确定封库?',{
type: 'post', btn:['确定','取消']
dataType: 'json', },
contentType: "application/json;charset=utf-8", function () {
data: JSON.stringify(req), $.ajax({
beforeSend: function () { url: "/repository/EditDepositoryState",
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']}); type: 'post',
}, dataType: 'json',
success: function (data) { contentType: "application/json;charset=utf-8",
layer.close(this.layerIndex); data: JSON.stringify(req),
if (data.status >= 300) { beforeSend: function () {
layer.msg(data.statusInfo.message);//失败的表情 this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
return; },
} else { success: function (data) {
layer.msg("修改成功", { layer.close(this.layerIndex);
icon: 6,//成功的表情 if (data.status >= 300) {
time: 500 //1秒关闭(如果不配置,默认是3秒) layer.msg(data.statusInfo.message);//失败的表情
}, function () { return;
// 执行重加载 } else {
table.reload('currentTableId', { layer.msg("修改成功", {
url: '/repository/warehouseRecord', icon: 6,//成功的表情
page: { time: 500 //1秒关闭(如果不配置,默认是3秒)
curr: 1 }, function () {
}, // 执行重加载
where: {"parentId": parentId} table.reload('currentTableId', {
}); url: '/repository/warehouseRecord',
}) page: {
curr: 1
},
where: {"parentId": parentId}
});
})
}
} }
} })
}) },
function () {
// 执行重加载
table.reload('currentTableId', {
url: '/repository/warehouseRecord',
page: {
curr: 1
},
where: {"parentId": parentId}
});
})
} }
} }
}) })

Loading…
Cancel
Save