wtt
21 小时以前 e7ef7f02094dbfc44950cb5bb363b95f0c77c57a
WebAPI/Controllers/BaseSet/Gy_EmployeeController.cs
@@ -6,8 +6,11 @@
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Web;
using System.Web.Http;
using WebAPI.Models;
using WebAPI.Models.基础资料;
using WebAPI.Service;
namespace WebAPI.Controllers
@@ -21,7 +24,7 @@
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        string fileip = System.Configuration.ConfigurationManager.AppSettings["FileIP"];
        /// <summary>
        /// 返回职员列表
@@ -36,7 +39,7 @@
            {
                List<object> columnNameList = new List<object>();
                //编辑权限
                if (!DBUtility.ClsPub.Security_Log_second("Gy_Employee", 1, false, user))
                if (!DBUtility.ClsPub.Security_Log_second("Gy_Employee_Query", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -47,11 +50,11 @@
                string sql1 = string.Format(@"select * from h_v_IF_EmployeeList where 组织名称='" + Organization + "'");
                if (sWhere == null || sWhere.Equals(""))
                {
                    ds = oCN.RunProcReturn(sql1 + sWhere + " order by 职员代码", "h_v_IF_EmployeeList");
                    ds = oCN.RunProcReturn(sql1 + sWhere, "h_v_IF_EmployeeList");
                }
                else
                {
                    string sql = sql1 + sWhere + " order by 职员代码";
                    string sql = sql1 + sWhere;
                    ds = oCN.RunProcReturn(sql, "h_v_IF_EmployeeList");
                }
@@ -265,6 +268,8 @@
        //        return objJsonResult;
        //    }
        //}
        /// <summary>
        /// 保存按钮
        ///参数:string sql。
@@ -284,6 +289,7 @@
                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string msg2 = sArray[0].ToString();
                string msg3 = sArray[1].ToString();
                string msg4 = sArray[2].ToString();
                //string msg4 = sArray[2].ToString();
                //string msg5 = sArray[3].ToString();
@@ -300,6 +306,7 @@
                //反序列化
                msg2 = "[" + msg2.ToString() + "]";
                List<Gy_Employee> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Gy_Employee>>(msg2);
                List<ClsGy_EmployeeSub> list1 = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsGy_EmployeeSub>>(msg4);
                long HItemID = list[0].HItemID;
                string HNumber = list[0].HNumber;
@@ -424,6 +431,17 @@
                //    objJsonResult.data = null;
                //    return objJsonResult;
                //}
                //查询数据中是否存在重复代码
                ds = oCN.RunProcReturn("Select HItemID from Gy_Employee  Where HItemID<>" + HItemID + " and HNumber='" + HNumber + "' and HUSEORGID=" + HUSEORGID, "Gy_Warehouse");
                if (ds.Tables[0].Rows.Count > 0)
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!代码重复!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                //保存
                //保存完毕后处理
                if (HItemID == 0)
@@ -446,7 +464,7 @@
                      ",HEmpType,HPayType,HOverType,HNoBrushFlag,HShiftFlag,HStopwagesFlag" +
                      ",HPostalCode,HBank,HBasePay,HExamLevPostMoney,HBSTDeptID" +
                      ",HOtherDeduct3,HInsurance,HMedicare,HDrydock" +
                      ",HBankAccount,HGroupID,HDeptID,HWorkTypeID,HCTPrjID,HUSEORGID,HAddress" +
                      ",HBankAccount,HGroupID,HDeptID,HWorkTypeID,HCTPrjID,HUSEORGID,HAddress,HMakeEmp" +
                      ") " +
                   " Values('" + HNumber + "','" + HName + "','" + HShortNumber + "','" + HEmpRate.ToString() + "','" + HExamRate.ToString() +
                      "','" + HLevel + "','" + HParentID + "','" + Convert.ToString(HEndFlag ? 1 : 0) + "','" + HHighestPay.ToString() + "','" + HOverPayRate.ToString() +
@@ -464,15 +482,52 @@
                      "','" + HEmpType + "'" + ",'" + HPayType + "'" + ",'" + DBUtility.ClsPub.BoolToString(HOverType) + "','" + DBUtility.ClsPub.BoolToString(HNoBrushFlag) + "','" + DBUtility.ClsPub.BoolToString(HShiftFlag) + "','" + DBUtility.ClsPub.BoolToString(HStopwagesFlag) +
                      "','" + HPostalCode + "','" + HBank + "','" + HBasePay.ToString() + "','" + HExamLevPostMoney.ToString() + "','" + HBSTDeptID + "'" +
                      ",'" + HOtherDeduct3.ToString() + "','" + HInsurance.ToString() + "','" + HMedicare.ToString() + "','" + HDrydock.ToString() +
                      "','" + HBankAccount + "'" + ",'" + HGroupID.ToString() + "','" + HDeptID.ToString() + "','" + HWorkTypeID.ToString() + "','" + HCTPrjID.ToString() + "','" + HUSEORGID + "','" + HAddress + "')", ref DBUtility.ClsPub.sExeReturnInfo);
                      "','" + HBankAccount + "'" + ",'" + HGroupID.ToString() + "','" + HDeptID.ToString() + "','" + HWorkTypeID.ToString() + "','" + HCTPrjID.ToString() + "','" + HUSEORGID + "','" + HAddress + "','"+ msg3 + "')", ref DBUtility.ClsPub.sExeReturnInfo);
                    //修改上级为非末级代码
                    oCN.RunProc("Update Gy_Employee set HStopflag=0 where HItemID=" + HParentID, ref DBUtility.ClsPub.sExeReturnInfo);
                    DataSet temp_ds = oCN.RunProcReturn("select top 1 HItemID from Gy_Employee where HNumber = N'" + HNumber + "'", "Gy_Employee");
                    if (temp_ds.Tables[0].Rows.Count < 1)
                    {
                        objJsonResult.code = "0";
                        objJsonResult.count = 1;
                        objJsonResult.Message = "保存失败!原因:插入数据失败";
                        objJsonResult.data = null;
                        oCN.RollBack();
                        return objJsonResult;
                    }
                    int itemID = int.Parse(temp_ds.Tables[0].Rows[0]["HItemID"].ToString());
                    string sql3 = "";
                    foreach (ClsGy_EmployeeSub listOne in list1)
                    {
                        sql3 += "insert into Gy_Employee_Post(HEmpID, HPostID, HRemark) Values("
                        + itemID + "," + listOne.HPostID +",N'" + listOne.HRemark + "');";
                    }
                    LogService.Write(sql3);
                    oCN.RunProcReturn(sql3, "Gy_Employee_Post");
                    oCN.Commit();
                }
                else
                {
                    //若MAINDI重复则重新获取
                    oCN.BeginTran();
                    //已审核不允许修改
                    DataSet dss;
                    dss = oCN.RunProcReturn("select * from Gy_Employee where HItemID=" + HItemID, "Gy_Employee");
                    //判断是否可编辑
                    if (dss.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
                    {
                        oCN.RollBack();
                        objJsonResult.code = "0";
                        objJsonResult.count = 0;
                        objJsonResult.Message = "此单据状态已经审核,不允许修改!";
                        objJsonResult.data = null;
                        return objJsonResult;
                    }
                    oCN.RunProc("Update Gy_Employee set " +
                    " HNumber='" +  HNumber + "'" +
                    ",HName='" +  HName + "'" +
@@ -558,6 +613,17 @@
                    ",HAddress='" +  HAddress.ToString() + "'" +
                    ",HDeptID= '" +  HDeptID + "' Where HItemID=" + HItemID);
                    oCN.RunProcReturn("delete from Gy_Employee_Post where HEmpID = " + HItemID, "Gy_Employee_Post");
                    string sql3 = "";
                    foreach (ClsGy_EmployeeSub listOne in list1)
                    {
                        sql3 += "insert into Gy_Employee_Post(HEmpID, HPostID, HRemark) Values("
                       + HItemID + "," + listOne.HPostID  + ",N'" + listOne.HRemark + "');";
                    }
                    LogService.Write(sql3);
                    oCN.RunProcReturn(sql3, "Gy_WorkCenterSub");
                    oCN.Commit();
                }
                objJsonResult.code = "0";
@@ -577,6 +643,8 @@
                return objJsonResult;
            }
        }
        ///// <summary>
        ///// 保存职员
        ///// </summary>
