示例#1
0
        public string UpWorkEmp(int MainID, string WorkingName, int EmpID)
        {
            string aaa = string.Empty;

            Hownet.BLL.Working bllW = new Working();

            DataTable dtW = bllW.GetList("(Name='" + WorkingName + "')").Tables[0];

            if (dtW.Rows.Count > 0)
            {
                DataTable dt = dal.GetList("(MainID=" + MainID + ") And (WorkingID=" + dtW.Rows[0]["ID"] + ")").Tables[0];
                if (dt.Rows.Count == 1)
                {
                    Hownet.Model.WorkTicketInfo modWTI = GetModel(Convert.ToInt32(dt.Rows[0]["ID"]));
                    modWTI.EmployeeID = EmpID;
                    modWTI.DateTime   = DateTime.Now;
                    Update(modWTI);

                    Hownet.BLL.WorkTicket      bllWT  = new WorkTicket();
                    Hownet.BLL.ProductTaskMain bllPTM = new ProductTaskMain();

                    Hownet.Model.WorkTicket      modWT  = bllWT.GetModel(modWTI.MainID);
                    Hownet.Model.ProductTaskMain modPTM = bllPTM.GetModel(modWT.TaskID);
                    Hownet.BLL.PayInfo           bllPI  = new PayInfo();
                    Hownet.Model.PayInfo         modPI  = new Hownet.Model.PayInfo();
                    modPI.A                = 3;
                    modPI.Amount           = modWTI.Amount;
                    modPI.BoxNum           = modWT.BoxNum;
                    modPI.BreakID          = 1;
                    modPI.ColorID          = modWT.ColorID;
                    modPI.DateTime         = DateTime.Now;
                    modPI.EmployeeID       = EmpID;
                    modPI.ID               = 0;
                    modPI.IsDay            = false;
                    modPI.IsSum            = false;
                    modPI.MaterielID       = modPTM.MaterielID;
                    modPI.OderNum          = modPTM.DateTime.ToString("yyyyMMdd") + modPTM.Num.ToString().PadLeft(3, '0');
                    modPI.Price            = 0;
                    modPI.ProductWorkingID = modWTI.PWorkingInfoID;
                    modPI.SizeID           = modWT.SizeID;
                    modPI.WorkingID        = modWTI.WorkingID;
                    modPI.WorkticketInfoID = modWTI.ID;
                    bllPI.Add(modPI);
                    aaa = DateTime.Now.ToString();
                }
            }
            return(aaa);
        }
