1
duhe
2024-01-23 178ef58efdb6e6fa1f3cc44c2b3b5a66d5200096
1
9个文件已修改
1个文件已添加
754 ■■■■■ 已修改文件
DAL/基础资料/公用基础资料/ClsGy_ClassTimePrjGroup_Ctl.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/销售管理/ClsXs_SeOrderBill.cs 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/生产管理/ClsSc_ICMOBillSub.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/销售管理/ClsXs_SeOrderBillSub.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CJGL/Cj_SingleStationController.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/工资管理/Gy_ClassTimePrjController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/工资管理/Gy_ClassTimePrjGroupController.cs 555 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/生产管理/生产任务单/Sc_ICMOBillController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/»ù´¡×ÊÁÏ/¹«Óûù´¡×ÊÁÏ/ClsGy_ClassTimePrjGroup_Ctl.cs
@@ -19,10 +19,15 @@
            {
                oCn.BeginTran();
                oCn.RunProc("Insert into " + MvarItemKey + " " +
                    " (HNumber,HName,HHelpCode,HShortNumber,HParentID" +
                    ",HLevel,HEndFlag,HStopflag,HRemark,HDeptID,HGroupID) " +
                    "(HNumber,HName,HHelpCode,HShortNumber,HParentID" +
                    ",HLevel,HEndFlag,HStopflag,HRemark" +
                    ",HMakeEmp,HMakeTime,HUSEORGID,HCREATEORGID" +
                    ",HDeptID,HGroupID) " +
                    " Values('" + oModel.HNumber + "','" + oModel.HName + "','" + oModel.HHelpCode + "','" + oModel.HShortNumber + "'," + oModel.HParentID.ToString() +
                    "," + oModel.HLevel.ToString() + "," + Convert.ToString(oModel.HEndFlag ? 1 : 0) + "," + Convert.ToString(oModel.HStopflag ? 1 : 0) + ",'" + oModel.HRemark + "'," + oModel.HDeptID.ToString() + "," + oModel.HGroupID.ToString() + ")", ref DBUtility.ClsPub.sExeReturnInfo);
                    ", " + oModel.HLevel.ToString() + "," + Convert.ToString(oModel.HEndFlag ? 1 : 0) + "," + Convert.ToString(oModel.HStopflag ? 1 : 0) + ",'" + oModel.HRemark + "'" +
                    ",'" + oModel.HMakeEmp + "',getdate()" + "," + oModel.HUSEORGID.ToString() + "," + oModel.HCREATEORGID.ToString() +
                    ", " + oModel.HDeptID.ToString() + "," + oModel.HGroupID.ToString() +
                    ") ", ref DBUtility.ClsPub.sExeReturnInfo);
                //修改上级为非末级代码
                oCn.RunProc("Update " + MvarItemKey + " set HEndflag=0 where HItemID=" + oModel.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
                oCn.Commit();
@@ -45,14 +50,19 @@
                    " HNumber='" + oModel.HNumber + "'" +
                    ",HName='" + oModel.HName + "'" +
                    ",HShortNumber='" + oModel.HShortNumber + "'" +
                    ",HHelpCode='" + oModel.HHelpCode + "'" +
                    ",HLevel=" + oModel.HLevel.ToString() +
                    ",HParentID=" + oModel.HParentID.ToString() +
                    ",HLevel=" + oModel.HLevel.ToString() +
                    ",HEndflag=" + Convert.ToString(oModel.HEndFlag ? 1 : 0) +
                    ",HStopflag=" + Convert.ToString(oModel.HStopflag ? 1 : 0) +
                    ",HRemark= '" + oModel.HRemark + "'" +
                    ",HModifyEmp= '" + oModel.HModifyEmp + "'" +
                    ",HModifyTime=getdate()" +
                    ",HUSEORGID=" + oModel.HUSEORGID.ToString() +
                    ",HCREATEORGID=" + oModel.HCREATEORGID.ToString() +
                    //===========================================================
                    ",HDeptID=" + oModel.HDeptID.ToString() +
                    ",HGroupID=" + oModel.HGroupID.ToString() +
                    ",HRemark= '" + oModel.HRemark + "' Where HItemID=" + sItemID, ref DBUtility.ClsPub.sExeReturnInfo);
                    " where HItemID=" + sItemID, ref DBUtility.ClsPub.sExeReturnInfo);
                //修改子项目代码
                oCn.RunProc("exec h_p_Gy_UpdateNumber '" + MvarItemKey + "','" + oModel.HNumber + ".','" + this.HOldNumber + ".'", ref DBUtility.ClsPub.sExeReturnInfo);
                //将上级 ä¸ºéžæœ«çº§
