yl
2023-09-07 d91966256d4b507b3f49d9f1b231b258e52a019b
1.仓库、仓位功能
1.设备类型、设备功能
已添加2个文件
已修改13个文件
1612 ■■■■■ 文件已修改
VueWebCoreApi/ApiGroup/OpenApiGroup.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Controllers/BasicSettingController.cs 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Controllers/DeviceManagerController.cs 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Controllers/GeneralBasicDataController.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Controllers/ImportExcelController.cs 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/BLL/BasicSettingBLL.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/BLL/DeviceManagerBLL.cs 98 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/BLL/GeneralBasicDataBLL.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs 313 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/DeviceManagerDAL.cs 792 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/LoginDAL.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Startup.cs 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Tools/ExcelList.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/appsettings.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/ApiGroup/OpenApiGroup.cs
@@ -16,6 +16,8 @@
        åŸºæœ¬èµ„æ–™ = 3,
        [Description("物料管理")]
        ç‰©æ–™ç®¡ç† = 4,
        [Description("设备管理")]
        è®¾å¤‡ç®¡ç† = 5,
        [Description("周期任务")]
        å‘¨æœŸä»»åŠ¡ = 9,
        [Description("系统设置")]
@@ -23,7 +25,9 @@
        [Description("通用基础资料")]
        é€šç”¨åŸºç¡€èµ„æ–™ = 11,
        [Description("畅捷通ERP基础数据同步")]
        ç•…捷通ERP基础数据同步 = 12
        ç•…捷通ERP基础数据同步 = 12,
        [Description("Excel导入")]
        Excel导入 = 13
    }
VueWebCoreApi/Controllers/BasicSettingController.cs
@@ -678,5 +678,90 @@
            return Json(mes);
        }
        #endregion
        #region[仓位树型信息]
        /// <summary>
        /// ä»“位树型信息
        /// </summary>
        /// <returns></returns>
        [Route(template: "TSecLocaTree")]
        [HttpGet]
        public JsonResult TSecLocaTree()
        {
            var token = HttpContext.Request.Headers["Token"].ToString();
            User us = JwtTools.Denocode(token.ToString());
            mes = BasicSettingBLL.TSecLocaTree();
            return Json(mes);
        }
        #endregion
        #region[仓位信息列表]
        /// <summary>
        /// ä»“位信息列表
        /// </summary>
        /// <param name="stckcode">仓库编码字符串集</param>
        /// <param name="locacode">仓位编码</param>
        /// <param name="locaname">仓位名称</param>
        /// <param name="page">页码</param>
        /// <param name="rows">每页显示条数</param>
        /// <param name="prop">排序字段</param>
        /// <param name="order">排序规则</param>
        /// <returns></returns>
        [Route(template: "TSecLocaData")]
        [HttpGet]
        public JsonResult TSecLocaData(string stckcode, string locacode, string locaname, int page = 0, int rows = 0, string prop = null, string order = null)
        {
            var token = HttpContext.Request.Headers["Token"].ToString();
            User us = JwtTools.Denocode(token.ToString());
            int startNum = rows * (page - 1) + 1;  //起始记录rowNum
            int endNum = rows * page;   //结束记录 rowNum
            mes = BasicSettingBLL.TSecLocaData(stckcode, locacode, locaname, startNum, endNum, prop, order);
            return Json(mes);
        }
        #endregion
        #region[仓位信息新增/编辑保存]
        /// <summary>
        /// ä»“位信息新增/编辑保存
        /// </summary>
        /// <param name="obj">提交数据</param>
        /// <returns></returns>
        [Route(template: "TSecLocaAddUpdate")]
        [HttpPost]
        public JsonResult TSecLocaAddUpdate([FromBody] JObject obj)
        {
            var token = HttpContext.Request.Headers["Token"].ToString();
            User us = JwtTools.Denocode(token.ToString());
            string data_sources = obj["data_sources"].ToString(); //数据来源:ERP/MES
            string locacode = obj["locacode"].ToString(); //货位编码
            string locaname = obj["locaname"].ToString(); //货位名称
            string stckcode = obj["stckcode"].ToString(); //对应仓库编码
            string parentlocacode = obj["parentlocacode"].ToString(); //上级货位编码
            string status = obj["status"].ToString(); //状态
            string description = obj["description"].ToString(); //备注
            string OperType = obj["OperType"].ToString();  //操作类型
            mes = BasicSettingBLL.TSecLocaAddUpdate(data_sources, locacode, locaname, stckcode, parentlocacode, status, description, OperType, us);
            return Json(mes);
        }
        #endregion
        #region[仓位信息删除]
        /// <summary>
        ///
        /// </summary>
        /// <param name="data_sources">数据来源:ERP/MES</param>
        /// <param name="locacode">仓库编码</param>
        /// <returns></returns>
        [Route(template: "TSecLocaDelete")]
        [HttpPost]
        public JsonResult TSecLocaDelete(string data_sources, string locacode)
        {
            var token = HttpContext.Request.Headers["Token"].ToString();
            User us = JwtTools.Denocode(token.ToString());
            mes = BasicSettingBLL.TSecLocaDelete(data_sources, locacode, us);
            return Json(mes);
        }
        #endregion
    }
}
VueWebCoreApi/Controllers/DeviceManagerController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,147 @@
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using VueWebCoreApi.DLL.BLL;
using VueWebCoreApi.Models;
using VueWebCoreApi.Tools;
namespace VueWebCoreApi.Controllers
{
    [ApiExplorerSettings(GroupName = "设备管理")]
    [ApiController]
    [Route("api/[controller]")]
    [ChannelActionFilter]
    public class DeviceManagerController : Controller
    {
        //定义全局信息返回变量
        ToMessage mes = new ToMessage();
        RedisHelper redis = new RedisHelper();
        #region[设备类型查询]
        /// <summary>
        /// è®¾å¤‡ç±»åž‹æŸ¥è¯¢
        /// </summary>
        /// <param name="page">页码</param>
        /// <param name="rows">每页显示条数</param>
        /// <param name="prop">排序字段</param>
        /// <param name="order">排序规则</param>
        /// <returns></returns>
        [Route(template: "DeviceTypeSearch")]
        [HttpGet]
        public JsonResult DeviceTypeSearch(int page = 0, int rows = 0, string prop = null, string order = null)
        {
            var token = HttpContext.Request.Headers["Token"].ToString();
            User us = JwtTools.Denocode(token.ToString());
            int startNum = rows * (page - 1) + 1;  //起始记录rowNum
            int endNum = rows * page;   //结束记录 rowNum
            mes = DeviceManagerBLL.DeviceTypeSearch(startNum, endNum, prop, order);
            return Json(mes);
        }
        #endregion
        #region[设备类型新增]
        /// <summary>
        /// è®¾å¤‡ç±»åž‹æ–°å¢ž
        /// </summary>
        /// <param name="json">提交数据对象</param>
        /// <returns></returns>
        [Route(template: "AddUpdateDeviceType")]
        [HttpPost]
        public JsonResult AddUpdateDeviceType(List<ObjectDataCont> json)
        {
            var token = HttpContext.Request.Headers["Token"].ToString();
            User us = JwtTools.Denocode(token.ToString());
            mes = DeviceManagerBLL.AddUpdateDeviceType(json, us);
            return Json(mes);
        }
        #endregion
        #region[设备类型删除]
        /// <summary>
        /// è®¾å¤‡ç±»åž‹åˆ é™¤
        /// </summary>
        /// <param name="devicetypecode">设备类型编码</param>
        /// <returns></returns>
        [Route(template: "DeleteDeviceType")]
        [HttpPost]
        public JsonResult DeleteDeviceType(string devicetypecode)
        {
            var token = HttpContext.Request.Headers["Token"].ToString();
            User us = JwtTools.Denocode(token.ToString());
            mes = DeviceManagerBLL.DeleteDeviceType(devicetypecode, us);
            return Json(mes);
        }
        #endregion
        #region[设备列表查询]
        /// <summary>
        /// è®¾å¤‡åˆ—表查询
        /// </summary>
        /// <param name="devicecode">设备编码</param>
        /// <param name="devicename">设备名称</param>
        /// <param name="status">使用状态</param>
        /// <param name="storgcode">所属组织</param>
        /// <param name="devicetype">设备类型</param>
        /// <param name="page">页码</param>
        /// <param name="rows">每页显示条数</param>
        /// <param name="prop">排序字段</param>
        /// <param name="order">排序规则</param>
        /// <returns></returns>
        [Route(template: "DeviceMangerSearch")]
        [HttpGet]
        public JsonResult DeviceMangerSearch(string devicecode = null, string devicename = null, string status = null, string storgcode = null, string devicetype = null, int page = 0, int rows = 0, string prop = null, string order = null)
        {
            var token = HttpContext.Request.Headers["Token"].ToString();
            User us = JwtTools.Denocode(token.ToString());
            int startNum = rows * (page - 1) + 1;  //起始记录rowNum
            int endNum = rows * page;   //结束记录 rowNum
            mes = DeviceManagerBLL.DeviceMangerSearch(devicecode, devicename, status, storgcode, devicetype, startNum, endNum, prop, order);
            return Json(mes);
        }
        #endregion
        #region[设备信息新增编辑]
        /// <summary>
        /// è®¾å¤‡æ¸…单新增编辑
        /// </summary>
        /// <param name="obj">提交数据对象</param>
        /// <returns></returns>
        [Route(template: "AddUpdateDeviceManger")]
        [HttpPost]
        public JsonResult AddUpdateDeviceManger([FromBody] JObject obj)
        {
            var token = HttpContext.Request.Headers["Token"].ToString();
            User us = JwtTools.Denocode(token.ToString());
            string devicecode = obj["devicecode"].ToString(); //设备编码
            string devicename = obj["devicename"].ToString(); //设备名称
            string devicetype = obj["devicetypecode"].ToString(); //设备类型编码
            string storgcode = obj["storgcode"].ToString(); //所属组织编码
            string status = obj["status"].ToString(); //使用状态
            string OperType = obj["OperType"].ToString();  //操作类型
            mes = DeviceManagerBLL.AddUpdateDeviceManger(devicecode, devicename, devicetype, storgcode, status,OperType, us);
            return Json(mes);
        }
        #endregion
        #region[设备信息删除]
        /// <summary>
        /// è®¾å¤‡ä¿¡æ¯åˆ é™¤
        /// </summary>
        /// <param name="devicecode">设备编码</param>
        /// <returns></returns>
        [Route(template: "DeleteDeviceManger")]
        [HttpPost]
        public JsonResult DeleteDeviceManger(string devicecode)
        {
            var token = HttpContext.Request.Headers["Token"].ToString();
            User us = JwtTools.Denocode(token.ToString());
            mes = DeviceManagerBLL.DeleteDeviceManger(devicecode, us);
            return Json(mes);
        }
        #endregion
    }
}
VueWebCoreApi/Controllers/GeneralBasicDataController.cs
@@ -90,7 +90,6 @@
        }
        #endregion
        #region[单位信息查询]
        /// <summary>
        /// å•位信息查询
