Exemple #1
0
        //没用了
        public int InsertLabel(t_labels label, int createQty, int boxQty, int reelQty, int labelQty)
        {
            t_opencardpack opencardpack = openCardPackDao.FindOpencardpackByCode(label.code);

            if (opencardpack != null)
            {
                //还是要返回一个数量
                long oldNumber = execProcedureDao.ExecPrSaveSerialNumber(label.clientCode.ToUpper().Trim(), labelQty);
                label.typeCode = opencardpack.FProductNo;
                while (createQty > 0)
                {
                    label.qty          = reelQty;
                    label.serialNumber = oldNumber;
                    tLabelsDao.InsertLabel(label);
                    createQty = createQty - reelQty;
                }
                while (createQty > 0)
                {
                    label.qty = boxQty;
                    tLabelsDao.InsertLabel(label);
                    createQty = createQty - boxQty;
                }
            }
            return(0);
        }
Exemple #2
0
 public t_opencardpack FindOpencardpackByCode(string code)
 {
     using (ERP2008Entities erp2008 = new ERP2008Entities())
     {
         t_opencardpack card = new t_opencardpack();
         card =
             (from opencard in erp2008.t_opencardpack
              where opencard.Fbarcode == code
              select opencard).SingleOrDefault();
         return(card);
     }
 }
        public Entity.t_opencardpack FindOpencardpackByCode(Entity.t_opencardpack opencardpack)
        {
            t_opencardpack newOpencardpack = dao.FindOpencardpackByCode(opencardpack);

            if (newOpencardpack != null)
            {
                return(newOpencardpack);
            }
            else
            {
                return(null);
            }
        }
Exemple #4
0
 public Entity.t_opencardpack FindOpencardpackByCode(Entity.t_opencardpack opencardpack)
 {
     using (ERP2008Entities erp2008 = new ERP2008Entities())
     {
         t_opencardpack card = new t_opencardpack();
         card =
             (from opencard in erp2008.t_opencardpack
              //join b in erp2008.b_Inventory on opencard.FProductNo equals b.cInvCode
              //join sod in erp2008.SO_SODetails on opencard.cSOCode equals sod.cSOCode
              //join som in erp2008.SO_SOMain on opencard.cSOCode equals  som.cSOCode
              where opencard.Fbarcode == opencardpack.Fbarcode
              select opencard).SingleOrDefault();
         return(card);
     }
 }
