Пример #1
0
        /// <summary>
        /// 设置
        /// </summary>
        public override void EntitySet()
        {
            ItemBuyForm entity = new ItemBuyForm();

            entity.ID = HTDataID;
            bool findFlag = entity.SelectByID();

            HTDataFormNo = entity.FormNo;

            txtFormNo.Text             = entity.FormNo.ToString();
            txtMakeOPName.Text         = entity.MakeOPName.ToString();
            txtMakeDate.DateTime       = entity.MakeDate;
            txtFormDate.DateTime       = entity.FormDate;
            txtReqDate.DateTime        = entity.ReqDate;
            txtTotalQty.Text           = entity.TotalQty.ToString();
            txtTotalAmount.Text        = entity.TotalAmount.ToString();
            drpPayMothodFlag.EditValue = entity.PayMethodFlag;
            txtRemark.Text             = entity.Remark.ToString();
            drpVendorID.EditValue      = entity.ShopID;
            txtOrderFormNo.Text        = entity.OrderFormNo.ToString();
            HTDataSubmitFlag           = entity.SubmitFlag;
            HTDataDelFlag         = entity.DelFlag;
            txtContractDesc.Text  = entity.ContractDesc;
            txtOrderDate.DateTime = entity.OrderDate;
            drpCGOPID.EditValue   = entity.CGOPID;
            drpSaleOPID.EditValue = entity.SaleOPID;
            if (!findFlag)
            {
            }

            BindGridDts();
            BindOrderInfo();
        }
Пример #2
0
        /// <summary>
        /// 获得实体
        /// </summary>
        /// <returns></returns>
        private ItemBuyForm EntityGet()
        {
            ItemBuyForm entity = new ItemBuyForm();

            entity.ID = HTDataID;
            entity.SelectByID();

            entity.FormNo        = txtFormNo.Text.Trim();
            entity.MakeOPName    = txtMakeOPName.Text.Trim();
            entity.MakeDate      = txtMakeDate.DateTime.Date;
            entity.FormDate      = txtFormDate.DateTime.Date;
            entity.ReqDate       = txtReqDate.DateTime.Date;
            entity.OrderFormNo   = txtOrderFormNo.Text.Trim();
            entity.TotalQty      = SysConvert.ToDecimal(txtTotalQty.Text.Trim());
            entity.TotalAmount   = SysConvert.ToDecimal(txtTotalAmount.Text.Trim());
            entity.PayMethodFlag = SysConvert.ToInt32(drpPayMothodFlag.EditValue);
            entity.Remark        = SysConvert.ToString(txtRemark.Text.Trim());
            entity.ShopID        = SysConvert.ToString(drpVendorID.EditValue);
            entity.OrderFormNo   = txtOrderFormNo.Text.Trim();
            entity.OrderDate     = txtOrderDate.DateTime;
            entity.ContractDesc  = txtContractDesc.Text.Trim();

            entity.SaleOPID = SysConvert.ToString(drpSaleOPID.EditValue);
            entity.CGOPID   = SysConvert.ToString(drpCGOPID.EditValue);

            entity.FormAID = this.FormListAID;
            entity.MLType  = (int)EnumMLType.辅料;
            return(entity);
        }
Пример #3
0
 private void frmItemBuyFormEdit_FormClosing(object sender, FormClosingEventArgs e)
 {
     try
     {
         if (HTDataID > 0)
         {
             ItemBuyForm entity = new ItemBuyForm();
             entity.ID = HTDataID;
             entity.SelectByID();
             if (entity.SubmitFlag == 0)
             {
                 if (DialogResult.Yes != ShowConfirmMessage(this.Text + Environment.NewLine + "没有提交单据,是否确认关闭窗体"))
                 {
                     e.Cancel = true;
                 }
             }
         }
     }
     catch (Exception E)
     {
         this.ShowMessage(E.Message);
     }
 }
