コード例 #1
0
        /// <summary>
        /// 导出代理商
        /// </summary>
        /// <param name="pageSize"></param>
        /// <param name="currPage"></param>
        /// <param name="where"></param>
        /// <returns></returns>
        public DataTable ExportAgent(IDictionary <String, String> where)
        {
            string sql      = @"SELECT [AGENT_NO] AS '编号',[AGENT_NAME] AS '代理商',[AGENT_CARD_NUMBER] AS '卡数量',[AGENT_AREA] AS '地区',[AGENT_CONTACTS] AS '联系人',[AGENT_TEL] AS '联系电话'
                            ,CASE WHEN [STATUS]=1 THEN '启用' WHEN [STATUS]=0 THEN '禁用' ELSE '删除' END AS '状态',[CREATED_TIME] AS '创建时间'";
            string othersql = " FROM [dbo].[TB_DATA_AGENT] WHERE STATUS>-1";

            if (where.ContainsKey("AGENT_NAME"))
            {
                othersql = othersql + String.Format(" AND AGENT_NAME like @AGENT_NAME");
            }
            sql = sql + othersql;

            //设定排序条件
            sql = sql + String.Format(" ORDER BY {0} {1} ", "CREATED_TIME", "DESC");

            CustomSqlSection custom = Gateway.Default.FromCustomSql(sql);

            if (where.ContainsKey("AGENT_NAME"))
            {
                custom.AddInputParameter("AGENT_NAME", DbType.String, "%" + where["AGENT_NAME"] + "%");
            }
            try
            {
                return(custom.ToDataSet().Tables[0]);
            }
            catch (Exception ex)
            {
                Log.WriteLog(ex.Message);
                return(null);
            }
        }
コード例 #2
0
        public QccustomerlibraryModelList GetModelListOne(string QcNo)
        {
            QccustomerlibraryModelList result = new QccustomerlibraryModelList();
            CustomSqlSection           sql    = DataAccess.DefaultDB.CustomSql(@"select a.*,b.Name as customerName,c.Name as salesName from QCCustomerLibrary a left join 
                              gen_customer b on a.Buyer_ID=b.Customer_CD 
                              left join GEN_USERS c on  a.Sales=c.USER_ID 
                              where a.Quality_Code='" + QcNo + "'");

            using (DataSet ds = sql.ToDataSet())
            {
                DataTable dt = ds.Tables[0];
                QccustomerlibraryModel m;
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    m                   = new QccustomerlibraryModel();
                    m.Iden              = Convert.ToInt32(dt.Rows[i]["Iden"]);
                    m.QualityCode       = dt.Rows[i]["Quality_Code"].ToString();
                    m.BuyerId           = dt.Rows[i]["customerName"].ToString();
                    m.Brand             = dt.Rows[i]["Brand"].ToString();
                    m.CustomerQualityId = dt.Rows[i]["Customer_Quality_ID"].ToString();
                    m.Sales             = dt.Rows[i]["salesName"].ToString();
                    m.SalesGroup        = dt.Rows[i]["Sales_Group"].ToString();
                    m.MillComments      = dt.Rows[i]["Mill_Comments"].ToString();
                    m.IsFirstOwner      = dt.Rows[i]["Is_First_Owner"].ToString();
                    m.CreateDate        = (DateTime)dt.Rows[i]["Create_Date"];
                    m.Creator           = dt.Rows[i]["Creator"].ToString();
                    result.Add(m);
                }
            }
            return(result);
        }
