Browse Source

修改出库记录删除功能

lwx_dev
erdanergou 3 years ago
parent
commit
3b2e3b5a89
  1. 8
      src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java
  2. 7
      src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java
  3. 2
      src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java
  4. 112
      src/main/resources/templates/pages/depository/table-out.html
  5. 112
      target/classes/templates/pages/depository/table-out.html
  6. 14
      target/classes/templates/pages/scanQrCode/ScanBarOrQrCodeOut.html

8
src/main/java/com/dreamchaser/depository_manage/controller/DepositoryRecordController.java

@ -1006,16 +1006,16 @@ public class DepositoryRecordController {
return new RestResponse(b, 0, 1); return new RestResponse(b, 0, 1);
} else if (map.containsKey("ids")) { } else if (map.containsKey("ids")) {
List<Integer> ids = (List<Integer>) map.get("ids"); List<Integer> ids = (List<Integer>) map.get("ids");
List<Integer> resultIds = new ArrayList<>(); List<String> resultCodes = new ArrayList<>();
for (Integer id : ids for (Integer id : ids
) { ) {
boolean b1 = depositoryRecordService.judgeApplicationOutRecordStatus(id); boolean b1 = depositoryRecordService.judgeApplicationOutRecordStatus(id);
if (!b1) { if (!b1) {
resultIds.add(id); ApplicationOutRecordP recordPById = depositoryRecordService.findApplicationOutRecordPById(id);
resultCodes.add(recordPById.getCode());
} }
} }
resultIds.add(2); return new RestResponse(resultCodes, 0, 2);
return new RestResponse(resultIds, 0, 2);
} else { } else {
throw new MyException("所需请求参数缺失!"); throw new MyException("所需请求参数缺失!");
} }

7
src/main/java/com/dreamchaser/depository_manage/service/impl/DepositoryRecordServiceImpl.java