@@ -809,7 +877,52 @@
        //    }
        //}
        /// <summary>
        /// 查询子表方法
        /// </summary>
        [Route("Gy_Employee/listSub")]
        [HttpGet]
        public object listSub(string sWhere, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //查看权限
                if (!DBUtility.ClsPub.Security_Log("Gy_Employee_Query", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查看权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ds = oCN.RunProcReturn("select * from h_v_IF_EmployeeSubList where 1 = 1 " + sWhere + " order by HItemID ", "h_v_IF_EmployeeSubList");
                //添加列名
                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 = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        /// <summary>
        /// 职员设置获取信息
@@ -862,6 +975,13 @@
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "没有数据,无法删除!";
                    objJsonResult.data = null;
                    return objJsonResult; ;
                }else if (ds.Tables[0].Rows[0]["HCheckEmp"] !=null && ds.Tables[0].Rows[0]["HCheckEmp"].ToString() != "")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "职员已经审核不能删除!";
                    objJsonResult.data = null;
                    return objJsonResult; ;
                }
@@ -1307,7 +1427,7 @@
               ,HLevel,HEndFlag,HStopflag,HRemark,HDeptID,HGroupID,HUseFlag,HMakeTime,HCREATEORGID,HUSEORGID
                 )
                values
                ({jsonData.HItemID},{jsonData.HERPItemID},'{jsonData.HNumber}','{jsonData.HName}',
                ({jsonData.HItemID},{jsonData.HItemID},'{jsonData.HNumber}','{jsonData.HName}',
                '{jsonData.HShortNumber}',{jsonData.HParentID},{jsonData.HLevel},{jsonData.HEndFlag},{jsonData.HStopflag},'{jsonData.HRemark}',{jsonData.HDeptID},{jsonData.HGroupID},'{jsonData.HUseFlag}','{jsonData.HMakeTime}',{jsonData.HCREATEORGID},{jsonData.HUSEORGID})";
                    oCN.RunProc(sql);
@@ -1335,7 +1455,6 @@
        }
        #endregion
        #region 根据班组返回职员信息
        /// <summary>
        /// 根据班组返回职员信息
