コード例 #1
0
        private void BindOrderList()
        {
            if (Session[ltlempid.Text] != null)
            {
                DataTable dt = (DataTable)Session[ltlempid.Text];
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    //检测订单是否重复
                    if (getck(dt.Rows[i]["C_ID"].ToString()))
                    {
                        Mod_TMO_ORDER mod = tmo_order.GetModel(dt.Rows[i]["C_ID"].ToString());
                        if (mod != null)
                        {
                            ltltype.Text     = mod.N_TYPE.ToString(); //发运类型
                            ltlcon_no.Text   = mod.C_CON_NO;          //合同号
                            ltlcustname.Text = mod.C_CUST_NAME;       //客户

                            //引用线材自由项
                            DataTable dtroll = tmo_order.GetFyd_Roll_Prodcut_TWC(mod.C_MAT_CODE, mod.C_AREA).Tables[0];

                            if (dtroll.Rows.Count > 0)
                            {
                                #region               //可发运量/可发支数

                                decimal sumztwgt = 0; //在途总量
                                decimal sumztzs  = 0; //在途总支数
                                decimal sumkcwgt = 0; //库存总量
                                decimal sumkczs  = 0; //库存总支数
                                decimal kfwgt    = 0; //可发重量
                                decimal kfzs     = 0; //可发支数

                                Mod_TQB_CHECKSTATE modzl = tqb_checkstate.GetModel(mod.C_VDEF1);

                                DataTable dtztwgt = tmo_order.ZTWGT(mod.C_MAT_CODE, dtroll.Rows[0]["C_STD_CODE"].ToString(), mod.C_AREA, dtroll.Rows[0]["C_BZYQ"].ToString(), modzl.C_CHECKSTATE_NAME).Tables[0];
                                if (dtztwgt.Rows.Count > 0)
                                {
                                    sumztwgt = Convert.ToDecimal(dtztwgt.Compute("sum(N_FYWGT)", "true"));
                                    sumztzs  = Convert.ToDecimal(dtztwgt.Compute("sum(N_FYZS)", "true"));
                                }
                                DataTable dtkcwgt = tmo_order.KCWGT(mod.C_MAT_CODE, dtroll.Rows[0]["C_STD_CODE"].ToString(), mod.C_AREA, dtroll.Rows[0]["C_BZYQ"].ToString(), modzl.C_CHECKSTATE_NAME).Tables[0];
                                if (dtkcwgt.Rows.Count > 0)
                                {
                                    sumkcwgt = Convert.ToDecimal(dtkcwgt.Rows[0]["N_WGT"]);
                                    sumkczs  = Convert.ToDecimal(dtkcwgt.Rows[0]["jianshu"]);
                                }
                                kfwgt = sumkcwgt - sumztwgt;
                                kfzs  = sumkczs - sumztzs;
                                #endregion


                                dtOrder.Rows.Add(new object[] {
                                    dt.Rows[i]["C_ID"],
                                    mod.C_CON_NO,
                                    mod.C_STL_GRD,
                                    mod.C_SPEC,
                                    dtroll.Rows[0]["C_STD_CODE"].ToString(),
                                    dtroll.Rows[0]["C_ZYX1"].ToString(),
                                    dtroll.Rows[0]["C_ZYX2"].ToString(),
                                    dtroll.Rows[0]["C_BZYQ"].ToString(),
                                    mod.N_WGT,
                                    mod.C_VDEF1, //质量等级
                                    mod.C_AREA,  //区域
                                    mod.C_MAT_CODE,
                                    mod.C_MAT_NAME,
                                    mod.C_CUST_NAME,      //订货单位
                                    mod.C_RECEIPTCORPID,  //收货单位
                                    mod.C_RECEIPTAREAID,  //收货地区
                                    mod.C_RECEIVEADDRESS, //收货地址
                                    mod.N_TYPE,
                                    mod.C_CUST_NO,
                                    dt.Rows[i]["PKPLAN"], //日计划主键
                                    dt.Rows[i]["YLXWGT"], //已履行量
                                    dt.Rows[i]["DLXWGT"], //待履行量
                                    kfwgt.ToString(),     //可发运量
                                    kfzs.ToString()       //可发支数
                                });
                            }
                            else
                            {
                                #region               //可发运量/可发支数

                                decimal sumztwgt = 0; //在途总量
                                decimal sumztzs  = 0; //在途总支数
                                decimal sumkcwgt = 0; //库存总量
                                decimal sumkczs  = 0; //库存总支数
                                decimal kfwgt    = 0; //可发重量
                                decimal kfzs     = 0; //可发支数

                                Mod_TQB_CHECKSTATE modzl = tqb_checkstate.GetModel(mod.C_VDEF1);

                                DataTable dtztwgt = tmo_order.ZTWGT(mod.C_MAT_CODE, mod.C_STD_CODE, mod.C_AREA, mod.C_PACK, modzl.C_CHECKSTATE_NAME).Tables[0];
                                if (dtztwgt.Rows.Count > 0)
                                {
                                    sumztwgt = Convert.ToDecimal(dtztwgt.Compute("sum(N_FYWGT)", "true"));
                                    sumztzs  = Convert.ToDecimal(dtztwgt.Compute("sum(N_FYZS)", "true"));
                                }
                                DataTable dtkcwgt = tmo_order.KCWGT(mod.C_MAT_CODE, mod.C_STD_CODE, mod.C_AREA, mod.C_PACK, modzl.C_CHECKSTATE_NAME).Tables[0];
                                if (dtkcwgt.Rows.Count > 0)
                                {
                                    sumkcwgt = Convert.ToDecimal(dtkcwgt.Rows[0]["N_WGT"]);
                                    sumkczs  = Convert.ToDecimal(dtkcwgt.Rows[0]["jianshu"]);
                                }
                                kfwgt = sumkcwgt - sumztwgt;
                                kfzs  = sumkczs - sumztzs;
                                #endregion

                                dtOrder.Rows.Add(new object[] {
                                    dt.Rows[i]["C_ID"],
                                    mod.C_CON_NO,
                                    mod.C_STL_GRD,
                                    mod.C_SPEC,
                                    mod.C_STD_CODE,
                                    mod.C_FREE1,
                                    mod.C_FREE2,
                                    mod.C_PACK,
                                    mod.N_WGT,
                                    mod.C_VDEF1, //质量等级
                                    mod.C_AREA,  //区域
                                    mod.C_MAT_CODE,
                                    mod.C_MAT_NAME,
                                    mod.C_CUST_NAME,      //订货单位
                                    mod.C_RECEIPTCORPID,  //收货单位
                                    mod.C_RECEIPTAREAID,  //收货地区
                                    mod.C_RECEIVEADDRESS, //收货地址
                                    mod.N_TYPE,
                                    mod.C_CUST_NO,
                                    dt.Rows[i]["PKPLAN"], //日计划主键
                                    dt.Rows[i]["YLXWGT"], //已履行量
                                    dt.Rows[i]["DLXWGT"], //待履行量
                                    kfwgt.ToString(),     //可发运量
                                    kfzs.ToString()       //可发支数
                                });
                            }
                        }
                    }
                }
            }
            if (dtOrder.Rows.Count > 0)
            {
                rptList.DataSource = dtOrder;
                rptList.DataBind();
                Session[ltlempid.Text] = null;
            }
            else
            {
                rptList.DataSource = null;
                rptList.DataBind();
                txtcount.Value  = "";
                txtsumwgt.Value = "";

                Session[ltlempid.Text] = null;
            }
        }