Beispiel #1
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         if (ToolManager.CheckQueryString("productNumber") && ToolManager.CheckQueryString("version") && ToolManager.CheckQueryString("qty"))
         {
             string productNumber         = ToolManager.GetQueryString("productNumber");
             string version               = ToolManager.GetQueryString("version");
             string qty                   = ToolManager.GetQueryString("qty");
             string customerProductNumber = ToolManager.GetQueryString("customerProductNumber");
             string sql                   = string.Format(@"select Type  from Product  where ProductNumber ='{0}' and Version ='{1}'", productNumber, version);
             if (SqlHelper.GetScalar(sql).Equals("包"))
             {
                 rpList.DataSource = WorkOrderManager.GetQuLiaoDetailForBao(productNumber, qty, customerProductNumber);
                 rpList.DataBind();
                 show = "inline";
             }
             else
             {
                 show = "none";
                 rpList.DataSource = WorkOrderManager.GetQuLiaoDetail(productNumber, version, qty, customerProductNumber);
                 rpList.DataBind();
             }
             return;
         }
     }
 }
Beispiel #2
0
        /// <summary>
        /// 写入工序临时表
        /// </summary>
        private void SetGX()
        {
            string error  = string.Empty;
            string userId = ToolCode.Tool.GetUser().UserNumber;
            string ids    = ToolManager.GetParamsString("Ids");
            string sql    = string.Format(" delete  T_Process_Temp where userId='{0}'", userId);

            SqlHelper.ExecuteSql(sql, ref error);

            string tempSql = string.Format(@"select * from (
select t.销售订单号+'^'+t.产品编号+'^'+t.版本+'^'+t.交期+'^'+t.行号 as Id,t.* from ({0}
) t)h where h.Id+'^'+'{2}' in ({1})", WorkOrderManager.GetOrderNofinesfinishedDetail(), ids, userId);

            tempSql = string.Format(@" select two.*,twt.Qty as 实际生产数量 from ({0})two inner join
 T_WorkOrder_Temp twt on twt.Id =two.Id +'^'+'{1}'
 where  twt.User_id ='{1}' ", tempSql, userId);

            sql = string.Format(@"
insert into T_Process_Temp(Id,UserId ,Team ,OrdersNumber ,ProductNumber ,Version ,CustomerProductNumber ,NonDeliveryQty ,
 StockQty ,WorkInProgressQty ,NeedToProduceQty,LeadTime ,RowNumber ,WorkSnNumber,WorkSnName,SN,qty)
select a.Id ,'{1}','',a.销售订单号,a.产品编号,a.版本,a.客户产品编号,a.未交货数量,a.库存数量,a.在制品数量,
a.需要生产数量,a.交期,a.行号,a.工序编号,ws.WorkSnName,a.工序序号,a.实际生产数量 from (
select '{1}'+'-'+t.销售订单号+'-'+t.产品编号+'-'+t.客户产品编号+'-'+t.版本+'-'+t.行号+'-'+ISNULL ( pwsp.WorkSnNumber,'') as Id,
t.销售订单号,t.产品编号,t.版本,
t.未交货数量,t.库存数量,t.在制品数量,t.需要生产数量,t.交期,t.行号,t.客户产品编号,ISNULL ( pwsp.WorkSnNumber,'') as 工序编号 ,pwsp.RowNumber as 工序序号,t.实际生产数量 from (
{0}
 )t left join ProductWorkSnProperty pwsp on t.产品编号=pwsp .ProductNumber and t.版本=pwsp .Version
  where t.需要生产数量>0) a left join WorkSn ws on a.工序编号=ws.WorkSnNumber
order by a.销售订单号 asc,a.产品编号,a.版本,a.行号 asc ,a.工序序号 asc ", tempSql, userId);
            SqlHelper.ExecuteSql(sql, ref error);
        }
Beispiel #3
0
        private static void SetActualProductQty()
        {
            string userId  = ToolCode.Tool.GetUser().UserNumber;
            string tempSql = string.Format(@"
            select t.销售订单号+'^'+t.产品编号+'^'+t.版本+'^'+t.交期+'^'+t.行号+'^'+'{1}' as Id,
            t.销售订单号,t.产品编号,t.版本,
            case when t.未交货数量 <0 then 0 else t.未交货数量 end as 未交货数量 ,
            t.库存数量,t.在制品数量,t.需要生产数量,t.交期,t.行号,t.客户产品编号 from ({0})t where 1=1",
                                           WorkOrderManager.GetWorkOrderSql(), userId);

            List <string> sqls  = new List <string>();
            string        error = string.Empty;

            string sql = string.Format("delete T_WorkOrder_Temp where user_id='{0}'", userId);

            sqls.Add(sql);

            sql = string.Format(@"
            insert into T_WorkOrder_Temp(id,Qty,User_id)
            select t.Id,t.需要生产数量,'{1}' from ({0})t
            ", tempSql, userId);
            sqls.Add(sql);

            SqlHelper.BatchExecuteSql(sqls, ref error);
        }
        public static string GetProductProcessProductNumber()
        {
            string sqlproduct = string.Format(@" select distinct t.产品编号  from (select t.*,so.CustomerId ,p.Description from ({0})t   
        left join SaleOder so on t.销售订单号=so.OdersNumber left join Product p on t.产品编号=p.ProductNumber and t.版本=p.Version  ) t 
        left join Customer c on t.CustomerId=c.CustomerId left join ProductCustomerProperty pcp on t.CustomerId=pcp.CustomerId and 
        t.产品编号=pcp.ProductNumber and t.版本=pcp.Version", WorkOrderManager.GetOrderNofinesfinishedDetail());

            return(GetOption(sqlproduct, "产品编号", "产品编号"));
        }
Beispiel #5
0
        //添加小组临时表信息
        private void LoadXZ(bool isZZ, string productId)
        {
            string        userId = ToolCode.Tool.GetUser().UserNumber;
            List <string> sqls   = new List <string>();
            string        error  = string.Empty;
            string        sql    = string.Format(" delete T_XZWorkOrderTemp where UserId='{0}'", userId);

            sqls.Add(sql);
            sql = string.Format(@"select t.销售订单号+'^'+t.产品编号+'^'+t.版本+'^'+t.交期+'^'+t.行号+'^'+'{1}' as Id,
t.销售订单号,t.产品编号,t.版本,
t.未交货数量,t.库存数量,t.在制品数量,t.需要生产数量,t.交期,t.行号,t.客户产品编号 from ({0})t where t.需要生产数量>0", WorkOrderManager.GetOrderNofinesfinishedDetail(), userId);

            sql = string.Format(@"
    insert into T_XZWorkOrderTemp(Id,OrdersNumber,ProductNumber,Version
,NonDeliveryQty,StockQty,WorkInProgressQty,NeedToProduceQty,LeadTime,RowNumber,CustomerProductNumber,UserId)
select *,'{2}' from ({0})t where t.Id in  ({1})", sql, productId, userId);
            sqls.Add(sql);
            SqlHelper.BatchExecuteSql(sqls, ref error);
            Response.Write(LoadData(isZZ));
            Response.End();
            return;
        }
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            string               plannumber           = lblPlanNumber.Text;
            string               team                 = lblTeam.Text;
            string               ordersnumber         = lblOrdersNumber.Text;
            string               productnumber        = lblProductNumber.Text;
            string               version              = lblVersion.Text;
            string               rownumber            = lblRowNumber.Text;
            string               finishqty            = txtFinishQty.Text;
            int                  fiqty                = string.IsNullOrEmpty(finishqty) ? 0 : Convert.ToInt32(finishqty);
            string               takeline             = txtTakeLine.Text;
            string               remark               = txtRemark.Text;
            string               nextteam             = txtNextTeam.Text;
            string               sql                  = string.Empty;
            string               error                = string.Empty;
            List <string>        sqls                 = new List <string>();
            ProductPlanSubDetail productplansubdetail = new ProductPlanSubDetail();

            productplansubdetail.IsHalfProduct    = drpHalf.SelectedValue == "是" ? true : false;
            productplansubdetail.OrdersNumber     = ordersnumber;
            productplansubdetail.PlanNumber       = plannumber;
            productplansubdetail.ProductNumber    = productnumber;
            productplansubdetail.Version          = version;
            productplansubdetail.Team             = team;
            productplansubdetail.QLMareialNumbers = txtQL.Text;
            productplansubdetail.RowNumber        = rownumber;
            string userId  = ToolCode.Tool.GetUser().UserNumber;
            int    oldQty  = string.IsNullOrEmpty(txtOldQty.Text) ? 0 : Convert.ToInt32(txtOldQty.Text);
            int    oldFQty = string.IsNullOrEmpty(txtOldFQty.Text) ? 0 : Convert.ToInt32(txtOldFQty.Text);
            int    nowFQty = string.IsNullOrEmpty(txtFinishQty.Text) ? 0 : Convert.ToInt32(txtFinishQty.Text);

            if ((nowFQty + oldFQty) > oldQty)
            {
                lbSubmit.Text = "完成数量<=套数-已完成数量";
                return;
            }
            else
            {
                nowFQty += oldFQty;
            }
            yqty = nowFQty;

            //int fqty = allqty - yqty;

            //if (fiqty > fqty)
            //{
            //    lbSubmit.Text = "完成数量<=套数-已完成数量";
            //    return;
            //}
            //if (yqty == 0)
            //{
            //    yqty = fiqty;//如果完成数量为0,则已完成数量等入输入的数量
            //}
            //else
            //{
            //    yqty = yqty + fiqty;//已完成数量=完成数量+已经完成数量
            //}

            sql = string.Format(@"update ProductPlanSubDetail set FinishQty={0},TakeLine='{1}',Remark='{2}'
,NextTeam='{9}',UpdateTime='{10}' where PlanNumber='{3}' and Team='{4}' and OrdersNumber='{5}' and ProductNumber='{6}' and Version='{7}' and RowNumber='{8}'",
                                yqty, takeline, remark, plannumber, team, ordersnumber, productnumber, version, rownumber, nextteam, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
            sqls.Add(sql);
            productplansubdetail.Qty = txtFinishQty.Text.Trim().Equals("") ? "0" : txtFinishQty.Text.Trim();

            sqls.Add(WorkOrderManager.GetRecordSql(productplansubdetail));

            if (team == "检验")
            {
                List <string> temps = WorkOrderManager.GetGenerateProductWarehouseLogSql(productplansubdetail, userId);
                sqls.AddRange(temps);
            }
            else if (team != "检验" && drpHalf.SelectedValue == "是")
            {
                if (txtQL.Text == "")
                {
                    lbSubmit.Text = "缺料原材料编号不允许为空!";
                    return;
                }
            }

            bool result = SqlHelper.BatchExecuteSql(sqls, ref error);

            lbSubmit.Text = result == true ? "修改成功" : "修改失败!原因:" + error;
            if (result)
            {
                Tool.WriteLog(Tool.LogType.Operating, "编辑开工单分表明细" + lblPlanNumber.Text, "编辑成功");
                Response.Write(@" <script>
         window.close();
     </script>");
                Response.End();
                return;
            }
            else
            {
                Tool.WriteLog(Tool.LogType.Operating, "编辑开工单分表明细" + lblPlanNumber.Text, "编辑失败!原因:" + error);
                return;
            }
        }
 // Use this for initialization
 void Start()
 {
     workOrderManager = GameObject.Find("WorkOrderManager").GetComponent <WorkOrderManager> ();
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (ToolManager.CheckParams("IsDelete"))
                {
                    List <string> sqls       = new List <string>();
                    string        planNumber = ToolManager.GetParamsString("PlanNumber");
                    string        sql        = string.Format(@"delete ProductPlanSubDetail where PlanNumber='{0}' ", planNumber);
                    sqls.Add(sql);
                    sql = string.Format(@" delete ProductPlanSub where PlanNumber='{0}' ", planNumber);
                    sqls.Add(sql);
                    sql = string.Format(@"  delete ProductPlanDetail where PlanNumber='{0}' ", planNumber);
                    sqls.Add(sql);
                    sql = string.Format(@" delete ProductPlan where PlanNumber='{0}' ", planNumber);
                    sqls.Add(sql);
                    string error  = string.Empty;
                    string result = SqlHelper.BatchExecuteSql(sqls, ref error) ? "ok" : error;
                    Tool.WriteLog(Tool.LogType.Operating, "删除开工单" + planNumber, result);
                    Response.Write(result);
                    Response.End();
                    return;
                }
                //确认领料
                if (ToolManager.CheckQueryString("IsConfirmCollar"))
                {
                    string type = ToolManager.GetQueryString("IsConfirmCollar");
                    type = type.Equals("sc") ? "生产出库" : "包装出库";
                    string   error  = string.Empty;
                    string   result = string.Empty;
                    string   userId = ToolCode.Tool.GetUser().UserNumber;
                    string[] array  = ToolManager.GetQueryString("PlanNumbers").Split(',');

                    foreach (string str in array)
                    {
                        if (!WorkOrderManager.EnterKGD(str, userId, ref error, type))
                        {
                            result += error;
                        }
                    }
                    if (string.IsNullOrEmpty(result))
                    {
                        Response.Write("1");
                        Response.End();
                        return;
                    }
                    else
                    {
                        Response.Write(result);
                        Response.End();
                        return;
                    }
                }
                //查询

                if (ToolManager.CheckQueryString("pageIndex"))
                {
                    GetPageOperation("btnSearch", "EditProductPlan.aspx", "ProductPlanDetailList.aspx", "ProductPlanSubList.aspx");
                }
                //审核
                if (ToolManager.CheckQueryString("check"))
                {
                    string check  = ToolManager.GetQueryString("check");
                    string temp   = ProductPlan.check(ToolManager.GetQueryString("check"));
                    bool   result = temp == "1" ? true : false;
                    if (result)
                    {
                        Tool.WriteLog(Tool.LogType.Operating, "审核开工单信息" + ToolManager.ReplaceSingleQuotesToBlank(check), "审核成功");
                        Response.Write(temp);
                        Response.End();
                        return;
                    }
                    else
                    {
                        Tool.WriteLog(Tool.LogType.Operating, "审核开工单信息" + ToolManager.ReplaceSingleQuotesToBlank(check), "审核失败!原因" + temp);
                        Response.Write(temp);
                        Response.End();
                        return;
                    }
                }
            }
        }
Beispiel #9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                WorkOrderManager.RepairData();
                //设置工序开工班组
                if (ToolManager.CheckParams("GXPRdouctId"))
                {
                    string ids  = ToolManager.GetParamsString("GXPRdouctId");
                    string team = ToolManager.GetParamsString("Team");
                    SetGXTeam(ids, team);
                }
                //显示工序信息
                if (ToolManager.CheckParams("IsLoadGX"))
                {
                    SetGX();
                    Response.Write(LoadGX());
                    Response.End();
                    return;
                }
                //生成工序开工单
                if (ToolManager.CheckQueryString("IsGenerateGX"))
                {
                    string userId = ToolCode.Tool.GetUser().UserNumber;
                    WorkOrderManager.RepairData();
                    var result = WorkOrderManager.GenerateGX(userId);
                    WorkOrderManager.RepairData();

                    Response.Write(result);
                    Response.End();
                    return;
                }
                //生成小组开工单
                if (ToolManager.CheckQueryString("IsGenerateXZ"))
                {
                    string userId = ToolCode.Tool.GetUser().UserNumber;
                    WorkOrderManager.RepairData();
                    var result = WorkOrderManager.GenerateXZ(userId);
                    WorkOrderManager.RepairData();
                    Response.Write(result);
                    Response.End();
                    return;
                }
                //更新小组开工单班组【制造】
                if (ToolManager.CheckParams("SetType"))
                {
                    string setType = ToolManager.GetParamsString("SetType");
                    UpdateTem(setType);
                }
                //检验
                if (ToolManager.CheckParams("IsJY"))
                {
                    LoadXZ(false, ToolManager.GetParamsString("ProductId"));
                }
                //加载小组临时数据[制造]
                if (ToolManager.CheckParams("ProductId"))
                {
                    LoadXZ(true, ToolManager.GetParamsString("ProductId"));
                }
                //第四步【小组开工单,不拆分】
                if (ToolManager.CheckParams("Four"))
                {
                    Four();
                }
                //往工序临时表插入数据
                if (ToolManager.CheckQueryString("GetGX"))
                {
                    SetGX();
                }

                //加载未完成订单明细
                LoadPage();
            }
        }
        public static void GetPageOperation(string btnId)
        {
            string tempSql = WorkOrderManager.GetOrderNofinesfinishedDetail();
            string sql     = string.Format(@"   
select t.销售订单号,t.CustomerOrderNumber as 客户采购订单号,t.OdersType as 订单类型,
pcp.CustomerProductNumber as 客户产成品编号,t.产品编号,t.版本,t.订单数量,
t.已交货数量,
case when  t.未交货数量 <0 then 0 else t.未交货数量 end as 未交货数量 
,t.库存数量,t.在制品数量,

case when  t.未交货数量 <0 then 0-t.库存数量-isnull(noAddQty.qty,0)-producting.productQty 
else t.未交货数量-t.库存数量-isnull(noAddQty.qty,0)-producting.productQty end  as 需要生产数量, 
   t.交期,t.行号,t.Description as 产品描述,c.CustomerName as 客户名称 from (
 select t.*,so.CustomerId,so.OdersType ,p.Description,so . CustomerOrderNumber from ({0})t  
 left join SaleOder so on t.销售订单号=so.OdersNumber 
 left join Product p on t.产品编号=p.ProductNumber and t.版本=p.Version 
 ) t left join Customer c on t.CustomerId=c.CustomerId
left join ProductCustomerProperty pcp on t.CustomerId=pcp.CustomerId 
and t.产品编号=pcp.ProductNumber and 
t.版本=pcp.Version
left join ( select ProductNumber,Version,SUM(qty)  as qty from ProductWarehouseLogDetail where WarehouseNumber in (
 select WarehouseNumber from ProductWarehouseLog where ChangeDirection='入库' and ISNULL(CheckTime,'')=''
 ) group by ProductNumber,Version) 
as noAddQty on t.产品编号=noAddQty.ProductNumber and t.版本=noAddQty.Version
left join ( select  ProductNumber,Version   , 
case when 
sum(Qty)-SUM(StorageQty)<0 then 0 else sum(Qty)-SUM(StorageQty) end as productQty
 from  ProductPlanDetail
 group by ProductNumber,Version  ) as producting   on t.产品编号=producting.ProductNumber and t.版本=producting.Version
", tempSql);

            if (string.IsNullOrEmpty(tempSql))
            {
                string responseValue1 = "" + "^" + "" + "^" + "" + "^" + "0";
                HttpContext.Current.Response.Write(responseValue1);
                HttpContext.Current.Response.End();
                return;
            }
            int    pageCount     = 0; //总页数
            int    totalRecords  = 0; //总行数
            string error         = string.Empty;
            string text          = string.Empty;
            string tdTextTemp    = string.Empty;
            string pageIndex     = ToolManager.GetQueryString("pageIndex");
            string pageSize      = ToolManager.GetQueryString("pageSize");
            string sortName      = ToolManager.GetQueryString("sortName");
            string sortDirection = ToolManager.GetQueryString("sortDirection");
            string querySql      = ToolManager.GetQueryString("querySql");
            //querySql += querySql + "and t.需要生产数量>0";
            DataTable dt = SqlHelper.GetDataForPage(pageIndex, pageSize, sql + " " + querySql, string.Format(" order by {0} {1},产品编号 asc,版本 asc,交期 asc", sortName, sortDirection), ref totalRecords);

            int columCount = dt.Columns.Count;

            foreach (DataRow dr in dt.Rows)
            {
                tdTextTemp = "";
                for (int i = 0; i < columCount; i++)
                {
                    if (i == 0)
                    {
                        tdTextTemp += string.Format("<td style='display:none;'>{0}</td>", dr[i]);
                    }
                    else
                    {
                        if (dt.Columns[i].ColumnName.Equals("需要生产数量"))
                        {
                            int temp = 0;
                            if (dr[i] != null &&
                                dr[i] != DBNull.Value &&
                                Convert.ToInt32(dr[i]) > 0)
                            {
                                temp = Convert.ToInt32(dr[i]);
                            }
                            tdTextTemp += "<td>" + temp + "</td>";
                        }
                        else
                        {
                            tdTextTemp += string.Format("<td>{0}</td>", dr[i]);
                        }
                    }
                }
                text += string.Format(@"<tr>{1}</tr> ", dr[1], tdTextTemp);
            }
            string pageing       = ToolManager.PagerGetAjax("http://www.baidu.com", totalRecords, Convert.ToInt32(pageIndex), Convert.ToInt32(pageSize), ref pageCount);
            string responseValue = pageCount.ToString() + "^" + text + "^" + pageing + "^" + totalRecords;

            HttpContext.Current.Response.Write(responseValue);
            HttpContext.Current.Response.End();
        }
Beispiel #11
0
        private static void GetPage()
        {
            ToolManager.ZDJC();
            //SetActualProductQty();

            string error         = string.Empty;
            string tdTextTemp    = string.Empty;
            string text          = string.Empty;
            string temp          = string.Empty;
            string sortName      = ToolManager.GetQueryString("sortName");
            string sortDirection = ToolManager.GetQueryString("sortDirection");
            string condition     = ToolManager.GetQueryString("condition");
            string userId        = ToolCode.Tool.GetUser().UserNumber;

            string tempSql = string.Format(@"
                    select
                        t.销售订单号+'^'+t.产品编号+'^'+t.版本+'^'+t.交期+'^'+t.行号+'^'+'{1}' as Id,
                        t.销售订单号,
                        t.产品编号,
                        t.版本,
                        case when  t.未交货数量 <0 then 0 else t.未交货数量  end as 未交货数量 ,
                        t.库存数量,
                        t.在制品数量,
                        t.未入库数量,
                        t.送货单未确认数量,
                        t.需要生产数量,
                        t.交期,
                        t.行号,
                        t.客户产品编号
                    from ({0})t
                    where 1=1"
                                           , WorkOrderManager.GetWorkOrderSql(), userId);

            string sql = string.Format(@"
                select
                        t.Id,
                        t.销售订单号,
                        so.CustomerOrderNumber as 客户采购订单号,
                        so.OdersType as 订单类型,
                        t.客户产品编号,
                        t.产品编号,
                        t.版本,
                        t.未交货数量,
                        t.库存数量 as 实时库存数量,
                        isnull( t.在制品数量,0),
                        t.未入库数量,
                        t.送货单未确认数量,
                        t.需要生产数量,
                        twt.Qty as 实际生产数量,
                        t.交期,
                        t.行号
                from
                ({0}) t
                left join SaleOder so on so.OdersNumber=t.销售订单号
                left join T_WorkOrder_Temp twt on twt.Id=t.Id
                {3}
                and  t.需要生产数量>0
                order by {1} {2}"
                                       , tempSql, sortName, sortDirection, condition);
            int       columCount = 0;
            DataTable dt         = SqlHelper.GetTable(sql);

            if (dt != null)
            {
                columCount = dt.Columns.Count;
            }
            else
            {
                HttpContext.Current.Response.Write(text);
                HttpContext.Current.Response.End();
                return;
            }

            string color      = string.Empty;
            string titileName = string.Empty;

            foreach (DataRow dr in dt.Rows)
            {
                tdTextTemp = "";
                temp       = "";
                for (int i = 0; i < columCount; i++)
                {
                    //if (i == 7)
                    //{
                    //    string sqlGetQty = string.Format("select StockQty from  ProductStock where ProductNumber='{0}' and  Version='{1}'", dr["产品编号"], dr["版本"]);
                    //    object ob = SqlHelper.GetScalar(sqlGetQty);
                    //    ob = ob == null ? 0 : ob;
                    //    tdTextTemp += string.Format("<td>{0}</td><td>{1}</td>", ob, dr[i]);
                    //}
                    //else
                    //{
                    if (!dt.Columns[i].ColumnName.Equals("Id"))
                    {
                        if (dt.Columns[i].ColumnName.Equals("客户产品编号"))
                        {
                            color       = HasGX(dr["产品编号"].ToString(), dr["版本"].ToString()) ? "black" : "red";
                            titileName  = HasGX(dr["产品编号"].ToString(), dr["版本"].ToString()) ? "" : "title='该产品没有工序信息'";
                            tdTextTemp += string.Format("<td><span style='color:{1};' {2}>{0}</span> </td>", dr[i], color, titileName);
                        }
                        else if (dt.Columns[i].ColumnName.Equals("产品编号"))
                        {
                            color       = HasBOM(dr["产品编号"].ToString(), dr["版本"].ToString()) ? "black" : "red";
                            titileName  = HasBOM(dr["产品编号"].ToString(), dr["版本"].ToString()) ? "" : "title='该产品没有BOM信息'";
                            tdTextTemp += string.Format("<td><span style='color:{1};' {2}>{0}</span> </td>", dr[i], color, titileName);
                        }
                        else
                        {
                            tdTextTemp += string.Format("<td>{0}</td>", dr[i]);
                        }
                    }
                    //}
                }
                //bool isQueLiao = GetIsQueLiao(dr["产品编号"].ToString(), dr["版本"].ToString(), dr["实际生产数量"].ToString());
                //if (isQueLiao)
                //{
                //    tdTextTemp += string.Format("<td><a href='###' title='点击查看缺料明细' onclick=\"Check('{0}','{1}','{2}','{3}')\">是</a></td>", dr["产品编号"].ToString(), dr["版本"].ToString(), dr["实际生产数量"].ToString(), dr["客户产品编号"]);
                //}
                //else
                //{
                //    tdTextTemp += string.Format("<td>否</td>");
                //}

                tdTextTemp += string.Format(@" <td><a href='###' onclick=""EditQty('{0}','{1}')"">编辑</a> </td>", dr["Id"], dr["需要生产数量"]);

                temp  = string.Format(" <input type='checkbox' name='subBox' value='{0}'/> ", dr["Id"]);
                text += string.Format(@"<tr><td>{0}</td>{1}</tr>", temp, tdTextTemp);
            }
            HttpContext.Current.Response.Write(text);
            HttpContext.Current.Response.End();
            return;
        }