新增网页版班次模块调用方法,直接调拨校验扫描物料条码方法修改,新增系统参数(当下一个生产日计划是相同产品时,MES系统自动开工下一单)
6个文件已修改
1个文件已添加
703 ■■■■■ 已修改文件
DAL/基础资料/公用基础资料/ClsGy_Shifts_Ctl.cs 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pub_Class/CustomerCls/ClsXt_SystemParameter.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/BaseSet/Gy_EmployeeController.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/ProductInController.cs 57 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/基础资料/生产基础资料/Gy_ShiftsController.cs 561 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DAL/»ù´¡×ÊÁÏ/¹«Óûù´¡×ÊÁÏ/ClsGy_Shifts_Ctl.cs
@@ -20,11 +20,14 @@
                oCn.BeginTran();
                oCn.RunProc("Insert into " + MvarItemKey + " " +
                    " (HNumber,HName,HHelpCode,HShortNumber,HParentID" +
                    ",HDeptID,HBeginTimes,HEndTimes,HWorkTimes" +
                    ",HLevel,HEndFlag,HStopflag,HRemark) " +
                    ",HLevel,HEndFlag,HStopflag,HRemark" +
                    ",HMakeEmp,HMakeTime,HUSEORGID,HCREATEORGID" +
                    ",HDeptID,HBeginTimes,HEndTimes,HWorkTimes) " +
                    " 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.HMakeEmp + "',getdate()" + "," + oModel.HUSEORGID.ToString() + "," + oModel.HCREATEORGID.ToString() +
                    "," + oModel.HDeptID.ToString() + ",'" + oModel.HBeginTimes + "','" + oModel.HEndTimes + "'," + oModel.HWorkTimes.ToString() +
                    "," + oModel.HLevel.ToString() + "," + Convert.ToString(oModel.HEndFlag ? 1 : 0) + "," + Convert.ToString(oModel.HStopflag ? 1 : 0) + ",'" + oModel.HRemark + "')", ref DBUtility.ClsPub.sExeReturnInfo);
                    ")", ref DBUtility.ClsPub.sExeReturnInfo);
                //修改上级为非末级代码
                oCn.RunProc("Update " + MvarItemKey + " set HEndflag=0 where HItemID=" + oModel.HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
                oCn.Commit();
@@ -47,16 +50,21 @@
                    " 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() +
                    ",HBeginTimes='" + oModel.HBeginTimes + "'" +
                    ",HEndTimes='" + oModel.HEndTimes + "'" +
                    ",HWorkTimes=" + oModel.HWorkTimes.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);
                //将上级 ä¸ºéžæœ«çº§
@@ -95,7 +103,7 @@
        public ClsGy_Shifts_Ctl()
        {
            MvarItemKey = "Gy_Shifts";
            MvarReportTitle = "班次设置";
            MvarReportTitle = "班次";
            oModel = new Model.ClsGy_Shifts_Model();
        } 
    }
Pub_Class/CustomerCls/ClsXt_SystemParameter.cs
@@ -1600,6 +1600,11 @@
                    {
                        omodel.Sc_ICMOBillWorkQtyStatus_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                    }
                    //当下一个生产日计划是相同产品时,MES系统自动开工下一单
                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOBillWorkQtyStatus_AutoNextWorkBill")
                    {
                        omodel.Sc_ICMOBillWorkQtyStatus_AutoNextWorkBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                    }
                    //==========质量汇报单
                    //自动审核
                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOBillQualityStatus_AutoCheck")
@@ -3257,6 +3262,11 @@
                    {
                        omodel.Sc_ICMOBillWorkQtyStatus_AutoCheck = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                    }
                    //当下一个生产日计划是相同产品时,MES系统自动开工下一单
                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOBillWorkQtyStatus_AutoNextWorkBill")
                    {
                        omodel.Sc_ICMOBillWorkQtyStatus_AutoNextWorkBill = ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HValue"]);
                    }
                    //==========质量汇报单
                    //自动审核
                    if (ClsPub.isStrNull(DsSub.Tables[0].Rows[i]["HKey"]) == "Sc_ICMOBillQualityStatus_AutoCheck")
