1.APP模具点检功能接口
2.APP模具保养功能接口
3.APP模具维修申请功能接口
已添加5个文件
已修改7个文件
894 ■■■■■ 文件已修改
VueWebCoreApi/Controllers/LoginController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Controllers/MouldManagerController.cs 173 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/BLL/MouldManagerBLL.cs 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/MouldManagerDAL.cs 606 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Tools/ImportExcel.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Tools/ImportExcelData.cs 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/VueWebCoreApi.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/wwwroot/AppMenuImage/app_5_1.png 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/wwwroot/AppMenuImage/app_5_2.png 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/wwwroot/AppMenuImage/app_5_3.png 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/wwwroot/AppMenuImage/app_5_4.png 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/wwwroot/AppMenuImage/app_5_5.png 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Controllers/LoginController.cs
@@ -24,9 +24,9 @@
        private static readonly string Enterprise = AppSetting.GetAppSetting("Enterprise");
        #region[PC用户登录]
        #region[用户登录(PC/APP)]
        /// <summary>
        /// PC用户登录
        /// 用户登录(PC/APP)
        /// </summary>
        /// <param name="username">用户编码</param>
        /// <param name="password">密码</param>
VueWebCoreApi/Controllers/MouldManagerController.cs
@@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
@@ -13,7 +14,7 @@
    [ApiExplorerSettings(GroupName = "模具管理")]
    [ApiController]
    [Route("api/[controller]")]
    //[ChannelActionFilter]
    [ChannelActionFilter]
    public class MouldManagerController : Controller
    {
        //定义全局信息返回变量
@@ -436,5 +437,173 @@
            return Json(mes);
        }
        #endregion
        #region[模具点检,扫描模具二维码]
        /// <summary>
        /// 模具点检,扫描模具二维码
        /// </summary>
        /// <param name="mouldcode">模具编码</param>
        /// <returns></returns>
        [Route(template: "CheckScanMouldQrCodeData")]
        [HttpGet]
        public JsonResult CheckScanMouldQrCodeData(string mouldcode)
        {
            mes = MouldManagerBLL.CheckScanMouldQrCodeData(mouldcode);
            return Json(mes);
        }
        #endregion
        #region[模具点检,扫描模具二维码查找点检标准]
        /// <summary>
        /// 模具点检,扫描模具二维码查找点检标准
        /// </summary>
        /// <param name="mouldcode">模具编码</param>
        /// <returns></returns>
        [Route(template: "CheckScanMouldTemp")]
        [HttpGet]
        public JsonResult CheckScanMouldTemp(string mouldcode)
        {
            mes = MouldManagerBLL.CheckScanMouldTemp(mouldcode);
            return Json(mes);
        }
        #endregion
        #region[模具点检,选择扫码模具、点检标准带出点检项]
        /// <summary>
        /// 模具点检,选择扫码模具、点检标准带出点检项
        /// </summary>
        /// <param name="mouldcode">模具编码</param>
        /// <param name="checktempcode">点检标准编码</param>
        /// <returns></returns>
        [Route(template: "SelectScanMouldQrCodeItem")]
        [HttpGet]
        public JsonResult SelectScanMouldQrCodeItem(string mouldcode, string checktempcode)
        {
            mes = MouldManagerBLL.SelectScanMouldQrCodeItem(mouldcode, checktempcode);
            return Json(mes);
        }
        #endregion
        #region[模具点检、提交保存]
        /// <summary>
        /// 模具点检、提交保存
        /// </summary>
        /// <param name="menucode">功能编码</param>
        /// <param name="json">提交数据</param>
        /// <returns></returns>
        [Route(template: "MouldCheckSave")]
        [HttpPost]
        public JsonResult MouldCheckSave(string menucode,AppDevicecCheck json)
        {
            var token = HttpContext.Request.Headers["Token"].ToString();
            User us = JwtTools.Denocode(token.ToString());
            mes = MouldManagerBLL.MouldCheckSave(menucode,us, json);
            return Json(mes);
        }
        #endregion
        #region[模具保养,扫描模具二维码]
        /// <summary>
        /// 模具保养,扫描模具二维码
        /// </summary>
        /// <param name="mouldcode">模具编码</param>
        /// <returns></returns>
        [Route(template: "RepairScanMouldQrCodeData")]
        [HttpGet]
        public JsonResult RepairScanMouldQrCodeData(string mouldcode)
        {
            mes = MouldManagerBLL.RepairScanMouldQrCodeData(mouldcode);
            return Json(mes);
        }
        #endregion
        #region[模具保养,扫描模具二维码查找保养标准]
        /// <summary>
        /// 模具保养,扫描模具二维码查找保养标准
        /// </summary>
        /// <param name="mouldcode">模具编码</param>
        /// <returns></returns>
        [Route(template: "RepairScanMouldTemp")]
        [HttpGet]
        public JsonResult RepairScanMouldTemp(string mouldcode)
        {
            mes = MouldManagerBLL.RepairScanMouldTemp(mouldcode);
            return Json(mes);
        }
        #endregion
        #region[模具保养,选择扫码模具列表带出保养项]
        /// <summary>
        /// 模具保养,选择扫码模具列表带出保养项
        /// </summary>
        /// <param name="mouldcode">模具编码</param>
        /// <param name="repartempcode">保养标准编码</param>
        /// <returns></returns>
        [Route(template: "RepairSelectScanMouldQrCodeItem")]
        [HttpGet]
        public JsonResult RepairSelectScanMouldQrCodeItem(string mouldcode, string repartempcode)
        {
            mes = MouldManagerBLL.RepairSelectScanMouldQrCodeItem(mouldcode, repartempcode);
            return Json(mes);
        }
        #endregion
        #region[模具保养,提交保存]
        /// <summary>
        /// 模具保养,提交保存
        /// </summary>
        /// <param name="menucode">功能编码</param>
        /// <param name="json">提交数据</param>
        /// <returns></returns>
        [Route(template: "MouldRepairSave")]
        [HttpPost]
        public JsonResult MouldRepairSave(string menucode, AppDevicecCheck json)
        {
            var token = HttpContext.Request.Headers["Token"].ToString();
            User us = JwtTools.Denocode(token.ToString());
            mes = MouldManagerBLL.MouldRepairSave(menucode, us, json);
            return Json(mes);
        }
        #endregion
        #region[模具维修申请,扫描模具二维码]
        /// <summary>
        /// 模具维修申请,扫描模具二维码
        /// </summary>
        /// <param name="mouldcode">模具编码</param>
        /// <returns></returns>
        [Route(template: "MaintainScanMouldApplyQrCodeData")]
        [HttpGet]
        public JsonResult MaintainScanMouldApplyQrCodeData(string mouldcode)
        {
            mes = MouldManagerBLL.MaintainScanMouldApplyQrCodeData(mouldcode);
            return Json(mes);
        }
        #endregion
        #region[设备维修申请,提交保存]
        /// <summary>
        /// 设备维修申请,提交保存
        /// </summary>
        /// <returns></returns>
        [Route(template: "MaintainScanMouldApplySave")]
        [HttpPost]
        public JsonResult MaintainScanMouldApplySave([FromBody] JObject obj, List<IFormFile> files)
        {
            var token = HttpContext.Request.Headers["Token"].ToString();
            User us = JwtTools.Denocode(token.ToString());
            string menucode = obj["menucode"].ToString(); //功能编码
            string mouldcode = obj["mouldcode"].ToString(); //模具编码
            string faultsourcecode = obj["faultsourcecode"].ToString(); //故障来源编码
            string faultdescr = obj["faultdescr"].ToString(); //故障描述
            mes = MouldManagerBLL.MaintainScanMouldApplySave(menucode,mouldcode, faultsourcecode, faultdescr,us, files);
            return Json(mes);
        }
        #endregion
    }
}
VueWebCoreApi/DLL/BLL/MouldManagerBLL.cs
@@ -1,4 +1,5 @@
using System;
using Microsoft.AspNetCore.Http;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
@@ -160,5 +161,80 @@
            return MouldManagerDAL.SaveRepairStanedAssociationMould(repairstand_code, us, json);
        }
        #endregion
        #region[模具点检,扫描模具二维码]
        public static ToMessage CheckScanMouldQrCodeData(string mouldcode)
        {
            return MouldManagerDAL.CheckScanMouldQrCodeData(mouldcode);
        }
        #endregion
        #region[模具点检,扫描模具二维码查找点检标准]
        public static ToMessage CheckScanMouldTemp(string mouldcode)
        {
            return MouldManagerDAL.CheckScanMouldTemp(mouldcode);
        }
        #endregion
        #region[模具点检,选择扫码模具、点检标准带出点检项]
        public static ToMessage SelectScanMouldQrCodeItem(string mouldcode, string checktempcode)
        {
            return MouldManagerDAL.SelectScanMouldQrCodeItem(mouldcode,checktempcode);
        }
        #endregion
        #region[模具点检、提交保存]
        public static ToMessage MouldCheckSave(string menucode, User us, AppDevicecCheck json)
        {
            return MouldManagerDAL.MouldCheckSave(menucode,us, json);
        }
        #endregion
        #region[模具保养,扫描模具二维码]
        public static ToMessage RepairScanMouldQrCodeData(string mouldcode)
        {
            return MouldManagerDAL.RepairScanMouldQrCodeData(mouldcode);
        }
        #endregion
        #region[模具保养,扫描模具二维码查找保养标准]
        public static ToMessage RepairScanMouldTemp(string mouldcode)
        {
            return MouldManagerDAL.RepairScanMouldTemp(mouldcode);
        }
        #endregion
        #region[模具保养,选择扫码模具列表带出保养项]
        public static ToMessage RepairSelectScanMouldQrCodeItem(string mouldcode, string repartempcode)
        {
            return MouldManagerDAL.RepairSelectScanMouldQrCodeItem(mouldcode,repartempcode);
        }
        #endregion
        #region[模具保养,提交保存]
        public static ToMessage MouldRepairSave(string menucode, User us, AppDevicecCheck json)
        {
            return MouldManagerDAL.MouldRepairSave(menucode, us,json);
        }
        #endregion
        #region[模具维修申请,扫描模具二维码]
        public static ToMessage MaintainScanMouldApplyQrCodeData(string mouldcode)
        {
            return MouldManagerDAL.MaintainScanMouldApplyQrCodeData(mouldcode);
        }
        #endregion
        #region[设备维修申请,提交保存]
        public static ToMessage MaintainScanMouldApplySave(string menucode, string mouldcode, string faultsourcecode, string faultdescr, User us, List<IFormFile> files)
        {
            return MouldManagerDAL.MaintainScanMouldApplySave(menucode,mouldcode, faultsourcecode,faultdescr,us,files);
        }
        #endregion
    }
}
VueWebCoreApi/DLL/DAL/MouldManagerDAL.cs
@@ -1,9 +1,11 @@
using Dapper;
using Microsoft.AspNetCore.Http;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using VueWebCoreApi.Models;
@@ -1015,7 +1017,7 @@
                list.Clear();
                //判断保养标准项目是否有关联保养标准,不允许删除
                sql = @"select *  from TMouldmai_Deta
                        where  code=@checkitemcode";
                        where  code=@maiitemcode";
                dynamicParams.Add("@maiitemcode", maiitemcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
@@ -1179,17 +1181,17 @@
                    {
                        //新增模具保养标准关联保养项子表
                        sql = @"insert TMouldmai_Deta (seq,code,name,mouldmai_main_code,chkdesc,lm_user,lm_date) 
                                values(@checkitem_seq,@checkitem_code,@mouldmai_main_code,@chkdesc,@lm_user,@lm_date)";
                                values(@checkitem_seq,@checkitem_code,@checkitem_name,@mouldmai_main_code,@chkdesc,@lm_user,@lm_date)";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                checkitem_seq = Convert.ToInt32(json.Data.Rows[i]["CHECKITEM_SEQ"].ToString()),
                                checkitem_code = json.Data.Rows[i]["CHECKITEM_CODE"].ToString(),
                                checkitem_name = json.Data.Rows[i]["CHECKITEM_NAME"].ToString(),
                                checkitem_seq = Convert.ToInt32(json.Data.Rows[i]["REPAIRITEM_SEQ"].ToString()),
                                checkitem_code = json.Data.Rows[i]["REPAIRITEM_CODE"].ToString(),
                                checkitem_name = json.Data.Rows[i]["REPAIRITEM_NAME"].ToString(),
                                mouldmai_main_code=json.code,
                                chkdesc = json.Data.Rows[i]["CHECKITEM_DESCR"].ToString(),
                                chkdesc = json.Data.Rows[i]["REPAIRITEM_DESCR"].ToString(),
                                lm_user = us.usercode,
                                lm_date = DateTime.Now.ToString()
                            }
@@ -1231,11 +1233,11 @@
                            str = sql,
                            parm = new
                            {
                                checkitem_seq = Convert.ToInt32(json.Data.Rows[i]["CHECKITEM_SEQ"].ToString()),
                                checkitem_code = json.Data.Rows[i]["CHECKITEM_CODE"].ToString(),
                                checkitem_name = json.Data.Rows[i]["CHECKITEM_NAME"].ToString(),
                                checkitem_seq = Convert.ToInt32(json.Data.Rows[i]["REPAIRITEM_SEQ"].ToString()),
                                checkitem_code = json.Data.Rows[i]["REPAIRITEM_CODE"].ToString(),
                                checkitem_name = json.Data.Rows[i]["REPAIRITEM_NAME"].ToString(),
                                mouldmai_main_code = json.code,
                                chkdesc = json.Data.Rows[i]["CHECKITEM_DESCR"].ToString(),
                                chkdesc = json.Data.Rows[i]["REPAIRITEM_DESCR"].ToString(),
                                lm_user = us.usercode,
                                lm_date = DateTime.Now.ToString()
                            }
@@ -1447,5 +1449,589 @@
        }
        #endregion
        #region[模具点检,扫描模具二维码]
        public static ToMessage CheckScanMouldQrCodeData(string mouldcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //获取对应模具信息
                sql = @"select A.code,A.name,A.spec
                        from TMouldInfo A
                        where A.code=@mouldcode and A.status='Y'";
                dynamicParams.Add("@mouldcode", mouldcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
                {
                    mes.code = "200";
                    mes.Message = "查询成功!";
                    mes.data = data;
                }
                else
                {
                    mes.code = "300";
                    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 CheckScanMouldTemp(string mouldcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //获取对应模具点检标准
                sql = @"select M.code,M.name   from TMouldchk_Mould E
                        inner join TMouldchk_Main M on E.mouldchkmain_code=M.code
                        where E.mould_code=@mouldcode order by M.lm_date desc";
                dynamicParams.Add("@mouldcode", mouldcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
                {
                    mes.code = "200";
                    mes.Message = "查询成功!";
                    mes.data = data;
                }
                else
                {
                    mes.code = "300";
                    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 SelectScanMouldQrCodeItem(string mouldcode, string checktempcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //获取对应模具关联的点检项目
                sql = @"select S.seq,S.code,S.name,S.chkdesc
                        from TMouldchk_Mould A
                        inner join TMouldchk_Main B on A.mouldchkmain_code=B.code
                        inner join TMouldchk_Deta S on B.code=S.mouldchk_main_code
                        where A.mould_code=@mouldcode and B.code=@checktempcode
                        order by S.seq asc";
                dynamicParams.Add("@mouldcode", mouldcode);
                dynamicParams.Add("@checktempcode", checktempcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
                {
                    mes.code = "200";
                    mes.Message = "查询成功!";
                    mes.data = data;
                }
                else
                {
                    mes.code = "300";
                    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 MouldCheckSave(string menucode, User us, AppDevicecCheck json)
        {
            var sql = "";
            string djwo = "", numvalue = "";
            List<object> list = new List<object>();
            try
            {
                list.Clear();
                mes = SeachEncodeJob.EncodingSeach(menucode);  //APP端模具点检生成单号
                if (mes.code == "300")
                {
                    return mes;
                }
                else
                {
                    List<string> wo = (List<string>)mes.data;
                    djwo = wo[0].ToString(); //获取单号
                    numvalue = wo[1].ToString(); //获取流水号
                }
                if (json == null || json.children.Count <= 0)
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "点检项信息不能为空!";
                    mes.data = null;
                    return mes;
                }
                //写入点检记录主表
                sql = @"insert into TMouldchk_Proc_Main(djwo,mould_code,mouldchkmain_code,chk_user,chk_date,chk_result)
                        values(@djwo,@mould_code,@mouldchkmain_code,@lm_user,@lm_date,@chk_result)";
                list.Add(new
                {
                    str = sql,
                    parm = new
                    {
                        djwo = djwo,
                        mould_code = json.code,
                        mouldchkmain_code = json.standcode,
                        lm_user = us.usercode,
                        lm_date = DateTime.Now.ToString(),
                        chk_result = json.result
                    }
                });
                //循环写入点检记录子表
                for (int i = 0; i < json.children.Count; i++)
                {
                    sql = @"insert into TMouldchk_Proc_Deta(seq,m_id,mouldchkdeta_code,result,chk_value,lm_user,lm_date)
                            values(@seq,CONVERT(INT,IDENT_CURRENT('TMouldchk_Proc_Main')),@mouldchkdeta_code,@result,@chk_value,@lm_user,@lm_date)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            seq = json.children[i].seq,
                            mouldchkdeta_code = json.children[i].itemcode,
                            result = json.children[i].result,
                            chk_value = json.children[i].value,
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString()
                        }
                    }); ;
                }
                //更新单据流水号
                List<object> list1 = SeachEncodeJob.StrEncodingUpdate(menucode, numvalue);
                list.Add(list1[0]);
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    //写入操作记录表
                    LogHelper.DbOperateLog(us.usercode, "模具点检", "模具:" + json.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 RepairScanMouldQrCodeData(string mouldcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //获取模具信息
                sql = @"select A.code,A.name,A.spec
                        from TMouldInfo A
                        where A.code=@mouldcode and A.status='Y' ";
                dynamicParams.Add("@mouldcode", mouldcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
                {
                    mes.code = "200";
                    mes.Message = "查询成功!";
                    mes.data = data;
                }
                else
                {
                    mes.code = "300";
                    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 RepairScanMouldTemp(string mouldcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //获取对应模具保养标准
                sql = @"select M.code,M.name   from TMouldmai_Mould E
                        inner join TMouldchk_Main M on E.mouldmaimain_code=M.code
                        where E.mould_code=@mouldcode order by M.lm_date desc";
                dynamicParams.Add("@mouldcode", mouldcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
                {
                    mes.code = "200";
                    mes.Message = "查询成功!";
                    mes.data = data;
                }
                else
                {
                    mes.code = "300";
                    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 RepairSelectScanMouldQrCodeItem(string mouldcode, string repartempcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //获取对应模具关联的保养项目
                sql = @"select S.seq,S.code,S.name,S.chkdesc
                        from TMouldmai_Mould A
                        inner join TMouldmai_Main B on A.mouldmaimain_code=B.code
                        inner join TMouldmai_Deta S on B.code=S.mouldmai_main_code
                        where A.mould_code=@mouldcode and B.code=@repartempcode
                        order by S.seq asc";
                dynamicParams.Add("@mouldcode", mouldcode);
                dynamicParams.Add("@repartempcode", repartempcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
                {
                    mes.code = "200";
                    mes.Message = "查询成功!";
                    mes.data = data;
                }
                else
                {
                    mes.code = "300";
                    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 MouldRepairSave(string menucode, User us, AppDevicecCheck json)
        {
            var sql = "";
            string bywo = "", numvalue = "";
            List<object> list = new List<object>();
            try
            {
                list.Clear();
                mes = SeachEncodeJob.EncodingSeach(menucode);  //APP端模具保养生成单号
                if (mes.code == "300")
                {
                    return mes;
                }
                else
                {
                    List<string> wo = (List<string>)mes.data;
                    bywo = wo[0].ToString(); //获取单号
                    numvalue = wo[1].ToString(); //获取流水号
                }
                if (json == null || json.children.Count <= 0)
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "保养项信息不能为空!";
                    mes.data = null;
                    return mes;
                }
                //写入保养记录主表
                sql = @"insert into TMouldmaint_Proc_Main(bywo,mould_code,mouldmaint_code,maint_result,maint_user,maint_date)
                        values(@bywo,@mould_code,@mouldmaint_code,@maint_result,@lm_user,@lm_date)";
                list.Add(new
                {
                    str = sql,
                    parm = new
                    {
                        bywo = bywo,
                        mould_code = json.code,
                        mouldmaint_code = json.standcode,
                        lm_user = us.usercode,
                        lm_date = DateTime.Now.ToString(),
                        maint_result = json.result
                    }
                });
                //循环写入保养记录子表
                for (int i = 0; i < json.children.Count; i++)
                {
                    sql = @"insert into TEqpmaint_Proc_Deta(seq,m_id,mouldmaideta_code,result,maint_value,lm_user,lm_date)
                            values(@seq,CONVERT(INT,IDENT_CURRENT('TMouldmaint_Proc_Main')),@mouldmaideta_code,@result,@maint_value,@lm_user,@lm_date)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            seq = json.children[i].seq,
                            mouldmaideta_code = json.children[i].itemcode,
                            result = json.children[i].result,
                            maint_value = json.children[i].value,
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString()
                        }
                    }); ;
                }
                //更新单据流水号
                List<object> list1 = SeachEncodeJob.StrEncodingUpdate(menucode, numvalue);
                list.Add(list1[0]);
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    //写入操作记录表
                    LogHelper.DbOperateLog(us.usercode, "模具保养", "模具:" + json.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 MaintainScanMouldApplyQrCodeData(string mouldcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //获取当前扫码模具是否存在已申请或已维修状态数据
                sql = @"select *  from TMould_RepairRequest where mould_code=@mouldcode and status<>'CONFIR'";
                dynamicParams.Add("@mouldcode", mouldcode);
                var data0 = DapperHelper.selectdata(sql, dynamicParams);
                if (data0.Rows.Count > 0)
                {
                    //查看维修记录里面是否有已申请未维修及维修确认的数据
                    var rows = data0.AsEnumerable().Where(item => item["STATUS"].ToString().Equals("REPA")).ToArray();
                    if (rows.Length > 0)
                    {
                        mes.code = "300";
                        mes.Message = "当前模具已维修申请,待维修!";
                        mes.data = null;
                    }
                    else
                    {
                        mes.code = "300";
                        mes.Message = "当前模具已维修,待确认验证!";
                        mes.data = null;
                    }
                }
                else
                {
                    //获取对应模具信息
                    sql = @"select A.code,A.name,A.spec
                            from TMouldInfo A
                            where A.code=@mouldcode and A.status='Y' ";
                    dynamicParams.Add("@mouldcode", mouldcode);
                    var data = DapperHelper.selectdata(sql, dynamicParams);
                    if (data.Rows.Count > 0)
                    {
                        mes.code = "200";
                        mes.Message = "查询成功!";
                        mes.data = data;
                    }
                    else
                    {
                        mes.code = "300";
                        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 MaintainScanMouldApplySave(string menucode, string mouldcode, string faultsourcecode, string faultdescr, User us, List<IFormFile> files)
        {
            var sql = "";
            string wxwo = "", numvalue = "";
            List<object> list = new List<object>();
            try
            {
                list.Clear();
                mes = SeachEncodeJob.EncodingSeach(menucode);  //APP端模具维修申请生成单号
                if (mes.code == "300")
                {
                    return mes;
                }
                else
                {
                    List<string> wo = (List<string>)mes.data;
                    wxwo = wo[0].ToString(); //获取单号
                    numvalue = wo[1].ToString(); //获取流水号
                }
                //维修申请上传图片
                if (files != null && files.Count > 0)
                {
                    for (int i = 0; i < files.Count; i++)
                    {
                        // 生成文件名
                        var fileName = DateTime.Now.ToString("yyyyMMddhhmmss") + i.ToString() + Path.GetExtension(files[i].FileName);
                        // 拼接文件保存路径
                        var filePath = Path.Combine("wwwroot/MouldRecordImage", fileName);
                        // 保存文件
                        using (var stream = new FileStream(filePath, FileMode.Create))
                        {
                            files[i].CopyToAsync(stream);
                        }
                        //循环写维修记录对应图片表
                        sql = @"insert into  TMould_RepairImage(source_wo,wo_type,img1url)
                                values(@source_wo,@wo_type,@img1url)";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                source_wo = wxwo,
                                wo_type = "REPA",
                                img1url = filePath
                            }
                        });
                    }
                }
                //写入维修申请记录表
                sql = @"insert into  TMould_RepairRequest(docu_code,docu_date,status,mould_code,request_person,request_date,failure_descript,source)
                                values(@docu_code,@docu_date,@status,@mould_code,@request_person,@request_date,@failure_descript,@source)";
                list.Add(new
                {
                    str = sql,
                    parm = new
                    {
                        docu_code = wxwo,
                        docu_date = DateTime.Now.ToString(),
                        status = "REPA",
                        mould_code = mouldcode,
                        request_person = us.usercode,
                        request_date = DateTime.Now.ToString(),
                        failure_descript = faultdescr,
                        source = faultsourcecode
                    }
                });
                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/Tools/ImportExcel.cs
@@ -1310,7 +1310,7 @@
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = excelTable[i].Rows.IndexOf(row).ToString();
                        erro.ErrorField = emptyColumn.ColumnName;
                        erro.ErrorField = duplicateColumn.ColumnName;
                        erro.ErrorCont = "模板表头带(唯一)的列中存在重复值,第" + excelTable[i].Rows.IndexOf(row).ToString() + "行,必填字段:" + duplicateColumn.ColumnName + "重复";
                        list.Add(erro);
                        
VueWebCoreApi/Tools/ImportExcelData.cs
@@ -3479,8 +3479,8 @@
                var dt3 = from r in excelTable[1].AsEnumerable()
                          where !(
                              from rr in excelTable[0].AsEnumerable()
                              select rr.Field<string>("*模具编号(唯一)")
                          ).Contains(r.Field<string>("模具编码"))
                              select rr.Field<string>("*模具编号(唯一)").Trim()
                          ).Contains(r.Field<string>("模具编码").Trim())
                          select r;
                List<DataRow> listRow = dt3.ToList();
                if (listRow.Count > 0)
@@ -3605,7 +3605,7 @@
                        list.Add(erro);
                    }
                    //通过模具点检标准页签模板中的标准编码查询模具点检项页签模板中对应的数据信息
                    var var_dtTable = excelTable[1].AsEnumerable().Where<DataRow>(W => W["*模具点检标准编号"].ToString() == excelTable[0].Rows[j][0].ToString().Trim());
                    var var_dtTable = excelTable[1].AsEnumerable().Where<DataRow>(W => W["*模具点检标准编号"].ToString().Trim() == excelTable[0].Rows[j][0].ToString().Trim());
                    DataTable ds = var_dtTable.Any() ? var_dtTable.CopyToDataTable() : excelTable[1].Clone();
                    if (ds.Rows.Count > 0)
                    {
@@ -3635,15 +3635,16 @@
            {
                if (excelTable[1].Rows[k][2].ToString().Trim() != null && excelTable[1].Rows[k][2].ToString().Trim() != "")
                {
                    sql = @"select *  from TMouldchk_Item where code=@code";
                    sql = @"select *  from TMouldchk_Item where code=@code and name=@name";
                    dynamicParams.Add("@code", excelTable[1].Rows[k][2].ToString().Trim());
                    dynamicParams.Add("@name", excelTable[1].Rows[k][3].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count < 0)
                    if (dt.Rows.Count <= 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{*模具点检项编号(唯一)}";
                        erro.ErrorCont = "模具点检部位表:{*模具点检项编号(唯一)}字段" + excelTable[1].Rows[k][2].ToString().Trim() + "在数据表中不存在";
                        erro.ErrorCont = "模具点检部位表:{*模具点检项编号(唯一),*模具点检项名称}字段{" + excelTable[1].Rows[k][2].ToString().Trim() +","+ excelTable[1].Rows[k][3].ToString().Trim() + "}在模具点检项中不存在";
                        list.Add(erro);
                    }
                }
@@ -3652,8 +3653,8 @@
            var dt3 = from r in excelTable[1].AsEnumerable()
                      where !(
                          from rr in excelTable[0].AsEnumerable()
                          select rr.Field<string>("*模具点检标准编号(唯一)")
                      ).Contains(r.Field<string>("*模具点检标准编号"))
                          select rr.Field<string>("*模具点检标准编号(唯一)").Trim()
                      ).Contains(r.Field<string>("*模具点检标准编号").Trim())
                      select r;
            List<DataRow> listRow = dt3.ToList();
            if (listRow.Count > 0)
@@ -3777,7 +3778,7 @@
                        list.Add(erro);
                    }
                    //通过模具保养标准页签模板中的标准编码查询模具保养项页签模板中对应的数据信息
                    var var_dtTable = excelTable[1].AsEnumerable().Where<DataRow>(W => W["*模具保养标准编号"].ToString() == excelTable[0].Rows[j][0].ToString().Trim());
                    var var_dtTable = excelTable[1].AsEnumerable().Where<DataRow>(W => W["*模具保养标准编号"].ToString().Trim() == excelTable[0].Rows[j][0].ToString().Trim());
                    DataTable ds = var_dtTable.Any() ? var_dtTable.CopyToDataTable() : excelTable[1].Clone();
                    if (ds.Rows.Count > 0)
                    {
@@ -3807,15 +3808,16 @@
            {
                if (excelTable[1].Rows[k][2].ToString().Trim() != null && excelTable[1].Rows[k][2].ToString().Trim() != "")
                {
                    sql = @"select *  from TMouldmai_Item where code=@code";
                    sql = @"select *  from TMouldmai_Item where code=@code and name=@name";
                    dynamicParams.Add("@code", excelTable[1].Rows[k][2].ToString().Trim());
                    dynamicParams.Add("@name", excelTable[1].Rows[k][3].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count < 0)
                    if (dt.Rows.Count <= 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{*模具保养项编号(唯一)}";
                        erro.ErrorCont = "模具保养部位表:{*模具保养项编号(唯一)}字段" + excelTable[1].Rows[k][2].ToString().Trim() + "在数据表中不存在";
                        erro.ErrorCont = "模具保养部位表:{*模具保养项编号(唯一),*模具保养项名称}字段{" + excelTable[1].Rows[k][2].ToString().Trim() + "," + excelTable[1].Rows[k][3].ToString().Trim() + "}在模具保养项中不存在";
                        list.Add(erro);
                    }
                }
@@ -3824,8 +3826,8 @@
            var dt3 = from r in excelTable[1].AsEnumerable()
                      where !(
                          from rr in excelTable[0].AsEnumerable()
                          select rr.Field<string>("*模具保养标准编号(唯一)")
                      ).Contains(r.Field<string>("*模具保养标准编号"))
                          select rr.Field<string>("*模具保养标准编号(唯一)").Trim()
                      ).Contains(r.Field<string>("*模具保养标准编号").Trim())
                      select r;
            List<DataRow> listRow = dt3.ToList();
            if (listRow.Count > 0)
VueWebCoreApi/VueWebCoreApi.csproj
@@ -48,6 +48,7 @@
    <ItemGroup>
        <Folder Include="InExcel\" />
        <Folder Include="wwwroot\newxls\" />
        <Folder Include="wwwroot\MouldRecordImage\" />
    </ItemGroup>
    <ItemGroup>
VueWebCoreApi/wwwroot/AppMenuImage/app_5_1.png
VueWebCoreApi/wwwroot/AppMenuImage/app_5_2.png
VueWebCoreApi/wwwroot/AppMenuImage/app_5_3.png
VueWebCoreApi/wwwroot/AppMenuImage/app_5_4.png
VueWebCoreApi/wwwroot/AppMenuImage/app_5_5.png