@@ -1348,7 +1467,8 @@
            try
            {
                //返回列表信息
                ds = oCN.RunProcReturn("select * from h_v_IF_EmployeeList where 禁用标记='' and HGroupID=" + HGroupID + " order by 职员代码", "h_v_IF_EmployeeList");
                ds = oCN.RunProcReturn("exec h_p_Pay_GetEmployeeByGroup " + HGroupID.ToString(), "h_p_Pay_GetEmployeeByGroup");
                //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";
@@ -1386,5 +1506,189 @@
        }
        #endregion
        #region 职员附件上传
        /// <summary>
        /// 文件上传
        /// </summary>
        /// <returns></returns>
        [Route("Gy_Employee_UploadFile")]
        [HttpPost]
        public object Gy_Employee_UploadFile()
        {
            string HBillNo = HttpContext.Current.Request.Params["HBillNo"];  //单据号
            string HRemark = HttpContext.Current.Request.Params["HRemark"];  //备注
            string HUserName = HttpContext.Current.Request.Params["HUserName"];  //创建人
            HttpPostedFile files = HttpContext.Current.Request.Files["file"];
            string path = HttpContext.Current.Server.MapPath("~/../Files/Gy_Employee/" + HBillNo);
            dynamic dyResult = UpLoadFile(files, path, HBillNo, HRemark, HUserName);
            if (dyResult != null && dyResult.result == 1)
            {
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "上传成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            else
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = dyResult.returnval;
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        public dynamic UpLoadFile(HttpPostedFile files, string path, string HBillNo, string HRemark, string HUserName)
        {
            dynamic Result_Ob = new { result = 1, returnval = "上传成功!" };
            string filePath = Path.GetFullPath(files.FileName);//文件上传路径
            string fileExtension = Path.GetExtension(files.FileName);// 文件扩展名
            string filename = files.FileName;//文件名
            string fileSavePath = path;// 上传保存路径
            int filesize = files.ContentLength;//获取上传文件的大小单位为字节byte
            int Maxsize = 40000 * 1024;//定义上传文件的最大空间大小为40M
            try
            {
                if (files == null || files.ContentLength <= 0)
                {
                    Result_Ob = new { result = 0, returnval = "文件不能为空!" };
                    return Result_Ob;
                }
                if (filesize >= Maxsize)
                {
                    Result_Ob = new { result = 0, returnval = "上传文件超过40M,不能上传!" };
                    return Result_Ob;
                }
                string fileurl = Path.Combine(fileSavePath, filename);
                if (Directory.Exists(fileurl) == true)  //如果存在重名文件就提示
                {
                    Result_Ob = new { result = 0, returnval = "存在同名文件!" };
                    return Result_Ob;
                }
                //删除数据表数据
                ds = oCN.RunProcReturn("delete from MES_AccessoriesList where HSourceBillNo ='" + HBillNo + "' and HFileName='" + filename + "'", "MES_AccessoriesList");
                if (Directory.Exists(path))
                {
                    File.Delete(fileurl);      //删除指定文件
                    files.SaveAs(fileurl);
                    string StrPath = "/files/Gy_Employee/" + HBillNo + "/" + filename;
                    if (File.Exists(fileurl))
                    {
                        //这里可以执行一些其它的操作,比如更新数据库
                        //写入数据表
                        oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" +
                                    ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" +
                                    ",HFileClsID,HSourceBillNo" +
                                   ") values('"
                                    + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" +
                                    ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize +
                                    "','" + 0 + "','" + HBillNo +
                                   "') ");
                    }
                    else
                    {
                        Result_Ob = new { result = 0, returnval = "上传失败!此文件为恶意文件" };
                    }
                }
                else
                {
                    Directory.CreateDirectory(fileSavePath); //添加文件夹
                    files.SaveAs(fileurl);
                    string StrPath = "/files/Gy_Employee/" + HBillNo + "/" + filename;
                    if (File.Exists(fileurl))
                    {
                        //这里可以执行一些其它的操作,比如更新数据库
                        //写入数据表
                        oCN.RunProc("Insert into MES_AccessoriesList (HFileName,HFilePath,HFilePath_Cus,HFileType" +
                                    ",HLoadMan,HLoadDate,HRemark,HVerNum,HFileSize" +
                                    ",HFileClsID,HSourceBillNo" +
                                   ") values('"
                                    + filename.ToString() + "','" + StrPath.ToString() + "','" + filePath.ToString() + "','" + fileExtension.ToString() + "'" +
                                    ",'" + HUserName + "',getdate(),'" + HRemark + "','V1','" + filesize +
                                    "','" + 0 + "','" + HBillNo +
                                   "') ");
                    }
                    else
                    {
                        Result_Ob = new { result = 0, returnval = "上传失败!此文件为恶意文件" };
                    }
                }
            }
            catch (Exception e)
            {
                Result_Ob = new { result = 0, returnval = e.Message };
            }
            return Result_Ob;
        }
        /// <summary>
        /// 根据单据号查找上传文件列表
        /// </summary>
        /// <param name="sWhere"></param>
        /// <returns></returns>
        [Route("Gy_Employee_Filelist")]
        [HttpGet]
        public object Gy_Employee_Filelist(string HBillNo)
        {
            var url = fileip + "/files/Gy_Employee/" + HBillNo + "/";
            //@"C:\\files\\"
            try
            {
                ds = oCN.RunProcReturn("select *,'" + url + "'+CAST(HFileName as varchar(200))as url  from MES_AccessoriesList where HSourceBillNo='" + HBillNo + "'", "MES_AccessoriesList");
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        /// <summary>
        /// 根据ID,单据号,文件名 删除文件
        /// </summary>
        /// <param name="sWhere"></param>
        /// <returns></returns>
        [Route("Gy_Employee_DeleteFilelist")]
        [HttpGet]
        public object Gy_Employee_DeleteFilelist(string HItemID, string HSourceBillNo, string HFileName)
        {
            try
            {
                oCN.RunProc("delete from MES_AccessoriesList where HItemID =" + HItemID);
                string fileurl = Path.Combine(HttpContext.Current.Server.MapPath("~/../Files/EquipTechParamFolder/" + HSourceBillNo), HFileName);
                File.Delete(fileurl);      //删除指定文件
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "删除成功!";
                objJsonResult.data = null;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
#endregion
    }
}