@@ -105,5 +104,19 @@
            return Json(mes);
        }
        #endregion
        #region[设备类型信息查询]
        /// <summary>
        /// è®¾å¤‡ç±»åž‹ä¿¡æ¯æŸ¥è¯¢
        /// </summary>
        /// <returns></returns>
        [Route(template: "DeviceTypeData")]
        [HttpGet]
        public JsonResult DeviceTypeData()
        {
            mes = GeneralBasicDataBLL.DeviceTypeData();
            return Json(mes);
        }
        #endregion
    }
}
VueWebCoreApi/Controllers/ImportExcelController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using VueWebCoreApi.Tools;
namespace VueWebCoreApi.Controllers
{
    [ApiExplorerSettings(GroupName = "Excel导入")]
    [ApiController]
    [Route("api/[controller]")]
    //[ChannelActionFilter]
    public class ImportExcelController : Controller
    {
        //定义全局信息返回变量
        ToMessage mes = new ToMessage();
        #region[Excel导入模板列表]
        /// <summary>
        /// Excel导入模板列表
        /// </summary>
        /// <returns></returns>
        [Route(template: "ExcelModelData")]
        [HttpGet]
        public JsonResult ExcelModelData()
        {
            List<ScoreReport> list = ExcelList.ExcelData();
            mes.code = "200";
            mes.data = list;
            return Json(mes);
        }
        #endregion
        #region [Excel导入模板下载]
        /// <summary>
        /// Excel导入模板下载
        /// </summary>
        /// <param name="FileCode"></param>
        /// <returns></returns>
        [Route(template: "DownLoadExcel")]
        [HttpGet]
        public JsonResult DownLoadExcel(string FileCode = null)
        {
            List<ScoreReport> list = ExcelList.ExcelData();
            list = list.Where(s => s.FileCode == FileCode).ToList();
            var filename = list[0].FileName + ".xls";
            string fileip = AppSetting.GetAppSetting("FileIP");
            var msg = fileip + "/Excel/" + filename;
            mes.code = "200";
            mes.data = msg;
            return Json(mes);
        }
        #endregion
    }
}
VueWebCoreApi/DLL/BLL/BasicSettingBLL.cs
@@ -342,5 +342,34 @@
            return BasicSettingDAL.TSecStckDelete(data_sources,stckcode,us);
        }
        #endregion
        #region[仓位树型信息]
        public static ToMessage TSecLocaTree()
        {
            return BasicSettingDAL.TSecLocaTree();
        }
        #endregion
        #region[仓位信息列表]
        public static ToMessage TSecLocaData(string stckcode, string locacode, string locaname, int startNum, int endNum, string prop, string order)
        {
            return BasicSettingDAL.TSecLocaData(stckcode, locacode, locaname, startNum, endNum, prop, order);
        }
        #endregion
        #region[仓位信息新增/编辑保存]
        public static ToMessage TSecLocaAddUpdate(string data_sources, string locacode, string locaname, string stckcode, string parentlocacode, string status, string description, string OperType, User us)
        {
            return BasicSettingDAL.TSecStckAddUpdate(data_sources, locacode, locaname, stckcode, parentlocacode, status, description, OperType, us);
        }
        #endregion
        #region[仓位信息删除]
        public static ToMessage TSecLocaDelete(string data_sources, string locacode, User us)
        {
            return BasicSettingDAL.TSecLocaDelete(data_sources, locacode, us);
        }
        #endregion
    }
}
VueWebCoreApi/DLL/BLL/DeviceManagerBLL.cs
@@ -10,34 +10,8 @@
{
    public class DeviceManagerBLL
    {
        #region[设备类型查询]
        public static ToMessage DeviceTypeSearch(int startNum, int endNum, string prop, string order)
        {
            return DeviceManagerDAL.DeviceTypeSearch(startNum, endNum, prop, order);
        }
        #endregion
        #region[设备类型新增]
        public static ToMessage AddUpdateDeviceType(List<ObjectDataCont> json, string username)
        {
            return DeviceManagerDAL.AddUpdateDeviceType(json, username);
        }
        #endregion
        #region[设备类型删除]
        public static ToMessage DeleteDeviceType(string devicetypecode)
        {
            return DeviceManagerDAL.DeleteDeviceType(devicetypecode);
        }
        #endregion
        #region[设备类型下拉框接口]
        public static ToMessage DeviceTypeSelect()
        {
            return DeviceManagerDAL.DeviceTypeSelect();
        }
        #endregion
        #region[设备组查询]
        public static ToMessage DeviceGroupSearch(int startNum, int endNum, string prop, string order)
@@ -81,28 +55,6 @@
            return DeviceManagerDAL.WorkShopSelectLine(workshopcode);
        }
        #endregion
        #region [设备清单查询]
        public static ToMessage DeviceMangerSearch(string stu_torgcode, string description, string deviceCode, string deviceName, string status, string workShop, string deviceType, string deviceGroup, int startNum, int endNum, string prop, string order)
        {
            return DeviceManagerDAL.DeviceMangerSearch(stu_torgcode, description, deviceCode, deviceName, status, workShop, deviceType, deviceGroup, startNum, endNum, prop, order);
        }
        #endregion
        #region[设备清单新增编辑]
        public static ToMessage AddUpdateDeviceManger(string deviceid, string devicecode, string devicename, string devicetype, string devicegroup, string importdate, string workshop, string linecode, string status, string ratio, string usercode, string operType)
        {
            return DeviceManagerDAL.AddUpdateDeviceManger(deviceid, devicecode, devicename, devicetype, devicegroup, importdate, workshop, linecode, status, ratio, usercode, operType);
        }
        #endregion
        #region[设备清单删除]
        public static ToMessage DeleteDeviceManger(string devicecode)
        {
            return DeviceManagerDAL.DeleteDeviceManger(devicecode);
        }
        #endregion
@@ -319,5 +271,55 @@
            return DeviceManagerDAL.DeviceUpdateOutExcel(stu_torgcode, description, wkshopcode, eqpcode, eqpname, reportuser, repairuser, vrifcatuser, reportopendate, reportclosedate, repairopendate, repairclosedate, vrifcatopendate, vrifcatclosedate);
        }
        #endregion
        #region[设备类型查询]
        public static ToMessage DeviceTypeSearch(int startNum, int endNum, string prop, string order)
        {
            return DeviceManagerDAL.DeviceTypeSearch(startNum, endNum, prop, order);
        }
        #endregion
        #region[设备类型新增]
        public static ToMessage AddUpdateDeviceType(List<ObjectDataCont> json, User us)
        {
            return DeviceManagerDAL.AddUpdateDeviceType(json, us);
        }
        #endregion
        #region[设备类型删除]
        public static ToMessage DeleteDeviceType(string devicetypecode, User us)
        {
            return DeviceManagerDAL.DeleteDeviceType(devicetypecode,us);
        }
        #endregion
        #region [设备清单查询]
        public static ToMessage DeviceMangerSearch(string devicecode, string devicename, string status, string storgcode, string devicetype, int startNum, int endNum, string prop, string order)
        {
            return DeviceManagerDAL.DeviceMangerSearch(devicecode, devicename, status, storgcode, devicetype, startNum, endNum, prop, order);
        }
        #endregion
        #region[设备信息新增编辑]
        public static ToMessage AddUpdateDeviceManger(string devicecode, string devicename, string devicetype, string storgcode, string status, string OperType, User us)
        {
            return DeviceManagerDAL.AddUpdateDeviceManger(devicecode, devicename, devicetype, storgcode, status, OperType, us);
        }
        #endregion
        #region[#region[设备信息删除]]
        public static ToMessage DeleteDeviceManger(string devicecode,User us)
        {
            return DeviceManagerDAL.DeleteDeviceManger(devicecode,us);
        }
        #endregion
    }
}
VueWebCoreApi/DLL/BLL/GeneralBasicDataBLL.cs
@@ -59,5 +59,12 @@
            return GeneralBasicDataDAL.UnitSerch(tunittype);
        }
        #endregion
        #region[设备类型信息查询]
        public static ToMessage DeviceTypeData()
        {
            return GeneralBasicDataDAL.DeviceTypeData();
        }
        #endregion
    }
}
VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs
@@ -2177,7 +2177,7 @@
                //查询所有默认菜单及按钮、数据
                sql = @"select menucode,menuname,parent_id,buttoncodelist 
                        from TMenu 
                        where Type=@type";
                        where is_show='Y' and Type=@type ";
                dynamicParams.Add("@type", type);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
