1
wtt
2024-08-16 7659bbba43cb690164bbf1fa3bc1d0fe74d883c9
DAL/¹¤×ʹÜÀí/ClsPay_SingleBalBill.cs
@@ -29,15 +29,75 @@
        {
            DetailColl = null;
        }
        #endregion   è‡ªå®šä¹‰æ–¹æ³•
        //保存前控制
        public bool BeforeSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
        {
            try
            {
                DataSet Ds = oCn.RunProcReturn("Exec h_p_Pay_SingleBalBill_BeforeSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Pay_SingleBalBill_BeforeSaveCtrl");
                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
                {
                    sReturn = "保存前判断失败!";
                    return false;
                }
                else
                {
                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
                    {
                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
                        return false;
                    }
                }
                return true;
            }
            catch (Exception e)
            {
                throw (e);
            }
        }
        //保存后控制
        public bool AfterSave(Int64 HInterID, string HBillNo, Int64 OperationType, ref string sReturn)
        {
            try
            {
                DataSet Ds = oCn.RunProcReturn("Exec h_p_Pay_SingleBalBill_AfterSaveCtrl " + HInterID.ToString() + ",'" + HBillNo + "'," + OperationType.ToString(), "h_p_Pay_SingleBalBill_AfterSaveCtrl");
                if (Ds == null || Ds.Tables[0].Rows.Count == 0)
                {
                    sReturn = "保存后判断失败!";
                    return false;
                }
                else
                {
                    if (DBUtility.ClsPub.isLong(Ds.Tables[0].Rows[0]["HBack"]) == 1)
                    {
                        sReturn = DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HRemark"]);
                        return false;
                    }
                }
                return true;
            }
            catch (Exception e)
            {
                throw (e);
            }
        }
        //修改单据
        public override bool ModifyBill(Int64 lngBillKey, ref string sReturn)
        {
            try
            {
                //
                oCn.BeginTran();
                //保存前控制
                if (!BeforeSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
                {
                    oCn.RollBack();
                    return false;
                }
                //更新主表
                oCn.RunProc("UpDate Pay_SingleBalBillMain set  " +
                " HBillNo='" + omodel.HBillNo + "'" +  //固定赋值===============
@@ -48,12 +108,13 @@
                ",HUpDater='" + DBUtility.ClsPub.CurUserName + "'" +
                ",HUpDateDate=getdate()" +
                //========================================
                ",HGroupID=" + omodel.HGroupID.ToString() +
                ",HDeptID=" + omodel.HDeptID.ToString() +
                ",HGroupID=" + omodel.HGroupID.ToString() +
                ",HEmpID=" + omodel.HEmpID.ToString() +
                ",HPayType=" + omodel.HPayType.ToString() +
                ",HPayType='" + omodel.HPayType + "'" +
                ",HExplanation='" + omodel.HExplanation + "'" +
                ",HInnerBillNo='" + omodel.HInnerBillNo + "'" +
                ",HStockOrgID=" + omodel.HSTOCKORGID.ToString() +
                " where HInterID=" + lngBillKey.ToString());
                //删除关联
                DeleteRelation(ref sReturn, lngBillKey);
@@ -64,37 +125,30 @@
                foreach (Model.ClsPay_SingleBalBillSub oSub in DetailColl)
                {
                    oCn.RunProc("Insert into Pay_SingleBalBillSub " +
                      " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                      ",HMaterID,HProcID,HEmpID,HSourceID,HTimes,HQty,HPrice,HSqty" +
                      ",HMoney,HICMOInterID,HICMOBillNo,HProcReportInterID,HProcReportEntryID,HProcReportBillNo" +
                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
                      ",HMaterID,HProcID,HSourceID,HEmpID,HTimes,HQty" +
                      ",HPrice,HPackQty,HPackPrice,HPackMoney,HPackMaterID,HPriceRate" +
                      ",HSubsidyID,HSubsidyTotal,HDeuctID,HDeuctTotal,HSubsidyQty,HSubsidyMoney,HMoney" +
                      ",HICMOInterID,HICMOEntryID,HICMOBillNo,HProcReportInterID,HProcReportEntryID,HProcReportBillNo" +
                      ",HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo" +
                      ",HPriceRate,HSubsidyTotal,HDeuctTotal,HSubsidyID,HDeuctID" +
                      ",HPackQty,HPackPrice,HPackMoney,HPackMaterID,HSubsidyQty,HSubsidyMoney" +
                      ") values("
                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                      "," + oSub.HMaterID.ToString() + "," + oSub.HProcID.ToString() + "," + oSub.HEmpID.ToString() + "," + oSub.HSourceID.ToString()
                      + "," + oSub.HTimes.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HSqty.ToString() +
                      "," + oSub.HMoney.ToString() + "," + oSub.HICMOInterID.ToString() + ",'" + oSub.HICMOBillNo + "'," + oSub.HProcReportInterID.ToString() + "," + oSub.HProcReportEntryID.ToString() + ",'" + oSub.HProcReportBillNo + "'" +
                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
                      "," + oSub.HMaterID.ToString() + "," + oSub.HProcID.ToString() + "," + oSub.HSourceID.ToString() + "," + oSub.HEmpID.ToString() + "," + oSub.HTimes.ToString() + "," + oSub.HQty.ToString() +
                      "," + oSub.HPrice.ToString() + "," + oSub.HPackQty.ToString() + "," + oSub.HPackPrice.ToString() + "," + oSub.HPackMoney.ToString() + "," + oSub.HPackMaterID.ToString() + "," + oSub.HPriceRate.ToString() +
                      "," + oSub.HSubsidyID.ToString() + "," + oSub.HSubsidyTotal.ToString() + "," + oSub.HDeuctID.ToString() + "," + oSub.HDeuctTotal.ToString() + "," + oSub.HSubsidyQty.ToString() + "," + oSub.HSubsidyMoney.ToString() + "," + oSub.HMoney.ToString() +
                      "," + oSub.HICMOInterID.ToString() + "," + oSub.HICMOEntryID.ToString() + ",'" + oSub.HICMOBillNo + "'," + oSub.HProcReportInterID.ToString() + "," + oSub.HProcReportEntryID.ToString() + ",'" + oSub.HProcReportBillNo + "'" +
                      "," + oSub.HProcPlanInterID.ToString() + "," + oSub.HProcPlanEntryID.ToString() + ",'" + oSub.HProcPlanBillNo + "'" +
                      "," + oSub.HPriceRate.ToString() + "," + oSub.HSubsidyTotal.ToString() + "," + oSub.HDeuctTotal.ToString() + "," + oSub.HSubsidyID.ToString() + "," + oSub.HDeuctID.ToString() +
                      "," + oSub.HPackQty.ToString() + "," + oSub.HPackPrice.ToString() + "," + oSub.HPackMoney.ToString() + "," + oSub.HPackMaterID.ToString() + "," + oSub.HSubsidyQty.ToString() + "," + oSub.HSubsidyMoney.ToString() +
                      ") ");
                }
                //
                //foreach (Model.ClsPay_SingleBalBillSub oSub in DetailColl)
                //{
                //    Ds = oCn.RunProcReturn("exec h_p_Pay_SingleBalBill_Qty " + oSub.HICMOInterID, "");
                //    if (Ds.Tables[0].Rows.Count == 0)
                //        return;
                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
                //    {
                //        sReturn = "汇报数量超过计划数量!不允许保存";
                //        return false;
                //    }
                //}
                sReturn = "修改单据成功!";
                //保存后控制
                if (!AfterSave(lngBillKey, omodel.HBillNo, 2, ref sReturn))
                {
                    oCn.RollBack();
                    return false;
                }
                sReturn = "单据号:" + omodel.HBillNo + " ä¿®æ”¹æˆåŠŸï¼";
                oCn.Commit();
                return true;
            }
@@ -114,52 +168,54 @@
                omodel.HInterID = DBUtility.ClsPub.CreateBillID(BillType, ref DBUtility.ClsPub.sExeReturnInfo);
                //若MAINDI重复则重新获取
                oCn.BeginTran();
                //保存前控制
                if (!BeforeSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
                {
                    oCn.RollBack();
                    return false;
                }
                //主表
                oCn.RunProc("Insert Into Pay_SingleBalBillMain   " +
                "(HBillType,HBillSubType,HInterID,HBillNo,HDate" +
                ",HYear,HPeriod,HRemark,HMaker,HMakeDate,HSaveFlag" +
                ",HGroupID,HDeptID,HEmpID,HPayType,HExplanation,HInnerBillNo" +
                ",HYear,HPeriod,HRemark,HMaker,HMakeDate" +
                ",HMainSourceInterID,HMainSourceEntryID,HMainSourceBillNo,HMainSourceBillType" +
                ",HDeptID,HGroupID,HEmpID,HPayType,HExplanation" +
                ",HSaveFlag,HInnerBillNo,HStockOrgID" +
                ") " +
                " values('" + this.BillType + "','"  + this.HBillSubType + "'," +omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate + "'" +
                ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()," + Convert.ToString(omodel.HSaveFlag ? 1 : 0) +
                ", " + omodel.HGroupID.ToString() + "," + omodel.HDeptID.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HPayType.ToString() + ",'" + omodel.HExplanation + "','" + omodel.HInnerBillNo + "'" +
                " values('" + this.BillType + "','" + this.HBillSubType + "'," + omodel.HInterID.ToString() + ",'" + omodel.HBillNo + "','" + omodel.HDate.ToShortDateString() + "'" +
                ", " + omodel.HYear.ToString() + "," + omodel.HPeriod.ToString() + ",'" + omodel.HRemark + "','" + DBUtility.ClsPub.CurUserName + "',getdate()" +
                ", " + omodel.HMainSourceInterID.ToString() + "," + omodel.HMainSourceEntryID.ToString() + ",'" + omodel.HMainSourceBillNo + "','" + omodel.HMainSourceBillType + "'" +
                ", " + omodel.HDeptID.ToString() + "," + omodel.HGroupID.ToString() + "," + omodel.HEmpID.ToString() + "," + omodel.HPayType.ToString() + ",'" + omodel.HExplanation + "'" +
                ", " + Convert.ToString(omodel.HSaveFlag ? 1 : 0) + ",'" + omodel.HInnerBillNo + "'," + omodel.HSTOCKORGID.ToString() +
                ") ");
                //插入子表
                foreach (Model.ClsPay_SingleBalBillSub oSub in DetailColl)
                {
                    oCn.RunProc("Insert into Pay_SingleBalBillSub " +
                      " (HInterID,HEntryID,HCloseMan,HEntryCloseDate,HCloseType,HRemark" +
                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" +
                      ",HMaterID,HProcID,HEmpID,HSourceID,HTimes,HQty,HPrice,HSqty" +
                      ",HMoney,HICMOInterID,HICMOBillNo,HProcReportInterID,HProcReportEntryID,HProcReportBillNo" +
                      " (HInterID,HEntryID,HRemark,HRelationQty,HRelationMoney" +
                      ",HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType" +
                      ",HMaterID,HProcID,HSourceID,HEmpID,HTimes,HQty" +
                      ",HPrice,HPackQty,HPackPrice,HPackMoney,HPackMaterID,HPriceRate" +
                      ",HSubsidyID,HSubsidyTotal,HDeuctID,HDeuctTotal,HSubsidyQty,HSubsidyMoney,HMoney" +
                      ",HICMOInterID,HICMOEntryID,HICMOBillNo,HProcReportInterID,HProcReportEntryID,HProcReportBillNo" +
                      ",HProcPlanInterID,HProcPlanEntryID,HProcPlanBillNo" +
                      ",HPriceRate,HSubsidyTotal,HDeuctTotal,HSubsidyID,HDeuctID" +
                      ",HPackQty,HPackPrice,HPackMoney,HPackMaterID,HSubsidyQty,HSubsidyMoney" +
                      ") values("
                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HCloseMan + "','" + oSub.HEntryCloseDate.ToShortDateString() + "'," + Convert.ToString(oSub.HCloseType ? 1 : 0) + ",'" + oSub.HRemark + "'" +
                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                      "," + oSub.HMaterID.ToString() + "," + oSub.HProcID.ToString() + "," + oSub.HEmpID.ToString() + "," + oSub.HSourceID.ToString()
                      + "," + oSub.HTimes.ToString() + "," + oSub.HQty.ToString() + "," + oSub.HPrice.ToString() + "," + oSub.HSqty.ToString() +
                      "," + oSub.HMoney.ToString() + "," + oSub.HICMOInterID.ToString() + ",'" + oSub.HICMOBillNo + "'," + oSub.HProcReportInterID.ToString() + "," + oSub.HProcReportEntryID.ToString() + ",'" + oSub.HProcReportBillNo + "'" +
                      + omodel.HInterID.ToString() + "," + oSub.HEntryID.ToString() + ",'" + oSub.HRemark + "'," + oSub.HRelationQty.ToString() + "," + oSub.HRelationMoney.ToString() +
                      "," + oSub.HSourceInterID.ToString() + "," + oSub.HSourceEntryID.ToString() + ",'" + oSub.HSourceBillNo + "','" + oSub.HSourceBillType + "'" +
                      "," + oSub.HMaterID.ToString() + "," + oSub.HProcID.ToString() + "," + oSub.HSourceID.ToString() + "," + oSub.HEmpID.ToString() + "," + oSub.HTimes.ToString() + "," + oSub.HQty.ToString() +
                      "," + oSub.HPrice.ToString() + "," + oSub.HPackQty.ToString() + "," + oSub.HPackPrice.ToString() + "," + oSub.HPackMoney.ToString() + "," + oSub.HPackMaterID.ToString() + "," + oSub.HPriceRate.ToString() +
                      "," + oSub.HSubsidyID.ToString() + "," + oSub.HSubsidyTotal.ToString() + "," + oSub.HDeuctID.ToString() + "," + oSub.HDeuctTotal.ToString() + "," + oSub.HSubsidyQty.ToString() + "," + oSub.HSubsidyMoney.ToString() + "," + oSub.HMoney.ToString() +
                      "," + oSub.HICMOInterID.ToString() + "," + oSub.HICMOEntryID.ToString() + ",'" + oSub.HICMOBillNo + "'," + oSub.HProcReportInterID.ToString() + "," + oSub.HProcReportEntryID.ToString() + ",'" + oSub.HProcReportBillNo + "'" +
                      "," + oSub.HProcPlanInterID.ToString() + "," + oSub.HProcPlanEntryID.ToString() + ",'" + oSub.HProcPlanBillNo + "'" +
                      "," + oSub.HPriceRate.ToString() + "," + oSub.HSubsidyTotal.ToString() + "," + oSub.HDeuctTotal.ToString() + "," + oSub.HSubsidyID.ToString() + "," + oSub.HDeuctID.ToString() +
                      "," + oSub.HPackQty.ToString() + "," + oSub.HPackPrice.ToString() + "," + oSub.HPackMoney.ToString() + "," + oSub.HPackMaterID.ToString() + "," + oSub.HSubsidyQty.ToString() + "," + oSub.HSubsidyMoney.ToString() +
                      ") ");
                }
                //
                //foreach (Model.ClsPay_SingleBalBillSub oSub in DetailColl)
                //{
                //    Ds = oCn.RunProcReturn("exec h_p_Pay_SingleBalBill_Qty " + oSub.HICMOInterID, "");
                //    if (Ds.Tables[0].Rows.Count == 0)
                //        return;
                //    if (DBUtility.ClsPub.isStrNull(Ds.Tables[0].Rows[0]["HBool"]) == "Y")
                //    {
                //        sReturn = "汇报数量超过计划数量!不允许保存";
                //        return false;
                //    }
                //}
                //
                sReturn = "新增单据成功!";
                //保存后控制
                if (!AfterSave(omodel.HInterID, omodel.HBillNo, 1, ref sReturn))
                {
                    oCn.RollBack();
                    return false;
                }
                sReturn = "单据号:" + omodel.HBillNo + " æ–°å¢žæˆåŠŸï¼";
                oCn.Commit();
                return true;
            }