@ -274,7 +274,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
public Integer deleteApplicationOutRecordById(Integer id, UserByPort userByPort) { public Integer deleteApplicationOutRecordById(Integer id, UserByPort userByPort) {
// 删除主单 // 删除主单
Integer integer = depositoryRecordMapper.deleteApplicationOutRecordById(id); Integer integer = depositoryRecordMapper.deleteApplicationOutRecordById(id);
// 获取当前主单下的子单
List<ApplicationOutRecordMin> applicationOutRecordMinByParent = depositoryRecordMapper.findApplicationOutRecordMinByParent(id); List<ApplicationOutRecordMin> applicationOutRecordMinByParent = depositoryRecordMapper.findApplicationOutRecordMinByParent(id);
// 开启一个线程去删除redis中的数据 // 开启一个线程去删除redis中的数据
@ -283,15 +283,13 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
public void run() { public void run() {
// 获取该用户在redis中的订单记录 // 获取该用户在redis中的订单记录
String key = "user:" + userByPort.getId().toString(); String key = "user:" + userByPort.getId().toString();
// 获取当前用户所有 // 获取当前用户所有处理
String minRecord = (String) redisTemplate.opsForHash().get(key, "minRecord"); String minRecord = (String) redisTemplate.opsForHash().get(key, "minRecord");
for (ApplicationOutRecordMin recordMin : for (ApplicationOutRecordMin recordMin :
applicationOutRecordMinByParent) { applicationOutRecordMinByParent) {
Inventory inventoryById = materialMapper.findInventoryById(recordMin.getMid()); Inventory inventoryById = materialMapper.findInventoryById(recordMin.getMid());
inventoryById.setNumberOfTemporary(inventoryById.getNumberOfTemporary() - recordMin.getQuantity()); inventoryById.setNumberOfTemporary(inventoryById.getNumberOfTemporary() - recordMin.getQuantity());
materialMapper.updateInventory(inventoryById); materialMapper.updateInventory(inventoryById);
String redisMinRecordKey = "minRecord:" + recordMin.getId(); String redisMinRecordKey = "minRecord:" + recordMin.getId();
minRecord = minRecord.replace(redisMinRecordKey + ",", ""); minRecord = minRecord.replace(redisMinRecordKey + ",", "");
if (minRecord.length() == 2) { if (minRecord.length() == 2) {
@ -2027,6 +2025,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
} else { } else {
// 获取所有子订单 // 获取所有子订单
List<ApplicationOutRecordMin> recordMinByParent = depositoryRecordMapper.findApplicationOutRecordMinByParent(id); List<ApplicationOutRecordMin> recordMinByParent = depositoryRecordMapper.findApplicationOutRecordMinByParent(id);
// 如果有一个子单开始出库就不允许删除
for (ApplicationOutRecordMin recordMin : for (ApplicationOutRecordMin recordMin :
recordMinByParent) { recordMinByParent) {
if (Integer.compare(recordMin.getTrueOut(), 0) != 0) { if (Integer.compare(recordMin.getTrueOut(), 0) != 0) {

2
src/main/java/com/dreamchaser/depository_manage/service/impl/QyWxOperationService.java

@ -1436,7 +1436,7 @@ public class QyWxOperationService {
qywxDepartment qyWxDepartment = QyWxConfig.getQyWxDepartment(userAgent, portByQyWxInteger); qywxDepartment qyWxDepartment = QyWxConfig.getQyWxDepartment(userAgent, portByQyWxInteger);
// 获取部门负责人id列表 // 获取部门负责人id列表
// List<String> userIdList = new ArrayList<>(qyWxDepartment.getDepartment_leader()); // List<String> userIdList = new ArrayList<>(qyWxDepartment.getDepartment_leader());
List<String> userIdList = new ArrayList<String>(Collections.singleton("PangFuZhen")); List<String> userIdList = new ArrayList<>(Collections.singleton("PangFuZhen"));
approval_template_approver_departMentHeader.setUserid(userIdList); approval_template_approver_departMentHeader.setUserid(userIdList);

112
src/main/resources/templates/pages/depository/table-out.html

@ -19,10 +19,12 @@
<div class="layui-form-item"> <div class="layui-form-item">
<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">
<input type="text" style="display:inline;width: 101px;" id="startDate" name="startDate" autocomplete="off" placeholder="开始日期" class="layui-input"> <input type="text" style="display:inline;width: 101px;" id="startDate" name="startDate"
autocomplete="off" placeholder="开始日期" class="layui-input">
- -
<input type="text" style="display:inline;width: 101px;" id="endDate" name="endDate" autocomplete="off" placeholder="结束日期" class="layui-input"> <input type="text" style="display:inline;width: 101px;" id="endDate" name="endDate"
autocomplete="off" placeholder="结束日期" class="layui-input">
</div> </div>
</div> </div>
<div class="layui-inline"> <div class="layui-inline">
@ -37,27 +39,30 @@
<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">
<input type="text" class="layui-input" id="code" name="code" autocomplete="off" placeholder="请输入申请记录编码"/> <input type="text" class="layui-input" id="code" name="code" autocomplete="off"
placeholder="请输入申请记录编码"/>
</div> </div>
</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">
<input id="mname" name="mname" type="text" placeholder="请填写物料名称" <input id="mname" name="mname" type="text" placeholder="请填写物料名称"
class="layui-input" /> class="layui-input"/>
</div> </div>
</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">
<input type="text" name="mcode" autocomplete="off" class="layui-input" placeholder="请填写物料编码"> <input type="text" name="mcode" autocomplete="off" class="layui-input"
placeholder="请填写物料编码">
</div> </div>
</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">
<input type="text" class="layui-input" id="version" name="version" autocomplete="off" placeholder="请填写物料型号"/> <input type="text" class="layui-input" id="version" name="version" autocomplete="off"
placeholder="请填写物料型号"/>
</div> </div>
</div> </div>
<div class="layui-inline"> <div class="layui-inline">
@ -237,7 +242,8 @@
} }
if (data.startDate !== '') { if (data.startDate !== '') {
req.startDate = data.startDate; req.startDate = data.startDate;
}if (data.endDate !== '') { }
if (data.endDate !== '') {
req.endDate = data.endDate; req.endDate = data.endDate;
} }
if (data.mcode !== '') { if (data.mcode !== '') {
@ -300,57 +306,53 @@
success: function (res) { success: function (res) {
let status = res.status; let status = res.status;
let res_data = res.data; let res_data = res.data;
if(status === 2){ if (status === 2 || status === "2") {
if(res_data.length === 0){ if (res_data.length === 0) {
layer.confirm("该操作会造成不可逆的后果,确定删除?",{ layer.confirm("该操作会造成不可逆的后果,确定删除?", {
icon:2, icon: 2,
title:"提示" title: "提示"
},function () { },
$.ajax({ function () {
url: '/depositoryRecord/deleteApplicationOutRecord', $.ajax({
type: 'post', url: '/depositoryRecord/deleteApplicationOutRecord',
dataType: 'json', type: 'post',
contentType: "application/json;charset=utf-8", dataType: 'json',
data: JSON.stringify(req), contentType: "application/json;charset=utf-8",
beforeSend: function () { data: JSON.stringify(req),
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']}); beforeSend: function () {
}, this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
success: function (data) { },
layer.close(this.layerIndex); success: function (data) {
if (data.status >= 300) { layer.close(this.layerIndex);
layer.msg(data.statusInfo.message);//失败的表情 if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
} else { } else {
layer.msg("删除成功", { layer.msg("删除成功", {
icon: 6,//成功的表情 icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒) time: 500 //1秒关闭(如果不配置,默认是3秒)
}); });
//执行搜索重载 //执行搜索重载
table.reload('currentTableId', { table.reload('currentTableId', {
url: '/depositoryRecord/applicationOutView', url: '/depositoryRecord/applicationOutView',
page: { page: {
curr: 1 curr: 1
} }
}, 'data'); }, 'data');
return false; return false;
}
} }
} })
}) })
}) } else {
}
else {
let msg = "申请编码为:"; let msg = "申请编码为:";
$.each(res_data,function (index_num,item_num) { $.each(res_data, function (index_num, item_num) {
$.each(data,function (index,item) { msg += item_num + ",";
if(item_num === item.id){
msg += item.code+",";
}
})
}); });
msg += "的出库记录正在出库中,不允许删除"; msg += "的出库记录正在出库中,不允许删除";
layer.msg(msg,{ layer.msg(msg, {
icon:2, icon: 2,
time:1500 time: 1500
}) })
} }
} }
@ -400,7 +402,7 @@
success: function (res) { success: function (res) {
let data = res.data; let data = res.data;
let status = res.status; let status = res.status;
if (status === 1) { if (status === 1 || status === "1") {
if (data) { if (data) {
// 如果可以删除 // 如果可以删除
layer.confirm('该操作将造成不可逆的后果,是否删除?', {icon: 2, title: '提示'}, function (index) { layer.confirm('该操作将造成不可逆的后果,是否删除?', {icon: 2, title: '提示'}, function (index) {

112
target/classes/templates/pages/depository/table-out.html

@ -19,10 +19,12 @@
<div class="layui-form-item"> <div class="layui-form-item">
<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">
<input type="text" style="display:inline;width: 101px;" id="startDate" name="startDate" autocomplete="off" placeholder="开始日期" class="layui-input"> <input type="text" style="display:inline;width: 101px;" id="startDate" name="startDate"
autocomplete="off" placeholder="开始日期" class="layui-input">
- -
<input type="text" style="display:inline;width: 101px;" id="endDate" name="endDate" autocomplete="off" placeholder="结束日期" class="layui-input"> <input type="text" style="display:inline;width: 101px;" id="endDate" name="endDate"
autocomplete="off" placeholder="结束日期" class="layui-input">
</div> </div>
</div> </div>
<div class="layui-inline"> <div class="layui-inline">
@ -37,27 +39,30 @@
<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">
<input type="text" class="layui-input" id="code" name="code" autocomplete="off" placeholder="请输入申请记录编码"/> <input type="text" class="layui-input" id="code" name="code" autocomplete="off"
placeholder="请输入申请记录编码"/>
</div> </div>
</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">
<input id="mname" name="mname" type="text" placeholder="请填写物料名称" <input id="mname" name="mname" type="text" placeholder="请填写物料名称"
class="layui-input" /> class="layui-input"/>
</div> </div>
</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">
<input type="text" name="mcode" autocomplete="off" class="layui-input" placeholder="请填写物料编码"> <input type="text" name="mcode" autocomplete="off" class="layui-input"
placeholder="请填写物料编码">
</div> </div>
</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">
<input type="text" class="layui-input" id="version" name="version" autocomplete="off" placeholder="请填写物料型号"/> <input type="text" class="layui-input" id="version" name="version" autocomplete="off"
placeholder="请填写物料型号"/>
</div> </div>
</div> </div>
<div class="layui-inline"> <div class="layui-inline">
@ -237,7 +242,8 @@
} }
if (data.startDate !== '') { if (data.startDate !== '') {
req.startDate = data.startDate; req.startDate = data.startDate;
}if (data.endDate !== '') { }
if (data.endDate !== '') {
req.endDate = data.endDate; req.endDate = data.endDate;
} }
if (data.mcode !== '') { if (data.mcode !== '') {
@ -300,57 +306,53 @@
success: function (res) { success: function (res) {
let status = res.status; let status = res.status;
let res_data = res.data; let res_data = res.data;
if(status === 2){ if (status === 2 || status === "2") {
if(res_data.length === 0){ if (res_data.length === 0) {
layer.confirm("该操作会造成不可逆的后果,确定删除?",{ layer.confirm("该操作会造成不可逆的后果,确定删除?", {
icon:2, icon: 2,
title:"提示" title: "提示"
},function () { },
$.ajax({ function () {
url: '/depositoryRecord/deleteApplicationOutRecord', $.ajax({
type: 'post', url: '/depositoryRecord/deleteApplicationOutRecord',
dataType: 'json', type: 'post',
contentType: "application/json;charset=utf-8", dataType: 'json',
data: JSON.stringify(req), contentType: "application/json;charset=utf-8",
beforeSend: function () { data: JSON.stringify(req),
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']}); beforeSend: function () {
}, this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
success: function (data) { },
layer.close(this.layerIndex); success: function (data) {
if (data.status >= 300) { layer.close(this.layerIndex);
layer.msg(data.statusInfo.message);//失败的表情 if (data.status >= 300) {
layer.msg(data.statusInfo.message);//失败的表情
} else { } else {
layer.msg("删除成功", { layer.msg("删除成功", {
icon: 6,//成功的表情 icon: 6,//成功的表情
time: 500 //1秒关闭(如果不配置,默认是3秒) time: 500 //1秒关闭(如果不配置,默认是3秒)
}); });
//执行搜索重载 //执行搜索重载
table.reload('currentTableId', { table.reload('currentTableId', {
url: '/depositoryRecord/applicationOutView', url: '/depositoryRecord/applicationOutView',
page: { page: {
curr: 1 curr: 1
} }
}, 'data'); }, 'data');
return false; return false;
}
} }
} })
}) })
}) } else {
}
else {
let msg = "申请编码为:"; let msg = "申请编码为:";
$.each(res_data,function (index_num,item_num) { $.each(res_data, function (index_num, item_num) {
$.each(data,function (index,item) { msg += item_num + ",";
if(item_num === item.id){
msg += item.code+",";
}
})
}); });
msg += "的出库记录正在出库中,不允许删除"; msg += "的出库记录正在出库中,不允许删除";
layer.msg(msg,{ layer.msg(msg, {
icon:2, icon: 2,
time:1500 time: 1500
}) })
} }
} }
@ -400,7 +402,7 @@
success: function (res) { success: function (res) {
let data = res.data; let data = res.data;
let status = res.status; let status = res.status;
if (status === 1) { if (status === 1 || status === "1") {
if (data) { if (data) {
// 如果可以删除 // 如果可以删除
layer.confirm('该操作将造成不可逆的后果,是否删除?', {icon: 2, title: '提示'}, function (index) { layer.confirm('该操作将造成不可逆的后果,是否删除?', {icon: 2, title: '提示'}, function (index) {

14
target/classes/templates/pages/scanQrCode/ScanBarOrQrCodeOut.html

@ -60,7 +60,7 @@
}else{ }else{
wxScan = wxScan.parent.wx; wxScan = wxScan.parent.wx;
} }
/*wxScan.scanQRCode({ wxScan.scanQRCode({
desc: 'scanQRCode desc', desc: 'scanQRCode desc',
needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果, needResult: 1, // 默认为0,扫描结果由企业微信处理,1则直接返回扫描结果,
scanType: ["barCode", "qrCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有 scanType: ["barCode", "qrCode"], // 可以指定扫二维码还是条形码(一维码),默认二者都有
@ -79,11 +79,7 @@
} }
});*/ });
var result = "1614903417674964992";//当needResult为1时返回处理结果
var req = {};
req.qrCode = result;
outboundLogic(req);
}); });
@ -116,15 +112,13 @@
}); });
} else { } else {
// 如果出库失败 // 如果出库失败
layer.msg(res.statusInfo.detail + ",请确认库存数量满足要求",{ layer.msg(res.statusInfo.detail + ",请重试",{
icon:0, icon:0,
time:1000 time:1000
},function() { },function () {
var index = parent.layer.getFrameIndex(window.name); var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index); parent.layer.close(index);
}); });
} }
} }

Loading…
Cancel
Save