yl
2022-07-20 14a48ba934fabee90b5d52471ca47883f6007732
Excel  角色清单导入,工序检验扫码
已添加4个文件
已修改36个文件
1291 ■■■■ 文件已修改
.vs/VueWebApi/v16/.suo 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Controllers/BasicSettingController.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Controllers/ErpSyncMesController.cs 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Controllers/LoginController.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Controllers/ProductModelController.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Controllers/ProductionManagementController.cs 102 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Controllers/QualityManagementController.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/BLL/ErpSyncMesBLL.cs 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/BLL/ProductModelBLL.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/BLL/ProductionManagementBLL.cs 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/BLL/QualityManagementBLL.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/BasicSettingDAL.cs 94 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/DeviceManagerDAL.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/ErpSyncMesDAL.cs 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/LoginDAL.cs 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/MaterialManagerDAL.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/ProductModelDAL.cs 101 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/ProductionManagementDAL.cs 211 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/QualityManagementDAL.cs 106 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/SystemSettingDAL.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Excel/用户清单.xls 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Excel/角色清单.xls 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Logs/2022-07-18.TXT 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Logs/2022-07-19.TXT 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Models/StepCheck.cs 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Models/TreeDM.cs 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Tools/DapperHelper.cs 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Tools/ImportExcelData.cs 272 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Tools/ScanStartReport.cs 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Tools/SeachEncode.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/VueWebApi.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/bin/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/bin/VueWebApi.xml 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Debug/VueWebApi.csproj.CoreCompileInputs.cache 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Debug/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/Package/PackageTmp/Excel/用户清单.xls 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
.vs/VueWebApi/v16/.suo
Binary files differ
VueWebApi/Controllers/BasicSettingController.cs
@@ -239,7 +239,7 @@
        /// <returns></returns>
        [Route(template: "ImportUserExcel")]
        [HttpPost]
        public HttpResponseMessage ImportUserExcel(HttpPostedFileBase files)
        public HttpResponseMessage ImportUserExcel(HttpPostedFileBase files,string username)
        {
            string savePath;
            if (files == null || files.ContentLength <= 0)
@@ -249,7 +249,6 @@
            }
            else
            {
                var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //登录用户名
                string filename = Path.GetFileName(files.FileName);
                int filesize = files.ContentLength;//获取上传文件的大小单位为字节byte
                string fileEx = System.IO.Path.GetExtension(filename);//获取上传文件的扩展名
VueWebApi/Controllers/ErpSyncMesController.cs
@@ -18,6 +18,21 @@
        ToMessage mes = new ToMessage();
        RedisHelper redis = new RedisHelper();
        #region[制造模型:单位同步]
        /// <summary>
        /// åˆ¶é€ æ¨¡åž‹ï¼šå•位同步
        /// </summary>
        /// <returns></returns>
        [Route(template: "SeaveSearchUnit")]
        [HttpPost]
        public HttpResponseMessage SeaveSearchUnit()
        {
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            mes = ErpSyncMesBLL.SeaveSearchUnit(username);
            return TJson.toJson(mes);
        }
        #endregion
        #region[制造模型:存货分类同步]
        /// <summary>
        /// åˆ¶é€ æ¨¡åž‹ï¼šå­˜è´§åˆ†ç±»åŒæ­¥
@@ -27,8 +42,7 @@
        [HttpPost]
        public HttpResponseMessage SeaveSearchInventoryClass()
        {
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            mes = ErpSyncMesBLL.SeaveSearchInventoryClass(username);
            mes = ErpSyncMesBLL.SeaveSearchInventoryClass();
            return TJson.toJson(mes);
        }
        #endregion
@@ -79,12 +93,15 @@
        #endregion
        #region[生产管理:生产订单同步]
        /// <summary>
        /// ç”Ÿäº§ç®¡ç†ï¼šç”Ÿäº§è®¢å•同步
        /// </summary>
        /// <returns></returns>
        [Route(template: "SeaveSearchErpOrder")]
        [HttpPost]
        public HttpResponseMessage SeaveSearchErpOrder()
        {
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            mes = ErpSyncMesBLL.SeaveSearchErpOrder(username);
            mes = ErpSyncMesBLL.SeaveSearchErpOrder();
            return TJson.toJson(mes);
        }
        #endregion
VueWebApi/Controllers/LoginController.cs
@@ -24,7 +24,7 @@
        /// <summary>
        /// ç”¨æˆ·ç™»å½•
        /// </summary>
        /// <param name="username">用户名</param>
        /// <param name="username">用户编码</param>
        /// <param name="password">密码</param>
        /// <returns></returns>
        [Route(template: "LoginSave")]
VueWebApi/Controllers/ProductModelController.cs
@@ -282,14 +282,15 @@
        /// å­˜è´§æ¡£æ¡ˆå…³è”工艺路线提交
        /// </summary>
        /// <param name="partcode">物料编码</param>
        /// <param name="defaultroute_code">默认工艺路线编码</param>
        /// <param name="json">提交数据对象</param>
        /// <returns></returns>
        [Route(template: "SaveInventoryFile")]
        [HttpPost]
        public HttpResponseMessage SaveInventoryFile(string partcode, List<ObjectData> json)
        public HttpResponseMessage SaveInventoryFile(string partcode, List<ObjectData> json, string defaultroute_code = null)
        {
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            mes = ProductModelBLL.SaveInventoryFile(partcode, username, json);
            mes = ProductModelBLL.SaveInventoryFile(partcode, defaultroute_code, username, json);
            return TJson.toJson(mes);
        }
        #endregion
VueWebApi/Controllers/ProductionManagementController.cs
@@ -1,4 +1,5 @@
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -7,6 +8,7 @@
using System.Web;
using System.Web.Http;
using VueWebApi.DLL.BLL;
using VueWebApi.Models;
using VueWebApi.Tools;
namespace VueWebApi.Controllers
@@ -30,9 +32,9 @@
        /// <param name="partcode">产品编码</param>
        /// <param name="partname">产品名称</param>
        /// <param name="partspec">产品规格</param>
        /// <param name="paydate">交付时间</param>
        /// <param name="paystartdate">预计开工时间</param>
        /// <param name="payenddate">预计完工时间</param>
        /// <param name="creatuser">创建人员</param>
        /// <param name="createdate">创建时间</param>
        /// <param name="page">页码</param>
        /// <param name="rows">每页显示条数</param>
        /// <param name="prop">排序字段</param>
@@ -40,25 +42,25 @@
        /// <returns></returns>
        [Route(template: "ErpOrderSearch")]
        [HttpGet]
        public HttpResponseMessage ErpOrderSearch(string erporderstus = null, string erpordercode = null, string partcode = null, string partname = null, string partspec = null, string paydate = null, string creatuser = null, string createdate = null, int page = 0, int rows = 0, string prop = null, string order = null)
        public HttpResponseMessage ErpOrderSearch(string erporderstus = null, string erpordercode = null, string partcode = null, string partname = null, string partspec = null, string paystartdate = null, string payenddate = null, string creatuser = null, int page = 0, int rows = 0, string prop = null, string order = null)
        {
            string paydatestartdate = "";  //交付开始时间
            string paydateenddate = "";    //交付结束时间
            string createstartdate = "";  //操作开始时间
            string createenddate = "";    //操作结束时间
            if (paydate != "" && paydate != null)
            string paydatestartdate = "";  //预计开工开始时间
            string paydateenddate = "";    //预计开工结束时间
            string paydatestartdate1 = "";  //预计完工开始时间
            string paydateenddate2 = "";    //预计完工结束时间
            if (paystartdate != "" && paystartdate != null)
            {
                paydatestartdate = paydate.Split('~')[0].ToString();
                paydateenddate = paydate.Split('~')[1].ToString();
                paydatestartdate = paystartdate.Split('~')[0].ToString();
                paydateenddate = paystartdate.Split('~')[1].ToString();
            }
            if (createdate != "" && createdate != null)
            if (payenddate != "" && payenddate != null)
            {
                createstartdate = createdate.Split('~')[0].ToString();
                createenddate = createdate.Split('~')[1].ToString();
                paydatestartdate1 = payenddate.Split('~')[0].ToString();
                paydateenddate2 = payenddate.Split('~')[1].ToString();
            }
            int startNum = rows * (page - 1) + 1;  //起始记录rowNum
            int endNum = rows * page;   //结束记录 rowNum
            mes = ProductionManagementBLL.ErpOrderSearch(erporderstus, erpordercode, partcode, partname, partspec, startNum, paydatestartdate, paydateenddate, creatuser, createstartdate, createenddate, endNum, prop, order);
            mes = ProductionManagementBLL.ErpOrderSearch(erporderstus, erpordercode, partcode, partname, partspec, startNum, paydatestartdate, paydateenddate, paydatestartdate1, paydateenddate2, creatuser, endNum, prop, order);
            return TJson.toJson(mes);
        }
        #endregion
@@ -504,5 +506,75 @@
        }
        #endregion
        #region[生产开报工,工序检验扫码获取任务信息]
        /// <summary>
        /// ç”Ÿäº§å¼€æŠ¥å·¥,工序检验扫码获取任务信息
        /// </summary>
        /// <param name="orderstepqrcode">扫描二维码信息</param>
        /// <returns></returns>
        [Route(template: "MesOrderStepCheckSearch")]
        [HttpGet]
        public HttpResponseMessage MesOrderStepCheckSearch(string orderstepqrcode)
        {
            mes = ProductionManagementBLL.MesOrderStepCheckSearch(orderstepqrcode);
            return TJson.toJson(mes);
        }
        #endregion
        #region[生产开报工,工序检验获取检验标准下拉框数据]
        /// <summary>
        /// ç”Ÿäº§å¼€æŠ¥å·¥,工序检验获取检验标准下拉框数据
        /// </summary>
        /// <returns></returns>
        [Route(template: "MesOrderStepCheckSelect")]
        [HttpGet]
        public HttpResponseMessage MesOrderStepCheckSelect()
        {
            mes = ProductionManagementBLL.MesOrderStepCheckSelect();
            return TJson.toJson(mes);
        }
        #endregion
        #region[生产开报工,工序检验根据检验标准获取检验项目列表]
        /// <summary>
        /// ç”Ÿäº§å¼€æŠ¥å·¥,工序检验根据检验标准获取检验项目列表
        /// </summary>
        /// <param name="checkstandcode">检验标准编码</param>
        /// <returns></returns>
        [Route(template: "MesOrderStepCheckItemList")]
        [HttpGet]
        public HttpResponseMessage MesOrderStepCheckItemList(string checkstandcode)
        {
            mes = ProductionManagementBLL.MesOrderStepCheckItemList(checkstandcode);
            return TJson.toJson(mes);
        }
        #endregion
        #region[生产开报工,工序检验提交保存]
        /// <summary>
        /// ç”Ÿäº§å¼€æŠ¥å·¥,工序检验提交保存
        /// </summary>
        /// <param name="obj">提交信息</param>
        /// <returns></returns>
        [Route(template: "SaveMesOrderStepCheckItem")]
        [HttpPost]
        public HttpResponseMessage SaveMesOrderStepCheckItem([FromBody] JObject obj)
        {
            string mesordercode = obj["mesordercode"].ToString(); //工单编号
            string partcode = obj["partcode"].ToString(); //产品编码
            string stepcode = obj["stepcode"].ToString(); //工序编码
            string checkstanedcode = obj["checkstanedcode"].ToString(); //检验标准编码
            string checkuser = obj["checkuser"].ToString(); //检验人员
            string checktypecode = obj["checktypecode"].ToString(); //检验类型编码
            string checkresult = obj["checkresult"].ToString(); //检验结果
            string checkdescr = obj["checkdescr"].ToString(); //检验描述
            string data = obj["data"].ToString();
            List<StepCheck> json = Newtonsoft.Json.JsonConvert.DeserializeObject<List<StepCheck>>(data);
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            mes = ProductionManagementBLL.SaveMesOrderStepCheckItem(mesordercode, partcode, stepcode, checkstanedcode, checkuser, checktypecode, checkresult, checkdescr, username,json);
            return TJson.toJson(mes);
        }
        #endregion
    }
}
VueWebApi/Controllers/QualityManagementController.cs
@@ -133,6 +133,21 @@
        }
        #endregion
        #region[工序检验标准删除]
        /// <summary>
        /// å·¥åºæ£€éªŒæ ‡å‡†åˆ é™¤
        /// </summary>
        /// <param name="stanedcode">stanedcode</param>
        /// <returns></returns>
        [Route(template: "DeleteStepCheckStaned")]
        [HttpPost]
        public HttpResponseMessage DeleteStepCheckStaned(string stanedcode)
        {
            mes = QualityManagementBLL.DeleteStepCheckStaned(stanedcode);
            return TJson.toJson(mes);
        }
        #endregion
        #region[工序检验标准新增、编辑提交]
        /// <summary>
        /// å·¥åºæ£€éªŒæ ‡å‡†æ–°å¢žã€ç¼–辑提交
