Ext.namespace('DsTruckRpt'); DsTruckRpt.MsRptPcStatQryIndex = function (config) { Ext.applyIf(this, config); this.initUIComponents(); window.DsTruckRpt.MsRptPcStatQryIndex.superclass.constructor.call(this); }; Ext.extend(DsTruckRpt.MsRptPcStatQryIndex, Ext.Panel, { OprationStatus: null, //仅当弹出界面时使用 SelectedRecord: null, initUIComponents: function () { //定义数据集 this.storeList = Ext.create('Ext.data.Store', { fields: [ { name: 'TRUCKNO', type: 'string' }, { name: 'IMP40QTY', type: 'number' }, { name: 'IMP20QTY', type: 'number' }, { name: 'EXP40QTY', type: 'number' }, { name: 'EXP20QTY', type: 'number' }, { name: 'E40QTY', type: 'number' }, { name: 'E20QTY', type: 'number' }, { name: 'OT40QTY', type: 'number' }, { name: 'OT20QTY', type: 'number' }, { name: 'TOTALMIL', type: 'number' }, { name: 'NOLOADMIL', type: 'number' }, { name: 'OVERLOADMIL', type: 'number' }, { name: 'TON', type: 'number' }, { name: 'AROUNDTON', type: 'number' }, { name: 'RATEDFUEL', type: 'number' }, { name: 'REALFUEL', type: 'number' }, { name: 'SAVEFUEL', type: 'number' }, { name: 'YS_DF', type: 'number' }, { name: 'YS_LY', type: 'number' }, { name: 'YS_Total', type: 'number' }, { name: 'YF_LQ', type: 'number' }, { name: 'YF_XDCFY', type: 'number' }, { name: 'YF_Total', type: 'number' }, { name: 'REMARK', type: 'string' } ], remoteSort: false, proxy: { type: 'ajax', url: '/RptMng/MsRptPcStatQry/QryData', reader: { id: '', root: 'data', totalProperty: 'totalCount' } } }); this.storeList_day = Ext.create('Ext.data.Store', { fields: [ { name: 'TRUCKNO', type: 'string' }, { name: 'EXPDATE', type: 'string' }, { name: 'PCCOUNT', type: 'number' }, { name: 'IMP40QTY', type: 'number' }, { name: 'IMP20QTY', type: 'number' }, { name: 'EXP40QTY', type: 'number' }, { name: 'EXP20QTY', type: 'number' }, { name: 'E40QTY', type: 'number' }, { name: 'E20QTY', type: 'number' }, { name: 'OT40QTY', type: 'number' }, { name: 'OT20QTY', type: 'number' }, { name: 'TOTALMIL', type: 'number' }, { name: 'NOLOADMIL', type: 'number' }, { name: 'OVERLOADMIL', type: 'number' }, { name: 'TON', type: 'number' }, { name: 'AROUNDTON', type: 'number' }, { name: 'RATEDFUEL', type: 'number' }, { name: 'REALFUEL', type: 'number' }, { name: 'SAVEFUEL', type: 'number' }, { name: 'YS_DF', type: 'number' }, { name: 'YS_LY', type: 'number' }, { name: 'YS_Total', type: 'number' }, { name: 'YF_LQ', type: 'number' }, { name: 'YF_XDCFY', type: 'number' }, { name: 'YF_Total', type: 'number' }, { name: 'REMARK', type: 'string' }, { name: 'detination', type: 'string' } ], remoteSort: false, groupField: 'TRUCKNO', proxy: { type: 'ajax', url: '/RptMng/MsRptPcStatQry/QryData_Day', reader: { id: '', root: 'data', totalProperty: 'totalCount' } } }); //定义Grid this.gridList = new Ext.grid.GridPanel({ store: this.storeList, enableHdMenu: false, region: 'center', loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, features: [{ ftype: 'summary'//Ext.grid.feature.Summary表格汇总特性 }], columns: [{ sortable: true, dataIndex: 'TRUCKNO', header: '车牌号', summaryType: 'count', width: 70 }, { sortable: true, dataIndex: 'IMP40QTY', header: '进口箱40', summaryType: 'sum', width: 70, field: { xtype: 'numberfield' } }, { sortable: true, dataIndex: 'IMP20QTY', header: '进口箱20', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'EXP40QTY', summaryType: 'sum', header: '出口箱40', width: 70 }, { sortable: true, dataIndex: 'EXP20QTY', header: '出口箱20', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'E40QTY', header: '空箱40', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'E20QTY', header: '空箱20', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'OT40QTY', header: '其他箱40', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'OT20QTY', header: '其他箱20', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'TOTALMIL', header: '总里程', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'NOLOADMIL', header: '空驶里程', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'OVERLOADMIL', header: '重驶里程', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'TON', header: '运量(吨)', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'AROUNDTON', header: '周转量', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'RATEDFUEL', header: '额定油耗', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'REALFUEL', header: '实际油耗', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'SAVEFUEL', header: '节油', summaryType: 'sum', width: 70 },{ sortable: true, dataIndex: 'YS_LY', header: '应收_陆运费', width: 60, summaryType: 'sum' }, { sortable: true, dataIndex: 'YS_DF', header: '应收_垫付', width: 60, summaryType: 'sum' }, { sortable: true, dataIndex: 'YS_Total', header: '应收_合计', width: 60, summaryType: 'sum' } , { sortable: true, dataIndex: 'YF_LQ', header: '应付_路桥费', width: 60, summaryType: 'sum' }, { sortable: true, dataIndex: 'YF_XDCFY', header: '应付_下单车费用', width: 60, summaryType: 'sum' }, { sortable: true, dataIndex: 'YF_Total', header: '应付_合计', width: 60, summaryType: 'sum' }, { sortable: true, dataIndex: 'REMARK', header: '备注', width: 200 } ], // paging bar on the bottom bbar: Ext.create('Ext.PagingToolbar', { id:"bbar1", store: this.storeList, displayInfo: true, displayMsg: '当前显示 {0} - {1}条记录 /共 {2}条记录', emptyMsg: "没有数据" }) }); this.gridList_day = new Ext.grid.GridPanel({ store: this.storeList_day, enableHdMenu: false, region: 'center', loadMask: { msg: "数据加载中,请稍等..." }, trackMouseOver: true, disableSelection: false, features: [{ id: 'group', ftype: 'groupingsummary', groupHeaderTpl: '{name}', hideGroupedHeader: false, enableGroupingMenu: true }], columns: [{ sortable: true, dataIndex: 'TRUCKNO', header: '车牌号', summaryType: 'count', width: 70 }, { sortable: true, dataIndex: 'EXPDATE', header: '派车日期', renderer: Ext.util.Format.dateRenderer('Y-m-d'), width: 80 }, { sortable: true, dataIndex: 'PCCOUNT', header: '派车次数', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'detination', header: '目的地', width: 200 }, { sortable: true, dataIndex: 'IMP40QTY', header: '进口箱40', summaryType: 'sum', width: 70, field: { xtype: 'numberfield' } }, { sortable: true, dataIndex: 'IMP20QTY', header: '进口箱20', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'EXP40QTY', summaryType: 'sum', header: '出口箱40', width: 70 }, { sortable: true, dataIndex: 'EXP20QTY', header: '出口箱20', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'E40QTY', header: '空箱40', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'E20QTY', header: '空箱20', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'OT40QTY', header: '其他箱40', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'OT20QTY', header: '其他箱20', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'TOTALMIL', header: '总里程', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'NOLOADMIL', header: '空驶里程', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'OVERLOADMIL', header: '重驶里程', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'TON', header: '运量(吨)', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'AROUNDTON', header: '周转量', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'RATEDFUEL', header: '额定油耗', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'REALFUEL', header: '实际油耗', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'SAVEFUEL', header: '节油', summaryType: 'sum', width: 70 }, { sortable: true, dataIndex: 'YS_DF', header: '应收_陆运费', width: 60, summaryType: 'sum' }, { sortable: true, dataIndex: 'YS_LY', header: '应收_垫付', width: 60, summaryType: 'sum' }, { sortable: true, dataIndex: 'YS_Total', header: '应收_应收合计', width: 60, summaryType: 'sum' },{ sortable: true, dataIndex: 'YF_LQ', header: '应付_路桥费', width: 60, summaryType: 'sum' }, { sortable: true, dataIndex: 'YF_XDCFY', header: '应付_下单车费用', width: 60, summaryType: 'sum' }, { sortable: true, dataIndex: 'YF_Total', header: '应付_应付合计', width: 60, summaryType: 'sum' }, { sortable: true, dataIndex: 'REMARK', header: '备注', width: 200 } ], // paging bar on the bottom bbar: Ext.create('Ext.PagingToolbar', { id: "bbar2", store: this.storeList_day, displayInfo: true, displayMsg: '当前显示 {0} - {1}条记录 /共 {2}条记录', emptyMsg: "没有数据" }) }); //#region menu1 var menu1 = new Ext.menu.Menu({ id: 'basicMenu', items: [{ text: '单车单月 日明细统计', handler: clickHandler }, { text: '自营车辆运营状况、核算月报表', handler: clickHandler_2 }, { text: '交运物流公司经营情况月报表(附表2)', tooltip: "注意,对此报表,查询条件最好仅选择派车日的起止日期", handler: clickHandler_3 }] }); //#region 打印格式定义 var _this = this; function clickHandler() { _this.Print(); }; function clickHandler_2() { _this.Print_2(); }; function clickHandler_3() { _this.Print_3(); }; //#endregion //#endregion //#region formSearch //#region formSearch枚举参照相关 var _this = this; this.storeCompany = Ext.create('DsExt.ux.RefTableStore', { model: 'DsTruckMng.ux.CompanyModel', proxy: { url: '/CommMng/BasicDataRef/GetcompanyList' } }); this.storeCompany.load({ params: { condition: "" } , callback: function (options, success, response) { if (success) { var record = Ext.create('DsTruckMng.ux.CompanyModel', { 'gid': '', 'code': '', 'name': '' }); _this.storeCompany.add(record); Ext.getCmp("PS_ORGCODE").setValue(""); } } }); this.comboxCompany = Ext.create('DsExt.ux.RefTableCombox', { fieldLabel: '分公司', store: this.storeCompany, forceSelection: true, id: "PS_ORGCODE", name: 'PS_ORGCODE', valueField: 'code', displayField: 'name' }); //#endregion this.formSearch = Ext.widget('form', { frame: true, region: 'center', bodyPadding: 5, fieldDefaults: { margins: '2 2 2 2', labelAlign: 'right', flex: 1, labelWidth: 90, msgTarget: 'qtip' }, items: [ {//fieldset 1 xtype: 'container', defaultType: 'textfield', layout: 'anchor', defaults: { anchor: '100%' }, items: [{ xtype: 'container', layout: 'hbox', defaultType: 'textfield', items: [/*{ fieldLabel: '分公司', name: 'PS_ORGCODE' }*/this.comboxCompany , { fieldLabel: '从派车日期', format: 'Y-m-d', xtype: 'datefield', name: 'PS_EXPDATEBGN', id: "PS_EXPDATEBGN" }, { fieldLabel: '到派车日期', format: 'Y-m-d', xtype: 'datefield', name: 'PS_EXPDATEEND', id: "PS_EXPDATEEND" }, { fieldLabel: '从返回日期', format: 'Y-m-d', xtype: 'datefield', name: 'PS_RETURNDATEBEGIN', id: "PS_RETURNDATEBEGIN" }, { fieldLabel: '到返回日期', format: 'Y-m-d', xtype: 'datefield', name: 'PS_RETURNDATEEND', id: "PS_RETURNDATEEND" }, { fieldLabel: '车号', name: 'PS_TRUCKNO', id: "PS_TRUCKNO" } ] } ]//end items(fieldset 1) }//end fieldset 1 ]//end root items }); //#endregion formSearch //查询工具条 this.panelBtn = new Ext.Panel({ region: "north", tbar: [ { text: "执行查询", iconCls: "btnrefresh", handler: function (button, event) { this.onRefreshClick(button, event); }, scope: this }, { text: "导出Excel", id: "btnExportExcel", iconCls: 'btnexportexcel', handler: function (button, event) { this.onExportClick(button, event); }, scope: this }, '-', { text: "打印报表", menu: menu1, scope: this } ] }); this.panelTop = new Ext.Panel({ layout: "border", region: "north", height: 80, items: [this.formSearch, this.panelBtn] }); this.page_1 = new Ext.Panel({ id: "page_1", layout: "border", region: "center", title: "单车合计", items: [this.gridList ] }); this.page_2 = new Ext.Panel({ id: "page_2", layout: "border", region: "center", title: "单车按日明细", items: [this.gridList_day ] }); this.MainTab = new Ext.tab.Panel({ layout: "border", region: "center", items: [this.page_1, this.page_2] }) Ext.apply(this, { items: [this.panelTop, this.MainTab] }); this.storeList.on('beforeload', function (store) { if (!this.checkSearchCondition()) return; var sql = this.getCondition(); Ext.apply(store.proxy.extraParams, { condition: sql }); }, this); }, //end initUIComponents onRefreshClick: function (button, event) { if (!this.checkSearchCondition()) return; var sql = this.getCondition(); var _p = this.MainTab.getActiveTab().id; if (_p == "page_1") { this.storeList.load({ params: { start: 0, limit: 500, condition: sql }, waitMsg: "正在查询数据...", scope: this }); } else { this.storeList_day.load({ params: { start: 0, limit: 500, condition: sql }, waitMsg: "正在查询数据...", scope: this }); } }, getCondition: function () { var form = this.formSearch.getForm(); var sql = ''; var sqldata = form.getValues(); sql = Ext.JSON.encode(sqldata); return sql; }, checkSearchCondition: function () { var form = this.formSearch.getForm(); if (!form.isValid()) { Ext.Msg.alert('提示', '查询条件赋值错误,请检查。'); return false; } return true; }, OprationSwap: function () { var ret = new Array(); ret[0] = this.OprationStatus; ret[1] = this.storeList; ret[2] = this.SelectedRecord; return ret; } , onExportClick: function (button, event) { var _p = this.MainTab.getActiveTab().id; if (_p == "page_1") { GridExportExcelPage(this.gridList); //GridExportExcelPage(this.gridList, "合同信息(每商品)"); } if (_p == "page_2") { GridExportExcelPage(this.gridList_day); } }, Print: function () { var MainList = ""; var printType = 'RPT_TRUCK_DCDYRMX'; //单车单月日明细 var PS_ORGCODE = Ext.getCmp("PS_ORGCODE").getValue(); var PS_EXPDATEBGN = Ext.getCmp("PS_EXPDATEBGN").getRawValue(); var PS_EXPDATEEND = Ext.getCmp("PS_EXPDATEEND").getRawValue(); var PS_RETURNDATEBEGIN = Ext.getCmp("PS_RETURNDATEBEGIN").getRawValue(); var PS_RETURNDATEEND = Ext.getCmp("PS_RETURNDATEEND").getRawValue(); var PS_TRUCKNO = Ext.getCmp("PS_TRUCKNO").getValue(); if (PS_EXPDATEBGN == "" || PS_EXPDATEBGN == null || PS_EXPDATEEND == "" || PS_EXPDATEEND == null) { alert("必须确定 派车日期 时间段"); return; } var sql1 = " create table #t ([date] date) "; sql1 = sql1 + " insert into #t exec GetBetweenDays '" + PS_EXPDATEBGN + "','" + PS_EXPDATEEND + "' "; sql1 = sql1 + " create table #tmpRptPcStat_RPT( "; sql1 = sql1 + " [TruckNo] [varchar](100), "; sql1 = sql1 + " [EXPDATE] datetime, "; sql1 = sql1 + " [PCCOUNT] int, "; sql1 = sql1 + " [Imp40Qty] [numeric](10,0) NOT NULL DEFAULT (0), "; sql1 = sql1 + " [Imp20Qty] [numeric](10,0) NOT NULL DEFAULT (0), "; sql1 = sql1 + " [Exp40Qty] [numeric](10,0) NOT NULL DEFAULT (0), "; sql1 = sql1 + " [Exp20Qty] [numeric](10,0) NOT NULL DEFAULT (0), "; sql1 = sql1 + " [E40Qty] [numeric](10,0) NOT NULL DEFAULT (0), "; sql1 = sql1 + " [E20Qty] [numeric](10,0) NOT NULL DEFAULT (0), "; sql1 = sql1 + " [OT40Qty] [numeric](10,0) NOT NULL DEFAULT (0), "; sql1 = sql1 + " [OT20Qty] [numeric](10,0) NOT NULL DEFAULT (0), "; sql1 = sql1 + " [TotalMil] [numeric](19,2) NOT NULL DEFAULT (0), "; sql1 = sql1 + " [NoLoadMil] [numeric](19,2) NOT NULL DEFAULT (0), "; sql1 = sql1 + " [OverLoadMil] [numeric](19,2) NOT NULL DEFAULT (0), "; sql1 = sql1 + " [Ton] [numeric](19,2) NOT NULL DEFAULT (0), "; sql1 = sql1 + " [AroundTon] [numeric](19,2) NOT NULL DEFAULT (0), "; sql1 = sql1 + " [RatedFuel] [numeric](19,2) NOT NULL DEFAULT (0), "; sql1 = sql1 + " [RealFuel] [numeric](19,2) NOT NULL DEFAULT (0), "; sql1 = sql1 + " [SaveFuel] [numeric](19,2) NOT NULL DEFAULT (0), "; sql1 = sql1 + " YS_DF [numeric](19,2) NULL DEFAULT (0), "; sql1 = sql1 + " YS_LY [numeric](19,2) NULL DEFAULT (0), "; sql1 = sql1 + " YF_LQ [numeric](19,2) NULL DEFAULT (0), "; sql1 = sql1 + " YF_XDCFY [numeric](19,2) NULL DEFAULT (0), "; sql1 = sql1 + " YS_Total [numeric](19,2) NULL DEFAULT (0), "; sql1 = sql1 + " YF_Total [numeric](19,2) NULL DEFAULT (0), "; sql1 = sql1 + " [Remark] [varchar](500) "; sql1 = sql1 + " ) "; sql1 = sql1 + " declare @p7 int "; sql1 = sql1 + " set @p7=1 "; sql1 = sql1 + " declare @p8 nvarchar(2000) "; sql1 = sql1 + " set @p8=NULL "; sql1 = sql1 + " insert into #tmpRptPcStat_RPT "; sql1 = sql1 + " exec sMsRptPcStatQry_Day @PS_ORGCODE=N'" + PS_ORGCODE + "',@PS_EXPDATEBGN=N'" + PS_EXPDATEBGN + "',@PS_EXPDATEEND=N'" + PS_EXPDATEEND + "',@PS_RETURNDATEBGN=N'" + PS_RETURNDATEBEGIN + "',@PS_RETURNDATEEND=N'" + PS_RETURNDATEEND + "',@PS_TRUCKNO=N'" + PS_TRUCKNO + "',@pi_result=@p7 output,@ps_Message=@p8 output "; sql1 = sql1 + " alter table #tmpRptPcStat_RPT add GID varchar(50) "; sql1 = sql1 + " update #tmpRptPcStat_RPT set GID=newid() "; sql1 = sql1 + " insert into #tmpRptPcStat_RPT ([TruckNo],[EXPDATE],[PCCOUNT],[Imp40Qty],[Imp20Qty],[Exp40Qty],[Exp20Qty] "; sql1 = sql1 + " ,[E40Qty],[E20Qty],[OT40Qty],[OT20Qty],[TotalMil],[NoLoadMil],[OverLoadMil] "; sql1 = sql1 + " ,[Ton],[AroundTon],[RatedFuel],[RealFuel],[SaveFuel],[YS_DF],[YS_LY],[YS_Total],[YF_LQ],[YF_XDCFY],[YF_Total],[Remark],GID) "; sql1 = sql1 + " select truckno,date,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,'',newid() from #t,tMsWlTruck where truckno like '%" + PS_TRUCKNO + "%' "; sql1 = sql1 + " delete from #tmpRptPcStat_RPT "; sql1 = sql1 + " where GID in ( "; sql1 = sql1 + " select gid from #tmpRptPcStat_RPT a "; sql1 = sql1 + " where exists (select 1 "; sql1 = sql1 + " from (select TRUCKNO, EXPDATE "; sql1 = sql1 + " from #tmpRptPcStat_RPT "; sql1 = sql1 + " group by TRUCKNO, EXPDATE "; sql1 = sql1 + " having count(*) > 1) s "; sql1 = sql1 + " where s.TRUCKNO = a.TRUCKNO "; sql1 = sql1 + " and s.EXPDATE = a.EXPDATE) "; sql1 = sql1 + " ) and pccount=0 "; sql1 = sql1 + " select * from #tmpRptPcStat_RPT order by truckno,EXPDATE "; sql1 = sql1 + " drop table #tmpRptPcStat_RPT "; sql1 = sql1 + " drop table #t "; var sql2 = ""; var sql3 = ""; var sql4 = ""; var sql5 = ""; var sql6 = ""; PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6); } , Print_2: function () {//交运物流公司经营情况月报表 var MainList = ""; var printType = 'RPT_TRUCK_JYQK_FJ3'; var _T = this.getCondition_2(); if (_T != "") { _T = " where " + _T; } var sql1 = " select truckno,(select name from company where codename=orgcode) 分公司,sum(isnull(单车运营收入,0)) 单车运营收入,sum(isnull(路桥费,0)) 路桥费 "; sql1 = sql1 + " ,(select LoadCount from tmswltruck where truckno=_t.truckno) 核载重量 "; sql1 = sql1 + " ,(select EnumValueName from tSysEnumValue where LangId=0 and EnumTypeID=99019 and EnumValueID=(select trucktype from tmswltruck where truckno=_t.truckno)) 车型 "; sql1 = sql1 + " ,sum(isnull(轮胎费,0)) 轮胎费,sum(isnull(TotalMil,0)) 总里程 "; sql1 = sql1 + " ,sum(isnull(OVERLOADMIL,0)) 重驶里程,sum(isnull(NOLOADMIL,0)) 空驶里程 "; sql1 = sql1 + " ,sum(isnull(TEU,0)) TEU,sum(isnull(Ton,0)) Ton "; sql1 = sql1 + " ,sum(AmountInCome)/(case sum(isnull(OVERLOADMIL,0)) when 0 then 1 else sum(isnull(OVERLOADMIL,0)) end) 平均费率 "; sql1 = sql1 + " ,sum(RatedFuel) 额定油耗,sum(RealFuel) 实际油耗,sum(RealFuel-RatedFuel) 节约超额 "; sql1 = sql1 + " from "; sql1 = sql1 + " ( "; sql1 = sql1 + " select orgcode,billno,pc.gid,truckno,expdate "; //TEAMGID, sql1 = sql1 + " ,(select sum(isnull((case when feetype='1' then Amount else -Amount end),0)) from ch_fee where bsno=pc.gid)as 单车运营收入 "; sql1 = sql1 + " ,dbo.F_GetFee(pc.gid,1,'路桥费') as 路桥费 "; sql1 = sql1 + " ,dbo.F_GetFee(pc.gid,1,'轮胎费') as 轮胎费 "; sql1 = sql1 + " ,pc.TotalMil ,OVERLOADMIL ,NOLOADMIL "; sql1 = sql1 + " ,pc.ContainerType "; sql1 = sql1 + " ,(SELECT CtnName FROM VMSTRUCKCTN WHERE CTNCODE=pc.CONTAINERTYPE) AS ContainerType_Ref "; sql1 = sql1 + " ,isnull((select teu from code_ctn where ctnid=pc.ContainerType),0) TEU "; sql1 = sql1 + " ,pc.Ton "; sql1 = sql1 + " ,(select sum(isnull((case when feetype='1' then Amount else 0 end),0)) from ch_fee where bsno=pc.gid) AmountInCome "; sql1 = sql1 + " ,pc.RatedFuel ,pc.RealFuel "; sql1 = sql1 + " from tMsWlPcHead pc "; sql1 = sql1 + _T; sql1 = sql1 + " ) _t "; sql1 = sql1 + " group by _t.TruckNo,_t.orgcode order by truckno "; var sql2 = ""; var sql3 = ""; var sql4 = ""; var sql5 = ""; var sql6 = ""; PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6); } , Print_3: function () {//交运物流公司经营情况月报表 var MainList = ""; var printType = 'RPT_TRUCK_JYQK_FJ2'; var _T1 = this.getCondition_2(); if (_T1 != "") { _T1 = " and " + _T1; } var form = this.formSearch.getForm(); if (!form.isValid()) { Ext.Msg.alert('提示', '查询条件赋值错误,请检查。'); return ''; } var sql = ""; var PS_EXPDATEBGN = form.findField('PS_EXPDATEBGN').getRawValue(); sql = sql + getAndConSql(sql, PS_EXPDATEBGN, "pc.EXPDATE >= '" + PS_EXPDATEBGN + "'"); var PS_EXPDATEEND = form.findField('PS_EXPDATEEND').getRawValue(); sql = sql + getAndConSql(sql, PS_EXPDATEEND, "pc.EXPDATE <= '" + PS_EXPDATEEND + " 23:59:59'"); if (sql != "") { sql = " where " + sql; } var PS_EXPDATEBGN_2 = ""; var PS_EXPDATEEND_2 = ""; var PS_EXPDATEBGN_3 = ""; var PS_EXPDATEEND_3 = ""; if (PS_EXPDATEBGN == null || PS_EXPDATEEND == null) { alert("请选择 派车日期 区间"); return; } else { //计算去年同期和今年以来两个时间区间 var _s = Ext.util.Format.date(form.findField('PS_EXPDATEBGN').getValue(), 'Y-m-d'); var arr = _s.split("-"); if (arr[1] == 2 && arr[2] == 29) { var PS_EXPDATEBGN_2 = new Date(Number(arr[0]) - 1, Number(arr[1])-1, Number(arr[2]) - 1); } else { var PS_EXPDATEBGN_2 = new Date(Number(arr[0]) - 1, Number(arr[1])-1, Number(arr[2])); } PS_EXPDATEBGN_2 = Ext.util.Format.date(PS_EXPDATEBGN_2, 'Y-m-d'); var _s = Ext.util.Format.date(form.findField('PS_EXPDATEEND').getValue(), 'Y-m-d'); var arr = _s.split("-"); if (arr[1] == 2 && arr[2] == 29) { var PS_EXPDATEEND_2 = new Date(Number(arr[0]) - 1, Number(arr[1])-1, Number(arr[2]) - 1); } else { var PS_EXPDATEEND_2 = new Date(Number(arr[0]) - 1, Number(arr[1])-1, Number(arr[2])); } PS_EXPDATEEND_2 = Ext.util.Format.date(PS_EXPDATEEND_2, 'Y-m-d'); var _s = Ext.util.Format.date(form.findField('PS_EXPDATEBGN').getValue(), 'Y-m-d'); var arr = _s.split("-"); var PS_EXPDATEBGN_3 = new Date(Number(arr[0]), 0, 1); PS_EXPDATEBGN_3 = Ext.util.Format.date(PS_EXPDATEBGN_3, 'Y-m-d'); PS_EXPDATEEND_3 = PS_EXPDATEEND; } // var sql1 = " select FGS,(select count(*) from tmswltruck where OrgCode=(select codename from company where name=fgs)) 车辆数 "; sql1 = sql1 + " ,sum(income) income,sum(t.TotalMil) TotalMil,sum(t.OverLoadMil) OverLoadMil,sum(TEU) TEU,sum(TON) ton,sum(t.JZX_PT) JZX_PT "; sql1 = sql1 + " ,sum(t.JZX_PZ) JZX_PZ,sum(t.DJYS) DJYS,sum(t.PHYS_ALL) PHYS_ALL,sum(t.PHYS_ZXF) PHYS_ZXF,sum(t.JZC_CC) JZC_CC,sum(jzc) jzc "; sql1 = sql1 + " ,0 码头TEU,0 码头income "; sql1 = sql1 + " from( "; sql1 = sql1 + " select truckno,isnull((select name from company where codename =(select orgcode from tmswltruck where pc.TruckNo=TruckNo)),'其他') FGS "; sql1 = sql1 + " ,dbo.f_getincome(pc.gid) income,pc.TotalMil,pc.OverLoadMil "; sql1 = sql1 + " ,isnull((select teu from code_ctn where ctnid=pc.ContainerType),0) TEU "; sql1 = sql1 + " ,pc.Ton "; sql1 = sql1 + " ,case when pcbilltype=0 and bstype not in (5,6) then isnull(dbo.f_getincome(pc.gid),0) else 0 end JZX_PT "; sql1 = sql1 + " ,case when pcbilltype=0 and bstype =6 then dbo.f_getincome(pc.gid) else 0 end JZX_PZ "; sql1 = sql1 + " ,case when pcbilltype=2 then dbo.f_getincome(pc.gid) else 0 end DJYS "; sql1 = sql1 + " ,case when pcbilltype=1 then dbo.f_getincome(pc.gid) else 0 end PHYS_ALL "; sql1 = sql1 + " ,case when pcbilltype=1 then dbo.F_GetFee(pc.gid,1,'装卸费')+dbo.F_GetFee(pc.gid,1,'吊装费') "; sql1 = sql1 + " -dbo.F_GetFee(pc.gid,2,'装卸费')-dbo.F_GetFee(pc.gid,2,'吊装费') else 0 end PHYS_ZXF "; sql1 = sql1 + " ,case when pcbilltype=0 and bstype =5 then 1 else 0 end JZC_CC "; sql1 = sql1 + " ,case when pcbilltype=0 and bstype =5 then dbo.f_getincome(pc.gid) else 0 end JZC "; sql1 = sql1 + " from tmswlpchead pc where pc.TruckNo<>'' " + _T1 + " ) t where FGS<>'其他' "; sql1 = sql1 + " group by fgs "; sql1 = sql1 + " union all "; sql1 = sql1 + " select '中海公司(码头)',(select count(*) from tmswltruck where TruckNo like '%港%'),sum(amount),0,0,0,0,0,0,0,0,0,0,0,sum(teu),sum(amount) from "; sql1 = sql1 + " ( select expdate,(amount_1-amount_2) amount,(select sum(teu) from tMsWl_Port_Ctn where LINKID=pc.gid) teu from tMsWl_Port pc " + sql + " )t2 "; //去年同期 var _T2 = " "; _T2 = _T2 + getAndConSql(sql, PS_EXPDATEBGN_2, "pc.EXPDATE >= '" + PS_EXPDATEBGN_2 + "'"); _T2 = _T2 + getAndConSql(sql, PS_EXPDATEEND_2, "pc.EXPDATE <= '" + PS_EXPDATEEND_2 + " 23:59:59'"); //if (_T2 != "") { _T2 = " and " + _T2; } var sql2 = " select FGS,(select count(*) from tmswltruck where OrgCode=(select codename from company where name=fgs)) 车辆数 "; sql2 = sql2 + " ,sum(income) income,sum(t.TotalMil) TotalMil,sum(t.OverLoadMil) OverLoadMil,sum(TEU) TEU,sum(TON) ton,sum(t.JZX_PT) JZX_PT "; sql2 = sql2 + " ,sum(t.JZX_PZ) JZX_PZ,sum(t.DJYS) DJYS,sum(t.PHYS_ALL) PHYS_ALL,sum(t.PHYS_ZXF) PHYS_ZXF,sum(t.JZC_CC) JZC_CC,sum(jzc) jzc "; sql2 = sql2 + " ,0 码头TEU,0 码头income "; sql2 = sql2 + " from( "; sql2 = sql2 + " select truckno,isnull((select name from company where codename =(select orgcode from tmswltruck where pc.TruckNo=TruckNo)),'其他') FGS "; sql2 = sql2 + " ,dbo.f_getincome(pc.gid) income,pc.TotalMil,pc.OverLoadMil "; sql2 = sql2 + " ,isnull((select teu from code_ctn where ctnid=pc.ContainerType),0) TEU "; sql2 = sql2 + " ,pc.Ton "; sql2 = sql2 + " ,case when pcbilltype=0 and bstype not in (5,6) then isnull(dbo.f_getincome(pc.gid),0) else 0 end JZX_PT "; sql2 = sql2 + " ,case when pcbilltype=0 and bstype =6 then dbo.f_getincome(pc.gid) else 0 end JZX_PZ "; sql2 = sql2 + " ,case when pcbilltype=2 then dbo.f_getincome(pc.gid) else 0 end DJYS "; sql2 = sql2 + " ,case when pcbilltype=1 then dbo.f_getincome(pc.gid) else 0 end PHYS_ALL "; sql2 = sql2 + " ,case when pcbilltype=1 then dbo.F_GetFee(pc.gid,1,'装卸费')+dbo.F_GetFee(pc.gid,1,'吊装费') "; sql2 = sql2 + " -dbo.F_GetFee(pc.gid,2,'装卸费')-dbo.F_GetFee(pc.gid,2,'吊装费') else 0 end PHYS_ZXF "; sql2 = sql2 + " ,case when pcbilltype=0 and bstype =5 then 1 else 0 end JZC_CC "; sql2 = sql2 + " ,case when pcbilltype=0 and bstype =5 then dbo.f_getincome(pc.gid) else 0 end JZC "; sql2 = sql2 + " from tmswlpchead pc where pc.TruckNo<>'' " + _T2 + " ) t where FGS<>'其他' "; sql2 = sql2 + " group by fgs "; sql2 = sql2 + " union all "; sql2 = sql2 + " select '中海公司(码头)',(select count(*) from tmswltruck where TruckNo like '%港%'),sum(amount),0,0,0,0,0,0,0,0,0,0,0,sum(teu),sum(amount) from "; sql2 = sql2 + " ( select expdate,(amount_1-amount_2) amount,(select sum(teu) from tMsWl_Port_Ctn where LINKID=pc.gid) teu from tMsWl_Port pc where 1=1 " + _T2 + " )t2 "; //今年以来 var _T3 = " "; _T3 = _T3 + getAndConSql(sql, PS_EXPDATEBGN_3, "pc.EXPDATE >= '" + PS_EXPDATEBGN_3 + "'"); _T3 = _T3 + getAndConSql(sql, PS_EXPDATEEND_3, "pc.EXPDATE <= '" + PS_EXPDATEEND_3 + " 23:59:59'"); //if (_T3 != "") { _T3 = " where " + _T3; } var sql3 = " select FGS,(select count(*) from tmswltruck where OrgCode=(select codename from company where name=fgs)) 车辆数 "; sql3 = sql3 + " ,sum(income) income,sum(t.TotalMil) TotalMil,sum(t.OverLoadMil) OverLoadMil,sum(TEU) TEU,sum(TON) ton,sum(t.JZX_PT) JZX_PT "; sql3 = sql3 + " ,sum(t.JZX_PZ) JZX_PZ,sum(t.DJYS) DJYS,sum(t.PHYS_ALL) PHYS_ALL,sum(t.PHYS_ZXF) PHYS_ZXF,sum(t.JZC_CC) JZC_CC,sum(jzc) jzc "; sql3 = sql3 + " ,0 码头TEU,0 码头income "; sql3 = sql3 + " from( "; sql3 = sql3 + " select truckno,isnull((select name from company where codename =(select orgcode from tmswltruck where pc.TruckNo=TruckNo)),'其他') FGS "; sql3 = sql3 + " ,dbo.f_getincome(pc.gid) income,pc.TotalMil,pc.OverLoadMil "; sql3 = sql3 + " ,isnull((select teu from code_ctn where ctnid=pc.ContainerType),0) TEU "; sql3 = sql3 + " ,pc.Ton "; sql3 = sql3 + " ,case when pcbilltype=0 and bstype not in (5,6) then isnull(dbo.f_getincome(pc.gid),0) else 0 end JZX_PT "; sql3 = sql3 + " ,case when pcbilltype=0 and bstype =6 then dbo.f_getincome(pc.gid) else 0 end JZX_PZ "; sql3 = sql3 + " ,case when pcbilltype=2 then dbo.f_getincome(pc.gid) else 0 end DJYS "; sql3 = sql3 + " ,case when pcbilltype=1 then dbo.f_getincome(pc.gid) else 0 end PHYS_ALL "; sql3 = sql3 + " ,case when pcbilltype=1 then dbo.F_GetFee(pc.gid,1,'装卸费')+dbo.F_GetFee(pc.gid,1,'吊装费') "; sql3 = sql3 + " -dbo.F_GetFee(pc.gid,2,'装卸费')-dbo.F_GetFee(pc.gid,2,'吊装费') else 0 end PHYS_ZXF "; sql3 = sql3 + " ,case when pcbilltype=0 and bstype =5 then 1 else 0 end JZC_CC "; sql3 = sql3 + " ,case when pcbilltype=0 and bstype =5 then dbo.f_getincome(pc.gid) else 0 end JZC "; sql3 = sql3 + " from tmswlpchead pc where pc.TruckNo<>'' " + _T3 + " ) t where FGS<>'其他' "; sql3 = sql3 + " group by fgs "; sql3 = sql3 + " union all "; sql3 = sql3 + " select '中海公司(码头)',(select count(*) from tmswltruck where TruckNo like '%港%'),sum(amount),0,0,0,0,0,0,0,0,0,0,0,sum(teu),sum(amount) from "; sql3 = sql3 + " ( select expdate,(amount_1-amount_2) amount,(select sum(teu) from tMsWl_Port_Ctn where LINKID=pc.gid) teu from tMsWl_Port pc where 1=1 " + _T3 + " )t2 "; var sql4 = ""; var sql5 = ""; var sql6 = ""; PrintComm(printType, sql1, sql2, sql3, sql4, sql5, sql6); } , getCondition_2: function () { var form = this.formSearch.getForm(); if (!form.isValid()) { Ext.Msg.alert('提示', '查询条件赋值错误,请检查。'); return ''; } var sql = ""; /* var PS_ORGCODE = Ext.getCmp("PS_ORGCODE").getValue(); var PS_EXPDATEBGN = Ext.getCmp("PS_EXPDATEBGN").getRawValue(); var PS_EXPDATEEND = Ext.getCmp("PS_EXPDATEEND").getRawValue(); var PS_RETURNDATEBEGIN = Ext.getCmp("PS_RETURNDATEBEGIN").getRawValue(); var PS_RETURNDATEEND = Ext.getCmp("PS_RETURNDATEEND").getRawValue(); var PS_TRUCKNO = Ext.getCmp("PS_TRUCKNO").getValue();*/ var PS_ORGCODE = form.findField('PS_ORGCODE').getValue(); sql = sql + getAndConSql(sql, PS_ORGCODE, " PC.ORGCODE ='" + PS_ORGCODE + "' "); var PS_EXPDATEBGN = form.findField('PS_EXPDATEBGN').getRawValue(); sql = sql + getAndConSql(sql, PS_EXPDATEBGN, "pc.EXPDATE >= '" + PS_EXPDATEBGN + "'"); var PS_EXPDATEEND = form.findField('PS_EXPDATEEND').getRawValue(); sql = sql + getAndConSql(sql, PS_EXPDATEEND, "pc.EXPDATE <= '" + PS_EXPDATEEND + " 23:59:59'"); var PS_TRUCKNO = form.findField('PS_TRUCKNO').getValue(); sql = sql + getAndConSql(sql, PS_TRUCKNO, " PC.TRUCKNO like '%" + PS_TRUCKNO + "%' "); return sql; } });