コード例 #3
0
ファイル: export.aspx.cs プロジェクト: 80880655/Esign
        //Add by sunny 2017 0904  summar ma 要去search页面添加销售的评价
        /// <param name="strQC"></param>
        /// <returns>通过QC获得销售评价</returns>
        public static string GetCustomerComment(string QC)
        {
            string sd = "";

            if (QC != "")
            {
                CustomSqlSection css = DataAccess.DefaultDB.CustomSql(@"SELECT  qcc.customer_comment
FROM ppo_hd ph,gen_customer c,ppo_qcmaininfo qc, ppo_item pi, fab_combo fc, ppo_qccomment qcc,ppo_item_combo pic,QCMainInfo qm
WHERE ph.ppo_no=pi.ppo_no and  fc.fab_combo_id = qcc.fab_combo_id and qc.ppo_item_id=pi.ppo_item_id and pi.ppo_item_id=pic.ppo_item_id and pi.quality_code=qm.quality_code and qm.Material_Group<>'Flat Knit Fabric' 
AND pic.fab_combo_id=fc.fab_combo_id and qc.ppo_qc_id=qcc.ppo_qc_id and ph.customer_cd=c.customer_cd
and pi.quality_code= @Qc ");
                css.AddInputParameter("Qc", DbType.String, QC);

                DataTable dt = css.ToDataSet().Tables[0];
                string    i  = "";

                if (dt.Rows.Count > 0)
                {
                    i = css.ToDataSet().Tables[0].Rows[0][0].ToString();
                }

                if (i != "")
                {
                    sd = i;
                }
            }
            return(sd);
        }
コード例 #4
0
        /// <summary>
        /// 查询代理商
        /// </summary>
        /// <param name="pageSize"></param>
        /// <param name="currPage"></param>
        /// <param name="where"></param>
        /// <returns></returns>
        public IDictionary <String, Object> QueryAgent(Int32 pageSize, Int32 currPage, IDictionary <String, String> where)
        {
            DataTable dtPage    = null;
            Int32     totalRow  = 0;
            Int32     totalPage = 0;

            string sqlCount = @"select  count(1) totalrow  ";
            string sql      = @"SELECT [AGENT_ID],[USER_ID],[AGENT_NO],[AGENT_NAME],[AGENT_CARD_NUMBER],[AGENT_AREA],[AGENT_CONTACTS],[AGENT_TEL],[AGENT_BUSINESS_LICENSE],[AGENT_ID_CARD]
                            ,[AGENT_COMMITMENT_LETTER],[STATUS],[CREATED_TIME]";
            string othersql = " FROM [dbo].[TB_DATA_AGENT] WHERE STATUS>-1";

            if (where.ContainsKey("AGENT_NAME"))
            {
                othersql = othersql + String.Format(" AND AGENT_NAME like @AGENT_NAME");
            }
            sqlCount = sqlCount + othersql;
            sql      = sql + othersql;

            //设定排序条件
            sql = sql + String.Format(" ORDER BY {0} {1} ", "CREATED_TIME", "DESC");

            CustomSqlSection customCount = Gateway.Default.FromCustomSql(sqlCount);
            CustomSqlSection custom      = Gateway.Default.FromCustomSql(sql);

            if (where.ContainsKey("AGENT_NAME"))
            {
                customCount.AddInputParameter("AGENT_NAME", DbType.String, "%" + where["AGENT_NAME"] + "%");
                custom.AddInputParameter("AGENT_NAME", DbType.String, "%" + where["AGENT_NAME"] + "%");
            }
            try
            {
                totalRow  = Convert.ToInt32(customCount.ToDataSet().Tables[0].Rows[0]["totalrow"]);
                totalPage = Convert.ToInt32(Math.Ceiling(totalRow * 1.0 / pageSize));
                totalPage = totalPage == 0 ? 1 : totalPage;

                if (totalPage < currPage)
                {
                    currPage = totalPage;
                }

                dtPage = custom.ToDataTable(pageSize, currPage);
            }
            catch (Exception ex)
            {
                Log.WriteLog(ex.Message);
                return(null);
            }

            Dictionary <String, Object> dic = new Dictionary <String, Object>();

            dic.Add("table", dtPage);
            dic.Add("totalRow", totalRow);
            dic.Add("totalPage", totalPage);
            return(dic);
        }
コード例 #5
0
        public string GetEmailAddress()
        {
            string           sql = @"
                     select top 1 Mail_Address from fabricstoredb.dbo.stMailList where USER_NAME='GettingDifferentWidth'   ";
            CustomSqlSection cuSQLEmailAddress = DataAccess.CreateSqlServerDatabase().CustomSql(sql);
            object           obj = cuSQLEmailAddress.ToScalar();

            if (obj == null)
            {
                return("[email protected];[email protected];[email protected];[email protected];[email protected];[email protected];[email protected];[email protected];[email protected];");
            }
            return(obj.ToString());
        }
コード例 #6
0
        public string GettingDifferentWidthTimer()
        {
            try
            {
                string           sql   = @"
           select distinct  r.PPO_No,pp.GK_No,pp.Quality_Code,r.Gauge,r.Diameter,r.Total_Needles,convert(int,m.Width)Width,convert(int,m.Max_width) Max_width,pp.Usage,r.Designer
             from ArtDB.dbo.rtRawInfo r with(nolock) 
             LEFT JOIN ArtDB.dbo.rtPdInfo AS rpi WITH (NOLOCK) ON rpi.Raw_NO = r.Raw_NO
              LEFT JOIN PlanningDB.dbo.pcPPOItem AS pp WITH (NOLOCK)  ON pp.GK_NO = rpi.GK_NO AND pp.PPO_NO = rpi.PPO_NO
              LEFT JOIN ArtDB.dbo.rtFabricMixProduct m WITH (NOLOCK)  on pp.GK_No=m.GK_NO
               where 1=1
              AND pp.ApproveTime>=DATEADD(DAY,-3,GETDATE()) 
              and not exists(select 1 from QUALITY_WidthCompare where ppo_no=r.ppo_no)
              and   r.cancel_date is null and r.groups='C' and r.Art_Type<>'M'
               and r.PPO_No like 'PKGK%' AND pp.Quality_Code IS NOT NULL
              
             ";
                CustomSqlSection cuSQL = DataAccess.CreateSqlServerDatabase().CustomSql(sql);
                DataSet          ds    = cuSQL.ToDataSet();
                DataTable        dt    = ds.Tables[0];

                List <string> emailList = new List <string>();
                emailList.Add("PPO_NO");
                emailList.Add("quality_code");
                emailList.Add("usage");
                emailList.Add("gk_no");
                emailList.Add("tech_user");
                emailList.Add("tech_Gauge");
                emailList.Add("Quality_Gauge");
                emailList.Add("tech_Diameter");
                emailList.Add("Quality_Diameter");
                emailList.Add("tech_Total_Needles");
                emailList.Add("Quality_Total_Needles");
                emailList.Add("tech_width");
                emailList.Add("Quality_width");
                DataTable dtEmail = new DataTable();

                if (dt.Rows.Count > 0)
                {
                    List <string> qcList = new List <string>();
                    foreach (DataRow dr in dt.Rows)
                    {
                        if (!qcList.Contains(dr["Quality_Code"].ToString()))
                        {
                            qcList.Add(dr["Quality_Code"].ToString());
                        }
                    }
                    StringBuilder oracle_sql = new StringBuilder();
                    foreach (string qc in qcList)
                    {
                        if (oracle_sql.ToString() == "")
                        {
                            oracle_sql.Append(" select '" + qc + "' qc from dual");
                        }
                        else
                        {
                            oracle_sql.Append(" union all select '" + qc + "' from dual");
                        }
                    }

                    string           sql_oracle  = "select  b.quality_code,gauge,diameter,total_needles,width,max_width from (" + oracle_sql.ToString() + ") a inner join Qcavailablewidth b on a.qc=b.quality_code ";
                    CustomSqlSection css_qcWidth = DataAccess.DefaultDB.CustomSql(sql_oracle);
                    DataSet          ds_qcWidth  = css_qcWidth.ToDataSet();
                    DataTable        dt_qcWidth  = ds_qcWidth.Tables[0];



                    foreach (string str in emailList)
                    {
                        dtEmail.Columns.Add(str);
                    }
                    foreach (DataRow dr in dt.Rows)
                    {
                        DataRow[] drwidth = dt_qcWidth.Select("Quality_Code='" + dr["Quality_code"].ToString() + "' and width='" + dr["width"].ToString() + "' and   max_width='" + dr["max_width"].ToString() + "' and ( gauge<>'" + dr["gauge"].ToString() + "' or   diameter<>'" + dr["diameter"].ToString() + "' or  total_needles<>'" + dr["total_needles"].ToString() + "' ) ");
                        if (drwidth.Length > 0)
                        {
                            foreach (DataRow drInsert in drwidth)
                            {
                                DataRow drEmail = dtEmail.NewRow();


                                drEmail["PPO_NO"]                = dr["PPO_NO"].ToString();
                                drEmail["quality_code"]          = dr["Quality_code"].ToString();
                                drEmail["usage"]                 = dr["Usage"].ToString();
                                drEmail["gk_no"]                 = dr["Gk_no"].ToString();
                                drEmail["tech_user"]             = dr["Designer"].ToString();
                                drEmail["tech_Gauge"]            = dr["Gauge"].ToString();
                                drEmail["Quality_Gauge"]         = drInsert["gauge"].ToString();
                                drEmail["tech_Diameter"]         = dr["Diameter"].ToString();
                                drEmail["Quality_Diameter"]      = drInsert["diameter"].ToString();
                                drEmail["tech_Total_Needles"]    = dr["Total_Needles"].ToString();
                                drEmail["Quality_Total_Needles"] = drInsert["total_needles"].ToString();
                                drEmail["tech_width"]            = dr["Width"].ToString() + " " + dr["Max_width"].ToString();
                                drEmail["Quality_width"]         = drInsert["width"].ToString() + " " + drInsert["max_width"].ToString();
                                dtEmail.Rows.Add(drEmail);
                            }
                        }
                    }


                    if (dtEmail.Rows.Count == 0)
                    {
                        return("FAIL");
                    }

                    string           senderTo = GetEmailAddress();
                    string           title    = "针筒门幅不一致报表";
                    string           Content  = "针筒门幅不一致报表" + "</br>" + GetMailContent(dtEmail, emailList);
                    string           sqlStr   = @"INSERT INTO  SEND_EMAIL_TRANS (SEQ_NO,MAIL_FROM,MAIL_TO,MAIL_CC,MAIL_SUBJECT,REPORT_URL,MAIL_CONTENT,MAIL_ATTACH,CREATE_DATE)
                   VALUES (SEQ_SEND_EMAIL_TRANS.NEXTVAL,@SDC,@MT,@BV,@SUB,'',@Content,'',SYSDATE)";
                    CustomSqlSection css      = DataAccess.DefaultDB.CustomSql(sqlStr);
                    css.AddInputParameter("SDC", DbType.String, "*****@*****.**");
                    css.AddInputParameter("BV", DbType.String, "");
                    css.AddInputParameter("MT", DbType.String, senderTo);
                    css.AddInputParameter("SUB", DbType.String, title);
                    css.AddInputParameter("Content", DbType.String, Content);
                    int rt = css.ExecuteNonQuery();

                    if (rt > 0)
                    {
                        StringBuilder sqlInsert = new StringBuilder();
                        string        remark    = "";
                        foreach (DataRow dr in dtEmail.Rows)
                        {
                            remark = dr["quality_code"] + " " + dr["usage"].ToString() + " " + dr["gk_no"].ToString();
                            sqlInsert.Append("insert into PlanningDB.dbo.QUALITY_WidthCompare(Ppo_No,Remark,Create_date) values('" + dr["PPO_NO"].ToString() + "','" + remark + "',getdate())");
                        }
                        if (sqlInsert.ToString() != "")
                        {
                            CustomSqlSection execSQL = DataAccess.CreateSqlServerDatabase().CustomSql(sqlInsert.ToString());
                            execSQL.ExecuteNonQuery();
                            return("OK");
                        }
                    }
                }

                return("FAIL1");
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
コード例 #7
0
ファイル: Card.cs プロジェクト: Lance19931030/Card_Manager2.0
        /// <summary>
        /// 导出卡信息
        /// </summary>
        /// <param name="pageSize"></param>
        /// <param name="currPage"></param>
        /// <param name="where"></param>
        /// <returns></returns>
        public DataTable ExportCard(Int32 pageSize, Int32 currPage, IDictionary <String, String> where)
        {
            string sql      = @"SELECT d.BRAND_NAME AS '品牌',[SERVICE_PROVIDER] AS '运营商',[CARD_ICCID] AS 'ICCID',[CARD_NO] AS '卡号',b.AGENT_NAME AS '代理商',c.END_CUSTOMER_NAME AS '终端客户',
		                          CASE when a.[STATUS]=-1 THEN '违规封停'  when a.[STATUS]=1 THEN '已激活' ELSE '未激活' END AS '状态',CASE WHEN [IS_COMPLAINT]=1 THEN '已被投诉' ELSE '未投诉' END AS '是否被投诉',
                                 [COMPLAINT_DATE] AS '投诉时间',[REAL_NAME_PERSON] AS '实名人',[REAL_NAME_ID_CARD] AS '身份证',[DISTRIBUTION_DATE] AS '分配时间',a.[LAST_UPDATED_TIME] AS '修改时间'";
            string othersql = @" FROM [dbo].[TB_DATA_CARD] a
                           left join TB_DATA_AGENT b on a.AGENT_ID = b.AGENT_ID
                           left join TB_DATA_END_CUSTOMER c on a.[END_CUSTOMER_ID]=c.[END_CUSTOMER_ID]
                           left join TB_DATA_BRAND d on a.[BRAND_ID]=d.[BRAND_ID]
                           where 1=1";

            if (where.ContainsKey("CARD_NO"))
            {
                othersql = othersql + String.Format(" AND CARD_NO like @CARD_NO");
            }
            if (where.ContainsKey("BEGIN_NUM"))
            {
                othersql = othersql + String.Format(" AND Convert(int, RIGHT(CARD_ICCID,6))>=@BEGIN_NUM");
            }
            if (where.ContainsKey("END_NUM"))
            {
                othersql = othersql + String.Format(" AND Convert(int, RIGHT(CARD_ICCID,6))<=@END_NUM");
            }
            if (where.ContainsKey("AGENT_ID"))
            {
                othersql = othersql + String.Format(" AND a.AGENT_ID=@AGENT_ID");
            }
            if (where.ContainsKey("END_CUSTOMER_ID"))
            {
                othersql = othersql + String.Format(" AND a.END_CUSTOMER_ID]=@END_CUSTOMER_ID");
            }
            if (where.ContainsKey("BRAND_ID"))
            {
                othersql = othersql + String.Format(" AND a.BRAND_ID=@BRAND_ID");
            }
            if (where.ContainsKey("COMPLAINT_BEGIN_DATE"))
            {
                othersql = othersql + String.Format(" AND a.COMPLAINT_DATE>=@COMPLAINT_BEGIN_DATE");
            }
            if (where.ContainsKey("COMPLAINT_END_DATE"))
            {
                othersql = othersql + String.Format(" AND a.COMPLAINT_DATE<=@COMPLAINT_END_DATE");
            }
            if (where.ContainsKey("UPDATED_BEGIN_DATE"))
            {
                othersql = othersql + String.Format(" AND a.LAST_UPDATED_TIME>=@UPDATED_BEGIN_DATE");
            }
            if (where.ContainsKey("UPDATED_END_DATE"))
            {
                othersql = othersql + String.Format(" AND a.LAST_UPDATED_TIME<=@UPDATED_END_DATE");
            }
            if (where.ContainsKey("STATUS"))
            {
                othersql = othersql + String.Format(" AND a.STATUS=@STATUS");
            }
            sql = sql + othersql;

            //设定排序条件
            sql = sql + String.Format(" ORDER BY {0} {1} ", "a.CREATED_TIME", "DESC");

            CustomSqlSection custom = Gateway.Default.FromCustomSql(sql);

            if (where.ContainsKey("CARD_NO"))
            {
                custom.AddInputParameter("AGENT_NAME", DbType.String, "%" + where["CARD_NO"] + "%");
            }
            if (where.ContainsKey("BEGIN_NUM"))
            {
                custom.AddInputParameter("BEGIN_NUM", DbType.Int32, where["BEGIN_NUM"]);
            }
            if (where.ContainsKey("END_NUM"))
            {
                custom.AddInputParameter("END_NUM", DbType.Int32, where["END_NUM"]);
            }
            if (where.ContainsKey("AGENT_ID"))
            {
                custom.AddInputParameter("AGENT_ID", DbType.String, where["AGENT_ID"]);
            }
            if (where.ContainsKey("END_CUSTOMER_ID"))
            {
                custom.AddInputParameter("END_CUSTOMER_ID", DbType.String, where["END_CUSTOMER_ID"]);
            }
            if (where.ContainsKey("BRAND_ID"))
            {
                custom.AddInputParameter("BRAND_ID", DbType.String, where["BRAND_ID"]);
            }
            if (where.ContainsKey("COMPLAINT_BEGIN_DATE"))
            {
                custom.AddInputParameter("COMPLAINT_BEGIN_DATE", DbType.String, where["COMPLAINT_BEGIN_DATE"]);
            }
            if (where.ContainsKey("COMPLAINT_END_DATE"))
            {
                custom.AddInputParameter("COMPLAINT_END_DATE", DbType.String, where["COMPLAINT_END_DATE"]);
            }
            if (where.ContainsKey("UPDATED_BEGIN_DATE"))
            {
                custom.AddInputParameter("UPDATED_BEGIN_DATE", DbType.String, where["UPDATED_BEGIN_DATE"]);
            }
            if (where.ContainsKey("UPDATED_END_DATE"))
            {
                custom.AddInputParameter("UPDATED_END_DATE", DbType.String, where["UPDATED_END_DATE"]);
            }
            if (where.ContainsKey("STATUS"))
            {
                custom.AddInputParameter("STATUS", DbType.String, where["STATUS"]);
            }
            try
            {
                return(custom.ToDataSet().Tables[0]);
            }
            catch (Exception ex)
            {
                Log.WriteLog(ex.Message);
                return(null);
            }
        }
コード例 #8
0
ファイル: Card.cs プロジェクト: Lance19931030/Card_Manager2.0
        /// <summary>
        /// 查询卡信息
        /// </summary>
        /// <param name="pageSize"></param>
        /// <param name="currPage"></param>
        /// <param name="where"></param>
        /// <returns></returns>
        public IDictionary <String, Object> QueryCard(Int32 pageSize, Int32 currPage, IDictionary <String, String> where)
        {
            DataTable dtPage    = null;
            Int32     totalRow  = 0;
            Int32     totalPage = 0;

            string sqlCount = @"select  count(1) totalrow  ";
            string sql      = @"SELECT [CARD_ID],a.[AGENT_ID],b.AGENT_NAME,a.[END_CUSTOMER_ID],c.END_CUSTOMER_NAME,a.[BRAND_ID],d.BRAND_NAME,
		                          [CARD_ICCID],[CARD_NO],[SERVICE_PROVIDER],a.[STATUS],[IS_COMPLAINT],[COMPLAINT_DATE],[COMPLAINT_URL],
                                  [REAL_NAME_PERSON],[REAL_NAME_ID_CARD],[DISTRIBUTION_DATE],a.[LAST_UPDATED_TIME]";
            string othersql = @" FROM [dbo].[TB_DATA_CARD] a
                           left join TB_DATA_AGENT b on a.AGENT_ID = b.AGENT_ID
                           left join TB_DATA_END_CUSTOMER c on a.[END_CUSTOMER_ID]=c.[END_CUSTOMER_ID]
                           left join TB_DATA_BRAND d on a.[BRAND_ID]=d.[BRAND_ID]
                           where 1=1";

            if (where.ContainsKey("CARD_NO"))
            {
                othersql = othersql + String.Format(" AND CARD_NO like @CARD_NO");
            }
            if (where.ContainsKey("BEGIN_NUM"))
            {
                othersql = othersql + String.Format(" AND Convert(int, RIGHT(CARD_ICCID,6))>=@BEGIN_NUM");
            }
            if (where.ContainsKey("END_NUM"))
            {
                othersql = othersql + String.Format(" AND Convert(int, RIGHT(CARD_ICCID,6))<=@END_NUM");
            }
            if (where.ContainsKey("AGENT_ID"))
            {
                othersql = othersql + String.Format(" AND a.AGENT_ID=@AGENT_ID");
            }
            if (where.ContainsKey("END_CUSTOMER_ID"))
            {
                othersql = othersql + String.Format(" AND a.END_CUSTOMER_ID]=@END_CUSTOMER_ID");
            }
            if (where.ContainsKey("BRAND_ID"))
            {
                othersql = othersql + String.Format(" AND a.BRAND_ID=@BRAND_ID");
            }
            if (where.ContainsKey("COMPLAINT_BEGIN_DATE"))
            {
                othersql = othersql + String.Format(" AND a.COMPLAINT_DATE>=@COMPLAINT_BEGIN_DATE");
            }
            if (where.ContainsKey("COMPLAINT_END_DATE"))
            {
                othersql = othersql + String.Format(" AND a.COMPLAINT_DATE<=@COMPLAINT_END_DATE");
            }
            if (where.ContainsKey("UPDATED_BEGIN_DATE"))
            {
                othersql = othersql + String.Format(" AND a.LAST_UPDATED_TIME>=@UPDATED_BEGIN_DATE");
            }
            if (where.ContainsKey("UPDATED_END_DATE"))
            {
                othersql = othersql + String.Format(" AND a.LAST_UPDATED_TIME<=@UPDATED_END_DATE");
            }
            if (where.ContainsKey("STATUS"))
            {
                othersql = othersql + String.Format(" AND a.STATUS=@STATUS");
            }
            sqlCount = sqlCount + othersql;
            sql      = sql + othersql;

            //设定排序条件
            sql = sql + String.Format(" ORDER BY {0} {1} ", "a.CREATED_TIME", "DESC");

            CustomSqlSection customCount = Gateway.Default.FromCustomSql(sqlCount);
            CustomSqlSection custom      = Gateway.Default.FromCustomSql(sql);

            if (where.ContainsKey("CARD_NO"))
            {
                customCount.AddInputParameter("AGENT_NAME", DbType.String, "%" + where["CARD_NO"] + "%");
                custom.AddInputParameter("AGENT_NAME", DbType.String, "%" + where["CARD_NO"] + "%");
            }
            if (where.ContainsKey("BEGIN_NUM"))
            {
                customCount.AddInputParameter("BEGIN_NUM", DbType.Int32, where["BEGIN_NUM"]);
                custom.AddInputParameter("BEGIN_NUM", DbType.Int32, where["BEGIN_NUM"]);
            }
            if (where.ContainsKey("END_NUM"))
            {
                customCount.AddInputParameter("END_NUM", DbType.Int32, where["END_NUM"]);
                custom.AddInputParameter("END_NUM", DbType.Int32, where["END_NUM"]);
            }
            if (where.ContainsKey("AGENT_ID"))
            {
                customCount.AddInputParameter("AGENT_ID", DbType.String, where["AGENT_ID"]);
                custom.AddInputParameter("AGENT_ID", DbType.String, where["AGENT_ID"]);
            }
            if (where.ContainsKey("END_CUSTOMER_ID"))
            {
                customCount.AddInputParameter("END_CUSTOMER_ID", DbType.String, where["END_CUSTOMER_ID"]);
                custom.AddInputParameter("END_CUSTOMER_ID", DbType.String, where["END_CUSTOMER_ID"]);
            }
            if (where.ContainsKey("BRAND_ID"))
            {
                customCount.AddInputParameter("BRAND_ID", DbType.String, where["BRAND_ID"]);
                custom.AddInputParameter("BRAND_ID", DbType.String, where["BRAND_ID"]);
            }
            if (where.ContainsKey("COMPLAINT_BEGIN_DATE"))
            {
                customCount.AddInputParameter("COMPLAINT_BEGIN_DATE", DbType.String, where["COMPLAINT_BEGIN_DATE"]);
                custom.AddInputParameter("COMPLAINT_BEGIN_DATE", DbType.String, where["COMPLAINT_BEGIN_DATE"]);
            }
            if (where.ContainsKey("COMPLAINT_END_DATE"))
            {
                customCount.AddInputParameter("COMPLAINT_END_DATE", DbType.String, where["COMPLAINT_END_DATE"]);
                custom.AddInputParameter("COMPLAINT_END_DATE", DbType.String, where["COMPLAINT_END_DATE"]);
            }
            if (where.ContainsKey("UPDATED_BEGIN_DATE"))
            {
                customCount.AddInputParameter("UPDATED_BEGIN_DATE", DbType.String, where["UPDATED_BEGIN_DATE"]);
                custom.AddInputParameter("UPDATED_BEGIN_DATE", DbType.String, where["UPDATED_BEGIN_DATE"]);
            }
            if (where.ContainsKey("UPDATED_END_DATE"))
            {
                customCount.AddInputParameter("UPDATED_END_DATE", DbType.String, where["UPDATED_END_DATE"]);
                custom.AddInputParameter("UPDATED_END_DATE", DbType.String, where["UPDATED_END_DATE"]);
            }
            if (where.ContainsKey("STATUS"))
            {
                customCount.AddInputParameter("STATUS", DbType.String, where["STATUS"]);
                custom.AddInputParameter("STATUS", DbType.String, where["STATUS"]);
            }
            try
            {
                totalRow  = Convert.ToInt32(customCount.ToDataSet().Tables[0].Rows[0]["totalrow"]);
                totalPage = Convert.ToInt32(Math.Ceiling(totalRow * 1.0 / pageSize));
                totalPage = totalPage == 0 ? 1 : totalPage;

                if (totalPage < currPage)
                {
                    currPage = totalPage;
                }

                dtPage = custom.ToDataTable(pageSize, currPage);
            }
            catch (Exception ex)
            {
                Log.WriteLog(ex.Message);
                return(null);
            }

            Dictionary <String, Object> dic = new Dictionary <String, Object>();

            dic.Add("table", dtPage);
            dic.Add("totalRow", totalRow);
            dic.Add("totalPage", totalPage);
            return(dic);
        }
コード例 #9
0
        public string GetRishByQC(string qc)
        {
            try
            {
                if (qc == "")
                {
                    return("");
                }
                string[] array = qc.Split(',');

                string val = string.Empty;
                foreach (string str in array)
                {
                    if (str != "")
                    {
                        val += ",'" + str + "'";
                    }
                }
                if (qc == "")
                {
                    return("");
                }
                qc = val.Substring(1);
                if (qc == "")
                {
                    return("");
                }
                CustomSqlSection css = DataAccess.DefaultDB.CustomSql(" select nvl(riskrade,'')  from QCMAININFO where quality_code in(" + qc + ")  ");
                DataSet          ds  = css.ToDataSet();
                DataTable        dt  = ds.Tables[0];

                List <string> listGrade = new List <string>();
                foreach (DataRow dr in dt.Rows)
                {
                    qc = "," + dr[0].ToString();

                    if (dr[0].ToString() == "")
                    {
                        listGrade.Add("@");
                    }
                    else
                    {
                        listGrade.Add(dr[0].ToString());
                    }
                }
                var    nameIndex = 0;
                string grade     = "";
                for (int j = 0; j < listGrade.Count; j++)
                {
                    try
                    {
                        char c = Convert.ToChar(listGrade[j]);
                        char d = Convert.ToChar(listGrade[nameIndex]);
                        if ((int)c > (int)d)
                        {
                            nameIndex = j;
                        }
                    }
                    catch
                    {
                    }
                }
                grade = listGrade[nameIndex];
                if (grade == "@")
                {
                    grade = "";
                }

                return(grade);
            }
            catch
            {
                return("");
            }
        }
コード例 #10
0
ファイル: export.aspx.cs プロジェクト: 80880655/Esign
        public static DataTable DataTable()
        {
            string           connString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
            OracleConnection con        = new OracleConnection(connString);

            con.Open();
            string cmd = "SELECT    * " +
                         " FROM (SELECT ROWNUM as Items, E.* " +
                         "  FROM (SELECT DISTINCT A.* " +
                         "  FROM QCMainInfo A " +
                         " LEFT JOIN QCConstructionDtl B " +
                         "  ON A.Quality_Code = B.Quality_Code " +
                         "  LEFT JOIN QCFinishDtl C " +
                         "  ON A.Quality_COde = C.Quality_Code " +
                         " LEFT JOIN QCCustomerLibrary D " +
                         "  ON D.Quality_Code = A.Quality_Code " +
                         " LEFT JOIN QCCustomerLibrary F " +
                         "    ON F.Quality_Code=A.Quality_Code " +
                         "  where 1=1   " + a + "  order by A.Quality_Code asc ) E) ";

            using (OracleDataAdapter oleAdper = new OracleDataAdapter(cmd, con))
            {
                DataTable result = new DataTable("table");
                oleAdper.Fill(result);
                if (result.Rows.Count >= 100)
                {
                    string cmds = @"
                       select  
                        distinct 
                        A.quality_code,A.status, A.replace_by, A.repeat, 

                        L.ApprovedFromSPPO,
                        L.ApprovedFromSPPO_Usage,


                        to_char(S.descriptions) as construction ,
                        to_char(K.finishing_name) as Finishing,A.pattern, (N.DESCRIPTION) as DYE_METHOD , A.bf_gmmm,
                        A.af_gmmm, A.shrinkage, A.shrinkage_testing_method, 
                        A.gmt_washing,to_char(J.customer_quality_id) as customer_quality_id,
                        to_char(H.AvailableWidth) as AvailableWidth,
                        A.remark,to_char(I.YarnInfo) as YarnInfo,A.layout, A.yarn_length, A.tapping_type ,(A.special_type ) as Heavy_Flat_Knit,
                        to_char(J.mill_comments) as mill_comments,A.measurement, A.sourcing, A.create_date, A.material_group,
                        A.analysis_no, A.ref_quality_code, A.creator, A.approve_date, A.approver, 
                        to_char(J.buyer_id) as buyer_id, to_char(J.brand) as Branks,
                        A.gk_no, A.qc_ref_ppo, A.qc_ref_gp, A.hf_ref_ppo, A.hf_ref_gp,M.customercomment
                        from QCMainInfo  A 
                        left join QCConstructionDtl B on A.Quality_Code = B.Quality_Code  
                        left join QCFinishDtl C on  A.Quality_COde = C.Quality_Code
                        left join QCCustomerLibrary D on  A.Quality_Code = D.Quality_Code
                        left join QCCustomerLibrary F on  A.Quality_Code = F.Quality_Code

   left join ( 
                         select * from ( select  Quality_Code , wm_concat(to_char(description)) as  descriptions   from   QCConstructionDtl   G 
                        left join  Pbknitconstruction S on S.construction=G.construction                     
                        group by Quality_Code )) S on A.Quality_Code=S.Quality_Code

                       -- left join QCConstructionDtl G on  A.Quality_Code = G.Quality_Code
                       -- left join  Pbknitconstruction M on M.construction=G.construction
                        left join PBKNITDYEMETHOD N on A.DYE_METHOD =N.DYE_METHOD

                        left join
                        (select * from (select quality_code, (wmsys.wm_concat(''||gauge||'G'||diameter||'Inch/'||total_needles||'N/'||width||'-'||max_width||'\'  )) as  AvailableWidth
                        from qcavailablewidth  where 1=1 group by quality_code) ) H 
                        on A.Quality_Code = H.Quality_Code
                        left join 
                        (select * from ( select quality_code,( wmsys.wm_concat( ''||yarn_count||'X'||threads||''||b.DESCRIPTION||''||yarn_ratio||'% '||yarn_component||'' ))as YarnInfo from qcyarndtl a left join PBKNITYARNTYPE b on a.YARN_TYPE=b.YARN_TYPE 
                        where 1=1 group by quality_code) ) I
                        on A.Quality_Code = I.Quality_Code
                        left join 
                        (select * from (select quality_code , (wmsys.wm_concat(buyer_id)) as buyer_id  ,  (wmsys.wm_concat(brand)) as brand,
                        (wmsys.wm_concat(customer_quality_id)) as customer_quality_id,(wmsys.wm_concat(mill_comments) ) as mill_comments  from QCCustomerLibrary  where 1=1 group by quality_code)) J
                        on A.Quality_Code=j.Quality_Code
                        left join 
                        (select * from (select quality_code, (wmsys.wm_concat(z.finishing_name )) as finishing_name 
                        from QCFinishDtl y,  pbknitfinish Z
                        where  y.finishing_code= z.finishing_code   group by quality_code)) K
                        on A.Quality_Code = K.Quality_Code
                        left join 
                        (

 select   quality_code,

        ApprovedFromSPPO,ApprovedFromSPPO_Usage  

from 
     (
    
    --modify:gaofeng 2021/01/18  <2021-0001 QC System Enhancement from sales>  --begin

    --select  ROW_NUMBER() OVER(PARTITION BY quality_code ORDER BY  approve_date desc) rn,
     --quality_code, ApprovedFromSPPO from (SELECT distinct qm.quality_code,( pi.ppo_no|| '('||pi.FABRIC_TYPE_CD ||')' ) as ApprovedFromSPPO ,QCC.approve_date
     --FROM ppo_hd ph,gen_customer c,ppo_qcmaininfo qc, ppo_item pi, fab_combo fc, ppo_qccomment qcc,ppo_item_combo pic,QCMainInfo qm  
     --WHERE ph.ppo_no=pi.ppo_no and  fc.fab_combo_id = qcc.fab_combo_id and qc.ppo_item_id=pi.ppo_item_id  
     --and pi.ppo_item_id=pic.ppo_item_id and pi.quality_code=qm.quality_code and  pic.fab_combo_id=fc.fab_combo_id   
     --and qc.ppo_qc_id=qcc.ppo_qc_id and ph.customer_cd=c.customer_cd  and QCC.STATUS='Approved' )s ) where rn=1 


    select  ROW_NUMBER() OVER(PARTITION BY quality_code ORDER BY  approve_date desc) rn,
     quality_code, 
        ApprovedFromSPPO,ApprovedFromSPPO_Usage 

    from (

        SELECT distinct qm.quality_code,
        --( pi.ppo_no|| '('||pi.FABRIC_TYPE_CD ||')' ) as ApprovedFromSPPO ,
        pi.ppo_no as ApprovedFromSPPO,
        pi.FABRIC_TYPE_CD as ApprovedFromSPPO_Usage,

     QCC.approve_date
     FROM ppo_hd ph,gen_customer c,ppo_qcmaininfo qc, ppo_item pi, fab_combo fc, ppo_qccomment qcc,ppo_item_combo pic,QCMainInfo qm  
     WHERE ph.ppo_no=pi.ppo_no and  fc.fab_combo_id = qcc.fab_combo_id and qc.ppo_item_id=pi.ppo_item_id  
     and pi.ppo_item_id=pic.ppo_item_id and pi.quality_code=qm.quality_code and  pic.fab_combo_id=fc.fab_combo_id   
     and qc.ppo_qc_id=qcc.ppo_qc_id and ph.customer_cd=c.customer_cd  and QCC.STATUS='Approved' )s ) where rn=1 



    --modify:gaofeng 2021/01/18  <2021-0001 QC System Enhancement from sales>  --end


) L

on A.Quality_Code = L.Quality_Code
                      
left join 
(  select * from 
 
 (SELECT     ROW_NUMBER() OVER(PARTITION BY pi.quality_code ORDER BY  qcc.customer_comment ) rn, (qcc.customer_comment ) as customercomment ,pi.quality_code
FROM ppo_hd ph,gen_customer c,ppo_qcmaininfo qc, ppo_item pi, fab_combo fc, ppo_qccomment qcc,ppo_item_combo pic,QCMainInfo qm
WHERE ph.ppo_no=pi.ppo_no and  fc.fab_combo_id = qcc.fab_combo_id and qc.ppo_item_id=pi.ppo_item_id and pi.ppo_item_id=pic.ppo_item_id and pi.quality_code=qm.quality_code and qm.Material_Group<>'Flat Knit Fabric' 
AND pic.fab_combo_id=fc.fab_combo_id and qc.ppo_qc_id=qcc.ppo_qc_id and ph.customer_cd=c.customer_cd
)s WHERE rn = 1  ) M

                          on A.Quality_Code = M.quality_code where 1=1
                            " + a + "  order by A.Quality_Code asc   ";


                    using (OracleDataAdapter oleAdpers = new OracleDataAdapter(cmds, con))
                    {
                        DataTable results = new DataTable("table");
                        oleAdpers.Fill(results);
                        results.Columns["QUALITY_CODE"].ColumnName     = "QualityCode";
                        results.Columns["STATUS"].ColumnName           = "Status";
                        results.Columns["REPLACE_BY"].ColumnName       = "ReplaceBy";
                        results.Columns["REPEAT"].ColumnName           = "Repeat";
                        results.Columns["APPROVEDFROMSPPO"].ColumnName = "ApprovedFromSPPO";


                        //modify:gaofeng 2021 / 01 / 18 < 2021 - 0001 QC System Enhancement from sales > --begin
                        results.Columns["APPROVEDFROMSPPO_USAGE"].ColumnName = "ApprovedFromSPPO_Usage";

                        //modify:gaofeng 2021 / 01 / 18 < 2021 - 0001 QC System Enhancement from sales > --end


                        results.Columns["CONSTRUCTION"].ColumnName = "Construction";
                        results.Columns["FINISHING"].ColumnName    = "Finishing";
                        results.Columns["PATTERN"].ColumnName      = "Pattern";
                        results.Columns["DYE_METHOD"].ColumnName   = "DyeMethod";
                        results.Columns["BF_GMMM"].ColumnName      = "BfGmmm";


                        results.Columns["AF_GMMM"].ColumnName   = "AfGmmm";
                        results.Columns["SHRINKAGE"].ColumnName = "Shrinkage";
                        results.Columns["SHRINKAGE_TESTING_METHOD"].ColumnName = "ShrinkageTestingMethod";
                        results.Columns["GMT_WASHING"].ColumnName         = "GmtWashing";
                        results.Columns["CUSTOMER_QUALITY_ID"].ColumnName = "CustomerQualityId";


                        results.Columns["AVAILABLEWIDTH"].ColumnName = "Available Width";
                        results.Columns["REMARK"].ColumnName         = "Available Width Remark";
                        results.Columns["YARNINFO"].ColumnName       = "YarnInfo";
                        results.Columns["LAYOUT"].ColumnName         = "Layout";
                        results.Columns["YARN_LENGTH"].ColumnName    = "YarnLength";

                        results.Columns["TAPPING_TYPE"].ColumnName    = "TappingType";
                        results.Columns["HEAVY_FLAT_KNIT"].ColumnName = "Heavy_Flat_Knit";
                        results.Columns["MILL_COMMENTS"].ColumnName   = "MillComments";
                        results.Columns["MEASUREMENT"].ColumnName     = "Measurement";
                        results.Columns["SOURCING"].ColumnName        = "Sourcing";


                        results.Columns["CREATE_DATE"].ColumnName      = "CreateDate";
                        results.Columns["MATERIAL_GROUP"].ColumnName   = "MaterialGroup";
                        results.Columns["ANALYSIS_NO"].ColumnName      = "AnalysisNo";
                        results.Columns["REF_QUALITY_CODE"].ColumnName = "RefQualityCode";
                        results.Columns["CREATOR"].ColumnName          = "Creator";


                        results.Columns["APPROVE_DATE"].ColumnName = "ApproveDate";
                        results.Columns["APPROVER"].ColumnName     = "Approver";
                        results.Columns["BUYER_ID"].ColumnName     = "BuyerIds";
                        results.Columns["BRANKS"].ColumnName       = "Branks";
                        results.Columns["GK_NO"].ColumnName        = "GK_NO";


                        results.Columns["QC_REF_PPO"].ColumnName      = "QC_Ref_PPO";
                        results.Columns["QC_REF_GP"].ColumnName       = "QC_Ref_GP";
                        results.Columns["HF_REF_PPO"].ColumnName      = "HF_Ref_PPO";
                        results.Columns["HF_REF_GP"].ColumnName       = "HF_Ref_GP";
                        results.Columns["CUSTOMERCOMMENT"].ColumnName = "CustomerComment";



                        return(results);
                    }
                }

                else
                {
                    DataTable dtt = new DataTable();
                    dtt.Columns.Add("QualityCode", typeof(string));
                    dtt.Columns.Add("Status", typeof(string));
                    dtt.Columns.Add("ReplaceBy", typeof(string));
                    dtt.Columns.Add("Repeat", typeof(string));
                    dtt.Columns.Add("ApprovedFromSPPO", typeof(string));

                    //modify:gaofeng 2021 / 01 / 18 < 2021 - 0001 QC System Enhancement from sales > --begin
                    dtt.Columns.Add("ApprovedFromSPPO_Usage", typeof(string));


                    //modify:gaofeng 2021 / 01 / 18 < 2021 - 0001 QC System Enhancement from sales > --end


                    dtt.Columns.Add("Construction", typeof(string));
                    dtt.Columns.Add("Finishing", typeof(string));
                    dtt.Columns.Add("Pattern", typeof(string));
                    dtt.Columns.Add("DyeMethod", typeof(string));
                    dtt.Columns.Add("BfGmmm", typeof(string));
                    dtt.Columns.Add("AfGmmm", typeof(string));
                    dtt.Columns.Add("Shrinkage", typeof(string));
                    dtt.Columns.Add("ShrinkageTestingMethod", typeof(string));
                    dtt.Columns.Add("GmtWashing", typeof(string)); http://localhost:58826/Service References/
                    dtt.Columns.Add("CustomerQualityId", typeof(string));
                    dtt.Columns.Add("Available Width", typeof(string));
                    dtt.Columns.Add("Available Width Remark", typeof(string));
                    dtt.Columns.Add("YarnInfo", typeof(string));
                    dtt.Columns.Add("Layout", typeof(string));
                    dtt.Columns.Add("YarnLength", typeof(string));
                    dtt.Columns.Add("TappingType", typeof(string));
                    dtt.Columns.Add("Heavy_Flat_Knit", typeof(string));
                    dtt.Columns.Add("MillComments", typeof(string));
                    dtt.Columns.Add("Measurement", typeof(string));
                    dtt.Columns.Add("Sourcing", typeof(string));
                    dtt.Columns.Add("CreateDate", typeof(string));
                    dtt.Columns.Add("MaterialGroup", typeof(string));
                    dtt.Columns.Add("AnalysisNo", typeof(string));
                    dtt.Columns.Add("RefQualityCode", typeof(string));
                    dtt.Columns.Add("Creator", typeof(string));
                    dtt.Columns.Add("ApproveDate", typeof(string));
                    dtt.Columns.Add("Approver", typeof(string));
                    dtt.Columns.Add("BuyserIds", typeof(string));
                    dtt.Columns.Add("Branks", typeof(string));
                    dtt.Columns.Add("GK_NO", typeof(string));
                    dtt.Columns.Add("QC_Ref_PPO", typeof(string));
                    dtt.Columns.Add("QC_Ref_GP", typeof(string));
                    dtt.Columns.Add("HF_Ref_PPO", typeof(string));
                    dtt.Columns.Add("HF_Ref_GP", typeof(string));
                    dtt.Columns.Add("CustomerComment", typeof(string));

                    string           connStrings = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
                    OracleConnection cons        = new OracleConnection(connStrings);
                    cons.Open();
                    string Sql1 =
                        "SELECT    * " +
                        " FROM (SELECT ROWNUM as Items, E.* " +
                        "  FROM (SELECT DISTINCT A.* " +
                        "  FROM QCMainInfo A " +
                        " LEFT JOIN QCConstructionDtl B " +
                        "  ON A.Quality_Code = B.Quality_Code " +
                        "  LEFT JOIN QCFinishDtl C " +
                        "  ON A.Quality_COde = C.Quality_Code " +
                        " LEFT JOIN QCCustomerLibrary D " +
                        "  ON D.Quality_Code = A.Quality_Code " +
                        " LEFT JOIN QCCustomerLibrary F " +
                        "    ON F.Quality_Code=A.Quality_Code " +
                        "  where  1=1  @Condition   order by A.Quality_Code asc ) E) ";
                    PbknityarntypeManager      yarnManager = new PbknityarntypeManager();//kingzhang for support 709786 对于YarnInfo字符串中的Yarn_Type信息替换为pbKnitYarnType.description
                    QcconstructiondtlManager   qcm         = new QcconstructiondtlManager();
                    QcfinishdtlManager         qsm         = new QcfinishdtlManager();
                    QccustomerlibraryManager   qlm         = new QccustomerlibraryManager();
                    QcconstructiondtlModelList qcml        = new QcconstructiondtlModelList();
                    QcfinishdtlModelList       qsml        = new QcfinishdtlModelList();
                    QccustomerlibraryModelList qclm        = new QccustomerlibraryModelList();
                    QcavailablewidthModelList  qsaw        = new QcavailablewidthModelList();
                    QcavailablewidthManager    qcam        = new QcavailablewidthManager();
                    QcyarndtlManager           qym         = new QcyarndtlManager();
                    QcyarndtlModelList         qyml        = new QcyarndtlModelList();
                    DataSet          ds;
                    CustomSqlSection css;
                    DataTable        dt;
                    QcmaininfoTable  table = new QcmaininfoTable();
                    Sql1 = Sql1.Replace("@Condition", a.ToString());

                    CustomSqlSection csql1 = DataAccess.DefaultDB.CustomSql(Sql1);
                    using (SafeDataReader sdr = new SafeDataReader(csql1.ToDataReader()))
                    {
                        while (sdr.Read())
                        {
                            QcmaininfoModel m = new QcmaininfoModel();

                            m.QualityCode = sdr.GetString(table.QualityCode);
                            qcml          = qcm.GetModelListOne(new QcconstructiondtlModel()
                            {
                                QualityCode = m.QualityCode
                            });
                            for (int i = 0; i < qcml.Count; i++)
                            {
                                m.Construction = m.Construction + qcml[i].Construction + ";";
                            }

                            qsml = qsm.GetModelListOne(new QcfinishdtlModel()
                            {
                                QualityCode = m.QualityCode
                            });
                            for (int i = 0; i < qsml.Count; i++)
                            {
                                m.Finishing = m.Finishing + qsml[i].FinishingCode + ";";
                            }
                            qclm = qlm.GetModelList(new QccustomerlibraryModel()
                            {
                                QualityCode = m.QualityCode
                            });
                            for (int i = 0; i < qclm.Count; i++)
                            {
                                m.CustomerQualityId = m.CustomerQualityId + qclm[i].CustomerQualityId + ";";
                                m.BuyserIds         = m.BuyserIds + qclm[i].BuyerId + ";";
                                m.Brank             = m.Brank + qclm[i].Brand + ";";
                                m.MillComments      = m.MillComments + qclm[i].MillComments + ";";
                            }
                            qsaw = qcam.GetModelList(new QcavailablewidthModel()
                            {
                                QualityCode = m.QualityCode
                            });
                            for (int i = 0; i < qsaw.Count; i++)
                            {
                                if (i != qsaw.Count - 1)
                                {
                                    m.AvaWidth = m.AvaWidth + string.Format("{0}G{1}Inch/{2}N/{3}-{4}\"", qsaw[i].Gauge, qsaw[i].Diameter, qsaw[i].TotalNeedles, qsaw[i].Width, qsaw[i].MaxWidth) + "--";
                                }
                                else
                                {
                                    m.AvaWidth = m.AvaWidth + string.Format("{0}G{1}Inch/{2}N/{3}-{4}\"", qsaw[i].Gauge, qsaw[i].Diameter, qsaw[i].TotalNeedles, qsaw[i].Width, qsaw[i].MaxWidth);
                                }
                            }
                            qyml = qym.GetModelList(new QcyarndtlModel()
                            {
                                QualityCode = m.QualityCode
                            });
                            for (int i = 0; i < qyml.Count; i++)
                            {
                                PbknityarntypeModelList yarnModel = yarnManager.GetModelList(new PbknityarntypeModel()
                                {
                                    YarnType = qyml[i].YarnType
                                });                                                                                                                     //kingzhang for support 709786 对于YarnInfo字符串中的Yarn_Type信息替换为pbKnitYarnType.description
                                if (i != qyml.Count - 1)
                                {
                                    m.YarnInfo = m.YarnInfo + string.Format("{0}X{1} {2} {3}% {4}", qyml[i].YarnCount, qyml[i].Threads, yarnModel.Count > 0 ? yarnModel[0].Description : qyml[i].YarnType, qyml[i].YarnRatio, qyml[i].YarnComponent) + "--";
                                }
                                else
                                {
                                    m.YarnInfo = m.YarnInfo + string.Format("{0}X{1} {2} {3}% {4}", qyml[i].YarnCount, qyml[i].Threads, yarnModel.Count > 0 ? yarnModel[0].Description : qyml[i].YarnType, qyml[i].YarnRatio, qyml[i].YarnComponent);
                                }
                            }



                            //modify:gaofeng 2021 / 01 / 18 < 2021 - 0001 QC System Enhancement from sales > --begin

                            css = DataAccess.DefaultDB.CustomSql(@"
                               select  ppo_no as PPO , FABRIC_TYPE_CD   
                                
                                from 
                                 (select  ROW_NUMBER() OVER(PARTITION BY quality_code ORDER BY  approve_date desc) rn,
                                 quality_code,ppo_no, FABRIC_TYPE_CD from (SELECT distinct qm.quality_code, pi.ppo_no ,pi.FABRIC_TYPE_CD  ,QCC.approve_date
                                 FROM ppo_hd ph,gen_customer c,ppo_qcmaininfo qc, ppo_item pi, fab_combo fc, ppo_qccomment qcc,ppo_item_combo pic,QCMainInfo qm  
                                 WHERE ph.ppo_no=pi.ppo_no and  fc.fab_combo_id = qcc.fab_combo_id and qc.ppo_item_id=pi.ppo_item_id  
                                 and pi.ppo_item_id=pic.ppo_item_id and pi.quality_code=qm.quality_code and  pic.fab_combo_id=fc.fab_combo_id   
                                 and qc.ppo_qc_id=qcc.ppo_qc_id and ph.customer_cd=c.customer_cd  and QCC.STATUS='Approved' )s ) where rn=1 and quality_code=@QC

                            ");



                            //modify:gaofeng 2021 / 01 / 18 < 2021 - 0001 QC System Enhancement from sales > --end


                            css.AddInputParameter("QC", DbType.String, m.QualityCode);
                            ds = css.ToDataSet();

                            dt = ds.Tables[0];
                            for (int i = 0; i < dt.Rows.Count; i++)
                            {
                                //m.ApprovedFromSPPO = m.ApprovedFromSPPO + dt.Rows[i]["PPO"].ToString() + "(" + dt.Rows[i]["FABRIC_TYPE_CD"].ToString() + ");";

                                //modify:gaofeng 2021 / 01 / 18 < 2021 - 0001 QC System Enhancement from sales > --begin
                                m.ApprovedFromSPPO = m.ApprovedFromSPPO + dt.Rows[i]["PPO"].ToString();

                                m.ApprovedFromSPPO_Usage = m.ApprovedFromSPPO_Usage + dt.Rows[i]["FABRIC_TYPE_CD"].ToString();
                            }
                            ;



                            //modify:gaofeng 2021 / 01 / 18 < 2021 - 0001 QC System Enhancement from sales > --end

                            m.CreateDate  = sdr.GetDateTime(table.CreateDate);
                            m.Creator     = sdr.GetString(table.Creator);
                            m.ApproveDate = sdr.GetDateTime(table.ApproveDate);
                            m.Approver    = sdr.GetString(table.Approver);
                            m.Status      = sdr.GetString(table.Status);
                            if (m.Status == "NEW")
                            {
                                m.Status = "New";
                            }
                            m.Sourcing               = sdr.GetString(table.Sourcing);
                            m.MaterialGroup          = sdr.GetString(table.MaterialGroup);
                            m.AnalysisNo             = sdr.GetString(table.AnalysisNo);
                            m.RefQualityCode         = sdr.GetString(table.RefQualityCode);
                            m.Pattern                = sdr.GetString(table.Pattern);
                            m.DyeMethod              = sdr.GetString(table.DyeMethod);
                            m.ReplaceBy              = sdr.GetString(table.ReplaceBy);
                            m.Repeat                 = sdr.GetString(table.REPEAT);
                            m.BfGmmm                 = sdr.GetInt32(table.BfGmmm);
                            m.AfGmmm                 = sdr.GetInt32(table.AfGmmm);
                            m.Shrinkage              = sdr.GetString(table.Shrinkage);
                            m.ShrinkageTestingMethod = sdr.GetString(table.ShrinkageTestingMethod);
                            m.GmtWashing             = sdr.GetString(table.GmtWashing);
                            m.Layout                 = sdr.GetString(table.Layout);
                            m.YarnLength             = sdr.GetString(table.YarnLength);
                            m.TappingType            = sdr.GetString(table.TappingType);
                            m.Measurement            = sdr.GetString(table.Measurement);
                            m.Remark                 = sdr.GetString(table.Remark);
                            m.SpecialType            = sdr.GetString(table.SpecialType);
                            m.LastUpdateTime         = sdr.GetDateTime(table.LastUpdateTime);
                            m.LastUpdateBy           = sdr.GetString(table.LastUpdateBy);

                            m.GK_NO           = sdr.GetString(table.GK_NO);
                            m.QC_Ref_PPO      = sdr.GetString(table.QC_Ref_PPO);
                            m.HF_Ref_PPO      = sdr.GetString(table.HF_Ref_PPO);
                            m.QC_Ref_GP       = sdr.GetString(table.QC_Ref_GP);
                            m.HF_Ref_GP       = sdr.GetString(table.HF_Ref_GP);
                            m.CustomerComment = GetCustomerComment(m.QualityCode);


                            dtt.Rows.Add(m.QualityCode, m.Status, m.ReplaceBy, m.Repeat,


                                         //modify:gaofeng 2021 / 01 / 18 < 2021 - 0001 QC System Enhancement from sales > --begin


                                         m.ApprovedFromSPPO,
                                         m.ApprovedFromSPPO_Usage,

                                         //modify:gaofeng 2021 / 01 / 18 < 2021 - 0001 QC System Enhancement from sales > --end


                                         m.Construction, m.Finishing, m.Pattern, m.DyeMethod, m.BfGmmm,
                                         m.AfGmmm, m.Shrinkage, m.ShrinkageTestingMethod, m.GmtWashing, m.CustomerQualityId,
                                         m.AvaWidth, m.Remark, m.YarnInfo, m.Layout, m.YarnLength,
                                         m.TappingType, m.SpecialType, m.MillComments, m.Measurement, m.Sourcing,
                                         m.CreateDate, m.MaterialGroup, m.AnalysisNo, m.RefQualityCode, m.Creator,
                                         m.ApproveDate, m.Approver, m.BuyserIds, m.Brank, m.GK_NO,
                                         m.QC_Ref_PPO, m.QC_Ref_GP, m.HF_Ref_PPO, m.HF_Ref_GP, m.CustomerComment
                                         );
                        }
                    }
                    return(dtt);
                }
            }
        }