1.模具清单功能接口(新增、修改、删除、导入)
2.模具点检项目接口(新增、修改、删除、导入)
3.存货树形基础数据接口
已添加5个文件
已修改11个文件
1280 ■■■■ 文件已修改
VueWebCoreApi/ApiGroup/OpenApiGroup.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Controllers/GeneralBasicDataController.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Controllers/MouldManagerController.cs 161 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Controllers/QualityManagementController.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/BLL/GeneralBasicDataBLL.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/BLL/MouldManagerBLL.cs 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/BLL/QualityManagementBLL.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/ExcelCheckDAL.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/MouldManagerDAL.cs 489 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/QualityManagementDAL.cs 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Tools/ExcelList.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Tools/ImportExcelData.cs 419 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/VueWebCoreApi.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/wwwroot/Excel/模具清单.xls 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/wwwroot/Excel/模具点检项目.xls 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/ApiGroup/OpenApiGroup.cs
@@ -18,24 +18,26 @@
        ç‰©æ–™ç®¡ç† = 4,
        [Description("设备管理")]
        è®¾å¤‡ç®¡ç† = 5,
        [Description("模具管理")]
        æ¨¡å…·ç®¡ç† = 6,
        [Description("工单管理")]
        å·¥å•管理 = 6,
        å·¥å•管理 = 7,
        [Description("统计报表")]
        ç»Ÿè®¡æŠ¥è¡¨ = 7,
        ç»Ÿè®¡æŠ¥è¡¨ = 8,
        [Description("质量管理")]
        è´¨é‡ç®¡ç† = 8,
        è´¨é‡ç®¡ç† = 9,
        [Description("周期任务")]
        å‘¨æœŸä»»åŠ¡ = 9,
        å‘¨æœŸä»»åŠ¡ = 10,
        [Description("系统设置")]
        ç³»ç»Ÿè®¾ç½® = 10,
        ç³»ç»Ÿè®¾ç½® = 11,
        [Description("通用基础资料")]
        é€šç”¨åŸºç¡€èµ„æ–™ = 11,
        é€šç”¨åŸºç¡€èµ„æ–™ = 12,
        [Description("畅捷通ERP基础数据同步")]
        ç•…捷通ERP基础数据同步 = 12,
        ç•…捷通ERP基础数据同步 = 13,
        [Description("Excel导入")]
        Excel导入 = 13,
        Excel导入 = 14,
        [Description("单据打印")]
        å•据打印 = 14
        å•据打印 = 15
    }
}
VueWebCoreApi/Controllers/GeneralBasicDataController.cs
@@ -220,5 +220,19 @@
            return Json(mes);
        }
        #endregion
        #region[存货树型基础资料]
        /// <summary>
        /// å­˜è´§æ ‘型基础资料
        /// </summary>
        /// <returns></returns>
        [Route(template: "InventoryTreePermissions")]
        [HttpGet]
        public JsonResult InventoryTreePermissions()
        {
            mes = GeneralBasicDataBLL.InventoryTreePermissions();
            return Json(mes);
        }
        #endregion
    }
}
VueWebCoreApi/Controllers/MouldManagerController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,161 @@
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 MouldManagerController : Controller
    {
        //定义全局信息返回变量
        ToMessage mes = new ToMessage();
        RedisHelper redis = new RedisHelper();
        #region[模具清单列表查询]
        /// <summary>
        /// æ¨¡å…·æ¸…单列表查询
        /// </summary>
        /// <param name="mouldstaus">模具状态</param>
        /// <param name="onstate">使用状态</param>
        /// <param name="mouldcode">模具编码</param>
        /// <param name="mouldname">模具名称</param>
        /// <param name="mouldspec">规格型号</param>
        /// <param name="createuser">创建人员</param>
        /// <param name="createdate">创建时间</param>
        /// <param name="page">页码</param>
        /// <param name="rows">每页显示条数</param>
        /// <param name="prop">排序字段</param>
        /// <param name="order">排序规则</param>
        /// <returns></returns>
        [Route(template: "MouldMangerSearch")]
        [HttpGet]
        public JsonResult MouldMangerSearch(string mouldstaus = null, string onstate = null,string mouldcode=null,string mouldname=null,string mouldspec=null,string createuser=null,string createdate=null, int page = 0, int rows = 0, string prop = null, string order = null)
        {
            string opendate = "";     //开始时间
            string closedate = "";    //结束时间
            if (createuser != "" && createuser != null)
            {
                opendate = createuser.Split('~')[0].ToString();
                closedate = createuser.Split('~')[1].ToString();
            }
            int startNum = rows * (page - 1) + 1;  //起始记录rowNum
            int endNum = rows * page;   //结束记录 rowNum
            mes = MouldManagerBLL.MouldMangerSearch(mouldstaus, onstate, mouldcode, mouldname, mouldspec, createuser, opendate, closedate, startNum, endNum, prop, order);
            return Json(mes);
        }
        #endregion
        #region[模具清单新增编辑]
        /// <summary>
        /// æ¨¡å…·æ¸…单新增编辑
        /// </summary>
        /// <param name="obj">提交数据对象</param>
        /// <returns></returns>
        [Route(template: "AddUpdateMouldManger")]
        [HttpPost]
        public JsonResult AddUpdateMouldManger([FromBody] JObject obj)
        {
            var token = HttpContext.Request.Headers["Token"].ToString();
            User us = JwtTools.Denocode(token.ToString());
            string mouldcode = obj["mouldcode"].ToString(); //模具编码
            string mouldname = obj["mouldname"].ToString(); //模具名称
            string mouldspec = obj["mouldspec"].ToString(); //模具规格
            string warehousecode = obj["warehousecode"].ToString(); //仓库编码
            string surplife = obj["surplife"].ToString(); //预计寿命
            string resilife = obj["resilife"].ToString(); //剩余寿命
            string status = obj["status"].ToString(); //模具状态
            string mouldpart = obj["mouldpart"].ToString(); //关联产品
            string opertype = obj["opertype"].ToString();  //操作类型
            mes = MouldManagerBLL.AddUpdateMouldManger(mouldcode, mouldname, mouldspec, warehousecode, surplife, resilife, status, mouldpart, opertype, us);
            return Json(mes);
        }
        #endregion
        #region[模具清单删除]
        /// <summary>
        /// æ¨¡å…·æ¸…单删除
        /// </summary>
        /// <param name="mouldcode">模具编码</param>
        /// <returns></returns>
        [Route(template: "DeleteMouldManger")]
        [HttpPost]
        public JsonResult DeleteMouldManger(string mouldcode)
        {
            var token = HttpContext.Request.Headers["Token"].ToString();
            User us = JwtTools.Denocode(token.ToString());
            mes = MouldManagerBLL.DeleteMouldManger(mouldcode, us);
            return Json(mes);
        }
        #endregion
        #region[模具点检项列表查询]
        /// <summary>
        /// æ¨¡å…·ç‚¹æ£€é¡¹åˆ—表查询
        /// </summary>
        /// <param name="checkitemcode">点检部位编码</param>
        /// <param name="checkitemname">点检部位名称</param>
        /// <param name="checkdescr">点检要求</param>
        /// <param name="page">页码</param>
        /// <param name="rows">每页显示条数</param>
        /// <param name="prop">排序字段</param>
        /// <param name="order">排序规则</param>
        /// <returns></returns>
        [Route(template: "MouldCheckItemSearch")]
        [HttpGet]
        public JsonResult MouldCheckItemSearch(int page, int rows, string prop, string order, string checkitemcode = null, string checkitemname = null, string checkdescr = null)
        {
            int startNum = rows * (page - 1) + 1;  //起始记录rowNum
            int endNum = rows * page;   //结束记录 rowNum
            mes = MouldManagerBLL.MouldCheckItemSearch(checkitemcode, checkitemname, checkdescr, startNum, endNum, prop, order);
            return Json(mes);
        }
        #endregion
        #region[模具点检项新增编辑]
        /// <summary>
        /// æ¨¡å…·ç‚¹æ£€é¡¹æ–°å¢žç¼–辑
        /// </summary>
        /// <param name="obj">提交数据对象</param>
        /// <returns></returns>
        [Route(template: "AddUpdateMouldCheckItem")]
        [HttpPost]
        public JsonResult AddUpdateMouldCheckItem([FromBody] JObject obj)
        {
            var token = HttpContext.Request.Headers["Token"].ToString();
            User us = JwtTools.Denocode(token.ToString());
            string checkitemid = obj["id"].ToString();    //模具点检项id(主键)
            string checkitemcode = obj["checkitemcode"].ToString(); //模具点检部位编码
            string checkitemname = obj["checkitemname"].ToString(); //模具点检部位名称
            string checkitemdescr = obj["checkitemdescr"].ToString(); //模具点检部位要求
            string opertype = obj["opertype"].ToString();  //操作类型
            mes = MouldManagerBLL.AddUpdateMouldCheckItem(checkitemid, checkitemcode, checkitemname, checkitemdescr, us, opertype);
            return Json(mes);
        }
        #endregion
        #region[模具点检项删除]
        /// <summary>
        /// æ¨¡å…·ç‚¹æ£€é¡¹åˆ é™¤
        /// </summary>
        /// <param name="checkitemcode">模具点检项目(部位)编码</param>
        /// <returns></returns>
        [Route(template: "DeleteMouldCheckItem")]
        [HttpPost]
        public JsonResult DeleteMouldCheckItem(string checkitemcode)
        {
            mes = MouldManagerBLL.DeleteMouldCheckItem(checkitemcode);
            return Json(mes);
        }
        #endregion
    }
}
VueWebCoreApi/Controllers/QualityManagementController.cs
@@ -185,6 +185,20 @@
        }
        #endregion
        #region[工序质检方案新增、编辑获取检验项目下拉列表]
        /// <summary>
        /// å·¥åºè´¨æ£€æ–¹æ¡ˆæ–°å¢žã€ç¼–辑获取检验项目下拉列表
        /// </summary>
        /// <returns></returns>
        [Route(template: "QualityStepCheckItemSelect")]
        [HttpGet]
        public JsonResult QualityStepCheckItemSelect()
        {
            mes = QualityManagementBLL.QualityStepCheckItemSelect();
            return Json(mes);
        }
        #endregion
        #region[工序质检方案新增/编辑提交]
        /// <summary>
        /// å·¥åºè´¨æ£€æ–¹æ¡ˆæ–°å¢ž/编辑提交
