物流运交管理系统 返车确认

返车确认

返车确认是对送货完成后返回物流地点的车辆信息进行记录,确定货物签收是否正常,记录单据异动情况

返车确认界面:

逐单据确认界面:

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、物流地点名称、地址

列名

数据类型

主键/外键

说明

LogisticsPlaceID

Int

主键

物流地点ID

LogisticsPlaceName

Char

 

物流地点名称

Address

Char

 

地址

属性明细表的字段:属性明细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

 

客户编号

 

公司表的字段有:公司IDCompanyID)、公司简称(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


仅供学习,禁止商业用途

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值