@@ -91,7 +101,7 @@
        public ClsGy_ClassTimePrjGroup_Ctl()
        {
            MvarItemKey = "Gy_ClassTimePrjGroup";
            MvarReportTitle = "核算方式组设置";
            MvarReportTitle = "核算方式组";
            oModel = new Model.ClsGy_ClassTimePrjGroup_Model();
        } 
    }
DAL/ÏúÊÛ¹ÜÀí/ClsXs_SeOrderBill.cs
@@ -115,7 +115,8 @@
                    string subSql = "Insert into Xs_SeOrderBillSub" +
                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,HMaterID,HUnitID,HQty,HPrice,HTaxPrice,HMoney" +
                        ",HDiscountRate,HRelTaxPrice,HTaxRate,HTaxMoney,HlineTotal,HlineTotalBB,HDate,HOutStockQty,HInvoiceQty,HRemark,HOrderLevID ) " +
                        ",HDiscountRate,HRelTaxPrice,HTaxRate,HTaxMoney,HlineTotal,HlineTotalBB,HDate,HOutStockQty,HInvoiceQty,HRemark,HOrderLevID" +
                        ",HCusMaterNumber,HCusModel,HCusMaterName ) " +
                        "values(" +
                        "" + omodel.HInterID +
                        "," + oSub.HEntryID +
@@ -142,6 +143,9 @@
                        "," + oSub.HInvoiceQty + 
                        ",'" + oSub.HRemark +
                        "','" + oSub.HOrderLevID +
                        "','" + oSub.HCusMaterNumber +
                        "','" + oSub.HCusModel +
                        "','" + oSub.HCusMaterName +
                        "')";
                    oCn.RunProc(subSql);
                }
@@ -286,7 +290,8 @@
                    //  ") ");
                    string subSql = "Insert into Xs_SeOrderBillSub" +
                        "(HInterID,HEntryID,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney,HMaterID,HUnitID,HQty,HPrice,HTaxPrice,HMoney" +
                        ",HDiscountRate,HRelTaxPrice,HTaxRate,HTaxMoney,HlineTotal,HlineTotalBB,HDate,HOutStockQty,HInvoiceQty,HRemark,HOrderLevID) " +
                        ",HDiscountRate,HRelTaxPrice,HTaxRate,HTaxMoney,HlineTotal,HlineTotalBB,HDate,HOutStockQty,HInvoiceQty,HRemark,HOrderLevID" +
                        ",HCusMaterNumber,HCusModel,HCusMaterName) " +
                        "values(" +
                        "" + omodel.HInterID +
                        "," + oSub.HEntryID +
@@ -313,6 +318,9 @@
                        "," + oSub.HInvoiceQty +
                        ",'" + oSub.HRemark +
                        "','" + oSub.HOrderLevID +
                        "','" + oSub.HCusMaterNumber +
                        "','" + oSub.HCusModel +
                        "','" + oSub.HCusMaterName +
                        "')";
                    oCn.RunProc(subSql);
                }
Model/Éú²ú¹ÜÀí/ClsSc_ICMOBillSub.cs
@@ -43,6 +43,7 @@
        public string HCusMaterName; //客户物料名称
        public string HCusModel; //客户规格型号 
        public string HCusMaterNumber; //客户物料编码
        public object HOrderPickRemark { get; set; }
Model/ÏúÊÛ¹ÜÀí/ClsXs_SeOrderBillSub.cs
@@ -23,6 +23,10 @@
        public double HInvoiceQty;//         dec(18,8)    --开票数量(不可编辑)            --addnew
        public string HRemark;//         varchar(200)        --备注
        public string HCusMaterNumber;  //客户物料编码
        public string HCusModel; //客户规格型号
        public string HCusMaterName;  //客户物料名称
        public Int64 HInterID;
        public Int64 HEntryID;
