yl
2023-10-18 37b39b9748eaaa7900271d83a94698299d53fed4
VueWebCoreApi/DLL/DAL/MouldManagerDAL.cs
@@ -72,19 +72,20 @@
                // --------------查询指定数据--------------
                var total = 0; //总条数
                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
                            where A.code = B.mouldcode
                            FOR XML PATH('')), 1, 1, '') AS partcode,
                            A.lm_user as usercode,U.username,A.lm_date
                            from TMouldInfo A
                            left join TSecStck S on A.warehousecode=S.code
                            left join (
                            select distinct mouldcode from TMouldInfoPart
                            )  M on A.code=M.mouldcode
                            left join TUser U on A.lm_user=U.usercode
                            where 1=1 " + search;
                           A.surp_life,(select isnull(sum(usecount_life),0)   from TMould_UpDownReord R where R.mould_code=A.code) as serlife,
                           A.resi_life,(case when isnull(M.mouldcode,'')='' then 'N' else 'Y' end) as is_part,
                           STUFF((SELECT ',' + B.partcode
                           from TMouldInfoPart B
                           where A.code = B.mouldcode
                           FOR XML PATH('')), 1, 1, '') AS partcode,
                           A.lm_user as usercode,U.username,A.lm_date
                           from TMouldInfo A
                           left join TSecStck S on A.warehousecode=S.code
                           left join (
                           select distinct mouldcode from TMouldInfoPart
                           )  M on A.code=M.mouldcode
                           left join TUser U on A.lm_user=U.usercode
                           where 1=1 " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -103,7 +104,7 @@
        #endregion
        #region[模具清单新增编辑]
        public static ToMessage AddUpdateMouldManger(string mouldcode, string mouldname, string mouldspec, string warehousecode, string surplife, string resilife, string status, string mouldpart, string opertype, User us)
        public static ToMessage AddUpdateMouldManger(string mouldcode, string mouldname, string mouldspec, string surplife, string resilife, string status, string mouldpart, string opertype, User us)
        {
            var sql = "";
            var dynamicParams = new DynamicParameters();
@@ -113,8 +114,8 @@
                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)";
                    sql = @"insert into TMouldInfo(code,name,spec,status,surp_life,resi_life,lm_user,lm_date)
                               values(@code,@name,@spec,@status,@surp_life,@resi_life,@lm_user,@lm_date)";
                    list.Add(new
                    {
                        str = sql,
@@ -124,8 +125,6 @@
                            name = mouldname,
                            spec = mouldspec,
                            status = status,
                            usestatus = "0",//使用状态:在库/出库/上机/下机/维修/外借(0,1,2,3,4,5)
                            warehousecode = warehousecode,
                            surp_life = surplife,
                            resi_life = resilife,
                            lm_user = us.usercode,
@@ -171,7 +170,7 @@
                if (opertype == "Update")
                {
                    //修改模具清单表
                    sql = @"update TMouldInfo set name=@name,spec=@spec,status=@status,warehousecode=@warehousecode,
                    sql = @"update TMouldInfo set name=@name,spec=@spec,status=@status,
                            surp_life=@surp_life,resi_life=@resi_life,lm_user=@lm_user,lm_date=@lm_date where code=@code";
                    list.Add(new
                    {
@@ -182,7 +181,6 @@
                            name = mouldname,
                            spec = mouldspec,
                            status = status,
                            warehousecode = warehousecode,
                            surp_life = surplife,
                            resi_life = resilife,
                            lm_user = us.usercode,
@@ -256,12 +254,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)
@@ -1450,7 +1454,6 @@
        #endregion
        #region[模具点检,扫描模具二维码]
        public static ToMessage CheckScanMouldQrCodeData(string mouldcode)
        {
@@ -1809,7 +1812,7 @@
                //写入保养记录主表
                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)";
                        values(@bywo,@mould_code,@mouldmaint_code,@maint_result,@maint_user,@maint_date)";
                list.Add(new
                {
                    str = sql,
@@ -1818,15 +1821,15 @@
                        bywo = bywo,
                        mould_code = json.code,
                        mouldmaint_code = json.standcode,
                        lm_user = us.usercode,
                        lm_date = DateTime.Now.ToString(),
                        maint_user = us.usercode,
                        maint_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)
                    sql = @"insert into TMouldmaint_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
                    {
@@ -1875,7 +1878,6 @@
        #endregion
        #region[模具维修申请,扫描模具二维码]
        public static ToMessage MaintainScanMouldApplyQrCodeData(string mouldcode)
        {
@@ -1883,6 +1885,41 @@
            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);
@@ -1907,7 +1944,7 @@
                else
                {
                    //获取对应模具信息
                    sql = @"select A.code,A.name,A.spec
                    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);
@@ -1937,8 +1974,159 @@
        }
        #endregion
        #region[设备维修申请,提交保存]
        public static ToMessage MaintainScanMouldApplySave(string menucode, string mouldcode, string faultsourcecode, string faultdescr, User us, List<IFormFile> files)
        #region[模具维修申请,提交保存]
        public static ToMessage MaintainScanMouldApplySave(string menucode, string mouldcode, string faultsourcecode, string faultdescr, User us, IFormFileCollection 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++)
                    {
                        IFormFile file = files[i];
                        string imgName = "SQ" + DateTime.Now.ToString("yyyyMMddhhmmss") + i.ToString();
                        string filePath = "wwwroot/MouldRecordImage/" + imgName + file.FileName;     //通过此对象获取文件名
                        // 生成文件名
                        //var fileName = "SQ" + DateTime.Now.ToString("yyyyMMddhhmmss") + i.ToString() + Path.GetExtension(files[i].FileName);
                        // 拼接文件保存路径
                        //var filePath = Path.Combine("wwwroot/MouldRecordImage", fileName);
                        // 保存文件var stream = new FileStream(filePath, FileMode.Create)
                        using (var stream = new FileStream(filePath, FileMode.Create))
                        {
                            files[i].CopyTo(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, IFormFileCollection files)
        {
            var sql = "";
            string wxwo = "", numvalue = "";
@@ -1946,7 +2134,7 @@
            try
            {
                list.Clear();
                mes = SeachEncodeJob.EncodingSeach(menucode);  //APP端模具维修申请生成单号
                mes = SeachEncodeJob.EncodingSeach(menucode);  //APP端模具维修生成单号
                if (mes.code == "300")
                {
                    return mes;
@@ -1962,16 +2150,20 @@
                {
                    for (int i = 0; i < files.Count; i++)
                    {
                        IFormFile file = files[i];
                        string imgName = "WX" + DateTime.Now.ToString("yyyyMMddhhmmss") + i.ToString();
                        string filePath = "wwwroot/MouldRecordImage/" + imgName + file.FileName;     //通过此对象获取文件名
                        // 生成文件名
                        var fileName = DateTime.Now.ToString("yyyyMMddhhmmss") + i.ToString() + Path.GetExtension(files[i].FileName);
                        //var fileName = "WX" + DateTime.Now.ToString("yyyyMMddhhmmss") + i.ToString() + Path.GetExtension(files[i].FileName);
                        // 拼接文件保存路径
                        var filePath = Path.Combine("wwwroot/MouldRecordImage", fileName);
                        //var filePath = Path.Combine("wwwroot/MouldRecordImage", fileName);
                        // 保存文件
                        // 保存文件var stream = new FileStream(filePath, FileMode.Create)
                        using (var stream = new FileStream(filePath, FileMode.Create))
                        {
                            files[i].CopyToAsync(stream);
                            files[i].CopyTo(stream);
                        }
                        //循环写维修记录对应图片表
                        sql = @"insert into  TMould_RepairImage(source_wo,wo_type,img1url) 
@@ -1982,44 +2174,1022 @@
                            parm = new
                            {
                                source_wo = wxwo,
                                wo_type = "REPA",
                                wo_type = "COMP",
                                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)";
                //写入维修记录表
                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
                    {
                        docu_code = wxwo,
                        repair_code = wxwo,
                        docu_date = DateTime.Now.ToString(),
                        status = "REPA",
                        status = "COMP",
                        mould_code = mouldcode,
                        request_person = us.usercode,
                        request_date = DateTime.Now.ToString(),
                        repair_person = us.usercode,
                        repair_date = DateTime.Now.ToString(),
                        repair_content = repaircontent,
                        failure_descript = faultdescr,
                        source = faultsourcecode
                        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.Message = "维修成功!";
                    mes.data = null;
                }
                else
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "维修申请失败!";
                    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
        #region[模具入库,扫描模具编码]
        public static ToMessage MouldInWareHouseQrCodeData(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 MouldInWareHouseSave(string mouldcode, string warehousecode, string description, User us)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //写入模具出入库记录表(入库操作)
                sql = @"insert into  TMould_InOutReord(mould_code,type,warehouse_code,description,lm_user,lm_date)
                        values(@mould_code,@type,@warehouse_code,@description,@lm_user,@lm_date)";
                list.Add(new
                {
                    str = sql,
                    parm = new
                    {
                        mould_code = mouldcode,
                        type = "IN",
                        warehouse_code = warehousecode,
                        description = description,
                        lm_user = us.usercode,
                        lm_date = DateTime.Now.ToString()
                    }
                });
                //回写模具清单,使用状态(入库),仓库编码
                sql = @"update TMouldInfo set usestatus='0',warehousecode=@warehousecode  where code=@mouldcode";
                list.Add(new { str = sql, parm = new { mouldcode = mouldcode, warehousecode = warehousecode } });
                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 MouldOutWareHouseQrCodeData(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 M.code as mould_code,M.name as mould_name,M.spec as mould_spec,
                                M.surp_life,M.resi_life,M.warehousecode,C.name as  warehousename
                                from TMouldInfo M
                                left join TSecStck C on M.warehousecode=C.code
                                where M.code=@mouldcode and M.usestatus='0'";
                        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 MouldOutWareHouseSave(string mouldcode, string warehousecode, string description, User us)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //写入模具出入库记录表(出库操作)
                sql = @"insert into  TMould_InOutReord(mould_code,type,warehouse_code,description,lm_user,lm_date)
                        values(@mould_code,@type,@warehouse_code,@description,@lm_user,@lm_date)";
                list.Add(new
                {
                    str = sql,
                    parm = new
                    {
                        mould_code = mouldcode,
                        type = "OUT",
                        warehouse_code = warehousecode,
                        description = description,
                        lm_user = us.usercode,
                        lm_date = DateTime.Now.ToString()
                    }
                });
                //回写模具清单,使用状态(出库),清除仓库编码
                sql = @"update TMouldInfo set usestatus='1',warehousecode=@warehousecode  where code=@mouldcode";
                list.Add(new { str = sql, parm = new { mouldcode = mouldcode, warehousecode ="" } });
                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;
                }
            }