示例#2
0
        public void InNoList(int MainID)
        {
            try
            {
                DataTable dt = new DataTable();
                if (MainID == 0)
                {
                    dt = dal.GetNoList().Tables[0];
                }
                else
                {
                    dt.Columns.Add("ID", typeof(int));
                    dt.Rows.Add(MainID);
                }
                if (dt.Rows.Count > 0)
                {
                    Hownet.BLL.Size              bllS   = new Size();
                    Hownet.BLL.ClothAmount       bllCA  = new ClothAmount();
                    Hownet.BLL.ProductTaskMain   bllPTM = new ProductTaskMain();
                    Hownet.BLL.Materiel          bllMat = new Materiel();
                    Hownet.BLL.MaterielList      bllML  = new MaterielList();
                    Hownet.Model.AmountInfo      modAI  = new Hownet.Model.AmountInfo();
                    Hownet.Model.ProductTaskMain modPTM = new Hownet.Model.ProductTaskMain();
                    Hownet.Model.MaterielList    modML  = new Hownet.Model.MaterielList();
                    DataTable dtCA   = new DataTable();
                    DataTable dtSize = bllS.GetAllList().Tables[0];
                    DataTable dtMat  = bllMat.GetList("(AttributeID=4)").Tables[0];
                    DataTable dtTem  = new DataTable();
                    int[]     li     = new int[15];
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        modPTM = bllPTM.GetModel(Convert.ToInt32(dt.Rows[i]["ID"]));
                        if (GetList("(MainID=" + modPTM.ID + ") And (TableTypeID=1)").Tables[0].Rows.Count == 0)
                        {
                            dtCA = bllCA.GetList("(MainID=" + dt.Rows[i]["ID"] + ") order by ID").Tables[0];


                            //DelInfo(modPTM.ID, 1);
                            if (dtCA.Rows.Count > 0)
                            {
                                for (int j = 0; j < dtCA.Rows.Count; j++)
                                {
                                    if (Convert.ToInt32(dtCA.Rows[j]["ColorID"]) == 0)//颜色ID为0,查询出尺码ID
                                    {
                                        li = new int[15];
                                        for (int s = 1; s < 16; s++)
                                        {
                                            if (dtCA.Rows[j]["Size" + s.ToString()].ToString() != string.Empty)//尺码不为空,查询尺码ID
                                            {
                                                DataRow[] drSize = dtSize.Select("(Name='" + dtCA.Rows[j]["Size" + s.ToString()] + "')");
                                                if (drSize.Length > 0)
                                                {
                                                    li[s - 1] = Convert.ToInt32(drSize[0]["ID"]);
                                                }
                                                else
                                                {
                                                    li[s - 1] = 0;
                                                }
                                            }
                                            else
                                            {
                                                li[s - 1] = 0;
                                            }
                                        }
                                    }
                                    else
                                    {
                                        for (int m = 0; m < 15; m++)
                                        {
                                            if (li[m] > 0)
                                            {
                                                modAI              = new Hownet.Model.AmountInfo();
                                                modAI.A            = 1;
                                                modAI.Amount       = Convert.ToInt32(dtCA.Rows[j]["Size" + (m + 1).ToString()]);
                                                modML.ColorID      = modAI.ColorID = Convert.ToInt32(dtCA.Rows[j]["ColorID"]);
                                                modML.BrandID      = modPTM.BrandID;
                                                modML.ColorOneID   = modAI.ColorOneID = 0;
                                                modML.ColorTwoID   = modAI.ColorTwoID = 0;
                                                modML.MaterielID   = modPTM.MaterielID;
                                                modML.SizeID       = modAI.SizeID = li[m];
                                                modML.MeasureID    = Convert.ToInt32(dtMat.Select("(ID=" + modML.MaterielID + ")")[0]["MeasureID"]);
                                                modAI.ID           = 0;
                                                modAI.MainID       = Convert.ToInt32(dtCA.Rows[j]["MainID"]);
                                                modAI.MListID      = bllML.GetID(modML);
                                                modAI.NotAmount    = modAI.Amount;
                                                modAI.NotDepAmount = modAI.Amount;
                                                modAI.Remark       = string.Empty;
                                                modAI.TableTypeID  = 1;
                                                dtTem              = GetList("(MainID=" + modPTM.ID + ") And (TableTypeID=1) And (MListID=" + modAI.MListID + ")").Tables[0];
                                                if (dtTem.Rows.Count == 0)
                                                {
                                                    Add(modAI);
                                                }
                                                else
                                                {
                                                    Hownet.Model.AmountInfo modAAI = GetModel(Convert.ToInt32(dtTem.Rows[0]["ID"]));
                                                    modAAI.Amount       += modAI.Amount;
                                                    modAAI.NotDepAmount += modAI.NotDepAmount;
                                                    modAAI.NotAmount    += modAI.NotAmount;
                                                    Update(modAAI);
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }
示例#3
0
        public void Save(byte[] bb, int ProductWorkID, int TaskID)
        {
            DataTable Main = Hownet.BLL.BaseFile.ZipDt.Byte2Ds(bb).Tables[0];

            Main.Columns.Add("OneAmount", typeof(int));
            for (int i = 0; i < Main.Rows.Count; i++)
            {
                Main.Rows[i]["OneAmount"] = 0;
            }
            Hownet.BLL.ProductWorkingInfo bllPWI    = new ProductWorkingInfo();
            Hownet.BLL.WorkTicket         bllWT     = new WorkTicket();
            Hownet.BLL.WorkTicketInfo     bllWkInfo = new WorkTicketInfo();
            Hownet.Model.WorkTicket       modWK     = new Hownet.Model.WorkTicket();
            Hownet.Model.WorkTicketInfo   modWKI    = new Hownet.Model.WorkTicketInfo();
            Hownet.BLL.ProductTaskMain    bllPTM    = new ProductTaskMain();
            Hownet.Model.ProductTaskMain  modPTM    = bllPTM.GetModel(TaskID);
            Hownet.BLL.AmountInfo         bllPTI    = new AmountInfo();
            Hownet.BLL.MaterielList       bllML     = new MaterielList();
            Hownet.Model.MaterielList     modML     = new Hownet.Model.MaterielList();
            Hownet.BLL.Materiel           bllMat    = new Materiel();
            Hownet.Model.Materiel         modMat    = bllMat.GetModel(modPTM.MaterielID);
            DataTable dtInfo = bllWkInfo.GetListNoA("(ID=0)").Tables[0];

            //DataSet dsPt = bllPTI.GetBoxID(TaskID, 1);

            //DataTable dtPWIAmount = bllPWI.GetOneAmount(ProductWorkID).Tables[0];
            //int _PJAmount = 0, _WAmount = 0;
            ////dtTem.Columns.Add("ColorID", typeof(string));
            ////   dtTem.Columns.Add("SizeID", typeof(string));
            ////   dtTem.Columns.Add("Amount", typeof(string));
            ////   dtTem.Columns.Add("BoxNum", typeof(string));
            //int BoxNum = Main.Rows.Count + 1;
            //int z = 0;
            //int j = 0;
            //for (int g = 0; g < dtPWIAmount.Rows.Count; g++)
            //{
            //    #region 有预设数量分箱
            //    if (Convert.ToInt32(dtPWIAmount.Rows[g]["OneAmount"]) > 0)
            //    {
            //        _PJAmount = Convert.ToInt32(dtPWIAmount.Rows[g]["OneAmount"]);
            //        _WAmount = Convert.ToInt32(_PJAmount * 1.5);
            //        for (int r = 0; r < dsPt.Tables[0].Rows.Count; r++)
            //        {
            //            //某数量少于尾箱数量,直接取该数量
            //            if (int.Parse(dsPt.Tables[0].DefaultView[r]["Amount"].ToString()) < _WAmount)
            //            {
            //                Main.Rows.Add(dsPt.Tables[0].DefaultView[r]["ColorID"], dsPt.Tables[0].DefaultView[r]["SizeID"],
            //                    dsPt.Tables[0].DefaultView[r]["Amount"], BoxNum, _PJAmount);
            //                BoxNum++;
            //            }
            //            else
            //            {
            //                int x = int.Parse(dsPt.Tables[0].DefaultView[r]["Amount"].ToString()) % _PJAmount;
            //                if (x <= (_WAmount - _PJAmount))
            //                {
            //                    z = 3;
            //                }
            //                if (x == 0)
            //                {
            //                    z = 1;
            //                }
            //                if (x > (_WAmount - _PJAmount))
            //                {
            //                    z = 2;
            //                }
            //                switch (z)
            //                {
            //                    case 1:
            //                        {

            //                            for (j = BoxNum; j < (BoxNum + (int.Parse(dsPt.Tables[0].DefaultView[r]["Amount"].ToString()) / _PJAmount)); j++)
            //                            {

            //                                Main.Rows.Add(dsPt.Tables[0].DefaultView[r]["ColorID"], dsPt.Tables[0].DefaultView[r]["SizeID"], _PJAmount,
            //                                    j, _PJAmount);
            //                            }
            //                            BoxNum = j;
            //                            break;
            //                        }
            //                    case 2:
            //                        {

            //                            for (j = BoxNum; j < (BoxNum + int.Parse(dsPt.Tables[0].DefaultView[r]["Amount"].ToString()) / _PJAmount); j++)
            //                            {
            //                                Main.Rows.Add(dsPt.Tables[0].DefaultView[r]["ColorID"],
            //                                    dsPt.Tables[0].DefaultView[r]["SizeID"], _PJAmount, j, _PJAmount);
            //                            }

            //                            Main.Rows.Add(dsPt.Tables[0].DefaultView[r]["ColorID"], dsPt.Tables[0].DefaultView[r]["SizeID"], x, j, _PJAmount);
            //                            BoxNum = j + 1;
            //                            break;
            //                        }
            //                    case 3:
            //                        {

            //                            for (j = BoxNum; j < (BoxNum + int.Parse(dsPt.Tables[0].DefaultView[r]["Amount"].ToString()) / _PJAmount) - 1; j++)
            //                            {
            //                                //  A,ID,ColorID,ColorOneID,ColorTwoID,SizeID,Amount,BoxNum,TaskID,DepartmentID,P2DInfoID,EligibleAmount,InferiorAmount,P2DDepartmentID,MListID,BrandID
            //                                Main.Rows.Add(dsPt.Tables[0].DefaultView[r]["ColorID"], dsPt.Tables[0].DefaultView[r]["SizeID"], _PJAmount, j, _PJAmount);
            //                            }
            //                            Main.Rows.Add(dsPt.Tables[0].DefaultView[r]["ColorID"], dsPt.Tables[0].DefaultView[r]["SizeID"], (_PJAmount + x),
            //                                j, _PJAmount);
            //                            BoxNum = j + 1;
            //                            break;
            //                        }
            //                }
            //            }
            //        }
            //    }
            //    #endregion
            //    #region 各色各码总数分为一箱
            //    if (Convert.ToInt32(dtPWIAmount.Rows[g]["OneAmount"]) == -1)
            //    {
            //        for (int r = 0; r < dsPt.Tables[0].Rows.Count; r++)
            //        {
            //            Main.Rows.Add(dsPt.Tables[0].DefaultView[r]["ColorID"], dsPt.Tables[0].DefaultView[r]["SizeID"],
            //                dsPt.Tables[0].DefaultView[r]["Amount"], BoxNum, -1);
            //            BoxNum++;
            //        }
            //    }
            //    #endregion
            //}
            try
            {
                bool      t         = false;
                DataSet   dsPw      = bllPWI.GetBoxWork(ProductWorkID);
                DataTable dtSpecial = bllPWI.GetList("(MainID=" + ProductWorkID * -1 + ")").Tables[0];//查出特殊工序明细表
                DataRow[] ddrs;
                if (dtSpecial.Rows.Count == 0)
                {
                    #region 没有特殊工序
                    for (int r = 0; r < Main.Rows.Count; r++)
                    {
                        modML              = new Hownet.Model.MaterielList();
                        modML.ColorID      = modWK.ColorID = int.Parse(Main.DefaultView[r]["ColorID"].ToString());
                        modML.SizeID       = modWK.SizeID = int.Parse(Main.DefaultView[r]["SizeID"].ToString());
                        modML.ColorOneID   = modWK.ColorOneID = Convert.ToInt32(Main.DefaultView[r]["ColorOneID"]);
                        modML.ColorTwoID   = modWK.ColorTwoID = Convert.ToInt32(Main.DefaultView[r]["ColorTwoID"]);
                        modWK.BoxNum       = int.Parse(Main.DefaultView[r]["BoxNum"].ToString());
                        modWK.Amount       = int.Parse(Main.DefaultView[r]["Amount"].ToString());
                        modML.MaterielID   = modPTM.MaterielID;
                        modML.BrandID      = modPTM.BrandID;
                        modML.MeasureID    = modMat.MeasureID;
                        modWK.MListID      = bllML.GetID(modML);
                        modWK.TaskID       = TaskID;
                        modWK.DepartmentID = modPTM.DeparmentID;
                        modWK.OneAmount    = Convert.ToInt32(Main.DefaultView[r]["OneAmount"]);
                        int mainID = bllWT.Add(modWK);
                        ddrs = dsPw.Tables[0].Select("(OneAmount=" + modWK.OneAmount + ")");
                        for (int c = 0; c < ddrs.Length; c++)
                        {
                            modWKI.EmployeeID     = 0;
                            modWKI.PWorkingInfoID = int.Parse(ddrs[c]["ID"].ToString());
                            modWKI.WorkingID      = int.Parse(ddrs[c]["WorkingID"].ToString());
                            modWKI.MainID         = mainID;
                            modWKI.OutAmount      = modWKI.Amount = modWKI.NotAmount = modWK.Amount;
                            modWKI.TaskID         = TaskID;

                            //bllWkInfo.Add(modWKI);
                            dtInfo.Rows.Add(0, modWKI.MainID, modWKI.DateTime, modWKI.IsDel, modWKI.PWorkingInfoID, modWKI.EmployeeID, modWKI.BackID, modWKI.Amount, modWKI.NotAmount, modWKI.TaskID, modWKI.WorkingID, modWKI.OutAmount);
                        }
                    }
                }
                #endregion
                #region 特殊工序
                else
                {
                    DataRow[] drs;
                    for (int r = 0; r < Main.Rows.Count; r++)
                    {
                        modML              = new Hownet.Model.MaterielList();
                        modML.ColorID      = modWK.ColorID = int.Parse(Main.DefaultView[r]["ColorID"].ToString());
                        modML.SizeID       = modWK.SizeID = int.Parse(Main.DefaultView[r]["SizeID"].ToString());
                        modML.ColorOneID   = modWK.ColorOneID = Convert.ToInt32(Main.DefaultView[r]["ColorOneID"]);
                        modML.ColorTwoID   = modWK.ColorTwoID = Convert.ToInt32(Main.DefaultView[r]["ColorTwoID"]);
                        modWK.BoxNum       = int.Parse(Main.DefaultView[r]["BoxNum"].ToString());
                        modWK.Amount       = int.Parse(Main.DefaultView[r]["Amount"].ToString());
                        modML.MaterielID   = modPTM.MaterielID;
                        modML.BrandID      = modPTM.BrandID;
                        modML.MeasureID    = modMat.MeasureID;
                        modWK.MListID      = bllML.GetID(modML);
                        modWK.TaskID       = TaskID;
                        modWK.DepartmentID = modPTM.DeparmentID;
                        modWK.OneAmount    = Convert.ToInt32(Main.DefaultView[r]["OneAmount"]);
                        int mainID = bllWT.Add(modWK);
                        for (int c = 0; c < dsPw.Tables[0].Rows.Count; c++)
                        {
                            t = false;
                            modWKI.EmployeeID = 0;
                            int w = int.Parse(dsPw.Tables[0].DefaultView[c]["WorkingID"].ToString());
                            modWKI.WorkingID      = w;
                            modWKI.PWorkingInfoID = int.Parse(dsPw.Tables[0].DefaultView[c]["ID"].ToString());
                            if ((bool.Parse(dsPw.Tables[0].DefaultView[c]["IsSpecial"].ToString())))//判断某道工序是否是特殊工序
                            {
                                //有特定客户、特定尺码、特定颜色的特殊工序
                                drs = dtSpecial.Select("(SpecialWork=" + w + ") and (CompanyID=" + modPTM.CompanyID + ") and (ColorID=" + Main.Rows[r]["ColorID"] + ") And (MaterielID=" + Main.Rows[r]["SizeID"] + ")");
                                if (drs.Length == 0)
                                {
                                    //有特定尺码、特定颜色的特殊工序
                                    drs = dtSpecial.Select("(SpecialWork=" + w + ") and (CompanyID=0) and (ColorID=" + Main.Rows[r]["ColorID"] + ") And (MaterielID=" + Main.Rows[r]["SizeID"] + ")");
                                    if (drs.Length == 0)
                                    {
                                        //有特定尺码、特定客户的特殊工序
                                        drs = dtSpecial.Select("(SpecialWork=" + w + ") and (CompanyID=" + modPTM.CompanyID + ") and (ColorID=0) And (MaterielID=" + Main.Rows[r]["SizeID"] + ")");
                                        if (drs.Length == 0)
                                        {
                                            //有特定客户、特定颜色的特殊工序
                                            drs = dtSpecial.Select("(SpecialWork=" + w + ") and (CompanyID=" + modPTM.CompanyID + ") and (ColorID=" + Main.Rows[r]["ColorID"] + ") And (MaterielID=0)");
                                            if (drs.Length == 0)
                                            {
                                                //只有特定颜色的特殊工序
                                                drs = dtSpecial.Select("(SpecialWork=" + w + ") and (MaterielID=0) And (CompanyID=0) and (ColorID=" + Main.Rows[r]["ColorID"] + ")");
                                                if (drs.Length == 0)
                                                {
                                                    //有只特定客户的特殊工序
                                                    drs = dtSpecial.Select("(SpecialWork=" + w + ") and (CompanyID=" + modPTM.CompanyID + ") and (ColorID=0) and (MaterielID=0)");
                                                    if (drs.Length == 0)
                                                    {
                                                        //有只特定尺码的特殊工序
                                                        drs = dtSpecial.Select("(SpecialWork=" + w + ") and (MaterielID=" + Main.Rows[r]["SizeID"] + ") and (ColorID=0) and (CompanyID=0)");
                                                        if (drs.Length == 0)
                                                        {
                                                            //不分颜色、客户的特殊工序
                                                            drs = dtSpecial.Select("(SpecialWork=" + w + ") and (CompanyID=0) and (ColorID=0)");
                                                            if (drs.Length == 0)
                                                            {
                                                                t = true;
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                                if (drs.Length > 0)
                                {
                                    modWKI.WorkingID      = int.Parse(drs[0]["WorkingID"].ToString());
                                    modWKI.PWorkingInfoID = int.Parse(drs[0]["ID"].ToString());
                                    if (modWKI.WorkingID == 0)
                                    {
                                        t = true;
                                    }
                                }
                            }
                            modWKI.MainID    = mainID;
                            modWKI.OutAmount = modWKI.Amount = modWKI.NotAmount = modWK.Amount;
                            modWKI.TaskID    = TaskID;
                            if (!t)
                            {
                                //bllWkInfo.Add(modWKI);//有特殊工序的普通工序,则添加记录,否则不添加
                                dtInfo.Rows.Add(0, modWKI.MainID, modWKI.DateTime, modWKI.IsDel, modWKI.PWorkingInfoID, modWKI.EmployeeID, modWKI.BackID, modWKI.Amount, modWKI.NotAmount, modWKI.TaskID, modWKI.WorkingID, modWKI.OutAmount);
                            }
                        }
                    }
                }

                #endregion
                DAL.BaseFile.MakeBox.AddWorkTicketInfo(dtInfo);
            }
            catch (Exception ex)
            {
            }
        }