Commit cc7df2b4 authored by 季圣华's avatar 季圣华
Browse files

优化采购入库单据,改为选择关联单据的方式

parent 247dfb3c
...@@ -635,7 +635,7 @@ ...@@ -635,7 +635,7 @@
$("#saveDepotHead").click(); $("#saveDepotHead").click();
} }
//搜索按钮添加快捷键 //搜索按钮添加快捷键
if(k == "13"&&(obj.id=="searchState"||obj.id=="searchNumber"||obj.id=="searchMaterial")) if(k == "13"&&(obj.id=="searchNumber"||obj.id=="searchMaterial"))
{ {
$("#searchBtn").click(); $("#searchBtn").click();
} }
...@@ -1003,7 +1003,7 @@ ...@@ -1003,7 +1003,7 @@
type: listType, type: listType,
subType: listSubType, subType: listSubType,
roleType: roleType, roleType: roleType,
state: $.trim($("#searchState").val()), status: "",
number: $.trim($("#searchNumber").val()), number: $.trim($("#searchNumber").val()),
beginTime: beginTime, beginTime: beginTime,
endTime: endTime, endTime: endTime,
......
...@@ -82,7 +82,7 @@ ...@@ -82,7 +82,7 @@
</td> </td>
<td style="width:70px;">关联订单</td> <td style="width:70px;">关联订单</td>
<td style="padding:5px"> <td style="padding:5px">
<input name="LinkNumber" id="LinkNumber" class="easyui-validatebox radius-ui" style="width: 150px;" readonly/> <input name="LinkNumber" id="LinkNumber" class="easyui-textbox" data-options="buttonText:'选择',editable:false" style="width: 185px;"/>
</td> </td>
<td style="width:100px;"></td> <td style="width:100px;"></td>
</tr> </tr>
...@@ -286,6 +286,15 @@ ...@@ -286,6 +286,15 @@
<a href="javascript:void(0)" id="saveOtherMoneyDlg" class="easyui-linkbutton" iconCls="icon-ok">保存</a> <a href="javascript:void(0)" id="saveOtherMoneyDlg" class="easyui-linkbutton" iconCls="icon-ok">保存</a>
<a href="javascript:void(0)" id="cancelOtherMoneyDlg" class="easyui-linkbutton" iconCls="icon-cancel">取消</a> <a href="javascript:void(0)" id="cancelOtherMoneyDlg" class="easyui-linkbutton" iconCls="icon-cancel">取消</a>
</div> </div>
<div id="linkBillDlg" class="easyui-dialog" style="width:880px;padding:10px 20px;"
closed="true" modal="true" buttons="#linkBillDlgBtn" cache="false" collapsible="false" closable="true">
<table id="linkBillData" style="top:100px;border-bottom-color:#FFFFFF"></table>
</div>
<div id="linkBillDlgBtn">
<a href="javascript:void(0)" id="saveLinkBill" class="easyui-linkbutton" iconCls="icon-ok">选择</a>
<a href="javascript:void(0)" id="cancelLinkBill" class="easyui-linkbutton" iconCls="icon-cancel"
onclick="javascript:$('#linkBillDlg').dialog('close')">取消</a>
</div>
<div id="supplier"></div> <div id="supplier"></div>
<div id="depot"></div> <div id="depot"></div>
<div id="account"></div> <div id="account"></div>
...@@ -425,17 +434,7 @@ ...@@ -425,17 +434,7 @@
$(".window-mask").css({ width: webW ,height: webH}); $(".window-mask").css({ width: webW ,height: webH});
depotHeadID = 0; depotHeadID = 0;
var res = sessionStorage.getItem("rowInfo"); var res = sessionStorage.getItem("rowInfo");
if(pageType == "skip" && res) { //从订单跳转过来 initTableData_material("add"); //商品列表
res = JSON.parse(res);
$('#OrganId').combobox('setValue', res.organId);
$("#LinkNumber").val(res.number); //关联订单号
$("#DiscountLastMoney").val(res.totalPrice); //优惠后金额
$("#ChangeAmount").val(res.totalPrice).attr("data-changeamount", res.totalPrice);
depotHeadID = res.id;
initTableData_material("edit",res.totalPrice); //商品列表
} else {
initTableData_material("add"); //商品列表
}
function supplierDlgFun(type) { function supplierDlgFun(type) {
$('#supplierDlg').dialog('open').dialog('setTitle','<img src="/js/easyui/themes/icons/edit_add.png"/>&nbsp;增加' + type + '信息'); $('#supplierDlg').dialog('open').dialog('setTitle','<img src="/js/easyui/themes/icons/edit_add.png"/>&nbsp;增加' + type + '信息');
$('#supplierFM').form('clear'); $('#supplierFM').form('clear');
...@@ -455,8 +454,92 @@ ...@@ -455,8 +454,92 @@
$('#accountFM').form('clear'); $('#accountFM').form('clear');
bindAccountEvent(); bindAccountEvent();
}); });
//关联订单的选择事件
$('#LinkNumber').textbox({
onClickButton:function(){
$('#linkBillDlg').dialog('open').dialog('setTitle', '<img src="/js/easyui/themes/icons/edit_add.png"/>&nbsp;选择关联单据');
$("#linkBillDlg").panel("move",{top:$(document).scrollTop() + ($(window).height()-400) * 0.5});
initLinkBillTableData();
}
});
url = '/depotHead/addDepotHeadAndDetail'; url = '/depotHead/addDepotHeadAndDetail';
} }
function initLinkBillTableData() {
$('#linkBillData').datagrid({
height:300,
rownumbers: false,
//动画效果
animate:false,
//选中单行
singleSelect: true,
collapsible: false,
pagination: true,
//交替出现背景
striped : true,
pageSize: 10,
pageList: initPageNum,
columns:[[
{ field: 'id',width:35,align:"center",checkbox:true},
{ title: '供应商名称', field: 'organName',width:120},
{ title: '单据编号',field: 'number',width:155},
{ title: '商品信息',field: 'materialsList',width:200,formatter:function(value){
if(value) {
return value.replace(",","");
}
}
},
{ title: '单据日期',field: 'operTimeStr',width:145},
{ title: '操作员',field: 'userName',width:60},
{ title: '金额合计',field: 'totalPrice',width:70}
]],
onLoadError:function() {
$.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error');
return;
}
});
$.ajax({
type: "get",
url: "/depotHead/list",
dataType: "json",
data: ({
search: JSON.stringify({
type: "其它",
subType: "采购订单",
roleType: roleType,
status: "1",
number: "",
beginTime: "",
endTime: "",
materialParam: "",
depotIds: depotString
}),
currentPage: 1,
pageSize: initPageSize
}),
success: function (res) {
if(res && res.code === 200){
if(res.data && res.data.page) {
$("#linkBillData").datagrid('loadData', res.data.page);
$("#saveLinkBill").off("click").on("click", function(){
var res = $('#linkBillData').datagrid('getChecked')[0];
$('#OrganId').combobox('setValue', res.organId);
$("#LinkNumber").textbox("setValue",res.number); //关联订单号
$("#DiscountLastMoney").val(res.totalPrice); //优惠后金额
$("#ChangeAmount").val(res.totalPrice).attr("data-changeamount", res.totalPrice);
depotHeadID = res.id;
initTableData_material("edit",res.totalPrice); //商品列表
$('#linkBillDlg').dialog('close');
});
}
}
},
//此处添加错误处理
error: function () {
$.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error');
return;
}
});
}
//编辑信息 //编辑信息
function editDepotHead(index) { function editDepotHead(index) {
var res = $("#tableData").datagrid("getRows")[index]; var res = $("#tableData").datagrid("getRows")[index];
......
...@@ -291,7 +291,7 @@ ...@@ -291,7 +291,7 @@
pageList: initPageNum, pageList: initPageNum,
columns:[[ columns:[[
{ field: 'id',width:35,align:"center",checkbox:true}, { field: 'id',width:35,align:"center",checkbox:true},
{ title: '操作',field: 'op',align:"center", width:120, { title: '操作',field: 'op',align:"center", width:90,
formatter:function(value,rec,index) { formatter:function(value,rec,index) {
var str = ''; var str = '';
var orgId = rec.organId? rec.organId:0; var orgId = rec.organId? rec.organId:0;
...@@ -300,7 +300,6 @@ ...@@ -300,7 +300,6 @@
str += '<img title="编辑" src="/js/easyui/themes/icons/pencil.png" style="cursor: pointer;" onclick="editDepotHead(\'' + index + '\');"/>&nbsp;&nbsp;&nbsp;'; str += '<img title="编辑" src="/js/easyui/themes/icons/pencil.png" style="cursor: pointer;" onclick="editDepotHead(\'' + index + '\');"/>&nbsp;&nbsp;&nbsp;';
str += '<img title="删除" src="/js/easyui/themes/icons/edit_remove.png" style="cursor: pointer;" onclick="inOutService.deleteDepotHead('+ rec.id +',' + orgId +',' + rec.totalPrice+',' + rec.status + ');"/>'; str += '<img title="删除" src="/js/easyui/themes/icons/edit_remove.png" style="cursor: pointer;" onclick="inOutService.deleteDepotHead('+ rec.id +',' + orgId +',' + rec.totalPrice+',' + rec.status + ');"/>';
} }
str += '&nbsp;&nbsp;&nbsp;<img title="转采购入库" src="/js/easyui/themes/icons/redo.png" style="cursor: pointer;" onclick="skipDepotHead(\'' + index + '\');"/>';
return str; return str;
} }
}, },
......
...@@ -344,7 +344,7 @@ public class DepotHeadController { ...@@ -344,7 +344,7 @@ public class DepotHeadController {
String rows = body.getRows(); String rows = body.getRows();
Long billsNumLimit = Long.parseLong(request.getSession().getAttribute("billsNumLimit").toString()); Long billsNumLimit = Long.parseLong(request.getSession().getAttribute("billsNumLimit").toString());
Long tenantId = Long.parseLong(request.getSession().getAttribute("tenantId").toString()); Long tenantId = Long.parseLong(request.getSession().getAttribute("tenantId").toString());
Long count = depotHeadService.countDepotHead(null,null,null,null,null,null,null,null); Long count = depotHeadService.countDepotHead(null,null,null,null,null,null,null,null,null);
if(count>= billsNumLimit) { if(count>= billsNumLimit) {
throw new BusinessParamCheckingException(ExceptionConstants.DEPOT_HEAD_OVER_LIMIT_FAILED_CODE, throw new BusinessParamCheckingException(ExceptionConstants.DEPOT_HEAD_OVER_LIMIT_FAILED_CODE,
ExceptionConstants.DEPOT_HEAD_OVER_LIMIT_FAILED_MSG); ExceptionConstants.DEPOT_HEAD_OVER_LIMIT_FAILED_MSG);
......
...@@ -22,6 +22,7 @@ public interface DepotHeadMapperEx { ...@@ -22,6 +22,7 @@ public interface DepotHeadMapperEx {
@Param("type") String type, @Param("type") String type,
@Param("subType") String subType, @Param("subType") String subType,
@Param("creatorArray") String[] creatorArray, @Param("creatorArray") String[] creatorArray,
@Param("status") String status,
@Param("number") String number, @Param("number") String number,
@Param("beginTime") String beginTime, @Param("beginTime") String beginTime,
@Param("endTime") String endTime, @Param("endTime") String endTime,
...@@ -34,6 +35,7 @@ public interface DepotHeadMapperEx { ...@@ -34,6 +35,7 @@ public interface DepotHeadMapperEx {
@Param("type") String type, @Param("type") String type,
@Param("subType") String subType, @Param("subType") String subType,
@Param("creatorArray") String[] creatorArray, @Param("creatorArray") String[] creatorArray,
@Param("status") String status,
@Param("number") String number, @Param("number") String number,
@Param("beginTime") String beginTime, @Param("beginTime") String beginTime,
@Param("endTime") String endTime, @Param("endTime") String endTime,
......
...@@ -33,12 +33,13 @@ public class DepotHeadComponent implements ICommonQuery { ...@@ -33,12 +33,13 @@ public class DepotHeadComponent implements ICommonQuery {
String type = StringUtil.getInfo(search, "type"); String type = StringUtil.getInfo(search, "type");
String subType = StringUtil.getInfo(search, "subType"); String subType = StringUtil.getInfo(search, "subType");
String roleType = StringUtil.getInfo(search, "roleType"); String roleType = StringUtil.getInfo(search, "roleType");
String status = StringUtil.getInfo(search, "status");
String number = StringUtil.getInfo(search, "number"); String number = StringUtil.getInfo(search, "number");
String beginTime = StringUtil.getInfo(search, "beginTime"); String beginTime = StringUtil.getInfo(search, "beginTime");
String endTime = StringUtil.getInfo(search, "endTime"); String endTime = StringUtil.getInfo(search, "endTime");
String materialParam = StringUtil.getInfo(search, "materialParam"); String materialParam = StringUtil.getInfo(search, "materialParam");
String depotIds = StringUtil.getInfo(search, "depotIds"); String depotIds = StringUtil.getInfo(search, "depotIds");
return depotHeadService.select(type, subType, roleType, number, beginTime, endTime, materialParam, depotIds, QueryUtils.offset(map), QueryUtils.rows(map)); return depotHeadService.select(type, subType, roleType, status, number, beginTime, endTime, materialParam, depotIds, QueryUtils.offset(map), QueryUtils.rows(map));
} }
@Override @Override
...@@ -47,12 +48,13 @@ public class DepotHeadComponent implements ICommonQuery { ...@@ -47,12 +48,13 @@ public class DepotHeadComponent implements ICommonQuery {
String type = StringUtil.getInfo(search, "type"); String type = StringUtil.getInfo(search, "type");
String subType = StringUtil.getInfo(search, "subType"); String subType = StringUtil.getInfo(search, "subType");
String roleType = StringUtil.getInfo(search, "roleType"); String roleType = StringUtil.getInfo(search, "roleType");
String status = StringUtil.getInfo(search, "status");
String number = StringUtil.getInfo(search, "number"); String number = StringUtil.getInfo(search, "number");
String beginTime = StringUtil.getInfo(search, "beginTime"); String beginTime = StringUtil.getInfo(search, "beginTime");
String endTime = StringUtil.getInfo(search, "endTime"); String endTime = StringUtil.getInfo(search, "endTime");
String materialParam = StringUtil.getInfo(search, "materialParam"); String materialParam = StringUtil.getInfo(search, "materialParam");
String depotIds = StringUtil.getInfo(search, "depotIds"); String depotIds = StringUtil.getInfo(search, "depotIds");
return depotHeadService.countDepotHead(type, subType, roleType, number, beginTime, endTime, materialParam, depotIds); return depotHeadService.countDepotHead(type, subType, roleType, status, number, beginTime, endTime, materialParam, depotIds);
} }
@Override @Override
......
...@@ -82,13 +82,13 @@ public class DepotHeadService { ...@@ -82,13 +82,13 @@ public class DepotHeadService {
return list; return list;
} }
public List<DepotHeadVo4List> select(String type, String subType, String roleType, String number, String beginTime, String endTime, public List<DepotHeadVo4List> select(String type, String subType, String roleType, String status, String number, String beginTime, String endTime,
String materialParam, String depotIds, int offset, int rows)throws Exception { String materialParam, String depotIds, int offset, int rows)throws Exception {
List<DepotHeadVo4List> resList = new ArrayList<DepotHeadVo4List>(); List<DepotHeadVo4List> resList = new ArrayList<DepotHeadVo4List>();
List<DepotHeadVo4List> list=null; List<DepotHeadVo4List> list=null;
try{ try{
String [] creatorArray = getCreatorArray(roleType); String [] creatorArray = getCreatorArray(roleType);
list=depotHeadMapperEx.selectByConditionDepotHead(type, subType, creatorArray, number, beginTime, endTime, materialParam, depotIds, offset, rows); list=depotHeadMapperEx.selectByConditionDepotHead(type, subType, creatorArray, status, number, beginTime, endTime, materialParam, depotIds, offset, rows);
}catch(Exception e){ }catch(Exception e){
JshException.readFail(logger, e); JshException.readFail(logger, e);
} }
...@@ -122,12 +122,12 @@ public class DepotHeadService { ...@@ -122,12 +122,12 @@ public class DepotHeadService {
return resList; return resList;
} }
public Long countDepotHead(String type, String subType, String roleType,String number, String beginTime, String endTime, public Long countDepotHead(String type, String subType, String roleType, String status, String number, String beginTime, String endTime,
String materialParam, String depotIds) throws Exception{ String materialParam, String depotIds) throws Exception{
Long result=null; Long result=null;
try{ try{
String [] creatorArray = getCreatorArray(roleType); String [] creatorArray = getCreatorArray(roleType);
result=depotHeadMapperEx.countsByDepotHead(type, subType, creatorArray, number, beginTime, endTime, materialParam, depotIds); result=depotHeadMapperEx.countsByDepotHead(type, subType, creatorArray, status, number, beginTime, endTime, materialParam, depotIds);
}catch(Exception e){ }catch(Exception e){
JshException.readFail(logger, e); JshException.readFail(logger, e);
} }
......
...@@ -55,6 +55,9 @@ ...@@ -55,6 +55,9 @@
<if test="subType != null"> <if test="subType != null">
and dh.sub_type='${subType}' and dh.sub_type='${subType}'
</if> </if>
<if test="status != null">
and dh.status ='${status}'
</if>
<if test="number != null"> <if test="number != null">
and dh.number like '%${number}%' and dh.number like '%${number}%'
</if> </if>
...@@ -86,24 +89,27 @@ ...@@ -86,24 +89,27 @@
<select id="countsByDepotHead" resultType="java.lang.Long"> <select id="countsByDepotHead" resultType="java.lang.Long">
SELECT SELECT
COUNT(1) from COUNT(1) from
(select distinct jsh_depot_head.* FROM jsh_depot_head (select distinct dh.* FROM jsh_depot_head dh
left join jsh_depot_item di on jsh_depot_head.Id = di.header_id and ifnull(di.delete_flag,'0') !='1' left join jsh_depot_item di on dh.Id = di.header_id and ifnull(di.delete_flag,'0') !='1'
left join jsh_material m on di.material_id = m.Id and ifnull(m.delete_Flag,'0') !='1' left join jsh_material m on di.material_id = m.Id and ifnull(m.delete_Flag,'0') !='1'
WHERE 1=1 WHERE 1=1
<if test="type != null"> <if test="type != null">
and type='${type}' and dh.type='${type}'
</if> </if>
<if test="subType != null"> <if test="subType != null">
and sub_type='${subType}' and dh.sub_type='${subType}'
</if>
<if test="status != null">
and dh.status ='${status}'
</if> </if>
<if test="number != null"> <if test="number != null">
and number like '%${number}%' and dh.number like '%${number}%'
</if> </if>
<if test="beginTime != null"> <if test="beginTime != null">
and oper_time >= '${beginTime}' and dh.oper_time >= '${beginTime}'
</if> </if>
<if test="endTime != null"> <if test="endTime != null">
and oper_time &lt;= '${endTime}' and dh.oper_time &lt;= '${endTime}'
</if> </if>
<if test="materialParam != null"> <if test="materialParam != null">
and (m.`Name` like '%${materialParam}%' or m.Model like '%${materialParam}%') and (m.`Name` like '%${materialParam}%' or m.Model like '%${materialParam}%')
...@@ -112,13 +118,13 @@ ...@@ -112,13 +118,13 @@
and di.depot_id in (${depotIds}) and di.depot_id in (${depotIds})
</if> </if>
<if test="creatorArray != null"> <if test="creatorArray != null">
and creator in ( and dh.creator in (
<foreach collection="creatorArray" item="creator" separator=","> <foreach collection="creatorArray" item="creator" separator=",">
#{creator} #{creator}
</foreach> </foreach>
) )
</if> </if>
and ifnull(jsh_depot_head.delete_Flag,'0') !='1') tb and ifnull(dh.delete_Flag,'0') !='1') tb
</select> </select>
<select id="findMaterialsListByHeaderId" resultType="java.lang.String"> <select id="findMaterialsListByHeaderId" resultType="java.lang.String">
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment