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. 9
      src/main/resources/templates/pages/place/place_edit.html
  9. 11
      target/classes/com/dreamchaser/depository_manage/mapper/MaterialMapper.xml
  10. 16
      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")
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{
map.put("state",2);
}
Object id = map.get("id");
// 获取当前修改的库位
Place placeById = placeService.findPlaceById(ObjectFormatUtil.toInteger(id));
Map<String, Object> update = new HashMap<>();
Integer place_x = ObjectFormatUtil.toInteger(map.get("place_x"));
// Integer place_y = ObjectFormatUtil.toInteger(map.get("place_y"));
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 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("y", place_y);
update.put("z", place_z);
update.put("code", code);
update.put("code", newCode);
update.put("oldCode", oldCode);
update.put("did", map.get("depositoryId"));
if (!"".equals(min)) {
@ -205,9 +225,9 @@ public class PlaceController {
if (!"".equals(max)) {
update.put("max", map.get("max"));
} 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);
}

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 javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.time.Instant;
@ -135,7 +136,8 @@ public class UserController {
* restResponse附带凭证token
*/
@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");
// 用于标识当前登录是否为企业微信跳转登录
boolean flag = true;
@ -466,11 +468,19 @@ public class UserController {
* @return
*/
@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);
return captcha;
}
@PostMapping("/accountLook")
public RestResponse accountLook(HttpServletRequest request){
Object userToken = request.getAttribute("userToken");
return new RestResponse(userToken);
}
@GetMapping("/findUserRole")
public RestResponse findUserRole(@RequestParam Map<String,Object> map,HttpServletRequest request){
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
*/
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}
</foreach>
</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
*/
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) {
if (mt != null) {

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

@ -124,8 +124,13 @@
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
layer.msg(data.statusInfo.detail,{
icon:0,
time:1000
},function () {
location.reload();
});//失败的表情
} else {
layer.msg("修改成功!", {
icon: 6,//成功的表情

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

@ -713,6 +713,17 @@
#{item}
</foreach>
</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>
<!-- 插入数据 -->

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

@ -43,6 +43,13 @@
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 class="layui-form-item">
<label class="layui-form-label">最大存放量:</label>
<div class="layui-input-block">
@ -117,8 +124,13 @@
success: function (data) {
layer.close(this.layerIndex);
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
return;
layer.msg(data.statusInfo.detail,{
icon:0,
time:1000
},function () {
location.reload();
});//失败的表情
} else {
layer.msg("修改成功!", {
icon: 6,//成功的表情

Loading…
Cancel
Save