11
pzy
2024-08-26 dbbcd506929afda0a85ae23bcb5f88c1dccef387
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using DBUtility;
 
namespace DAL
{
    public class ClsGy_TaxMIX_Ctl : DBUtility.ClsGy_Base_Ctl
    {
        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
        //原代码 用于 替换子项目
        public string HOldNumber;
        public Model.ClsGy_TaxMIXMain_Model oModel = new Model.ClsGy_TaxMIXMain_Model();
        public List<Model.ClsGy_TaxMIXSub_Model> DetailColl = new List<Model.ClsGy_TaxMIXSub_Model>();
        //新增
        public override bool AddNew()
        {
 
            try
            {
                oCn.BeginTran();
                oCn.RunProc("Insert into Gy_TaxMIXMain" +
                    " (HNumber,HName,HShortNumber,HParentID" +
                    ",HLevel,HEndFlag,HStopflag,HRemark,HUseFlag,HUSEORGID,HCREATEORGID" +
                    ",HMakeEmp,HMakeTime,HCheckEmp,HModifyEmp,HStopEmp) " +
                    " Values('" + oModel.HNumber + "','" + oModel.HName + "','" + oModel.HShortNumber + "'," + oModel.HParentID.ToString() +
                    "," + oModel.HLevel.ToString() + "," + Convert.ToString(oModel.HEndFlag ? 1 : 0) + "," + Convert.ToString(oModel.HStopflag ? 1 : 0) + ",'" + oModel.HRemark +
                    "','" + oModel.HUseFlag + "'," + oModel.HUSEORGID + "," + oModel.HCREATEORGID + ",'" + oModel.HMakeEmp + "','" + System.DateTime.Now + "','" + oModel.HCheckEmp + "','" + oModel.HModifyEmp + "','" + oModel.HStopEmp +  "'" + ")", ref DBUtility.ClsPub.sExeReturnInfo);
 
 
                //获取数据
                DataSet Ds;
                Int64 ItemID = 0;
                Ds = oCn.RunProcReturn("select MAX(HItemID) HItemID from Gy_TaxMIXMain" , "Gy_TaxMIXMain");
                if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HItemID"].ToString()) != 0)
                {
                    ItemID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HItemID"].ToString());
                }             
 
                //插入子表
                foreach (Model.ClsGy_TaxMIXSub_Model oSub in DetailColl)
                {
                     DataSet Cs;
                    Int64 EntryID = 0;
                    Cs = oCn.RunProcReturn("select MAX(HEntryID) HEntryID from Gy_TaxMIXSub", "Gy_TaxMIXSub");
                    if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) != 0)
                    {
                        EntryID = ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) + 1;
                    }
 
                    oCn.RunProc("Insert into Gy_TaxMIXSub " +
                      " (HTAXBENCHMARK,FTAXRATEID,FTAXBENCHMARKCORRVALUE,HTaxMixID,HEntryID" +                   
                      ") values("
                      + "'" + oSub.HTAXBENCHMARK + "'," + oSub.FTAXRATEID + ",'" + oSub.FTAXBENCHMARKCORRVALUE + "'," + ItemID + "," + EntryID +
                      ") ");
                }
 
                //修改上级为非末级代码
                oCn.RunProc("Update Gy_TaxMIXMain" + " set HEndflag=0 where HItemID=" + oModel.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
                oCn.Commit();
                return true;
            }
            catch (Exception e)
            {
                oCn.RollBack();
                throw (e);
            }
        }
 
        //修改
        public override bool ModifyByID(Int64 sItemID)
        {
            try
            {
                oCn.BeginTran();
                oCn.RunProc("Update " + MvarItemKey + " set " +
                    " HNumber='" + oModel.HNumber + "'" +
                    ",HName='" + oModel.HName + "'" +
                    ",HShortNumber='" + oModel.HShortNumber + "'" +
                    ",HHelpCode='" + oModel.HHelpCode + "'" +
                    ",HLevel=" + oModel.HLevel.ToString() +
                    ",HParentID=" + oModel.HParentID.ToString() +
                    ",HEndflag=" + Convert.ToString(oModel.HEndFlag ? 1 : 0) +
                    ",HStopflag=" + Convert.ToString(oModel.HStopflag ? 1 : 0) +
                    ",HRemark= '" + oModel.HRemark + "' Where HItemID=" + sItemID, ref DBUtility.ClsPub.sExeReturnInfo);
 
                oCn.RunProc("delete from Gy_TaxMIXSub where HTaxMixID = " + oModel.HItemID);
 
                //插入子表
                foreach (Model.ClsGy_TaxMIXSub_Model oSub in DetailColl)
                {
                    oCn.RunProc("Insert into Gy_TaxMIXSub " +
                      " (HTAXBENCHMARK,FTAXRATEID,FTAXBENCHMARKCORRVALUE,HTaxMixID" +
                      ") values("
                      + "'" + oSub.HTAXBENCHMARK + "'," + oSub.FTAXRATEID + ",'" + oSub.FTAXBENCHMARKCORRVALUE + "'," + oModel.HItemID +
                      ") ");
                }
 
                //将上级 为非末级
                oCn.RunProc("Update " + MvarItemKey + " set HEndflag=0 where HItemID=" + oModel.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
                //
                oCn.Commit();
                return true;
            }
            catch (Exception e)
            {
                oCn.RollBack();
                throw (e);
            }
        }
        //根据代码判断信息
        public override bool HavParentCode(string sCode, Int64 sItemID)
        {
            DataSet DS;
            try
            {
                DS = oCn.RunProcReturn("Select * from " + MvarItemKey + " Where HStopflag=0 and HNumber='" + sCode + "' and HItemID<>" + sItemID, MvarItemKey, ref Pub_Class.ClsPub.sExeReturnInfo);
                if (DS.Tables[0].Rows.Count == 0)
                    return false;
                else
                {
                    oModel.HItemID = Convert.ToInt64(DS.Tables[0].Rows[0]["HItemID"]);
                    return true;
                }
            }
            catch (Exception e)
            {
                throw (e);
            }
        }
        //构造函数
        public ClsGy_TaxMIX_Ctl()
        {
            MvarItemKey = "Gy_TaxMIXMain";
            MvarReportTitle = "税组合设置";
            oModel = new Model.ClsGy_TaxMIXMain_Model();
        }
    }
}