VueWebCoreApi/DLL/BLL/GeneralBasicDataBLL.cs
@@ -115,5 +115,12 @@
            return GeneralBasicDataDAL.CustomerPermissions();
        }
        #endregion
        #region[存货树型基础资料]
        public static ToMessage InventoryTreePermissions()
        {
            return GeneralBasicDataDAL.InventoryTreePermissions();
        }
        #endregion
    }
}
VueWebCoreApi/DLL/BLL/MouldManagerBLL.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,56 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using VueWebCoreApi.DLL.DAL;
using VueWebCoreApi.Models;
using VueWebCoreApi.Tools;
namespace VueWebCoreApi.DLL.BLL
{
    public class MouldManagerBLL
    {
        #region[模具清单列表查询]
        public static ToMessage MouldMangerSearch(string mouldstaus, string onstate, string mouldcode, string mouldname, string mouldspec, string createuser, string opendate, string closedate, int startNum, int endNum, string prop, string order)
        {
            return MouldManagerDAL.MouldMangerSearch(mouldstaus, onstate, mouldcode, mouldname, mouldspec, createuser, opendate, closedate, startNum, endNum, prop, order);
        }
        #endregion
        #region[模具清单新增编辑]
        public static ToMessage AddUpdateMouldManger(string mouldcode, string mouldname, string mouldspec, string warehousecode, string surplife, string resilife, string status, string mouldpart, string opertype, User us)
        {
            return MouldManagerDAL.AddUpdateMouldManger(mouldcode, mouldname, mouldspec, warehousecode, surplife, resilife, status, mouldpart, opertype, us);
        }
        #endregion
        #region[模具清单删除]
        public static ToMessage DeleteMouldManger(string mouldcode, User us)
        {
            return MouldManagerDAL.DeleteMouldManger(mouldcode, us);
        }
        #endregion
        #region[模具点检项列表查询]
        public static ToMessage MouldCheckItemSearch(string checkitemcode, string checkitemname, string checkdescr, int startNum, int endNum, string prop, string order)
        {
            return MouldManagerDAL.MouldMangerSearch(checkitemcode, checkitemname, checkdescr, startNum, endNum, prop, order);
        }
        #endregion
        #region[模具点检项新增编辑]
        public static ToMessage AddUpdateMouldCheckItem(string checkitemid, string checkitemcode, string checkitemname, string checkitemdescr, User us, string opertype)
        {
            return MouldManagerDAL.AddUpdateMouldCheckItem(checkitemid, checkitemcode, checkitemname, checkitemdescr, us, opertype);
        }
        #endregion
        #region[模具点检项删除]
        public static ToMessage DeleteMouldCheckItem(string checkitemcode)
        {
            return MouldManagerDAL.DeleteMouldCheckItem(checkitemcode);
        }
        #endregion
    }
}
VueWebCoreApi/DLL/BLL/QualityManagementBLL.cs
@@ -68,6 +68,13 @@
        }
        #endregion
        #region[工序质检方案新增、编辑获取检验项目下拉列表]
        public static ToMessage QualityStepCheckItemSelect()
        {
            return QualityManagementDAL.QualityStepCheckItemSelect();
        }
        #endregion
        #region[工序质检方案新增/编辑提交]
        public static ToMessage QualityInspectionAddEditSave(string qualityinsptcode, string qualityinsptname, string status, string checktype, string sampmethod, string sampscare, string suitobject, string suitpart, string descr, string stepcode, string checkitem, string type, User us)
        {
VueWebCoreApi/DLL/DAL/ExcelCheckDAL.cs
@@ -62,11 +62,11 @@
                case "23"://设备保养标准
                    Message = ImportExcelData.TwentyThree(savePath, out StuCode);
                    break;
                case "12"://工装清单
                    Message = ImportExcelData.Twelve(savePath, out StuCode);
                case "12"://模具清单
                    Message = ImportExcelData.Twelve(dataTable, out StuCode);
                    break;
                case "13"://工装点检
                    Message = ImportExcelData.Thirteen(savePath, out StuCode);
                case "13"://模具点检项目
                    Message = ImportExcelData.Thirteen(dataTable, out StuCode);
                    break;
                case "14"://工装保养
                    Message = ImportExcelData.Fourteen(savePath, out StuCode);
@@ -160,11 +160,11 @@
                case "23"://设备保养标准
                    list = ImportExcelData.TwentyThreeData(savePath, out stuCode, out message, out count);
                    break;
                case "12"://工装清单
                    list = ImportExcelData.TwelveData(savePath, out stuCode, out message, out count);
                case "12"://模具清单
                    list = ImportExcelData.TwelveData(dataTable, out stuCode, out message, out count);
                    break;
                case "13"://工装点检
                    list = ImportExcelData.ThirteenData(savePath, out stuCode, out message, out count);
                case "13"://模具点检项目
                    list = ImportExcelData.ThirteenData(dataTable, out stuCode, out message, out count);
                    break;
                case "14"://工装保养
                    list = ImportExcelData.FourteenData(savePath, out stuCode, out message, out count);
@@ -250,11 +250,11 @@
                case "23"://设备保养标准
                    Message = ImportExcelData.TwentyThreeSubmit(savePath, User, out StuCode);
                    break;
                case "12"://工装清单
                    Message = ImportExcelData.TwelveSubmit(savePath, User, out StuCode);
                case "12"://模具清单
                    Message = ImportExcelData.TwelveSubmit(dataTable, us, out StuCode);
                    break;
                case "13"://工装点检
                    Message = ImportExcelData.ThirteenSubmit(savePath, User, out StuCode);
                case "13"://模具点检项目
                    Message = ImportExcelData.ThirteenSubmit(dataTable, us, out StuCode);
                    break;
                case "14"://工装保养
                    Message = ImportExcelData.FourteenSubmit(savePath, User, out StuCode);
VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs
@@ -436,5 +436,35 @@
            return mes;
        }
        #endregion
        #region[存货树型基础资料]
        public static ToMessage InventoryTreePermissions()
        {
            var sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                sql = @"select AA.code,AA.name,isnull(AA.parentid,-1) as parentid   from(
                        select code,name,idparent as parentid   from TMateriel_Class
                        union all
                        select partcode as code,partname as name,idinventoryclass as parentid
                        from TMateriel_Info
                        where status='0'
                        ) as AA";
                var data = DapperHelper.selectdata(sql, dynamicParams);
                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/MouldManagerDAL.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,489 @@
