Browse Source

修改部分bug

lwx_dev
erdanergou 3 years ago
parent
commit
057e9ebd99
  1. 155
      src/main/java/com/dreamchaser/depository_manage/controller/GroupController.java
  2. 2
      src/main/java/com/dreamchaser/depository_manage/controller/PageController.java
  3. 6
      src/main/java/com/dreamchaser/depository_manage/mapper/GroupMapper.xml
  4. 6
      src/main/java/com/dreamchaser/depository_manage/pojo/GroupInfoP.java
  5. 2
      src/main/java/com/dreamchaser/depository_manage/service/GroupService.java
  6. 2
      src/main/java/com/dreamchaser/depository_manage/service/MaterialService.java
  7. 57
      src/main/java/com/dreamchaser/depository_manage/service/impl/GroupServiceImpl.java
  8. 10
      src/main/java/com/dreamchaser/depository_manage/service/impl/MaterialServiceImpl.java
  9. 2
      src/main/resources/templates/pages/group/applicationInForGroup.html
  10. 4
      src/main/resources/templates/pages/group/group-add_back.html
  11. 3
      src/main/resources/templates/pages/group/group-out.html
  12. 34
      src/main/resources/templates/pages/group/group_edit.html

155
src/main/java/com/dreamchaser/depository_manage/controller/GroupController.java

