1.App版本升级接口
2.模具清单新增、导入添加仓库、库位字段
3.MES工单查询增加明细id关联
已修改12个文件
217 ■■■■ 文件已修改
VueWebCoreApi/Controllers/ImportExcelController.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Controllers/LoginController.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Controllers/MouldManagerController.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/BLL/LoginBLL.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/BLL/MouldManagerBLL.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/LoginDAL.cs 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/MouldManagerDAL.cs 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Tools/ExcelList.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Tools/ImportExcelData.cs 125 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/wwwroot/Excel/模具清单.xls 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Controllers/ImportExcelController.cs
@@ -201,8 +201,7 @@
            ToMessage mes = new ToMessage();
            try
            {
                //var token = HttpContext.Request.Headers["Token"].ToString();
                var token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyY29kZSI6Ijk5OSIsInVzZXJuYW1lIjoi5rWL6K-V6LSm5Y-3Iiwic3RvcmdfY29kZSI6IlNDQjAxXzEiLCJzdG9yZ19uYW1lIjoi55Sf5Lqn5LiA6YOoIiwiaXNfc3lzdGVtX2FkbWluIjoiTiIsInJvbGVfY29kZSI6IlIyMzA4MjMwMiw5OTk5Iiwicm9sZV9kYXRhcGVybWlzc2lvbnMiOiIiLCJ1c2VydHlwZSI6IlBDIiwicmVkaXNrZXkiOiJOZXdNRVNMb2dpblVzZXJJRFBDOTk5IiwidGltZW91dCI6IjIwMjMtMTItMTVUMTc6MTg6MjEuMTQyMjc1MiswODowMCJ9.IPaJpspiHjk4Qh9keXNy8lJl1Scj87EnnksKd8Hnj8o";
                var token = HttpContext.Request.Headers["Token"].ToString();
                User us = JwtTools.Denocode(token.ToString());
                mes = ExcelCheckBLL.ExcelImportSubmit(FileCode, dataTable, us);
                if (mes.code == "300") 
VueWebCoreApi/Controllers/LoginController.cs
@@ -369,5 +369,19 @@
            //return mes.ResponseMess(mes);
        }
        #endregion
        #region[App版本升级接口]
        /// <summary>
        /// App版本升级接口
        /// </summary>
        /// <returns></returns>
        [Route(template: "AppUpgrade")]
        [HttpPost]
        public JsonResult AppUpgrade()
        {
            mes = LoginBLL.AppUpgrade();
            return Json(mes);
        }
        #endregion
    }
}
VueWebCoreApi/Controllers/MouldManagerController.cs
@@ -71,12 +71,14 @@
            string mouldcode = obj["mouldcode"].ToString(); //模具编码
            string mouldname = obj["mouldname"].ToString(); //模具名称
            string mouldspec = obj["mouldspec"].ToString(); //模具规格
            string warehousecode = obj["warehousecode"].ToString(); //仓库编码
            string location_code = obj["location_code"].ToString(); //库位编码
            string surplife = obj["surplife"].ToString(); //预计寿命
            string resilife = obj["resilife"].ToString(); //剩余寿命
            string status = obj["status"].ToString(); //模具状态
            string mouldpart = obj["mouldpart"].ToString(); //关联产品
            string opertype = obj["opertype"].ToString();  //操作类型
            mes = MouldManagerBLL.AddUpdateMouldManger(mouldcode, mouldname, mouldspec, surplife, resilife, status, mouldpart, opertype, us);
            mes = MouldManagerBLL.AddUpdateMouldManger(mouldcode, mouldname, mouldspec, warehousecode, location_code, surplife, resilife, status, mouldpart, opertype, us);
            return Json(mes);
        }
        #endregion
VueWebCoreApi/DLL/BLL/LoginBLL.cs
@@ -62,5 +62,13 @@
            return LoginDAL.LoginAppAnDonMessage(rid, usercode, username, usertype, stu_torgcode, stu_torgtypecode);
        }
        #endregion
        #region[App版本升级接口]
        public static ToMessage AppUpgrade()
        {
            return LoginDAL.AppUpgrade();
        }
        #endregion
    }
}
VueWebCoreApi/DLL/BLL/MouldManagerBLL.cs
@@ -19,9 +19,9 @@
        #endregion
        #region[模具清单新增编辑]
        public static ToMessage AddUpdateMouldManger(string mouldcode, string mouldname, string mouldspec, string surplife, string resilife, string status, string mouldpart, string opertype, User us)
        public static ToMessage AddUpdateMouldManger(string mouldcode, string mouldname, string mouldspec,string warehousecode,string location_code, string surplife, string resilife, string status, string mouldpart, string opertype, User us)
        {
            return MouldManagerDAL.AddUpdateMouldManger(mouldcode, mouldname, mouldspec, surplife, resilife, status, mouldpart, opertype, us);
            return MouldManagerDAL.AddUpdateMouldManger(mouldcode, mouldname, mouldspec, warehousecode, location_code, surplife, resilife, status, mouldpart, opertype, us);
        }
        #endregion