Pub_Class/CustomerCls/ClsXt_SystemParameterMain.cs
@@ -501,6 +501,7 @@
        public string Sc_ICMOBillWorkQtyStatus_AutoCheck;                   //保存后是否自动审核
        public string Sc_ICMOBillWorkQtyStatus_SaveAutoAddnew;               //保存后变为新增状态
        public string Sc_ICMOBillWorkQtyStatus_DeleterAndMakerMustSame;      //删除人必须是制单人
        public string Sc_ICMOBillWorkQtyStatus_AutoNextWorkBill;            //当下一个生产日计划是相同产品时,MES系统自动开工下一单
        //质量汇报单
        public string Sc_ICMOBillQualityStatus_AutoCheck;                       //保存后是否自动审核
        public string Sc_ICMOBillQualityStatus_SaveAutoAddnew;               //保存后变为新增状态
WebAPI/Controllers/BaseSet/Gy_EmployeeController.cs
@@ -1308,5 +1308,56 @@
        }
        #endregion
        #region æ ¹æ®ç­ç»„返回职员信息
        /// <summary>
        /// æ ¹æ®ç­ç»„返回职员信息
        /// </summary>
        /// <returns></returns>
        [Route("Gy_EmployeeController/GetEmpInfoByGroup_Json")]
        [HttpGet]
        public object GetEmpInfoByGroup_Json(Int64 HGroupID)
        {
            try
            {
                //返回列表信息
                ds = oCN.RunProcReturn("select * from h_v_IF_EmployeeList where ç¦ç”¨æ ‡è®°='' and HGroupID=" + HGroupID + " order by èŒå‘˜ä»£ç ", "h_v_IF_EmployeeList");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "所选班组无对应职员信息!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                else
                {
                    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
    }
}
WebAPI/Controllers/ProductInController.cs
@@ -42,6 +42,7 @@
        public ClsGy_BarCodeBill_WMS_Model_View oView =new ClsGy_BarCodeBill_WMS_Model_View();
        public ClsKF_PonderationBillMain_Temp model = new ClsKF_PonderationBillMain_Temp();
        public ClsKf_ICStockBill_WMS oBar = new Model.ClsKf_ICStockBill_WMS();
        Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
        //public ClsKf_ICStockBill_WMS oBar = new ClsKf_ICStockBill_WMS();
        public double sRelQty = 0;
       // private DataBaseServices objDataBaseServices = new DataBaseServices();
@@ -393,24 +394,54 @@
        {
            WebS.WebService1 oWebs = new WebS.WebService1();
            WebS.ClsKf_ICStockBill_WMS WebSoBar = new WebS.ClsKf_ICStockBill_WMS();
            var sJXCode = POStockInBillController.JX_Json(sCode, sInterID, HBillType, HOWNERID, sBillNo, sMaker);
            string sExpressNumber = "";
            //WebSoBar = oWebs.get_CheckTypeByBarCode_All(sCode, sInterID, HBillType, sBillNo, sMaker, WhID, SPID, sQty, sRedBlue, SourceFlag, sSourceBillNo, sSourceType, HOWNERID, sExpressNumber, ref DBUtility.ClsPub.sErrInfo);
            WebSoBar = oWebs.get_BarCode_MoveStockBillCheck(sJXCode, sInterID, HBillType, sBillNo, sMaker, WhID, SPID, SCWhID, SCSPID, sQty, HOWNERID, ref DBUtility.ClsPub.sErrInfo);
            if (WebSoBar == null)
            //获取系统参数
            string sErrMsg = "";
            string sJXCode = "";
            if (oSystemParameter.ShowBill(ref sErrMsg) == true)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = DBUtility.ClsPub.sErrInfo;
                objJsonResult.data = null;
                return objJsonResult;
                if (oSystemParameter.omodel.WMS_CampanyName == "安瑞") //系统参数  å®¢æˆ·å®šåˆ¶åŒ–名称     ç©ºç™½ä¸ºé€šç”¨
                {
                    sJXCode = POStockInBillController.JX_Json(sCode, sInterID, HBillType, HOWNERID, sBillNo, sMaker);
                }
                else
                {
                    sJXCode = sCode;
                }
                try
                {
                    WebSoBar = oWebs.get_BarCode_MoveStockBillCheck(sJXCode, sInterID, HBillType, sBillNo, sMaker, WhID, SPID, SCWhID, SCSPID, sQty, HOWNERID, ref DBUtility.ClsPub.sErrInfo);
                    if (WebSoBar == null)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = DBUtility.ClsPub.sErrInfo;
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    else
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = DBUtility.ClsPub.sErrInfo;
                        objJsonResult.data = WebSoBar;
                        return objJsonResult;
                    }
                }
                catch (Exception e)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "扫描条码失败!" + e.ToString();
                    objJsonResult.data = null;
                    return objJsonResult;
                }
            }
            else
            {
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = DBUtility.ClsPub.sErrInfo;
                objJsonResult.data = WebSoBar;
                objJsonResult.count = 0;
                objJsonResult.Message = "获取系统参数失败! " + sErrMsg;
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
WebAPI/Controllers/»ù´¡×ÊÁÏ/Éú²ú»ù´¡×ÊÁÏ/Gy_ShiftsController.cs
New file
@@ -0,0 +1,561 @@
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_ShiftsController : ApiController
    {
        public DBUtility.ClsPub.Enum_BillStatus BillStatus;
        const string ModCaption = "班次";
        public const string ModRightName = "Gy_Shifts";
        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_Shifts_Ctl oBill = new DAL.ClsGy_Shifts_Ctl();
        DAL.ClsGy_Shifts_View oBillHlp = new DAL.ClsGy_Shifts_View();
        #region ç­æ¬¡åˆ—表
        /// <summary>
        /// èŽ·å–ç­æ¬¡åˆ—è¡¨ä¿¡æ¯
        /// </summary>
        /// <returns></returns>
        [Route("Gy_ShiftsController/GetGy_ShiftsList_Json")]
        [HttpGet]
        public object GetGy_ShiftsList_Json(string sWhere, string HMaker, string OperationType)
        {
            try
            {
                //判断权限
                if (OperationType == "1")
                {
                    //判断权限
                    if (!DBUtility.ClsPub.Security_Log(ModRightName, 3, false, HMaker))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "您没有该模块权限,请与管理员联系!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                }
                //返回列表信息
                ds = oCn.RunProcReturn("select * from h_v_Gy_ShiftsList where " + sWhere + " order by " + ModCaption + "代码" , "h_v_Gy_ShiftsList");
                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_ShiftsController/GetGy_Shifts_Delete_Json")]
        [HttpGet]
        public object GetGy_Shifts_Delete_Json(Int64 HItemID, string HMaker)
        {
            try
            {
                //判断权限
                if (!DBUtility.ClsPub.Security_Log(ModRightNameDelete, 3, false, HMaker))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "您没有该模块删除功能权限,请与管理员联系!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //判断存在性
                if (oBillHlp.GetInfoByID(HItemID))
                {
                    //判断是否存在子项
                    if (oBill.HavChildCodes(HItemID))
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "此班次存在子项目,不能删除!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //删除数据
                    if (oBill.DeleteByID(HItemID))
                    {
                        //写入日志
                        DBUtility.ClsPub.Add_Log("", "删除班次,代码:" + oBillHlp.omodel.HNumber + ",名称:" + oBillHlp.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_ShiftsController/GetGy_Shifts_Check_Json")]
        [HttpGet]
        public object GetGy_Shifts_Check_Json(Int64 HItemID, int IsAudit, string HMaker)
        {
            string sErrMsg = "";
            try
            {
                //判断权限
                if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 3, false, HMaker))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "您没有该模块审核/反审核功能权限,请与管理员联系!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (IsAudit == 0)   //审核判断
                {
                    if (oBill.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 (oBill.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_ShiftsController/GetGy_Shifts_Stop_Json")]
        [HttpGet]
        public object GetGy_Shifts_Stop_Json(Int64 HItemID, int IsStop, string HMaker)
        {
            string sErrMsg = "";
            try
            {
                //判断权限
                if (!DBUtility.ClsPub.Security_Log(ModRightNameClose, 3, false, HMaker))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "您没有该模块禁用/反禁用功能权限,请与管理员联系!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                if (IsStop == 0)   //禁用判断
                {
                    if (oBill.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 (oBill.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_ShiftsController/GetGy_Shifts_Save_Json")]
        [HttpPost]
        public object GetGy_Shifts_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_Shifts_Model> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_Shifts_Model>>(msg2);
                oBill.oModel.HItemID = list[0].HItemID;
                oBill.oModel.HNumber = list[0].HNumber;
                oBill.oModel.HName = list[0].HName;
                oBill.oModel.HShortNumber = DBUtility.ClsPub.GetShortNumber(list[0].HNumber);
                oBill.oModel.HLevel = DBUtility.ClsPub.GetLevel(list[0].HNumber);
                oBill.oModel.HEndFlag = true;
                oBill.oModel.HStopflag = list[0].HStopflag;
                oBill.oModel.HUseFlag = list[0].HUseFlag;
                oBill.oModel.HRemark = list[0].HRemark;
                oBill.oModel.HMakeEmp = HMaker;
                oBill.oModel.HModifyEmp = HMaker;
                oBill.oModel.HCheckEmp = list[0].HCheckEmp;
                oBill.oModel.HUSEORGID = list[0].HUSEORGID;
                oBill.oModel.HCREATEORGID = list[0].HUSEORGID;
                //
                oBill.oModel.HDeptID = list[0].HDeptID;
                oBill.oModel.HBeginTimes = list[0].HBeginTimes;
                oBill.oModel.HEndTimes = list[0].HEndTimes;
                oBill.oModel.HWorkTimes = list[0].HWorkTimes;
                //检查父级是否存在
                string sParent = DBUtility.ClsPub.GetParentCode(list[0].HNumber);
                if (sParent.Trim() == "")
                {
                    oBill.oModel.HParentID = 0;
                }
                else
                {
                    ds = oCn.RunProcReturn("select * from " + ModRightName + " where HStopflag=0 and HNumber='" + sParent + "' and HItemID<>" + oBill.oModel.HItemID, ModRightName);
                    if (ds.Tables[0].Rows.Count > 0)
                    {
                        oBill.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='" + oBill.oModel.HItemID + "'", ModRightName);
                if (dsOldNumber.Tables[0].Rows.Count > 0)
                {
                    oBill.HOldNumber = DBUtility.ClsPub.isStrNull(dsOldNumber.Tables[0].Rows[0]["HNumber"]);
                    //是否新代码是自己子项目的 子项目
                    if (sParent.Length >= oBill.HOldNumber.Length)
                    {
                        if (sParent.Substring(0, oBill.HOldNumber.ToString().Length) == oBill.HOldNumber.Trim())
                        {
                            objJsonResult.code = "0";
                            objJsonResult.count = 0;
                            objJsonResult.Message = "新代码不能是自己的下级的子项目!";
                            objJsonResult.data = null;
                            return objJsonResult;
                        }
                    }
                }
                else
                {
                    oBill.HOldNumber = "";
                }
                //保存前判断
                //审核代码是否合理
                if (!DBUtility.ClsPub.AllowNumber(oBill.oModel.HNumber))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "代码中不能出现连续‘.’并且首位末位不能为‘.’!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //是否重复代码
                if (oBill.HavSameNumber(oBill.oModel.HItemID, oBill.oModel.HNumber))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "代码重复!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //保存
                if (OperationType == "1")
                {
                    //新增
                    if (oBill.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(oBill.oModel.HCheckEmp!="")
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "单据已审核,不允许修改!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    //修改
                    if (oBill.ModifyByID(oBill.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_ShiftsController/GetGy_Shifts_Json")]
        [HttpGet]
        public object GetGy_Shifts_Json(Int64 HItemID)
        {
            try
            {
                ds = oCn.RunProcReturn("select * from h_v_Gy_ShiftsListDetail where HItemID=" + HItemID, "h_v_Gy_ShiftsListDetail");
                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/WebAPI.csproj
@@ -553,6 +553,7 @@
    <Compile Include="Controllers\基础资料\工资基础资料\Gy_WorkTypeController.cs" />
    <Compile Include="Controllers\基础资料\工资基础资料\Gy_WorkPayTypeController.cs" />
    <Compile Include="Controllers\基础资料\工资基础资料\Gy_ClassTimePrjGroupController.cs" />
    <Compile Include="Controllers\基础资料\生产基础资料\Gy_ShiftsController.cs" />
    <Compile Include="Controllers\工资管理\HR_EmployeeSkillBillController.cs" />
    <Compile Include="Controllers\工资管理\Pay_OutApplyBillController.cs" />
    <Compile Include="Controllers\工资管理\Pay_OverApplyBillController.cs" />