Exemple #1
0
        private void zupiduoche(string cj, String wl, string zyd, int dtmax, string type)
        {
            int k    = 0;
            int dyid = 0;

            DbEntityTable <QC_Sample_Veh> xks = new DbEntityTable <QC_Sample_Veh>();

            string zpwpcode = "";

            object result = DbContext.ExecuteScalar("select NextWPCode from QC_WpRoute where  WpCode='" + zyd + "'");

            if (result != null && result != DBNull.Value)
            {
                zpwpcode = Convert.ToString(result);             //NC到货单
            }
            if (type == "抽样")
            {
                xks.LoadDataBySql("select * from QC_Sample_Veh where SUPPLIERCODE=@SUPPLIERCODE and MATCODE=@MATCODE and WPCODE=@WPCODE and sample_mix_id=0 and sample_tbzd=1 and SAMPLESTATE=@SAMPLESTATE and WLLX='煤'", cj, wl, zyd, SampleState.开始组批);
            }

            if (type == "正常样")
            {
                xks.LoadDataByWhere("main.SUPPLIERCODE=@SUPPLIERCODE and main.MATCODE=@MATCODE and main.WPCODE=@WPCODE and main.sample_mix_id=0 and (main.sample_jy is null or main.sample_jy<>1) and main.sample_tbzd<>1  and main.SAMPLESTATE=@SAMPLESTATE and WLLX='煤'", cj, wl, zyd, SampleState.开始组批);
                // xks.LoadDataBySql("select * from QC_Sample_Veh where SUPPLIERCODE=@SUPPLIERCODE and MATCODE=@MATCODE and WPCODE=@WPCODE and sample_mix_id=0 and (sample_jy is null or sample_jy<>1) and sample_tbzd<>1  and SAMPLESTATE=@SAMPLESTATE ", cj, wl, zyd, SampleState.开始组批);
                xks.Sort((v1, v2) => v1.Pxsl.CompareTo(v2.Pxsl));
            }



            foreach (var xk in xks)
            {
                k = k + 1;
                if ((k + dtmax - 1) % dtmax == 0 && wl == xk.MatCode && cj == xk.SupplierCode && zyd == xk.WpCode)
                {
                    DbEntityTable <QC_Sample_Mix> dty = new DbEntityTable <QC_Sample_Mix>();
                    dty.LoadDataByWhere("main.SampleState=@SampleState and main.WpCode=@WpCode and main.WLLX='煤'", SampleState.初始状态, zpwpcode);
                    int cishu = 1;
                    if (dty.Count == 0)
                    {
                        label6.Text = "大桶不够了";
                        return;
                    }
                    foreach (var hy in dty)
                    {
                        //只取一个大桶
                        cishu = cishu + 1;
                        if (cishu == 2)
                        {
                            hy.MatPK        = xk.MatPK;                  //物料主键
                            hy.Mix_Time     = System.DateTime.Now;       //混样时间
                            hy.SupplierCode = xk.SupplierCode;           //供应商
                            hy.MatCode      = xk.MatCode;                //物料编码
                            hy.MixUser      = LocalInfo.Current.user.ID; //混样人
                            hy.Sample_TBZD  = xk.SAMPLE_TBZD;
                            hy.SampleType   = xk.SampleType;             //样品类型
                            hy.SampleState  = SampleState.开始组批;          //样品状态
                            hy.Save();
                            dyid = hy.Sample_Mix_ID;
                        }
                    }
                }
                if (dyid > 0)
                {
                    xk.Sample_Mix_ID = dyid;
                    xk.SampleState   = SampleState.组批完成;
                    xk.Save();
                    label6.Text = "组批完成";
                }
                DbEntityTable <QC_Sample_Mix> jhplans = new DbEntityTable <QC_Sample_Mix>();
                jhplans.LoadDataByWhere("main.sample_mix_id=@sample_mix_id", dyid);
                foreach (var hy in jhplans)
                {
                    object result1 = DbContext.ExecuteScalar("select count(*) as num from QC_Sample_Veh where sample_mix_id=@sample_mix_id", hy.Sample_Mix_ID);
                    if (result1 != null && result1 != DBNull.Value)
                    {
                        hy.MixPlanCount = Convert.ToInt32(result1);            //桶个数
                    }
                    hy.Save();
                }
            }
            isfangtong = false;
        }