WebAPI/Controllers/CJGL/Cj_SingleStationController.cs
@@ -562,6 +562,13 @@
                sMainStr = "[" + sMainStr + "]";
                List<StationBill> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StationBill>>(sMainStr);
                ds = oCN.RunProcReturn("select  HCenterID from Sc_ProcessExchangeBillSub WITH(NOLOCK) where HInterID=" + list[0].HProcExchInterID + " and HEntryID=" + list[0].HProcExchEntryID, "Sc_ProcessExchangeBillSub");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    list[0].HCenterID = long.Parse(ds.Tables[0].Rows[0]["HCenterID"].ToString());
                }
                long HMainInterID = 0;
                string BillType = "3791";
                string HBillSubType = "3791";
WebAPI/Controllers/CJGL/Sc_ProcExchWorkBackBillController.cs
@@ -653,5 +653,147 @@
            }
        }
        #endregion
        #region æŽ’单墙查询列表
        [Route("Sc_ProcExchWorkBackBill/SingleRowWallList")]
        [HttpGet]
        public object SingleRowWallList(string sWhere, string user)
        {
            try
            {
                DataTable dt1 = new DataTable("DataSouce");
                DataTable dt2 = new DataTable("DataColor");
                List<object> columnNameList = new List<object>();
                string sql = "exec h_p_SingleRowWall  "+ sWhere;
                ds = oCN.RunProcReturn(sql, "DataSouce");
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    dt1.Columns.Add(col.ColumnName);
                    dt2.Columns.Add(col.ColumnName);
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                if (ds.Tables.Count == 2) {
                    int[] num2 = new int[ds.Tables[0].Columns.Count];//记录每一列获取有值的行数
                    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                    {
                        int num = 0;//记录没有数据行的列数
                        int[] num3 = new int[ds.Tables[0].Columns.Count];//记录每一列没有数据的行数
                        DataRow dtrow = dt1.NewRow();
                        for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
                        {
                            int num1 = 0;//记录有多少次满足不为空的条件
                            DataColumn col = ds.Tables[0].Columns[j];
                            for (int k = 0; k < ds.Tables[0].Rows.Count; k++)
                            {
                                DataRow item = ds.Tables[0].Rows[k];
                                if (item[col.ColumnName.ToString()].ToString() != "")
                                {
                                    num1 += 1;
                                    if (num1 > num2[j])
                                    {
                                        dtrow[col.ColumnName.ToString()] = item[col.ColumnName.ToString()].ToString();
                                        num2[j] += 1;
                                        break;
                                    }
                                    else
                                    {
                                        num3[j] += 1;
                                    }
                                }
                                else
                                {
                                    num3[j] += 1;
                                }
                                if (num3[j] == ds.Tables[0].Rows.Count)
                                {
                                    num += 1;
                                }
                            }
                        }
                        if (num == ds.Tables[0].Columns.Count)
                        {
                            break;
                        }
                        dt1.Rows.Add(dtrow);
                    }
                    int[] nums2 = new int[ds.Tables[1].Columns.Count];//记录每一列获取有值的行数
                    for (int i = 0; i < ds.Tables[1].Rows.Count; i++)
                    {
                        int num = 0;//记录没有数据行的列数
                        int[] num3 = new int[ds.Tables[1].Columns.Count];//记录每一列没有数据的行数
                        DataRow row = ds.Tables[1].Rows[i];
                        DataRow dtrow = dt2.NewRow();
                        for (int j = 0; j < ds.Tables[1].Columns.Count; j++)
                        {
                            int num1 = 0;//记录有多少次满足不为空的条件
                            DataColumn col = ds.Tables[1].Columns[j];
                            for (int k = 0; k < ds.Tables[1].Rows.Count; k++)
                            {
                                DataRow item = ds.Tables[1].Rows[k];
                                if (item[col.ColumnName.ToString()].ToString() != "")
                                {
                                    num1 += 1;
                                    if (num1 > nums2[j])
                                    {
                                        dtrow[col.ColumnName.ToString()] = item[col.ColumnName.ToString()].ToString();
                                        nums2[j] += 1;
                                        break;
                                    }
                                    else
                                    {
                                        num3[j] += 1;
                                    }
                                }
                                else
                                {
                                    num3[j] += 1;
                                }
                                if (num3[j] == ds.Tables[0].Rows.Count)
                                {
                                    num += 1;
                                }
                            }
                        }
                        if (num == ds.Tables[0].Columns.Count||i==3)
                        {
                            break;
                        }
                        dt2.Rows.Add(dtrow);
                    }
                    ds.Tables.Clear();
                    ds.Tables.Add(dt1);
                    ds.Tables.Add(dt2);
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.list = columnNameList;
                objJsonResult.data = ds;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}
WebAPI/Controllers/¹¤×ʹÜÀí/Gy_ClassTimePrjController.cs
@@ -450,10 +450,6 @@
                        return objJsonResult;
                    }
                }
            }
            catch (Exception e)
            {
WebAPI/Controllers/¹¤×ʹÜÀí/Gy_ClassTimePrjGroupController.cs
New file
@@ -0,0 +1,555 @@
using DBUtility;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using WebAPI.Models;
namespace WebAPI.Controllers
{
    public class Gy_ClassTimePrjGroupController : ApiController
    {
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        const string ModCaption = "核算方式组";
        public const string ModRightName = "Gy_ClassTimePrjGroup";
        public const string ModRightNameAdd = ModRightName + "_Add";        //新增
        public const string ModRightNameEdit = ModRightName + "_Edit";      //编辑
        public const string ModRightNameCheck = ModRightName + "_Check";    //审核
        public const string ModRightNameClose = ModRightName + "_Stop";     //禁用
        public const string ModRightNameDelete = ModRightName + "_Delete";  //删除
        public DataSet ds = new DataSet();
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
        DAL.ClsGy_ClassTimePrjGroup_Ctl oClassTimePrj = new DAL.ClsGy_ClassTimePrjGroup_Ctl();
        DAL.ClsGy_ClassTimePrjGroup_View oClassTimePrjHlp = new DAL.ClsGy_ClassTimePrjGroup_View();
        #region æ ¸ç®—方式组列表
        /// <summary>
        /// èŽ·å–æ ¸ç®—æ–¹å¼ç»„åˆ—è¡¨ä¿¡æ¯
        /// </summary>
        /// <returns></returns>
        [Route("Gy_ClassTimePrjGroupController/GetGy_ClassTimePrjGroupList_Json")]
        [HttpGet]
        public object GetGy_ClassTimePrjGroupList_Json(string sWhere, string HMaker)
        {
            try
            {
                //判断权限
                if (!DBUtility.ClsPub.Security_Log(ModRightName, 1, false, HMaker))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "您没有该模块权限,请与管理员联系!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //返回列表信息
                ds = oCn.RunProcReturn("select * from h_v_Gy_ClassTimePrjGroupList where " + sWhere + " order by " + ModCaption + "代码" , "h_v_Gy_ClassTimePrjGroupList");
                List<object> columnNameList = new List<object>();
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));  //获取到DataColumn列对象的列名
                }
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "成功!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "查询列表信息失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region æ ¸ç®—方式组删除
        /// <summary>
        /// åˆ é™¤æ ¸ç®—方式组
        /// </summary>
        /// <returns></returns>
        [Route("Gy_ClassTimePrjGroupController/GetGy_ClassTimePrjGroup_Delete_Json")]
        [HttpGet]
        public object GetGy_ClassTimePrjGroup_Delete_Json(Int64 HItemID, string HMaker)
        {
            try
            {
                //判断权限
                if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 1, false, HMaker))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "您没有该模块删除功能权限,请与管理员联系!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //判断存在性
                if (oClassTimePrjHlp.GetInfoByID(HItemID))
                {
                    //判断是否存在子项
                    if (oClassTimePrj.HavChildCodes(HItemID))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "此核算方式组存在子项目,不能删除!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //删除数据
                    if (oClassTimePrj.DeleteByID(HItemID))
                    {
                        //写入日志
                        DBUtility.ClsPub.Add_Log("", "删除核算方式组,代码:" + oClassTimePrjHlp.omodel.HNumber + ",名称:" + oClassTimePrjHlp.omodel.HName, HMaker);
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "删除核算方式组成功!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "删除核算方式组失败!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "未查询到该核算方式组,请刷新数据后重新选择!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "删除核算方式组失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region æ ¸ç®—方式组审核、反审核
        /// <summary>
        /// å®¡æ ¸ã€åå®¡æ ¸æ ¸ç®—方式组
        /// </summary>
        /// <param name="HItemID">内码</param>
        /// <param name="IsAudit">审核(0),反审核(1)</param>
        /// <param name="HMaker">操作人</param>
        /// <returns></returns>
        [Route("Gy_ClassTimePrjGroupController/GetGy_ClassTimePrjGroup_Check_Json")]
        [HttpGet]
        public object GetGy_ClassTimePrjGroup_Check_Json(Int64 HItemID, int IsAudit, string HMaker)
        {
            string sErrMsg = "";
            try
            {
                //判断权限
                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, false, HMaker))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "您没有该模块审核/反审核功能权限,请与管理员联系!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (IsAudit == 0)   //审核判断
                {
                    if (oClassTimePrj.CheckByHItemID(HItemID, HMaker, ref sErrMsg))
                    {
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "审核核算方式组成功!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "审核核算方式组失败!" + sErrMsg;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else if (IsAudit == 1)  //反审核判断
                {
                    if (oClassTimePrj.AbandonCheckByHItemID(HItemID, HMaker, ref sErrMsg))
                    {
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "反审核核算方式组成功!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "反审核核算方式组失败!" + sErrMsg;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "审核/反审核功能判断错误!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "审核或反审核核算方式组失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region æ ¸ç®—方式组禁用、反禁用
        /// <summary>
        /// ç¦ç”¨ã€åç¦ç”¨æ ¸ç®—方式组
        /// </summary>
        /// <param name="HItemID">内码</param>
        /// <param name="IsStop">禁用(0),反禁用(1)</param>
        /// <param name="HMaker">操作人</param>
        /// <returns></returns>
        [Route("Gy_ClassTimePrjGroupController/GetGy_ClassTimePrjGroup_Stop_Json")]
        [HttpGet]
        public object GetGy_ClassTimePrjGroup_Stop_Json(Int64 HItemID, int IsStop, string HMaker)
        {
            string sErrMsg = "";
            try
            {
                //判断权限
                if (!DBUtility.ClsPub.Security_Log(ModRightNameClose, 1, false, HMaker))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "您没有该模块禁用/反禁用功能权限,请与管理员联系!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (IsStop == 0)   //禁用判断
                {
                    if (oClassTimePrj.StopByHItemID(HItemID, HMaker, ref sErrMsg))
                    {
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "禁用核算方式组成功!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "禁用核算方式组失败!" + sErrMsg;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else if (IsStop == 1)  //反禁用判断
                {
                    if (oClassTimePrj.AbandonStopByHItemID(HItemID, HMaker, ref sErrMsg))
                    {
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "反禁用核算方式组成功!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "反禁用核算方式组失败!" + sErrMsg;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "禁用/反禁用功能判断错误!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "禁用或反禁用核算方式组失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region æ ¸ç®—方式组保存
        /// <summary>
        /// æ ¸ç®—方式组保存
        /// </summary>
        [Route("Gy_ClassTimePrjGroupController/GetGy_ClassTimePrjGroup_Save_Json")]
        [HttpPost]
        public object GetGy_ClassTimePrjGroup_Save_Json([FromBody] JObject oMain)
        {
            try
            {
                var _value = oMain["oMain"].ToString();
                string msg1 = _value.ToString();
                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string msg2 = sArray[0].ToString();
                string HMaker = sArray[1].ToString();
                string OperationType = sArray[2].ToString();    //操作类型(1新增、2编辑)
                //判断权限
                if (OperationType == "1")
                {
                    //判断新增权限
                    if (!DBUtility.ClsPub.Security_Log(ModRightNameAdd, 1, false, HMaker))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "您没有该模块新增权限,请与管理员联系!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    //判断编辑权限
                    if (!DBUtility.ClsPub.Security_Log(ModRightNameEdit, 1, false, HMaker))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "您没有该模块编辑权限,请与管理员联系!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                //反序列化
                msg2 = msg2.Replace("\\", "");
                msg2 = msg2.Replace("\n", "");
                msg2 = "[" + msg2.ToString() + "]";
                List<Model.ClsGy_ClassTimePrjGroup_Model> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_ClassTimePrjGroup_Model>>(msg2);
                oClassTimePrj.oModel.HItemID = list[0].HItemID;
                oClassTimePrj.oModel.HNumber = list[0].HNumber;
                oClassTimePrj.oModel.HName = list[0].HName;
                oClassTimePrj.oModel.HShortNumber = DBUtility.ClsPub.GetShortNumber(list[0].HNumber);
                oClassTimePrj.oModel.HLevel = DBUtility.ClsPub.GetLevel(list[0].HNumber);
                oClassTimePrj.oModel.HEndFlag = true;
                oClassTimePrj.oModel.HStopflag = list[0].HStopflag;
                oClassTimePrj.oModel.HUseFlag = list[0].HUseFlag;
                oClassTimePrj.oModel.HRemark = list[0].HRemark;
                oClassTimePrj.oModel.HMakeEmp = HMaker;
                oClassTimePrj.oModel.HModifyEmp = HMaker;
                oClassTimePrj.oModel.HCheckEmp = list[0].HCheckEmp;
                oClassTimePrj.oModel.HUSEORGID = list[0].HUSEORGID;
                oClassTimePrj.oModel.HCREATEORGID = list[0].HUSEORGID;
                //
                oClassTimePrj.oModel.HDeptID = list[0].HDeptID;
                oClassTimePrj.oModel.HGroupID = list[0].HGroupID;
                //检查父级是否存在
                string sParent = DBUtility.ClsPub.GetParentCode(list[0].HNumber);
                if (sParent.Trim() == "")
                {
                    oClassTimePrj.oModel.HParentID = 0;
                }
                else
                {
                    ds = oCn.RunProcReturn("select * from " + ModRightName + " where HStopflag=0 and HNumber='" + sParent + "' and HItemID<>" + oClassTimePrj.oModel.HItemID, ModRightName);
                    if (ds.Tables[0].Rows.Count > 0)
                    {
                        oClassTimePrj.oModel.HParentID = long.Parse(ds.Tables[0].Rows[0]["HItemID"].ToString());
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "保存失败!上级代码不存在或被禁用!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                //保存原代码
                DataSet dsOldNumber = oCn.RunProcReturn("select * from " + ModRightName + " where HItemID='" + oClassTimePrj.oModel.HItemID + "'", ModRightName);
                if (dsOldNumber.Tables[0].Rows.Count > 0)
                {
                    oClassTimePrj.HOldNumber = DBUtility.ClsPub.isStrNull(dsOldNumber.Tables[0].Rows[0]["HNumber"]);
                    //是否新代码是自己子项目的 子项目
                    if (sParent.Length >= oClassTimePrj.HOldNumber.Length)
                    {
                        if (sParent.Substring(0, oClassTimePrj.HOldNumber.ToString().Length) == oClassTimePrj.HOldNumber.Trim())
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "新代码不能是自己的下级的子项目!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                else
                {
                    oClassTimePrj.HOldNumber = "";
                }
                //保存前判断
                //审核代码是否合理
                if (!DBUtility.ClsPub.AllowNumber(oClassTimePrj.oModel.HNumber))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "代码中不能出现连续‘.’并且首位末位不能为‘.’!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //是否重复代码
                if (oClassTimePrj.HavSameNumber(oClassTimePrj.oModel.HItemID, oClassTimePrj.oModel.HNumber))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "代码重复!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //保存
                if (OperationType == "1")
                {
                    //新增
                    if (oClassTimePrj.AddNew())
                    {
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "新增成功!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "新增失败!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                else
                {
                    if(oClassTimePrj.oModel.HCheckEmp!="")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据已审核,不允许修改!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //修改
                    if (oClassTimePrj.ModifyByID(oClassTimePrj.oModel.HItemID))
                    {
                        objJsonResult.code = "1";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "修改成功!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "修改失败!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.Message;
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region æ˜¾ç¤ºæ ¸ç®—方式组信息
        /// <summary>
        /// æ ¹æ®åŸºç¡€èµ„æ–™ID æŸ¥æ‰¾è®°å½•
        /// </summary>
        [Route("Gy_ClassTimePrjGroupController/GetGy_ClassTimePrjGroup_Json")]
        [HttpGet]
        public object GetGy_ClassTimePrjGroup_Json(Int64 HItemID)
        {
            try
            {
                ds = oCn.RunProcReturn("select * from h_v_Gy_ClassTimePrjGroupListDetail where HItemID=" + HItemID, "h_v_Gy_ClassTimePrjGroupListDetail");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "未查询到该核算方式组,请刷新数据后重新选择!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "成功!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "返回核算方式组信息失败!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}
WebAPI/Controllers/Éú²ú¹ÜÀí/Éú²úÈÎÎñµ¥/Sc_ICMOBillController.cs
@@ -650,14 +650,14 @@
                ,HMaterID,HUnitID,HRemark,HSourceID,HDeptID,HSTATUS
                ,HBomID,HEntryCusID,HSTOCKINORGID
                ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney
                ,HAuxQty,HAuxUnit,HWidth,HWeight,HColorRemark,HCusMaterName,HCusModel,HOrderPickRemark)
                ,HAuxQty,HAuxUnit,HWidth,HWeight,HColorRemark,HCusMaterName,HCusModel,HOrderPickRemark,HCusMaterNumber)
                 values({HInterID},{HEntryID},{(oSub.HQty == null ? 0 : oSub.HQty)}
                ,'{(oSub.HPlanBeginDate == null ? DateTime.Now.ToString("yyyy-MM-dd") : oSub.HPlanBeginDate.ToString())}','{(oSub.HPlanEndDate == null ? DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") : oSub.HPlanEndDate.ToString())}'
                ,'{(oSub.HBeginDate == null ? DateTime.Now.ToString("yyyy-MM-dd") : oSub.HBeginDate.ToString())}','{(oSub.HEndDate == null ? DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") : oSub.HEndDate.ToString())}'
                ,{oSub.HMaterID},{oSub.HUnitID},'{oSub.HRemark}',{oSub.HSourceID},{oSub.HDeptID},{oSub.HSTATUS}
                 ,{oSub.HBomID}  ,{oSub.HCusID} ,{oSub.HSTOCKINORGID}
                        ,{oSub.HSourceInterID},{oSub.HSourceEntryID},'{oSub.HSourceBillNo}','{oSub.HSourceBillType}',0,0
                ,{oSub.HAuxQty},{oSub.HAuxUnit},{oSub.HWidth},{oSub.HWeight},'{oSub.HColorRemark}','{oSub.HCusMaterName}','{oSub.HCusModel}','{oSub.HOrderPickRemark}')");
                ,{oSub.HAuxQty},{oSub.HAuxUnit},{oSub.HWidth},{oSub.HWeight},'{oSub.HColorRemark}','{oSub.HCusMaterName}','{oSub.HCusModel}','{oSub.HOrderPickRemark}','{oSub.HCusMaterNumber}')");
            //保存后控制=========================================              
            ds = oCN.RunProcReturn("exec h_p_Sc_ICMOBill_AfterSaveCtrl_New " + HInterID, "h_p_Sc_ICMOBill_AfterSaveCtrl_New");
WebAPI/WebAPI.csproj
@@ -532,6 +532,7 @@
    <Compile Include="Controllers\基础资料\基础资料\Xt_CheckItemBillController.cs" />
    <Compile Include="Controllers\基础资料\基础资料\Xt_FastICSchemeController.cs" />
    <Compile Include="Controllers\基础资料\工资基础资料\Gy_ProcCommPriceController.cs" />
    <Compile Include="Controllers\工资管理\Gy_ClassTimePrjGroupController.cs" />
    <Compile Include="Controllers\工资管理\Pay_OutApplyBillController.cs" />
    <Compile Include="Controllers\工资管理\Pay_OverApplyBillController.cs" />
    <Compile Include="Controllers\工资管理\Pay_PayMentBillController.cs" />