diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/GroupController.java b/src/main/java/com/dreamchaser/depository_manage/controller/GroupController.java index ef222cb9..0b186a1d 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/GroupController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/GroupController.java @@ -190,7 +190,7 @@ public class GroupController { * @param map * @return */ - @GetMapping("findGroupInfo") + @GetMapping("/findGroupInfo") public RestResponse findGroupInfo(@RequestParam Map map) { if (map.containsKey("gid")) { List groupByCondition = groupService.findGroupByCondition(map); diff --git a/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java b/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java index 38172f24..b9d74ab0 100644 --- a/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java +++ b/src/main/java/com/dreamchaser/depository_manage/controller/PageController.java @@ -819,6 +819,8 @@ public class PageController { ModelAndView mv = new ModelAndView(); if (gid != null) { mv.addObject("gid", gid); + Group groupOnlyById = groupService.findGroupOnlyById(gid); + mv.addObject("group",groupOnlyById); } else { mv.addObject("gid", -1); } @@ -863,6 +865,8 @@ public class PageController { GroupInfo groupInfoByMidAndGid = groupService.findGroupInfoByMidAndGid(mid, gid); if (groupInfoByMidAndGid != null) { mv.addObject("record", groupInfoByMidAndGid); + List splitInfoByMid = splitUnitService.findSplitInfoByMid(groupInfoByMidAndGid.getMid()); + mv.addObject("splitList",splitInfoByMid); } else { throw new MyException("缺少必要参数!"); } diff --git a/src/main/java/com/dreamchaser/depository_manage/entity/Group.java b/src/main/java/com/dreamchaser/depository_manage/entity/Group.java index f11284a8..5126d152 100644 --- a/src/main/java/com/dreamchaser/depository_manage/entity/Group.java +++ b/src/main/java/com/dreamchaser/depository_manage/entity/Group.java @@ -26,4 +26,9 @@ public class Group { * 组合名称 */ private String gname; + + /** + * 组合备注 + */ + private String remark; } diff --git a/src/main/java/com/dreamchaser/depository_manage/mapper/GroupMapper.xml b/src/main/java/com/dreamchaser/depository_manage/mapper/GroupMapper.xml index 8b586e6a..c0d6bf4c 100644 --- a/src/main/java/com/dreamchaser/depository_manage/mapper/GroupMapper.xml +++ b/src/main/java/com/dreamchaser/depository_manage/mapper/GroupMapper.xml @@ -32,6 +32,7 @@ + @@ -53,7 +54,7 @@ - id,code,createTime,state,gname + id,code,createTime,state,gname,remark @@ -141,12 +142,14 @@ INSERT INTO `group` ( - id, code, createTime, state + id, code, createTime, state,gname,remark ) VALUES ( #{id}, #{code}, #{createTime}, - #{state} + #{state}, + #{gname}, + #{remark} ) diff --git a/src/main/java/com/dreamchaser/depository_manage/service/impl/GroupServiceImpl.java b/src/main/java/com/dreamchaser/depository_manage/service/impl/GroupServiceImpl.java index ccf34a06..dd93dc34 100644 --- a/src/main/java/com/dreamchaser/depository_manage/service/impl/GroupServiceImpl.java +++ b/src/main/java/com/dreamchaser/depository_manage/service/impl/GroupServiceImpl.java @@ -104,6 +104,12 @@ public class GroupServiceImpl implements GroupService { @Override public List findGroupByCondition(Map map) { List groupByCondition = groupMapper.findGroupByCondition(map); + for (GroupInfo groupInfo : groupByCondition) { + if ("-1".equals(groupInfo.getUnit())) { + Material material = materialMapper.findMaterialById(groupInfo.getMid()); + groupInfo.setUnit(material.getUnit()); + } + } return groupByCondition; } @@ -189,49 +195,62 @@ public class GroupServiceImpl implements GroupService { // 设置当前时间 insertForGroup.put("createTime", System.currentTimeMillis()); + //获取要使用的gid + Integer gid = null; + if(map.containsKey("gid")){ + // 如果是重新添加对应物料 + gid = ObjectFormatUtil.toInteger(map.get("gid")); + } // 获取当前组合数量 Integer groupCount = groupMapper.findAllGroupOnlyCount(new HashMap<>()); if (groupCount == null) { groupCount = 0; } - // 构造组合编码 - String code = createCode(groupCount); - insertForGroup.put("code", code); - insertForGroup.put("state", 1); - insertForGroup.put("remark",map.get("applyRemark")); - insertForGroup.put("gname",map.get("gname")); - - // 插入到数据库 - groupMapper.addGroup(insertForGroup); - - //获取插入的组合id - Integer gid = ObjectFormatUtil.toInteger(insertForGroup.get("id")); + if(gid == null) { + // 构造组合编码 + String code = createCode(groupCount); + insertForGroup.put("code", code); + insertForGroup.put("state", 1); + insertForGroup.put("remark", map.get("applyRemark")); + insertForGroup.put("gname", map.get("gname")); + + // 插入到数据库 + groupMapper.addGroup(insertForGroup); + gid = ObjectFormatUtil.toInteger(insertForGroup.get("id")); + }else{ + Group groupOnlyById = groupMapper.findGroupOnlyById(gid); + groupOnlyById.setGname(map.get("gname").toString()); + groupOnlyById.setRemark(map.get("applyRemark").toString()); + groupMapper.updateGroupOnly(groupOnlyById); + } - // 获取组合中的物料id - List mids = (List) map.get("mids"); - // 获取组合中物料的数量 - List quantitys = (List) map.get("quantitys"); + // 获取创建的数量 + Integer len = ObjectFormatUtil.toInteger(map.get("len")); // 用于添加组合中的物料信息 Map materialForGroupMap = new HashMap<>(); - + // 设置组合id materialForGroupMap.put("gid", gid); Integer result = 0; - for (int i = 0; i < mids.size(); i++) { - // 获取物料id - Object mid = mids.get(i); - // 获取组合中当前物料对应的数量 - Object quantity = quantitys.get(i); - - materialForGroupMap.put("mid", mid); - materialForGroupMap.put("quantity", quantity); - - // 添加 + if(len > 1){ + List params = (List) map.get("params"); + for (Integer temp : params) { + materialForGroupMap.put("mid", map.get("mid" + temp)); + materialForGroupMap.put("quantity", map.get("quantity" + temp)); + materialForGroupMap.put("unit",map.get("unit"+temp)); + result += groupMapper.addGroupForMaterial(materialForGroupMap); + } + materialForGroupMap.put("mid",map.get("mid")); + materialForGroupMap.put("quantity",map.get("quantity")); + materialForGroupMap.put("unit",map.get("unit")); result += groupMapper.addGroupForMaterial(materialForGroupMap); + }else{ + // 添加 + map.put("gid",gid); + result += groupMapper.addGroupForMaterial(map); } - return result; } @@ -345,6 +364,7 @@ public class GroupServiceImpl implements GroupService { Integer id = ObjectFormatUtil.toInteger(map.get("id")); // 获取当前要修改的物料明细数量 Integer quantity = ObjectFormatUtil.toInteger(map.get("quantity")); + String unit = (String) map.get("unit"); if (Integer.compare(0, quantity) == 0) { // 如果要修改的数量为0则删除该明细 return groupMapper.delMaterialForGroupById(id); @@ -352,6 +372,7 @@ public class GroupServiceImpl implements GroupService { // 根据id获取当前组合明细 GroupInfo groupById = groupMapper.findGroupById(id); groupById.setQuantity(quantity); + groupById.setUnit(unit); return groupMapper.updateMaterialForGroup(groupById); } } diff --git a/src/main/resources/templates/pages/group/group-add_back.html b/src/main/resources/templates/pages/group/group-add_back.html index a8e2dc6c..f7770d2d 100644 --- a/src/main/resources/templates/pages/group/group-add_back.html +++ b/src/main/resources/templates/pages/group/group-add_back.html @@ -47,141 +47,170 @@
-
-
-
-
- -
-
- -
-
-
- -
- -
-
- -
-
- 组合明细 -
-
- -
- -
-
- - +
+
- -
-
- -
-
+ +
- +
+
+ diff --git a/src/main/resources/templates/pages/group/group_material_edit.html b/src/main/resources/templates/pages/group/group_material_edit.html index e4e21f72..7795b449 100644 --- a/src/main/resources/templates/pages/group/group_material_edit.html +++ b/src/main/resources/templates/pages/group/group_material_edit.html @@ -77,21 +77,15 @@
- +
- - - -
- -
- -
-
-
diff --git a/target/classes/com/dreamchaser/depository_manage/mapper/GroupMapper.xml b/target/classes/com/dreamchaser/depository_manage/mapper/GroupMapper.xml index 8b586e6a..c0d6bf4c 100644 --- a/target/classes/com/dreamchaser/depository_manage/mapper/GroupMapper.xml +++ b/target/classes/com/dreamchaser/depository_manage/mapper/GroupMapper.xml @@ -32,6 +32,7 @@ + @@ -53,7 +54,7 @@ - id,code,createTime,state,gname + id,code,createTime,state,gname,remark @@ -141,12 +142,14 @@ INSERT INTO `group` ( - id, code, createTime, state + id, code, createTime, state,gname,remark ) VALUES ( #{id}, #{code}, #{createTime}, - #{state} + #{state}, + #{gname}, + #{remark} )