Пример #4
0
        /// <summary>
        /// 审核
        /// </summary>
        /// <param name="p_FormID">单据ID</param>
        /// <param name="p_Type">0/1/2/3:弃审/审核</param>
        public void RSubmit(int p_FormID, int p_Type, IDBTransAccess sqlTrans)
        {
            try
            {
                int         p_TempType = p_Type;//处理状态
                string      sql        = string.Empty;
                ItemBuyForm entity     = new ItemBuyForm(sqlTrans);
                entity.ID = p_FormID;
                entity.SelectByID();
                if (entity.SubmitFlag == p_Type)//如果相同异常
                {
                    throw new Exception("单据状态重复设置,请关闭程序重新打开操作");
                }
                if (p_Type == (int)ConfirmFlag.未提交)                                  //撤销提交验证
                {
                    if (SysConvert.ToBoolean(ProductParamSet.GetIntValueByID(5609))) //采购单有仓库单据不允许修改
                    {
                        bool      allowOPFlag   = true;
                        string    refuseMessage = string.Empty;
                        DataTable dtSOFlow;
                        if (allowOPFlag)
                        {
                            //仓库流程单据
                            sql      = "SELECT TOP 1 ID,FormNo FROM UV1_WH_IOFormDts WHERE DtsSO=" + SysString.ToDBString(entity.FormNo);
                            dtSOFlow = SysUtils.Fill(sql);
                            if (dtSOFlow.Rows.Count != 0)
                            {
                                allowOPFlag   = false;
                                refuseMessage = "此单已有仓库单据(单号):" + dtSOFlow.Rows[0]["FormNo"].ToString() + ",不允许撤销";
                            }
                        }

                        if (!allowOPFlag)//不允许操作
                        {
                            throw new Exception(refuseMessage);
                        }
                    }
                }


                sql = "UPDATE Buy_ItemBuyForm SET SubmitFlag=" + SysString.ToDBString(p_Type);
                //if (p_Type == (int)ConfirmFlag.审核通过 || p_Type == (int)ConfirmFlag.审核拒绝)
                //{
                //sql += ",SubmitOPID=" + SysString.ToDBString(ParamConfig.LoginName) + ",SubmitTime=" + SysString.ToDBString(DateTime.Now);
                //}
                sql += " WHERE ID=" + p_FormID.ToString();//更新单据主表审核状态
                sqlTrans.ExecuteNonQuery(sql);

                int tempSaleProcedureID = 0;
                switch (entity.FormAID)//1/2/3/4/5:成品,坯布,纱线,色坯,辅料


                {
                case 1:
                    tempSaleProcedureID = (int)EnumSaleProcedure.成品采购单;
                    break;

                case 2:
                    tempSaleProcedureID = (int)EnumSaleProcedure.坯布采购单;
                    break;

                case 3:
                    tempSaleProcedureID = (int)EnumSaleProcedure.纱线采购单;
                    break;

                case 4:
                    tempSaleProcedureID = (int)EnumSaleProcedure.坯布采购单;
                    break;

                case 5:    //辅料
                    tempSaleProcedureID = (int)EnumSaleProcedure.辅料采购单;
                    break;
                }
                if (p_Type == (int)YesOrNo.Yes)
                {
                    if (tempSaleProcedureID != (int)EnumSaleProcedure.坯布采购单)
                    {
                        sql = "SELECT DtsSO,ItemCode,ColorNum,ColorName FROM Buy_ItemBuyFormDts WHERE MainID=" + p_FormID;
                        DataTable dtDts = sqlTrans.Fill(sql);

                        SaleOrderRule salerule = new SaleOrderRule();
                        foreach (DataRow dr in dtDts.Rows)
                        {
                            salerule.RUpdateStep(dr["DtsSO"].ToString(), dr["ItemCode"].ToString(), dr["ColorNum"].ToString(), dr["ColorName"].ToString(), tempSaleProcedureID, 0, 0, 0, p_Type, true, sqlTrans);
                        }
                    }
                    else  //坯布采购加载订单时候  将订单里的 ItemCode 加载到 CPItemCode
                    {
                        sql = "SELECT DtsSO,CPItemCode,ColorNum,ColorName FROM Buy_ItemBuyFormDts WHERE MainID=" + p_FormID;
                        DataTable dtDts = sqlTrans.Fill(sql);

                        SaleOrderRule salerule = new SaleOrderRule();
                        foreach (DataRow dr in dtDts.Rows)
                        {
                            salerule.RUpdateStep(dr["DtsSO"].ToString(), dr["CPItemCode"].ToString(), dr["ColorNum"].ToString(), dr["ColorName"].ToString(), tempSaleProcedureID, 0, 0, 0, p_Type, true, sqlTrans);
                        }
                    }
                }

                //#region 回填采购完成数
                //if (p_Type == (int)YesOrNo.Yes)//提交
                //{
                //    if (entity.MLType == (int)EnumMLType.纱线 || entity.MLType == (int)EnumMLType.白坯)
                //    {
                //        decimal TotalQty = 0m;
                //        sql = "SELECT  SUM(Qty) Qty FROM Buy_ItemBuyFormDts WHERE MainID=" + p_FormID;
                //        DataTable dtDts = sqlTrans.Fill(sql);
                //        if (dtDts.Rows.Count != 0)
                //        {
                //            TotalQty = SysConvert.ToDecimal(dtDts.Rows[0]["Qty"]);
                //        }
                //        sql = "SELECT ID FROM Sale_SaleOrderDts WHERE MainID=(SELECT ID FROM Sale_SaleOrder WHERE FormNo=" + SysString.ToDBString(entity.OrderFormNo) + ")";
                //        DataTable dtorder = sqlTrans.Fill(sql);//寻找原始订单
                //        if (dtorder.Rows.Count != 0)
                //        {
                //            while (TotalQty > 0m)//开始回填
                //            {
                //                for (int i = 0; i < dtorder.Rows.Count;i++ )
                //                {
                //                    SaleOrderDts orderentity = new SaleOrderDts(sqlTrans);
                //                    orderentity.ID = SysConvert.ToInt32(dtorder.Rows[i]["ID"]);
                //                    bool findR=orderentity.SelectByID();
                //                    if (i == dtorder.Rows.Count - 1)
                //                    {
                //                        switch (entity.MLType)
                //                        {

                //                            case (int)EnumMLType.纱线:
                //                                orderentity.PSCGQty += TotalQty;
                //                                TotalQty = 0;
                //                                break;
                //                            case (int)EnumMLType.白坯:
                //                                orderentity.PBCGQty += TotalQty;
                //                                TotalQty = 0;
                //                                break;
                //                            default:
                //                                break;
                //                        }
                //                    }
                //                    else
                //                    {
                //                       // decimal HTQty = DifQty <= TotalQty ? DifQty : TotalQty;
                //                        switch (entity.MLType)
                //                        {

                //                            case (int)EnumMLType.纱线:
                //                                decimal DifPSQty = orderentity.Qty - orderentity.PSCGQty;
                //                                if (TotalQty <= DifPSQty)
                //                                {
                //                                    orderentity.PSCGQty += TotalQty;
                //                                    TotalQty = 0;
                //                                    break;
                //                                }
                //                                else
                //                                {
                //                                    if (DifPSQty > 0)
                //                                    {
                //                                        orderentity.PSCGQty += DifPSQty;
                //                                        TotalQty -= DifPSQty;
                //                                        break;
                //                                    }
                //                                }
                //                                break;
                //                            case (int)EnumMLType.白坯:
                //                                decimal DifPBQty = orderentity.Qty - orderentity.PBCGQty;
                //                                if (TotalQty <= DifPBQty)
                //                                {
                //                                    orderentity.PBCGQty += TotalQty;
                //                                    TotalQty = 0;
                //                                    break;
                //                                }
                //                                else
                //                                {
                //                                    if (DifPBQty > 0)
                //                                    {
                //                                        orderentity.PBCGQty += DifPBQty;
                //                                        TotalQty -= DifPBQty;
                //                                        break;
                //                                    }
                //                                }
                //                                break;
                //                            default:
                //                                break;

                //                        }
                //                    }
                //                    if (findR)
                //                    {
                //                        SaleOrderDtsRule rule = new SaleOrderDtsRule();
                //                        rule.RUpdate(orderentity, sqlTrans);
                //                    }

                //                } //For循环结尾
                //            }   //While结尾
                //        }
                //        else
                //        {
                //            throw new Exception("数据出现异常未找到原始订单");
                //        }

                //    }
                //    if (entity.MLType == (int)EnumMLType.成品)
                //    {
                //        sql = "SELECT ItemCode,ColorNum,ColorName,Qty FROM Buy_ItemBuyFormDts WHERE MainID=" + p_FormID;
                //        DataTable dtDts1 = sqlTrans.Fill(sql);
                //        foreach(DataRow dr in dtDts1.Rows)
                //        {
                //             sql = "SELECT DtsID FROM UV1_Sale_SaleOrderDts WHERE FormNo=" + SysString.ToDBString(entity.OrderFormNo);
                //             sql += " AND ItemCode=" + SysString.ToDBString(dr["ItemCode"].ToString());
                //             sql += " AND ColorNum=" + SysString.ToDBString(dr["ColorNum"].ToString());
                //             sql += " AND ColorName=" + SysString.ToDBString(dr["ColorName"].ToString());
                //            DataTable dtorder = sqlTrans.Fill(sql);//寻找原始订单
                //            if (dtorder.Rows.Count == 1)
                //            {
                //                SaleOrderDts orderentity = new SaleOrderDts(sqlTrans);
                //                orderentity.ID = SysConvert.ToInt32(dtorder.Rows[0]["DtsID"]);
                //                bool findR=orderentity.SelectByID();
                //                orderentity.CPCGQty += SysConvert.ToDecimal(dr["Qty"]);
                //                if (findR)
                //                {
                //                    SaleOrderDtsRule rule = new SaleOrderDtsRule();
                //                    rule.RUpdate(orderentity, sqlTrans);
                //                }
                //            }
                //            else
                //            {
                //                throw new Exception("数据出现异常未找到原始订单 订单号:"+entity.FormNo);
                //            }
                //        }
                //    }

                //}
                //else        //撤销提交回填数量
                //{
                //    if (entity.MLType == (int)EnumMLType.纱线 || entity.MLType == (int)EnumMLType.白坯)
                //    {
                //        decimal TotalQty = 0m;
                //        sql = "SELECT  SUM(Qty) Qty FROM Buy_ItemBuyFormDts WHERE MainID=" + p_FormID;
                //        DataTable dtDts = sqlTrans.Fill(sql);
                //        if (dtDts.Rows.Count != 0)
                //        {
                //            TotalQty = SysConvert.ToDecimal(dtDts.Rows[0]["Qty"]);
                //        }
                //        sql = "SELECT ID FROM Sale_SaleOrderDts WHERE MainID=(SELECT ID FROM Sale_SaleOrder WHERE FormNo=" + SysString.ToDBString(entity.OrderFormNo) + ")";
                //        DataTable dtorder = sqlTrans.Fill(sql);//寻找原始订单
                //        if (dtorder.Rows.Count != 0)
                //        {
                //            while (TotalQty > 0m)//开始回填
                //            {
                //                for (int i = 0; i < dtorder.Rows.Count; i++)
                //                {
                //                    SaleOrderDts orderentity = new SaleOrderDts(sqlTrans);
                //                    orderentity.ID = SysConvert.ToInt32(dtorder.Rows[i]["ID"]);
                //                    bool findR=orderentity.SelectByID();
                //                    if (i == dtorder.Rows.Count - 1)
                //                    {
                //                        switch (entity.MLType)
                //                        {

                //                            case (int)EnumMLType.纱线:
                //                                orderentity.PSCGQty -= TotalQty;
                //                                //if (orderentity.PSCGQty < 0)
                //                                //{
                //                                //    orderentity.PSCGQty = 0;
                //                                //}
                //                                TotalQty = 0;
                //                                break;
                //                            case (int)EnumMLType.白坯:
                //                                orderentity.PBCGQty -= TotalQty;
                //                                //if (orderentity.PBCGQty < 0)
                //                                //{
                //                                //    orderentity.PBCGQty = 0;
                //                                //}
                //                                TotalQty = 0;
                //                                break;
                //                            default:
                //                                break;
                //                        }
                //                    }
                //                    else
                //                    {
                //                        switch (entity.MLType)
                //                        {

                //                            case (int)EnumMLType.纱线:
                //                               // decimal DifPSQty = orderentity.Qty - orderentity.PSCGQty;
                //                                if (TotalQty <= orderentity.PSCGQty)
                //                                {
                //                                    orderentity.PSCGQty -= TotalQty;
                //                                    TotalQty = 0;
                //                                    break;
                //                                }
                //                                else
                //                                {
                //                                    if (orderentity.PSCGQty > 0)
                //                                    {
                //                                        TotalQty -= orderentity.PSCGQty;
                //                                        orderentity.PSCGQty =0;
                //                                        break;
                //                                    }
                //                                }
                //                                break;
                //                            case (int)EnumMLType.白坯:
                //                                //decimal DifPBQty = orderentity.Qty - orderentity.PBCGQty;
                //                                if (TotalQty <= orderentity.PBCGQty)
                //                                {
                //                                    orderentity.PBCGQty -= TotalQty;
                //                                    TotalQty = 0;
                //                                    break;
                //                                }
                //                                else
                //                                {
                //                                    if (orderentity.PBCGQty > 0)
                //                                    {
                //                                        TotalQty -= orderentity.PBCGQty;
                //                                        orderentity.PBCGQty= 0;
                //                                        break;
                //                                    }
                //                                }
                //                                break;
                //                            default:
                //                                break;

                //                        }
                //                    }
                //                    if (findR)
                //                    {
                //                        SaleOrderDtsRule rule = new SaleOrderDtsRule();
                //                        rule.RUpdate(orderentity, sqlTrans);
                //                    }

                //                } //For循环结尾
                //            }   //While结尾
                //        }
                //        else
                //        {
                //            throw new Exception("数据出现异常未找到原始订单");
                //        }

                //    }
                //    if (entity.MLType == (int)EnumMLType.成品)
                //    {
                //        sql = "SELECT ItemCode,ColorNum,ColorName,Qty FROM Buy_ItemBuyFormDts WHERE MainID=" + p_FormID;
                //        DataTable dtDts1 = sqlTrans.Fill(sql);
                //        foreach (DataRow dr in dtDts1.Rows)
                //        {
                //            sql = "SELECT DtsID FROM UV1_Sale_SaleOrderDts WHERE FormNo=" + SysString.ToDBString(entity.OrderFormNo);
                //            sql += " AND ItemCode=" + SysString.ToDBString(dr["ItemCode"].ToString());
                //            sql += " AND ColorNum=" + SysString.ToDBString(dr["ColorNum"].ToString());
                //            sql += " AND ColorName=" + SysString.ToDBString(dr["ColorName"].ToString());
                //            DataTable dtorder = sqlTrans.Fill(sql);//寻找原始订单
                //            if (dtorder.Rows.Count == 1)
                //            {
                //                SaleOrderDts orderentity = new SaleOrderDts(sqlTrans);
                //                orderentity.ID = SysConvert.ToInt32(dtorder.Rows[0]["DtsID"]);
                //                bool findR= orderentity.SelectByID();
                //                orderentity.CPCGQty -= SysConvert.ToDecimal(dr["Qty"]);
                //                if (findR)
                //                {
                //                    SaleOrderDtsRule rule = new SaleOrderDtsRule();
                //                    rule.RUpdate(orderentity, sqlTrans);
                //                }
                //            }
                //            else
                //            {
                //                throw new Exception("数据出现异常未找到原始订单 订单号:" + entity.FormNo);
                //            }
                //        }
                //    }
                //}
                //#endregion
            }
            catch (BaseException)
            {
                throw;
            }
            catch (Exception E)
            {
                throw new BaseException(E.Message);
            }
        }