@@ -152,6 +167,7 @@
        #region[工序检验项目列表查询]
        /// <summary>
        /// å·¥åºæ£€éªŒé¡¹ç›®åˆ—表查询
VueWebApi/DLL/BLL/ErpSyncMesBLL.cs
@@ -9,10 +9,17 @@
{
    public class ErpSyncMesBLL
    {
        #region[制造模型:存货分类同步]
        public static ToMessage SeaveSearchInventoryClass(string username)
        #region[制造模型:单位同步]
        public static ToMessage SeaveSearchUnit(string username)
        {
            return ErpSyncMesDAL.SeaveSearchInventoryClass(username);
            return ErpSyncMesDAL.SeaveSearchUnit(username);
        }
        #endregion
        #region[制造模型:存货分类同步]
        public static ToMessage SeaveSearchInventoryClass()
        {
            return ErpSyncMesDAL.SeaveSearchInventoryClass();
        }
        #endregion
@@ -38,9 +45,9 @@
        #endregion
        #region[生产管理:生产订单同步]
        public static ToMessage SeaveSearchErpOrder(string username)
        public static ToMessage SeaveSearchErpOrder()
        {
            return ErpSyncMesDAL.SeaveSearchErpOrder(username);
            return ErpSyncMesDAL.SeaveSearchErpOrder();
        }
        #endregion
VueWebApi/DLL/BLL/ProductModelBLL.cs
@@ -105,9 +105,9 @@
        #endregion
        #region[存货档案关联工艺路线提交]
        public static ToMessage SaveInventoryFile(string partcode,string username, List<ObjectData> json)
        public static ToMessage SaveInventoryFile(string partcode,string defaultroute_code, string username, List<ObjectData> json)
        {
            return ProductModelDAL.SaveInventoryFile(partcode, username, json);
            return ProductModelDAL.SaveInventoryFile(partcode, defaultroute_code, username, json);
        }
        #endregion
VueWebApi/DLL/BLL/ProductionManagementBLL.cs
@@ -3,6 +3,7 @@
using System.Linq;
using System.Web;
using VueWebApi.DLL.DAL;
using VueWebApi.Models;
using VueWebApi.Tools;
namespace VueWebApi.DLL.BLL
@@ -10,9 +11,9 @@
    public class ProductionManagementBLL
    {
        #region[ERP订单查询]
        public static ToMessage ErpOrderSearch(string erporderstus, string erpordercode, string partcode, string partname, string partspec, int startNum, string paydatestartdate, string paydateenddate, string creatuser, string createstartdate, string createenddate, int endNum, string prop, string order)
        public static ToMessage ErpOrderSearch(string erporderstus, string erpordercode, string partcode, string partname, string partspec, int startNum, string paydatestartdate, string paydateenddate, string paydatestartdate1, string paydateenddate2, string creatuser, int endNum, string prop, string order)
        {
            return ProductionManagementDAL.ErpOrderSearch(erporderstus, erpordercode, partcode, partname, partspec, startNum, paydatestartdate, paydateenddate, creatuser, createstartdate, createenddate, endNum, prop, order);
            return ProductionManagementDAL.ErpOrderSearch(erporderstus, erpordercode, partcode, partname, partspec, startNum, paydatestartdate, paydateenddate, paydatestartdate1, paydateenddate2, creatuser, endNum, prop, order);
        }
        #endregion
@@ -182,5 +183,33 @@
            return ProductionManagementDAL.SavaMesOrderStepIn(mesordercode, partcode, stepseq, stepcode, wxcode, inuser, taskqty, sqty, ngqty, badcode, username);
        }
        #endregion
        #region[生产开报工,工序检验扫码获取任务信息]
        public static ToMessage MesOrderStepCheckSearch(string orderstepqrcode)
        {
            return ProductionManagementDAL.MesOrderStepCheckSearch(orderstepqrcode);
        }
        #endregion
        #region[生产开报工,工序检验获取检验标准下拉框数据]
        public static ToMessage MesOrderStepCheckSelect()
        {
            return ProductionManagementDAL.MesOrderStepCheckSelect();
        }
        #endregion
        #region[生产开报工,工序检验根据检验标准获取检验项目列表]
        public static ToMessage MesOrderStepCheckItemList(string checkstandcode)
        {
            return ProductionManagementDAL.MesOrderStepCheckItemList(checkstandcode);
        }
        #endregion
        #region[生产开报工,工序检验提交保存]
        public static ToMessage SaveMesOrderStepCheckItem(string mesordercode, string partcode, string stepcode, string checkstanedcode, string checkuser, string checktypecode, string checkresult, string checkdescr, string username, List<StepCheck> json)
        {
            return ProductionManagementDAL.SaveMesOrderStepCheckItem(mesordercode, partcode, stepcode, checkstanedcode, checkuser, checktypecode, checkresult, checkdescr, username, json);
        }
        #endregion
    }
}
VueWebApi/DLL/BLL/QualityManagementBLL.cs
@@ -55,6 +55,13 @@
        }
        #endregion
        #region[工序检验标准删除]
        public static ToMessage DeleteStepCheckStaned(string stanedcode)
        {
            return QualityManagementDAL.DeleteStepCheckStaned(stanedcode);
        }
        #endregion
        #region[工序检验标准新增、编辑提交]
        public static ToMessage AddUpdateStepCheckStaned(string opertype, RoutEdit json, string username)
        {
VueWebApi/DLL/DAL/BasicSettingDAL.cs
@@ -154,6 +154,18 @@
            {
                if (operType == "Add")
                {
                    sql = @"select *  from TOrganization where org_code=@organCode";
                    dynamicParams.Add("@organCode", organCode);
                    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 = @"insert into TOrganization(parent_id,org_code,org_name,lm_user,lm_date,description) 
                            values(@supUnit,@organCode,@organName,@Operator,@CreateDate,@organType)";
                    list.Add(new { str = sql, parm = new { supUnit = supUnit, organCode= organCode, organName= organName, Operator= Operator, CreateDate= DateTime.Now.ToString(), organType= organType } });
@@ -423,6 +435,18 @@
            {
                if (OperType == "Add")
                {
                    var sql0 = @"select *  from TUser where usercode=@UserCode";
                    dynamicParams.Add("@UserCode", UserCode);
                    var data = DapperHelper.selectdata(sql0, dynamicParams);
                    if (data.Rows.Count > 0)
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "新增操作失败,编码重复!";
                        mes.data = null;
                        return mes;
                    }
                    var sql = @"insert into TUser(usercode,username,password,enable,mobile,lm_date,email,lm_user,stu_torgcode,wagetype,usergroup_code) 
                            values(@UserCode,@UserName,@password,@Enable,@Mobile,@CreateDate,@Email,@Operator,@StuOrg,@wagetype,@groupcode)";
                    dynamicParams.Add("@UserCode", UserCode);
@@ -761,6 +785,17 @@
                //循环写入用户组表
                for (int i = 0; i < json.Count; i++)
                {
                    var sql0 = @"select *  from TGroup where group_code=@group_code";
                    dynamicParams.Add("@group_code", json[i].code);
                    var data = DapperHelper.selectdata(sql0, dynamicParams);
                    if (data.Rows.Count > 0)
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "操作失败,编码重复!";
                        mes.data = null;
                        return mes;
                    }
                    sql = @"insert into TGroup(group_code,group_name,description,lm_user,lm_date) values(@groupcode,@groupename,@description,@lm_user,@lm_date)";
                    list.Add(new
                    {
@@ -896,6 +931,17 @@
                //循环写入角色类型表
                for (int i = 0; i < json.Count; i++)
                {
                    var sql0 = @"select *  from TRoleType where roletype_code=@roletype_code";
                    dynamicParams.Add("@roletype_code", json[i].code);
                    var data = DapperHelper.selectdata(sql0, dynamicParams);
                    if (data.Rows.Count > 0)
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "操作失败,编码重复!";
                        mes.data = null;
                        return mes;
                    }
                    sql = @"insert into TRoleType(roletype_code,roletype_name) values(@roletypecode,@roletypename)";
                    list.Add(new
                    {
@@ -1021,7 +1067,7 @@
                }
                if (CreateUser != "" && CreateUser != null)
                {
                    search += "and A.lm_user like '%'+@CreateUser+'%' ";
                    search += "and T.username like '%'+@CreateUser+'%' ";
                    dynamicParams.Add("@CreateUser", CreateUser);
                }
                if (search == "")
@@ -1031,9 +1077,10 @@
                //search = search.Substring(3);//截取索引2后面的字符
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select A.id,A.role_code,A.role_name,b.roletype_code,B.roletype_name,A.description,A.lm_user,A.lm_date,A.is_user,A.is_right
                var sql = @"select A.id,A.role_code,A.role_name,b.roletype_code,B.roletype_name,A.description,T.username as lm_user,A.lm_date,A.is_user,A.is_right
                            from TRole A
                            left join TRoleType  B on A.roletype_code=B.roletype_code
                            left join TUser T on A.lm_user=T.usercode
                            where  A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
@@ -1060,6 +1107,17 @@
            {
                if (OperType == "Add")
                {
                    var sql0 = @"select *  from TRole where role_code=@role_code";
                    dynamicParams.Add("@role_code", RoleCode);
                    var data = DapperHelper.selectdata(sql0, dynamicParams);
                    if (data.Rows.Count > 0)
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "操作失败,编码重复!";
                        mes.data = null;
                        return mes;
                    }
                    var sql = @"insert into TRole(role_code,role_name,lm_user,lm_date,roletype_code,description) 
                            values(@RoleCode,@RoleName,@Usercode,@CreateDate,@RoleTypeCode,@description)";
                    dynamicParams.Add("@RoleCode", RoleCode);
@@ -1428,12 +1486,12 @@
            {
                if (cuntUnitCode != "" && cuntUnitCode != null)
                {
                    search += "and code like '%'+@cuntUnitCode+'%' ";
                    search += "and A.code like '%'+@cuntUnitCode+'%' ";
                    dynamicParams.Add("@cuntUnitCode", cuntUnitCode);
                }
                if (cuntUnitName != "" && cuntUnitName != null)
                {
                    search += "and name like '%'+@cuntUnitName+'%' ";
                    search += "and A.name like '%'+@cuntUnitName+'%' ";
                    dynamicParams.Add("@cuntUnitName", cuntUnitName);
                }
                if (unitAttr != "" && unitAttr != null)
@@ -1441,22 +1499,22 @@
                    switch (unitAttr)
                    {
                        case "WG":  //外购
                            search += "and mtype=@unitAttr ";
                            search += "and A.mtype=@unitAttr ";
                            dynamicParams.Add("@unitAttr", unitAttr);
                            break;
                        case "WX":  //外协
                            search += "and btype=@unitAttr ";
                            search += "and A.btype=@unitAttr ";
                            dynamicParams.Add("@unitAttr", unitAttr);
                            break;
                        default:    //客户
                            search += "and htype=@unitAttr ";
                            search += "and A.htype=@unitAttr ";
                            dynamicParams.Add("@unitAttr", unitAttr);
                            break;
                    }
                }
                if (createUser != "" && createUser != null)
                {
                    search += "and lm_user like '%'+@createUser+'%' ";
                    search += "and T.username like '%'+@createUser+'%' ";
                    dynamicParams.Add("@createUser", createUser);
                }
                if (search == "")
@@ -1465,8 +1523,9 @@
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select id,code,name,mtype,btype,htype,conttacts,conttphone,addr,lm_user,lm_date from TCustomer
                            where  is_delete<>'1' " + search;
                var sql = @"select A.id,A.code,A.name,A.mtype,A.btype,A.htype,A.conttacts,A.conttphone,A.addr,T.username as lm_user,A.lm_date from TCustomer A
                            left join TUser T on A.lm_user=T.usercode
                            where  A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -1492,6 +1551,17 @@
            {
                if (OperType == "Add")
                {
                    var sql0 = @"select *  from TCustomer where code=@code";
                    dynamicParams.Add("@unitcode", unitcode);
                    var data = DapperHelper.selectdata(sql0, dynamicParams);
                    if (data.Rows.Count > 0)
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "操作失败,编码重复!";
                        mes.data = null;
                        return mes;
                    }
                    var sql = @"insert into TCustomer(code,name,mtype,btype,htype,conttacts,conttphone,addr,lm_user,lm_date) 
                            values(@unitcode,@unitname,@mtypecode,@btypecode,@htypecode,@person,@contact,@description,@usercode,@CreateDate)";
                    dynamicParams.Add("@unitcode", unitcode);
@@ -1581,8 +1651,8 @@
                    mes.data = null;
                    return mes;
                }
                //删除(更新状态)往来单位表
                sql = @"update TCustomer set is_delete='1'  where code=@unitcode";
                //删除往来单位表
                sql = @"delete TCustomer   where code=@unitcode";
                list.Add(new { str = sql, parm = new { unitcode = unitcode } });
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
VueWebApi/DLL/DAL/DeviceManagerDAL.cs
@@ -454,12 +454,13 @@
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select A.id,A.code,A.name,A.eqptype_code,B.name as eqptype_name,A.eqpgroup_code,G.name as eqpgroup_name,A.enable,
                            A.input_date,A.wksp_code,T.org_name as wksp_name,A.Line_code,L.org_name as Line_name,A.opc_uom,A.operation_ration,A.lm_user,A.lm_date
                            A.input_date,A.wksp_code,T.org_name as wksp_name,A.Line_code,L.org_name as Line_name,A.opc_uom,A.operation_ration,U.username as lm_user,A.lm_date
                            from TEqpInfo A
                            left join TEqpType B on A.eqptype_code=B.code
                            left join TEqpGroup G on A.eqpgroup_code=G.code
                            left join TOrganization T on A.wksp_code=T.org_code
                            left join TOrganization L on A.Line_code=L.org_code
                            left join TUser U on A.lm_user=U.usercode
                            where A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
VueWebApi/DLL/DAL/ErpSyncMesDAL.cs
@@ -11,8 +11,45 @@
    {
        public static ToMessage mes = new ToMessage(); //定义全局返回信息对象
        #region[制造模型:单位同步]
        public static ToMessage SeaveSearchUnit(string username)
        {
            var sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //存储过程名
                sql = @"h_p_IFCLD_ERPUnit";
                dynamicParams.Add("@username", username);
                bool a = DapperHelper.IsProcedure(sql, dynamicParams);
                if (a)
                {
                    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 SeaveSearchInventoryClass(string username)
        public static ToMessage SeaveSearchInventoryClass()
        {
            var sql = "";
            var dynamicParams = new DynamicParameters();
@@ -20,7 +57,7 @@
            {
                //存储过程名
                sql = @"h_p_IFCLD_ERPInventory_Class";
                bool a = DapperHelper.IsProcedure(sql, dynamicParams);
                bool a = DapperHelper.IsProcedureNo(sql);
                if (a)
                {
                    mes.code = "200";
@@ -159,7 +196,7 @@
        #endregion
        #region[生产管理:生产订单同步]
        public static ToMessage SeaveSearchErpOrder(string username)
        public static ToMessage SeaveSearchErpOrder()
        {
            var sql = "";
            var dynamicParams = new DynamicParameters();
@@ -167,8 +204,7 @@
            {
                //存储过程名
                sql = @"h_p_IFCLD_ERPMO";
                dynamicParams.Add("@username", username);
                bool a = DapperHelper.IsProcedure(sql, dynamicParams);
                bool a = DapperHelper.IsProcedureNo(sql);
                if (a)
                {
                    mes.code = "200";
VueWebApi/DLL/DAL/LoginDAL.cs
@@ -25,7 +25,7 @@
        {
            //执行sql
            strProcName = "select *  from [dbo].[TUser] where username=@username and password=@password";
            strProcName = "select *  from [dbo].[TUser] where usercode=@username and password=@password";
            //创建参数
            listStr.Add(new SqlParameter("@username", username));
            listStr.Add(new SqlParameter("@password", password));
@@ -114,7 +114,7 @@
            try
            {
                //获取菜单集合(根据登录用户编码查询权限反推菜单)
                sql = @"select distinct rt.right_code as code,rt.right_name as name,rt.right_seq from TRight rt where rt.right_code in(
                sql = @"select distinct rt.right_code as code,rt.right_name as name,rt.right_seq,rt.is_delete as flag from TRight rt where rt.right_code in(
                            select A.parent_id  from TRight A
                            left join TRoleRightRelation B on B.right_code=A.right_code
                            left join TRole C on C.role_code=B.role_code
@@ -125,7 +125,7 @@
                var data = DapperHelper.select<TreeObejct>(sql, dynamicParams);
                for (int i = 0; i < data.Count; i++)
                {
                    sql = @"select distinct mu.right_code as code,mu.right_name as name,mu.right_seq
                    sql = @"select distinct mu.right_code as code,mu.right_name as name,mu.right_seq,mu.is_delete as flag
                            from TRight mu
                            inner join TRoleRightRelation rl on mu.right_code=rl.right_code
                            inner join TUserRoleRelation ro on rl.role_code=ro.role_code
VueWebApi/DLL/DAL/MaterialManagerDAL.cs
@@ -28,22 +28,22 @@
            {
                if (warehousecode != "" && warehousecode != null)
                {
                    search += "and code like '%'+@warehousecode+'%' ";
                    search += "and A.code like '%'+@warehousecode+'%' ";
                    dynamicParams.Add("@warehousecode", warehousecode);
                }
                if (warehousename != "" && warehousename != null)
                {
                    search += "and name like '%'+@warehousename+'%' ";
                    search += "and A.name like '%'+@warehousename+'%' ";
                    dynamicParams.Add("@warehousename", warehousename);
                }
                if (description != "" && description != null)
                {
                    search += "and description like '%'+@description+'%' ";
                    search += "and A.description like '%'+@description+'%' ";
                    dynamicParams.Add("@description", description);
                }
                if (createuser != "" && createuser != null)
                {
                    search += "and lm_user like '%'+@createuser+'%' ";
                    search += "and T.username like '%'+@createuser+'%' ";
                    dynamicParams.Add("@createuser", createuser);
                }
                if (search == "")
@@ -52,8 +52,9 @@
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select id,code,name,description,lm_user,lm_date from T_Sec_Stck
                            where  is_delete<>'1' " + search;
                var sql = @"select A.id,A.code,A.name,A.description,T.username as lm_user,A.lm_date from T_Sec_Stck A
                            left join TUser T on A.lm_user=T.usercode
                            where  A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -244,7 +245,7 @@
                }
                if (createuser != "" && createuser != null)
                {
                    search += "and A.lm_user like '%'+@createuser+'%' ";
                    search += "and U.username like '%'+@createuser+'%' ";
                    dynamicParams.Add("@createuser", createuser);
                }
                if (stockcode != "" && stockcode != null)
@@ -258,9 +259,10 @@
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select A.id,A.code,A.name,A.description,A.stock_code,B.name as stock_name,A.lm_user,A.lm_date
                var sql = @"select A.id,A.code,A.name,A.description,A.stock_code,B.name as stock_name,U.username as lm_user,A.lm_date
                            from T_Sec_Loca A
                            left join T_Sec_Stck B on A.stock_code=B.code
                            left join TUser U on A.lm_user=U.usercode
                            where A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
VueWebApi/DLL/DAL/ProductModelDAL.cs
@@ -72,9 +72,10 @@
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select A.id,A.code,A.name,A.dict_code as stockcode,B.name as stockname,A.lm_user,A.lm_date
                var sql = @"select A.id,A.code,A.name,A.dict_code as stockcode,B.name as stockname,U.username as lm_user,A.lm_date
                            from TMateriel_Type A
                            left join T_Dict B on A.dict_code=B.code and B.dict_type='CHLX'
                            left join TUser U on A.lm_user=U.usercode
                            where A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
@@ -101,6 +102,17 @@
            {
                if (operType == "Add")
                {
                    var sql0 = @"select *  from TMateriel_Type where code=@materialtypecode";
                    dynamicParams.Add("@materialtypecode", materialtypecode);
                    var data = DapperHelper.selectdata(sql0, dynamicParams);
                    if (data.Rows.Count > 0)
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "操作失败,编码重复!";
                        mes.data = null;
                        return mes;
                    }
                    var sql = @"insert into TMateriel_Type(dict_code,code,name,lm_user,lm_date) 
                            values(@stocktypecode,@materialtypecode,@materialtypename,@username,@CreateDate)";
                    dynamicParams.Add("@stocktypecode", stocktypecode);
@@ -257,6 +269,17 @@
                //循环写入单位表
                for (int i = 0; i < json.Count; i++)
                {
                    var sql0 = @"select *  from TUom where code=@code";
                    dynamicParams.Add("@code", json[i].code);
                    var data = DapperHelper.selectdata(sql0, dynamicParams);
                    if (data.Rows.Count > 0)
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "操作失败,编码重复!";
                        mes.data = null;
                        return mes;
                    }
                    sql = @"insert into TUom(code,name,digdect,r_ule,lm_user,lm_date) values(@code,@name,@digdect,@r_ule,@username,@CreateDate)";
                    list.Add(new
                    {
@@ -441,13 +464,14 @@
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select A.id,A.partcode,A.partname,A.partspec,A.uom_code,B.name as uom_name,D.code as stocktypecode,D.name as stocktypename,
                            C.code as materialtypecode,C.name as materialtypename,A.stck_code,T.name as stck_name,A.maxqty,A.minqty,A.lm_user,
                            C.code as materialtypecode,C.name as materialtypename,A.stck_code,T.name as stck_name,A.maxqty,A.minqty,U.username as lm_user,A.default_route,
                            A.lm_date,A.proute_id
                            from TMateriel_Info A
                            left join TUom B on A.uom_code=B.code
                            left join TMateriel_Type C on A.materieltype_code=C.code
                            left join T_Dict D on A.stocktype_code=D.code and D.dict_type='CHLX'
                            left join T_Sec_Stck T on A.stck_code=T.code 
                            left join TUser U on A.lm_user=U.usercode
                            where A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
@@ -474,6 +498,17 @@
            {
                if (operType == "Add")
                {
                    var sql0 = @"select *  from TMateriel_Info where partcode=@materialcode";
                    dynamicParams.Add("@materialcode", materialcode);
                    var data = DapperHelper.selectdata(sql0, dynamicParams);
                    if (data.Rows.Count > 0)
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "操作失败,编码重复!";
                        mes.data = null;
                        return mes;
                    }
                    var sql = @"insert into TMateriel_Info(partcode,partname,partspec,uom_code,stocktype_code,materieltype_code,stck_code,maxqty,minqty,lm_user,lm_date) 
                            values(@materialcode,@materialname,@materialspec,@uomcode,@stocktypecode,@materialtypecode,@warehousecode,@maxstockqty,@minstockqty,@username,@CreateDate)";
                    dynamicParams.Add("@materialcode", materialcode);
@@ -612,7 +647,7 @@
                //有没有被工单引用
                //删除物料
                sql = @"update TMateriel_Info set is_delete='1' where partcode=@materialcode";
                sql = @"delete TMateriel_Info  where partcode=@materialcode";
                list.Add(new { str = sql, parm = new { materialcode = materialcode } });
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
@@ -691,7 +726,7 @@
        #endregion
        #region[存货档案关联工艺路线提交]
        public static ToMessage SaveInventoryFile(string partcode, string username, List<ObjectData> json)
        public static ToMessage SaveInventoryFile(string partcode,string defaultroute_code, string username, List<ObjectData> json)
        {
            var sql = "";
            List<object> list = new List<object>();
@@ -704,7 +739,7 @@
                    sql = @"delete TMateriel_Route where materiel_code=@partcode";
                    list.Add(new { str = sql, parm = new { partcode = partcode } });
                    //标记物料表关联工艺路线标识
                    sql = @"update TMateriel_Info set proute_id='N' where partcode=@partcode";
                    sql = @"update TMateriel_Info set proute_id='N',default_route='' where partcode=@partcode";
                    list.Add(new { str = sql, parm = new { partcode = partcode } });
                }
                else
@@ -729,8 +764,8 @@
                        });
                    }
                    //标记物料表关联工艺路线标识
                    sql = @"update TMateriel_Info set proute_id='Y' where partcode=@partcode";
                    list.Add(new { str = sql, parm = new { partcode = partcode } });
                    sql = @"update TMateriel_Info set proute_id='Y',default_route=@defaultroute_code where partcode=@partcode";
                    list.Add(new { str = sql, parm = new { partcode = partcode, defaultroute_code= defaultroute_code } });
                }
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
@@ -770,22 +805,22 @@
            {
                if (routecode != "" && routecode != null)
                {
                    search += "and code like '%'+@partcode+'%' ";
                    search += "and A.code like '%'+@partcode+'%' ";
                    dynamicParams.Add("@routecode", routecode);
                }
                if (routename != "" && routename != null)
                {
                    search += "and name like '%'+@routename+'%' ";
                    search += "and A.name like '%'+@routename+'%' ";
                    dynamicParams.Add("@routename", routename);
                }
                if (description != "" && description != null)
                {
                    search += "and description=@description ";
                    search += "and A.description=@description ";
                    dynamicParams.Add("@description", description);
                }
                if (createuser != "" && createuser != null)
                {
                    search += "and lm_user=@createuser ";
                    search += "and U.username=@createuser ";
                    dynamicParams.Add("@createuser", createuser);
                }
                if (search == "")
@@ -794,9 +829,9 @@
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select id,code,name,description,enable,lm_user,lm_date
                            from TFlw_Rout
                            where is_delete<>'1' " + search;
                var sql = @"select A.id,A.code,A.name,A.description,A.enable,U.username as lm_user,A.lm_date  from TFlw_Rout A
                            left join TUser U on A.lm_user=U.usercode
                            where A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -871,6 +906,17 @@
            {
                if (opertype == "Add")
                {
                    var sql0 = @"select *  from TFlw_Rout where code=@code";
                    dynamicParams.Add("@code", json.code);
                    var data = DapperHelper.selectdata(sql0, dynamicParams);
                    if (data.Rows.Count > 0)
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "操作失败,编码重复!";
                        mes.data = null;
                        return mes;
                    }
                    //新增工艺路线表
                    sql = @"insert into TFlw_Rout(code,name,description,enable,lm_user,lm_date) values(@code,@name,@description,@enable,@lm_user,@lm_date)";
                    list.Add(new { str = sql, parm = new { code = json.code, name = json.name, description = json.description, enable = json.enable, lm_user = username, lm_date = DateTime.Now.ToString() } });
@@ -1026,27 +1072,27 @@
            {
                if (stepcode != "" && stepcode != null)
                {
                    search += "and stepcode like '%'+@stepcode+'%' ";
                    search += "and A.stepcode like '%'+@stepcode+'%' ";
                    dynamicParams.Add("@stepcode", stepcode);
                }
                if (stepname != "" && stepname != null)
                {
                    search += "and stepname like '%'+@stepname+'%' ";
                    search += "and A.stepname like '%'+@stepname+'%' ";
                    dynamicParams.Add("@stepname", stepname);
                }
                if (enable != "" && enable != null)
                {
                    search += "and enable=@enable ";
                    search += "and A.enable=@enable ";
                    dynamicParams.Add("@enable", enable);
                }
                if (steptypecode != "" && steptypecode != null)
                {
                    search += "and flwtype=@steptypecode ";
                    search += "and A.flwtype=@steptypecode ";
                    dynamicParams.Add("@steptypecode", steptypecode);
                }
                if (createuser != "" && createuser != null)
                {
                    search += "and lm_user=@createuser ";
                    search += "and U.username=@createuser ";
                    dynamicParams.Add("@createuser", createuser);
                }
                if (search == "")
@@ -1055,9 +1101,9 @@
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select id,stepcode,stepname,flwtype,enable,descr,lm_user,lm_date,is_eqp,is_defect
                            from TStep
                            where is_delete<>'1' " + search;
                var sql = @"select A.id,A.stepcode,A.stepname,A.flwtype,A.enable,A.descr,U.username as lm_user,A.lm_date,A.is_eqp,A.is_defect  from TStep A
                            left join TUser U on A.lm_user=U.usercode
                            where A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -1083,6 +1129,17 @@
            {
                if (operType == "Add")
                {
                    var sql0 = @"select *  from TStep where stepcode=@stepcode";
                    dynamicParams.Add("@stepcode", stepcode);
                    var data = DapperHelper.selectdata(sql0, dynamicParams);
                    if (data.Rows.Count > 0)
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "操作失败,编码重复!";
                        mes.data = null;
                        return mes;
                    }
                    var sql = @"insert into TStep(stepcode,stepname,flwtype,enable,descr,lm_user,lm_date) 
                            values(@stepcode,@stepname,@steptypecode,@enable,@description,@username,@CreateDate)";
                    dynamicParams.Add("@stepcode", stepcode);
VueWebApi/DLL/DAL/ProductionManagementDAL.cs
@@ -5,6 +5,7 @@
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using VueWebApi.Models;
using VueWebApi.Tools;
namespace VueWebApi.DLL.DAL
@@ -20,7 +21,7 @@
        #region[ERP订单查询]
        public static ToMessage ErpOrderSearch(string erporderstus, string erpordercode, string partcode, string partname, string partspec, int startNum, string paydatestartdate, string paydateenddate, string creatuser, string createstartdate, string createenddate, int endNum, string prop, string order)
        public static ToMessage ErpOrderSearch(string erporderstus, string erpordercode, string partcode, string partname, string partspec, int startNum, string paydatestartdate, string paydateenddate, string paydatestartdate1, string paydateenddate2, string creatuser, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
@@ -53,19 +54,19 @@
                }
                if (paydatestartdate != "" && paydatestartdate != null)
                {
                    search += "and A.paydate between @paydatestartdate and @paydateenddate ";
                    search += "and A.planstartdate between @paydatestartdate and @paydateenddate ";
                    dynamicParams.Add("@paydatestartdate", paydatestartdate+" 00:00:00");
                    dynamicParams.Add("@paydateenddate", paydateenddate + " 23:59:59");
                }
                if (createstartdate != "" && createstartdate != null)
                if (paydatestartdate1 != "" && paydatestartdate1 != null)
                {
                    search += "and A.createdate between @createstartdate and @createenddate ";
                    dynamicParams.Add("@createstartdate", createstartdate);
                    dynamicParams.Add("@createenddate", createenddate + " 23:59:59");
                    search += "and A.planenddate between @paydatestartdate1 and @paydateenddate2 ";
                    dynamicParams.Add("@paydatestartdate1", paydatestartdate1);
                    dynamicParams.Add("@paydateenddate2", paydateenddate2 + " 23:59:59");
                }
                if (creatuser != "" && creatuser != null)
                {
                    search += "and A.createuser like '%'+@creatuser+'%' ";
                    search += "and U.username like '%'+@creatuser+'%' ";
                    dynamicParams.Add("@creatuser", creatuser);
                }
@@ -76,11 +77,13 @@
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select A.status,A.wo,A.materiel_code as partcode,B.partname,B.partspec,A.qty,A.relse_qty,A.wkshp_code,C.org_name as wkshp_name,
                            A.stck_code,D.name as stck_name,A.paydate,A.createuser,A.createdate
                            A.stck_code,D.name as stck_name,A.planstartdate,A.planenddate,U.username as createuser,A.createdate
                            from TKimp_Ewo A
                            left join TMateriel_Info B on A.materiel_code=B.partcode
                            left join TOrganization C on A.wkshp_code=C.org_code
                            left join T_Sec_Stck D on A.stck_code=D.code where A.is_delete<>'1' " + search;
                            left join T_Sec_Stck D on A.stck_code=D.code
                            left join TUser U on A.createuser=U.usercode
                            where A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -328,7 +331,7 @@
                }
                if (creatuser != "" && creatuser != null)
                {
                    search += "and A.lm_user like '%'+@creatuser+'%' ";
                    search += "and U.username like '%'+@creatuser+'%' ";
                    dynamicParams.Add("@creatuser", creatuser);
                }
@@ -339,13 +342,15 @@
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select A.status,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.plan_qty,A.wkshp_code,C.org_name as wkshp_name,
                            A.route_code,E.name as route_name,A.stck_code,F.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.m_po,A.lm_user,A.lm_date
                            A.route_code,E.name as route_name,A.stck_code,F.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.m_po,U.username as lm_user,A.lm_date
                            from TK_Wrk_Man A
                            left join TMateriel_Info B on A.materiel_code=B.partcode
                            left join TOrganization C on A.wkshp_code=C.org_code
                            left join T_Sec_Stck D on A.stck_code=D.code 
                            left join TFlw_Rout E on A.route_code=E.code
                            left join T_Sec_Stck F on A.stck_code=F.code where A.is_delete<>'1' " + search;
                            left join T_Sec_Stck F on A.stck_code=F.code
                            left join TUser U on A.lm_user=U.usercode
                            where A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -1617,5 +1622,187 @@
        }
        #endregion'
        #region[生产开报工,工序检验扫码获取任务信息]
        public static ToMessage MesOrderStepCheckSearch(string orderstepqrcode)
        {
            var sql = "";
            string ordercode = "";
            string stepcode = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                if (orderstepqrcode != "" && orderstepqrcode != null)
                {
                    string[] arra = orderstepqrcode.Split(';');
                    if (arra.Length == 1) //工单号二维码
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "请扫描工序条码!";
                        mes.data = null;
                        return mes;
                    }
                    if (arra.Length == 2) //工单号+工序号二维码
                    {
                        ordercode = arra[0]; //获取指定字符串前面的字符
                        stepcode = arra[1]; //获取指定字符串前面的字符
                    }
                    //通过扫描二维码信息查找任务信息
                    sql = @"select A.wo_code,M.partcode,M.partname,M.partspec,S.stepcode,S.stepname
                            from TK_Wrk_Step A
                            inner join TK_Wrk_Man P on A.wo_code=P.wo_code
                            left join TMateriel_Info M on P.materiel_code=M.partcode
                            left join TStep S on A.step_code=S.stepcode
                            where A.wo_code=@wo_code and A.step_code=@stepcode";
                    dynamicParams.Add("@wo_code", ordercode);
                    dynamicParams.Add("@stepcode", stepcode);
                    var data = DapperHelper.selectdata(sql, dynamicParams);
                    if (data.Rows.Count > 0)
                    {
                        mes.code = "200";
                        mes.count = 0;
                        mes.Message = "查询成功!";
                        mes.data = data;
                        return mes;
                    }
                    else
                    {
                        mes.code = "300";
                        mes.count = 0;
                        mes.Message = "生产任务不存在!";
                        mes.data = null;
                        return mes;
                    }
                }
                else
                {
                    mes.code = "300";
                    mes.count = 0;
                    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 MesOrderStepCheckSelect()
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //获取工序检验标准
                sql = @"select code,name  from TStepCheckStandard where is_delete<>'1'";
                var data = DapperHelper.selecttable(sql);
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.data = data;
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[生产开报工,工序检验根据检验标准获取检验项目列表]
        public static ToMessage MesOrderStepCheckItemList(string checkstandcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //根据检验标准编码获取工序检验项目
                sql = @"select B.code,B.name,A.stepcheckitem_desc,A.stepcheckitem_seq   from TStepCheckStandardSub A
                        left join TStepCheckItem B on A.stepcheckitem_code=B.code
                        where B.is_delete<>'1' and A.stepstaned_code=@checkstandcode";
                dynamicParams.Add("@checkstandcode", checkstandcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.data = data;
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[生产开报工,工序检验提交保存]
        public static ToMessage SaveMesOrderStepCheckItem(string mesordercode, string partcode, string stepcode, string checkstanedcode, string checkuser, string checktypecode, string checkresult, string checkdescr, string username, List<StepCheck> json)
        {
            var sql = "";
            string[] arra = new string[] { };
            string[] arra1 = new string[] { };
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                string date = DateTime.Now.ToString(); //获取系统时间
                list.Clear();
                //写入工序检验记录主表
                sql = @"insert into  TStepCheckRecord(wo_code,part_code,step_code,checkstaned_code,check_user,check_type,check_result,check_descr,lm_user,lm_date)
                                values(@mesordercode,@partcode,@stepcode,@checkstanedcode,@checkuser,@checktypecode,@checkresult,@checkdescr,@lm_user,@lm_date)";
                list.Add(new { str = sql, parm = new { mesordercode = mesordercode, partcode = partcode, stepcode = stepcode, checkstanedcode = checkstanedcode, checkuser = checkuser, checktypecode = checktypecode, checkresult = checkresult, checkdescr = checkdescr, lm_user = username, lm_date = date } });
                //写入工序检验记录子表
                //获取主表最大ID
                sql = @"select IDENT_CURRENT('TStepCheckRecord')+1 as id";
                var dt = DapperHelper.selecttable(sql);
                for (int i = 0; i < json.Count; i++)
                {
                    sql = @"insert into  TStepCheckRecordSub(m_id,checkiem_seq,checkitem_code,checkitem_name,checkitem_descr,check_result,lm_user,lm_date)
                                values(@m_id,@checkiem_seq,@checkitem_code,@checkitem_name,@checkitem_descr,@check_result,@lm_user,@lm_date)";
                    list.Add(new { str = sql, parm = new { m_id = int.Parse(dt.Rows[0]["ID"].ToString()), checkiem_seq = int.Parse(json[i].seq), checkitem_code = json[i].code, checkitem_name = json[i].name, checkitem_descr = json[i].descr, check_result = json[i].checkresult, lm_user = username, lm_date = date } });
                }
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    mes.code = "200";
                    mes.count = 0;
                    mes.Message = "检验成功!";
                    mes.data = null;
                }
                else
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "检验失败!";
                    mes.data = null;
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
    }
}
VueWebApi/DLL/DAL/QualityManagementDAL.cs
@@ -29,23 +29,25 @@
            {
                if (defectcode != "" && defectcode != null)
                {
                    search += "and code=@defectcode ";
                    search += "and A.code=@defectcode ";
                    dynamicParams.Add("@defectcode", defectcode);
                }
                if (defectname != "" && defectname != null)
                {
                    search += "and name like '%'+@defectname+'%' ";
                    search += "and A.name like '%'+@defectname+'%' ";
                    dynamicParams.Add("@defectname", defectname);
                }
                if (defectdescr != "" && defectdescr != null)
                {
                    search += "and descr like '%'+@defectdescr+'%' ";
                    search += "and A.descr like '%'+@defectdescr+'%' ";
                    dynamicParams.Add("@defectdescr", defectdescr);
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select code,name,descr,lm_user,lm_date  from TDefect where is_delete<>'1' " + search;
                var sql = @"select A.code,A.name,A.descr,U.username as lm_user,A.lm_date  from TDefect A
                            left join TUser U on A.lm_user=U.usercode
                            where A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -61,6 +63,7 @@
            }
            return mes;
        }
        #endregion
        #region[质量管理,缺陷定义新增、编辑提交]
@@ -208,23 +211,25 @@
            {
                if (stanedcode != "" && stanedcode != null)
                {
                    search += "and code=@stanedcode ";
                    search += "and A.code=@stanedcode ";
                    dynamicParams.Add("@stanedcode", stanedcode);
                }
                if (stanedname != "" && stanedname != null)
                {
                    search += "and name like '%'+@stanedname+'%' ";
                    search += "and A.name like '%'+@stanedname+'%' ";
                    dynamicParams.Add("@stanedname", stanedname);
                }
                if (staneddescr != "" && staneddescr != null)
                {
                    search += "and descr like '%'+@staneddescr+'%' ";
                    search += "and A.descr like '%'+@staneddescr+'%' ";
                    dynamicParams.Add("@staneddescr", staneddescr);
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select code,name,descr,lm_user,lm_date  from TStepCheckStandard where is_delete<>'1' " + search;
                var sql = @"select A.code,A.name,A.descr,U.username as lm_user,A.lm_date  from TStepCheckStandard A
                            left join TUser U on A.lm_user=U.usercode
                            where A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -255,12 +260,21 @@
                        where code=@defectcode and is_delete<>'1'";
                dynamicParams.Add("@defectcode", defectcode);
                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]["DESCR"].ToString();
                }
                else
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "无工序检验标准信息!";
                    mes.data = null;
                    return mes;
                }
                //根据工序检验标准编码获取关联的工序检验项目信息
                sql = @"select B.code,B.name,A.stepcheckitem_desc  from TStepCheckStandardSub A
                        left join TStepCheckItem  B on A.stepcheckitem_code=B.code
@@ -296,6 +310,59 @@
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.data = data;
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[工序检验标准删除]
        public static ToMessage DeleteStepCheckStaned(string stanedcode)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                sql = @"select * from  TStepCheckRecord  where checkstaned_code=@stanedcode";
                dynamicParams.Add("@stanedcode", stanedcode);
                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 TStepCheckStandard  where code=@stanedcode";
                list.Add(new { str = sql, parm = new { stanedcode = stanedcode } });
                //删除工序检验标准项目子表
                sql = @"delete TStepCheckStandardSub  where stepstaned_code=@stanedcode";
                list.Add(new { str = sql, parm = new { stanedcode = stanedcode } });
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    mes.code = "200";
                    mes.count = 0;
                    mes.Message = "工序检验标准删除成功!";
                    mes.data = null;
                }
                else
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "工序检验标准删除失败!";
                    mes.data = null;
                }
            }
            catch (Exception e)
            {
@@ -347,11 +414,11 @@
                if (opertype == "Update") 
                {
                    //删除工序检验标准子表
                    sql = @"delete from TStepCheckStandard where stepstaned_code=@stepstaned_code";
                    sql = @"delete from TStepCheckStandard where code=@stepstaned_code";
                    list.Add(new { str = sql, parm = new { stepstaned_code = json.code} });
                    //修改工序检验标准主表
                    sql = @"update  TStepCheckStandard set name=@stepstaned_name,descr=@stepstaned_desc where stepstaned_code=@stepstaned_code";
                    list.Add(new { str = sql, parm = new { stepstaned_name = json.code, stepstaned_desc=json.description } });
                    sql = @"update  TStepCheckStandard set name=@stepstaned_name,descr=@stepstaned_desc where code=@stepstaned_code";
                    list.Add(new { str = sql, parm = new { stepstaned_code=json.code, stepstaned_name = json.name, stepstaned_desc=json.description } });
                    //新增工序检验标准子表
                    for (int i = 0; i < json.Data.Rows.Count; i++)
                    {
@@ -400,23 +467,25 @@
            {
                if (itemcode != "" && itemcode != null)
                {
                    search += "and code=@itemcode ";
                    search += "and A.code=@itemcode ";
                    dynamicParams.Add("@itemcode", itemcode);
                }
                if (itemname != "" && itemname != null)
                {
                    search += "and name like '%'+@itemname+'%' ";
                    search += "and A.name like '%'+@itemname+'%' ";
                    dynamicParams.Add("@itemname", itemname);
                }
                if (itemdescr != "" && itemdescr != null)
                {
                    search += "and descr like '%'+@itemdescr+'%' ";
                    search += "and A.descr like '%'+@itemdescr+'%' ";
                    dynamicParams.Add("@itemdescr", itemdescr);
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select code,name,descr,lm_user,lm_date  from TStepCheckItem where is_delete<>'1' " + search;
                var sql = @"select A.code,A.name,A.descr,U.username as lm_user,A.lm_date  from TStepCheckItem A
                            left join TUser U on A.lm_user=U.usercode
                            where A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -567,5 +636,8 @@
            return mes;
        }
        #endregion
    }
}
VueWebApi/DLL/DAL/SystemSettingDAL.cs
@@ -45,7 +45,7 @@
                var total = 0; //总条数
                var sql = @"select A.right_code,A.right_name,B.prefix,B.filingdate,B.incbit  from TRight A
                            left join T_CodeRules B on A.right_code=B.rightcode
                            where A.Type='PC' and A.parent_id<>'0' " + search + "";
                            where A.Type='PC' and A.parent_id<>'0' and A.is_delete<>'1' " + search + "";
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
VueWebApi/Excel/Óû§Çåµ¥.xls
Binary files differ
VueWebApi/Excel/½ÇÉ«Çåµ¥.xls
Binary files differ
VueWebApi/Logs/2022-07-18.TXT
VueWebApi/Logs/2022-07-19.TXT
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,29 @@
 ã€æ—¶é—´ã€‘:2022-07-19 08:16:43,306
 ã€çº§åˆ«ã€‘:ERROR
 ã€ç±»åã€‘:日志记录
 ã€çº¿ç¨‹ID】: 18
 ã€æ–‡ä»¶åœ°å€ã€‘:D:\新凯迪MES\VueWebApi\VueWebApi\Tools\LogHelper.cs ç¬¬25行
 ã€æ—¥å¿—内容】:
消息类型:SqlException
消息内容:过程 h_p_IFCLD_ERPMO æ²¡æœ‰å‚数,但却为该过程提供了参数。
引发异常路径:/api/ErpSyncMes/SeaveSearchErpOrder
引发异常的方法:OnError
引发异常源:.Net SqlClient Data Provider   åœ¨ System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   åœ¨ System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   åœ¨ System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   åœ¨ System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   åœ¨ System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
   åœ¨ System.Data.SqlClient.SqlDataReader.get_MetaData()
   åœ¨ System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
   åœ¨ System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   åœ¨ System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   åœ¨ System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   åœ¨ System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
   åœ¨ System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
   åœ¨ System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   åœ¨ Dapper.SqlMapper.ExecuteReaderWithFlagsFallback(IDbCommand cmd, Boolean wasClosed, CommandBehavior behavior)
   åœ¨ Dapper.SqlMapper.ExecuteReaderImpl(IDbConnection cnn, CommandDefinition& command, CommandBehavior commandBehavior, IDbCommand& cmd)
   åœ¨ Dapper.SqlMapper.ExecuteReader(IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Nullable`1 commandTimeout, Nullable`1 commandType)
   åœ¨ VueWebApi.Tools.DapperHelper.IsProcedure(String sql, Object parm) ä½ç½® D:\新凯迪MES\VueWebApi\VueWebApi\Tools\DapperHelper.cs:行号 294
 ã€æ—¥è®°è¯¦ç»†ã€‘:
---------------------------------------------------------------------------------------------------------------
VueWebApi/Models/StepCheck.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace VueWebApi.Models
{
    public class StepCheck
    {
        public string seq { get; set; }
        public string code { get; set; }
        public string name { get; set; }
        public string descr { get; set; }
        public string checkresult { get; set; }
    }
}
VueWebApi/Models/TreeDM.cs
@@ -10,6 +10,7 @@
        public string code { get; set; }
        public string name { get; set; }
        public string flag { get; set; }
        public string is_delete { get; set; }    //是否隐藏
        public List<TreeDMOne> children { get; set; }
    }
    public class TreeDMOne
@@ -17,6 +18,7 @@
        public string code { set; get; }
        public string name { set; get; }
        public string flag { get; set; }
        public string is_delete { get; set; }  //是否隐藏
        public List<TreeDMTwo> children { get; set; }
    }
    public class TreeDMTwo
@@ -24,5 +26,6 @@
        public string code { set; get; }
        public string name { set; get; }
        public string flag { get; set; }
        public string is_delete { get; set; } //是否隐藏
    }
}
VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -384,13 +384,13 @@
      <publishTime>11/28/2018 13:04:24</publishTime>
    </File>
    <File Include="bin/VueWebApi.dll">
      <publishTime>07/16/2022 21:11:40</publishTime>
      <publishTime>07/20/2022 11:38:44</publishTime>
    </File>
    <File Include="bin/VueWebApi.dll.config">
      <publishTime>06/15/2022 15:31:43</publishTime>
    </File>
    <File Include="bin/VueWebApi.pdb">
      <publishTime>07/16/2022 21:11:40</publishTime>
      <publishTime>07/20/2022 11:38:44</publishTime>
    </File>
    <File Include="bin/VueWebApi.xml">
      <publishTime>06/16/2022 14:26:01</publishTime>
@@ -462,7 +462,7 @@
      <publishTime>06/29/2022 20:36:27</publishTime>
    </File>
    <File Include="Excel/用户清单.xls">
      <publishTime>06/17/2022 17:19:59</publishTime>
      <publishTime>07/20/2022 10:52:30</publishTime>
    </File>
    <File Include="favicon.ico">
      <publishTime>06/10/2022 08:20:24</publishTime>
VueWebApi/Tools/DapperHelper.cs
@@ -311,6 +311,40 @@
        }
        /// <summary>
        /// Dapper执行存储过程返回datatable数据(不带参数)
        /// </summary>
        /// <param name="sql">存储过程名</param>
        /// <returns></returns>
        public static bool IsProcedureNo(string sql)
        {
            bool result;
            //sql语句
            using (IDbConnection conn = sqlConnection())
            {
                try
                {
                    DataTable table = new DataTable();
                    //var data = conn.ExecuteReader(sql, parm);
                    var res = conn.ExecuteReader(sql);//sql å­˜å‚¨è¿‡ç¨‹
                    result = true;
                }
                catch (Exception ex)
                {
                    //创建日志记录组件实例
                    LogHelper.WriteLog(ex);
                    result = false;
                    throw ex;
                }
                finally
                {
                    conn.Dispose();
                    conn.Close();
                }
                return result;
            }
        }
        /// <summary>
        /// Dapper查询返回数据条数
        /// </summary>
        /// <param name="sql"></param>
VueWebApi/Tools/ImportExcelData.cs
@@ -1615,44 +1615,74 @@
            var dynamicParams = new DynamicParameters();
            DataTable dt;
            List<ExcelErro> list = new List<ExcelErro>();
            DataTable excelTable = new DataTable();
            list = ImportExcel.ExcelToTableErro(FileCode);    //验证Excel数据必填字段是否为空、唯一字段是否重复
            excelTable = ImportExcel.ExcelToTable(FileCode);  //获取Excel数据
            for (int i = 0; i < excelTable.Rows.Count; i++)
            List<DataTable> excelTable = new List<DataTable>();
            list = ImportExcel.ExcelToTableListErro(FileCode);    //验证Excel数据必填字段是否为空、唯一字段是否重复
            excelTable = ImportExcel.ExcelToTableList(FileCode);  //获取Excel数据
            //主表
            for (int j = 0; j < excelTable[0].Rows.Count; j++)
            {
                if (excelTable.Rows[i][1].ToString().Trim() != null && excelTable.Rows[i][1].ToString().Trim() != "")
                if (excelTable[0].Rows[j][1].ToString().Trim() != null && excelTable[0].Rows[j][1].ToString().Trim() != "")
                {
                    sql = @"select code  from TUser where code=:code";
                    dynamicParams.Add("@code", excelTable.Rows[i][1].ToString().Trim());
                    sql = @"select *  from TGroup where group_code=@group_code";
                    dynamicParams.Add("@group_code", excelTable[0].Rows[j][1].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count > 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{用户编号(唯一)}";
                        erro.ErrorCont = "{用户编号(唯一)}字段" + excelTable.Rows[i][1].ToString().Trim() + "已存在";
                        erro.ErrorField = "{班组编码(唯一)}";
                        erro.ErrorCont = "班组表:{班组编码(唯一)}字段" + excelTable[0].Rows[j][1].ToString().Trim() + "已存在";
                        list.Add(erro);
                    }
                }
                if (excelTable.Rows[i][6].ToString().Trim() != null && excelTable.Rows[i][6].ToString().Trim() != "")
            }
            //子表
            for (int k = 0; k < excelTable[1].Rows.Count; k++)
                {
                    sql = @"select * from(
                             select org_code,org_name  from  TOrganization where description='D' and parent_id in (select id   from TOrganization where description='F')
                             union
                             select org_code,org_name from TOrganization where parent_id in(select id
                             from  TOrganization where description='D' and parent_id in (select id   from TOrganization where description='F'))
                             ) as AA where AA.org_name=:name";
                    dynamicParams.Add("@code", excelTable.Rows[i][3].ToString().Trim());
                if (excelTable[1].Rows[k][1].ToString().Trim() != null && excelTable[1].Rows[k][1].ToString().Trim() != "")
                {
                    sql = @"select *  from TUser where usercode=@usercode";
                    dynamicParams.Add("@usercode", excelTable[1].Rows[k][1].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count > 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{用户编码(唯一)}";
                        erro.ErrorCont = "用户表:{用户编码(唯一)}字段" + excelTable[1].Rows[k][2].ToString().Trim() + "已存在";
                        list.Add(erro);
                    }
                }
                if (excelTable[1].Rows[k][7].ToString().Trim() != null && excelTable[1].Rows[k][7].ToString().Trim() != "")
                {
                    sql = @"select *  from TOrganization where org_code=@org_code";
                    dynamicParams.Add("@org_code", excelTable[1].Rows[k][7].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt == null || dt.Rows.Count <= 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{所属组织}";
                        erro.ErrorCont = "{所属组织}字段" + excelTable.Rows[i][3].ToString().Trim() + "不存在";
                        erro.ErrorField = "{组织编码}";
                        erro.ErrorCont = "用户表:{组织编码}字段" + excelTable[1].Rows[k][2].ToString().Trim() + "不存在";
                        list.Add(erro);
                    }
                }
            }
            //判断子表外键不存在于主表主键中的数据
            var dt3 = from r in excelTable[1].AsEnumerable()
                      where !(
                          from rr in excelTable[0].AsEnumerable()
                          select rr.Field<string>("班组编号(唯一)")
                      ).Contains(r.Field<string>("用户组编码"))
                      select r;
            List<DataRow> listRow = dt3.ToList();
            if (listRow.Count > 0)
            {
                ExcelErro erro = new ExcelErro();
                erro.RoeNumber = "/";
                erro.ErrorField = "{用户组编码}";
                erro.ErrorCont = "用户表:{用户组编码}字段中有值在班组表:{班组编号(唯一)}中不存在";
                list.Add(erro);
            }
            if (list.Count > 0)
            {
@@ -1669,7 +1699,7 @@
            {
                StuCode = "200";
                message = "数据验证成功";
                count = excelTable.Rows.Count;
                count = excelTable[0].Rows.Count + excelTable[1].Rows.Count;
            }
            return list;
        }
@@ -1682,9 +1712,81 @@
            StuCode = "";
            count = 0;
            string sql = "";
            var dynamicParams = new DynamicParameters();
            DataTable dt;
            List<ExcelErro> list = new List<ExcelErro>();
            List<DataTable> excelTable = new List<DataTable>();
            list = ImportExcel.ExcelToTableListErro(FileCode);    //验证Excel数据必填字段是否为空、唯一字段是否重复
            excelTable = ImportExcel.ExcelToTableList(FileCode);  //获取Excel数据
            //主表
            for (int j = 0; j < excelTable[0].Rows.Count; j++)
            {
                if (excelTable[0].Rows[j][1].ToString().Trim() != null && excelTable[0].Rows[j][1].ToString().Trim() != "")
                {
                    sql = @"select *  from TRoleType where roletype_code=@roletype_code";
                    dynamicParams.Add("@roletype_code", excelTable[0].Rows[j][1].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count > 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{角色类型编码(唯一)}";
                        erro.ErrorCont = "班组表:{角色类型编码(唯一)}字段" + excelTable[0].Rows[j][1].ToString().Trim() + "已存在";
                        list.Add(erro);
                    }
                }
            }
            //子表
            for (int k = 0; k < excelTable[1].Rows.Count; k++)
            {
                if (excelTable[1].Rows[k][1].ToString().Trim() != null && excelTable[1].Rows[k][1].ToString().Trim() != "")
                {
                    sql = @"select *  from TRole where role_code=@role_code";
                    dynamicParams.Add("@role_code", excelTable[1].Rows[k][1].ToString().Trim());
                    dt = DapperHelper.selectdata(sql, dynamicParams);
                    if (dt.Rows.Count > 0)
                    {
                        ExcelErro erro = new ExcelErro();
                        erro.RoeNumber = "/";
                        erro.ErrorField = "{角色编号(唯一)}";
                        erro.ErrorCont = "角色表:{角色编号(唯一)}字段" + excelTable[1].Rows[k][2].ToString().Trim() + "已存在";
                        list.Add(erro);
                    }
                }
            }
            //判断子表外键不存在于主表主键中的数据
            var dt3 = from r in excelTable[1].AsEnumerable()
                      where !(
                          from rr in excelTable[0].AsEnumerable()
                          select rr.Field<string>("角色类型编号(唯一)")
                      ).Contains(r.Field<string>("角色类型编码"))
                      select r;
            List<DataRow> listRow = dt3.ToList();
            if (listRow.Count > 0)
            {
                ExcelErro erro = new ExcelErro();
                erro.RoeNumber = "/";
                erro.ErrorField = "{角色类型编码}";
                erro.ErrorCont = "角色表:{角色类型编码}字段中有值在角色类型表:{角色类型编号(唯一)}中不存在";
                list.Add(erro);
            }
            if (list.Count > 0)
            {
                int index = 0;
                foreach (ExcelErro item in list)
                {
                    index++;
                    item.Seq = index.ToString();
                }
                StuCode = "300";
                message = "数据验证失败";
            }
            else
            {
                StuCode = "200";
                message = "数据验证成功";
                count = excelTable[0].Rows.Count + excelTable[1].Rows.Count;
            }
            return list;
        }
        #endregion
@@ -2034,11 +2136,30 @@
            try
            {
                list.Clear();
                DataTable excelTable = new DataTable();
                excelTable = ImportExcel.ExcelToTable(FileCode);
                for (int i = 0; i < excelTable.Rows.Count; i++)
                List<DataTable> excelTable = new List<DataTable>();
                excelTable = ImportExcel.ExcelToTableList(FileCode);
                //导入班组
                for (int k = 0; k < excelTable[0].Rows.Count; k++)
                {
                    if (excelTable.Rows[i][7].ToString().Trim() == "在职")
                    sql = @"insert into TGroup(group_code,group_name,description,lm_user,lm_date)
                            values(@group_code,@group_name,@description,@Operator,@CreateDate)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            group_code = excelTable[0].Rows[k][1].ToString().Trim(),
                            group_name = excelTable[0].Rows[k][2].ToString().Trim(),
                            description = excelTable[0].Rows[k][3].ToString().Trim(),
                            CreateDate = DateTime.Now.ToString(),
                            Operator = User
                        }
                    });
                }
                //导入用户
                for (int i = 0; i < excelTable[1].Rows.Count; i++)
                {
                    if (excelTable[1].Rows[i][3].ToString().Trim() == "在职")
                    {
                        Enable = "Y";
                    }
@@ -2046,43 +2167,38 @@
                    {
                        Enable = "N";
                    }
                    //点检管控
                    switch (excelTable.Rows[i][8].ToString().Trim())
                    //工资类型
                    switch (excelTable[1].Rows[i][8].ToString().Trim())
                    {
                        case "计件制":
                            WageType = "1";
                            WageType = "2";
                            break;
                        case "计时制":
                            WageType = "2";
                            WageType = "1";
                            break;
                        default:
                            break;
                    }
                    if (excelTable.Rows[i][6].ToString().Trim() != null && excelTable.Rows[i][6].ToString().Trim() != "")
                    {
                        sql = @"select * from(
                             select org_code,org_name  from  TOrganization where description='D' and parent_id in (select id   from TOrganization where description='F')
                             union
                             select org_code,org_name from TOrganization where parent_id in(select id
                             from  TOrganization where description='D' and parent_id in (select id   from TOrganization where description='F'))
                             ) as AA where AA.org_name=:name";
                        dynamicParams.Add("@code", excelTable.Rows[i][3].ToString().Trim());
                        dt = DapperHelper.selectdata(sql, dynamicParams);
                        ZZName = dt.Rows[0]["CODE"].ToString().Trim();
                    }
                    sql = @"insert into TUser(usercode,username,password,enable,mobile,lm_date,email,lm_user,stu_torgcode,wagetype) 
                            values(@UserCode,@UserName,@password,@Enable,@Mobile,@CreateDate,@Email,@Operator,@StuOrg,@wagetype)";
                    dynamicParams.Add("@UserCode", excelTable.Rows[i][1].ToString().Trim());
                    dynamicParams.Add("@UserName", excelTable.Rows[i][2].ToString().Trim());
                    dynamicParams.Add("@password", excelTable.Rows[i][3].ToString().Trim());
                    dynamicParams.Add("@Enable", excelTable.Rows[i][7].ToString().Trim());
                    dynamicParams.Add("@Mobile", excelTable.Rows[i][4].ToString().Trim());
                    dynamicParams.Add("@CreateDate", DateTime.Now.ToString());
                    dynamicParams.Add("@Email", excelTable.Rows[i][5].ToString().Trim());
                    dynamicParams.Add("@Operator", User);
                    dynamicParams.Add("@StuOrg", ZZName);
                    dynamicParams.Add("@wagetype", WageType);
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            UserCode = excelTable[1].Rows[i][1].ToString().Trim(),
                            UserName = excelTable[1].Rows[i][2].ToString().Trim(),
                            password= excelTable[1].Rows[i][4].ToString().Trim(),
                            Enable= Enable,
                            Mobile= excelTable[1].Rows[i][5].ToString().Trim(),
                            CreateDate= DateTime.Now.ToString(),
                            Email= excelTable[1].Rows[i][6].ToString().Trim(),
                            Operator= User,
                            StuOrg= excelTable[1].Rows[i][7].ToString().Trim(),
                            wagetype= WageType
                        }
                    });
                }
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
@@ -2110,9 +2226,61 @@
        {
            string message = "";
            StuCode = "";
            string sql = "";
            string ZZName = "", Enable = "", WageType = "";
            DataTable dt;
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                List<DataTable> excelTable = new List<DataTable>();
                excelTable = ImportExcel.ExcelToTableList(FileCode);
                //导入角色类型
                for (int k = 0; k < excelTable[0].Rows.Count; k++)
                {
                    sql = @"insert into TRoleType(roletype_code,roletype_name)
                            values(@roletype_code,@roletype_name)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            roletype_code = excelTable[0].Rows[k][1].ToString().Trim(),
                            roletype_name = excelTable[0].Rows[k][2].ToString().Trim()
                        }
                    });
                }
                //导入角色
                for (int i = 0; i < excelTable[1].Rows.Count; i++)
                {
                    sql = @"insert into TRole(role_code,role_name,roletype_code,description,lm_user,lm_date)
                            values(@role_code,@role_name,@roletype_code,@description,@Operator,@CreateDate)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            role_code = excelTable[1].Rows[i][1].ToString().Trim(),
                            role_name = excelTable[1].Rows[i][2].ToString().Trim(),
                            roletype_code = excelTable[1].Rows[i][3].ToString().Trim(),
                            description = excelTable[1].Rows[i][4].ToString().Trim(),
                            Operator = User,
                            CreateDate = DateTime.Now.ToString()
                        }
                    });
                }
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    StuCode = "300";
                    message = "导入失败!";
                }
                else
                {
                    StuCode = "200";
                    message = "导入成功!";
                }
            }
            catch (Exception e)
            {
VueWebApi/Tools/ScanStartReport.cs
@@ -104,9 +104,10 @@
                                var data1 = DapperHelper.selectdata(sql, dynamicParams);
                                if (data1.Rows.Count > 0)
                                {
                                    string good_qty = data1.Rows[0]["GOOD_QTY"].ToString();//报工数量
                                    string ng_qty = data1.Rows[0]["NG_QTY"].ToString();// ä¸è‰¯æ•°é‡
                                    decimal kbqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - (decimal.Parse(good_qty) + decimal.Parse(ng_qty)); //剩余可报工数量=任务数量-(报工数量+不良数量)
                                    decimal good_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //报工总数量
                                    decimal ng_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();  //不良数量
                                    decimal kbqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - (good_qty + ng_qty); //剩余可报工数量=任务数量-(报工数量+不良数量)
                                    if (kbqty <= 0)//无可报工数量
                                    {
                                        mes.code = "300";
@@ -119,8 +120,8 @@
                                    {
                                        rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());            //任务数量
                                        rt.startqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());           //开工数量=任务数量
                                        rt.noreportqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - kbqty;  //未报数量=任务数量-已报数量
                                        rt.reportqty = decimal.Parse(good_qty) + decimal.Parse(ng_qty);             //已报数量=报工数量-不良数量
                                        rt.noreportqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()) - good_qty- ng_qty;  //未报数量=任务数量-已报数量-不良数量
                                        rt.reportqty = good_qty + ng_qty;             //已报数量=报工数量-不良数量
                                        mes.code = "200";
                                        mes.count = 1;
                                        mes.Message = "弹窗报工界面!";
@@ -186,10 +187,11 @@
                                            var data3 = DapperHelper.selectdata(sql, dynamicParams);
                                            if (data3.Rows.Count > 0) //上道有报工
                                            {
                                                string sgood_qty = data3.Rows[0]["GOOD_QTY"].ToString();//上道报工数量
                                                string good_qty = data2.Rows[0]["GOOD_QTY"].ToString();//本道报工数量
                                                string ng_qty = data2.Rows[0]["NG_QTY"].ToString();// æœ¬é“不良数量
                                                decimal sybqty = decimal.Parse(sgood_qty) - decimal.Parse(good_qty) - decimal.Parse(ng_qty);//本道剩余可报数量=上道报工数量-本道报工数量-本道不良数量
                                                decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //上道报工总数量
                                                decimal good_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //本道报工总数量
                                                decimal ng_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //本道不良总数量
                                                decimal sybqty = sgood_qty - good_qty - ng_qty;//本道剩余可报数量=上道报工总数量-本道报工总数量-本道不良总数量
                                                if (sybqty <= 0)
                                                {
                                                    mes.code = "300";
@@ -203,7 +205,7 @@
                                                    rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //任务数量
                                                    rt.startqty = sybqty;                                                //开工数量=本道剩余可报数量
                                                    rt.noreportqty = sybqty;                                             //未报数量=本道剩余可报数量
                                                    rt.reportqty = decimal.Parse(good_qty) + decimal.Parse(ng_qty);      //已报数量=本道报工总数量+本道报工总不良
                                                    rt.reportqty = good_qty + ng_qty;                                    //已报数量=本道报工总数量+本道报工总不良
                                                    mes.code = "200";
                                                    mes.count = 1;
                                                    mes.Message = "弹窗报工界面!";
@@ -229,9 +231,10 @@
                                            if (data3.Rows.Count > 0) //上道有收料
                                            {
                                                decimal sqty = data3.AsEnumerable().Select(d => d.Field<decimal>("SQTY")).Sum();  //上道收料数量
                                                string good_qty = data2.Rows[0]["GOOD_QTY"].ToString();//本道报工数量
                                                string ng_qty = data2.Rows[0]["NG_QTY"].ToString();// æœ¬é“不良数量
                                                decimal sybqty = sqty - decimal.Parse(good_qty) - decimal.Parse(ng_qty);//本道剩余可报数量=上道收料数量-本道报工数量-本道不良数量
                                                decimal good_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //本道报工总数量
                                                decimal ng_qty = data2.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //本道不良总数量
                                                decimal sybqty = sqty - good_qty - ng_qty;//本道剩余可报数量=上道收料总数量-本道报工总数量-本道不良总数量
                                                if (sybqty <= 0)
                                                {
                                                    mes.code = "300";
@@ -245,7 +248,7 @@
                                                    rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //任务数量
                                                    rt.startqty = sybqty;                                                //开工数量=本道剩余可报数量
                                                    rt.noreportqty = sybqty;                                             //未报数量=本道剩余可报数量
                                                    rt.reportqty = decimal.Parse(good_qty) + decimal.Parse(ng_qty);      //已报数量=本道报工总数量+本道报工总不良
                                                    rt.reportqty = good_qty + ng_qty;                                    //已报数量=本道报工总数量+本道报工总不良
                                                    mes.code = "200";
                                                    mes.count = 1;
                                                    mes.Message = "弹窗报工界面!";
@@ -273,8 +276,8 @@
                                            var data3 = DapperHelper.selectdata(sql, dynamicParams);
                                            if (data3.Rows.Count > 0) //上道有报工
                                            {
                                                string sgood_qty = data3.Rows[0]["GOOD_QTY"].ToString();//上道报工数量
                                                decimal sybqty = decimal.Parse(sgood_qty);               //本道剩余可报数量=上道报工数量
                                                decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //本道报工总数量
                                                decimal sybqty = sgood_qty;                                      //本道剩余可报数量=上道报工数量
                                                rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //任务数量
                                                rt.startqty = sybqty;                                                //开工数量=本道剩余可报数量
@@ -581,11 +584,11 @@
                                                var data3 = DapperHelper.selectdata(sql, dynamicParams);
                                                if (data3.Rows.Count > 0) //上道有报工
                                                {
                                                    string sgood_qty = data3.Rows[0]["GOOD_QTY"].ToString();//上道报工数量
                                                    decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //本道报工总数量
                                                    decimal sqty = data1.AsEnumerable().Select(d => d.Field<decimal>("FQTY")).Sum();//本道发料数量
                                                    decimal ng_qty = data1.AsEnumerable().Select(d => d.Field<decimal>("NG_QTY")).Sum();// æœ¬é“不良数量
                                                    decimal sybqty = decimal.Parse(sgood_qty) - sqty - ng_qty;//本道剩余可发数量=上道报工数量-本道发料数量-本道不良数量
                                                    decimal sybqty =sgood_qty - sqty - ng_qty;//本道剩余可发数量=上道报工数量-本道发料数量-本道不良数量
                                                    if (sybqty <= 0)
                                                    {
                                                        mes.code = "300";
@@ -672,9 +675,9 @@
                                                var data3 = DapperHelper.selectdata(sql, dynamicParams);
                                                if (data3.Rows.Count > 0) //上道有报工
                                                {
                                                    string sgood_qty = data3.Rows[0]["GOOD_QTY"].ToString();//上道报工数量
                                                    decimal sgood_qty = data3.AsEnumerable().Select(d => d.Field<decimal>("GOOD_QTY")).Sum();  //本道报工总数量
                                                    decimal sybqty = decimal.Parse(sgood_qty);//本道剩余可发数量=上道报工数量
                                                    decimal sybqty = sgood_qty;//本道剩余可发数量=上道报工总数量
                                                    rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //任务数量
                                                    rt.noreportqty = sybqty;                                             //未发数量=剩余可发数量
VueWebApi/Tools/SeachEncode.cs
@@ -386,17 +386,18 @@
                        cmp.code = "PC";
                        cmp.name = "PC";
                        cmp.flag = "Y";
                        cmp.is_delete = "0";
                    }
                    else
                    {
                        cmp.code = "PC";
                        cmp.name = "PC";
                        cmp.flag = "N";
                        cmp.is_delete = "0";
                    }
                    cmp.children = new List<TreeDMOne>();
                    //第二层
                    sql = @"select A.right_code,A.right_name,(case when C.parent_id is null then 'N' else 'Y' end) flag
                    sql = @"select A.right_code,A.right_name,(case when C.parent_id is null then 'N' else 'Y' end) flag,A.is_delete
                                 from TRight A
                                 left join (
                                  select distinct A.parent_id from TRight A
@@ -412,10 +413,11 @@
                        cmp1.code = data2.Rows[i]["RIGHT_CODE"].ToString();
                        cmp1.name = data2.Rows[i]["RIGHT_NAME"].ToString();
                        cmp1.flag = data2.Rows[i]["FLAG"].ToString();
                        cmp1.is_delete= data2.Rows[i]["IS_DELETE"].ToString();
                        cmp.children.Add(cmp1);
                        cmp1.children = new List<TreeDMTwo>();
                        //第三层
                        sql = @"select A.right_code,A.right_name,(case when C.right_code is null then 'N' else 'Y' end) flag
                        sql = @"select A.right_code,A.right_name,(case when C.right_code is null then 'N' else 'Y' end) flag,A.is_delete
                                     from TRight A
                                     left join (
                                      select  B.right_code from TRight A
@@ -431,6 +433,7 @@
                            cmp2.code = data3.Rows[j]["RIGHT_CODE"].ToString();
                            cmp2.name = data3.Rows[j]["RIGHT_NAME"].ToString();
                            cmp2.flag = data3.Rows[j]["FLAG"].ToString();
                            cmp2.is_delete= data3.Rows[j]["IS_DELETE"].ToString();
                            cmp1.children.Add(cmp2);
                        }
                    }
@@ -450,17 +453,18 @@
                        cmt.code = "APP";
                        cmt.name = "APP";
                        cmt.flag = "Y";
                        cmt.is_delete = "1";
                    }
                    else
                    {
                        cmt.code = "APP";
                        cmt.name = "APP";
                        cmt.flag = "N";
                        cmt.is_delete = "1";
                    }
                    cmt.children = new List<TreeDMOne>();
                    //第二层
                    sql = @"select A.right_code,A.right_name,(case when C.parent_id is null then 'N' else 'Y' end) flag
                    sql = @"select A.right_code,A.right_name,(case when C.parent_id is null then 'N' else 'Y' end) flag,A.is_delete
                                 from TRight A
                                 left join (
                                  select distinct A.parent_id from TRight A
@@ -476,10 +480,11 @@
                        cmt1.code = date2.Rows[i]["RIGHT_CODE"].ToString();
                        cmt1.name = date2.Rows[i]["RIGHT_NAME"].ToString();
                        cmt1.flag = date2.Rows[i]["FLAG"].ToString();
                        cmt1.is_delete= date2.Rows[i]["IS_DELETE"].ToString();
                        cmt.children.Add(cmt1);
                        cmt1.children = new List<TreeDMTwo>();
                        //第三层
                        sql = @"select A.right_code,A.right_name,(case when C.right_code is null then 'N' else 'Y' end) flag
                        sql = @"select A.right_code,A.right_name,(case when C.right_code is null then 'N' else 'Y' end) flag,A.is_delete
                                     from TRight A
                                     left join (
                                      select  B.right_code from TRight A
@@ -495,6 +500,7 @@
                            cmt2.code = date3.Rows[j]["RIGHT_CODE"].ToString();
                            cmt2.name = date3.Rows[j]["RIGHT_NAME"].ToString();
                            cmt2.flag = date3.Rows[j]["FLAG"].ToString();
                            cmt2.flag= date3.Rows[j]["IS_DELETE"].ToString();
                            cmt1.children.Add(cmt2);
                        }
                    }
VueWebApi/VueWebApi.csproj
@@ -303,6 +303,7 @@
    <Compile Include="Models\RoleUserSubmit.cs" />
    <Compile Include="Models\RoutEdit.cs" />
    <Compile Include="Models\ScanStartReportData.cs" />
    <Compile Include="Models\StepCheck.cs" />
    <Compile Include="Models\StepDefect.cs" />
    <Compile Include="Models\StepEqp.cs" />
    <Compile Include="Models\TreeDG.cs" />
VueWebApi/bin/VueWebApi.pdb
Binary files differ
VueWebApi/bin/VueWebApi.xml
@@ -597,7 +597,7 @@
            <param name="json">提交数据对象</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.BasicSettingController.ImportUserExcel(System.Web.HttpPostedFileBase)">
        <member name="M:VueWebApi.Controllers.BasicSettingController.ImportUserExcel(System.Web.HttpPostedFileBase,System.String)">
            <summary>
            ç”¨æˆ·æ¸…单导入
            </summary>
@@ -865,6 +865,12 @@
            <param name="devicecode">设备编码</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ErpSyncMesController.SeaveSearchUnit">
            <summary>
            åˆ¶é€ æ¨¡åž‹ï¼šå•位同步
            </summary>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ErpSyncMesController.SeaveSearchInventoryClass">
            <summary>
            åˆ¶é€ æ¨¡åž‹ï¼šå­˜è´§åˆ†ç±»åŒæ­¥
@@ -886,6 +892,12 @@
        <member name="M:VueWebApi.Controllers.ErpSyncMesController.SeaveSearchPartner">
            <summary>
            åŸºç¡€è®¾ç½®:往来单位同步
            </summary>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ErpSyncMesController.SeaveSearchErpOrder">
            <summary>
            ç”Ÿäº§ç®¡ç†ï¼šç”Ÿäº§è®¢å•同步
            </summary>
            <returns></returns>
        </member>
@@ -962,7 +974,7 @@
            <summary>
            ç”¨æˆ·ç™»å½•
            </summary>
            <param name="username">用户名</param>
            <param name="username">用户编码</param>
            <param name="password">密码</param>
            <returns></returns>
        </member>
@@ -1064,9 +1076,9 @@
            <param name="partcode">产品编码</param>
            <param name="partname">产品名称</param>
            <param name="partspec">产品规格</param>
            <param name="paydate">交付时间</param>
            <param name="paystartdate">预计开工时间</param>
            <param name="payenddate">预计完工时间</param>
            <param name="creatuser">创建人员</param>
            <param name="createdate">创建时间</param>
            <param name="page">页码</param>
            <param name="rows">每页显示条数</param>
            <param name="prop">排序字段</param>
@@ -1257,6 +1269,33 @@
            <param name="obj">收料提交数据</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepCheckSearch(System.String)">
            <summary>
            ç”Ÿäº§å¼€æŠ¥å·¥,工序检验扫码获取任务信息
            </summary>
            <param name="orderstepqrcode">扫描二维码信息</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepCheckSelect">
            <summary>
            ç”Ÿäº§å¼€æŠ¥å·¥,工序检验获取检验标准下拉框数据
            </summary>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductionManagementController.MesOrderStepCheckItemList(System.String)">
            <summary>
            ç”Ÿäº§å¼€æŠ¥å·¥,工序检验根据检验标准获取检验项目列表
            </summary>
            <param name="checkstandcode">检验标准编码</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductionManagementController.SaveMesOrderStepCheckItem(Newtonsoft.Json.Linq.JObject)">
            <summary>
            ç”Ÿäº§å¼€æŠ¥å·¥,工序检验提交保存
            </summary>
            <param name="obj">提交信息</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductModelController.StockTypeSelect">
            <summary>
            å­˜è´§ç±»åž‹æŽ¥å£
@@ -1364,11 +1403,12 @@
            <param name="partcode">物料编码</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductModelController.SaveInventoryFile(System.String,System.Collections.Generic.List{VueWebApi.Models.ObjectData})">
        <member name="M:VueWebApi.Controllers.ProductModelController.SaveInventoryFile(System.String,System.Collections.Generic.List{VueWebApi.Models.ObjectData},System.String)">
            <summary>
            å­˜è´§æ¡£æ¡ˆå…³è”工艺路线提交
            </summary>
            <param name="partcode">物料编码</param>
            <param name="defaultroute_code">默认工艺路线编码</param>
            <param name="json">提交数据对象</param>
            <returns></returns>
        </member>
@@ -1598,6 +1638,13 @@
            </summary>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.QualityManagementController.DeleteStepCheckStaned(System.String)">
            <summary>
            å·¥åºæ£€éªŒæ ‡å‡†åˆ é™¤
            </summary>
            <param name="stanedcode">stanedcode</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.QualityManagementController.AddUpdateStepCheckStaned(System.String,VueWebApi.Models.RoutEdit)">
            <summary>
            å·¥åºæ£€éªŒæ ‡å‡†æ–°å¢žã€ç¼–辑提交
@@ -1750,6 +1797,13 @@
            <param name="parm">参数</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Tools.DapperHelper.IsProcedureNo(System.String)">
            <summary>
            Dapper执行存储过程返回datatable数据(不带参数)
            </summary>
            <param name="sql">存储过程名</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Tools.DapperHelper.selectcount(System.String,System.Object)">
            <summary>
            Dapper查询返回数据条数
VueWebApi/obj/Debug/VueWebApi.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
c44ce763bc75fbbb24393585b5dc481ba2772788
019570a02b2de4ba32f7846318922052a168060f
VueWebApi/obj/Debug/VueWebApi.pdb
Binary files differ
VueWebApi/obj/Release/Package/PackageTmp/Excel/Óû§Çåµ¥.xls
Binary files differ
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
Binary files differ
VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
5b4e84777a99a36edc80a7a5e9bfa2853c4cb60d
20fce33fd342e469daac51efb4a3d8765365c620
VueWebApi/obj/Release/VueWebApi.pdb
Binary files differ