@@ -2774,9 +2774,9 @@
                    search += "and S.ishasPosition=@ishasPosition ";
                    dynamicParams.Add("@ishasPosition", ishasPosition);
                }
                sql = @"select S.code,S.name,S.status,S.ishasPosition,S.description,S.lm_user as usercode,U.username,S.data_sources
                sql = @"select S.code,S.name,S.status,S.ishasPosition,S.description,S.lm_user as usercode,U.username,S.lm_date,S.data_sources
                        from TSecStck S
                        left join TUser U on C.lm_user=U.usercode
                        left join TUser U on S.lm_user=U.usercode
                        where 1=1 " + search;
                // --------------查询指定数据--------------
                var total = 0; //总条数
@@ -2883,7 +2883,7 @@
                        return mes;
                    }
                    //更新仓库
                    sql = @"update TCustomer set name=@name,status=@status,ishasPosition=@ishasPosition,description=@description,lm_user=@lm_user,lm_date=@lm_date
                    sql = @"update TSecStck set name=@name,status=@status,ishasPosition=@ishasPosition,description=@description,lm_user=@lm_user,lm_date=@lm_date
                            where code=@code";
                    list.Add(new
                    {
@@ -2899,6 +2899,21 @@
                            lm_date = DateTime.Now.ToString()
                        }
                    });
                    if (status == "1")  //仓库停用时,下面所有的仓位停用
                    {
                        //更新库位状态为禁用
                        sql = @"update TSecLoca set status=@status where idwarehouse=@code";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                status = status,
                                code = stckcode
                            }
                        });
                    }
                    bool aa = DapperHelper.DoTransaction(list);
                    if (aa)
                    {
@@ -2989,5 +3004,295 @@
            return mes;
        }
        #endregion
        #region[仓位树型信息]
        public static ToMessage TSecLocaTree()
        {
            string sql = "";
            try
            {
                //获取开启仓位管控的仓库信息
                sql = @"select S.code,S.name,'-1' as idparent   from TSecStck S where S.ishasPosition='1'
                        union all
                        select L.code,L.name,case when L.idparent is NULL or L.idparent='' then L.idwarehouse else L.idparent end as idparent
                        from TSecLoca L ";
                var data = DapperHelper.selecttable(sql);
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.data = data;
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[仓位信息列表]
        public static ToMessage TSecLocaData(string stckcode, string locacode, string locaname, int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "", sql = "";
            IEnumerable<object> data;
            try
            {
                if (stckcode != "" && stckcode != null)
                {
                    string[] classcode = Array.ConvertAll<string, string>(stckcode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries), s => s.ToString()); //string分割转string[]
                    search += "and C.idparent in @classcode ";
                    dynamicParams.Add("@classcode", classcode);
                }
                if (locacode != "" && locacode != null)
                {
                    search += "and C.code like '%'+@locacode+'%' ";
                    dynamicParams.Add("@locacode", locacode);
                }
                if (locaname != "" && locaname != null)
                {
                    search += "and C.name like '%'+@locaname+'%' ";
                    dynamicParams.Add("@locaname", locaname);
                }
                sql = @"select C.code,C.name,C.status,C.description,C.idwarehouse as stckcode,T.name as stckname,C.idparent as parentcode,L.name as parentname,
                        C.lm_user as usercode,U.username,C.lm_date,C.data_sources
                        from (
                        select L.code,L.name,L.idwarehouse,L.status,L.description,L.lm_user,L.lm_date,L.data_sources,case when L.idparent is NULL or L.idparent='' then L.idwarehouse else L.idparent end as idparent
                        from TSecLoca L
                        ) as C
                        left join TSecStck T  on C.idwarehouse=T.code
                        left join TSecLoca L  on C.idparent=L.code
                        left join TUser U on C.lm_user=U.usercode
                        where 1=1 " + search;
                // --------------查询指定数据--------------
                var total = 0; //总条数
                data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.count = total;
                mes.data = data.ToList();
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[仓位信息新增/编辑保存]
        public static ToMessage TSecStckAddUpdate(string data_sources, string locacode, string locaname, string stckcode, string parentlocacode, string status, string description, string OperType, User us)
        {
            string sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                if (OperType == "Add")
                {
                    //判断仓位编码是否重复
                    sql = @"select *  from TSecLoca where code=@locacode";
                    dynamicParams.Add("@locacode", locacode);
                    var data = DapperHelper.selectdata(sql, dynamicParams);
                    if (data.Rows.Count > 0)
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "仓位编码已存在,请重新输入!";
                        mes.data = null;
                        return mes;
                    }
                    //判断往来单位名称是否重复
                    sql = @"select *  from TSecLoca where name=@locaname";
                    dynamicParams.Add("@locaname", locaname);
                    var data1 = DapperHelper.selectdata(sql, dynamicParams);
                    if (data1.Rows.Count > 0)
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "仓位已存在,请重新输入!";
                        mes.data = null;
                        return mes;
                    }
                    //写入往来单位
                    sql = @"insert into TSecLoca(code,name,idwarehouse,idparent,status,description,lm_user,lm_date,data_sources)
                            values(@code,@name,@idwarehouse,@idparent,@status,@description,@lm_user,@lm_date,@data_sources)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            code = locacode,
                            name = locaname,
                            idwarehouse = stckcode,
                            idparent = parentlocacode,
                            status = status,
                            description = description,
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString(),
                            data_sources = data_sources
                        }
                    });
                    bool aa = DapperHelper.DoTransaction(list);
                    if (aa)
                    {
                        //写入操作记录表
                        LogHelper.DbOperateLog(us.usercode, "新增", "新增了仓位:" + locacode, us.usertype);
                        mes.code = "200";
                        mes.count = 0;
                        mes.Message = "新增操作成功!";
                        mes.data = null;
                    }
                    else
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "新增操作失败!";
                        mes.data = null;
                    }
                }
                if (OperType == "Update")
                {
                    //判断往来单位名称是否重复
                    sql = @"select *  from TSecLoca where  code<>@code and name=@name";
                    dynamicParams.Add("@code", locacode);
                    dynamicParams.Add("@name", locaname);
                    var data1 = DapperHelper.selectdata(sql, dynamicParams);
                    if (data1.Rows.Count > 0)
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "仓位名称已存在,请重新输入!";
                        mes.data = null;
                        return mes;
                    }
                    //更新存货分类
                    sql = @"update TSecLoca set name=@name,idwarehouse=@idwarehouse,idparent=@idparent,status=@status,description=@description,lm_user=@lm_user,lm_date=@lm_date
                            where code=@code";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            code = locacode,
                            name = locaname,
                            idwarehouse = stckcode,
                            idparent = parentlocacode,
                            status = status,
                            description = description,
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString()
                        }
                    });
                    if (status == "1")  //仓位停用时,下面所有的仓位停用
                    {
                        //更新库位状态为禁用
                        sql = @"update TSecLoca set status=@status where idparent=@code";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                status = status,
                                code = locacode
                            }
                        });
                    }
                    bool aa = DapperHelper.DoTransaction(list);
                    if (aa)
                    {
                        //写入操作记录表
                        LogHelper.DbOperateLog(us.usercode, "修改", "修改了仓位:" + locacode, us.usertype);
                        mes.code = "200";
                        mes.count = 0;
                        mes.Message = "修改操作成功!";
                        mes.data = null;
                    }
                    else
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "修改操作失败!";
                        mes.data = null;
                    }
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[仓位信息删除]
        public static ToMessage TSecLocaDelete(string data_sources, string locacode, User us)
        {
            string sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                //判断当前仓位下是否有子项
                sql = @"select *  from TSecLoca where idparent=@locacode";
                dynamicParams.Add("@locacode", locacode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "当前仓位下存在子项,不允许删除!";
                    mes.data = null;
                    return mes;
                }
                //删除仓位
                sql = @"delete TSecLoca  where code=@code and data_sources=@data_sources";
                list.Add(new
                {
                    str = sql,
                    parm = new
                    {
                        code = locacode,
                        data_sources = data_sources
                    }
                });
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    //写入操作记录表
                    LogHelper.DbOperateLog(us.usercode, "删除", "删除了仓位:" + locacode, us.usertype);
                    mes.code = "200";
                    mes.count = 0;
                    mes.Message = "删除操作成功!";
                    mes.data = null;
                }
                else
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "删除操作失败!";
                    mes.data = null;
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
    }
}
VueWebCoreApi/DLL/DAL/DeviceManagerDAL.cs
@@ -19,179 +19,6 @@
        public static List<SqlParameter> listStr = new List<SqlParameter>(); //定义全局参数集合
        public static SqlParameter[] parameters; //定义全局SqlParameter参数数组
        #region[设备类型查询]
        public static ToMessage DeviceTypeSearch(int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            try
            {
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select id, code,name,remark
                            from TEqpType
                            where  is_delete<>'1' ";
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.count = total;
                mes.data = data.ToList();
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[设备类型新增]
        public static ToMessage AddUpdateDeviceType(List<ObjectDataCont> json, string username)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //循环写入设备类型表
                for (int i = 0; i < json.Count; i++)
                {
                    sql = @"insert into TEqpType(code,name,lm_user,lm_date,remark) values(@code,@name,@username,@createdate,@description)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            code = json[i].code,
                            name = json[i].name,
                            username = username,
                            createdate = DateTime.Now.ToString(),
                            description = json[i].description
                        }
                    });
                }
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    mes.code = "200";
                    mes.count = 0;
                    mes.Message = "操作成功!";
                    mes.data = null;
                }
                else
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "操作失败!";
                    mes.data = null;
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[设备类型删除]
        public static ToMessage DeleteDeviceType(string devicetypecode)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //判断设备类型下是否关联设备组
                sql = @"select *  from TEqpGroup where eqptype_code=@devicetypecode and is_delete<>'1'";
                dynamicParams.Add("@devicetypecode", devicetypecode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "当前设备类型已有关联设备组,不允许删除!";
                    mes.data = null;
                }
                else
                {
                    //判断设备有无关联设备类型
                    sql = @"select *  from TEqpInfo where eqptype_code=@devicetypecode and is_delete<>'1'";
                    dynamicParams.Add("@devicetypecode", devicetypecode);
                    var data0 = DapperHelper.selectdata(sql, dynamicParams);
                    if (data0.Rows.Count > 0)
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "当前设备类型已有关联设备组,不允许删除!";
                        mes.data = null;
                    }
                    else
                    {
                        sql = @"delete TEqpType where code=@devicetypecode";
                        list.Add(new { str = sql, parm = new { devicetypecode = devicetypecode } });
                        bool aa = DapperHelper.DoTransaction(list);
                        if (aa)
                        {
                            mes.code = "200";
                            mes.count = 0;
                            mes.Message = "删除成功!";
                            mes.data = null;
                        }
                        else
                        {
                            mes.code = "300";
                            mes.count = 0;
                            mes.Message = "删除失败!";
                            mes.data = null;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[设备类型下拉框接口]
        public static ToMessage DeviceTypeSelect()
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            List<TreeObejct> list = new List<TreeObejct>();
            try
            {
                //获取设备类型数据
                sql = @"select code,name from TEqpType where is_delete<>'1'";
                var data = DapperHelper.selecttable(sql);
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.data = data;
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[设备组查询]
        public static ToMessage DeviceGroupSearch(int startNum, int endNum, string prop, string order)
@@ -431,262 +258,6 @@
        }
        #endregion
        #region [设备清单查询]
        public static ToMessage DeviceMangerSearch(string stu_torgcode, string description, string deviceCode, string deviceName, string status, string workShop, string deviceType, string deviceGroup, int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
            try
            {
                if (workShop != "" && workShop != null)
                {
                    search += "and A.wksp_code=@workShop ";
                    dynamicParams.Add("@workShop", workShop);
                }
                else
                {
                    switch (description)
                    {
                        case "":
                            search += "and T.description=@description ";
                            dynamicParams.Add("@description", "W");
                            break;
                        case "D":
                            search += "and  L.org_code=@stu_torgcode ";
                            dynamicParams.Add("@stu_torgcode", stu_torgcode);
                            break;
                    }
                }
                if (deviceCode != "" && deviceCode != null)
                {
                    search += "and A.code like '%'+@deviceCode+'%' ";
                    dynamicParams.Add("@deviceCode", deviceCode);
                }
                if (deviceName != "" && deviceName != null)
                {
                    search += "and A.name like '%'+@deviceName+'%' ";
                    dynamicParams.Add("@deviceName", deviceName);
                }
                if (status != "" && status != null)
                {
                    search += "and A.enable=@status ";
                    dynamicParams.Add("@status", status);
                }
                if (deviceType != "" && deviceType != null)
                {
                    search += "and A.eqptype_code=@deviceType ";
                    dynamicParams.Add("@deviceType", deviceType);
                }
                if (deviceGroup != "" && deviceGroup != null)
                {
                    search += "and A.eqpgroup_code=@deviceGroup ";
                    dynamicParams.Add("@deviceGroup", deviceGroup);
                }
                if (search == "")
                {
                    search = "and 1=1 ";
                }
                //search = search.Substring(3);//截取索引2后面的字符
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select A.id,A.code,A.name,A.eqptype_code,B.name as eqptype_name,A.eqpgroup_code,G.name as eqpgroup_name,A.enable,
                            A.input_date,A.wksp_code,T.org_name as wksp_name,A.Line_code,L.org_name as Line_name,A.opc_uom,A.operation_ration,U.username as lm_user,A.lm_date
                            from TEqpInfo A
                            left join TEqpType B on A.eqptype_code=B.code
                            left join TEqpGroup G on A.eqpgroup_code=G.code
                            left join TOrganization T on A.wksp_code=T.org_code
                            left join TOrganization as L on T.parent_id=L.id
                            left join TUser U on A.lm_user=U.usercode
                            where A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.count = total;
                mes.data = data.ToList();
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[设备清单新增编辑]
        public static ToMessage AddUpdateDeviceManger(string deviceid, string devicecode, string devicename, string devicetype, string devicegroup, string importdate, string workshop, string linecode, string status, string ratio, string usercode, string operType)
        {
            var dynamicParams = new DynamicParameters();
            try
            {
                if (operType == "Add")
                {
                    var sql = @"insert into TEqpInfo(code,name,eqptype_code,eqpgroup_code,wksp_code,line_code,input_date,operation_ration,enable,opc_uom,lm_user,lm_date)
                            values(@devicecode,@devicename,@devicetype,@devicegroup,@workshop,@linecode,@importdate,@ratio,@status,@uom,@usercode,@CreateDate)";
                    dynamicParams.Add("@devicecode", devicecode);
                    dynamicParams.Add("@devicename", devicename);
                    dynamicParams.Add("@devicetype", devicetype);
                    dynamicParams.Add("@devicegroup", devicegroup);
                    dynamicParams.Add("@workshop", workshop);
                    dynamicParams.Add("@linecode", linecode);
                    dynamicParams.Add("@importdate", importdate);
                    dynamicParams.Add("@ratio", ratio);
                    dynamicParams.Add("@status", status);
                    dynamicParams.Add("@uom", "台");
                    dynamicParams.Add("@usercode", usercode);
                    dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
                    int cont = DapperHelper.SQL(sql, dynamicParams);
                    if (cont > 0)
                    {
                        mes.code = "200";
                        mes.count = 0;
                        mes.Message = "新增操作成功!";
                        mes.data = null;
                    }
                    else
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "新增操作失败!";
                        mes.data = null;
                    }
                }
                if (operType == "Update")
                {
                    var sql = @"update TEqpInfo set name=@devicename,eqptype_code=@devicetype,eqpgroup_code=@devicegroup,input_date=@importdate,
                                wksp_code=@workshop,line_code=@linecode,enable=@status,operation_ration=@ratio,lm_user=@usercode,lm_date=@CreateDate
                                where id=@deviceid";
                    dynamicParams.Add("@deviceid", deviceid);
                    dynamicParams.Add("@devicename", devicename);
                    dynamicParams.Add("@devicetype", devicetype);
                    dynamicParams.Add("@devicegroup", devicegroup);
                    dynamicParams.Add("@workshop", workshop);
                    dynamicParams.Add("@linecode", linecode);
                    dynamicParams.Add("@importdate", importdate);
                    dynamicParams.Add("@ratio", ratio);
                    dynamicParams.Add("@status", status);
                    dynamicParams.Add("@usercode", usercode);
                    dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
                    int cont = DapperHelper.SQL(sql, dynamicParams);
                    if (cont > 0)
                    {
                        mes.code = "200";
                        mes.count = 0;
                        mes.Message = "修改操作成功!";
                        mes.data = null;
                    }
                    else
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "修改操作失败!";
                        mes.data = null;
                    }
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[设备清单删除]
        public static ToMessage DeleteDeviceManger(string devicecode)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //判断设备是否有关联工艺路线的生产订单(未关闭),不允许删除
                sql = @"select A.code,M.wo_code,R.name  from TEqpInfo A
                        inner join TFlw_Rteqp B on A.code=B.eqp_code
                        inner join TStep C on B.step_code=C.stepcode
                        inner join TFlw_Rtdt D on C.stepcode=D.step_code
                        inner join TFlw_Rout R on D.rout_code=R.code
                        inner join TK_Wrk_Man M on R.code=M.route_code
                        where  A.code=@devicecode";
                dynamicParams.Add("@devicecode", devicecode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "当前设备被工单引用,不允许删除!";
                    mes.data = null;
                    return mes;
                }
                //判断设备是否有关联工艺路线工序,不允许删除
                sql = @"select *  from TFlw_Rteqp
                        where eqp_code=@devicecode";
                dynamicParams.Add("@devicecode", devicecode);
                var data0 = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "当前设备已关联工序,不允许删除!";
                    mes.data = null;
                    return mes;
                }
                //判断设备是否指定节拍工价,不允许删除
                sql = @"select *  from TPrteEqp_Stad
                        where eqp_code=@devicecode";
                dynamicParams.Add("@devicecode", devicecode);
                var data1 = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "当前设备已指定节拍工价,不允许删除!";
                    mes.data = null;
                    return mes;
                }
                //删除设备
                sql = @"update TEqpInfo set is_delete='1' where code=@devicecode";
                list.Add(new { str = sql, parm = new { devicecode = devicecode } });
                //删除设备关联点检标准表
                sql = @"delete TEqpchk_Eqp  where eqp_code=@devicecode";
                list.Add(new { str = sql, parm = new { devicecode = devicecode } });
                //删除设备绑定保养标准表
                sql = @"delete TEqpmai_Eqp  where eqp_code=@devicecode";
                list.Add(new { str = sql, parm = new { devicecode = devicecode } });
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    mes.code = "200";
                    mes.count = 0;
                    mes.Message = "删除成功!";
                    mes.data = null;
                }
                else
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "删除失败!";
                    mes.data = null;
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
@@ -2796,5 +2367,368 @@
            return mes;
        }
        #endregion
        #region[设备类型查询]
        public static ToMessage DeviceTypeSearch(int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            try
            {
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select id, code,name,remark
                            from TEqpType";
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.count = total;
                mes.data = data.ToList();
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[设备类型新增]
        public static ToMessage AddUpdateDeviceType(List<ObjectDataCont> json, User us)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //循环写入设备类型表
                for (int i = 0; i < json.Count; i++)
                {
                    sql = @"insert into TEqpType(code,name,lm_user,lm_date,remark) values(@code,@name,@username,@createdate,@description)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            code = json[i].code,
                            name = json[i].name,
                            username = us.usercode,
                            createdate = DateTime.Now.ToString(),
                            description = json[i].description
                        }
                    });
                }
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    //写入操作记录表
                    LogHelper.DbOperateLog(us.usercode, "新增", "新增了设备类型:" + string.Join(",", json.Select(m => m.code)), us.usertype);
                    mes.code = "200";
                    mes.count = 0;
                    mes.Message = "操作成功!";
                    mes.data = null;
                }
                else
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "操作失败!";
                    mes.data = null;
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[设备类型删除]
        public static ToMessage DeleteDeviceType(string devicetypecode, User us)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //判断设备有无关联设备类型
                sql = @"select *  from TEqpInfo where eqptype_code=@devicetypecode";
                dynamicParams.Add("@devicetypecode", devicetypecode);
                var data0 = DapperHelper.selectdata(sql, dynamicParams);
                if (data0.Rows.Count > 0)
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "当前设备类型已有关联设备,不允许删除!";
                    mes.data = null;
                }
                else
                {
                    sql = @"delete TEqpType where code=@devicetypecode";
                    list.Add(new { str = sql, parm = new { devicetypecode = devicetypecode } });
                    bool aa = DapperHelper.DoTransaction(list);
                    if (aa)
                    {
                        //写入操作记录表
                        LogHelper.DbOperateLog(us.usercode, "删除", "删除了设备类型:" + devicetypecode, us.usertype);
                        mes.code = "200";
                        mes.count = 0;
                        mes.Message = "删除成功!";
                        mes.data = null;
                    }
                    else
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "删除失败!";
                        mes.data = null;
                    }
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region [设备清单查询]
        public static ToMessage DeviceMangerSearch(string devicecode, string devicename, string status, string storgcode, string devicetype, int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
            try
            {
                if (devicecode != "" && devicecode != null)
                {
                    search += "and A.code like '%'+@devicecode+'%' ";
                    dynamicParams.Add("@devicecode", devicecode);
                }
                if (devicename != "" && devicename != null)
                {
                    search += "and A.name like '%'+@devicename+'%' ";
                    dynamicParams.Add("@devicename", devicename);
                }
                if (status != "" && status != null)
                {
                    search += "and A.enable=@status ";
                    dynamicParams.Add("@status", status);
                }
                if (storgcode != "" && storgcode != null)
                {
                    search += "and A.torg_code=@storgcode ";
                    dynamicParams.Add("@storgcode", storgcode);
                }
                if (devicetype != "" && devicetype != null)
                {
                    search += "and A.eqptype_code=@devicetype ";
                    dynamicParams.Add("@devicetype", devicetype);
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select A.id,A.code,A.name,A.eqptype_code,B.name as eqptype_name,A.enable,A.torg_code,T.torg_name,A.opc_uom,U.username as lm_user,A.lm_date
                            from TEqpInfo A
                            left join TEqpType B on A.eqptype_code=B.code
                            left join TOrganization T on A.torg_code=T.torg_code
                            left join TUser U on A.lm_user=U.usercode
                            where 1=1 " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.count = total;
                mes.data = data.ToList();
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[设备信息新增编辑]
        public static ToMessage AddUpdateDeviceManger(string devicecode, string devicename, string devicetype, string storgcode, string status, string OperType, User us)
        {
            var dynamicParams = new DynamicParameters();
            string sql = "";
            try
            {
                if (OperType == "Add")
                {
                    //判断设备编码是否重复
                    sql = @"select *  from TEqpInfo where code=@devicecode";
                    dynamicParams.Add("@devicecode", devicecode);
                    var data = DapperHelper.selectdata(sql, dynamicParams);
                    if (data.Rows.Count > 0)
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "设备编码已存在,请重新输入!";
                        mes.data = null;
                        return mes;
                    }
                    //判断设备名称是否重复
                    sql = @"select *  from TEqpInfo where name=@devicename";
                    dynamicParams.Add("@devicename", devicename);
                    var data1 = DapperHelper.selectdata(sql, dynamicParams);
                    if (data1.Rows.Count > 0)
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "设备名称已存在,请重新输入!";
                        mes.data = null;
                        return mes;
                    }
                    sql = @"insert into TEqpInfo(code,name,eqptype_code,torg_code,enable,opc_uom,lm_user,lm_date)
                            values(@devicecode,@devicename,@devicetype,@torg_code,@status,@uom,@usercode,@CreateDate)";
                    dynamicParams.Add("@devicecode", devicecode);
                    dynamicParams.Add("@devicename", devicename);
                    dynamicParams.Add("@devicetype", devicetype);
                    dynamicParams.Add("@torg_code", storgcode);
                    dynamicParams.Add("@status", status);
                    dynamicParams.Add("@uom", "台");
                    dynamicParams.Add("@usercode", us.usercode);
                    dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
                    int cont = DapperHelper.SQL(sql, dynamicParams);
                    if (cont > 0)
                    {
                        //写入操作记录表
                        LogHelper.DbOperateLog(us.usercode, "新增", "新增了设备:" + devicecode, us.usertype);
                        mes.code = "200";
                        mes.count = 0;
                        mes.Message = "新增操作成功!";
                        mes.data = null;
                    }
                    else
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "新增操作失败!";
                        mes.data = null;
                    }
                }
                if (OperType == "Update")
                {
                    //判断设备名称是否重复
                    sql = @"select *  from TEqpInfo where  code<>@code and name=@name";
                    dynamicParams.Add("@code", devicecode);
                    dynamicParams.Add("@name", devicename);
                    var data1 = DapperHelper.selectdata(sql, dynamicParams);
                    if (data1.Rows.Count > 0)
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "设备名称已存在,请重新输入!";
                        mes.data = null;
                        return mes;
                    }
                    sql = @"update TEqpInfo set name=@devicename,eqptype_code=@devicetype,torg_code=@torg_code,enable=@status,lm_user=@usercode,lm_date=@CreateDate
                                where code=@devicecode";
                    dynamicParams.Add("@devicecode", devicecode);
                    dynamicParams.Add("@devicename", devicename);
                    dynamicParams.Add("@devicetype", devicetype);
                    dynamicParams.Add("@torg_code", storgcode);
                    dynamicParams.Add("@status", status);
                    dynamicParams.Add("@usercode", us.usercode);
                    dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
                    int cont = DapperHelper.SQL(sql, dynamicParams);
                    if (cont > 0)
                    {
                        //写入操作记录表
                        LogHelper.DbOperateLog(us.usercode, "修改", "修改了设备:" + devicecode, us.usertype);
                        mes.code = "200";
                        mes.count = 0;
                        mes.Message = "修改操作成功!";
                        mes.data = null;
                    }
                    else
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "修改操作失败!";
                        mes.data = null;
                    }
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[设备信息删除]
        public static ToMessage DeleteDeviceManger(string devicecode,User us)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //判断设备是否有开报工,不允许删除
                //删除设备
                sql = @"delete TEqpInfo  where code=@devicecode";
                list.Add(new { str = sql, parm = new { devicecode = devicecode } });
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    //写入操作记录表
                    LogHelper.DbOperateLog(us.usercode, "删除", "删除了设备:" + devicecode, us.usertype);
                    mes.code = "200";
                    mes.count = 0;
                    mes.Message = "删除成功!";
                    mes.data = null;
                }
                else
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "删除失败!";
                    mes.data = null;
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
    }
}
VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs
@@ -234,5 +234,30 @@
            return mes;
        }
        #endregion
        #region[设备类型信息查询]
        public static ToMessage DeviceTypeData()
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //获取设备类型数据
                sql = @"select code,name from TEqpType";
                var data = DapperHelper.selecttable(sql);
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.data = data;
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
    }
}
VueWebCoreApi/DLL/DAL/LoginDAL.cs
@@ -172,7 +172,7 @@
                        string codeString = string.Join(",", menuCodes);
                        //查询菜单数据
                        sql = @"select menucode,menuname,menu_seq,imgurl,'0' as flag,parent_id,is_show    
                                from TMenu where Type=@usertype order by menu_seq";
                                from TMenu where is_show='Y' and Type=@usertype order by menu_seq";
                        dynamicParams.Add("@usertype", usertype);
                        var data0 = DapperHelper.selectdata(sql, dynamicParams);
                        if (data0.Rows.Count > 0)