Exemple #5
0
        /// <summary>
        ///  这里没事务保存会错的
        /// </summary>
        /// <param name="label"></param>
        /// <param name="createQty"></param>
        /// <param name="boxQty"></param>
        /// <param name="reelQty"></param>
        /// <param name="box"></param>
        /// <param name="reel"></param>
        /// <returns></returns>

        /* public int InsertLabel(t_labels label, int createQty, int boxQty, int reelQty, int box, int reel)
         * {
         *   int result = 0;
         *   t_opencardpack opencardpack = openCardPackDao.FindOpencardpackByCode(label.code);
         *   if (opencardpack != null)
         *   {
         *       //还是要返回一个数量
         *       //int oldNumber = execProcedureDao.ExecPrSaveSerialNumber(label.clientCode.ToUpper().Trim(), box+reel);
         *       SqlParameter[] param=new SqlParameter[]
         *       {
         *           new SqlParameter("@clientCode",opencardpack.cCusCode),
         *           new SqlParameter("@number",box+reel)
         *       };
         *       int oldNumber = execProcedureDao.ExecPrSaveSerialNumber(param);
         *       label.typeCode = opencardpack.FProductNo;
         *       for (int i = 0; i < reel; i++)
         *       {
         *           label.qty = reelQty.ToString();
         *           label.serialNumber = oldNumber;
         *           label.workOrder = opencardpack.Fwono;
         *           //检查重要是否为空
         *           int objectNull =ObjectIsNull(label);
         *           if (objectNull<=0)
         *           {
         *               return 0;
         *           }
         *           result=tLabelsDao.InsertLabel(label);
         *           if (result == 0)
         *           {
         *               break;
         *           }
         *           oldNumber++;
         *       }
         *       for (int i = 0; i < box; i++)
         *       {
         *           label.qty = boxQty.ToString();
         *           label.serialNumber = oldNumber;
         *           result=tLabelsDao.InsertLabel(label);
         *           if (result == 0)
         *           {
         *               break;
         *           }
         *           oldNumber++;
         *       }
         *   }
         *   return result;
         * }*/
        /// <summary>
        /// 添加标签信息
        /// </summary>
        /// <param name="label">标签对象</param>
        /// <param name="createQty">生成的总数</param>
        /// <param name="boxQty">盒子数量</param>
        /// <param name="reelQty">卷盘数量</param>
        /// <param name="box">盒子标签数量</param>
        /// <param name="reel">卷盘标签数量</param>
        /// <returns></returns>
        public int InsertLabel(t_labels label, int createQty, int boxQty, int reelQty, int box, int reel, Boolean isBoxPack)
        {
            List <t_labels> labels       = new List <t_labels>();
            int             result       = 0;
            t_opencardpack  opencardpack = openCardPackDao.FindOpencardpackByCode(label.code);

            if (opencardpack != null)
            {
                string uidCode = null;
                if (label.labelTemplateAddressId != 235)
                {
                    uidCode = label.clientCode.Trim();
                    string[] tpv = new[] { "T4003", "T4011", "T4017", "T4021", "T4022", "T4027", "T4008", "T4012", "T4016", "T4023" };
                    if (tpv.Contains(uidCode))
                    {
                        uidCode = "TPV";
                    }
                }
                else
                {
                    uidCode = "STANDARD";
                }
                SqlParameter[] param = new SqlParameter[]
                {
                    new SqlParameter("@clientCode", uidCode),
                    new SqlParameter("@number", box + reel)
                };
                //通过存储过程获取流水号
                long oldNumber = execProcedureDao.ExecPrSaveSerialNumber(param);
                //label.typeCode = opencardpack.FProductNo;
                label.workOrder = opencardpack.Fwono;
                //获取服务器时间
                label.createDate = customUtilityDao.GetServerDateTime().ToString("yyyy-MM-dd HH:mm:ss");
                //最小包装非内盒
                if (!isBoxPack)
                {
                    int tempReelQty = createQty;
                    for (int i = 0; i < reel; i++)
                    {
                        t_labels newLabes = FanShe.Mapper <t_labels, t_labels>(label);
                        if (tempReelQty > reelQty)
                        {
                            newLabes.qty = reelQty;
                        }
                        else
                        {
                            newLabes.qty = tempReelQty;
                        }
                        tempReelQty           = tempReelQty - reelQty;
                        newLabes.serialNumber = oldNumber;
                        newLabes.UID          = CreateUID(newLabes);
                        newLabes.packType     = 1; //1为卷盘包装类型 2为内盒包装类型 3为外箱包装类型

                        //添加客户特殊要求
                        Label_template template     = labelTemplateDao.FindLabelTemplatesById(label.labelTemplateAddressId);
                        string         templateName = template.Label_describe.Trim().ToUpper();
                        //newLabes引用类型返回和不返回一样,所以这里调用一下那标签对象了
                        clientRequireFactoryBll.InsertClientRequire(newLabes, templateName);

                        //检查重要属性是否为空
                        int objectNull = ObjectIsNull(newLabes);
                        if (objectNull <= 0)
                        {
                            return(0);
                        }
                        labels.Add(newLabes); //执行添加标签信息
                        oldNumber++;
                    }
                }
                int tempBoxQty = createQty;
                for (int i = 0; i < box; i++)
                {
                    t_labels newLabes = FanShe.Mapper <t_labels, t_labels>(label);
                    if (tempBoxQty > boxQty)
                    {
                        newLabes.qty = boxQty;
                    }
                    else
                    {
                        newLabes.qty = tempBoxQty;
                    }
                    tempBoxQty            = tempBoxQty - boxQty;
                    newLabes.serialNumber = oldNumber;
                    newLabes.UID          = CreateUID(newLabes);
                    newLabes.packType     = 2;
                    Label_template template     = labelTemplateDao.FindLabelTemplatesById(label.labelTemplateAddressId);
                    string         templateName = template.Label_describe.Trim().ToUpper();
                    clientRequireFactoryBll.InsertClientRequire(newLabes, templateName);
                    //检查重要属性是否为空
                    int objectNull = ObjectIsNull(newLabes);
                    if (objectNull <= 0)
                    {
                        return(0);
                    }
                    labels.Add(newLabes);
                    oldNumber++;
                }
                //保存前再次确认生成的标签数量与前台计算的标签数量是否一致才保存
                result = labels.Count == (box + reel) ? tLabelsDao.InsertLabel(labels) : 0;
            }
            return(result);
        }
        /// <summary>
        /// 查询标签信息按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnQuery_Click(object sender, EventArgs e)
        {
            ClearGroupBoxText();
            if (!string.IsNullOrEmpty(txtCode.Text))
            {
                t_opencardpack parmOpencardpack = new t_opencardpack();
                parmOpencardpack.Fbarcode = txtCode.Text.Trim().ToString();
                t_opencardpack newOpencardpack = openCardPackBll.FindOpencardpackByCode(parmOpencardpack);
                if (newOpencardpack != null)
                {
                    if (newOpencardpack.Flabelqty == null)
                    {
                        MessageBox.Show(@"生成数量为空,请返回开卡包装规格设置!", messageHead, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                    this.txtBatch.Text          = NullTurnEmpty(newOpencardpack.FBatchNoall);
                    this.txtCinvstd.Text        = NullTurnEmpty(newOpencardpack.cinvstd);
                    this.txtCinvName.Text       = NullTurnEmpty(newOpencardpack.cinvname);
                    this.txtClientCode.Text     = NullTurnEmpty(newOpencardpack.cCusCode);
                    this.txtOrder.Text          = NullTurnEmpty(newOpencardpack.cSOCode);
                    this.txtZhuShen.Text        = NullTurnEmpty(newOpencardpack.Fzhushen);
                    this.txtTypeCode.Text       = NullTurnEmpty(newOpencardpack.FProductNo);
                    this.txtFoot.Text           = NullTurnEmpty(newOpencardpack.ffoot);
                    this.txtDpredate.Text       = NullTurnEmpty(newOpencardpack.dPreDate.ToString());
                    this.txtPN.Text             = NullTurnEmpty(newOpencardpack.cPN);
                    this.txtPO.Text             = NullTurnEmpty(newOpencardpack.cPO);
                    this.txtCreateQTY.Text      = (Double.Parse(newOpencardpack.Flabelqty.ToString()) * 1000).ToString(CultureInfo.InvariantCulture);
                    this.txtOrderQty.Text       = (Double.Parse(newOpencardpack.Fqty.ToString()) * 1000).ToString(CultureInfo.InvariantCulture);
                    this.txtFlowCard.Text       = NullTurnEmpty(newOpencardpack.Fsn);
                    this.txtKey.Text            = this.txtCode.Text.Trim().ToUpper();
                    this.txtBatchSuffix.Text    = NullTurnEmpty(newOpencardpack.Fbatchfree);
                    this.txtFlowCardSuffix.Text = NullTurnEmpty(newOpencardpack.fsnfree);
                    if (!string.IsNullOrEmpty(newOpencardpack.CNC))
                    {
                        this.txtFlowCardSuffix.Text = this.txtFlowCardSuffix.Text + @" " + newOpencardpack.CNC;
                    }
                    this.txtNote.Text   = NullTurnEmpty(newOpencardpack.Fnote);
                    this.txtRemark.Text = NullTurnEmpty(newOpencardpack.cFree1);
                    //获取主订单信息
                    SO_SOMain soMain = soMainBll.FindSoMainByCsoCode(NullTurnEmpty(newOpencardpack.cSOCode));
                    if (soMain != null)
                    {
                        this.txtMainClaim.Text = NullTurnEmpty(soMain.cMemo);
                    }
                    else
                    {
                        MessageBox.Show(@"此条码订单号为空的!", messageHead, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }

                    //获取订单明细信息
                    //SO_SODetails parmSoDetails = new SO_SODetails();
                    //parmSoDetails.cSOCode = newOpencardpack.cSOCode.Trim();
                    //parmSoDetails.cInvCode = newOpencardpack.FProductNo.Trim();
                    //SO_SODetails soDetails = soDetailsBll.FindSoDetailsBySoDetails(parmSoDetails);

                    if (newOpencardpack.FsaID != null)
                    {
                        int sodetailsID = 0;
                        sodetailsID = (int)newOpencardpack.FsaID;
                        if (sodetailsID != 0)
                        {
                            SO_SODetails soDetails = frmCreateLabelsBll.FindSoDetailsById(sodetailsID);
                            if (soDetails != null)
                            {
                                //明细单要求
                                this.txtDetailClaim.Text = soDetails.cMemo.Trim();
                            }
                            else
                            {
                                MessageBox.Show(@"明细订单为空!", messageHead, MessageBoxButtons.OK, MessageBoxIcon.Information);
                                return;
                            }
                        }
                        else
                        {
                            MessageBox.Show(@"开卡表的明细订单的ID为0!", messageHead, MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                    }
                    else
                    {
                        MessageBox.Show(@"开卡表没有明细订单的ID!", messageHead, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                    //获取包装信息
                    if (string.IsNullOrEmpty(newOpencardpack.cPCode))
                    {
                        MessageBox.Show(@"没有选择包装编码!请返回开卡包装规格设置", messageHead, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                    this.txtPackCode.Text = newOpencardpack.cPCode.Trim();
                    SA_Packs saPacks = frmCreateLabelsBll.FindSaPacksBySaPackCode(newOpencardpack.cPCode.Trim());
                    if (saPacks != null)
                    {
                        this.txtReelQTY.Text   = (Double.Parse(saPacks.FPKminqty.ToString()) * 1000).ToString();
                        this.txtBoxQTY.Text    = (Decimal.ToInt32(saPacks.fSQty) * 1000).ToString();
                        this.txtMaxBoxQTY.Text = (saPacks.fQuantity * 1000).ToString();
                        double createQty = double.Parse(this.txtCreateQTY.Text);
                        int    reelCount = 0;
                        if (!this.cb_pack.Checked)
                        {
                            //计算卷盘数量

                            double reel = Double.Parse(saPacks.FPKminqty.ToString()) * 1000;
                            // double a=order%reel;
                            if (createQty % reel != 0)
                            {
                                reelCount = (int)(createQty / reel) + 1;
                            }
                            else
                            {
                                reelCount = (int)(createQty / reel);
                            }
                        }
                        this.txtReel.Text = reelCount.ToString();
                        int boxCount = 0;
                        if (!this.cb_reel.Checked)
                        {
                            //计算内盒数量
                            boxCount = 0;
                            double box = Double.Parse(saPacks.fSQty.ToString()) * 1000;
                            if (createQty % box != 0)
                            {
                                boxCount = (int)(createQty / box) + 1;
                            }
                            else
                            {
                                boxCount = (int)(createQty / box);
                            }
                        }
                        this.txtBox.Text                      = boxCount.ToString();
                        this.btnCreate.Enabled                = true;
                        this.btnCreateAndPrint.Enabled        = true;
                        this.ToolStripMenuItem_Create.Enabled = true;
                        this.txtCode.Text                     = "";
                    }
                    else
                    {
                        MessageBox.Show(@"包装信息为空,请返回开卡包装规格设置!", messageHead, MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                }
                else
                {
                    MessageBox.Show(@"此条码无效,请检查清楚!", messageHead, MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            else
            {
                MessageBox.Show(@"条码不能为空!", messageHead, MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }
            //this.txtCode.Text = "";
        }
 public bool InsertLabel(t_opencardpack opencardpack)
 {
     throw new NotImplementedException();
 }