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;
@@ -34,7 +36,7 @@
                }
                if (onstate != "" && onstate != null)
                {
                    search += "and A.usestaus=@onstate ";
                    search += "and A.usestatus=@onstate ";
                    dynamicParams.Add("@onstate", onstate);
                }
                if (mouldcode != "" && mouldcode != null)
@@ -69,7 +71,7 @@
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select A.status,A.usestaus,A.code,A.name,A.spec,A.warehousecode,S.name as warehousename,
                var sql = @"select A.status,A.usestatus,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
@@ -110,7 +112,7 @@
            {
                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
@@ -254,12 +256,18 @@
            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";
                        select mould_code   from TMould_RepairRequest where mould_code=@devicecode
                        union all
                        select mould_code   from TMould_UpDownReord where mould_code=@devicecode
                        union all
                        select mould_code   from TMould_LendOutReord where mould_code=@devicecode
                        union all
                        select mould_code   from TMould_InOutReord where mould_code=@devicecode";
                dynamicParams.Add("@devicecode", mouldcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
@@ -286,6 +294,8 @@
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    //写入操作记录表
                    LogHelper.DbOperateLog(us.usercode, "删除", "模具:" + mouldcode, us.usertype);
                    mes.code = "200";
                    mes.count = 0;
                    mes.Message = "删除成功!";
@@ -313,7 +323,7 @@
        #region[模具点检项列表查询]
        public static ToMessage MouldMangerSearch(string checkitemcode, string checkitemname, string checkdescr, int startNum, int endNum, string prop, string order)
        public static ToMessage MouldCheckItemSearch(string checkitemcode, string checkitemname, string checkdescr, int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
@@ -380,6 +390,8 @@
                    int cont = DapperHelper.SQL(sql, dynamicParams);
                    if (cont > 0)
                    {
                        //写入操作记录表
                        LogHelper.DbOperateLog(us.usercode, "新增", "模具点检项:" + checkitemcode, us.usertype);
                        mes.code = "200";
                        mes.count = 0;
                        mes.Message = "新增操作成功!";
@@ -406,6 +418,8 @@
                    int cont = DapperHelper.SQL(sql, dynamicParams);
                    if (cont > 0)
                    {
                        //写入操作记录表
                        LogHelper.DbOperateLog(us.usercode, "修改", "模具点检项:" + checkitemcode, us.usertype);
                        mes.code = "200";
                        mes.count = 0;
                        mes.Message = "修改操作成功!";
@@ -432,7 +446,7 @@
        #endregion
        #region[模具点检项删除]
        public static ToMessage DeleteMouldCheckItem(string checkitemcode)
        public static ToMessage DeleteMouldCheckItem(string checkitemcode, User us)
        {
            var sql = "";
            List<object> list = new List<object>();
@@ -460,6 +474,8 @@
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    //写入操作记录表
                    LogHelper.DbOperateLog(us.usercode, "删除", "模具点检项:" + checkitemcode, us.usertype);
                    mes.code = "200";
                    mes.count = 0;
                    mes.Message = "删除成功!";
@@ -485,5 +501,2446 @@
        }
        #endregion
        #region[模具点检标准列表查询]
        public static ToMessage DeviceCheckStandArdSearch(string checkstandcode, string checkstandname, string checkstandescr, int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
            try
            {
                if (checkstandcode != "" && checkstandcode != null)
                {
                    search += "and A.code like '%'+@checkstandcode+'%' ";
                    dynamicParams.Add("@checkstandcode", checkstandcode);
                }
                if (checkstandname != "" && checkstandname != null)
                {
                    search += "and A.name like '%'+@checkstandname+'%' ";
                    dynamicParams.Add("@checkstandname", checkstandname);
                }
                if (checkstandescr != "" && checkstandescr != null)
                {
                    search += "and A.iscontr=@checkstandescr ";
                    dynamicParams.Add("@checkstandescr", checkstandescr);
                }
                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,A.is_checkmould,U.username as lm_user,A.lm_date
                            from TMouldchk_Main 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 ViewMouldCheckStanedSearch(string checkstand_code)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //获取模具点检标准信息
                sql = @"select code,name,description
                        from TMouldchk_Main
                        where code=@checkstand_code";
                dynamicParams.Add("@checkstand_code", checkstand_code);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                RoutEdit rout = new RoutEdit();
                if (data.Rows.Count > 0)
                {
                    rout.code = data.Rows[0]["CODE"].ToString();
                    rout.name = data.Rows[0]["NAME"].ToString();
                    rout.description = data.Rows[0]["DESCRIPTION"].ToString();
                }
                else
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "无点检标准信息!";
                    mes.data = null;
                    return mes;
                }
                //根据模具点检标准编码获取关联的检验项目信息
                sql = @"select B.code,B.name,A.chkdesc from TMouldchk_Deta A
                        left join TMouldchk_Item  B on A.code=B.code
                        where  A.mouldchk_main_code=@checkstaned_code order by A.seq asc";
                dynamicParams.Add("@checkstaned_code", rout.code);
                var data0 = DapperHelper.selectdata(sql, dynamicParams);
                rout.Data = data0;
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.data = rout;
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[模具点检标准新增编辑]
        public static ToMessage AddUpdateMouldCheckStandArd(string opertype, RoutEdit json, User us)
        {
            var sql = "";
            var dynamicParams = new DynamicParameters();
            List<object> list = new List<object>();
            try
            {
                if (opertype == "Add")
                {
                    //新增模具点检标准主表
                    sql = @"insert into TMouldchk_Main(code,name,description,lm_user,lm_date) values(@code,@name,@descr,@lm_user,@lm_date)";
                    list.Add(new { str = sql, parm = new { code = json.code, name = json.name, descr = json.description, lm_user = us.usercode, lm_date = DateTime.Now.ToString() } });
                    for (int i = 0; i < json.Data.Rows.Count; i++)
                    {
                        //新增模具点检标准关联点检项子表
                        sql = @"insert TMouldchk_Deta (seq,code,name,mouldchk_main_code,chkdesc,lm_user,lm_date)
                                values(@checkitem_seq,@checkitem_code,@checkitem_name,@mouldchk_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(),
                                mouldchk_main_code = json.code,
                                chkdesc = json.Data.Rows[i]["CHECKITEM_DESCR"].ToString(),
                                lm_user = us.usercode,
                                lm_date = DateTime.Now.ToString()
                            }
                        });
                    }
                    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;
                    }
                }
                if (opertype == "Update")
                {
                    //删除点检标准关联点检项目子表
                    sql = @"delete from TMouldchk_Deta where mouldchk_main_code=@checkstaned_code";
                    list.Add(new { str = sql, parm = new { checkstaned_code = json.code } });
                    //修改点检标准主表
                    sql = @"update  TMouldchk_Main set name=@checkstaned_name,description=@checkstaned_desc where code=@checkstaned_code";
                    list.Add(new { str = sql, parm = new { checkstaned_code = json.code, checkstaned_name = json.name, checkstaned_desc = json.description } });
                    //新增点检标准关联点检项目子表
                    for (int i = 0; i < json.Data.Rows.Count; i++)
                    {
                        sql = @"insert TMouldchk_Deta (seq,code,name,mouldchk_main_code,chkdesc,lm_user,lm_date)
                                values(@checkitem_seq,@checkitem_code,@checkitem_name,@mouldchk_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(),
                                mouldchk_main_code = json.code,
                                chkdesc = json.Data.Rows[i]["CHECKITEM_DESCR"].ToString(),
                                lm_user = us.usercode,
                                lm_date = DateTime.Now.ToString()
                            }
                        });
                    }
                    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 DeleteMouldCheckStaned(string checkstand_code, User us)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                sql = @"select * from  TMouldchk_Proc_Main  where mouldchkmain_code=@checkstand_code";
                dynamicParams.Add("@checkstand_code", checkstand_code);
                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_Main  where code=@checkstand_code";
                list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
                //删除模具点检标准关联点检项目子表
                sql = @"delete TMouldchk_Deta  where mouldchk_main_code=@checkstand_code";
                list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
                //删除模具点检标准关联模具表
                sql = @"delete TMouldchk_Mould  where mouldchkmain_code=@checkstand_code";
                list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    //写入操作记录表
                    LogHelper.DbOperateLog(us.usercode, "删除", "模具点检标准:" + checkstand_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 CheckStanedAssociationMould(string checkstand_code)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                sql = @"select *  from(
                        select AA.code,AA.name,'M' as type,(case when BB.mouldchkmain_code is null then 'N' else 'Y' end) flag
                        from(
                        select A.code,A.name,'' as mouldchkmain_code
                        from TMouldInfo A
                        where  A.status='Y'
                        ) as AA
                        left join (
                         select A.code,A.name,B.mouldchkmain_code
                         from TMouldInfo A
                         inner join TMouldchk_Mould B on A.code=B.mould_code
                         where  B.mouldchkmain_code=@checkstand_code and A.status='Y'
                        ) as BB on AA.code=BB.code
                        ) as CC";
                dynamicParams.Add("@checkstand_code", checkstand_code);
                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 = null;
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region [模具点检标准关联模具提交]
        public static ToMessage SaveCheckStanedAssociationMould(string checkstand_code, User us, List<ObjectData> json)
        {
            var sql = "";
            List<object> list = new List<object>();
            try
            {
                list.Clear();
                if (json == null || json.Count <= 0)
                {
                    //清除模具点检标准关联模具表数据
                    sql = @"delete TMouldchk_Mould where mouldchkmain_code=@checkstand_code";
                    list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
                    //标记模具点检标准表关联模具标识
                    sql = @"update TMouldchk_Main set is_checkmould='N' where code=@checkstand_code";
                    list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
                }
                else
                {
                    //清除模具点检标准关联模具表数据
                    sql = @"delete TMouldchk_Mould where mouldchkmain_code=@checkstand_code";
                    list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
                    //循环写入模具点检标准关联模具表
                    for (int i = 0; i < json.Count; i++)
                    {
                        sql = @"insert into TMouldchk_Mould(mouldchkmain_code,mould_code,lm_user,lm_date) values(@checkstand_code,@mould_code,@lm_user,@lm_date)";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                mould_code = json[i].code,
                                checkstand_code = checkstand_code,
                                lm_user = us.usercode,
                                lm_date = DateTime.Now.ToString()
                            }
                        });
                    }
                    //标记模具点检标准表关联模具标识
                    sql = @"update TMouldchk_Main set is_checkmould='Y' where code=@checkstand_code";
                    list.Add(new { str = sql, parm = new { checkstand_code = checkstand_code } });
                }
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    //写入操作记录表
                    LogHelper.DbOperateLog(us.usercode, "模具点检标准关联模具", "模具点检标准:" + checkstand_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 MouldMaiItemSearch(string maiitemcode, string maiitemname, string maidescr, int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
            try
            {
                if (maiitemcode != "" && maiitemcode != null)
                {
                    search += "and A.code like '%'+@maiitemcode+'%' ";
                    dynamicParams.Add("@maiitemcode", maiitemcode);
                }
                if (maiitemname != "" && maiitemname != null)
                {
                    search += "and A.name like '%'+@maiitemname+'%' ";
                    dynamicParams.Add("@maiitemname", maiitemname);
                }
                if (maidescr != "" && maidescr != null)
                {
                    search += "and A.description like '%'+@maidescr+'%' ";
                    dynamicParams.Add("@maidescr", maidescr);
                }
                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 TMouldmai_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 AddUpdateMouldMaiItem(string maiitemid, string maiitemcode, string maiitemname, string maiitemdescr, User us, string opertype)
        {
            var dynamicParams = new DynamicParameters();
            try
            {
                if (opertype == "Add")
                {
                    var sql = @"insert into TMouldmai_Item(code,name,description,lm_user,lm_date)
                              values(@maiitemcode,@maiitemname,@maiitemdescr,@usercode,@CreateDate)";
                    dynamicParams.Add("@maiitemcode", maiitemcode);
                    dynamicParams.Add("@maiitemname", maiitemname);
                    dynamicParams.Add("@maiitemdescr", maiitemdescr);
                    dynamicParams.Add("@usercode", us.usercode);
                    dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
                    int cont = DapperHelper.SQL(sql, dynamicParams);
                    if (cont > 0)
                    {
                        //写入操作记录表
                        LogHelper.DbOperateLog(us.usercode, "新增", "模具保养项:" + maiitemcode, 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")
                {
                    var sql = @"update TMouldmai_Item set name=@maiitemname,description=@maiitemdescr,
                                lm_user=@usercode,lm_date=@CreateDate
                                where id=@maiitemid";
                    dynamicParams.Add("@maiitemid", maiitemid);
                    dynamicParams.Add("@maiitemname", maiitemname);
                    dynamicParams.Add("@maiitemdescr", maiitemdescr);
                    dynamicParams.Add("@usercode", us.usercode);
                    dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
                    int cont = DapperHelper.SQL(sql, dynamicParams);
                    if (cont > 0)
                    {
                        //写入操作记录表
                        LogHelper.DbOperateLog(us.usercode, "修改", "模具保养项:" + maiitemcode, 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 DeleteMouldMaiItem(string maiitemcode, User us)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //判断保养标准项目是否有关联保养标准,不允许删除
                sql = @"select *  from TMouldmai_Deta
                        where  code=@maiitemcode";
                dynamicParams.Add("@maiitemcode", maiitemcode);
                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 TMouldmai_Item  where code=@maiitemcode";
                list.Add(new { str = sql, parm = new { maiitemcode = maiitemcode } });
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    //写入操作记录表
                    LogHelper.DbOperateLog(us.usercode, "删除", "模具保养项:" + maiitemcode, 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 MouldRepairStandArdSearch(string repairstandcode, string repairstandname, string repairstandescr, int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
            try
            {
                if (repairstandcode != "" && repairstandcode != null)
                {
                    search += "and A.code like '%'+@repairstandcode+'%' ";
                    dynamicParams.Add("@repairstandcode", repairstandcode);
                }
                if (repairstandname != "" && repairstandname != null)
                {
                    search += "and A.name like '%'+@repairstandname+'%' ";
                    dynamicParams.Add("@repairstandname", repairstandname);
                }
                if (repairstandescr != "" && repairstandescr != null)
                {
                    search += "and A.iscontr=@repairstandescr ";
                    dynamicParams.Add("@repairstandescr", repairstandescr);
                }
                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,A.is_repairmould,U.username as lm_user,A.lm_date
                            from TMouldmai_Main 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 ViewMouldRepairStanedSearch(string repairstand_code)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //获取模具保养标准信息
                sql = @"select code,name,description
                        from TMouldmai_Main
                        where code=@repairstand_code";
                dynamicParams.Add("@repairstand_code", repairstand_code);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                RoutEdit rout = new RoutEdit();
                if (data.Rows.Count > 0)
                {
                    rout.code = data.Rows[0]["CODE"].ToString();
                    rout.name = data.Rows[0]["NAME"].ToString();
                    rout.description = data.Rows[0]["DESCRIPTION"].ToString();
                }
                else
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "无点检标准信息!";
                    mes.data = null;
                    return mes;
                }
                //根据模具保养标准编码获取关联的检验项目信息
                sql = @"select B.code,B.name,A.chkdesc from TMouldmai_Deta A
                        left join TMouldchk_Item  B on A.code=B.code
                        where  A.mouldmai_main_code=@repairstand_code order by A.seq asc";
                dynamicParams.Add("@repairstand_code", rout.code);
                var data0 = DapperHelper.selectdata(sql, dynamicParams);
                rout.Data = data0;
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.data = rout;
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[模具保养标准新增编辑]
        public static ToMessage AddUpdateMouldRepairStandArd(string opertype, RoutEdit json, User us)
        {
            var sql = "";
            var dynamicParams = new DynamicParameters();
            List<object> list = new List<object>();
            try
            {
                if (opertype == "Add")
                {
                    //新增模具保养标准主表
                    sql = @"insert into TMouldmai_Main(code,name,description,lm_user,lm_date) values(@code,@name,@descr,@lm_user,@lm_date)";
                    list.Add(new { str = sql, parm = new { code = json.code, name = json.name, descr = json.description, lm_user = us.usercode, lm_date = DateTime.Now.ToString() } });
                    for (int i = 0; i < json.Data.Rows.Count; i++)
                    {
                        //新增模具保养标准关联保养项子表
                        sql = @"insert TMouldmai_Deta (seq,code,name,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]["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]["REPAIRITEM_DESCR"].ToString(),
                                lm_user = us.usercode,
                                lm_date = DateTime.Now.ToString()
                            }
                        });
                    }
                    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;
                    }
                }
                if (opertype == "Update")
                {
                    //删除保养标准关联保养项目子表
                    sql = @"delete from TMouldmai_Deta where mouldmai_main_code=@repairstaned_code";
                    list.Add(new { str = sql, parm = new { repairstaned_code = json.code } });
                    //修改保养标准主表
                    sql = @"update  TMouldmai_Main set name=@checkstaned_name,description=@checkstaned_desc where code=@repairstaned_code";
                    list.Add(new { str = sql, parm = new { repairstaned_code = json.code, checkstaned_name = json.name, checkstaned_desc = json.description } });
                    //新增保养标准关联保养项目子表
                    for (int i = 0; i < json.Data.Rows.Count; i++)
                    {
                        sql = @"insert TMouldmai_Deta (seq,code,name,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]["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]["REPAIRITEM_DESCR"].ToString(),
                                lm_user = us.usercode,
                                lm_date = DateTime.Now.ToString()
                            }
                        });
                    }
                    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 DeleteMouldRepairStaned(string repairstand_code, User us)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                sql = @"select * from  TMouldmaint_Proc_Main  where mouldmaint_code=@repairstand_code";
                dynamicParams.Add("@repairstand_code", repairstand_code);
                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 TMouldmai_Main  where code=@repairstand_code";
                list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } });
                //删除模具保养标准关联保养项目子表
                sql = @"delete TMouldmai_Deta  where mouldmai_main_code=@repairstand_code";
                list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } });
                //删除模具保养标准关联模具表
                sql = @"delete TMouldmai_Mould  where mouldmaimain_code=@repairstand_code";
                list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } });
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    //写入操作记录表
                    LogHelper.DbOperateLog(us.usercode, "删除", "模具保养标准:" + repairstand_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 RepairStanedAssociationMould(string repairstand_code)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                sql = @"select *  from(
                        select AA.code,AA.name,'M' as type,(case when BB.mouldmaimain_code is null then 'N' else 'Y' end) flag
                        from(
                        select A.code,A.name,'' as mouldmaimain_code
                        from TMouldInfo A
                        where  A.status='Y'
                        ) as AA
                        left join (
                         select A.code,A.name,B.mouldmaimain_code
                         from TMouldInfo A
                         inner join TMouldmai_Mould B on A.code=B.mould_code
                         where  B.mouldmaimain_code=@repairstand_code and A.status='Y'
                        ) as BB on AA.code=BB.code
                        ) as CC";
                dynamicParams.Add("@repairstand_code", repairstand_code);
                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 = null;
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region [模具点检标准关联模具提交]
        public static ToMessage SaveRepairStanedAssociationMould(string repairstand_code, User us, List<ObjectData> json)
        {
            var sql = "";
            List<object> list = new List<object>();
            try
            {
                list.Clear();
                if (json == null || json.Count <= 0)
                {
                    //清除模具保养标准关联模具表数据
                    sql = @"delete TMouldmai_Mould where mouldmaimain_code=@repairstand_code";
                    list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } });
                    //标记模具保养标准表关联模具标识
                    sql = @"update TMouldmai_Main set is_repairmould='N' where code=@repairstand_code";
                    list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } });
                }
                else
                {
                    //清除模具保养标准关联模具表数据
                    sql = @"delete TMouldmai_Mould where mouldmaimain_code=@repairstand_code";
                    list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } });
                    //循环写入模具保养标准关联模具表
                    for (int i = 0; i < json.Count; i++)
                    {
                        sql = @"insert into TMouldmai_Mould(mouldmaimain_code,mould_code,lm_user,lm_date) values(@repairstand_code,@mould_code,@lm_user,@lm_date)";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                mould_code = json[i].code,
                                repairstand_code = repairstand_code,
                                lm_user = us.usercode,
                                lm_date = DateTime.Now.ToString()
                            }
                        });
                    }
                    //标记模具保养标准表关联模具标识
                    sql = @"update TMouldmai_Main set is_repairmould='Y' where code=@repairstand_code";
                    list.Add(new { str = sql, parm = new { repairstand_code = repairstand_code } });
                }
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    //写入操作记录表
                    LogHelper.DbOperateLog(us.usercode, "模具保养标准关联模具", "模具保养标准:" + repairstand_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 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 TMouldInfo where code=@mouldcode";
                dynamicParams.Add("@mouldcode", mouldcode);
                var dt = DapperHelper.selectdata(sql, dynamicParams);
                if (dt.Rows.Count > 0)
                {
                    switch (dt.Rows[0]["usestatus"].ToString())
                    {
                        case "0": //在库
                            mes.code = "300";
                            mes.Message = "当前模具在库状态,请先出库操作!";
                            mes.data = null;
                            return mes;
                        case "2": //上机
                            mes.code = "300";
                            mes.Message = "当前模具上机状态,请先下机操作!";
                            mes.data = null;
                            return mes;
                        case "7": //外借
                            mes.code = "300";
                            mes.Message = "当前模具外借状态,请先归还操作!";
                            mes.data = null;
                            return mes;
                        default:
                            break;
                    }
                }
                else
                {
                    mes.code = "300";
                    mes.Message = "无效的模具二维码信息!";
                    mes.data = null;
                    return mes;
                }
                //获取当前扫码模具是否存在已申请或已维修状态数据
                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,A.surp_life,A.resi_life
                            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 sqwo = "", 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;
                    sqwo = wo[0].ToString(); //获取申请维修单号
                    numvalue = wo[1].ToString(); //获取流水号
                }
                //维修申请上传图片
                if (files != null && files.Count > 0)
                {
                    for (int i = 0; i < files.Count; i++)
                    {
                        // 生成文件名
                        var fileName = "SQ" + 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 = sqwo,
                                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 = sqwo,
                        docu_date = DateTime.Now.ToString(),
                        status = "REPA",
                        mould_code = mouldcode,
                        request_person = us.usercode,
                        request_date = DateTime.Now.ToString(),
                        failure_descript = faultdescr,
                        source = faultsourcecode
                    }
                });
                //回写模具清单,模具状态(故障)、使用状态(待维修)
                sql = @"update TMouldInfo set status='N',usestatus='4'  where code=@mouldcode";
                list.Add(new { str = sql, parm = new { mouldcode = mouldcode } });
                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 RepairScanMouldQrCodeDataList(string mouldcode)
        {
            string sql = "", search = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                if (mouldcode == "" || mouldcode == null)
                {
                    search += "and B.code=@mouldcode ";
                    dynamicParams.Add("@mouldcode", mouldcode);
                }
                //获取模具维修列表已申请未维修的数据
                sql = @"select A.docu_code,B.code as mouldcode,B.name as mouldname,B.spec as mouldspec,B.surp_life,B.resi_life,
                        A.request_person,A.request_date,
                        (case when A.source='A' then '点检' when A.source='B' then '保养' when A.source='D' then '手工' end) as source,
                        A.failure_descript
                        from TMould_RepairRequest A
                        inner  join TMouldInfo B on A.mould_code=B.code
                        where  A.status='REPA' " + search;
                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 RepairScanMouldSave(string menucode, string docu_code, string mouldcode, string faultdescr, string is_stoprepair, string repaircontent, 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 = "WX" + 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 = "COMP",
                                img1url = filePath
                            }
                        });
                    }
                }
                //写入维修记录表
                sql = @"insert into  TMould_Repair(repair_code,docu_date,status,mould_code,repair_person,repair_date,repair_content,failure_descript,is_shutdown,source_wo)
                        values(@repair_code,@docu_date,@status,@mould_code,@repair_person,@repair_date,@repair_content,@failure_descript,@is_shutdown,@source_wo)";
                list.Add(new
                {
                    str = sql,
                    parm = new
                    {
                        repair_code = wxwo,
                        docu_date = DateTime.Now.ToString(),
                        status = "COMP",
                        mould_code = mouldcode,
                        repair_person = us.usercode,
                        repair_date = DateTime.Now.ToString(),
                        repair_content = repaircontent,
                        failure_descript = faultdescr,
                        is_shutdown = is_stoprepair,
                        source_wo = docu_code
                    }
                });
                //更新维修申请单状态
                sql = @"update TMould_RepairRequest set status=@status  where docu_code=@docu_code  and mould_code=@mouldcode";
                list.Add(new { str = sql, parm = new { docu_code = docu_code, mouldcode = mouldcode, status = "COMP" } });
                //回写模具清单,使用状态(已维修)
                sql = @"update TMouldInfo set usestatus='5'  where code=@mouldcode";
                list.Add(new { str = sql, parm = new { mouldcode = mouldcode } });
                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 RepairVerificationScanMouldData(string mouldcode)
        {
            string sql = "", search = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                if (mouldcode == "" || mouldcode == null)
                {
                    search += "and B.code=@mouldcode ";
                    dynamicParams.Add("@mouldcode", mouldcode);
                }
                //获取模具维修列表已维修的数据
                sql = @"select A.repair_code,B.code as mouldcode,B.name as mouldname,B.spec as mouldspec,B.surp_life,B.resi_life,
                        A.repair_person,A.repair_date,A.is_shutdown,
                        A.failure_descript
                        from TMould_Repair A
                        inner  join TMouldInfo B on A.mould_code=B.code
                        where A.status='COMP' " + search;
                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 RepairVerificationScanMouldDataSub(string repair_code, string mouldcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            Dictionary<string, object> dict = new Dictionary<string, object>();
            try
            {
                //根据设模具编码获取维修详情
                sql = @"select repair_code,failure_descript,is_shutdown,repair_content,repair_part
                        from TMould_Repair
                        where repair_code=@repair_code  and mould_code=mouldcode";
                dynamicParams.Add("@repair_code", repair_code);
                dynamicParams.Add("@mouldcode", mouldcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
                {
                    dict.Add("failure_descript", data.Rows[0]["failure_descript"].ToString()); //故障描述
                    //获取故障上传图片
                    sql = @"select img1url  from TMould_RepairImage where source_wo=@source_wo and wo_type='COMP'";
                    dynamicParams.Add("@source_wo", data.Rows[0]["repair_code"].ToString());
                    var data0 = DapperHelper.selectdata(sql, dynamicParams);
                    if (data0.Rows.Count > 0)
                    {
                        dict.Add("failure_descriptimg", data0); //故障上传图片
                    }
                    dict.Add("repair_content", data.Rows[0]["repair_content"].ToString()); //维修内容
                    mes.code = "200";
                    mes.Message = "查询成功!";
                    mes.data = dict;
                }
                else
                {
                    mes.code = "300";
                    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 RepairVerificationScanMouldSave(string repairwo, string mouldcode, string result, string surp_life, User us)
        {
            var sql = ""; decimal surplife = 0;
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //验证结果为OK且验证后的剩余寿命>0
                if (result == "OK" && decimal.Parse(surp_life) > 0)
                {
                    surplife = decimal.Parse(surp_life);
                }
                //根据模具维修单查找源单(维修申请单)
                sql = @"select source_wo   from TMould_Repair where repair_code=@repairwo";
                dynamicParams.Add("@repairwo", repairwo);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                //更新设备维修记录验证人员、验证时间、验证结果、验证状态
                sql = @"update TMould_Repair set status=@status,is_verifi=@is_verifi,verify_result=@verify_result,verify_person=@verify_person,verify_date=@verify_date,verify_surplife=@verify_surplife
                        where repair_code=@repair_code  and mould_code=@mould_code";
                list.Add(new
                {
                    str = sql,
                    parm = new
                    {
                        status = "CONFIR",
                        is_verifi = "Y",
                        verify_result = result,
                        verify_person = us.usercode,
                        verify_date = DateTime.Now.ToString(),
                        repair_code = repairwo,
                        mould_code = mouldcode,
                        verify_surplife = surplife
                    }
                });
                //更新维修申请单状态
                sql = @"update TMould_RepairRequest set status=@status  where docu_code=@docu_code  and mould_code=@mouldcode";
                list.Add(new { str = sql, parm = new { docu_code = data.Rows[0]["source_wo"].ToString(), mouldcode = mouldcode, status = "CONFIR" } });
                if (result == "OK")
                {
                    if (surplife > 0)
                    {
                        //回写模具清单,模具状态(正常),使用状态(已维修),剩余寿命(次)
                        sql = @"update TMouldInfo set status='Y',usestatus='6',resi_life=@resi_life  where code=@mouldcode";
                        list.Add(new { str = sql, parm = new { mouldcode = mouldcode, resi_life = surp_life } });
                    }
                    else
                    {
                        //回写模具清单,模具状态(正常),使用状态(已维修)
                        sql = @"update TMouldInfo set status='Y',usestatus='6'  where code=@mouldcode";
                        list.Add(new { str = sql, parm = new { mouldcode = mouldcode } });
                    }
                }
                else
                {
                    //回写模具清单,模具状态(故障),使用状态(已维修)
                    sql = @"update TMouldInfo set status='N',usestatus='6'  where code=@mouldcode";
                    list.Add(new { str = sql, parm = new { mouldcode = mouldcode } });
                }
                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 MouldUpQrCodeData(string mouldcode)
        {
            string sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                //判断当前模具当前使用状态
                sql = @"select code,name,spec,status,usestatus,surp_life,resi_life
                        from TMouldInfo where code=@mouldcode";
                dynamicParams.Add("@mouldcode", mouldcode);
                var dt = DapperHelper.selectdata(sql, dynamicParams);
                if (dt.Rows.Count > 0)
                {
                    if (dt.Rows[0]["status"].ToString() == "Y")
                    {
                        switch (dt.Rows[0]["usestatus"].ToString())
                        {
                            case "0": //在库
                                mes.code = "300";
                                mes.Message = "当前模具在库状态,不符合上机操作!";
                                mes.data = null;
                                return mes;
                            case "2": //上机
                                mes.code = "300";
                                mes.Message = "当前模具上机状态,不符合上机操作!";
                                mes.data = null;
                                return mes;
                            case "7": //外借
                                mes.code = "300";
                                mes.Message = "当前模具外借状态,不符合上机操作!";
                                mes.data = null;
                                return mes;
                            default:
                                mes.code = "200";
                                mes.Message = "查询成功!";
                                mes.data = dt;
                                break;
                        }
                    }
                    else
                    {
                        mes.code = "300";
                        mes.Message = "模具故障或维修中,不允许上机!";
                        mes.data = null;
                        return mes;
                    }
                }
                else
                {
                    mes.code = "300";
                    mes.Message = "无效的模具二维码信息!";
                    mes.data = null;
                    return mes;
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[模具上机提交]
        public static ToMessage MouldUpSave(string mouldcode, string eqp_code, string description, User us)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //写入上下机机记录表(上机操作)
                sql = @"insert into  TMould_UpDownReord(mould_code,type,eqp_code,description,is_up,lm_user,lm_date)
                        values(@mould_code,@type,@eqp_code,@description,@is_up,@lm_user,@lm_date)";
                list.Add(new
                {
                    str = sql,
                    parm = new
                    {
                        mould_code = mouldcode,
                        type = "UP",
                        eqp_code = eqp_code,
                        description = description,
                        is_up = "Y",
                        lm_user = us.usercode,
                        lm_date = DateTime.Now.ToString()
                    }
                });
                //回写模具清单,使用状态(上机)
                sql = @"update TMouldInfo set usestatus='2'  where code=@mouldcode";
                list.Add(new { str = sql, parm = new { mouldcode = mouldcode } });
                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 MouldDownQrCodeData(string mouldcode)
        {
            string sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                //判断当前模具当前使用状态
                sql = @"select *   from TMouldInfo where code=@mouldcode ";
                dynamicParams.Add("@mouldcode", mouldcode);
                var dt = DapperHelper.selectdata(sql, dynamicParams);
                if (dt.Rows.Count > 0)
                {
                    if (dt.Rows[0]["status"].ToString() == "Y")
                    {
                        //判断当前模具是否在上机状态
                        sql = @"select A.mould_code,M.name as mould_name,M.spec as mould_spec,
                                M.surp_life,M.resi_life,A.eqp_code,E.name as eqp_name
                                from TMould_UpDownReord A
                                left join TMouldInfo M on A.mould_code=M.code
                                left join TEqpInfo E on A.eqp_code=E.code
                                where A.mould_code=@mouldcode and A.is_up='Y'";
                        dynamicParams.Add("@mouldcode", mouldcode);
                        var data = DapperHelper.selectdata(sql, dynamicParams);
                        if (data.Rows.Count > 0)
                        {
                            mes.code = "200";
                            mes.Message = "查询成功!";
                            mes.data = data;
                            return mes;
                        }
                        else
                        {
                            mes.code = "300";
                            mes.Message = "当前模具未上机,不符合下机操作!";
                            mes.data = null;
                            return mes;
                        }
                    }
                    else
                    {
                        mes.code = "300";
                        mes.Message = "模具故障或维修中,不符合下机操作!";
                        mes.data = null;
                        return mes;
                    }
                }
                else
                {
                    mes.code = "300";
                    mes.Message = "无效的模具二维码信息!";
                    mes.data = null;
                    return mes;
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[模具下机提交]
        public static ToMessage MouldDownSave(string mouldcode, string eqp_code, string usecount_life, string description, User us)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //写入上下机机记录表(下机操作)
                sql = @"insert into  TMould_UpDownReord(mould_code,type,usecount_life,eqp_code,description,is_up,lm_user,lm_date)
                        values(@mould_code,@type,@eqp_code,@description,@is_up,@lm_user,@lm_date)";
                list.Add(new
                {
                    str = sql,
                    parm = new
                    {
                        mould_code = mouldcode,
                        type = "DOWN",
                        usecount_life = decimal.Parse(usecount_life),
                        eqp_code = eqp_code,
                        description = description,
                        is_up = "N",
                        lm_user = us.usercode,
                        lm_date = DateTime.Now.ToString()
                    }
                });
                //回写上机记录上机标识(清除)
                sql = @"update TMould_UpDownReord set is_up='N'  where mould_code=@mouldcode and eqp_code=@eqp_code";
                list.Add(new { str = sql, parm = new { mouldcode = mouldcode, eqp_code = eqp_code } });
                //回写模具清单
                if (decimal.Parse(usecount_life) > 0)
                {
                    //回写模具清单,使用状态(下机),剩余寿命
                    sql = @"update TMouldInfo set usestatus='3',resi_life=resi_life-@resi_life  where code=@mouldcode";
                    list.Add(new { str = sql, parm = new { mouldcode = mouldcode, resi_life = decimal.Parse(usecount_life) } });
                }
                else
                {
                    //回写模具清单,使用状态(下机)
                    sql = @"update TMouldInfo set usestatus='3'  where code=@mouldcode";
                    list.Add(new { str = sql, parm = new { mouldcode = mouldcode } });
                }
                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 MouldLendOutQrCodeData(string mouldcode)
        {
            string sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                //判断当前模具当前使用状态
                sql = @"select code,name,spec,status,usestatus,surp_life,resi_life
                        from TMouldInfo where code=@mouldcode";
                dynamicParams.Add("@mouldcode", mouldcode);
                var dt = DapperHelper.selectdata(sql, dynamicParams);
                if (dt.Rows.Count > 0)
                {
                    if (dt.Rows[0]["status"].ToString() == "Y")
                    {
                        switch (dt.Rows[0]["usestatus"].ToString())
                        {
                            case "0": //在库
                                mes.code = "300";
                                mes.Message = "当前模具在库状态,不符合外借操作!";
                                mes.data = null;
                                return mes;
                            case "2": //上机
                                mes.code = "300";
                                mes.Message = "当前模具上机状态,不符合外借操作!";
                                mes.data = null;
                                return mes;
                            case "7": //外借
                                mes.code = "300";
                                mes.Message = "当前模具外借状态,不符合外借操作!";
                                mes.data = null;
                                return mes;
                            default:
                                mes.code = "200";
                                mes.Message = "查询成功!";
                                mes.data = dt;
                                break;
                        }
                    }
                    else
                    {
                        mes.code = "300";
                        mes.Message = "模具故障或维修中,不允许外借!";
                        mes.data = null;
                        return mes;
                    }
                }
                else
                {
                    mes.code = "300";
                    mes.Message = "无效的模具二维码信息!";
                    mes.data = null;
                    return mes;
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[模具外借提交]
        public static ToMessage MouldLendOutSave(string mouldcode, string description, User us)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //写入外借归还记录表(外借操作)
                sql = @"insert into  TMould_LendOutReord(mould_code,type,description,is_ledout,lm_user,lm_date)
                        values(@mould_code,@type,@description,@is_ledout,@lm_user,@lm_date)";
                list.Add(new
                {
                    str = sql,
                    parm = new
                    {
                        mould_code = mouldcode,
                        type = "OUT",
                        description = description,
                        is_ledout = "Y",
                        lm_user = us.usercode,
                        lm_date = DateTime.Now.ToString()
                    }
                });
                //回写模具清单,使用状态(外借)
                sql = @"update TMouldInfo set usestatus='7'  where code=@mouldcode";
                list.Add(new { str = sql, parm = new { mouldcode = mouldcode } });
                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 MouldReturnQrCodeData(string mouldcode)
        {
            string sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                //判断当前模具当前使用状态
                sql = @"select *   from TMouldInfo where code=@mouldcode ";
                dynamicParams.Add("@mouldcode", mouldcode);
                var dt = DapperHelper.selectdata(sql, dynamicParams);
                if (dt.Rows.Count > 0)
                {
                    if (dt.Rows[0]["status"].ToString() == "Y")
                    {
                        //判断当前模具是否在外借状态
                        sql = @"select A.mould_code,M.name as mould_name,M.spec as mould_spec,
                                M.surp_life,M.resi_life
                                from TMould_LendOutReord A
                                left join TMouldInfo M on A.mould_code=M.code
                                where A.mould_code=@mouldcode and A.is_ledout='Y'";
                        dynamicParams.Add("@mouldcode", mouldcode);
                        var data = DapperHelper.selectdata(sql, dynamicParams);
                        if (data.Rows.Count > 0)
                        {
                            mes.code = "200";
                            mes.Message = "查询成功!";
                            mes.data = data;
                            return mes;
                        }
                        else
                        {
                            mes.code = "300";
                            mes.Message = "当前模具未外借,不符合归还操作!";
                            mes.data = null;
                            return mes;
                        }
                    }
                    else
                    {
                        mes.code = "300";
                        mes.Message = "模具故障或维修中,不符合归还操作!";
                        mes.data = null;
                        return mes;
                    }
                }
                else
                {
                    mes.code = "300";
                    mes.Message = "无效的模具二维码信息!";
                    mes.data = null;
                    return mes;
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[模具归还提交]
        public static ToMessage MouldReturnSave(string mouldcode, string description, User us)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //写入模具外借记录表(下机操作)
                sql = @"insert into  TMould_LendOutReord(mould_code,type,description,is_ledout,lm_user,lm_date)
                        values(@mould_code,@type,@description,@is_ledout,@lm_user,@lm_date)";
                list.Add(new
                {
                    str = sql,
                    parm = new
                    {
                        mould_code = mouldcode,
                        type = "IN",
                        description = description,
                        is_ledout = "N",
                        lm_user = us.usercode,
                        lm_date = DateTime.Now.ToString()
                    }
                });
                //回写模具外借记录表外借标识(清除)
                sql = @"update TMould_LendOutReord set is_ledout='N'  where mould_code=@mouldcode";
                list.Add(new { str = sql, parm = new { mouldcode = mouldcode } });
                //回写模具清单,使用状态(归还)
                sql = @"update TMouldInfo set usestatus='8'  where code=@mouldcode";
                list.Add(new { str = sql, parm = new { mouldcode = mouldcode } });
                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
    }
}