返车确认
返车确认是对送货完成后返回物流地点的车辆信息进行记录,确定货物签收是否正常,记录单据异动情况
返车确认界面:
逐单据确认界面:
Datagrid中下拉框的加载:
界面html代码:
<th data-options="field:'SignForStateID',width:130,align:'center',formatter:formatterSignForState,editor:{
type:'combobox',
options:{
onSelect:QianShouDanQueRen,
valueField:'MX_AttributeDetailedID',
textField:'AttributeDetailedName',
url:'/DeliveryFieldAddress/SelectAttributeGather?AttributeGatherID=7',
}
}">签收单确认</th>
<th data-options="field:'MX_AttributeDetailedID',width:130,align:'center',formatter:ReturnformatterDeliveryWayName,editor:{
type:'combobox',
options:{
onSelect:DrawOutonChange3,
valueField:'MX_AttributeDetailedID',
textField:'AttributeDetailedName',
url:'/DeliveryFieldAddress/SelectAttributeGather?AttributeGatherID=1' @*路径*@
}
}" >配送方式</th>
返车确认涉及的表和表的关系
返车确认用到的表有:配送车次维护表(DeliveryCarTimesServiceList)、配送车次维护明细表
(MX_DeliveryCarTimesServiceList)、物流地点表(LogisticsPlaceList)、属性明细表(MX_AttributeDetailedList)、返车异常表(ReturnCarUnusualIList)、返车异常明细表(MX_ReturnCarUnusualIList)、客户表(ClientList)、公司表(CompanyList)、货运单表(FreightReceiptsList)、发车单据表(DeliverReceiptsList)、员工表(StaffList)、配送领域维护表(DeliveryFieldServiceList)
配送车次表的字段有:配送车次维护ID、车次日期、物流地点ID、配送方式ID、配送属性ID、班次ID
列名 | 数据类型 | 主键/外键 | 说明 |
DeliveryCarTimesServiceID | Int | 主键 | 配送车次维护ID |
CarTimesDate | Datetime |
| 车次日期 |
LogisticsPlaceID | Int | 外键 | 物流地点ID |
DeliveryWayID | Int | 外键 | 配送方式ID |
SXMX_AttributeID | Int | 外键 | 配送属性ID |
ClassesID | Int | 外键 | 班次ID |
配送车次维护明细表的字段有:配送车次维护明细ID、车次、运交车号、取/送件ID、预出车时间、单据截止时间、物流服务代表ID、随车人员1ID、随车人员2ID、运交领域、派车状态ID、实际出车时间、实际返车时间、配送车次维护ID、派车时间
列名 | 数据类型 | 主键/外键 | 说明 |
MX_DeliveryCarTimesServiceID | Int | 主键 | 配送车次维护明细ID |
CarTimes | Char |
| 车次 |
CarNumber | Char |
| 运交车号 |
MX_GetSendID | Int | 外键 | 取/送件ID |
PredictDrawOutTime | DateTime |
| 预出车时间 |
PredictDrawOutTime | DateTime |
| 单据截止时间 |
LogisticsServeDelegateID | Int | 外键 | 物流服务代表ID |
Personnel_OneID | Int | 外键 | 随车人员1ID |
Personnel_TwoID | Int | 外键 | 随车人员2ID |
ServiceFile | Char |
| 运交领域 |
SendCarStateID | Int | 外键 | 派车状态ID |
FactDrawOutTime | DateTime |
| 实际出车时间 |
FactReturnCarTime | DateTime |
| FactReturnCarTime |
DeliveryCarTimeServiceID | Int | 外键 | 配送车次维护ID |
SendCarTime | DateTime |
| 派车时间 |
物流地点表的字段:物流地点ID、物流地点名称、地址
属性明细表的字段:属性明细ID、属性明细名称、属性集合ID
列名 | 数据类型 | 主键/外键 | 说明 |
MX_AttributeDetailedID | Int | 主键 | 属性明细ID |
AttributeDetailedName | Char |
| 属性明细名称 |
AttributeGatherID | Int | 外键 | 属性集合ID |
返车异常表的字段有:返车异常ID、返车异常名称
列名 | 数据类型 | 主键/外键 | 说明 |
ReturnCarUnusualIID | Int | 主键 | 返车异常ID |
ReturnCarUnusualIName | Char |
| 返车异常名称 |
返车异常明细表的字段有:返车异常明细ID、返车异常明细名称、返车异常ID
列名 | 数据类型 | 主键/外键 | 说明 |
MX_ReturnCarUnusualIID | Int | 主键 | 返车异常明细ID |
MX_ReturnCarUnusualIINameme | Char |
| 返车异常原因 |
ReturnCarUnusualIID | Int | 外键 | 返车异常ID |
客户表主要字段有:客户ID、客户名称、客户简称、联系人、联系电话、客户编号
列名 | 数据类型 | 主键/外键 | 说明 |
ClientID | Int | 主键 | 客户ID |
ClientName | Char |
| 客户名称 |
ClientAbbreviation | Char |
| 客户简称 |
LinkMan | Char |
| 联系人 |
LinkPhone | Char |
| 联系电话 |
ClientNumber | Char |
| 客户编号 |
公司表的字段有:公司ID(CompanyID)、公司简称(CompanyAbbreviation)、公司名称(CompanyName)、地址(Address)、联系人(LinkMan)、联系电话(LinkPhone)
列名 | 数据类型 | 主键/外键 | 说明 |
CompanyID | Int | 主键 | 公司ID |
CompanyAbbreviation | Char |
| 公司简称 |
CompanyName | Char |
| 公司名称 |
Address | Char |
| 地址 |
LinkMan | Char |
| 联系人 |
LinkPhone |
|
| 联系电话 |
货运单表的字段有:货运单ID、取送单号、公司ID、寄件客户ID 收件客户ID、接单时间、要求送达时间、寄件地址、审核否、收件地址、付款条件ID、货运单状态ID、签收确认ID、备注、开单人ID、寄件领域、领域属性维护ID、签收单状态 类别、配送方式、扣帐时间
表名 | 数据类型 | 主键/外键 | 说明 |
FreightReceiptsID | Int | 主键 | 货运单ID |
SendNumber | Char |
| 取送单号 |
CompanyID | Int | 外键 | 公司ID |
SendClientID | Int | 外键 | 寄件客户ID |
CollectClientID | Int | 外键 | 收件客户ID |
ConnectTime | datetime |
| 接单时间 |
RequireServiceTime | datetime |
| 要求送达时间 |
SendAddress | char |
| 寄件地址 |
CheckNo | bit |
| 审核否 |
DeliveryFieldServiceID | Int | 外键 | 领域属性维护ID |
PayCondition | Int | 外键 | 付款条件ID |
FreightReceiptsStateID | Int | 外键 | 货运单状态ID |
SignForStateID | Int | 外键 | 签收确认ID |
Remark | Char |
| 备注 |
StaffID | Int | 外键 | 开单人ID |
SendFieldWord | Char |
| 寄件领域 |
DeliveryFieldServiceID | Int | 外键 | 领域属性维护ID |
SignFor | Int | 外键 | 签收单状态ID |
ClassesID | Int | 外键 | 类别 |
DeliveryWayID | Int | 外键 | 配送方式 |
DductTime | datetime |
| 扣帐时间 |
发车单据表的字段有:发车单据ID、货运单ID、箱数、出车异常ID、出车异常原因、返车异常ID、返车异常原因、出车确认、返车确认、处理人ID、处理时间、配送车次维护明细ID
表名 | 数据类型 | 主键/外键 | 说明 |
DeliverReceiptsID | Int | 主键 | 发车单据ID |
FreightReceiptsID | Int | 外键 | 货运单ID |
BoxCount | decimal(18, 0) |
| 箱数 |
DrawOutUnusualID | Int | 外键 | 出车异常ID |
DrawOutUnusualIReasonID | Int | 外键 | 出车异常原因 |
ReturnCarUnusualIID | Int | 外键 | 返车异常ID |
ReturnCarUnusualIReasonID | Int | 外键 | 返车异常原因 |
OpenCarAffirm | bit |
| 出车确认 |
ReturnCarAffirm | bit |
| 返车确认 |
HandleManID | Int | 外键 | 处理人ID |
HandleTime | datetime |
| 处理时间 |
MX_DeliveryCarServiceID | Int | 外键 | 配送车次维护明细ID |
Remark | Char |
| 备注 |
员工表主要字段有:员工ID、员工姓名、员工编号、身份证号码、联系电话、联系地址、物流地点ID、部门ID、备注
列名 | 数据类型 | 主键/外键 | 说明 |
StaffID | Int | 主键 | 员工ID |
StaffName | Char |
| 员工姓名 |
StaffNumber | Char |
| 员工编号 |
IdentityCardNumber | Char |
| 身份证号码 |
LinkPhone | Char |
| 联系电话 |
LinkAddress | Char |
| 联系地址 |
LogisticsPlaceID | Int | 外键 | 物流地点ID |
Remark | Char |
| 备注 |
DepartmentID | Int | 外键 | 部门ID |
配送领域维护表的字段:配送领域维护ID、物流地点ID、领域代码、配送属性ID、配送等级ID、配送方式ID、默认否、预计送达天数、删除否
列名 | 数据类型 | 主键/外键 | 说明 |
DeliveryFieldServiceID | Int | 主键 | 配送领域维护ID |
LogisticsPlaceID | Int | 外键 | 物流地点ID |
FieldWord | Char |
| 领域代码 |
SXMX_AttributeID | Int | 外键 | 配送属性ID |
DeliveryGradeID | Int | 外键 | 配送等级ID |
DeliveryWayID | Int | 外键 | 配送方式ID |
AdmitNO
| Bit | 外键 | 默认否 |
PredictServiceDay | Char |
| 预计送达天数 |
DeleteNo | Bit |
| 删除否 |
关系图:
模块功能的具体实现
//返车界面的Html代码:
<body>
<table id="dgrd_DeliveryCarTimesService" class="easyui-datagrid" title="返车确认" style="width:1100px;height:360px;background-color: #CCCCCC;"
data-options="rownumbers:true,singleSelect:true,onClickCell:myonClickCell
,rowStyler:function(index,row){
if (index%2==0){
return 'background-color:#D1EEEE';
}
} " frame="border">
<thead>
<tr align="center">
<th data-options="field:'MX_DeliveryCarTimesServiceID',width:8,hidden:true, align:'center'" bgcolor="#3333CC">车次ID</th>
<th data-options="field:'AttributeDetailedName',width:150,align:'center'">配送方式</th>
<th data-options="field:'CarTimes',width:150,align:'center',formatter:myFormatterCarTimes">车次</th>
<th data-options="field:'ReturnCarDateTime',width:180,align:'center',formatter:FormatterReturnCarTime" style="color: #FF3300; font-size: 17px; font-family: 华文行楷">返车时间</th>
<th data-options="field:'PredictDrawOutTime',width:80,align:'center',formatter:myFormatterCarTimesRiQi">车次日期</th>
<th data-options="field:'ServiceField',width:365,align:'center'" style="color: #FF3300; font-size: 17px; font-family: 华文行楷">运交领域</th>
<th data-options="field:'LinkAddress',width:70,align:'center',formatter:myFormatterDelete">返车确认</th>
<th data-options="field:'shf',width:70,align:'center',formatter:myFormatterSth">签收单确认</th>
</tr>
</thead>
</table>
<center><input " type="submit"οnclick="btn_Allcancel()" value="全部取消" style="width:100px;color: #FF0000; font-size: 17px" />
<input " type="submit" οnclick="btn_SelectAll()" value="全部勾选" style="width:100px;color: #FF0000; font-size: 17px" />
<input " type="submit" οnclick="btn_Confirm()" value="确认" style="width:100px;color: #FF0000; font-size: 17px;" />
</center>
</body>
//返车逐单据确认界面的Html代码:
@*//返车单据确认*@
<div class="easyui-window" id="Wnd_ReturnCarAffirm" style="width:1200px; height:650px; top:2px; left:2px; background-color: #CCCCFF;" title="返车确认">
<div style="width:1200px;height:100px; top: 5px;">
<table >
<tr>
<td style="width:40px;"></td> <td align="right" dir="ltr" style="font-family: 华文行楷; font-size: 19px; color: #000000;">运交领域:</td><td> <input id="txt_returnSendField" readonly style="width:300px; border-style: hidden; background-color: #CCCCFF; font-size: 16px; font-family: 华文楷体;" > </td><td style="width:50px;height:20px"></td><td style="width:100px;height:20px"></td>
<td align="right"style="font-family: 华文行楷; font-size: 19px; color: #000000;">功能选择:</td><td> <input id="txt_returnGongNeng" readonly style="border-style: hidden; width:140px; font-family: 华文楷体; font-size: 20px; background-color: #CCCCFF;" /> </td><td style="width:100px;height:20px"></td>
<td align="right"style="font-family: 华文行楷; font-size: 19px; color: #000000;">车次:</td><td> <input id="txt_returnCarTimes" readonly style="border-style: hidden; width:140px; font-family: 华文楷体; font-size: 20px; background-color: #CCCCFF;" /> </td>
</tr>
<tr style="height:10px"> </tr>
<tr> <td style="width:40px;"></td><td align="right"style="font-family: 华文行楷; font-size: 19px; color: #000000;">车次日期:</td><td> <input id="txt_returnCarTimesDate" readonly style="border-style: hidden; width:140px; background-color: #CCCCFF; font-size: 20px; font-family: 华文楷体;" /> </td><td style="width:100px;height:20px"></td> <td style="width:100px;height:20px"></td>
<td align="right"style="font-family: 华文行楷; font-size: 19px; color: #000000;">配送方式:</td><td> <input id="txt_returnSendway" readonly style="border-style: hidden; width:140px; font-family: 华文楷体; font-size: 20px; background-color: #CCCCFF;" /> </td><td style="width:100px;height:20px"></td>
<td ><input type="submit" οnclick="ReturnAffirm()" value="确认" style="width:60px;color: #FF0000; font-size: 17px" /></td>
</tr>
<tr style="height:10px"></tr>
<tr>
<td style="width:40px;"></td> <td align="right"style="font-family: 华文行楷; font-size: 19px; color: #00FF00;">行数:</td><td> <input id="txt_returnNumber" readonly style="border-style: hidden; width:140px; font-family: 宋体, Arial, Helvetica, sans-serif; font-size: 20px; background-color: #CCCCFF;" /> </td><td style="width:100px;height:20px"></td>
</tr>
</table>
</div>
<table class="easyui-datagrid" id="dgrd_ReturnCarAffirm" style="width:1200px; height:420px" title="返车单据确认" data-options="
singleSelect: true,rownumbers:true,onClickRow:myReturnonClickRow
">
<thead>
<tr>
<th data-options="field:'MX_FreightReceiptsID',width:130,hidden:true,align:'center'">ID</th>
<th data-options="field:'OpenCarAffirm',width:30,align:'center',formatter:FanCheQueren">确认</th>
<th data-options="field:'ReturnCarUnusualIID',width:130,align:'center',formatter:formatterReturnCarUnusualName,editor:{
type:'combobox',
options:{
onSelect:ReturnonChange,
valueField:'ReturnCarUnusualIID',
textField:'ReturnCarUnusualIName',
url:'/DrawOutAndReturnCar/CBO_ReturnCar',
}
}" >返车异常</th>
<th data-options="field:'ReturnCarUnusualReasonID',width:160,align:'center',formatter:formatterReturnCarUnusualReason,editor:{
type:'combobox',
options:{
valueField:'MX_ReturnCarUnusualIID',
textField:'MX_ReturnCarUnusualIIName',
@*url:''*@
}
}" >异常原因</th>
<th data-options="field:'SignForStateID',width:130,align:'center',formatter:formatterSignForState,editor:{
type:'combobox',
options:{
onSelect:QianShouDanQueRen,
valueField:'MX_AttributeDetailedID',
textField:'AttributeDetailedName',
url:'/DeliveryFieldAddress/SelectAttributeGather?AttributeGatherID=7',
}
}">签收单确认</th>
<th data-options="field:'MX_AttributeDetailedID',width:130,align:'center',formatter:ReturnformatterDeliveryWayName,editor:{
type:'combobox',
options:{
onSelect:DrawOutonChange3,
valueField:'MX_AttributeDetailedID',
textField:'AttributeDetailedName',
url:'/DeliveryFieldAddress/SelectAttributeGather?AttributeGatherID=1'
}
}" >配送方式</th>
<th data-options="field:'SendNumber',width:130,align:'center'">取送单号</th>
<th data-options="field:'CarTimes',width:130,align:'center'@*,editor:'text'*@">车次</th>
<th data-options="field:'CollectFieldWord',width:130,align:'center'">运交领域</th>
<th data-options="field:'AttributeDetailedName',width:70,align:'center'">类别</th>
<th data-options="field:'FactReturnCarTime',width:180,align:'center',formatter:FormatterReturnCarTime">返车时间</th>
<th data-options="field:'ClientName1',width:130,align:'center'">取送客户</th>
<th data-options="field:'AttributeDetailedName',width:40,align:'center'">类别</th>
<th data-options="field:'CompanyName',width:130,align:'center'">公司</th>
<th data-options="field:'BoxCount',width:130,align:'center'">箱数</th>
</tr>
</thead>
</table>
</div>
//返车界面脚本代码:
<script type="text/javascript">
$(document).ready(function () {
BinDingDatagrid();
});
function BinDingDatagrid() {
if (parent.PanDuan() == 0) {//parent.PanDuan()是调用父网页区中的方法判断从父网页区是否有值传过来
$.getJSON("/DrawOutAndReturnCar/SelecteDeliveryCarTimesServiceReturn",
function (data) {
$("#dgrd_DeliveryCarTimesService").datagrid('loadData', data);
});
}
else {//父网页区有值传过来时执行else里面的方法
parent.PredictDrawOutTime();
$.getJSON("/DrawOutAndReturnCar/MuchConditionSelecteDrawOutInformation?intLogisticsPlaceID=" + parent.LogisticsPlaceID() +
"&strCarTimes=" + parent.CarTimes() + "&intDeliveryWayID=" + parent.DeliveryWayID() + "&intClassID=" + parent.ClassID() + "&strPredictDrawOutTime=" + parent.PredictDrawOutTime() + "&intChuFanChe=2" + "&",
function (data) {
$("#dgrd_DeliveryCarTimesService").datagrid('loadData', data);
});
}
}
//当datagrid加载每一行数据时触发此方法
function myFormatterDelete(data, row, Index) {
//返回选择框到列名为删除的单元格中
return '<input style="width:20px;height:20px" id="' + Index + '" type="checkbox" />';
}
//当datagrid加载每一行数据时触发此方法
function myFormatterSth(data, row, Index) {
//返回选择框到列名为‘签收单确认’的单元格中
return '<input style="width:20px;height:20px" id="Sth' + Index + '" type="checkbox" />';
}
//当datagrid加载每一行数据时触发此方法
function myFormatterCarTimes(data, row, Index) {
//返回按钮到列名为车次的单元格中
return ' <input type="button" value="' + data + '" style="width:140px;color: #FF0000; font-family: 微软雅黑; font-size: 17px; background-color: #99CCFF;" />';
}
var intMyint = -1;
//点击datagrid中的单元格时触发此方法
function myonClickCell(rowIndex, field) {
if (field == "CarTimes") {//判断点击的单元格的列是否为CarTimes
if ($("#date" + rowIndex).val().trim().length > 0) {
var Rows = $("#dgrd_DeliveryCarTimesService").datagrid("getRows"); //获取datagrid中的所有数据
$.getJSON("/DrawOutAndReturnCar/SelecteReturnCarTimesReceipts?intMX_DeliveryCarServiceID=" + Rows[rowIndex].MX_DeliveryCarTimesServiceID,
function (data){
var curr_time = new Date();
var strDate = curr_time.getFullYear() + "-"; //获取年份并接字符串
var vMon = curr_time.getMonth() + 1;
var vDay = curr_time.getUTCDate();
var vMinutes = curr_time.getMinutes();
var time = curr_time.getHours();
strDate += (vMon < 10 ? "0" + vMon : vMon) + "-";
strDate += (vDay < 10 ? "0" + vDay : vDay) + " ";
strDate += (time < 10 ? "0" + time : time) + ":";
strDate += (vMinutes < 10 ? "0" + vMinutes : vMinutes);
$("#date" + rowIndex).val();
parent.ReturnLoalData(data, Rows[rowIndex], strDate, data.length, $("#date" + rowIndex).val(), $("#hour" + rowIndex).val(), $("#minute" + rowIndex).val()); // parent.LoalData是调用父网页区中的方法把值传回父网页区
});
} else { alert("请输入返车时间!"); }
}
if (field == "ReturnCarDateTime" && intMyint!= rowIndex) {
var curr_time = new Date();
var strDate = curr_time.getFullYear() + "-";
var vMon = curr_time.getMonth() + 1;
var vDay = curr_time.getUTCDate();
var time = curr_time.getHours();
var vMinutes = curr_time.getMinutes();
strDate += (vMon < 10 ? "0" + vMon : vMon) + "-";
strDate += (vDay < 10 ? "0" + vDay : vDay);
$("#date"+rowIndex).val(strDate); //将返车时间绑定到文本框中
$("#hour" + rowIndex).val((time < 10 ? "0" + time : time));
$("#minute" + rowIndex).val((vMinutes < 10 ? "0" + vMinutes : vMinutes));
intMyint = rowIndex;
}
}
//点击‘全部勾选’按钮时触发此方法
function btn_SelectAll() {
var rows = $("#dgrd_DeliveryCarTimesService").datagrid("getRows");
for (i = 0; i < rows.length; i++) {
var g = "Sth" + i;
document.getElementById(g).checked = true; //在选择框中打上勾
document.getElementById(i).checked = true; //在选择框中打上勾
}
}
//点击‘全部取消’按钮时触发此方法
function btn_Allcancel() {
var rows = $("#dgrd_DeliveryCarTimesService").datagrid("getRows");
for (i = 0; i < rows.length; i++) {
document.getElementById(i).checked = false; document.getElementById("Sth" + i).checked = false; //去掉打上勾的选择框中的勾
}
}
//点击‘确认’按钮时触发此方法
function btn_Confirm(){
var CarTimeRows = $("#dgrd_DeliveryCarTimesService").datagrid("getRows");
for (var i = 0; i < CarTimeRows.length; i++) {
if (document.getElementById(i).checked == true && document.getElementById("Sth" + i).checked == true){
var yiqi = $("#date" + i).val() +" "+ $("#hour" + i).val()+":" + $("#minute" + i).val();
$.getJSON("/DrawOutAndReturnCar/AllReturnCarAffirm?intMX_DeliveryCarServiceID=" + CarTimeRows[i].MX_DeliveryCarTimesServiceID);//作返车确认
$.getJSON("/DrawOutAndReturnCar/FactReturnCarTime?intMX_DeliveryCarTimesServiceID=" + CarTimeRows[i].MX_DeliveryCarTimesServiceID + "&strReturnCarTime=" + yiqi); //记录返车时间
$.getJSON("/DrawOutAndReturnCar/SelecteCarTimesReceipts?intMX_DeliveryCarServiceID=" + CarTimeRows[i].MX_DeliveryCarTimesServiceID,
function (data) {
for (var i = 0; i < data.length;i++) {
$.getJSON("/DrawOutAndReturnCar/UpdateReturnCarFreightReceiptsState?intFreightReceiptsStateID=42" + "&intFreightReceiptsID=" + data[i].FreightReceiptsID + "&intSignForStateID=21" + "&strSignFor=" +"正常结案"+ "&");//修改货运单状态
}
});
alert("已经成功记录返车信息");
}
}
}
function myFormatterCarTimesRiQi(datetime, row) {
return datetime.substring(0, 11); //substring(0,11)为剪切0到11位的字符串
}
//返回文本框给datagrid中的单元格
function FormatterReturnCarTime(kong, row, index) {
return '<input id="date' + index + '" style="width:100px;" /> <input id="hour' + index + '" style="width:20px;" />:<input id="minute' + index + '" style="width:20px;" />';
}
</script>
//返车逐单据确认脚本代码:
<script type="text/javascript">
var ReturncarRow = 0;
var yiqi;var xiaoshi;var fenzhong;
function ReturnLoalData(data,row, strDate, Number, date, hours, minute) {
yiqi = date; xiaoshi = hours; fenzhong = minute;
ReturncarRow = row;
$('#Wnd_ReturnCarAffirm').window("open");//打开返车确认窗体
$("#dgrd_ReturnCarAffirm").datagrid('loadData', data);//加载返车确认单据
var Rows = $("#dgrd_ReturnCarAffirm").datagrid("getRows");//获取所有返车确认单据
for (var i = 0; i < Rows.length; i++) {//遍历循环将返车时间绑定到datagrid中
$("#date"+ i).val(date);
$("#hour"+ i).val(hours); $("#minute" + i).val(minute);
}
$("#txt_returnCarTimesDate").val(date + " " + hours + ":" + minute); $("#txt_returnCarTimes").val(row.CarTimes); $("#txt_returnGongNeng").val("返车确认");
$("#txt_returnSendway").val(row.AttributeDetailedName); $("#txt_returnSendField").val(row.ServiceField);
$("#txt_returnNumber").val(Number);
}
var ReturnChebox = "";
var ReturnShu = 0;
var ReturnIndex = "";
var ReturnEdIndex = -1;
//点击返车确认中datagrid的行时触发此方法
function myReturnonClickRow(index, row) {
grifar = 2;
ReturnShu = ReturnShu + 1;
ReturnIndex = index;
if (ReturnEdIndex != index) {
if (ReturnShu != 1){
var PeiSongFanShi = $('#dgrd_ReturnCarAffirm').datagrid('getEditor', { index: ReturnEdIndex, field: 'MX_AttributeDetailedID' }); //获取编辑中的返车异常原因下拉框的数据
ReturnCarsendWayText = $(PeiSongFanShi.target).combobox("getText");
var FanCheYiChang = $('#dgrd_ReturnCarAffirm').datagrid('getEditor', { index: ReturnEdIndex, field: 'ReturnCarUnusualIID' });//获取编辑中的返车异常下拉框的数据
ReturnCar = $(FanCheYiChang.target).combobox("getText");
var FanCheYiChangYuanYin = $('#dgrd_ReturnCarAffirm').datagrid('getEditor', { index: ReturnEdIndex, field: 'ReturnCarUnusualReasonID' });
ReturnCarReasonText = $(FanCheYiChangYuanYin.target).combobox("getText");
var QianShouDanQueRen = $('#dgrd_ReturnCarAffirm').datagrid('getEditor', { index: ReturnEdIndex, field: 'SignForStateID' });
SignForState = $(QianShouDanQueRen.target).combobox("getText");
if (ReturnChebox == true) { //判断返车确认选择框是否被选中
$(FanCheYiChang.target).combobox("setValue", ""); $(FanCheYiChangYuanYin.target).combobox("setValue", "");
ReturnCar = ""; ReturnCarReasonText = ""; if (SignForState.trim() == "未签收") { SignForState = "正常"; $(QianShouDanQueRen.target).combobox("setValue", 21); }
}
$('#dgrd_ReturnCarAffirm').datagrid('endEdit', ReturnEdIndex);//结束编辑
$("#date" + ReturnEdIndex).val(yiqi); $("#hour" + ReturnEdIndex).val(xiaoshi); $("#minute" + ReturnEdIndex).val(fenzhong);
if (ReturnChebox == true) { document.getElementById("Return" + ReturnEdIndex).defaultChecked = true; }
if (ReturnCar.trim().length > 0) { document.getElementById("Return" + ReturnEdIndex).defaultChecked = false; } //返车异常取消打钩
ReturnCarsendWayText = ""; ReturnCarReasonText = ""; SignForState = ""; ReturnCar = null;
}
}
if (index != null) {
if (ReturnEdIndex != index) {
$('#dgrd_ReturnCarAffirm').datagrid('beginEdit', index);//开始编辑
var seasion = $('#dgrd_ReturnCarAffirm').datagrid('getEditor', { index: ReturnIndex, field: 'ReturnCarUnusualIID' });
$.getJSON("/DrawOutAndReturnCar/CBO_MxReturnCar?intReturnCarUnusualIID=" + $(seasion.target).combobox("getValue"), function (data) {
var edCangKu = $('#dgrd_ReturnCarAffirm').datagrid('getEditor', { index: ReturnIndex, field: 'ReturnCarUnusualReasonID' }); //将返车异常原因数据加载到下拉框中
$(edCangKu.target).combobox({ data: data, valueField: 'MX_ReturnCarUnusualIID', textField: 'MX_ReturnCarUnusualIIName' });
var Rows = $("#dgrd_ReturnCarAffirm").datagrid("getRows");
$(edCangKu.target).combobox("setValue", Rows[ReturnIndex].ReturnCarUnusualReasonID);//设置下拉框的值
});
}
ReturnEdIndex = index;
ReturnChebox = document.getElementById("Return" + index).checked;//获取选择框的状态
}
}
var ReturnCarsendWayText = "";
var ReturnCar = null;
var ReturnCarReasonText = "";
var SignForState = "";
//datagrid中行数据改变时触发此方法
function ReturnformatterDeliveryWayName(indxt, row) {
if (ReturnCarsendWayText != "") {
return ReturnCarsendWayText;
} else {
return row.DeliveryWayName;
}
}
//datagrid中行数据改变时触发此方法
function formatterReturnCarUnusualName(indxt, row) {
if (ReturnCar != null) {
return ReturnCar;
} else {
return row.ReturnCarUnusualIName;
}
}
//datagrid中行数据改变时触发此方法
function formatterReturnCarUnusualReason(indxt, row) {
if (ReturnCarReasonText != "") {
return ReturnCarReasonText;
} else {
return row.MX_ReturnCarUnusualIIName;
}
}
//datagrid中行数据改变时触发此方法
function formatterSignForState(indxt, row) {
if (SignForState != "") {
return SignForState;
} else {
return row.SignForState;
}
}
//datagrid中行数据改变时触发此方法
function FormatterReturnCarTime(kong, row, index){
return '<input id="date' + index + '" style="width:100px;" /> <input id="hour' + index + '" style="width:20px;" />:<input id="minute' + index + '" style="width:20px;" />';
}
//选择返车异常下拉框时触发此方法
function ReturnonChange() {
var data = $('#dgrd_ReturnCarAffirm').datagrid("getRows");
var seasion = $('#dgrd_ReturnCarAffirm').datagrid('getEditor', { index: ReturnIndex, field: 'ReturnCarUnusualIID' });
$.getJSON("/DrawOutAndReturnCar/CBO_MxReturnCar?intReturnCarUnusualIID=" + $(seasion.target).combobox("getValue"), function (data) {//通过返车异常ID查询返车异常原因信息
var edCangKu = $('#dgrd_ReturnCarAffirm').datagrid('getEditor', { index: ReturnIndex, field: 'ReturnCarUnusualReasonID' });
$(edCangKu.target).combobox({ data: data, valueField: 'MX_ReturnCarUnusualIID', textField: 'MX_ReturnCarUnusualIIName' });//绑定数据到返车异常原因下拉框中
});
}
var jiean = "";
//作返车确认,点击返车确认按钮时触发此方法
function ReturnAffirm(){
$.getJSON("/DrawOutAndReturnCar/FactReturnCarTime?intMX_DeliveryCarTimesServiceID=" + ReturncarRow.MX_DeliveryCarTimesServiceID + "&strReturnCarTime=" + $("#txt_returnCarTimesDate").val());
myReturnonClickRow(null, null);
var rows = $("#dgrd_ReturnCarAffirm").datagrid("getRows");
for (i = 0; i < rows.length; i++) {
if (document.getElementById("Return" + i).checked == true) {//判断返车选择框是否被选中
if (rows[i].SignForStateID == 21) { //判断签收单是否正常签收
jiean = "正常结案";
} else {
jiean = "未结案";
}
$.getJSON("/DrawOutAndReturnCar/UpdateReturnCarFreightReceiptsState?intFreightReceiptsStateID=42" + "&intFreightReceiptsID=" + rows[i].FreightReceiptsID + "&intSignForStateID=" + rows[i].SignForStateID + "&strSignFor=" + jiean + "&"); //传值到控制器记录返车确认信息
$.getJSON("/DrawOutAndReturnCar/ReturnCarAffirm?intDeliverReceiptsID=" + rows[i].DeliverReceiptsID);
}
else {
if (rows[i].ReturnCarUnusualIID == 1) { $.getJSON("/DrawOutAndReturnCar/updatesate?intFreightReceiptsID=" + rows[i].FreightReceiptsID) }
$.getJSON("/DrawOutAndReturnCar/ReturnCarUnusualCondition?intDeliverReceiptsID=" + rows[i].DeliverReceiptsID + "&intReturnCarUnusualID=" + rows[i].ReturnCarUnusualIID + "&intReturnCarUnusualIReasonID=" + rows[i].ReturnCarUnusualReasonID + "&intFreightReceiptsID=" + rows[i].FreightReceiptsID);//传值到控制器记录返车异常信息
}
}
alert("已记录好数据");
}
//选择签收单确认下拉框时触发此方法
function QianShouDanQueRen(row) {
if (row.AttributeDetailedName!="未签收") {
document.getElementById("Return" + ReturnIndex).checked = true;
ReturnChebox = true;
var FanCheYiChang = $('#dgrd_ReturnCarAffirm').datagrid('getEditor', { index: ReturnEdIndex, field: 'ReturnCarUnusualIID' });
$(FanCheYiChang.target).combobox("setText", "");
$(FanCheYiChang.target).combobox("setValue","");//设置下拉框的值为空
var FanCheYiChangYuanYin = $('#dgrd_ReturnCarAffirm').datagrid('getEditor', { index: ReturnEdIndex, field: 'ReturnCarUnusualReasonID' });
$(FanCheYiChangYuanYin.target).combobox("setText", "");
$(FanCheYiChangYuanYin.target).combobox("setValue",null);
}
}
//返回选择框到datagrid的单元格中
function FanCheQueren(BuZhi, Row, Index) {
return '<input style="width:20px;height:20px" id="Return' + Index + '" type="checkbox" />';
}
</script>
//下面是接收从界面传值的控制器的代码:
//查询车次返车车信息
public ActionResult SelecteDeliveryCarTimesServiceReturn()
{
DataTable dt = myDrawOutAndReturnCar.SelecteDeliveryCarTimesServiceReturn();
List<Dictionary<string, object>> listReturn = ConvertHelper.DtToList(dt);
return Json(listReturn, JsonRequestBehavior.AllowGet);
}
//查询返车车次单据信息
public ActionResult SelecteReturnCarTimesReceipts(int intMX_DeliveryCarServiceID)
{
DataTable dt = myDrawOutAndReturnCar.SelecteCarTimesReceipts(intMX_DeliveryCarServiceID);
StringBuilder stringbuilder = new StringBuilder();
DataView dv = new DataView(dt);
dv.RowFilter = "OpenCarAffirm=1 and " + "Remark is NULL";//判断这辆车是否已出车
DataTable dtChild = dv.ToTable();
List<Dictionary<string, object>> listReturn = ConvertHelper.DtToList(dtChild);
return Json(listReturn, JsonRequestBehavior.AllowGet);
}
//修改货运单状态
public ActionResult updateFreightReceiptsState(int intFreightReceiptsStateID, int intFreightReceiptsID) //参数intFreightReceiptsStateID为货运单状态、intFreightReceiptsID为货运单id
{
int i = myDrawOutAndReturnCar.updateFreightReceiptsState(intFreightReceiptsStateID, intFreightReceiptsID);
return Json(i,JsonRequestBehavior.AllowGet);
}
//返车异常
public ActionResult CBO_ReturnCar() {
DataTable dt = myDrawOutAndReturnCar.CBO_ReturnCar();
List<Dictionary<string, object>> listReturn = ConvertHelper.DtToList(dt);
return Json(listReturn, JsonRequestBehavior.AllowGet);
}
//查询返车异常原因
public ActionResult CBO_MxReturnCar(int intReturnCarUnusualIID)
{
DataTable dt = myDrawOutAndReturnCar.CBO_MxReturnCar(intReturnCarUnusualIID);
//参数intReturnCarUnusualIID为返车异常原因
List<Dictionary<string, object>> listReturn = ConvertHelper.DtToList(dt);
return Json(listReturn, JsonRequestBehavior.AllowGet);
}
//返车时间
public ActionResult FactReturnCarTime(int intMX_DeliveryCarTimesServiceID, string strReturnCarTime)//参数intMX_DeliveryCarTimesServiceID为车次明细id、strReturnCarTime为返车时间
{
DateTime ReturnCarTime = Convert.ToDateTime(strReturnCarTime);
int i = myDrawOutAndReturnCar.FactReturnCarTime(intMX_DeliveryCarTimesServiceID, ReturnCarTime);
return Json(1, JsonRequestBehavior.AllowGet);
}
//部分返车车确认
public ActionResult ReturnCarAffirm(int intDeliverReceiptsID)
{//参数intDeliverReceiptsID为发车单据id
int i = myDrawOutAndReturnCar.ReturnCarAffirm(intDeliverReceiptsID);
return Json(i, JsonRequestBehavior.AllowGet);
}
//修改货运单状态和签收单状态
public ActionResult UpdateReturnCarFreightReceiptsState(int intFreightReceiptsStateID, int intFreightReceiptsID, int intSignForStateID, string strSignFor)//参数intSignForStateID为签收确认id、strSignFor为签收单状态
{
int i = myDrawOutAndReturnCar.UpdateReturnCarFreightReceiptsState(intFreightReceiptsStateID, intFreightReceiptsID, intSignForStateID, strSignFor);
return Json(i, JsonRequestBehavior.AllowGet);
}
//返车异常情况记录
public ActionResult ReturnCarUnusualCondition(int intDeliverReceiptsID, int intReturnCarUnusualID, int intReturnCarUnusualIReasonID,int intFreightReceiptsID)
{
int i = myDrawOutAndReturnCar.ReturnCarUnusualCondition( intDeliverReceiptsID,intReturnCarUnusualID, intReturnCarUnusualIReasonID,intFreightReceiptsID);
return Json(i, JsonRequestBehavior.AllowGet);
}
//全部返车确认
public ActionResult AllReturnCarAffirm(int intMX_DeliveryCarServiceID)
{
int i = myDrawOutAndReturnCar.AllReturnCarAffirm(intMX_DeliveryCarServiceID);
return Json(i, JsonRequestBehavior.AllowGet);
}
//多条件查询返车确认信息
public ActionResult MuchConditionSelecteReturnCarInformation(string strCarTimes, int intDeliveryWayID, string strSendNumber, int intClassID, string strPredictDrawOutTime)// strCarTimes为车号、intDeliveryWayID为配送方式、 strSendNumber为取送单号、intClassID为类别id、strPredictDrawOutTime为返车时间
{
DataTable dt = myDrawOutAndReturnCar.MuchConditionSelecteReturnCarInformation(strCarTimes, intDeliveryWayID, strSendNumber, intClassID, strPredictDrawOutTime);
List<Dictionary<string, object>> listReturn = ConvertHelper.DtToList(dt);
return Json(listReturn, JsonRequestBehavior.AllowGet);
}
//下面是接收从控制器传值的逻辑层的代码:
//查询车次返车信息
public DataTable SelecteDeliveryCarTimesServiceReturn()
{
SqlParameter[] SQL ={
new SqlParameter("@type",SqlDbType.Char),
};
SQL[0].Value = "SelecteDeliveryCarTimesServiceReturn";
DataTable dt = myDALMethod.DAL_SelectDB_Par("SendCar", SQL);
return dt;
}
//修改货运单状态
public int updateFreightReceiptsState(int intFreightReceiptsStateID, int intFreightReceiptsID)
{
SqlParameter[] SQL ={
new SqlParameter("@type",SqlDbType.Char),
new SqlParameter("@FreightReceiptsStateID",SqlDbType.Int),
new SqlParameter("@FreightReceiptsID",SqlDbType.Char),
};
SQL[0].Value = "updateFreightReceiptsState";
SQL[1].Value = intFreightReceiptsStateID;
SQL[2].Value = intFreightReceiptsID;
int i = myDALMethod.DAL_OPTableDB_Par("SendCar", SQL);
return i;
}
//返车异常CBO绑定
public DataTable CBO_ReturnCar()
{
SqlParameter[] SQL ={
new SqlParameter("@type",SqlDbType.Char),
};
SQL[0].Value = "CBO_ReturnCar";
DataTable dt = myDALMethod.DAL_SelectDB_Par("SendCar", SQL);
return dt;
}
//查询返车异常原因CBO绑定
public DataTable CBO_MxReturnCar(int intReturnCarUnusualIID)
{
SqlParameter[] SQL ={
new SqlParameter("@type",SqlDbType.Char),
new SqlParameter("@ReturnCarUnusualIID",SqlDbType.Int),
};
SQL[0].Value = "CBO_MxReturnCar";
SQL[1].Value = intReturnCarUnusualIID;
DataTable dt = myDALMethod.DAL_SelectDB_Par("SendCar", SQL);
return dt;
}
//返车时间
public int FactReturnCarTime(int intMX_DeliveryCarTimesServiceID, DateTime ReturnCarTime)
{
SqlParameter[] SQL ={
new SqlParameter("@type",SqlDbType.Char),
new SqlParameter("@MX_DeliveryCarTimesServiceID",SqlDbType.Int),
new SqlParameter("@FactDrawOutTime",SqlDbType.DateTime),
};
SQL[0].Value = "FactReturnCarTime";
SQL[1].Value = intMX_DeliveryCarTimesServiceID;
SQL[2].Value = ReturnCarTime;
int i = myDALMethod.DAL_OPTableDB_Par("SendCar", SQL);
return i;
}
//部分返车车确认
public int ReturnCarAffirm(int intDeliverReceiptsID)
{
SqlParameter[] SQL ={
new SqlParameter("@type",SqlDbType.Char),
new SqlParameter("@DeliverReceiptsID",SqlDbType.Int),
};
SQL[0].Value = "ReturnCarAffirm";
SQL[1].Value = intDeliverReceiptsID;
int i = myDALMethod.DAL_OPTableDB_Par("SendCar", SQL);
return i;
}
//修改货运单状态和签收单状态
public int UpdateReturnCarFreightReceiptsState(int intFreightReceiptsStateID, int intFreightReceiptsID, int intSignForStateID, string strSignFor)
{
SqlParameter[] SQL ={
new SqlParameter("@type",SqlDbType.Char),
new SqlParameter("@FreightReceiptsStateID",SqlDbType.Int),
new SqlParameter("@FreightReceiptsID",SqlDbType.Int),
new SqlParameter("@SignForStateID",SqlDbType.Int),
new SqlParameter("@SignFor",SqlDbType.Char),
};
SQL[0].Value = "UpdateReturnCarFreightReceiptsState";
SQL[1].Value = intFreightReceiptsStateID;
SQL[2].Value = intFreightReceiptsID;
SQL[3].Value = intSignForStateID;
SQL[4].Value = strSignFor;
int i = myDALMethod.DAL_OPTableDB_Par("SendCar", SQL);
return i;
}
//返车异常情况记录
public int ReturnCarUnusualCondition(int intDeliverReceiptsID, int intReturnCarUnusualID, int intReturnCarUnusualIReasonID,int intFreightReceiptsID)
{
SqlParameter[] SQL ={
new SqlParameter("@type",SqlDbType.Char),
new SqlParameter("@DeliverReceiptsID",SqlDbType.Int),
new SqlParameter("@ReturnCarUnusualID",SqlDbType.Int),
new SqlParameter("@ReturnCarUnusualIReasonID",SqlDbType.Int),
new SqlParameter("@FreightReceiptsID",SqlDbType.Int),
};
SQL[0].Value = "ReturnCarUnusualCondition";
SQL[1].Value = intDeliverReceiptsID;
SQL[2].Value = intReturnCarUnusualID;
SQL[3].Value = intReturnCarUnusualIReasonID;
SQL[4].Value = intFreightReceiptsID;
int i = myDALMethod.DAL_OPTableDB_Par("SendCar", SQL);
return i;
}
//全部返车确认
public int AllReturnCarAffirm(int intMX_DeliveryCarServiceID)
{
SqlParameter[] SQL ={
new SqlParameter("@type",SqlDbType.Char),
new SqlParameter("@MX_DeliveryCarServiceID",SqlDbType.Int),
};
SQL[0].Value = "AllReturnCarAffirm";
SQL[1].Value = intMX_DeliveryCarServiceID;
int i = myDALMethod.DAL_OPTableDB_Par("SendCar", SQL);
return i;
}
//多条件查询返车确认信息
public DataTable MuchConditionSelecteReturnCarInformation(string strCarTimes, int intDeliveryWayID, string strSendNumber, int intClassID, string strPredictDrawOutTime)
{
SqlParameter[] SQL ={
new SqlParameter("@type",SqlDbType.Char),
new SqlParameter("@CarTimes",SqlDbType.Char),
new SqlParameter("@DeliveryWayID",SqlDbType.Int),
new SqlParameter("@SendNumber",SqlDbType.Char),
new SqlParameter("@ClassID",SqlDbType.Int),
new SqlParameter("@PredictDrawOutTime",SqlDbType.Char),
};
SQL[0].Value = "MuchConditionSelecteReturnCarInformation";
SQL[1].Value = strCarTimes;
SQL[2].Value = intDeliveryWayID;
SQL[3].Value = strSendNumber;
SQL[4].Value = intClassID;
SQL[5].Value = strPredictDrawOutTime;
DataTable data = myDALMethod.DAL_SelectDB_Par("SendCar", SQL);
return data;
}
//下面是存储过程的代码:
--查询车次返车信息
if @type='SelecteDeliveryCarTimesServiceReturn'
begin
SELECT RTRIM(MX_DeliveryCarTimesServiceList.CarTimes) AS CarTimes, MX_DeliveryCarTimesServiceList.CarNumber, MX_DeliveryCarTimesServiceList.MX_GetSendID,
CONVERT(varchar(20), MX_DeliveryCarTimesServiceList.PredictDrawOutTime, 120)as PredictDrawOutTime, MX_DeliveryCarTimesServiceList.ReceiptsStopTime, MX_DeliveryCarTimesServiceList.LogisticsServeDelegateID,
MX_DeliveryCarTimesServiceList.Personnel_OneID, MX_DeliveryCarTimesServiceList.Personnel_TwoID, MX_DeliveryCarTimesServiceList.ServiceField,
MX_DeliveryCarTimesServiceList.SendCarStateID,
MX_DeliveryCarTimesServiceList.FactDrawOutTime,
MX_DeliveryCarTimesServiceList.FactReturnCarTime, MX_DeliveryCarTimesServiceList.MX_DeliveryCarTimesServiceID, MX_DeliveryCarTimesServiceList.DeliveryCarTimeServiceID,
MX_AttributeDetailedList.AttributeDetailedName, LogisticsPlaceList.LogisticsPlaceName, DeliveryCarTimesServiceList.LogisticsPlaceID, DeliveryCarTimesServiceList.ClassesID,
MX_AttributeDetailedList_1.AttributeDetailedName AS SendClasses
FROM MX_DeliveryCarTimesServiceList INNER JOIN
DeliveryCarTimesServiceList ON MX_DeliveryCarTimesServiceList.DeliveryCarTimeServiceID = DeliveryCarTimesServiceList.DeliveryCarTimesServiceID INNER JOIN
MX_AttributeDetailedList ON DeliveryCarTimesServiceList.DeliveryWayID = MX_AttributeDetailedList.MX_AttributeDetailedID INNER JOIN
LogisticsPlaceList ON DeliveryCarTimesServiceList.LogisticsPlaceID = LogisticsPlaceList.LogisticsPlaceID INNER JOIN
MX_AttributeDetailedList AS MX_AttributeDetailedList_1 ON DeliveryCarTimesServiceList.ClassesID = MX_AttributeDetailedList_1.MX_AttributeDetailedID
where MX_DeliveryCarTimesServiceList.FactReturnCarTime IS NULL
and MX_DeliveryCarTimesServiceList.FactDrawOutTime is not null
end
--单据信息
if @type='SelecteCarTimesReceipts'
begin
SELECT MX_AttributeDetailedList.AttributeDetailedName, DeliverReceiptsList.MX_DeliveryCarServiceID, DeliverReceiptsList.HandleManID, StaffList.StaffName,
ReturnCarUnusualIList.ReturnCarUnusualIName, DeliverReceiptsList.ReturnCarUnusualIReasonID, MX_ReturnCarUnusualIList.MX_ReturnCarUnusualIIName,
DrawOutUnusualList.DrawOutUnusualName, DeliverReceiptsList.DrawOutUnusualIReasonID, MX_DrawOutUnusualDetailList.DrawOutUnusualName AS DrawOutUnusualReason,
DeliverReceiptsList.DeliverReceiptsID, DeliverReceiptsList.BoxCount, DeliverReceiptsList.FreightReceiptsID, DeliverReceiptsList.DrawOutUnusualID, DeliverReceiptsList.ReturnCarUnusualIID,
DeliverReceiptsList.OpenCarAffirm, DeliverReceiptsList.ReturnCarAffirm, DeliverReceiptsList.HandleTime, FreightReceiptsList.SendNumber, MX_DeliveryCarTimesServiceList.CarTimes,
MX_DeliveryCarTimesServiceList.DeliveryCarTimeServiceID, MX_AttributeDetailedList_1.AttributeDetailedName AS DeliveryWayName, FreightReceiptsList.CompanyID,
CompanyList.CompanyName, FreightReceiptsList.SendClientID, ClientList.ClientName, ClientList.ClientAbbreviation, ClientList.LinkMan, ClientList.LinkPhone, ClientList.ClientNumber,
ClientList_1.ClientAbbreviation AS ClientAbbreviation1, ClientList_1.LinkMan AS LinkMan1, ClientList_1.LinkPhone AS LinkPhone1, ClientList_1.ClientNumber AS ClientNumber1,
ClientList_1.ClientID, FreightReceiptsList.SendFieldWord, ClientList_1.ClientName AS ClientName1, MX_AttributeDetailedList_1.MX_AttributeDetailedID,
MX_AttributeDetailedList_2.AttributeDetailedName AS SignForState, FreightReceiptsList.SignForStateID, MX_DeliveryCarTimesServiceList.PredictDrawOutTime,
DeliveryCarTimesServiceList.DeliveryWayID, FreightReceiptsList.ClassesID, DeliverReceiptsList.Remark, DeliveryFieldServiceList.FieldWord AS CollectFieldWord
FROM CompanyList INNER JOIN
MX_AttributeDetailedList INNER JOIN
FreightReceiptsList ON MX_AttributeDetailedList.MX_AttributeDetailedID = FreightReceiptsList.ClassesID ON CompanyList.CompanyID = FreightReceiptsList.CompanyID INNER JOIN
ClientList ON FreightReceiptsList.SendClientID = ClientList.ClientID INNER JOIN
ClientList AS ClientList_1 ON FreightReceiptsList.CollectClientID = ClientList_1.ClientID INNER JOIN
MX_AttributeDetailedList AS MX_AttributeDetailedList_2 ON FreightReceiptsList.SignForStateID = MX_AttributeDetailedList_2.MX_AttributeDetailedID INNER JOIN
DeliveryFieldServiceList ON FreightReceiptsList.DeliveryFieldServiceID = DeliveryFieldServiceList.DeliveryFieldServiceID RIGHT OUTER JOIN
MX_DeliveryCarTimesServiceList INNER JOIN
DeliveryCarTimesServiceList ON MX_DeliveryCarTimesServiceList.DeliveryCarTimeServiceID = DeliveryCarTimesServiceList.DeliveryCarTimesServiceID INNER JOIN
MX_AttributeDetailedList AS MX_AttributeDetailedList_1 ON DeliveryCarTimesServiceList.DeliveryWayID = MX_AttributeDetailedList_1.MX_AttributeDetailedID RIGHT OUTER JOIN
DeliverReceiptsList ON MX_DeliveryCarTimesServiceList.MX_DeliveryCarTimesServiceID = DeliverReceiptsList.MX_DeliveryCarServiceID LEFT OUTER JOIN
StaffList ON DeliverReceiptsList.HandleManID = StaffList.StaffID ON FreightReceiptsList.FreightReceiptsID = DeliverReceiptsList.FreightReceiptsID LEFT OUTER JOIN
MX_ReturnCarUnusualIList ON DeliverReceiptsList.ReturnCarUnusualIReasonID = MX_ReturnCarUnusualIList.MX_ReturnCarUnusualIID LEFT OUTER JOIN
ReturnCarUnusualIList ON DeliverReceiptsList.ReturnCarUnusualIID = ReturnCarUnusualIList.ReturnCarUnusualIID LEFT OUTER JOIN
MX_DrawOutUnusualDetailList ON DeliverReceiptsList.DrawOutUnusualIReasonID = MX_DrawOutUnusualDetailList.MX_DrawOutUnusualDetailID LEFT OUTER JOIN
DrawOutUnusualList ON DeliverReceiptsList.DrawOutUnusualID = DrawOutUnusualList.DrawOutUnusualID
where MX_DeliveryCarServiceID=@MX_DeliveryCarServiceID
end
--修改货运单状态
if @type='updateFreightReceiptsState'
begin
update FreightReceiptsList set FreightReceiptsStateID=@FreightReceiptsStateID
where FreightReceiptsList.FreightReceiptsID=@FreightReceiptsID
end
--返车异常
if @type='CBO_ReturnCar'
begin
SELECT ReturnCarUnusualIID, ReturnCarUnusualIName
FROM ReturnCarUnusualIList
end
--返车异常原因
if @type='CBO_MxReturnCar'
begin
SELECT MX_ReturnCarUnusualIID, MX_ReturnCarUnusualIIName
FROM MX_ReturnCarUnusualIList
where ReturnCarUnusualIID=@ReturnCarUnusualIID
end
--返车时间
if @type='FactReturnCarTime'
begin
update MX_DeliveryCarTimesServiceList set FactReturnCarTime=@FactDrawOutTime
where MX_DeliveryCarTimesServiceID=@MX_DeliveryCarTimesServiceID
end
--记录返车异常情况记录
if @type='ReturnCarUnusualCondition'
begin
update DeliverReceiptsList set ReturnCarUnusualIID=@ReturnCarUnusualID,ReturnCarUnusualIReasonID=@ReturnCarUnusualIReasonID
where DeliverReceiptsID=@DeliverReceiptsID
if @ReturnCarUnusualID=2
begin
begin
update FreightReceiptsList set FreightReceiptsStateID=46
where FreightReceiptsList.FreightReceiptsID=@FreightReceiptsID
end
end
end
--作部分返车确认
if @type='ReturnCarAffirm'
begin
update DeliverReceiptsList set ReturnCarAffirm=1
where DeliverReceiptsID=@DeliverReceiptsID
end
--作全部返车确认
if @type='AllReturnCarAffirm'
begin
update DeliverReceiptsList set ReturnCarAffirm=1
where MX_DeliveryCarServiceID=@MX_DeliveryCarServiceID
end
--返车货运单状态和签收单状态
if @type='UpdateReturnCarFreightReceiptsState'
begin
update FreightReceiptsList set FreightReceiptsList.FreightReceiptsStateID=@FreightReceiptsStateID,
FreightReceiptsList.SignForStateID=@SignForStateID,SignFor=@SignFor
where FreightReceiptsList.FreightReceiptsID=@FreightReceiptsID
end
--模糊查询返车信息
if @Type='MuchConditionSelecteReturnCarInformation'
begin
if @CarTimes!=''
begin
set @sql=' where MX_DeliveryCarTimesServiceList.CarTimes='''+LTRIM(RTRIM(@CarTimes))+''''
end
if @DeliveryWayID !=0
begin
if @sql !=''
set @sql=@sql+' and DeliveryCarTimesServiceList.DeliveryWayID='''+LTRIM(RTRIM(@DeliveryWayID))+''''
else set @sql=' where DeliveryCarTimesServiceList.DeliveryWayID='''+LTRIM(RTRIM(@DeliveryWayID))+''''
end
if @SendNumber!=''
begin
if @sql !=''
set @sql=@sql+' and FreightReceiptsList.SendNumber='''+LTRIM(RTRIM(@SendNumber))+''''
else set @sql=' where FreightReceiptsList.SendNumber='''+LTRIM(RTRIM(@SendNumber))+''''
end
if @ClassID!=0
begin
if @sql !=''
set @sql=@sql+' and DeliveryCarTimesServiceList.ClassesID='''+LTRIM(RTRIM(@ClassID))+''''
else set @sql=' where DeliveryCarTimesServiceList.ClassesID='''+LTRIM(RTRIM(@ClassID))+''''
end
if @PredictDrawOutTime !=''
begin
if @sql !=''
set @sql=@sql+' and MX_DeliveryCarTimesServiceList.PredictDrawOutTime between '''+LTRIM(RTRIM(@PredictDrawOutTime))+''''+' and '''+LTRIM(RTRIM(@PredictDrawOutTime))+''''
else set @sql=' where MX_DeliveryCarTimesServiceList.PredictDrawOutTime between '''+LTRIM(RTRIM(@PredictDrawOutTime))+''''+' and '''+LTRIM(RTRIM(@PredictDrawOutTime))+''''
end
exec('SELECT MX_AttributeDetailedList.AttributeDetailedName, DeliverReceiptsList.MX_DeliveryCarServiceID, DeliverReceiptsList.HandleManID, StaffList.StaffName,
ReturnCarUnusualIList.ReturnCarUnusualIName, DeliverReceiptsList.ReturnCarUnusualIReasonID, MX_ReturnCarUnusualIList.MX_ReturnCarUnusualIIName,
DrawOutUnusualList.DrawOutUnusualName, DeliverReceiptsList.DrawOutUnusualIReasonID, MX_DrawOutUnusualDetailList.DrawOutUnusualName AS DrawOutUnusualReason,
DeliverReceiptsList.DeliverReceiptsID, DeliverReceiptsList.BoxCount, DeliverReceiptsList.FreightReceiptsID, DeliverReceiptsList.DrawOutUnusualID, DeliverReceiptsList.ReturnCarUnusualIID,
DeliverReceiptsList.OpenCarAffirm, DeliverReceiptsList.ReturnCarAffirm, DeliverReceiptsList.HandleTime, FreightReceiptsList.SendNumber, MX_DeliveryCarTimesServiceList.CarTimes,
MX_DeliveryCarTimesServiceList.DeliveryCarTimeServiceID, MX_AttributeDetailedList_1.AttributeDetailedName AS DeliveryWayName, FreightReceiptsList.CompanyID,
CompanyList.CompanyName, FreightReceiptsList.SendClientID, ClientList.ClientName, ClientList.ClientAbbreviation, ClientList.LinkMan, ClientList.LinkPhone, ClientList.ClientNumber,
ClientList_1.ClientAbbreviation AS ClientAbbreviation1, ClientList_1.LinkMan AS LinkMan1, ClientList_1.LinkPhone AS LinkPhone1, ClientList_1.ClientNumber AS ClientNumber1,
ClientList_1.ClientID, FreightReceiptsList.SendFieldWord, ClientList_1.ClientName AS ClientName1, MX_AttributeDetailedList_1.MX_AttributeDetailedID,
MX_AttributeDetailedList_2.AttributeDetailedName AS SignForState, FreightReceiptsList.SignForStateID, MX_DeliveryCarTimesServiceList.PredictDrawOutTime,
DeliveryCarTimesServiceList.DeliveryWayID, MX_AttributeDetailedList_3.AttributeDetailedName AS BanCiName, DeliveryCarTimesServiceList.ClassesID AS BanCiClassesID,
FreightReceiptsList.ClassesID, DeliveryFieldServiceList.FieldWord as CollectFieldWord
FROM DeliverReceiptsList INNER JOIN
FreightReceiptsList ON DeliverReceiptsList.FreightReceiptsID = FreightReceiptsList.FreightReceiptsID INNER JOIN
MX_AttributeDetailedList ON FreightReceiptsList.ClassesID = MX_AttributeDetailedList.MX_AttributeDetailedID INNER JOIN
MX_DeliveryCarTimesServiceList ON DeliverReceiptsList.MX_DeliveryCarServiceID = MX_DeliveryCarTimesServiceList.MX_DeliveryCarTimesServiceID INNER JOIN
StaffList ON DeliverReceiptsList.HandleManID = StaffList.StaffID INNER JOIN
DrawOutUnusualList ON DeliverReceiptsList.DrawOutUnusualID = DrawOutUnusualList.DrawOutUnusualID INNER JOIN
ReturnCarUnusualIList ON DeliverReceiptsList.ReturnCarUnusualIID = ReturnCarUnusualIList.ReturnCarUnusualIID INNER JOIN
MX_ReturnCarUnusualIList ON DeliverReceiptsList.ReturnCarUnusualIReasonID = MX_ReturnCarUnusualIList.MX_ReturnCarUnusualIID INNER JOIN
MX_DrawOutUnusualDetailList ON DeliverReceiptsList.DrawOutUnusualIReasonID = MX_DrawOutUnusualDetailList.MX_DrawOutUnusualDetailID INNER JOIN
DeliveryCarTimesServiceList ON MX_DeliveryCarTimesServiceList.DeliveryCarTimeServiceID = DeliveryCarTimesServiceList.DeliveryCarTimesServiceID INNER JOIN
MX_AttributeDetailedList AS MX_AttributeDetailedList_1 ON DeliveryCarTimesServiceList.DeliveryWayID = MX_AttributeDetailedList_1.MX_AttributeDetailedID INNER JOIN
CompanyList ON FreightReceiptsList.CompanyID = CompanyList.CompanyID INNER JOIN
ClientList ON FreightReceiptsList.SendClientID = ClientList.ClientID INNER JOIN
ClientList AS ClientList_1 ON FreightReceiptsList.CollectClientID = ClientList_1.ClientID INNER JOIN
MX_AttributeDetailedList AS MX_AttributeDetailedList_2 ON FreightReceiptsList.SignForStateID = MX_AttributeDetailedList_2.MX_AttributeDetailedID INNER JOIN
MX_AttributeDetailedList AS MX_AttributeDetailedList_3 ON DeliveryCarTimesServiceList.ClassesID = MX_AttributeDetailedList_3.MX_AttributeDetailedID INNER JOIN
DeliveryFieldServiceList ON FreightReceiptsList.DeliveryFieldServiceID = DeliveryFieldServiceList.DeliveryFieldServiceID '+@sql)
return
end
仅供学习,禁止商业用途