Browse Source

修改库位修改功能

lwx_dev
erdanergou 3 years ago
parent
commit
444eb3f5a4
  1. 30
      src/main/java/com/dreamchaser/depository_manage/controller/DepositoryController.java
  2. 32
      src/main/java/com/dreamchaser/depository_manage/controller/PlaceController.java
  3. 14
      src/main/java/com/dreamchaser/depository_manage/controller/UserController.java
  4. 7
      src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.java
  5. 11
      src/main/java/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml
  6. 8
      src/main/java/com/dreamchaser/depository_manage/service/MaterialService.java
  7. 10
      src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialServiceImpl.java
  8. 13
      src/main/resources/templates/pages/place/place_edit.html
  9. 11
      target/classes/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml
  10. 18
      target/classes/templates/pages/place/place_edit.html

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

@ -1574,6 +1574,36 @@ public class DepositoryController {
} }
@GetMapping("/findDepositoryCountInfo")
public RestResponse findDepositoryCountInfo(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> depositoryIdList = new ArrayList<>();
for (Depository depository : depositoryByAdminorg
) {
depositoryIdList.add(depository.getId());
}
for (RoleAndDepository rad : depositoryAndRole
) {
if (!depositoryIdList.contains(rad.getDepositoryId())) {
depositoryIdList.add(rad.getDepositoryId());
}
}
Integer inventoryCount = materialService.findInventoryCountByDepository(depositoryIdList);
Map<String,Integer> result = new HashMap<>();
result.put("wareHouseCount",depositoryIdList.size());
result.put("inventoryCount",inventoryCount);
return new RestResponse(result);
}
// 构造仓库二维码 // 构造仓库二维码
@PostMapping("/createQrCode") @PostMapping("/createQrCode")
public RestResponse createQrCode(@RequestBody Map<String, Object> map) { public RestResponse createQrCode(@RequestBody Map<String, Object> map) {

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

@ -182,19 +182,39 @@ public class PlaceController {
}else{ }else{
map.put("state",2); map.put("state",2);
} }
Object id = map.get("id");
// 获取当前修改的库位
Place placeById = placeService.findPlaceById(ObjectFormatUtil.toInteger(id));
Map<String, Object> update = new HashMap<>(); Map<String, Object> update = new HashMap<>();
Integer place_x = ObjectFormatUtil.toInteger(map.get("place_x")); Integer place_x = ObjectFormatUtil.toInteger(map.get("place_x"));
// Integer place_y = ObjectFormatUtil.toInteger(map.get("place_y")); // Integer place_y = ObjectFormatUtil.toInteger(map.get("place_y"));
Integer place_z = ObjectFormatUtil.toInteger(map.get("place_z")); Integer place_z = ObjectFormatUtil.toInteger(map.get("place_z"));
String newCode = "";
if(Integer.compare(placeById.getX(),place_x) != 0 || Integer.compare(placeById.getZ(),place_z) != 0){
// 如果更改了行层
// String code = String.format("%02d", place_x) + String.format("%02d", place_y) + String.format("%02d", place_z);
newCode = String.format("%02d", place_x) + String.format("%02d", place_z);
}else{
newCode = (String)map.get("code");
}
String oldCode = placeById.getCode();
if(!newCode.equals(oldCode)){
// 如果编码发生改变
// 获取当前修改后的库位编码是否存在
Place placeByDidAndCode = placeService.findPlaceByDidAndCode(placeById.getDid(), oldCode);
if(placeByDidAndCode != null){
// 如果存在
return new RestResponse("",12345,new StatusInfo("修改失败","该编码或位置已经存在"));
}
}
String min = (String) map.get("min"); String min = (String) map.get("min");
String max = (String) map.get("max"); String max = (String) map.get("max");
// String code = String.format("%02d", place_x) + String.format("%02d", place_y) + String.format("%02d", place_z);
String oldCode = (String)map.get("code");
String code = String.format("%02d", place_x) + String.format("%02d", place_z);
update.put("x", place_x); update.put("x", place_x);
// update.put("y", place_y); // update.put("y", place_y);
update.put("z", place_z); update.put("z", place_z);
update.put("code", code); update.put("code", newCode);
update.put("oldCode", oldCode); update.put("oldCode", oldCode);
update.put("did", map.get("depositoryId")); update.put("did", map.get("depositoryId"));
if (!"".equals(min)) { if (!"".equals(min)) {
@ -205,9 +225,9 @@ public class PlaceController {
if (!"".equals(max)) { if (!"".equals(max)) {
update.put("max", map.get("max")); update.put("max", map.get("max"));
} else { } else {
update.put("max", 0); update.put("max", 500);
} }
update.put("id",map.get("id")); update.put("id", id);
return CrudUtil.postHandle(placeService.UpdatePlace(update),1); return CrudUtil.postHandle(placeService.UpdatePlace(update),1);
} }

14
src/main/java/com/dreamchaser/depository_manage/controller/UserController.java

@ -27,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession; import javax.servlet.http.HttpSession;
import java.io.IOException; import java.io.IOException;
import java.time.Instant; import java.time.Instant;
@ -135,7 +136,8 @@ public class UserController {
* restResponse附带凭证token * restResponse附带凭证token
*/ */
@PostMapping("/login") @PostMapping("/login")
public RestResponse login(@RequestBody Map<String, String> map, HttpServletRequest request) { public RestResponse login(@RequestBody Map<String, String> map, HttpServletRequest request,HttpServletResponse response) {
response.setHeader("Access-Control-Allow-Origin", "*");
String userWxId = map.get("userWxId"); String userWxId = map.get("userWxId");
// 用于标识当前登录是否为企业微信跳转登录 // 用于标识当前登录是否为企业微信跳转登录
boolean flag = true; boolean flag = true;
@ -466,11 +468,19 @@ public class UserController {
* @return * @return
*/ */
@GetMapping("/getCaptchaid") @GetMapping("/getCaptchaid")
public JSONObject getCaptchaid(HttpServletRequest httpServletRequest){ public JSONObject getCaptchaid(HttpServletRequest httpServletRequest, HttpServletResponse response){
response.setHeader("Access-Control-Allow-Origin", "*");
JSONObject captcha = LinkInterfaceUtil.Captcha(httpServletRequest); JSONObject captcha = LinkInterfaceUtil.Captcha(httpServletRequest);
return captcha; return captcha;
} }
@PostMapping("/accountLook")
public RestResponse accountLook(HttpServletRequest request){
Object userToken = request.getAttribute("userToken");
return new RestResponse(userToken);
}
@GetMapping("/findUserRole") @GetMapping("/findUserRole")
public RestResponse findUserRole(@RequestParam Map<String,Object> map,HttpServletRequest request){ public RestResponse findUserRole(@RequestParam Map<String,Object> map,HttpServletRequest request){
UserByPort userToken = (UserByPort) request.getAttribute("userToken"); UserByPort userToken = (UserByPort) request.getAttribute("userToken");

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

@ -396,4 +396,11 @@ public interface MaterialMapper {
* @return * @return
*/ */
Integer updateQrCodeAndMaterial(Map<String,Object> map); Integer updateQrCodeAndMaterial(Map<String,Object> map);
/**
* 获取当前仓库列表下的库存数量
* @param depositoryIds 待查询仓库列表
* @return
*/
Integer findInventoryCountByDepository(List<Integer> depositoryIds);
} }

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

@ -713,6 +713,17 @@
#{item} #{item}
</foreach> </foreach>
</select> </select>
<select id="findInventoryCountByDepository" resultType="int">
select
sum(quantity)
from findInventory
where 1 = 1
and depositoryId in
<foreach collection="list" index="index" item="item" open="("
separator="," close=")">
#{item}
</foreach>
</select>
<!-- 插入数据 --> <!-- 插入数据 -->

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

@ -401,4 +401,12 @@ public interface MaterialService {
* @return * @return
*/ */
Integer barCodeToQrCode(Map<String,Object> map); Integer barCodeToQrCode(Map<String,Object> map);
/**
* 获取当前仓库列表下的库存数量
* @param depositoryIds 待查询仓库列表
* @return
*/
Integer findInventoryCountByDepository(List<Integer> depositoryIds);
} }

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

@ -2667,6 +2667,16 @@ public class MaterialServiceImpl implements MaterialService {
} }
} }
/**
* 获取当前仓库列表下的库存数量
* @param depositoryIds 待查询仓库列表
* @return
*/
@Override
public Integer findInventoryCountByDepository(List<Integer> depositoryIds) {
return materialMapper.findInventoryCountByDepository(depositoryIds);
}
// 构造树形组件数据模板(通过物料名称搜索) // 构造树形组件数据模板(通过物料名称搜索)
public Map<String, Object> InitTreeMenusForSelectName(MaterialType mt, List<Object> children) { public Map<String, Object> InitTreeMenusForSelectName(MaterialType mt, List<Object> children) {
if (mt != null) { if (mt != null) {

13
src/main/resources/templates/pages/place/place_edit.html

@ -40,14 +40,14 @@
<label class="layui-form-label">库位层:</label> <label class="layui-form-label">库位层:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" placeholder="请填写层数" class="layui-input" th:value="${place.getZ()}" <input type="text" placeholder="请填写层数" class="layui-input" th:value="${place.getZ()}"
name="place_z" lay-verify="required"/> name="place_z" lay-verify="required"/>
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">库位码:</label> <label class="layui-form-label">库位码:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" placeholder="请填写最大库位码" class="layui-input" th:value="${place.getCode()}" <input type="text" placeholder="请填写最大库位码" class="layui-input" th:value="${place.getCode()}"
name="code" lay-verify="required"/> name="code" lay-verify="required"/>
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
@ -124,8 +124,13 @@
success: function (data) { success: function (data) {
layer.close(this.layerIndex); layer.close(this.layerIndex);
if (data.status >= 300) { if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情 layer.msg(data.statusInfo.detail,{
return; icon:0,
time:1000
},function () {
location.reload();
});//失败的表情
} else { } else {
layer.msg("修改成功!", { layer.msg("修改成功!", {
icon: 6,//成功的表情 icon: 6,//成功的表情

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

@ -713,6 +713,17 @@
#{item} #{item}
</foreach> </foreach>
</select> </select>
<select id="findInventoryCountByDepository" resultType="int">
select
sum(quantity)
from findInventory
where 1 = 1
and depositoryId in
<foreach collection="list" index="index" item="item" open="("
separator="," close=")">
#{item}
</foreach>
</select>
<!-- 插入数据 --> <!-- 插入数据 -->

18
target/classes/templates/pages/place/place_edit.html

@ -40,7 +40,14 @@
<label class="layui-form-label">库位层:</label> <label class="layui-form-label">库位层:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input type="text" placeholder="请填写层数" class="layui-input" th:value="${place.getZ()}" <input type="text" placeholder="请填写层数" class="layui-input" th:value="${place.getZ()}"
name="place_z" lay-verify="required"/> name="place_z" lay-verify="required"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">库位码:</label>
<div class="layui-input-block">
<input type="text" placeholder="请填写最大库位码" class="layui-input" th:value="${place.getCode()}"
name="code" lay-verify="required"/>
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
@ -117,8 +124,13 @@
success: function (data) { success: function (data) {
layer.close(this.layerIndex); layer.close(this.layerIndex);
if (data.status >= 300) { if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情 layer.msg(data.statusInfo.detail,{
return; icon:0,
time:1000
},function () {
location.reload();
});//失败的表情
} else { } else {
layer.msg("修改成功!", { layer.msg("修改成功!", {
icon: 6,//成功的表情 icon: 6,//成功的表情

Loading…
Cancel
Save