using Dapper;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Threading.Tasks;
using VueWebCoreApi.Models;
using VueWebCoreApi.Tools;
namespace VueWebCoreApi.DLL.DAL
{
    public class MouldManagerDAL
    {
        public static DataTable dt;    //定义全局变量dt
        public static bool res;       //定义全局变量dt
        public static ToMessage mes = new ToMessage(); //定义全局返回信息对象
        public static string strProcName = ""; //定义全局sql变量
        public static List<SqlParameter> listStr = new List<SqlParameter>(); //定义全局参数集合
        public static SqlParameter[] parameters; //定义全局SqlParameter参数数组
        #region[模具清单列表查询]
        public static ToMessage MouldMangerSearch(string mouldstaus, string onstate, string mouldcode, string mouldname, string mouldspec, string createuser, string opendate, string closedate, int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
            try
            {
                if (mouldstaus != "" && mouldstaus != null)
                {
                    search += "and A.status=@mouldstaus ";
                    dynamicParams.Add("@mouldstaus", mouldstaus);
                }
                if (onstate != "" && onstate != null)
                {
                    search += "and A.usestaus=@onstate ";
                    dynamicParams.Add("@onstate", onstate);
                }
                if (mouldcode != "" && mouldcode != null)
                {
                    search += "and A.code like '%'+@mouldcode+'%' ";
                    dynamicParams.Add("@mouldcode", mouldcode);
                }
                if (mouldname != "" && mouldname != null)
                {
                    search += "and A.name like '%'+@mouldname+'%' ";
                    dynamicParams.Add("@mouldname", mouldname);
                }
                if (mouldspec != "" && mouldspec != null)
                {
                    search += "and A.spec like '%'+@mouldspec+'%' ";
                    dynamicParams.Add("@mouldspec", mouldspec);
                }
                if (createuser != "" && createuser != null)
                {
                    search += "and U.username like '%'+@createuser+'%' ";
                    dynamicParams.Add("@createuser", createuser);
                }
                if (opendate != "" && opendate != null)
                {
                    search += "and A.lm_date between @opendate and @closedate ";
                    dynamicParams.Add("@opendate", opendate + " 00:00:00");
                    dynamicParams.Add("@closedate", closedate + " 23:59:59");
                }
                if (search == "")
                {
                    search = "and 1=1 ";
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select A.status,A.usestaus,A.code,A.name,A.spec,A.warehousecode,S.name as warehousename,
                            A.surp_life,'0' as serlife,A.resi_life,(case when isnull(M.mouldcode,'')='' then 'N' else 'Y' end) as is_part,
                            STUFF((SELECT ',' + B.partcode
                            from TMouldInfoPart B
                            where A.code = B.mouldcode
                            FOR XML PATH('')), 1, 1, '') AS partcode,
                            A.lm_user as usercode,U.username,A.lm_date
                            from TMouldInfo A
                            left join TSecStck S on A.warehousecode=S.code
                            left join (
                            select distinct mouldcode from TMouldInfoPart
                            )  M on A.code=M.mouldcode
                            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 AddUpdateMouldManger(string mouldcode, string mouldname, string mouldspec, string warehousecode, string surplife, string resilife, string status, string mouldpart, string opertype, User us)
        {
            var sql = "";
            var dynamicParams = new DynamicParameters();
            List<object> list = new List<object>();
            try
            {
                if (opertype == "Add")
                {
                    //写入模具清单表
                    sql = @"insert into TMouldInfo(code,name,spec,status,usestatus,warehousecode,surp_life,resi_life,lm_user,lm_date)
                               values(@code,@name,@spec,@status,@usestatus,@warehousecode,@surp_life,@resi_life,@lm_user,@lm_date)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            code = mouldcode,
                            name = mouldname,
                            spec = mouldspec,
                            status = status,
                            usestatus = "0",//使用状态:在库/出库/上机/下机/ç»´ä¿®/外借(0,1,2,3,4,5)
                            warehousecode = warehousecode,
                            surp_life = surplife,
                            resi_life = resilife,
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString()
                        }
                    });
                    //写入模具关联产品表
                    List<string> mouldParts = JsonConvert.DeserializeObject<List<string>>(mouldpart);
                    for (int i = 0; i < mouldParts.Count; i++)
                    {
                        sql = @"insert into TMouldInfoPart(mouldcode,partcode,lm_user,lm_date)
                               values(@mouldcode,@partcode,@lm_user,@lm_date)";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                mouldcode = mouldcode,
                                partcode = mouldParts[i].ToString(),
                                lm_user = us.usercode,
                                lm_date = DateTime.Now.ToString()
                            }
                        });
                    }
                    bool aa = DapperHelper.DoTransaction(list);
                    if (aa)
                    {
                        //写入操作记录表
                        LogHelper.DbOperateLog(us.usercode, "新增", "模具:" + mouldcode, 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 = @"update TMouldInfo set name=@name,spec=@spec,status=@status,warehousecode=@warehousecode,
                            surp_life=@surp_life,resi_life=@resi_life,lm_user=@lm_user,lm_date=@lm_date where code=@code";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            code = mouldcode,
                            name = mouldname,
                            spec = mouldspec,
                            status = status,
                            warehousecode = warehousecode,
                            surp_life = surplife,
                            resi_life = resilife,
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString()
                        }
                    });
                    //删除模具关联产品表
                    sql = @"delete from TMouldInfoPart where mouldcode=@mouldcode";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            mouldcode = mouldcode
                        }
                    });
                    //写入模具关联产品表
                    List<string> mouldParts = JsonConvert.DeserializeObject<List<string>>(mouldpart);
                    for (int i = 0; i < mouldParts.Count; i++)
                    {
                        sql = @"insert into TMouldInfoPart(mouldcode,partcode,lm_user,lm_date)
                               values(@mouldcode,@partcode,@lm_user,@lm_date)";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                mouldcode = mouldcode,
                                partcode = mouldParts[i].ToString(),
                                lm_user = us.usercode,
                                lm_date = DateTime.Now.ToString()
                            }
                        });
                    }
                    bool aa = DapperHelper.DoTransaction(list);
                    if (aa)
                    {
                        //写入操作记录表
                        LogHelper.DbOperateLog(us.usercode, "修改", "模具:" + mouldcode, 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 DeleteMouldManger(string mouldcode, User us)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //判断模具是否存在点检记录、保养、维修、上下机、出入库记录,不允许删除
                sql = @"select mould_code   from TMouldchk_Proc_Main where mould_code=@devicecode
                        union all
                        select mould_code   from TMouldmaint_Proc_Main where mould_code=@devicecode
                        union all
                        select mould_code   from TMould_RepairRequest where mould_code=@devicecode";
                dynamicParams.Add("@devicecode", mouldcode);
                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 TMouldInfo  where code=@mouldcode";
                list.Add(new { str = sql, parm = new { mouldcode = mouldcode } });
                //删除模具关联产品表
                sql = @"delete TMouldInfoPart  where mouldcode=@mouldcode";
                list.Add(new { str = sql, parm = new { mouldcode = mouldcode } });
                //删除模具绑定点检标准表
                sql = @"delete TMouldchk_Mould  where mould_code=@mouldcode";
                list.Add(new { str = sql, parm = new { mouldcode = mouldcode } });
                //删除模具绑定保养标准表
                sql = @"delete TMouldmai_Mould  where mould_code=@mouldcode";
                list.Add(new { str = sql, parm = new { mouldcode = mouldcode } });
                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 MouldMangerSearch(string checkitemcode, string checkitemname, string checkdescr, int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
            try
            {
                if (checkitemcode != "" && checkitemcode != null)
                {
                    search += "and A.code like '%'+@checkitemcode+'%' ";
                    dynamicParams.Add("@checkitemcode", checkitemcode);
                }
                if (checkitemname != "" && checkitemname != null)
                {
                    search += "and A.name like '%'+@checkitemname+'%' ";
                    dynamicParams.Add("@checkitemname", checkitemname);
                }
                if (checkdescr != "" && checkdescr != null)
                {
                    search += "and A.description like '%'+@checkdescr+'%' ";
                    dynamicParams.Add("@checkdescr", checkdescr);
                }
                if (search == "")
                {
                    search = "and 1=1 ";
                }
                //search = search.Substring(3);//截取索引2后面的字符
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select A.id,A.code,A.name,A.description,U.username as lm_user,A.lm_date
                                from TMouldchk_Item A
                                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 AddUpdateMouldCheckItem(string checkitemid, string checkitemcode, string checkitemname, string checkitemdescr, User us, string opertype)
        {
            var dynamicParams = new DynamicParameters();
            try
            {
                if (opertype == "Add")
                {
                    var sql = @"insert into TMouldchk_Item(code,name,description,lm_user,lm_date)
                              values(@checkitemcode,@checkitemname,@checkitemdescr,@usercode,@CreateDate)";
                    dynamicParams.Add("@checkitemcode", checkitemcode);
                    dynamicParams.Add("@checkitemname", checkitemname);
                    dynamicParams.Add("@checkitemdescr", checkitemdescr);
                    dynamicParams.Add("@usercode", us.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 TMouldchk_Item set name=@checkitemname,description=@checkitemdescr,
                                lm_user=@usercode,lm_date=@CreateDate
                                where id=@checkitemid";
                    dynamicParams.Add("@checkitemid", checkitemid);
                    dynamicParams.Add("@checkitemname", checkitemname);
                    dynamicParams.Add("@checkitemdescr", checkitemdescr);
                    dynamicParams.Add("@usercode", us.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 DeleteMouldCheckItem(string checkitemcode)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //判断点检标准项目是否有关联点检标准,不允许删除
                sql = @"select *  from TMouldchk_Deta
                        where  code=@checkitemcode";
                dynamicParams.Add("@checkitemcode", checkitemcode);
                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 TMouldchk_Item  where code=@checkitemcode";
                list.Add(new { str = sql, parm = new { checkitemcode = checkitemcode } });
                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
    }
}
VueWebCoreApi/DLL/DAL/QualityManagementDAL.cs
@@ -449,8 +449,8 @@
                            when A.suitobject='PY' 
                            then 
                            STUFF(( SELECT ';' + name
                            FROM T_Dict
                            where   PATINDEX('%;' + RTRIM(T_Dict.code) + ';%',';' + A.suitpart + ';')>0
                            FROM TMateriel_Class
                            where   PATINDEX('%;' + RTRIM(TMateriel_Class.code) + ';%',';' + A.suitpart + ';')>0
                            FOR XML PATH('')), 1, 1,'')
                            end as suitpartname
                            from TStepCheckStandard A
@@ -490,6 +490,30 @@
                dynamicParams.Add("@qualityinsptcode", qualityinsptcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                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 QualityStepCheckItemSelect()
        {
            string sql = "";
            try
            {
                //获取工序点检项目数据
                sql = @"select code,name,descr from TStepCheckItem";
                var data = DapperHelper.selecttable(sql);
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.data = data;
@@ -761,7 +785,7 @@
                        stepcode = arra[1]; //获取指定字符串前面的字符
                    }
                    //通过扫描二维码信息查找任务信息
                    sql = @"select A.wo_code,A.good_qty,M.partcode,M.partname,M.partspec,M.stocktype_code,S.stepcode,S.stepname
                    sql = @"select A.wo_code,A.good_qty,M.partcode,M.partname,M.partspec,M.idinventoryclass as stocktype_code,S.stepcode,S.stepname
                            from TK_Wrk_Step A
                            inner join TK_Wrk_Man P on A.wo_code=P.wo_code
                            left join TMateriel_Info M on P.materiel_code=M.partcode
VueWebCoreApi/Tools/ExcelList.cs
@@ -26,9 +26,11 @@
                //new ScoreReport("22","设备点检标准"),
                //new ScoreReport("11","设备保养项目"),
                //new ScoreReport("23","设备保养标准"),
                //new ScoreReport("12","工装清单"),
                //new ScoreReport("13","工装点检"),
                //new ScoreReport("14","工装保养"),
                new ScoreReport("12","模具清单"),
                new ScoreReport("13","模具点检项目"),
                new ScoreReport("13_1","模具点检标准"),
                new ScoreReport("14","模具保养项目"),
                new ScoreReport("14_1","模具保养标准"),
                new ScoreReport("15","工序设置"),
                //new ScoreReport("16","工艺路线"),
                //new ScoreReport("24","节拍工价"),
VueWebCoreApi/Tools/ImportExcelData.cs
@@ -1033,52 +1033,83 @@
        }
        #endregion
        #region【Excel模板上传验证,工装清单模板】
        public static string Twelve(string FileCode, out string code)
        #region【Excel模板上传验证,模具清单模板】
        public static string Twelve(List<DataTable> excelTable, out string code)
        {
            string Message = "";
            code = "";
            DataTable excelTable = new DataTable();
            excelTable = ImportExcel.ExcelToTable(FileCode);
            if (excelTable.Columns.Count != 7)
            if (excelTable.Count != 2)
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                code = "301";
                Message = "导入模板不符合规范,请检查sheet数";
                return Message;
            }
            else if (excelTable.Columns[0].ColumnName != "序号")
            else if (excelTable[0].Columns.Count != 7)
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                code = "301";
                Message = "模具清单模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable.Columns[1].ColumnName != "工装编号(唯一)")
            else if (excelTable[1].Columns.Count != 2)
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                code = "301";
                Message = "模具关联产品模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable.Columns[2].ColumnName != "工装名称(唯一)")
            else if (excelTable[0].Columns[0].ColumnName != "*模具编号(唯一)")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                code = "301";
                Message = "模具清单模板:表头信息不符合规范,第1列应为{*模具编号(唯一)}";
                return Message;
            }
            else if (excelTable.Columns[3].ColumnName != "工装类型")
            else if (excelTable[1].Columns[1].ColumnName != "*模具名称")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                code = "301";
                Message = "模具清单模板:表头信息不符合规范,第2列应为{*模具名称}";
                return Message;
            }
            else if (excelTable.Columns[4].ColumnName != "型腔数量")
            else if (excelTable[1].Columns[2].ColumnName != "规格型号")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                code = "301";
                Message = "模具清单模板:表头信息不符合规范,第3列应为{规格型号}";
                return Message;
            }
            else if (excelTable.Columns[5].ColumnName != "理论寿命(次)")
            else if (excelTable[1].Columns[3].ColumnName != "*状态")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                code = "301";
                Message = "模具清单模板:表头信息不符合规范,第4列应为{*状态}";
                return Message;
            }
            else if (excelTable.Columns[6].ColumnName != "使用状态")
            else if (excelTable[1].Columns[4].ColumnName != "*仓库编码")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                code = "301";
                Message = "模具清单模板:表头信息不符合规范,第5列应为{*仓库编码}";
                return Message;
            }
            else if (excelTable[0].Columns[5].ColumnName != "预计寿命(次)")
            {
                code = "301";
                Message = "模具清单模板:表头信息不符合规范,第6列应为{预计寿命(次)}";
                return Message;
            }
            else if (excelTable[0].Columns[6].ColumnName != "剩余寿命(次)")
            {
                code = "301";
                Message = "模具清单模板:表头信息不符合规范,第7列应为{剩余寿命(次)}";
                return Message;
            }
            else if (excelTable[1].Columns[0].ColumnName != "模具编码")
            {
                code = "301";
                Message = "模具关联产品模板:表头信息不符合规范,第1列应为{模具编码}";
                return Message;
            }
            else if (excelTable[0].Columns[1].ColumnName != "产品编码")
            {
                code = "301";
                Message = "模具关联产品模板:表头信息不符合规范,第2列应为{产品编码}";
                return Message;
            }
            else
            {
@@ -1089,82 +1120,41 @@
        }
        #endregion
        #region【Excel模板上传验证,工装点检模板】
        public static string Thirteen(string FileCode, out string code)
        #region【Excel模板上传验证,模具点检项模板】
        public static string Thirteen(List<DataTable> excelTable, out string code)
        {
            string Message = "";
            code = "";
            List<DataTable> excelTable = new List<DataTable>();
            excelTable = ImportExcel.ExcelToTableList(FileCode);
            if (excelTable.Count != 2)
            if (excelTable.Count != 1)
            {
                code = "300";
                Message = "模板不符合规范,缺失的Sheet";
                code = "301";
                Message = "导入模板不符合规范,请检查sheet数";
                return Message;
            }
            else if (excelTable[0].Columns.Count != 3)
            {
                code = "300";
                Message = "模板不符合规范,请检查列名字段数";
                code = "301";
                Message = "模具点检项目模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable[1].Columns.Count != 8)
            else if (excelTable[0].Columns[0].ColumnName != "*点检项目编号(唯一)")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名字段数";
                code = "301";
                Message = "模具点检项目模板:表头信息不符合规范,第1列应为{*点检项目编号(唯一)}";
                return Message;
            }
            else if (excelTable[0].Columns[0].ColumnName != "序号")
            else if (excelTable[0].Columns[1].ColumnName != "*点检项目名称")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                code = "301";
                Message = "模具点检项目模板:表头信息不符合规范,第2列应为{*点检项目名称}";
                return Message;
            }
            else if (excelTable[0].Columns[1].ColumnName != "点检标准(唯一)")
            else if (excelTable[0].Columns[2].ColumnName != "要求描述")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable[0].Columns[2].ColumnName != "标准名称(唯一)")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable[1].Columns[0].ColumnName != "序号")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable[1].Columns[1].ColumnName != "点检标准")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable[1].Columns[2].ColumnName != "标准名称")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable[1].Columns[3].ColumnName != "SEQ(部位顺序)")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable[1].Columns[4].ColumnName != "部位条码(唯一)")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable[1].Columns[5].ColumnName != "部位名称")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable[1].Columns[6].ColumnName != "点检要求")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
            }
            else if (excelTable[1].Columns[7].ColumnName != "点检周期")
            {
                code = "300";
                Message = "模板不符合规范,请检查列名";
                code = "301";
                Message = "模具点检项目模板:表头信息不符合规范,第3列应为{要求描述}";
                return Message;
            }
            else
            {
@@ -3299,30 +3289,169 @@
        }
        #endregion
        #region【Excel上传数据验证,工装清单】
        public static List<ExcelErro> TwelveData(string FileCode, out string StuCode, out string message, out int count)
        #region【Excel上传数据验证,模具清单】
        public static List<ExcelErro> TwelveData(List<DataTable> excelTable, out string StuCode, out string message, out int count)
        {
            message = "";
            StuCode = "";
            count = 0;
            string sql = "";
            DataTable dt;
            var dynamicParams = new DynamicParameters();
            List<ExcelErro> list = new List<ExcelErro>();
            list = ImportExcel.InportExcelToTableListErro(excelTable);    //验证Excel数据必填字段是否为空、唯一字段是否重复
            //模具表
            for (int k = 0; k < excelTable[0].Rows.Count; k++)
            {
                if (excelTable[0].Rows[k][0].ToString().Trim() != null && excelTable[0].Rows[k][0].ToString().Trim() != "")
                {
                    sql = @"select *  from TMouldInfo where code=@code";
                    dynamicParams.Add("@code", excelTable[0].Rows[k][0].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count > 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{*模具编号(唯一)}";
                        erro.ErrorCont = "模具表:{*模具编号(唯一)}字段" + excelTable[0].Rows[k][0].ToString().Trim() + "已存在";
                        list.Add(erro);
                    }
                }
                if (excelTable[0].Rows[k][1].ToString().Trim() != null && excelTable[0].Rows[k][1].ToString().Trim() != "")
                {
                    sql = @"select *  from TMouldInfo where name=@name";
                    dynamicParams.Add("@name", excelTable[0].Rows[k][1].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count > 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{*模具名称}";
                        erro.ErrorCont = "模具表:{*模具名称}字段" + excelTable[0].Rows[k][1].ToString().Trim() + "已存在";
                        list.Add(erro);
                    }
                }
            }
            //模具关联产品表
            for (int j = 0; j < excelTable[1].Rows.Count; j++)
            {
                if (excelTable[1].Rows[j][1].ToString().Trim() != null && excelTable[1].Rows[j][1].ToString().Trim() != "")
                {
                    sql = @"select *  from TMateriel_Info where partcode=@partcode";
                    dynamicParams.Add("@partcode", excelTable[1].Rows[j][1].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count<= 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{产品编码}";
                        erro.ErrorCont = "模具关联产品表:{产品编码}字段" + excelTable[1].Rows[j][1].ToString().Trim() + "不存在";
                        list.Add(erro);
                    }
                }
            }
            //判断模具关联产品表是否有数据
            if (excelTable[1].Rows.Count > 0)
            {
                //判断子表外键不存在于主表主键中的数据
                var dt3 = from r in excelTable[1].AsEnumerable()
                          where !(
                              from rr in excelTable[0].AsEnumerable()
                              select rr.Field<string>("*模具编号(唯一)")
                          ).Contains(r.Field<string>("模具编码"))
                          select r;
                List<DataRow> listRow = dt3.ToList();
                if (listRow.Count > 0)
                {
                    ExcelErro erro = new ExcelErro();
                    erro.RoeNumber = "/";
                    erro.ErrorField = "{模具编码}";
                    erro.ErrorCont = "模具关联产品表:{模具编码}字段中有值在模具清单表:{*模具编号(唯一)}中不存在";
                    list.Add(erro);
                }
            }
            if (list.Count > 0)
            {
                int index = 0;
                foreach (ExcelErro item in list)
                {
                    index++;
                    item.Seq = index.ToString();
                }
                StuCode = "301";
                message = "数据验证失败";
            }
            else
            {
                StuCode = "200";
                message = "数据验证成功";
                count = excelTable[0].Rows.Count + excelTable[1].Rows.Count;
            }
            return list;
        }
        #endregion
        #region【Excel上传数据验证,工装点检】
        public static List<ExcelErro> ThirteenData(string FileCode, out string StuCode, out string message, out int count)
        #region【Excel上传数据验证,模具点检项目】
        public static List<ExcelErro> ThirteenData(List<DataTable> excelTable, out string StuCode, out string message, out int count)
        {
            message = "";
            StuCode = "";
            count = 0;
            string sql = "";
            var dynamicParams = new DynamicParameters();
            DataTable dt;
            List<ExcelErro> list = new List<ExcelErro>();
            list = ImportExcel.InportExcelToTableListErro(excelTable);    //验证Excel数据必填字段是否为空、唯一字段是否重复
            //模具点检项目表
            for (int k = 0; k < excelTable[0].Rows.Count; k++)
            {
                if (excelTable[0].Rows[k][0].ToString().Trim() != null && excelTable[0].Rows[k][0].ToString().Trim() != "")
                {
                    sql = @"select *  from TMouldchk_Item where code=@code";
                    dynamicParams.Add("@code", excelTable[0].Rows[k][0].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count > 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{*点检项目编号(唯一)}";
                        erro.ErrorCont = "模具点检项目:{*点检项目编号(唯一)}字段" + excelTable[0].Rows[k][0].ToString().Trim() + "已存在";
                        list.Add(erro);
                    }
                }
                if (excelTable[0].Rows[k][1].ToString().Trim() != null && excelTable[0].Rows[k][1].ToString().Trim() != "")
                {
                    sql = @"select *  from TMouldchk_Item where name=@name";
                    dynamicParams.Add("@name", excelTable[0].Rows[k][1].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count > 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{*点检项目名称}";
                        erro.ErrorCont = "模具点检项目表:{*点检项目名称}字段" + excelTable[1].Rows[k][1].ToString().Trim() + "已存在";
                        list.Add(erro);
                    }
                }
            }
            if (list.Count > 0)
            {
                int index = 0;
                foreach (ExcelErro item in list)
                {
                    index++;
                    item.Seq = index.ToString();
                }
                StuCode = "301";
                message = "数据验证失败";
            }
            else
            {
                StuCode = "200";
                message = "数据验证成功";
                count = excelTable[0].Rows.Count;
            }
            return list;
        }
        #endregion