@@ -267,7 +267,7 @@
                        string codeString = string.Join(",", menuCodes);
                        //查询菜单数据
                        sql = @"select menucode,menuname,menu_seq,imgurl,'0' as flag,parent_id,is_show   
                                from TMenu where Type=@usertype order by menu_seq";
                                from TMenu where is_show='Y' and Type=@usertype order by menu_seq";
                        dynamicParams.Add("@usertype", usertype);
                        var data0 = DapperHelper.selectdata(sql, dynamicParams);
                        if (data0.Rows.Count > 0)
VueWebCoreApi/Startup.cs
@@ -10,6 +10,7 @@
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Authorization;
using Microsoft.AspNetCore.StaticFiles;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
@@ -110,7 +111,6 @@
            services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie();
        }
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IHostApplicationLifetime applicationLeftTime, ILoggerFactory loggerFactory)
        {
@@ -122,6 +122,7 @@
            {
                DataOperator.SetConnectionString1(Convert.ToString(AppSetting.GetAppSetting("DBServer")));
            });
            #region Swagger分组第二种
            app.UseSwagger();
            app.UseSwaggerUI(c =>
@@ -140,6 +141,17 @@
            app.UseRouting();
            app.UseAuthorization();
            //添加静态文件中间件
            app.UseDefaultFiles();
            //添加授权文件
            app.UseStaticFiles(new StaticFileOptions()
            {
                ContentTypeProvider = new FileExtensionContentTypeProvider()
                {
                    Mappings = { [".xls"] = "application/vnd.ms-excel" }
                }
            });
            app.UseStaticFiles();
            //跨域
            app.UseCors("cors");
            //用户session服务
@@ -150,6 +162,21 @@
            app.UseStaticHostEnviroment();
            //Quartz
            app.UseQuartz(env).UseStaticHttpContext();
            //配置Excel下载
            //app.UseStaticFiles(
            //    new StaticFileOptions
            //    {
            //      //设置不限制content-type
            //       ServeUnknownFileTypes = true
            //    });
            //app.UseStaticFiles(new StaticFileOptions()
            //{
            //    ContentTypeProvider = new FileExtensionContentTypeProvider()
            //    {
            //        Mappings = { [".exe"] = "application/octect-stream" }
            //    }
            //});
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
VueWebCoreApi/Tools/ExcelList.cs
@@ -12,6 +12,7 @@
            List<ScoreReport> list = new List<ScoreReport>
            {
                new ScoreReport("0","组织架构"),
                new ScoreReport("1","角色清单"),
                new ScoreReport("2","用户清单"),
                new ScoreReport("3","工位清单"),
VueWebCoreApi/appsettings.json
@@ -9,7 +9,7 @@
  "AllowedHosts": "*",
  //服务器环境
  "ConnectionStrings": {
    "DBServer": "Data Source=121.196.36.24,1533;Initial Catalog=newvmes;User ID=sa;Password=xkd@20230101;pooling=false",
    "DBServer": "Data Source=121.196.36.24,1533;Initial Catalog=vmes_JL;User ID=sa;Password=xkd@20230101;pooling=false",
    //企业编码
    "CompanyCode": "000",
    //企业名称
@@ -25,7 +25,7 @@
    //session失效时间
    "InProc": "240",
    //Excel导出模板配置IP
    "FileIP": "http://121.196.36.24:8001/",
    "FileIP": "http://121.196.36.24:8021/",
    //jwtkey
    "SigningKey": "Hello World"
  }