VueWebCoreApi/DLL/DAL/BasicSettingDAL.cs
@@ -1208,7 +1208,8 @@
                            FROM TUser U
                            inner join cte on U.storg_code=cte.torg_code
                            left join TOrganization T on U.storg_code=T.torg_code 
                            left join TUser S on U.lm_user=S.usercode " + search + "";
                            left join TUser S on U.lm_user=S.usercode
                            where 1=1 " + search + "";
                var data = DapperHelper.GetPagedDataWith<object>(withsql, sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.message = "查询成功!";
VueWebCoreApi/DLL/DAL/LoginDAL.cs
@@ -494,5 +494,41 @@
            return mes;
        }
        #endregion
        #region[App版本升级接口]
        public static ToMessage AppUpgrade()
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //查询控制升级表版本数据
                sql = @"select *   from TSystemApp";
                var data1 = DapperHelper.selecttable(sql);
                AppVersion vn = new AppVersion();
                vn.path = data1.Rows[0]["path"].ToString();
                vn.version = data1.Rows[0]["version"].ToString();
                vn.dispyversion = "";
                vn.activeversion = data1.Rows[0]["activeversion"].ToString();
                vn.mustupgrade = data1.Rows[0]["mustupgrade"].ToString();
                list.Add(vn);
                mes.code = "200";
                mes.count = 0;
                mes.message = "查询成功!";
                mes.data = list;
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
    }
}
VueWebCoreApi/DLL/DAL/MouldManagerDAL.cs
@@ -102,7 +102,7 @@
        #endregion
        #region[模具清单新增编辑]
        public static ToMessage AddUpdateMouldManger(string mouldcode, string mouldname, string mouldspec, string surplife, string resilife, string status, string mouldpart, string opertype, User us)
        public static ToMessage AddUpdateMouldManger(string mouldcode, string mouldname, string mouldspec,string warehousecode,string location_code, string surplife, string resilife, string status, string mouldpart, string opertype, User us)
        {
            var sql = "";
            var dynamicParams = new DynamicParameters();
@@ -112,8 +112,8 @@
                if (opertype == "Add")
                {
                    //写入模具清单表                                     
                    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)";
                    sql = @"insert into TMouldInfo(code,name,spec,status,surp_life,resi_life,lm_user,lm_date,warehousecode,location_code)
                               values(@code,@name,@spec,@status,@surp_life,@resi_life,@lm_user,@lm_date,@warehousecode,@location_code)";
                    list.Add(new
                    {
                        str = sql,
@@ -125,6 +125,8 @@
                            status = status,
                            surp_life = surplife,
                            resi_life = resilife,
                            warehousecode=warehousecode,
                            location_code=location_code,
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString()
                        }
@@ -169,7 +171,7 @@
                {
                    //修改模具清单表
                    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";
                            surp_life=@surp_life,resi_life=@resi_life,lm_user=@lm_user,lm_date=@lm_date,warehousecode=@warehousecode,location_code=@location_code where code=@code";
                    list.Add(new
                    {
                        str = sql,
@@ -181,6 +183,8 @@
                            status = status,
                            surp_life = surplife,
                            resi_life = resilife,
                            warehousecode = warehousecode,
                            location_code = location_code,
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString()
                        }
VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
@@ -581,7 +581,7 @@
                var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.plan_qty,A.wkshp_code,C.torg_name as wkshp_name,
                            A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,A.data_sources,A.isstep
                            from TK_Wrk_Man A
                            left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code
                            left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code and A.sbid=W.sbid
                            left join TMateriel_Info B on A.materiel_code=B.partcode
                            left join TOrganization C on A.wkshp_code=C.torg_code
                            left join TSecStck D on A.stck_code=D.code 
@@ -667,7 +667,7 @@
                var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.plan_qty,A.wkshp_code,C.torg_name as wkshp_name,
                            A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,S.laborbad_qty,S.materielbad_qty
                            from TK_Wrk_Man A
                            left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code
                            left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code and A.sbid=W.sbid
                            left join (select wo_code,isnull(sum(laborbad_qty),0) as laborbad_qty,isnull(sum(materielbad_qty),0) as materielbad_qty from  TK_Wrk_Step where (laborbad_qty+materielbad_qty)>0 group by wo_code) S on A.wo_code=S.wo_code
                            left join TMateriel_Info B on A.materiel_code=B.partcode
                            left join TOrganization C on A.wkshp_code=C.torg_code
VueWebCoreApi/Tools/ExcelList.cs
@@ -18,8 +18,8 @@
                new ScoreReport("3","人员管理"),
                new ScoreReport("4","角色管理"),
                new ScoreReport("5","往来单位"),
                //new ScoreReport("6","仓库设置"),
                //new ScoreReport("7","库位设置"),
                new ScoreReport("6","仓库设置"),
                new ScoreReport("7","库位设置"),
                new ScoreReport("8","存货档案"),
                new ScoreReport("9","设备清单"),
                //new ScoreReport("10","设备点检项目"),
VueWebCoreApi/Tools/ImportExcelData.cs
@@ -1001,16 +1001,31 @@
                return Message;
            }
            else if (excelTable[0].Columns.Count != 6)
            if (excelTable[1].Rows.Count > 0)
            {
                code = "301";
                Message = "模具清单模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable[1].Columns.Count != 2)
                if (excelTable[1].Columns.Count != 2)
            {
                code = "301";
                Message = "模具关联产品模板不符合规范,请检查列名字段数";
                    return Message;
                }
                else if (excelTable[1].Columns[0].ColumnName != "模具编码")
                {
                    code = "301";
                    Message = "模具关联产品模板:表头信息不符合规范,第1列应为{模具编码}";
                    return Message;
                }
                else if (excelTable[1].Columns[1].ColumnName != "产品编码")
                {
                    code = "301";
                    Message = "模具关联产品模板:表头信息不符合规范,第2列应为{产品编码}";
                    return Message;
                }
            }
            else if (excelTable[0].Columns.Count != 8)
            {
                code = "301";
                Message = "模具清单模板不符合规范,请检查列名字段数";
                return Message;
            }
            else if (excelTable[0].Columns[0].ColumnName != "*模具编号(唯一)")
@@ -1037,28 +1052,28 @@
                Message = "模具清单模板:表头信息不符合规范,第4列应为{*状态}";
                return Message;
            }
            else if (excelTable[0].Columns[4].ColumnName != "预计寿命(次)")
            else if (excelTable[0].Columns[4].ColumnName != "*仓库编码")
            {
                code = "301";
                Message = "模具清单模板:表头信息不符合规范,第5列应为{预计寿命(次)}";
                Message = "模具清单模板:表头信息不符合规范,第5列应为{*仓库编码}";
                return Message;
            }
            else if (excelTable[0].Columns[5].ColumnName != "剩余寿命(次)")
            else if (excelTable[0].Columns[5].ColumnName != "*库位编码")
            {
                code = "301";
                Message = "模具清单模板:表头信息不符合规范,第6列应为{剩余寿命(次)}";
                Message = "模具清单模板:表头信息不符合规范,第6列应为{*库位编码}";
                return Message;
            }
            else if (excelTable[1].Columns[0].ColumnName != "模具编码")
            else if (excelTable[0].Columns[6].ColumnName != "预计寿命(次)")
            {
                code = "301";
                Message = "模具关联产品模板:表头信息不符合规范,第1列应为{模具编码}";
                Message = "模具清单模板:表头信息不符合规范,第7列应为{预计寿命(次)}";
                return Message;
            }
            else if (excelTable[1].Columns[1].ColumnName != "产品编码")
            else if (excelTable[0].Columns[7].ColumnName != "剩余寿命(次)")
            {
                code = "301";
                Message = "模具关联产品模板:表头信息不符合规范,第2列应为{产品编码}";
                Message = "模具清单模板:表头信息不符合规范,第8列应为{剩余寿命(次)}";
                return Message;
            }
            else
@@ -3395,6 +3410,61 @@
                        list.Add(erro);
                    }
                }
                //判断仓库编码是否为空
                if (excelTable[0].Rows[k][4].ToString().Trim() != null && excelTable[0].Rows[k][4].ToString().Trim() != "")
                {
                    sql = @"select *  from TSecStck where code=@code";
                    dynamicParams.Add("@code", excelTable[0].Rows[k][4].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count <= 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{*仓库编码}";
                        erro.ErrorCont = "模具表:{*仓库编码}字段" + excelTable[0].Rows[k][4].ToString().Trim() + "不存在";
                        list.Add(erro);
                    }
                }
                //判断库位编码是否为空
                if (excelTable[0].Rows[k][5].ToString().Trim() != null && excelTable[0].Rows[k][5].ToString().Trim() != "")
                {
                    //库位不为空时,判断仓库是否为空
                    if (excelTable[0].Rows[k][4].ToString().Trim() != null && excelTable[0].Rows[k][4].ToString().Trim() != "")
                    {
                        //判断库位是否存在
                        sql = @"select *  from TSecLoca where code=@code";
                        dynamicParams.Add("@code", excelTable[0].Rows[k][5].ToString().Trim());
                        dt = DapperHelper.selectdata(sql, dynamicParams);
                        if (dt.Rows.Count <= 0)
                        {
                            ExcelErro erro = new ExcelErro();
                            erro.RoeNumber = "/";
                            erro.ErrorField = "{*库位编码}";
                            erro.ErrorCont = "模具表:{*库位编码}字段" + excelTable[0].Rows[k][5].ToString().Trim() + "不存在";
                            list.Add(erro);
                        }
                        else
                        {
                            //判断库位是否属于当前仓库
                            if (excelTable[0].Rows[k][4].ToString().Trim() != dt.Rows[0]["idwarehouse"].ToString())
                            {
                                ExcelErro erro = new ExcelErro();
                                erro.RoeNumber = "/";
                                erro.ErrorField = "{*库位编码}";
                                erro.ErrorCont = "模具表:{*库位编码}字段" + excelTable[0].Rows[k][5].ToString().Trim() + "与{*仓库编码}字段:" + excelTable[0].Rows[k][4].ToString().Trim() + "不匹配";
                                list.Add(erro);
                            }
                        }
                    }
                    else
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{*库位编码}";
                        erro.ErrorCont = "模具表:{*库位编码}字段" + excelTable[0].Rows[k][5].ToString().Trim() + "对应的仓库字段不能为空";
                        list.Add(erro);
                    }
                }
            }
            //模具关联产品表
            for (int j = 0; j < excelTable[1].Rows.Count; j++)