@@ -4863,14 +4992,68 @@
        }
        #endregion
        #region【Excel数据上传,工装清单】
        public static string TwelveSubmit(string FileCode, string User, out string StuCode)
        #region【Excel数据上传,模具清单】
        public static string TwelveSubmit(List<DataTable> excelTable, User us, out string StuCode)
        {
            string message = "";
            StuCode = "";
            string sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //导入模具清单
                for (int k = 0; k < excelTable[0].Rows.Count; k++)
                {
                    sql = @"insert into TMouldInfo(code,name,spec,status,usestatus,warehousecode,surp_life,resi_life,lm_user,lm_date)
                               values(@code,@name,@spec,@status,@usestatus,@warehousecode,@surp_life,@resi_life,@lm_user,@lm_date)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            code = excelTable[0].Rows[k][0].ToString().Trim(),
                            name = excelTable[0].Rows[k][1].ToString().Trim(),
                            spec = excelTable[0].Rows[k][2].ToString().Trim(),
                            status = excelTable[0].Rows[k][3].ToString().Trim()=="正常"?"Y":"N",
                            usestatus = "0",//使用状态:在库/出库/上机/下机/ç»´ä¿®/外借(0,1,2,3,4,5)
                            warehousecode = excelTable[0].Rows[k][4].ToString().Trim(),
                            surp_life =decimal.Parse(excelTable[0].Rows[k][5].ToString().Trim()),
                            resi_life = decimal.Parse(excelTable[0].Rows[k][6].ToString().Trim()),
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString()
                        }
                    });
                }
                //写入模具关联产品表
                for (int i = 0; i < excelTable[1].Rows.Count; i++)
                {
                    sql = @"insert into TMouldInfoPart(mouldcode,partcode,lm_user,lm_date)
                               values(@mouldcode,@partcode,@lm_user,@lm_date)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            mouldcode = excelTable[1].Rows[i][0].ToString().Trim(),
                            partcode = excelTable[1].Rows[i][1].ToString().Trim(),
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString()
                        }
                    });
                }
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    StuCode = "200";
                    message = "导入成功!";
                }
                else
                {
                    StuCode = "300";
                    message = "导入失败!";
                }
            }
            catch (Exception e)
            {
@@ -4881,14 +5064,46 @@
        }
        #endregion
        #region【Excel数据上传,工装点检】
        public static string ThirteenSubmit(string FileCode, string User, out string StuCode)
        #region【Excel数据上传,模具点检项目】
        public static string ThirteenSubmit(List<DataTable> excelTable, User us, out string StuCode)
        {
            string message = "";
            StuCode = "";
            string sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //导入模具点检项目表
                for (int i = 0; i < excelTable[0].Rows.Count; i++)
                {
                    sql = @"insert into TMouldchk_Item(code,name,description,lm_user,lm_date)
                            values(@code,@name,@description,@lm_user,@lm_date)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            code = excelTable[0].Rows[i][0].ToString().Trim(),
                            name = excelTable[0].Rows[i][1].ToString().Trim(),
                            description = excelTable[0].Rows[i][2].ToString().Trim(),
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString()
                        }
                    });
                }
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    StuCode = "200";
                    message = "导入成功!";
                }
                else
                {
                    StuCode = "300";
                    message = "导入失败!";
                }
            }
            catch (Exception e)
            {
VueWebCoreApi/VueWebCoreApi.csproj
@@ -47,7 +47,6 @@
    <ItemGroup>
        <Folder Include="InExcel\" />
        <Folder Include="wwwroot\File\newxls\" />
        <Folder Include="wwwroot\newxls\" />
    </ItemGroup>
VueWebCoreApi/wwwroot/Excel/Ä£¾ßÇåµ¥.xls
Binary files differ
VueWebCoreApi/wwwroot/Excel/Ä£¾ßµã¼ìÏîÄ¿.xls
Binary files differ