Browse Source

完成组合创建的页面修改

lwx_dev
erdanergou 3 years ago
parent
commit
5ce04bdce9
  1. 2
      src/main/java/com/dreamchaser/depository_manage/controller/GroupController.java
  2. 4
      src/main/java/com/dreamchaser/depository_manage/controller/PageController.java
  3. 5
      src/main/java/com/dreamchaser/depository_manage/entity/Group.java
  4. 9
      src/main/java/com/dreamchaser/depository_manage/mapper/GroupMapper.xml
  5. 63
      src/main/java/com/dreamchaser/depository_manage/service/impl/GroupServiceImpl.java
  6. 119
      src/main/resources/templates/pages/group/group-add_back.html
  7. 20
      src/main/resources/templates/pages/group/group_material_edit.html
  8. 9
      target/classes/com/dreamchaser/depository_manage/mapper/GroupMapper.xml

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

@ -190,7 +190,7 @@ public class GroupController {
* @param map * @param map
* @return * @return
*/ */
@GetMapping("findGroupInfo") @GetMapping("/findGroupInfo")
public RestResponse findGroupInfo(@RequestParam Map<String, Object> map) { public RestResponse findGroupInfo(@RequestParam Map<String, Object> map) {
if (map.containsKey("gid")) { if (map.containsKey("gid")) {
List<GroupInfo> groupByCondition = groupService.findGroupByCondition(map); List<GroupInfo> groupByCondition = groupService.findGroupByCondition(map);

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

@ -819,6 +819,8 @@ public class PageController {
ModelAndView mv = new ModelAndView(); ModelAndView mv = new ModelAndView();
if (gid != null) { if (gid != null) {
mv.addObject("gid", gid); mv.addObject("gid", gid);
Group groupOnlyById = groupService.findGroupOnlyById(gid);
mv.addObject("group",groupOnlyById);
} else { } else {
mv.addObject("gid", -1); mv.addObject("gid", -1);
} }
@ -863,6 +865,8 @@ public class PageController {
GroupInfo groupInfoByMidAndGid = groupService.findGroupInfoByMidAndGid(mid, gid); GroupInfo groupInfoByMidAndGid = groupService.findGroupInfoByMidAndGid(mid, gid);
if (groupInfoByMidAndGid != null) { if (groupInfoByMidAndGid != null) {
mv.addObject("record", groupInfoByMidAndGid); mv.addObject("record", groupInfoByMidAndGid);
List<SplitInfo> splitInfoByMid = splitUnitService.findSplitInfoByMid(groupInfoByMidAndGid.getMid());
mv.addObject("splitList",splitInfoByMid);
} else { } else {
throw new MyException("缺少必要参数!"); throw new MyException("缺少必要参数!");
} }

5
src/main/java/com/dreamchaser/depository_manage/entity/Group.java

@ -26,4 +26,9 @@ public class Group {
* 组合名称 * 组合名称
*/ */
private String gname; private String gname;
/**
* 组合备注
*/
private String remark;
} }

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

@ -32,6 +32,7 @@
<id column="id" property="id" jdbcType="INTEGER" /> <id column="id" property="id" jdbcType="INTEGER" />
<result column="code" property="code" jdbcType="VARCHAR"/> <result column="code" property="code" jdbcType="VARCHAR"/>
<result column="gname" property="gname" jdbcType="VARCHAR"/> <result column="gname" property="gname" jdbcType="VARCHAR"/>
<result column="remark" property="remark" jdbcType="VARCHAR"/>
<result column="createTime" property="createTime" jdbcType="INTEGER"/> <result column="createTime" property="createTime" jdbcType="INTEGER"/>
<result column="state" property="state" jdbcType="INTEGER"/> <result column="state" property="state" jdbcType="INTEGER"/>
</resultMap> </resultMap>
@ -53,7 +54,7 @@
<!-- 用于组合--> <!-- 用于组合-->
<sql id="allColumnsForGroup"> <sql id="allColumnsForGroup">
id,code,createTime,state,gname id,code,createTime,state,gname,remark
</sql> </sql>
<!-- 用于物料对于组合的映射--> <!-- 用于物料对于组合的映射-->
@ -141,12 +142,14 @@
<insert id="addGroup" useGeneratedKeys="true" keyProperty="id"> <insert id="addGroup" useGeneratedKeys="true" keyProperty="id">
INSERT INTO `group` ( INSERT INTO `group` (
id, code, createTime, state id, code, createTime, state,gname,remark
) VALUES ( ) VALUES (
#{id}, #{id},
#{code}, #{code},
#{createTime}, #{createTime},
#{state} #{state},
#{gname},
#{remark}
) )
</insert> </insert>

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

@ -104,6 +104,12 @@ public class GroupServiceImpl implements GroupService {
@Override @Override
public List<GroupInfo> findGroupByCondition(Map<String, Object> map) { public List<GroupInfo> findGroupByCondition(Map<String, Object> map) {
List<GroupInfo> groupByCondition = groupMapper.findGroupByCondition(map); List<GroupInfo> 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; return groupByCondition;
} }
@ -189,49 +195,62 @@ public class GroupServiceImpl implements GroupService {
// 设置当前时间 // 设置当前时间
insertForGroup.put("createTime", System.currentTimeMillis()); 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<>()); Integer groupCount = groupMapper.findAllGroupOnlyCount(new HashMap<>());
if (groupCount == null) { if (groupCount == null) {
groupCount = 0; groupCount = 0;
} }
if(gid == null) {
// 构造组合编码 // 构造组合编码
String code = createCode(groupCount); String code = createCode(groupCount);
insertForGroup.put("code", code); insertForGroup.put("code", code);
insertForGroup.put("state", 1); insertForGroup.put("state", 1);
insertForGroup.put("remark",map.get("applyRemark")); insertForGroup.put("remark", map.get("applyRemark"));
insertForGroup.put("gname",map.get("gname")); insertForGroup.put("gname", map.get("gname"));
// 插入到数据库 // 插入到数据库
groupMapper.addGroup(insertForGroup); 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
Integer gid = ObjectFormatUtil.toInteger(insertForGroup.get("id"));
// 获取组合中的物料id
List<Object> mids = (List<Object>) map.get("mids");
// 获取组合中物料的数量
List<Object> quantitys = (List<Object>) map.get("quantitys");
// 获取创建的数量
Integer len = ObjectFormatUtil.toInteger(map.get("len"));
// 用于添加组合中的物料信息 // 用于添加组合中的物料信息
Map<String, Object> materialForGroupMap = new HashMap<>(); Map<String, Object> materialForGroupMap = new HashMap<>();
// 设置组合id
materialForGroupMap.put("gid", gid); materialForGroupMap.put("gid", gid);
Integer result = 0; Integer result = 0;
for (int i = 0; i < mids.size(); i++) { if(len > 1){
// 获取物料id List<Integer> params = (List<Integer>) map.get("params");
Object mid = mids.get(i); for (Integer temp : params) {
// 获取组合中当前物料对应的数量 materialForGroupMap.put("mid", map.get("mid" + temp));
Object quantity = quantitys.get(i); materialForGroupMap.put("quantity", map.get("quantity" + temp));
materialForGroupMap.put("unit",map.get("unit"+temp));
materialForGroupMap.put("mid", mid);
materialForGroupMap.put("quantity", quantity);
// 添加
result += groupMapper.addGroupForMaterial(materialForGroupMap); 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; return result;
} }
@ -345,6 +364,7 @@ public class GroupServiceImpl implements GroupService {
Integer id = ObjectFormatUtil.toInteger(map.get("id")); Integer id = ObjectFormatUtil.toInteger(map.get("id"));
// 获取当前要修改的物料明细数量 // 获取当前要修改的物料明细数量
Integer quantity = ObjectFormatUtil.toInteger(map.get("quantity")); Integer quantity = ObjectFormatUtil.toInteger(map.get("quantity"));
String unit = (String) map.get("unit");
if (Integer.compare(0, quantity) == 0) { if (Integer.compare(0, quantity) == 0) {
// 如果要修改的数量为0则删除该明细 // 如果要修改的数量为0则删除该明细
return groupMapper.delMaterialForGroupById(id); return groupMapper.delMaterialForGroupById(id);
@ -352,6 +372,7 @@ public class GroupServiceImpl implements GroupService {
// 根据id获取当前组合明细 // 根据id获取当前组合明细
GroupInfo groupById = groupMapper.findGroupById(id); GroupInfo groupById = groupMapper.findGroupById(id);
groupById.setQuantity(quantity); groupById.setQuantity(quantity);
groupById.setUnit(unit);
return groupMapper.updateMaterialForGroup(groupById); return groupMapper.updateMaterialForGroup(groupById);
} }
} }

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

@ -48,19 +48,23 @@
<div class="layuimini-main"> <div class="layuimini-main">
<input style="display: none" id="gid" th:value="${gid}"> <input style="display: none" id="gid" th:value="${gid}">
<div style="margin: 10px 10px 10px 10px"> <div style="margin: 10px 10px 10px 10px">
<form class="layui-form layui-form-pane" id="stepForm" style="margin: 0 auto;max-width: 460px;"> <div class="layui-carousel" id="stepForm" lay-filter="stepForm" style="margin: 0 auto; ">
<div carousel-item style="overflow: inherit">
<div>
<form class="layui-form layui-form-pane" style="margin: 0 auto;max-width: 460px;">
<div class="layui-card-body" id="takingHeader" style="padding-right: 0px"> <div class="layui-card-body" id="takingHeader" style="padding-right: 0px">
<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">
<div class="inputdiv"> <div class="inputdiv">
<input type="text" placeholder="请输入组合名称" class="layui-input" id="gname" name="gname" lay-verify="required"> <input type="text" placeholder="请输入组合名称" class="layui-input" id="gname" th:value="${gid == -1?'':group?.getGname()}"
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="请填写相关原因及申请原因" value="" <input name="applyRemark" placeholder="请填写相关原因及申请原因" th:value="${gid == -1?'':group?.getRemark()}"
class="layui-input"/> class="layui-input"/>
</div> </div>
</div> </div>
@ -140,9 +144,9 @@
</div> </div>
</fieldset> </fieldset>
<!-- 提交按钮--> <!-- 提交按钮-->
<div class="layui-form-item" id="btn_sub" style="margin-top: 10px" > <div class="layui-form-item" id="btn_sub" style="margin-top: 10px">
<div class="layui-input-block"> <div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="formStep" <button class="layui-btn" lay-submit lay-filter="formStep" type="button"
style="margin-bottom: 30px;margin-left: 15%"> style="margin-bottom: 30px;margin-left: 15%">
&emsp;提交&emsp; &emsp;提交&emsp;
</button> </button>
@ -151,37 +155,62 @@
</div> </div>
</form> </form>
</div> </div>
<div>
<form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
<div style="text-align: center;margin-top: 90px;">
<i class="layui-icon layui-circle"
style="color: white;font-size:30px;font-weight:bold;background: #52C41A;padding: 20px;line-height: 80px;">&#xe605;</i>
<div style="font-size: 24px;color: #333;font-weight: 500;margin-top: 30px;">
创建成功
</div>
<div style="text-align: center;margin-top: 50px;">
<button class="layui-btn next" >再创建一次</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div> </div>
</div> </div>
<script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script> <script src="/static/lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script src="/static/js/lay-config.js?v=1.0.4" charset="utf-8"></script>
<script> <script>
// 实现卡片添加 // 实现卡片添加
function addItem(){ function addItem() {
} }
// 实现卡片删除 // 实现卡片删除
function deleteItem(){ function deleteItem() {
} }
// 扫描物料条码 // 扫描物料条码
function scanBarCode(){ function scanBarCode() {
} }
// 用于扫码功能 // 用于扫码功能
function scanCodeForMaterial(){ function scanCodeForMaterial() {
} }
// 用于实现点击搜索按钮 // 用于实现点击搜索按钮
function selectMaterial(){ function selectMaterial() {
} }
// 用于实现通过编码查询物料 // 用于实现通过编码查询物料
function selectCode(){ function selectCode() {
} }
// 用于实现物料名称搜索 // 用于实现物料名称搜索
function selectMaterialByName(){ function selectMaterialByName() {
} }
@ -190,19 +219,38 @@
// 用于卡片编号 // 用于卡片编号
var NewIdNumber = 1; var NewIdNumber = 1;
layui.use(['form', 'layer', 'dropdown', 'tree', 'laydate'], function () { layui.use(['form', 'layer', 'tree', 'step'], function () {
var $ = layui.jquery, var $ = layui.jquery,
form = layui.form; form = layui.form,
step = layui.step;
let gid = $("#gid").val();
step.render({
elem: '#stepForm',
filter: 'stepForm',
width: '100%', //设置容器宽度
height: '600px',
stepItems: [{
title: '填写信息'
}, {
title: '创建成功'
}]
});
// 提交(组合出库) // 提交(组合出库)
form.on('submit(formStep)', function (data) { form.on('submit(formStep)', function (data) {
data = data.field; data = data.field;
data.len = NewIdNumber; data.len = NewIdNumber;
data.params = params;
if("-1" !== gid){
data.gid = gid;
}
$.ajax({ $.ajax({
url:"/group/addGroup", url: "/group/addGroup",
data:JSON.stringify(data), data: JSON.stringify(data),
dataType:"json", dataType: "json",
type:"post", type: "post",
contentType: "application/json;charset=utf-8", contentType: "application/json;charset=utf-8",
beforeSend: function () { beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']}); this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
@ -215,7 +263,9 @@
} else { } else {
layer.msg("创建成功", { layer.msg("创建成功", {
icon: 6,//成功的表情 icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒) time: 1000 //1秒关闭(如果不配置,默认是3秒)
}, function () {
step.next('#stepForm');
}); });
} }
}, },
@ -225,6 +275,14 @@
}) })
}); });
$('.pre').click(function () {
step.pre('#stepForm');
});
$('.next').click(function () {
step.next('#stepForm');
});
// 实现卡片添加 // 实现卡片添加
addItem = function (obj) { addItem = function (obj) {
// 获取父元素id // 获取父元素id
@ -243,7 +301,7 @@
id="openSonByMaterial" lay-verify="required" onblur="selectMaterialByName(this)"/> id="openSonByMaterial" lay-verify="required" onblur="selectMaterialByName(this)"/>
<i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial" onclick="selectMaterial(this)"></i> <i class="layui-icon layui-icon-search" style="display: inline" id="selectMaterial" onclick="selectMaterial(this)"></i>
</div> </div>
<input type="text" name=` + "mid" + NewIdNumber + ` class="layui-input" id="mid" <input type="text" name=` + "mid" + NewIdNumber + ` class="layui-input" id=`+"mid"+NewIdNumber+`
style="display: none" lay-verify="required" /> style="display: none" lay-verify="required" />
</div> </div>
</div> </div>
@ -284,7 +342,7 @@
<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">
<select id=`+"unit"+NewIdNumber+` name=`+"unit"+NewIdNumber+`> <select id=` + "unit" + NewIdNumber + ` name=` + "unit" + NewIdNumber + `>
</select> </select>
</div> </div>
@ -364,7 +422,7 @@
var data = d.data; var data = d.data;
if (data !== null) { if (data !== null) {
materialName.value = data.mname; materialName.value = data.mname;
materialId.value = data.iid; materialId.value = data.mid;
materialCode.value = data.mcode; materialCode.value = data.mcode;
var barCodeInput = barCodeItem.childNodes[1].childNodes[1]; var barCodeInput = barCodeItem.childNodes[1].childNodes[1];
barCodeInput.value = result; barCodeInput.value = result;
@ -462,14 +520,14 @@
$.each(data.placePList, function (index, item) { $.each(data.placePList, function (index, item) {
$('#place' + idNumber).append(new Option(item.depositoryName + "-" + item.code, item.id));//往下拉菜单里添加元素 $('#place' + idNumber).append(new Option(item.depositoryName + "-" + item.code, item.id));//往下拉菜单里添加元素
}); });
$("#unit"+idNumber).empty(); $("#unit" + idNumber).empty();
$("#unit"+idNumber).append(new Option(data.unit,"-1")); $("#unit" + idNumber).append(new Option(data.unit, "-1"));
$.each(data.splitInfoList,function (index,item) { $.each(data.splitInfoList, function (index, item) {
$("#unit"+idNumber).append(new Option(item.newUnit,item.newUnit)); $("#unit" + idNumber).append(new Option(item.newUnit, item.newUnit));
}); });
form.render(); form.render();
materialName.value = data.mname; materialName.value = data.mname;
materialId.value = data.id; materialId.value = data.mid;
materialCode.value = data.code; materialCode.value = data.code;
} }
}) })
@ -514,7 +572,7 @@
}, },
end: function () { end: function () {
var mid = materialId.value; var mid = materialId.value;
if(mid !== '') { if (mid !== '') {
$.ajax({ $.ajax({
url: "/material/findMatrialById?mid=" + mid, url: "/material/findMatrialById?mid=" + mid,
type: "get", type: "get",
@ -607,7 +665,7 @@
} else { } else {
materialName.value = d.mname; materialName.value = d.mname;
materialId.value = d.id; materialId.value = d.mid;
var idNumber = materialId.name.split("mid")[1]; var idNumber = materialId.name.split("mid")[1];
// 获取物料与条形码的对应关系 // 获取物料与条形码的对应关系
var materialAndBarCodeList = d["materialAndBarCodeList"]; var materialAndBarCodeList = d["materialAndBarCodeList"];
@ -693,7 +751,7 @@
unit.empty(); unit.empty();
$("#unit" + idNumber).append(new Option(material.unit, "-1")); $("#unit" + idNumber).append(new Option(material.unit, "-1"));
var unitList = material["splitInfoList"]; var unitList = material["splitInfoList"];
if(unitList !== null && unitList != undefined){ if (unitList !== null && unitList != undefined) {
for (let i = 0; i < unitList.length; i++) { for (let i = 0; i < unitList.length; i++) {
$("#unit" + idNumber).append(new Option(unitList[i].newUnit, unitList[i].newUnit)); $("#unit" + idNumber).append(new Option(unitList[i].newUnit, unitList[i].newUnit));
} }
@ -736,7 +794,6 @@
}; };
}) })
</script> </script>

20
src/main/resources/templates/pages/group/group_material_edit.html

@ -77,21 +77,15 @@
<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-inline"> <div class="layui-input-inline">
<input type="text" th:value="${record.getUnit()}" name="unit" required autocomplete="off" readonly <select id="unit" name="unit">
class="layui-input"> <option value="-1" th:text="${record.getMunit()}" th:selected="${record.getUnit() == '-1'}"></option>
<option th:each="splitInfo,iterStar:${splitList}" th:selected="${splitInfo.getNewUnit() == record.getUnit()}"
th:value="${splitInfo?.getNewUnit()}"
th:text="${splitInfo?.getNewUnit()}">
</option>
</select>
</div> </div>
</div> </div>
<div class="layui-form-item">
<label class="layui-form-label">备注:</label>
<div class="layui-input-inline">
<input type="text" placeholder="请填写备注" class="layui-input" th:value="${record.getRemark()}"
name="remark" />
</div>
</div>
<div class="layui-form-item"> <div class="layui-form-item">
<div class="layui-input-block"> <div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button> <button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>

9
target/classes/com/dreamchaser/depository_manage/mapper/GroupMapper.xml

@ -32,6 +32,7 @@
<id column="id" property="id" jdbcType="INTEGER" /> <id column="id" property="id" jdbcType="INTEGER" />
<result column="code" property="code" jdbcType="VARCHAR"/> <result column="code" property="code" jdbcType="VARCHAR"/>
<result column="gname" property="gname" jdbcType="VARCHAR"/> <result column="gname" property="gname" jdbcType="VARCHAR"/>
<result column="remark" property="remark" jdbcType="VARCHAR"/>
<result column="createTime" property="createTime" jdbcType="INTEGER"/> <result column="createTime" property="createTime" jdbcType="INTEGER"/>
<result column="state" property="state" jdbcType="INTEGER"/> <result column="state" property="state" jdbcType="INTEGER"/>
</resultMap> </resultMap>
@ -53,7 +54,7 @@
<!-- 用于组合--> <!-- 用于组合-->
<sql id="allColumnsForGroup"> <sql id="allColumnsForGroup">
id,code,createTime,state,gname id,code,createTime,state,gname,remark
</sql> </sql>
<!-- 用于物料对于组合的映射--> <!-- 用于物料对于组合的映射-->
@ -141,12 +142,14 @@
<insert id="addGroup" useGeneratedKeys="true" keyProperty="id"> <insert id="addGroup" useGeneratedKeys="true" keyProperty="id">
INSERT INTO `group` ( INSERT INTO `group` (
id, code, createTime, state id, code, createTime, state,gname,remark
) VALUES ( ) VALUES (
#{id}, #{id},
#{code}, #{code},
#{createTime}, #{createTime},
#{state} #{state},
#{gname},
#{remark}
) )
</insert> </insert>

Loading…
Cancel
Save