@@ -4751,6 +4821,21 @@
                //导入库位
                for (int i = 0; i < excelTable[0].Rows.Count; i++)
                {
                    string status = "";
                    if (excelTable[0].Rows[i][4].ToString().Trim() != null && excelTable[0].Rows[i][4].ToString().Trim() != "")
                    {
                        switch (excelTable[0].Rows[i][3].ToString().Trim())
                        {
                            case "正常":
                                status = "Y";
                                break;
                            case "停用":
                                status = "N";
                                break;
                            default:
                                break;
                        }
                    }
                    sql = @"insert into TSecLoca(code,name,idwarehouse,idparent,status,description,lm_user,lm_date,data_sources) 
                            values(@code,@name,@idwarehouse,@idparent,@status,@description,@lm_user,@lm_date,@data_sources)";
                    list.Add(new
@@ -4762,7 +4847,7 @@
                            name = excelTable[0].Rows[i][1].ToString().Trim(),
                            idwarehouse = excelTable[0].Rows[i][2].ToString().Trim(),
                            idparent = excelTable[0].Rows[i][3].ToString().Trim(),
                            status = excelTable[0].Rows[i][4].ToString().Trim(),
                            status = status,
                            description = excelTable[0].Rows[i][5].ToString().Trim(),
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString(),
@@ -5309,8 +5394,8 @@
                //导入模具清单
                for (int k = 0; k < excelTable[0].Rows.Count; k++)
                {
                    sql = @"insert into TMouldInfo(code,name,spec,status,surp_life,resi_life,lm_user,lm_date)
                               values(@code,@name,@spec,@status,@usestatus,@surp_life,@resi_life,@lm_user,@lm_date)";
                    sql = @"insert into TMouldInfo(code,name,spec,status,surp_life,resi_life,lm_user,lm_date,warehousecode,location_code)
                               values(@code,@name,@spec,@status,@surp_life,@resi_life,@lm_user,@lm_date,@warehousecode,@location_code)";
                    list.Add(new
                    {
                        str = sql,
@@ -5320,8 +5405,10 @@
                            name = excelTable[0].Rows[k][1].ToString().Trim(),
                            spec = excelTable[0].Rows[k][2].ToString().Trim(),
                            status = excelTable[0].Rows[k][3].ToString().Trim(),
                            surp_life =decimal.Parse(excelTable[0].Rows[k][4].ToString().Trim()==""?"0": excelTable[0].Rows[k][4].ToString().Trim()),
                            resi_life = decimal.Parse(excelTable[0].Rows[k][5].ToString().Trim()==""?"0":excelTable[0].Rows[k][5].ToString().Trim()),
                            warehousecode = excelTable[0].Rows[k][4].ToString().Trim(),
                            location_code = excelTable[0].Rows[k][5].ToString().Trim(),
                            surp_life = decimal.Parse(excelTable[0].Rows[k][6].ToString().Trim() == "" ? "0" : excelTable[0].Rows[k][6].ToString().Trim()),
                            resi_life = decimal.Parse(excelTable[0].Rows[k][7].ToString().Trim() == "" ? "0" : excelTable[0].Rows[k][7].ToString().Trim()),
                            lm_user = us.usercode,
                            lm_date = DateTime.Now.ToString()
                        }
VueWebCoreApi/wwwroot/Excel/Ä£¾ßÇåµ¥.xls
Binary files differ