Ejemplo n.º 1
0
    protected void LoadPrintInfo()
    {
        PrintParameterSettingModel pModel = new PrintParameterSettingModel();

        pModel.CompanyCD     = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).CompanyCD;
        pModel.BillTypeFlag  = int.Parse(ConstUtil.BILL_TYPEFLAG_QUALITYCHECK);
        pModel.PrintTypeFlag = ConstUtil.PRINTBILL_TYPEFLAG_QUALITYADD;

        StorageQualityCheckApplay model = new StorageQualityCheckApplay();

        model.CompanyCD = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).CompanyCD;
        model.ID        = this.intID;

        /*此处需注意在模板设置表里的字段和取基本信息的字段是否一致*/
        string[,] aBase =
        {
            { "{ExtField1}",  "ExtField1"       },
            { "{ExtField2}",  "ExtField2"       },
            { "{ExtField3}",  "ExtField3"       },
            { "{ExtField4}",  "ExtField4"       },
            { "{ExtField5}",  "ExtField5"       },
            { "{ExtField6}",  "ExtField6"       },
            { "{ExtField7}",  "ExtField7"       },
            { "{ExtField8}",  "ExtField8"       },
            { "{ExtField9}",  "ExtField9"       },
            { "{ExtField10}", "ExtField10"      },
            { "单据编号",         "ApplyNo"         },
            { "主题",           "Title"           },
            { "源单类型",         "FromType"        },
            { "往来单位",         "CustName"        },
            { "往来单位大类",       "CustBigTypeName" },
            { "质检类别",         "CheckType"       },
            { "生产负责人",        "PrincipalName"   },
            { "生产部门",         "DeptName"        },
            { "检验方式",         "CheckMode"       },
            { "报检人员",         "CheckerName"     },
            { "报检部门",         "CheckDeptName"   },
            { "报检日期",         "CheckDate"       },
            { "报检数量合计",       "CountTotal"      },
            { "单据状态",         "BillStatusName"  },
            { "制单人",          "CreatorName"     },
            { "制单日期",         "CreateDate"      },
            { "确认人",          "ConfirmorName"   },
            { "确认日期",         "ConfirmDate"     },
            { "结单人",          "CloserName"      },
            { "结单日期",         "CloseDate"       },
            { "最后更新人",        "ModifiedUserID"  },
            { "最后更新日期",       "ModifiedDate"    },
            { "备注",           "Remark"          },
        };

        string[,] aDetail =
        {
            { "序号",    "SortNo"           },
            { "物品名称",  "ProductName"      },
            { "物品编号",  "ProdNo"           },
            { "单位",    "CodeName"         },
            { "报检数量",  "ProductCount"     },
            { "已报检数量", "CheckedCount"     },
            { "已检数量",  "RealCheckedCount" },
            { "备注",    "Remark"           }
        };

        if (_isMoreUnit)
        {// 启用多计量单位
            aDetail = new string[, ]
            {
                { "序号", "SortNo" },
                { "物品名称", "ProductName" },
                { "物品编号", "ProdNo" },
                { "基本单位", "CodeName" },
                { "基本数量", "ProductCount" },
                { "单位", "UsedUnitName" },
                { "报检数量", "UsedUnitCount" },
                { "已报检数量", "CheckedCount" },
                { "已检数量", "RealCheckedCount" },
                { "备注", "Remark" }
            };
        }

        #region 扩展属性
        DataTable dtExtTable = TableExtFieldsBus.GetAllList(((UserInfoUtil)SessionUtil.Session["UserInfo"]).CompanyCD, "", "officedba.QualityCheckApplay");
        int       countExt   = 0;
        for (int i = 0; i < dtExtTable.Rows.Count; i++)
        {
            aBase[i, 0] = dtExtTable.Rows[i]["EFDesc"].ToString();
            countExt++;
        }
        #endregion

        DataTable dbPrint = XBase.Business.Common.PrintParameterSettingBus.GetPrintParameterSettingInfo(pModel);
        DataTable dt      = StorageQualityCheckPro.GetOneQuality(model.ID, model.CompanyCD);
        Convert(dt);
        DataTable dtDetail        = StorageQualityCheckPro.GetQualityDetail(model.ID, model.CompanyCD);
        string    strBaseFields   = "";
        string    strDetailFields = "";

        if (dbPrint.Rows.Count > 0)
        {
            isSeted.Value   = "1";
            strBaseFields   = dbPrint.Rows[0]["BaseFields"].ToString();
            strDetailFields = dbPrint.Rows[0]["DetailFields"].ToString();
        }
        else
        {
            isSeted.Value = "0";
            strBaseFields = GetDefaultFields(aBase);
            /*基本信息字段+扩展信息字段*/

            for (int i = 0; i < countExt; i++)
            {
                strBaseFields += "|ExtField" + (i + 1);
            }
            strDetailFields = GetDefaultFields(aDetail);
        }

        #region 主表信息
        if (!string.IsNullOrEmpty(strBaseFields))
        {
            tableBase.InnerHtml = WritePrintPageTable("质检申请单", strBaseFields, strDetailFields, aBase, aDetail, dt, dtDetail, true);
        }
        #endregion

        #region 明细信息
        if (!string.IsNullOrEmpty(strDetailFields))
        {
            tableDetail.InnerHtml = WritePrintPageTable("质检申请单", strBaseFields, strDetailFields, aBase, aDetail, dt, dtDetail, false);
        }
        #endregion
    }
    /// <summary>
    /// 导出Excel
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnImport_Click(object sender, ImageClickEventArgs e)
    {
        try
        {
            string companyCD = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).CompanyCD;
            StorageQualityCheckApplay model = new StorageQualityCheckApplay();
            model.ApplyNO     = this.txtInNo.Value.Trim();
            model.Title       = this.txtTitle.Value.Trim();
            model.Checker     = this.HiddenUser.Value.Trim();
            model.CustID      = int.Parse(this.hiddenCustID.Value);
            model.CheckDeptID = this.HiddenDept.Value;
            model.CheckDate   = Convert.ToDateTime("1800-1-1");
            if (this.BeginCheckDate.Value != "")
            {
                model.CheckDate = Convert.ToDateTime(this.BeginCheckDate.Value);
            }
            string EndDate = "9999-2-3";
            if (this.EndCheckDate.Value != "")
            {
                EndDate = this.EndCheckDate.Value;
            }
            model.CompanyCD  = companyCD;
            model.FromType   = this.FromType.Value;
            model.CheckType  = this.txtCheckType.Value;
            model.CheckMode  = this.txtCheckMode.Value;
            model.BillStatus = this.BillStatus.Value;

            string EFIndex    = GetBillExAttrControl1.GetExtIndexValue;
            string EFDesc     = GetBillExAttrControl1.GetExtTxtValue;
            string FlowStatus = this.ddlFlowStatus.Value;
            model.Attachment = " ID Desc";
            if (this.HiddenOrderID.Value != "0")
            {
                string[] myOrder = this.HiddenOrderID.Value.Split('_');
                if (myOrder[1] == "a")
                {
                    model.Attachment = myOrder[0] + " asc ";
                }
                else
                {
                    model.Attachment = myOrder[0] + " desc ";
                }
            }
            model.Creater   = -100;
            model.Confirmor = -100;
            int       TotalCount = 0;
            DataTable dt         = StorageQualityCheckPro.GetQualityList(model, Convert.ToDateTime(EndDate), FlowStatus, EFIndex, EFDesc, ref TotalCount);

            //导出标题
            string   headerTitle = "单据编号|单据主题|源单类型|往来单位|往来单位大类|检验方式|报检人员|报检部门|报检日期|单据状态|审批状态";
            string[] header      = headerTitle.Split('|');

            //导出标题所对应的列字段名称
            string   columnFiled = "ApplyNo|Title|FromType|CustName|CustBigType|CheckMode|EmployeeName|DeptName|CheckDate|BillStatus|FlowStatus";
            string[] field       = columnFiled.Split('|');

            XBase.Common.OutputToExecl.ExportToTable(this.Page, dt, header, field, "质检申请列表");
        }
        catch
        { }
    }