@ -6,10 +6,12 @@ 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.GroupInfoP; import com.dreamchaser.depository_manage.pojo.GroupInfoP;
import com.dreamchaser.depository_manage.pojo.RestResponse; import com.dreamchaser.depository_manage.pojo.RestResponse;
import com.dreamchaser.depository_manage.pojo.RoleAndDepository;
import com.dreamchaser.depository_manage.pojo.StatusInfo; import com.dreamchaser.depository_manage.pojo.StatusInfo;
import com.dreamchaser.depository_manage.service.DepositoryService; import com.dreamchaser.depository_manage.service.DepositoryService;
import com.dreamchaser.depository_manage.service.GroupService; import com.dreamchaser.depository_manage.service.GroupService;
import com.dreamchaser.depository_manage.service.MaterialService; import com.dreamchaser.depository_manage.service.MaterialService;
import com.dreamchaser.depository_manage.service.RoleService;
import com.dreamchaser.depository_manage.service.impl.QyWxOperationService; 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;
@ -40,6 +42,9 @@ public class GroupController {
@Autowired @Autowired
private RedisTemplate<String, String> redisTemplateForHash; private RedisTemplate<String, String> redisTemplateForHash;
@Autowired
private RoleService roleService;
/** /**
* 用于添加一条组合记录 * 用于添加一条组合记录
@ -85,6 +90,22 @@ public class GroupController {
UserByPort userToken = (UserByPort) request.getAttribute("userToken"); UserByPort userToken = (UserByPort) request.getAttribute("userToken");
// 获取当前部门仓库 // 获取当前部门仓库
List<Depository> depositoryByAdminorg = depositoryService.findDepositoryByAdminorg(userToken.getMaindeparment().toString()); List<Depository> depositoryByAdminorg = depositoryService.findDepositoryByAdminorg(userToken.getMaindeparment().toString());
// 查询当前用户管理的仓库
List<RoleAndDepository> depositoryAndRole = roleService.findDepositoryAndRole(userToken.getId());
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());
}
}
String code = map.get("code").toString(); String code = map.get("code").toString();
// 获取组合编码 // 获取组合编码
@ -103,7 +124,7 @@ public class GroupController {
// 获取详细信息 // 获取详细信息
// 获取该物料的库存 // 获取该物料的库存
List<Integer> inventoryByMidAndDepository = materialService.findInventoryByMidAndDepository(groupInfo, depositoryByAdminorg); List<Integer> inventoryByMidAndDepository = materialService.findInventoryByMidAndDepository(groupInfo, depositoryIdList);
// 用于标志当前物料库存是否符合要求 // 用于标志当前物料库存是否符合要求
boolean flagForQuantity = false; boolean flagForQuantity = false;
for (Integer quantity : inventoryByMidAndDepository) { for (Integer quantity : inventoryByMidAndDepository) {
@ -343,6 +364,21 @@ public class GroupController {
// 获取当前部门仓库 // 获取当前部门仓库
List<Depository> depositoryByAdminorg = depositoryService.findDepositoryByAdminorg(userToken.getMaindeparment().toString()); List<Depository> depositoryByAdminorg = depositoryService.findDepositoryByAdminorg(userToken.getMaindeparment().toString());
// 查询当前用户管理的仓库
List<RoleAndDepository> depositoryAndRole = roleService.findDepositoryAndRole(userToken.getId());
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());
}
}
// 获取当前组合的所有物料数据 // 获取当前组合的所有物料数据
List<GroupInfo> groupByGid = groupService.findGroupByCondition(map); List<GroupInfo> groupByGid = groupService.findGroupByCondition(map);
@ -358,7 +394,7 @@ public class GroupController {
// 获取详细信息 // 获取详细信息
// 获取该物料的库存 // 获取该物料的库存
List<Integer> inventoryByMidAndDepository = materialService.findInventoryByMidAndDepository(groupInfo, depositoryByAdminorg); List<Integer> inventoryByMidAndDepository = materialService.findInventoryByMidAndDepository(groupInfo, depositoryIdList);
// 用于标志当前物料库存是否符合要求 // 用于标志当前物料库存是否符合要求
boolean flagForQuantity = false; boolean flagForQuantity = false;
for (Integer quantity : inventoryByMidAndDepository) { for (Integer quantity : inventoryByMidAndDepository) {
@ -628,38 +664,29 @@ public class GroupController {
UserByPort userToken = (UserByPort) request.getAttribute("userToken"); UserByPort userToken = (UserByPort) request.getAttribute("userToken");
// 获取当前部门所拥有的仓库 // 获取当前部门所拥有的仓库
List<Depository> depositoryByAdminorg = depositoryService.findDepositoryByAdminorg(userToken.getMaindeparment().toString()); List<Depository> depositoryByAdminorg = depositoryService.findDepositoryByAdminorg(userToken.getMaindeparment().toString());
// 查询当前用户管理的仓库
List<RoleAndDepository> depositoryAndRole = roleService.findDepositoryAndRole(userToken.getId());
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());
}
}
// 获取组合id // 获取组合id
Integer gid = ObjectFormatUtil.toInteger(map.get("gid")); Integer gid = ObjectFormatUtil.toInteger(map.get("gid"));
// 获取组合数量 // 获取组合数量
Integer quantity = ObjectFormatUtil.toInteger(map.get("quantity")); Integer quantity = ObjectFormatUtil.toInteger(map.get("quantity"));
List<GroupInfo> groupInfoByGid = groupService.findGroupInfoByGid(gid); Map<String, String> trueForGroup = isTrueForGroup(gid, quantity, depositoryIdList);
// 用于标志该数量是否合法 Boolean flag = Boolean.valueOf(trueForGroup.get("flag"));
boolean flag = true;
// 用于存储不符合数量的物料名称
String mname = "";
for (GroupInfo groupInfo : groupInfoByGid) {
// 获取具体信息
// 获取本次要出库的实际的数量
Integer totalQuantity = groupInfo.getQuantity() * quantity;
// 用于标志是否可以满足库存要求
boolean flagForInventory = false;
// 获取该物料在各仓库的库存
List<Integer> inventoryByMidAndDepository = materialService.findInventoryByMidAndDepository(groupInfo, depositoryByAdminorg);
for (Integer integer : inventoryByMidAndDepository) {
if (integer >= totalQuantity) {
flagForInventory = true;
break;
}
}
if (!flagForInventory) { String mname = trueForGroup.get("mname");
// 如果概述了不合法
flag = false;
}
mname = groupInfo.getMname();
}
return new RestResponse(flag,200,new StatusInfo(mname,mname)); return new RestResponse(flag,200,new StatusInfo(mname,mname));
} else { } else {
throw new MyException("缺少必要参数"); throw new MyException("缺少必要参数");
@ -693,6 +720,24 @@ public class GroupController {
departMentHeadQyWxName.append("PangFuZhen").append(","); departMentHeadQyWxName.append("PangFuZhen").append(",");
map.put("departmenthead", departmentHeadId.toString()); map.put("departmenthead", departmentHeadId.toString());
// 获取当前部门所拥有的仓库
List<Depository> depositoryByAdminorg = depositoryService.findDepositoryByAdminorg(userToken.getMaindeparment().toString());
// 查询当前用户管理的仓库
List<RoleAndDepository> depositoryAndRole = roleService.findDepositoryAndRole(userToken.getId());
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 integer = 0; Integer integer = 0;
// 实际结果 // 实际结果
@ -702,6 +747,12 @@ public class GroupController {
String type = (String) map.get("type"); String type = (String) map.get("type");
if ("one".equals(type)) { if ("one".equals(type)) {
Integer gid = ObjectFormatUtil.toInteger(map.get("id")); Integer gid = ObjectFormatUtil.toInteger(map.get("id"));
Integer quantity = ObjectFormatUtil.toInteger(map.get("quantity"));
Map<String, String> trueForGroup = isTrueForGroup(gid, quantity, depositoryIdList);
boolean flag = Boolean.parseBoolean(trueForGroup.get("flag"));
if(!flag){
return new RestResponse("", 666, new StatusInfo("仓库中"+trueForGroup.get("mname")+"库存不足","仓库中"+trueForGroup.get("mname")+"库存不足" ));
}
map.put("gid", gid); map.put("gid", gid);
List<GroupInfo> groupInfoByGid = groupService.findGroupInfoByGid(gid); List<GroupInfo> groupInfoByGid = groupService.findGroupInfoByGid(gid);
if (groupInfoByGid != null) { if (groupInfoByGid != null) {
@ -713,10 +764,17 @@ public class GroupController {
List<String> params = new ArrayList<>(); List<String> params = new ArrayList<>();
// 获取当前提交数 // 获取当前提交数
List<Integer> gids = (List<Integer>) map.get("gids"); List<Integer> gids = (List<Integer>) map.get("gids");
List<String> quantitys = (List<String>) map.get("quantitys"); List<Integer> quantitys = (List<Integer>) map.get("quantitys");
for (int i = 0; i < gids.size(); i++) { for (int i = 0; i < gids.size(); i++) {
Integer temp = gids.get(i); Integer temp = gids.get(i);
String quantity = quantitys.get(i); Integer quantity = quantitys.get(i);
Map<String, String> trueForGroup = isTrueForGroup(temp, quantity, depositoryIdList);
boolean flag = Boolean.parseBoolean(trueForGroup.get("flag"));
if(!flag){
return new RestResponse("", 666, new StatusInfo("仓库中"+trueForGroup.get("mname")+"库存不足","仓库中"+trueForGroup.get("mname")+"库存不足" ));
}
List<GroupInfo> groupInfoByGid = groupService.findGroupInfoByGid(temp); List<GroupInfo> groupInfoByGid = groupService.findGroupInfoByGid(temp);
if (groupInfoByGid != null) { if (groupInfoByGid != null) {
result += groupInfoByGid.size(); result += groupInfoByGid.size();
@ -756,4 +814,39 @@ public class GroupController {
return CrudUtil.postHandle(integer, result); return CrudUtil.postHandle(integer, result);
} }
Map<String,String> isTrueForGroup(Integer gid,Integer quantity,List<Integer> depositoryIdList){
List<GroupInfo> groupInfoByGid = groupService.findGroupInfoByGid(gid);
Boolean flag = true;
String mname = "";
for (GroupInfo groupInfo : groupInfoByGid) {
// 获取具体信息
// 获取本次要出库的实际的数量
Integer totalQuantity = groupInfo.getQuantity() * quantity;
// 用于标志是否可以满足库存要求
boolean flagForInventory = false;
// 获取该物料在各仓库的库存
List<Integer> inventoryByMidAndDepository = materialService.findInventoryByMidAndDepository(groupInfo, depositoryIdList);
for (Integer integer : inventoryByMidAndDepository) {
if (integer >= totalQuantity) {
flagForInventory = true;
break;
}
}
if (!flagForInventory) {
// 如果概述了不合法
flag = false;
}
mname = groupInfo.getMname();
}
Map<String,String> result = new HashMap<>();
result.put("flag",flag.toString());
result.put("mname",mname);
return result;
}
} }

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

@ -1671,7 +1671,7 @@ public class PageController {
return mv; return mv;
} }
@GetMapping("applicationInForGroup") @GetMapping("/applicationInForGroup")
public ModelAndView applicationInForGroup(Integer gid, String type) { public ModelAndView applicationInForGroup(Integer gid, String type) {
ModelAndView mv = new ModelAndView(); ModelAndView mv = new ModelAndView();
List<Integer> gidList = new ArrayList<>(); List<Integer> gidList = new ArrayList<>();

6
src/main/java/com/dreamchaser/depository_manage/mapper/GroupMapper.xml

@ -357,8 +357,10 @@
state = #{state}, state = #{state},
</if> </if>
<if test="gname != null and gname !=''"> <if test="gname != null and gname !=''">
gname = #{gname} gname = #{gname},
</if> </if><if test="applyRemark != null and applyRemark !=''">
remark = #{applyRemark}
</if>
</set> </set>
where id = #{id} where id = #{id}
</update> </update>

6
src/main/java/com/dreamchaser/depository_manage/pojo/GroupInfoP.java

@ -49,6 +49,11 @@ public class GroupInfoP {
*/ */
private String gname; private String gname;
/**
* 组合备注
*/
private String remark;
public GroupInfoP(Group group) { public GroupInfoP(Group group) {
this.id = group.getId(); this.id = group.getId();
@ -56,6 +61,7 @@ public class GroupInfoP {
this.code = group.getCode(); this.code = group.getCode();
this.state = group.getState(); this.state = group.getState();
this.gname = group.getGname(); this.gname = group.getGname();
this.remark = group.getRemark();
} }

2
src/main/java/com/dreamchaser/depository_manage/service/GroupService.java

@ -209,4 +209,6 @@ public interface GroupService {
} }

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

@ -138,7 +138,7 @@ public interface MaterialService {
* @param depositoryList 待查询的仓库 * @param depositoryList 待查询的仓库
* @return * @return
*/ */
List<Integer> findInventoryByMidAndDepository(GroupInfo groupInfo,List<Depository> depositoryList); List<Integer> findInventoryByMidAndDepository(GroupInfo groupInfo,List<Integer> depositoryList);
/** /**
* 根据id查询库存信息 * 根据id查询库存信息

57
src/main/java/com/dreamchaser/depository_manage/service/impl/GroupServiceImpl.java

@ -5,6 +5,7 @@ import com.dreamchaser.depository_manage.exception.MyException;
import com.dreamchaser.depository_manage.mapper.*; import com.dreamchaser.depository_manage.mapper.*;
import com.dreamchaser.depository_manage.pojo.GroupInfoP; import com.dreamchaser.depository_manage.pojo.GroupInfoP;
import com.dreamchaser.depository_manage.pojo.MaterialAndPlaceForView; import com.dreamchaser.depository_manage.pojo.MaterialAndPlaceForView;
import com.dreamchaser.depository_manage.pojo.RoleAndDepository;
import com.dreamchaser.depository_manage.service.DepositoryRecordService; import com.dreamchaser.depository_manage.service.DepositoryRecordService;
import com.dreamchaser.depository_manage.service.GroupService; import com.dreamchaser.depository_manage.service.GroupService;
import com.dreamchaser.depository_manage.service.SplitUnitService; import com.dreamchaser.depository_manage.service.SplitUnitService;
@ -53,6 +54,9 @@ public class GroupServiceImpl implements GroupService {
@Autowired @Autowired
PlaceMapper placeMapper; PlaceMapper placeMapper;
@Autowired
RoleMapper roleMapper;
/** /**
* 用于查找所有组合 * 用于查找所有组合
* *
@ -583,6 +587,20 @@ public class GroupServiceImpl implements GroupService {
// 获取当前部门所拥有的仓库 // 获取当前部门所拥有的仓库
List<Depository> depositoryByAdminorg = depositoryMapper.findDepositoryByAdminorg(userToken.getMaindeparment().toString()); List<Depository> depositoryByAdminorg = depositoryMapper.findDepositoryByAdminorg(userToken.getMaindeparment().toString());
// 查询当前用户管理的仓库
List<RoleAndDepository> depositoryAndRole = roleMapper.findDepositoryAndRole(userToken.getId());
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 quantityForTotal = 0; Integer quantityForTotal = 0;
@ -590,11 +608,11 @@ public class GroupServiceImpl implements GroupService {
double priceForTotal = 0; double priceForTotal = 0;
// 循环遍历当前部门所拥有的仓库 // 循环遍历当前部门所拥有的仓库
for (Depository depository : for (Integer depositoryId :
depositoryByAdminorg) { depositoryIdList) {
// 用于获取当前物料库存信息 // 用于获取当前物料库存信息
Map<String, Object> paramForMidAndDid = new HashMap<>(); Map<String, Object> paramForMidAndDid = new HashMap<>();
paramForMidAndDid.put("depositoryId", depository.getId()); paramForMidAndDid.put("depositoryId", depositoryId);
// 遍历当前组合中的详细信息 // 遍历当前组合中的详细信息
for (GroupInfo groupInfo : groupInfoByGid) { for (GroupInfo groupInfo : groupInfoByGid) {
// 获取具体信息 // 获取具体信息
@ -608,7 +626,7 @@ public class GroupServiceImpl implements GroupService {
if (inventory.size() > 0) { if (inventory.size() > 0) {
quantityForTotal += quantityForGroup * groupInfo.getQuantity(); quantityForTotal += quantityForGroup * groupInfo.getQuantity();
priceForTotal += inventory.get(0).getPrice() * 100 * quantityForGroup; priceForTotal += inventory.get(0).getPrice() * 100 * quantityForGroup;
paramForOut.put("depositoryId", depository.getId()); paramForOut.put("depositoryId", depositoryId);
break; break;
} }
} else { } else {
@ -625,7 +643,7 @@ public class GroupServiceImpl implements GroupService {
if (inventory.size() > 0) { if (inventory.size() > 0) {
quantityForTotal += quantityForGroup * groupInfo.getQuantity(); quantityForTotal += quantityForGroup * groupInfo.getQuantity();
priceForTotal += inventory.get(0).getPrice() * 100 / scale * quantityForGroup; priceForTotal += inventory.get(0).getPrice() * 100 / scale * quantityForGroup;
paramForOut.put("depositoryId", depository.getId()); paramForOut.put("depositoryId", depositoryId);
break; break;
} }
} }
@ -648,7 +666,7 @@ public class GroupServiceImpl implements GroupService {
parentId = paramForOut.get("id"); parentId = paramForOut.get("id");
// 插入子订单 // 插入子订单
result += insertApplicationOutMinRecord(userToken, code, parentId, gid, quantityForGroup); result += insertApplicationOutMinRecord(userToken, code, parentId, gid, quantityForGroup,depositoryIdList);
if (params != null && params.size() > 0) { if (params != null && params.size() > 0) {
// 如果提交的不是单个 // 如果提交的不是单个
@ -670,7 +688,7 @@ public class GroupServiceImpl implements GroupService {
quantityForTotal += quantityForGroup * groupInfo.getQuantity(); quantityForTotal += quantityForGroup * groupInfo.getQuantity();
priceForTotal += inventory.get(0).getPrice() * 100 * quantityForGroup; priceForTotal += inventory.get(0).getPrice() * 100 * quantityForGroup;
} }
result += insertApplicationOutMinRecord(userToken, code, parentId, gid, quantityForGroup); result += insertApplicationOutMinRecord(userToken, code, parentId, gid, quantityForGroup,depositoryIdList);
} }
} }
@ -819,14 +837,11 @@ public class GroupServiceImpl implements GroupService {
* @return * @return
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Integer insertApplicationOutMinRecord(UserByPort userToken, String code, Object parentId, Integer gid, Integer quantityForGroup) { public Integer insertApplicationOutMinRecord(UserByPort userToken, String code, Object parentId, Integer gid, Integer quantityForGroup,List<Integer> depositoryIdList) {
// 用于存储申请数 // 用于存储申请数
Integer result = 0; Integer result = 0;
// 获取当前部门仓库
List<Depository> depositoryByAdminorg = depositoryMapper.findDepositoryByAdminorg(userToken.getMaindeparment().toString());
// 获取要出库组合的具体信息 // 获取要出库组合的具体信息
List<GroupInfo> groupInfoByGid = groupMapper.findGroupInfoByGid(gid); List<GroupInfo> groupInfoByGid = groupMapper.findGroupInfoByGid(gid);
@ -851,15 +866,17 @@ public class GroupServiceImpl implements GroupService {
Map<String, Object> paramForInventory = new HashMap<>(); Map<String, Object> paramForInventory = new HashMap<>();
paramForInventory.put("mid", groupInfo.getMid()); paramForInventory.put("mid", groupInfo.getMid());
// 查询各仓库中是否有符合对应数量的库存 // 查询各仓库中是否有符合对应数量的库存
for (Depository depository : depositoryByAdminorg) { for (Integer depositoryId : depositoryIdList) {
paramForInventory.put("did", depository.getId()); paramForInventory.put("did", depositoryId);
// 获取对应库存 // 获取对应库存
Inventory inventoryByMidAndDid = materialMapper.findInventoryByMidAndDid(paramForInventory); Inventory inventoryByMidAndDid = materialMapper.findInventoryByMidAndDid(paramForInventory);
if (inventoryByMidAndDid.getQuantity() >= quantity) { if(inventoryByMidAndDid != null) {
// 如果当前库存充足 if (inventoryByMidAndDid.getQuantity() >= quantity) {
did = depository.getId(); // 如果当前库存充足
mid = inventoryByMidAndDid.getId(); did = depositoryId;
break; mid = inventoryByMidAndDid.getId();
break;
}
} }
} }
} else { } else {
@ -876,8 +893,8 @@ public class GroupServiceImpl implements GroupService {
Map<String, Object> paramForPlace = new HashMap<>(); Map<String, Object> paramForPlace = new HashMap<>();
// 待查询物料 // 待查询物料
paramForPlace.put("mid", groupInfo.getMid()); paramForPlace.put("mid", groupInfo.getMid());
for (Depository depository : depositoryByAdminorg) { for (Integer depositoryId : depositoryIdList) {
paramForPlace.put("depositoryId", depository.getId()); paramForPlace.put("depositoryId", depositoryId);
// 获取当前仓库中该物料与库位的对应关系 // 获取当前仓库中该物料与库位的对应关系
List<MaterialAndPlaceForView> materialAndPlaceForViews = placeMapper.findPlaceAndMaterialByDidAndMid(paramForPlace); List<MaterialAndPlaceForView> materialAndPlaceForViews = placeMapper.findPlaceAndMaterialByDidAndMid(paramForPlace);

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

@ -463,7 +463,7 @@ public class MaterialServiceImpl implements MaterialService {
* @return * @return
*/ */
@Override @Override
public List<Integer> findInventoryByMidAndDepository(GroupInfo groupInfo, List<Depository> depositoryList) { public List<Integer> findInventoryByMidAndDepository(GroupInfo groupInfo, List<Integer> depositoryList) {
// 用于存储各仓库的库存 // 用于存储各仓库的库存
List<Integer> result = new ArrayList<>(); List<Integer> result = new ArrayList<>();
// 获取当前物料在组合中的单位 // 获取当前物料在组合中的单位
@ -474,8 +474,8 @@ public class MaterialServiceImpl implements MaterialService {
map.put("mid", groupInfo.getMid()); map.put("mid", groupInfo.getMid());
if ("-1".equals(unit)) { if ("-1".equals(unit)) {
// 如果是基础单位 // 如果是基础单位
for (Depository depository : depositoryList) { for (Integer depositoryId : depositoryList) {
map.put("did", depository.getId()); map.put("did", depositoryId);
Inventory inventory = materialMapper.findInventoryByMidAndDid(map); Inventory inventory = materialMapper.findInventoryByMidAndDid(map);
if (inventory != null) { if (inventory != null) {
result.add(inventory.getQuantity()); result.add(inventory.getQuantity());
@ -494,11 +494,11 @@ public class MaterialServiceImpl implements MaterialService {
// 用户获取对应拆单库存记录 // 用户获取对应拆单库存记录
Map<String, Object> paramForSplitInventory = new HashMap<>(); Map<String, Object> paramForSplitInventory = new HashMap<>();
paramForSplitInventory.put("sid", splitInfo.getId()); paramForSplitInventory.put("sid", splitInfo.getId());
for (Depository depository : depositoryList) { for (Integer depositoryId : depositoryList) {
Integer quantity = 0; Integer quantity = 0;
// 获取该物料在该仓库下的映射关系 // 获取该物料在该仓库下的映射关系
List<MaterialAndPlaceForView> placeAndMaterialByDidAndMid = placeService.findPlaceAndMaterialByDidAndMid(depository.getId(), groupInfo.getMid()); List<MaterialAndPlaceForView> placeAndMaterialByDidAndMid = placeService.findPlaceAndMaterialByDidAndMid(depositoryId, groupInfo.getMid());
for (MaterialAndPlaceForView materialAndPlaceForView : placeAndMaterialByDidAndMid) { for (MaterialAndPlaceForView materialAndPlaceForView : placeAndMaterialByDidAndMid) {
paramForSplitInventory.put("iid", materialAndPlaceForView.getId()); paramForSplitInventory.put("iid", materialAndPlaceForView.getId());
MaterialAndPlace materialAndPlace = new MaterialAndPlace(); MaterialAndPlace materialAndPlace = new MaterialAndPlace();

2
src/main/resources/templates/pages/group/applicationInForGroup.html

@ -480,7 +480,7 @@
// 用于扫描入库位置 // 用于扫描入库位置
scanLocationByQrCode = function (obj) { scanLocationByQrCode = function (obj) {
parent.wx.scanQRCode({ parent.parent.wx.scanQRCode({
desc: 'scanQRCode desc', desc: 'scanQRCode desc',
needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果, needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果,
scanType: ["qrCode","barCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有 scanType: ["qrCode","barCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有

4
src/main/resources/templates/pages/group/group-add_back.html

@ -58,13 +58,13 @@
<div class="layui-input-block"> <div class="layui-input-block">
<div class="inputdiv"> <div class="inputdiv">
<input type="text" placeholder="请输入组合名称" class="layui-input" id="gname" th:value="${gid == -1?'':group?.getGname()}" <input type="text" placeholder="请输入组合名称" class="layui-input" id="gname" th:value="${gid == -1?'':group?.getGname()}"
name="gname" lay-verify="required"> th:attr="readonly=${gid != -1}" name="gname" lay-verify="required">
</div> </div>
</div> </div>
</div> </div>
<label class="layui-form-label">备注说明:</label> <label class="layui-form-label">备注说明:</label>
<div class="layui-input-block"> <div class="layui-input-block">
<input name="applyRemark" placeholder="请填写相关原因及申请原因" th:value="${gid == -1?'':group?.getRemark()}" <input name="applyRemark" placeholder="请填写相关原因及申请原因" th:value="${gid == -1?'':group?.getRemark()}" th:attr="readonly=${gid != -1}"
class="layui-input"/> class="layui-input"/>
</div> </div>
</div> </div>

3
src/main/resources/templates/pages/group/group-out.html

@ -141,6 +141,7 @@
{type: "checkbox", width: 50}, {type: "checkbox", width: 50},
{field: 'gname', width: 150, title: '组合名称',edit:'gname'}, {field: 'gname', width: 150, title: '组合名称',edit:'gname'},
{field: 'code', width: 150, title: '组合编码'}, {field: 'code', width: 150, title: '组合编码'},
{field: 'remark', width: 150, title: '组合备注'},
{title: '拥有物料', width: 700, align: "center"}, {title: '拥有物料', width: 700, align: "center"},
{field: 'quantity', width: 200, title: '物料数量'}, {field: 'quantity', width: 200, title: '物料数量'},
{field: 'createTime', width: 200, title: '创建时间'}, {field: 'createTime', width: 200, title: '创建时间'},
@ -160,7 +161,7 @@
let materialSimple = j["materialSimple"]; let materialSimple = j["materialSimple"];
let gid = j["id"]; let gid = j["id"];
let keys = Object.keys(materialSimple); let keys = Object.keys(materialSimple);
var materialItem = $("[lay-id='currentTableId'] tr:eq(" + (i+1) + ")").children()[3]; var materialItem = $("[lay-id='currentTableId'] tr:eq(" + (i+1) + ")").children()[4];
var aItem = materialItem.childNodes[0]; var aItem = materialItem.childNodes[0];
for (let k = 0; k < keys.length; k++) { for (let k = 0; k < keys.length; k++) {
$(aItem).append('<button id='+ gid+' class="layui-btn layui-btn-primary layui-btn-xs" onclick="checkSeeGroup(this)" value='+materialSimple[keys[k]]+'>'+keys[k]+'</button>') $(aItem).append('<button id='+ gid+' class="layui-btn layui-btn-primary layui-btn-xs" onclick="checkSeeGroup(this)" value='+materialSimple[keys[k]]+'>'+keys[k]+'</button>')

34
src/main/resources/templates/pages/group/group_edit.html

@ -28,6 +28,13 @@
</div> </div>
</div> </div>
<div class="layui-inline">
<label class="layui-form-label">备注说明</label>
<div class="layui-input-block">
<input type="text" name="applyRemark" id="applyRemark" placeholder="请输入备注说明" th:value="${record.getRemark()}" onblur="editGroupRemark(this)"
autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline"> <div class="layui-inline">
<label class="layui-form-label">组合编码</label> <label class="layui-form-label">组合编码</label>
<div class="layui-input-block"> <div class="layui-input-block">
@ -73,6 +80,8 @@
} }
// 用于修改组合名称 // 用于修改组合名称
function editGroupName(obj){} function editGroupName(obj){}
// 用于修改组合备注
function editGroupRemark(obj){}
// 用于创建二维码 // 用于创建二维码
function createQrCode(obj){} function createQrCode(obj){}
@ -300,6 +309,31 @@
}); });
}; };
// 用于修改组合备注
editGroupRemark = function (obj) {
let gid = $("#gid").val();
let applyRemark = obj.value;
let req = {};
req.id = gid;
req.applyRemark = applyRemark;
$.ajax({
url:'/group/editGroupInfo',
dataType:"json",
type:"post",
data:JSON.stringify(req),
contentType: "application/json;charset=utf-8",
success: function (data) {
if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
} else {
}
}
});
};
// 用于创建二维码 // 用于创建二维码
createQrCode = function () { createQrCode = function () {
var gid = $("#gid").val(); var gid = $("#gid").val();

Loading…
Cancel
Save