yl
2022-07-16 4545b915123fb7b7535b697f6e82b12f525f8b71
工序检验接口编写
已添加7个文件
已修改19个文件
已删除1个文件
1462 ■■■■■ 文件已修改
.vs/VueWebApi/v16/.suo 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Controllers/ErpSyncMesController.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Controllers/QualityManagementController.cs 214 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/BLL/ErpSyncMesBLL.cs 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/BLL/QualityManagementBLL.cs 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/ErpSyncMesDAL.cs 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/LoginDAL.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/ProductModelDAL.cs 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/ProductionManagementDAL.cs 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/QualityManagementDAL.cs 571 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Logs/2022-07-14.TXT 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Logs/2022-07-15.TXT 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Logs/2022-07-16.TXT 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Tools/ChannelActionFilterAttribute.cs 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Tools/ScanStartReport.cs 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/VueWebApi.csproj 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/VueWebApi.csproj.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/bin/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/bin/VueWebApi.xml 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Debug/VueWebApi.csproj.AssemblyReference.cache 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Debug/VueWebApi.csproj.CoreCompileInputs.cache 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Debug/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/Package/PackageTmp/grf/外协收料标签.grf 310 ●●●●● 补丁 | 查看 | 原始文档 | 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/ErpSyncMesController.cs
@@ -64,6 +64,10 @@
        #endregion
        #region[基础设置:往来单位同步]
        /// <summary>
        /// åŸºç¡€è®¾ç½®:往来单位同步
        /// </summary>
        /// <returns></returns>
        [Route(template: "SeaveSearchPartner")]
        [HttpPost]
        public HttpResponseMessage SeaveSearchPartner()
@@ -73,5 +77,16 @@
            return TJson.toJson(mes);
        }
        #endregion
        #region[生产管理:生产订单同步]
        [Route(template: "SeaveSearchErpOrder")]
        [HttpPost]
        public HttpResponseMessage SeaveSearchErpOrder()
        {
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            mes = ErpSyncMesBLL.SeaveSearchErpOrder(username);
            return TJson.toJson(mes);
        }
        #endregion
    }
}
VueWebApi/Controllers/QualityManagementController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,214 @@
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web;
using System.Web.Http;
using VueWebApi.DLL.BLL;
using VueWebApi.Models;
using VueWebApi.Tools;
namespace VueWebApi.Controllers
{
    [RoutePrefix(prefix: "api/QualityManagement")]
    [ControllerGroup("质量管理", "在线接口")]
    public class QualityManagementController : ApiController
    {
        //定义全局信息返回变量
        ToMessage mes = new ToMessage();
        RedisHelper redis = new RedisHelper();
        #region[质量管理,缺陷定义查询列表]
        /// <summary>
        /// è´¨é‡ç®¡ç†,缺陷定义查询列表
        /// </summary>
        /// <param name="defectcode">缺陷代码</param>
        /// <param name="defectname">缺陷名称</param>
        /// <param name="defectdescr">缺陷描述</param>
        /// <param name="page">页码</param>
        /// <param name="rows">每页显示条数</param>
        /// <param name="prop">排序字段</param>
        /// <param name="order">排序规则</param>
        /// <returns></returns>
        [Route(template: "DedectSearch")]
        [HttpGet]
        public HttpResponseMessage DedectSearch(string defectcode = null, string defectname = null, string defectdescr = null, int page = 0, int rows = 0, string prop = null, string order = null)
        {
            int startNum = rows * (page - 1) + 1;  //起始记录rowNum
            int endNum = rows * page;   //结束记录 rowNum
            mes = QualityManagementBLL.DedectSearch(defectcode, defectname, defectdescr, startNum, endNum, prop, order);
            return TJson.toJson(mes);
        }
        #endregion
        #region[质量管理,缺陷定义新增、编辑提交]
        /// <summary>
        /// è´¨é‡ç®¡ç†ï¼Œç¼ºé™·å®šä¹‰æ–°å¢žã€ç¼–辑提交
        /// </summary>
        /// <param name="obj">提交数据</param>
        /// <returns></returns>
        [Route(template: "AddUpdateDedect")]
        [HttpPost]
        public HttpResponseMessage AddUpdateDedect([FromBody] JObject obj)
        {
            string defectcode = obj["defectcode"].ToString();    //缺陷代码
            string defectname = obj["defectname"].ToString(); //缺陷名称
            string defectdescr = obj["defectdescr"].ToString(); //缺陷描述
            string opertype = obj["OperType"].ToString();  //操作类型
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            mes = QualityManagementBLL.AddUpdateDedect(defectcode, defectname, defectdescr, opertype, username);
            return TJson.toJson(mes);
        }
        #endregion
        #region[质量管理,缺陷定义删除]
        /// <summary>
        /// è´¨é‡ç®¡ç†ï¼Œç¼ºé™·å®šä¹‰åˆ é™¤
        /// </summary>
        /// <param name="defectcode">缺陷代码</param>
        /// <returns></returns>
        [Route(template: "DeleteDedect")]
        [HttpPost]
        public HttpResponseMessage DeleteDedect(string defectcode)
        {
            mes = QualityManagementBLL.DeleteDedect(defectcode);
            return TJson.toJson(mes);
        }
        #endregion
        #region[工序检验标准列表查询]
        /// <summary>
        /// å·¥åºæ£€éªŒæ ‡å‡†åˆ—表查询
        /// </summary>
        /// <param name="stanedcode">标准代码</param>
        /// <param name="stanedname">标准名称</param>
        /// <param name="staneddescr">标准描述</param>
        /// <param name="page">页码</param>
        /// <param name="rows">每页显示条数</param>
        /// <param name="prop">排序字段</param>
        /// <param name="order">排序规格</param>
        /// <returns></returns>
        [Route(template: "StepCheckStanedSearch")]
        [HttpGet]
        public HttpResponseMessage StepCheckStanedSearch(string stanedcode = null, string stanedname = null, string staneddescr = null, int page = 0, int rows = 0, string prop = null, string order = null)
        {
            int startNum = rows * (page - 1) + 1;  //起始记录rowNum
            int endNum = rows * page;   //结束记录 rowNum
            mes = QualityManagementBLL.StepCheckStanedSearch(stanedcode, stanedname, staneddescr, startNum, endNum, prop, order);
            return TJson.toJson(mes);
        }
        #endregion
        #region[工序检验标准编辑获取数据]
        /// <summary>
        /// å·¥åºæ£€éªŒæ ‡å‡†ç¼–辑获取数据
        /// </summary>
        /// <param name="defectcode">工序检验标准编码</param>
        /// <returns></returns>
        [Route(template: "EditStepCheckStanedSearch")]
        [HttpPost]
        public HttpResponseMessage EditStepCheckStanedSearch(string defectcode)
        {
            mes = QualityManagementBLL.EditStepCheckStanedSearch(defectcode);
            return TJson.toJson(mes);
        }
        #endregion
        #region[工序检验标准新增、编辑获取检验项目下拉列表]
        /// <summary>
        /// å·¥åºæ£€éªŒæ ‡å‡†æ–°å¢žã€ç¼–辑获取检验项目下拉列表
        /// </summary>
        /// <returns></returns>
        [Route(template: "StepCheckItemSelect")]
        [HttpGet]
        public HttpResponseMessage StepCheckItemSelect()
        {
           mes = QualityManagementBLL.StepCheckItemSelect();
           return TJson.toJson(mes);
        }
        #endregion
        #region[工序检验标准新增、编辑提交]
        /// <summary>
        /// å·¥åºæ£€éªŒæ ‡å‡†æ–°å¢žã€ç¼–辑提交
        /// </summary>
        /// <param name="opertype">操作类型</param>
        /// <param name="json">提交数据</param>
        /// <returns></returns>
        [Route(template: "AddUpdateStepCheckStaned")]
        [HttpPost]
        public HttpResponseMessage AddUpdateStepCheckStaned(string opertype, RoutEdit json)
        {
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            mes = QualityManagementBLL.AddUpdateStepCheckStaned(opertype, json, username);
            return TJson.toJson(mes);
        }
        #endregion
        #region[工序检验项目列表查询]
        /// <summary>
        /// å·¥åºæ£€éªŒé¡¹ç›®åˆ—表查询
        /// </summary>
        /// <param name="itemcode">检验项目编码</param>
        /// <param name="itemname">检验项目名称</param>
        /// <param name="itemdescr">检验项目描述</param>
        /// <param name="page">页码</param>
        /// <param name="rows">每页显示条数</param>
        /// <param name="prop">排序字段</param>
        /// <param name="order">排序规则</param>
        /// <returns></returns>
        [Route(template: "StepCheckItemSearch")]
        [HttpGet]
        public HttpResponseMessage StepCheckItemSearch(string itemcode = null, string itemname = null, string itemdescr = null, int page = 0, int rows = 0, string prop = null, string order = null)
        {
            int startNum = rows * (page - 1) + 1;  //起始记录rowNum
            int endNum = rows * page;   //结束记录 rowNum
            mes = QualityManagementBLL.StepCheckItemSearch(itemcode, itemname, itemdescr, startNum, endNum, prop, order);
            return TJson.toJson(mes);
        }
        #endregion
        #region[工序检验项目新增、编辑提交]
        /// <summary>
        /// å·¥åºæ£€éªŒé¡¹ç›®æ–°å¢žã€ç¼–辑提交
        /// </summary>
        /// <param name="obj">提交数据</param>
        /// <returns></returns>
        [Route(template: "AddUpdateStepCheckItem")]
        [HttpPost]
        public HttpResponseMessage AddUpdateStepCheckItem([FromBody] JObject obj)
        {
            string checkitemcode = obj["checkitemcode"].ToString();    //工序检验项目代码
            string checkitemname = obj["checkitemname"].ToString(); //工序检验项目名称
            string checkitemdescr = obj["checkitemdescr"].ToString(); //工序检验项目描述
            string opertype = obj["OperType"].ToString();  //操作类型
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            mes = QualityManagementBLL.AddUpdateStepCheckItem(checkitemcode, checkitemname, checkitemdescr, opertype, username);
            return TJson.toJson(mes);
        }
        #endregion
        #region[工序检验项目删除]
        /// <summary>
        /// å·¥åºæ£€éªŒé¡¹ç›®åˆ é™¤
        /// </summary>
        /// <param name="checkitemcode">检验项目代码</param>
        /// <returns></returns>
        [Route(template: "DeleteStepCheckItem")]
        [HttpPost]
        public HttpResponseMessage DeleteStepCheckItem(string checkitemcode)
        {
            mes = QualityManagementBLL.DeleteStepCheckItem(checkitemcode);
            return TJson.toJson(mes);
        }
        #endregion
    }
}
VueWebApi/DLL/BLL/ErpSyncMesBLL.cs
@@ -36,5 +36,14 @@
            return ErpSyncMesDAL.SeaveSearchPartner(username);
        }
        #endregion
        #region[生产管理:生产订单同步]
        public static ToMessage SeaveSearchErpOrder(string username)
        {
            return ErpSyncMesDAL.SeaveSearchErpOrder(username);
        }
        #endregion
    }
}
VueWebApi/DLL/BLL/QualityManagementBLL.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,88 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using VueWebApi.DLL.DAL;
using VueWebApi.Models;
using VueWebApi.Tools;
namespace VueWebApi.DLL.BLL
{
    public class QualityManagementBLL
    {
        #region[质量管理,缺陷定义查询列表]
        public static ToMessage DedectSearch(string defectcode, string defectname, string defectdescr, int startNum, int endNum, string prop, string order)
        {
            return QualityManagementDAL.DedectSearch(defectcode, defectname, defectdescr, startNum, endNum, prop, order);
        }
        #endregion
        #region[质量管理,缺陷定义新增、编辑提交]
        public static ToMessage AddUpdateDedect(string defectcode, string defectname, string defectdescr, string opertype, string username)
        {
            return QualityManagementDAL.AddUpdateDedect(defectcode, defectname, defectdescr, opertype, username);
        }
        #endregion
        #region[质量管理,缺陷定义删除]
        public static ToMessage DeleteDedect(string defectcode)
        {
            return QualityManagementDAL.DeleteDedect(defectcode);
        }
        #endregion
        #region[工序检验标准列表查询]
        public static ToMessage StepCheckStanedSearch(string stanedcode, string stanedname, string staneddescr, int startNum, int endNum, string prop, string order)
        {
            return QualityManagementDAL.StepCheckStanedSearch(stanedcode, stanedname, staneddescr, startNum, endNum, prop, order);
        }
        #endregion
        #region[工序检验标准编辑获取数据]
        public static ToMessage EditStepCheckStanedSearch(string defectcode)
        {
            return QualityManagementDAL.EditStepCheckStanedSearch(defectcode);
        }
        #endregion
        #region[工序检验标准新增、编辑获取检验项目下拉列表]
        public static ToMessage StepCheckItemSelect()
        {
            return QualityManagementDAL.StepCheckItemSelect();
        }
        #endregion
        #region[工序检验标准新增、编辑提交]
        public static ToMessage AddUpdateStepCheckStaned(string opertype, RoutEdit json, string username)
        {
            return QualityManagementDAL.AddUpdateStepCheckStaned(opertype,json,username);
        }
        #endregion
        #region[工序检验项目列表查询]
        public static ToMessage StepCheckItemSearch(string itemcode, string itemname, string itemdescr, int startNum, int endNum, string prop, string order)
        {
            return QualityManagementDAL.StepCheckItemSearch(itemcode, itemname, itemdescr, startNum,endNum, prop, order);
        }
        #endregion
        #region[工序检验项目新增、编辑提交]
        public static ToMessage AddUpdateStepCheckItem(string checkitemcode, string checkitemname, string checkitemdescr, string opertype, string username)
        {
            return QualityManagementDAL.AddUpdateStepCheckItem(checkitemcode, checkitemname, checkitemdescr, opertype, username);
        }
        #endregion
        #region[工序检验项目删除]
        public static ToMessage DeleteStepCheckItem(string checkitemcode)
        {
            return QualityManagementDAL.DeleteStepCheckItem(checkitemcode);
        }
        #endregion
    }
}
VueWebApi/DLL/DAL/ErpSyncMesDAL.cs
@@ -157,5 +157,42 @@
            return mes;
        }
        #endregion
        #region[生产管理:生产订单同步]
        public static ToMessage SeaveSearchErpOrder(string username)
        {
            var sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //存储过程名
                sql = @"h_p_IFCLD_ERPMO";
                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
    }
}
VueWebApi/DLL/DAL/LoginDAL.cs
@@ -178,7 +178,7 @@
                sql = @"update [dbo].[TUser] set password=@newpassword where usercode=@usercode and username=@username and password=@password";
                list.Add(new { str = sql, parm = new { usercode = usercode, username = username, password = password, newpassword = newpassword } });
                //写入操作记录表
                sql = @"insert into T_Bas_User_Operlog(usercode,oper_date,oper_type,description,origin)";
                sql = @"insert into T_Bas_User_Operlog(usercode,oper_date,oper_type,description,origin) values(@usercode,@oper_date,@oper_type,@description,@origin)";
                list.Add(new
                {
                    str = sql,
VueWebApi/DLL/DAL/ProductModelDAL.cs
@@ -446,7 +446,7 @@
                            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 C.dict_code=D.code and D.dict_type='CHLX'
                            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 
                            where A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
@@ -474,13 +474,14 @@
            {
                if (operType == "Add")
                {
                    var sql = @"insert into TMateriel_Info(partcode,partname,partspec,uom_code,materieltype_code,stck_code,maxqty,minqty,lm_user,lm_date)
                            values(@materialcode,@materialname,@materialspec,@uomcode,@materialtypecode,@warehousecode,@maxstockqty,@minstockqty,@username,@CreateDate)";
                    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);
                    dynamicParams.Add("@materialname", materialname);
                    dynamicParams.Add("@materialspec", materialspec);
                    dynamicParams.Add("@uomcode", uomcode);
                    dynamicParams.Add("@warehousecode", warehousecode);
                    dynamicParams.Add("@stocktypecode", stocktypecode);
                    dynamicParams.Add("@materialtypecode", materialtypecode);
                    dynamicParams.Add("@minstockqty", minstockqty);
                    dynamicParams.Add("@maxstockqty", maxstockqty);
@@ -504,13 +505,14 @@
                }
                if (operType == "Update")
                {
                    var sql = @"update TMateriel_Info set partname=@materialname,partspec=@materialspec,uom_code=@uomcode,materieltype_code=@materialtypecode,stck_code=@warehousecode,
                    var sql = @"update TMateriel_Info set partname=@materialname,partspec=@materialspec,uom_code=@uomcode,stocktype_code=@stocktypecode,materieltype_code=@materialtypecode,stck_code=@warehousecode,
                                maxqty=@maxstockqty,minqty=@minstockqty,lm_user=@username,lm_date=@CreateDate where id=@materialid";
                    dynamicParams.Add("@materialid", materialid);
                    dynamicParams.Add("@materialname", materialname);
                    dynamicParams.Add("@materialspec", materialspec);
                    dynamicParams.Add("@uomcode", uomcode);
                    dynamicParams.Add("@warehousecode", warehousecode);
                    dynamicParams.Add("@stocktypecode", stocktypecode);
                    dynamicParams.Add("@materialtypecode", materialtypecode);
                    dynamicParams.Add("@minstockqty", minstockqty);
                    dynamicParams.Add("@maxstockqty", maxstockqty);
VueWebApi/DLL/DAL/ProductionManagementDAL.cs
@@ -371,7 +371,7 @@
            try
            {
                //获取车间下拉框数据
                sql = @"select R.code,R.name  from TMateriel_Info A
                sql = @"select R.code,R.name,A.default_route  from TMateriel_Info A
                        inner join  TMateriel_Route M on A.partcode=M.materiel_code
                        inner join  TFlw_Rout R on M.route_code=R.code
                        where A.partcode=@partcode ";
@@ -1337,13 +1337,13 @@
                //判断是否有报工记录(有:修改 æ— ï¼šæ–°å¢ž)
                sql = @"select *  from TK_Wrk_Record where wo_code=@wo_code and step_code=@step_code and style='B'";
                dynamicParams.Add("@wo_code", mesordercode);
                dynamicParams.Add("@stepcode", stepcode);
                dynamicParams.Add("@step_code", stepcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
                {
                    //修改报工记录
                    sql = @"update TK_Wrk_Record set good_qty=good+@reportqty,ng_qty=ng_qty+@ngqty
                                lm_user=@username,lm_date=@CreateDate where wo_code=@mesordercode and step_code=@stepcode";
                    sql = @"update TK_Wrk_Record set good_qty=good_qty+@reportqty,ng_qty=ng_qty+@ngqty,
                                lm_user=@username,lm_date=@CreateDate where wo_code=@mesordercode and step_code=@stepcode and style='B'";
                    list.Add(new { str = sql, parm = new { reportqty = decimal.Parse(reportqty), ngqty = decimal.Parse(ngqty), mesordercode = mesordercode, stepcode = stepcode, username = username, CreateDate = date } });
                    //写入子表
                    for (int i = 0; i < arra.Length; i++)
@@ -1353,7 +1353,7 @@
                        list.Add(new { str = sql, parm = new { m_id = int.Parse(data.Rows[0]["ID"].ToString()), eqp_code = eqpcode, report_person = arra[i], report_date = date, report_qty = reportqty, usergroup_code = usergroupcode, ng_qty = ngqty, style = "B", lm_user = username, lm_date = date } });
                    }
                    if (badcode != "" || badcode != null)
                    if (badcode != "" &&  ngqty != "0")
                    {
                        //写入缺陷记录表
                        for (int i = 0; i < arra1.Length; i++)
@@ -1383,7 +1383,7 @@
                        list.Add(new { str = sql, parm = new { m_id = int.Parse(dt.Rows[0]["ID"].ToString()), eqp_code = eqpcode, report_person = arra[i], report_date = date, report_qty = reportqty, usergroup_code = usergroupcode, ng_qty = ngqty, style = "B", lm_user = username, lm_date = date } });
                    }
                    if (badcode != "" || badcode != null)
                    if (badcode != "" && ngqty != "0")
                    {
                        //写入缺陷记录表
                        for (int i = 0; i < arra1.Length; i++)
@@ -1452,11 +1452,11 @@
                {
                    //修改发料记录
                    sql = @"update TK_Wrk_OutRecord set fqty=fqty+@fqty,lm_user=@username,lm_date=@CreateDate
                             where wo_code=@mesordercode and step_code=@stepcode and wx_code=@wx_code";
                             where wo_code=@mesordercode and step_code=@stepcode and wx_code=@wx_code and style='F'";
                    list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepcode = stepcode, wx_code = wxcode, fqty = decimal.Parse(fqty), username = username, CreateDate = date } });
                    //写入子表
                    sql = @"insert into  TK_Wrk_OutRecordSub(m_id,wx_code,out_person,out_time,fqty,syle,lm_user,lm_date)
                                values(@m_id,@wx_code,@out_person,@out_time,@fqty,@lm_user,@lm_date)";
                    sql = @"insert into  TK_Wrk_OutRecordSub(m_id,wx_code,out_person,out_time,fqty,style,lm_user,lm_date)
                                values(@m_id,@wx_code,@out_person,@out_time,@fqty,@style,@lm_user,@lm_date)";
                    list.Add(new { str = sql, parm = new { m_id = int.Parse(data.Rows[0]["ID"].ToString()), wx_code = wxcode, out_person = outuser, out_time = date, fqty = fqty, style = 'F', lm_user = username, lm_date = date } });
                }
                else
@@ -1528,7 +1528,7 @@
                list.Clear();
                //判断是否有收料记录(有:(同工单+工序+外协供方修改) æ— ï¼šæ–°å¢ž)
                sql = @"select *  from TK_Wrk_OutRecord where wo_code=@wo_code and step_code=@step_code and wx_code=@wxcode and style='F'";
                sql = @"select *  from TK_Wrk_OutRecord where wo_code=@wo_code and step_code=@step_code and wx_code=@wx_code and style='S'";
                dynamicParams.Add("@wo_code", mesordercode);
                dynamicParams.Add("@step_code", stepcode);
                dynamicParams.Add("@wx_code", wxcode);
@@ -1536,21 +1536,21 @@
                if (data.Rows.Count > 0)
                {
                    //修改外协记录主表
                    sql = @"update TK_Wrk_OutRecord set sqty=sqty+@sqty,ng_qty=@ngqty,lm_user=@username,lm_date=@CreateDate
                             where wo_code=@mesordercode and step_code=@stepcode and wx_code=@wx_code";
                    sql = @"update TK_Wrk_OutRecord set sqty=sqty+@sqty,ng_qty=ng_qty+@ngqty,lm_user=@username,lm_date=@CreateDate
                             where wo_code=@mesordercode and step_code=@stepcode and wx_code=@wx_code and style='S'";
                    list.Add(new { str = sql, parm = new { mesordercode = mesordercode, stepcode = stepcode, wx_code = wxcode, sqty = decimal.Parse(sqty), ngqty = decimal.Parse(ngqty), username = username, CreateDate = date } });
                    //写入外协记录子表
                    sql = @"insert into  TK_Wrk_OutRecordSub(m_id,wx_code,in_person,in_time,sqty,ng_qty,syle,lm_user,lm_date)
                                values(@m_id,@wx_code,@in_person,@in_time,@sqty,@ngqty,@lm_user,@lm_date)";
                    sql = @"insert into  TK_Wrk_OutRecordSub(m_id,wx_code,in_person,in_time,sqty,ng_qty,style,lm_user,lm_date)
                                values(@m_id,@wx_code,@in_person,@in_time,@sqty,@ngqty,@style,@lm_user,@lm_date)";
                    list.Add(new { str = sql, parm = new { m_id = int.Parse(data.Rows[0]["ID"].ToString()), wx_code = wxcode, in_person = inuser, in_time = date, sqty = sqty, ngqty = ngqty, style = 'S', lm_user = username, lm_date = date } });
                    if (badcode != "" || badcode != null)
                    if (badcode != "" && ngqty != "0")
                    {
                        //写入缺陷记录表
                        for (int i = 0; i < arra1.Length; i++)
                        {
                            sql = @"insert into  CSR_WorkRecord_Defect(record_id,wo_code,partnumber,step_seq,step_code,defect_qty,defect_code,style,lm_user,lm_date) 
                                values(@record_id,@wo_code,@partcode,@stepseq,@stepcode,@ngqty,@defect_code,@stepcode,@style,@lm_user,@lm_date)";
                                values(@record_id,@wo_code,@partcode,@stepseq,@stepcode,@ngqty,@defect_code,@style,@lm_user,@lm_date)";
                            list.Add(new { str = sql, parm = new { record_id = int.Parse(data.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = ngqty, defect_code = arra1[i], style = "S", lm_user = username, lm_date = date } });
                        }
@@ -1571,13 +1571,13 @@
                                values(@m_id,@wxcode,@in_person,@in_time,@sqty,@ng_qty,@style,@lm_user,@lm_date)";
                    list.Add(new { str = sql, parm = new { m_id = int.Parse(dt.Rows[0]["ID"].ToString()), wxcode = wxcode, in_person = inuser, in_time = date, sqty = sqty, ng_qty = ngqty, style = "S", lm_user = username, lm_date = date } });
                    if (badcode != "" || badcode != null)
                    if (badcode != "" && ngqty != "0")
                    {
                        //写入缺陷记录表
                        for (int i = 0; i < arra1.Length; i++)
                        {
                            sql = @"insert into  CSR_WorkRecord_Defect(record_id,wo_code,partnumber,step_seq,step_code,defect_qty,defect_code,style,lm_user,lm_date) 
                                values(@record_id,@wo_code,@partcode,@stepseq,@stepcode,@ngqty,@defect_code,@stepcode,@style,@lm_user,@lm_date)";
                                values(@record_id,@wo_code,@partcode,@stepseq,@stepcode,@ngqty,@defect_code,@style,@lm_user,@lm_date)";
                            list.Add(new { str = sql, parm = new { record_id = int.Parse(dt.Rows[0]["ID"].ToString()), wo_code = mesordercode, partcode = partcode, stepseq = stepseq, stepcode = stepcode, ngqty = ngqty, defect_code = arra1[i], style = "S", lm_user = username, lm_date = date } });
                        }
VueWebApi/DLL/DAL/QualityManagementDAL.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,571 @@
using Dapper;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using VueWebApi.Models;
using VueWebApi.Tools;
namespace VueWebApi.DLL.DAL
{
    public class QualityManagementDAL
    {
        public static DataTable dt;    //定义全局变量dt
        public static bool res;       //定义全局变量dt
        public static ToMessage mes = new ToMessage(); //定义全局返回信息对象
        public static string strProcName = ""; //定义全局sql变量
        public static List<SqlParameter> listStr = new List<SqlParameter>(); //定义全局参数集合
        public static SqlParameter[] parameters; //定义全局SqlParameter参数数组
        #region[质量管理,缺陷定义查询列表]
        public static ToMessage DedectSearch(string defectcode, string defectname, string defectdescr, int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
            try
            {
                if (defectcode != "" && defectcode != null)
                {
                    search += "and code=@defectcode ";
                    dynamicParams.Add("@defectcode", defectcode);
                }
                if (defectname != "" && defectname != null)
                {
                    search += "and name like '%'+@defectname+'%' ";
                    dynamicParams.Add("@defectname", defectname);
                }
                if (defectdescr != "" && defectdescr != null)
                {
                    search += "and 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 data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.count = total;
                mes.data = data.ToList();
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[质量管理,缺陷定义新增、编辑提交]
        public static ToMessage AddUpdateDedect(string defectcode, string defectname, string defectdescr, string opertype, string username)
        {
            var sql = "";
            var dynamicParams = new DynamicParameters();
            List<object> list = new List<object>();
            try
            {
                if (opertype == "Add")
                {
                    //写入缺陷定义定义表
                    sql = @"insert into TDefect(code,name,descr,lm_user,lm_date)
                                values(@defectcode,@defectname,@defectdescr,@username,@CreateDate)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            defectcode = defectcode,
                            defectname = defectname,
                            defectdescr = defectdescr,
                            username = username,
                            CreateDate = DateTime.Now.ToString()
                        }
                    });
                    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;
                    }
                }
                if (opertype == "Update")
                {
                    sql = @"update TDefect set name=@defectname,descr=@defectdescr,lm_user=@username,lm_date=@CreateDate where code=@defectcode";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            defectcode = defectcode,
                            defectname = defectname,
                            defectdescr = defectdescr,
                            username = username,
                            CreateDate = DateTime.Now.ToString()
                        }
                    });
                    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
        #region[质量管理,缺陷定义删除]
        public static ToMessage DeleteDedect(string defectcode)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                sql = @"select * from  CSR_WorkRecord_Defect  where defect_code=@defectcode";
                dynamicParams.Add("@defectcode", defectcode);
                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 TDefect  where code=@defectcode";
                list.Add(new { str = sql, parm = new { defectcode = defectcode } });
                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
        #region[工序检验标准列表查询]
        public static ToMessage StepCheckStanedSearch(string stanedcode, string stanedname, string staneddescr, int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
            try
            {
                if (stanedcode != "" && stanedcode != null)
                {
                    search += "and code=@stanedcode ";
                    dynamicParams.Add("@stanedcode", stanedcode);
                }
                if (stanedname != "" && stanedname != null)
                {
                    search += "and name like '%'+@stanedname+'%' ";
                    dynamicParams.Add("@stanedname", stanedname);
                }
                if (staneddescr != "" && staneddescr != null)
                {
                    search += "and 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 data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.count = total;
                mes.data = data.ToList();
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[工序检验标准编辑获取数据]
        public static ToMessage EditStepCheckStanedSearch(string defectcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //获取工序检验标准信息
                sql = @"select code,name,descr
                        from TStepCheckStandard
                        where code=@defectcode and is_delete<>'1'";
                dynamicParams.Add("@defectcode", defectcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                RoutEdit rout = new RoutEdit();
                rout.code = data.Rows[0]["CODE"].ToString();
                rout.name = data.Rows[0]["NAME"].ToString();
                rout.description = data.Rows[0]["DESCR"].ToString();
                //根据工序检验标准编码获取关联的工序检验项目信息
                sql = @"select B.code,B.name,A.stepcheckitem_desc  from TStepCheckStandardSub A
                        left join TStepCheckItem  B on A.stepcheckitem_code=B.code
                        where B.is_delete<>'1' and A.stepstaned_code=@stepstaned_code order by A.stepcheckitem_seq asc";
                dynamicParams.Add("@stepstaned_code", rout.code);
                var data0 = DapperHelper.selectdata(sql, dynamicParams);
                rout.Data = data0;
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.data = rout;
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[工序检验标准新增、编辑获取检验项目下拉列表]
        public static ToMessage StepCheckItemSelect()
        {
            string sql = "";
            try
            {
                //获取工序点检项目数据
                sql = @"select code,name,descr from TStepCheckItem 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 AddUpdateStepCheckStaned(string opertype, RoutEdit json, string username)
        {
            var sql = "";
            var dynamicParams = new DynamicParameters();
            List<object> list = new List<object>();
            try
            {
                if (opertype == "Add")
                {
                    //新增工序检验标准主表
                    sql = @"insert into TStepCheckStandard(code,name,descr,lm_user,lm_date) values(@code,@name,@descr,@lm_user,@lm_date)";
                    list.Add(new { str = sql, parm = new { code = json.code, name = json.name, descr = json.description, lm_user = username, lm_date = DateTime.Now.ToString() } });
                    for (int i = 0; i < json.Data.Rows.Count; i++)
                    {
                        //新增工序检验标准子表
                        sql = @"insert TStepCheckStandardSub (stepstaned_code,stepcheckitem_seq,stepcheckitem_code,stepcheckitem_desc,lm_user,lm_date)
                                values(@stepstaned_code,@stepcheckitem_seq,@stepcheckitem_code,@stepcheckitem_desc,@lm_user,@lm_date)";
                        list.Add(new { str = sql, parm = new { stepstaned_code = json.code, stepcheckitem_seq = Convert.ToInt32(json.Data.Rows[i]["STEPCHECKITEM_SEQ"].ToString()), stepcheckitem_code = json.Data.Rows[i]["STEPCHECKITEM_CODE"].ToString(), stepcheckitem_desc= json.Data.Rows[i]["STEPCHECKITEM_DESC"].ToString(), lm_user = username, lm_date = DateTime.Now.ToString() } });
                    }
                    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;
                    }
                }
                if (opertype == "Update")
                {
                    //删除工序检验标准子表
                    sql = @"delete from TStepCheckStandard where stepstaned_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 } });
                    //新增工序检验标准子表
                    for (int i = 0; i < json.Data.Rows.Count; i++)
                    {
                        //新增工序检验标准子表
                        sql = @"insert TStepCheckStandardSub (stepstaned_code,stepcheckitem_seq,stepcheckitem_code,stepcheckitem_desc,lm_user,lm_date)
                                values(@stepstaned_code,@stepcheckitem_seq,@stepcheckitem_code,@stepcheckitem_desc,@lm_user,@lm_date)";
                        list.Add(new { str = sql, parm = new { stepstaned_code = json.code, stepcheckitem_seq = Convert.ToInt32(json.Data.Rows[i]["STEPCHECKITEM_SEQ"].ToString()), stepcheckitem_code = json.Data.Rows[i]["STEPCHECKITEM_CODE"].ToString(), stepcheckitem_desc = json.Data.Rows[i]["STEPCHECKITEM_DESC"].ToString(), lm_user = username, lm_date = DateTime.Now.ToString() } });
                    }
                    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
        #region[工序检验项目列表查询]
        public static ToMessage StepCheckItemSearch(string itemcode, string itemname, string itemdescr, int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
            try
            {
                if (itemcode != "" && itemcode != null)
                {
                    search += "and code=@itemcode ";
                    dynamicParams.Add("@itemcode", itemcode);
                }
                if (itemname != "" && itemname != null)
                {
                    search += "and name like '%'+@itemname+'%' ";
                    dynamicParams.Add("@itemname", itemname);
                }
                if (itemdescr != "" && itemdescr != null)
                {
                    search += "and 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 data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
                mes.count = total;
                mes.data = data.ToList();
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[工序检验项目新增、编辑提交]
        public static ToMessage AddUpdateStepCheckItem(string checkitemcode, string checkitemname, string checkitemdescr, string opertype, string username)
        {
            var sql = "";
            var dynamicParams = new DynamicParameters();
            List<object> list = new List<object>();
            try
            {
                if (opertype == "Add")
                {
                    //写入缺陷定义定义表
                    sql = @"insert into TStepCheckItem(code,name,descr,lm_user,lm_date)
                                values(@checkitemcode,@checkitemname,@checkitemdescr,@username,@CreateDate)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            checkitemcode = checkitemcode,
                            checkitemname = checkitemname,
                            checkitemdescr = checkitemdescr,
                            username = username,
                            CreateDate = DateTime.Now.ToString()
                        }
                    });
                    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;
                    }
                }
                if (opertype == "Update")
                {
                    sql = @"update TStepCheckItem set name=@checkitemname,descr=@checkitemdescr,lm_user=@username,lm_date=@CreateDate where code=@checkitemcode";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            checkitemcode = checkitemcode,
                            checkitemname = checkitemname,
                            checkitemdescr = checkitemdescr,
                            username = username,
                            CreateDate = DateTime.Now.ToString()
                        }
                    });
                    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
        #region[工序检验项目删除]
        public static ToMessage DeleteStepCheckItem(string checkitemcode)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                sql = @"select * from  TStepCheckRecordSub  where checkitem_code=@checkitemcode";
                dynamicParams.Add("@checkitemcode", checkitemcode);
                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 = @"update TStepCheckItem set is_delete='1'  where code=@checkitemcode";
                list.Add(new { str = sql, parm = new { checkitemcode = checkitemcode } });
                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/Logs/2022-07-14.TXT
VueWebApi/Logs/2022-07-15.TXT
VueWebApi/Logs/2022-07-16.TXT
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
 ã€æ—¶é—´ã€‘:2022-07-16 20:45:16,651
 ã€çº§åˆ«ã€‘:ERROR
 ã€ç±»åã€‘:日志记录
 ã€çº¿ç¨‹ID】: 18
 ã€æ–‡ä»¶åœ°å€ã€‘:D:\新凯迪MES\VueWebApi\VueWebApi\Tools\LogHelper.cs ç¬¬25行
 ã€æ—¥å¿—内容】:
消息类型:SqlException
消息内容:“)”附近有语法错误。
引发异常路径:/api/Login/UpdateUserPassword
引发异常的方法: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.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)
   åœ¨ System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   åœ¨ System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
   åœ¨ Dapper.SqlMapper.ExecuteCommand(IDbConnection cnn, CommandDefinition& command, Action`2 paramReader)
   åœ¨ Dapper.SqlMapper.ExecuteImpl(IDbConnection cnn, CommandDefinition& command)
   åœ¨ Dapper.SqlMapper.Execute(IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Nullable`1 commandTimeout, Nullable`1 commandType)
   åœ¨ VueWebApi.Tools.DapperHelper.DoTransaction(List`1 sqlList) ä½ç½® D:\新凯迪MES\VueWebApi\VueWebApi\Tools\DapperHelper.cs:行号 391
 ã€æ—¥è®°è¯¦ç»†ã€‘:
---------------------------------------------------------------------------------------------------------------
VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -5,7 +5,7 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <_PublishTargetUrl>D:\网站发布\XKDMesApi</_PublishTargetUrl>
    <History>True|2022-06-30T07:04:41.6941982Z;True|2022-06-24T16:39:01.1080301+08:00;True|2022-06-17T13:23:15.1455451+08:00;True|2022-06-17T13:22:18.5517557+08:00;True|2022-06-17T13:19:27.7323818+08:00;True|2022-06-17T13:12:24.1252779+08:00;True|2022-06-17T13:09:20.4234258+08:00;True|2022-06-17T13:06:49.9869509+08:00;True|2022-06-17T12:58:54.6964621+08:00;False|2022-06-17T12:58:10.6767711+08:00;False|2022-06-17T12:57:08.9747950+08:00;False|2022-06-17T12:56:18.4650121+08:00;False|2022-06-17T12:55:57.9981927+08:00;True|2022-06-13T14:21:36.5610928+08:00;True|2022-06-13T11:41:39.4210151+08:00;True|2022-06-11T02:35:03.4727934+08:00;True|2022-06-11T02:31:13.7362660+08:00;True|2022-06-11T02:30:58.3616790+08:00;True|2022-06-11T01:57:04.4951468+08:00;True|2022-06-10T13:27:13.2097124+08:00;</History>
    <History>True|2022-07-14T06:34:28.5093226Z;True|2022-07-14T13:59:59.7754985+08:00;True|2022-07-14T12:46:29.6685284+08:00;True|2022-07-14T09:22:25.9079652+08:00;True|2022-07-14T09:22:04.6797478+08:00;True|2022-07-14T09:10:45.0177607+08:00;True|2022-07-14T08:41:43.3026713+08:00;True|2022-07-14T08:27:32.7454972+08:00;True|2022-07-14T08:21:58.6572366+08:00;True|2022-07-14T08:17:59.2904747+08:00;True|2022-07-14T08:12:39.8483472+08:00;True|2022-06-30T15:04:41.6941982+08:00;True|2022-06-24T16:39:01.1080301+08:00;True|2022-06-17T13:23:15.1455451+08:00;True|2022-06-17T13:22:18.5517557+08:00;True|2022-06-17T13:19:27.7323818+08:00;True|2022-06-17T13:12:24.1252779+08:00;True|2022-06-17T13:09:20.4234258+08:00;True|2022-06-17T13:06:49.9869509+08:00;True|2022-06-17T12:58:54.6964621+08:00;False|2022-06-17T12:58:10.6767711+08:00;False|2022-06-17T12:57:08.9747950+08:00;False|2022-06-17T12:56:18.4650121+08:00;False|2022-06-17T12:55:57.9981927+08:00;True|2022-06-13T14:21:36.5610928+08:00;True|2022-06-13T11:41:39.4210151+08:00;True|2022-06-11T02:35:03.4727934+08:00;True|2022-06-11T02:31:13.7362660+08:00;True|2022-06-11T02:30:58.3616790+08:00;True|2022-06-11T01:57:04.4951468+08:00;True|2022-06-10T13:27:13.2097124+08:00;</History>
  </PropertyGroup>
  <ItemGroup>
    <File Include="Areas/HelpPage/HelpPage.css">
@@ -384,13 +384,13 @@
      <publishTime>11/28/2018 13:04:24</publishTime>
    </File>
    <File Include="bin/VueWebApi.dll">
      <publishTime>07/13/2022 17:46:02</publishTime>
      <publishTime>07/16/2022 21:11:40</publishTime>
    </File>
    <File Include="bin/VueWebApi.dll.config">
      <publishTime>06/15/2022 15:31:43</publishTime>
    </File>
    <File Include="bin/VueWebApi.pdb">
      <publishTime>07/13/2022 17:46:02</publishTime>
      <publishTime>07/16/2022 21:11:40</publishTime>
    </File>
    <File Include="bin/VueWebApi.xml">
      <publishTime>06/16/2022 14:26:01</publishTime>
@@ -887,6 +887,9 @@
    <File Include="grf/产品流传单A5.grf">
      <publishTime>06/30/2022 19:42:17</publishTime>
    </File>
    <File Include="grf/外协收料标签.grf">
      <publishTime>07/07/2022 16:11:14</publishTime>
    </File>
    <File Include="grf/成品物料标识卡.grf">
      <publishTime>07/07/2022 15:45:42</publishTime>
    </File>
VueWebApi/Tools/ChannelActionFilterAttribute.cs
@@ -26,7 +26,10 @@
        /// <param name="actionContext"></param>
        public override void  OnActionExecuting(HttpActionContext actionContext)
        {
            User loginUser = JsonConvert.DeserializeObject<User>(HttpContext.Current.Session["User"].ToString());
            try
            {
                var User = HttpContext.Current.Session["User"].ToString();
                User loginUser = JsonConvert.DeserializeObject<User>(User);
            base.OnActionExecuting(actionContext);
            //如果存在
            if (redis.Get<User>("LoginUserID" + loginUser.userid, 0).userid.ToString() != "")
@@ -42,16 +45,24 @@
                else
                {
                    mes.code = "300";
                    mes.Message = "账户已过期,请重新登录2!";
                        mes.Message = "登录已超时,请重新登录!";
                    actionContext.Response = new HttpResponseMessage { StatusCode = HttpStatusCode.Ambiguous, Content = new StringContent(JsonConvert.SerializeObject(mes), Encoding.GetEncoding("UTF-8"), "application/json") };
                }
            }
            else //如果redis登录用户中不存在当前用户
            {
                mes.code = "300";
                mes.Message = "账户已过期,请重新登录1!";
                    mes.Message = "登录已超时,请重新登录!";
                actionContext.Response = new HttpResponseMessage { StatusCode = HttpStatusCode.Ambiguous, Content = new StringContent(JsonConvert.SerializeObject(mes), Encoding.GetEncoding("UTF-8"), "application/json") };
            }
        }  
            catch (Exception)
            {
                mes.code = "300";
                mes.Message = "登录已超时,请重新登录!";
                actionContext.Response = new HttpResponseMessage { StatusCode = HttpStatusCode.Ambiguous, Content = new StringContent(JsonConvert.SerializeObject(mes), Encoding.GetEncoding("UTF-8"), "application/json") };
            }
        }
    }
}
VueWebApi/Tools/ScanStartReport.cs
@@ -69,12 +69,12 @@
                    if (dt.Rows.Count > 0) //有下道工序
                    {
                        rt.nextstepcode = dt.Rows[0]["STEPCODE"].ToString();//下道工序编码
                        rt.nextstepcode = dt.Rows[0]["STEPNAME"].ToString();//下道工序名称
                        rt.nextstepname = dt.Rows[0]["STEPNAME"].ToString();//下道工序名称
                    }
                    if (isend == "Y")  //当前工序是末道工序
                    {
                        rt.nextstepcode = data.Rows[0]["STEPCODE"].ToString();//当前工序编码
                        rt.nextstepcode = data.Rows[0]["STEPNAME"].ToString();//当前工序名称
                        rt.nextstepname = data.Rows[0]["STEPNAME"].ToString();//当前工序名称
                    }
                }
                else
@@ -203,7 +203,7 @@
                                                    rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //任务数量
                                                    rt.startqty = sybqty;                                                //开工数量=本道剩余可报数量
                                                    rt.noreportqty = sybqty;                                             //未报数量=本道剩余可报数量
                                                    rt.reportqty = 0;                                                    //已报数量
                                                    rt.reportqty = decimal.Parse(good_qty) + decimal.Parse(ng_qty);      //已报数量=本道报工总数量+本道报工总不良
                                                    mes.code = "200";
                                                    mes.count = 1;
                                                    mes.Message = "弹窗报工界面!";
@@ -245,7 +245,7 @@
                                                    rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString()); //任务数量
                                                    rt.startqty = sybqty;                                                //开工数量=本道剩余可报数量
                                                    rt.noreportqty = sybqty;                                             //未报数量=本道剩余可报数量
                                                    rt.reportqty = 0;                                                    //已报数量
                                                    rt.reportqty = decimal.Parse(good_qty) + decimal.Parse(ng_qty);      //已报数量=本道报工总数量+本道报工总不良
                                                    mes.code = "200";
                                                    mes.count = 1;
                                                    mes.Message = "弹窗报工界面!";
@@ -481,12 +481,12 @@
                    if (dt.Rows.Count > 0) //有下道工序
                    {
                        rt.nextstepcode = dt.Rows[0]["STEPCODE"].ToString();//下道工序编码
                        rt.nextstepcode = dt.Rows[0]["STEPNAME"].ToString();//下道工序名称
                        rt.nextstepname = dt.Rows[0]["STEPNAME"].ToString();//下道工序名称
                    }
                    if (isend == "Y")  //当前工序是末道工序
                    {
                        rt.nextstepcode = data.Rows[0]["STEPCODE"].ToString();//当前工序编码
                        rt.nextstepcode = data.Rows[0]["STEPNAME"].ToString();//当前工序名称
                        rt.nextstepname = data.Rows[0]["STEPNAME"].ToString();//当前工序名称
                    }
                }
                else
@@ -797,7 +797,7 @@
                                                rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //任务数量
                                                rt.noreportqty = ksqty;                                              //未收数量=本道发料数量
                                                rt.reportqty = sqty + ng_qty;                                        //已收数量                                   
                                                rt.startqty = fqty;                                                  //收料数量=本道发料数量
                                                rt.startqty = ksqty;                                                  //收料数量=本道发料数量
                                                mes.code = "200";
                                                mes.count = 3;
@@ -873,7 +873,7 @@
                                                    rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //任务数量
                                                    rt.noreportqty = ksqty;                                              //未收数量=本道发料数量
                                                    rt.reportqty = sqty + ng_qty;                                        //已收数量                                   
                                                    rt.startqty = fqty;                                                  //收料数量=本道发料数量
                                                    rt.startqty = ksqty;                                                  //收料数量=本道发料数量
                                                    mes.code = "200";
                                                    mes.count = 3;
@@ -883,7 +883,7 @@
                                            }
                                            else
                                            {
                                                decimal fqty = data1.AsEnumerable().Select(d => d.Field<Int32>("FQTY")).Sum();//本道发料数量
                                                decimal fqty = data1.AsEnumerable().Select(d => d.Field<decimal>("FQTY")).Sum();  //本道发料数量
                                                rt.planqty = decimal.Parse(data.Rows[0]["PLAN_QTY"].ToString());     //任务数量
                                                rt.noreportqty = fqty;                                               //未收数量=本道发料数量
VueWebApi/VueWebApi.csproj
@@ -266,6 +266,7 @@
    <Compile Include="Controllers\MaterialManagerController.cs" />
    <Compile Include="Controllers\ProductionManagementController.cs" />
    <Compile Include="Controllers\ProductModelController.cs" />
    <Compile Include="Controllers\QualityManagementController.cs" />
    <Compile Include="Controllers\SystemSettingController.cs" />
    <Compile Include="Controllers\ValuesController.cs" />
    <Compile Include="DLL\BLL\BasicSettingBLL.cs" />
@@ -277,6 +278,7 @@
    <Compile Include="DLL\BLL\MaterialManagerBLL.cs" />
    <Compile Include="DLL\BLL\ProductionManagementBLL.cs" />
    <Compile Include="DLL\BLL\ProductModelBLL.cs" />
    <Compile Include="DLL\BLL\QualityManagementBLL.cs" />
    <Compile Include="DLL\BLL\SystemSettingBLL.cs" />
    <Compile Include="DLL\BLL\UserDataBLL.cs" />
    <Compile Include="DLL\DAL\BasicSettingDAL.cs" />
@@ -288,6 +290,7 @@
    <Compile Include="DLL\DAL\MaterialManagerDAL.cs" />
    <Compile Include="DLL\DAL\ProductionManagementDAL.cs" />
    <Compile Include="DLL\DAL\ProductModelDAL.cs" />
    <Compile Include="DLL\DAL\QualityManagementDAL.cs" />
    <Compile Include="DLL\DAL\SystemSettingDAL.cs" />
    <Compile Include="DLL\DAL\UserDataDAL.cs" />
    <Compile Include="Global.asax.cs">
VueWebApi/VueWebApi.csproj.user
@@ -8,7 +8,7 @@
    <IISExpressWindowsAuthentication />
    <IISExpressUseClassicPipelineMode />
    <UseGlobalApplicationHostFile />
    <LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
    <LastActiveSolutionConfig>Release|Any CPU</LastActiveSolutionConfig>
    <NameOfLastUsedPublishProfile>D:\新凯迪MES\VueWebApi\VueWebApi\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
    <ProjectView>ShowAllFiles</ProjectView>
    <Controller_SelectedScaffolderID>ApiControllerEmptyScaffolder</Controller_SelectedScaffolderID>
VueWebApi/bin/VueWebApi.pdb
Binary files differ
VueWebApi/bin/VueWebApi.xml
@@ -883,6 +883,12 @@
            </summary>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ErpSyncMesController.SeaveSearchPartner">
            <summary>
            åŸºç¡€è®¾ç½®:往来单位同步
            </summary>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.GridReportController.MesOrderPrintSearch(System.String,System.String)">
            <summary>
            MES工单打印
@@ -1539,6 +1545,94 @@
            <param name="eqpcode">设备编码</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.QualityManagementController.DedectSearch(System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
            <summary>
            è´¨é‡ç®¡ç†,缺陷定义查询列表
            </summary>
            <param name="defectcode">缺陷代码</param>
            <param name="defectname">缺陷名称</param>
            <param name="defectdescr">缺陷描述</param>
            <param name="page">页码</param>
            <param name="rows">每页显示条数</param>
            <param name="prop">排序字段</param>
            <param name="order">排序规则</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.QualityManagementController.AddUpdateDedect(Newtonsoft.Json.Linq.JObject)">
            <summary>
            è´¨é‡ç®¡ç†ï¼Œç¼ºé™·å®šä¹‰æ–°å¢žã€ç¼–辑提交
            </summary>
            <param name="obj">提交数据</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.QualityManagementController.DeleteDedect(System.String)">
            <summary>
            è´¨é‡ç®¡ç†ï¼Œç¼ºé™·å®šä¹‰åˆ é™¤
            </summary>
            <param name="defectcode">缺陷代码</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.QualityManagementController.StepCheckStanedSearch(System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
            <summary>
            å·¥åºæ£€éªŒæ ‡å‡†åˆ—表查询
            </summary>
            <param name="stanedcode">标准代码</param>
            <param name="stanedname">标准名称</param>
            <param name="staneddescr">标准描述</param>
            <param name="page">页码</param>
            <param name="rows">每页显示条数</param>
            <param name="prop">排序字段</param>
            <param name="order">排序规格</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.QualityManagementController.EditStepCheckStanedSearch(System.String)">
            <summary>
            å·¥åºæ£€éªŒæ ‡å‡†ç¼–辑获取数据
            </summary>
            <param name="defectcode">工序检验标准编码</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.QualityManagementController.StepCheckItemSelect">
            <summary>
            å·¥åºæ£€éªŒæ ‡å‡†æ–°å¢žã€ç¼–辑获取检验项目下拉列表
            </summary>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.QualityManagementController.AddUpdateStepCheckStaned(System.String,VueWebApi.Models.RoutEdit)">
            <summary>
            å·¥åºæ£€éªŒæ ‡å‡†æ–°å¢žã€ç¼–辑提交
            </summary>
            <param name="opertype">操作类型</param>
            <param name="json">提交数据</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.QualityManagementController.StepCheckItemSearch(System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
            <summary>
            å·¥åºæ£€éªŒé¡¹ç›®åˆ—表查询
            </summary>
            <param name="itemcode">检验项目编码</param>
            <param name="itemname">检验项目名称</param>
            <param name="itemdescr">检验项目描述</param>
            <param name="page">页码</param>
            <param name="rows">每页显示条数</param>
            <param name="prop">排序字段</param>
            <param name="order">排序规则</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.QualityManagementController.AddUpdateStepCheckItem(Newtonsoft.Json.Linq.JObject)">
            <summary>
            å·¥åºæ£€éªŒé¡¹ç›®æ–°å¢žã€ç¼–辑提交
            </summary>
            <param name="obj">提交数据</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.QualityManagementController.DeleteStepCheckItem(System.String)">
            <summary>
            å·¥åºæ£€éªŒé¡¹ç›®åˆ é™¤
            </summary>
            <param name="checkitemcode">检验项目代码</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.SystemSettingController.EncodingRules(System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
            <summary>
            ç¼–码规则查询
VueWebApi/obj/Debug/VueWebApi.csproj.AssemblyReference.cache
Binary files differ
VueWebApi/obj/Debug/VueWebApi.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
125a795aa5c2462dc5d311a148e283020224013c
c44ce763bc75fbbb24393585b5dc481ba2772788
VueWebApi/obj/Debug/VueWebApi.pdb
Binary files differ
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
Binary files differ
VueWebApi/obj/Release/Package/PackageTmp/grf/ÍâЭÊÕÁϱêÇ©.grf
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,310 @@
{
    "Version":"6.8.2.2",
    "Title":"你的报表标题",
    "PrintAsDesignPaper":false,
    "Font":{
        "Name":"宋体",
        "Size":52500,
        "Weight":400,
        "Charset":134
    },
    "WatermarkAlignment":"BottomRight",
    "Printer":{
        "Size":256,
        "Width":4,
        "Height":7.5,
        "Oriention":"Landscape",
        "LeftMargin":0.1,
        "TopMargin":0,
        "RightMargin":0.1,
        "BottomMargin":0
    },
    "DetailGrid":{
        "CenterView":true,
        "Border":{
            "Pen":{
                "Width":1.5
            }
        },
        "Recordset":{
            "Field":[
                {
                    "Name":"工单编号",
                    "DBFieldName":"wo_code"
                },
                {
                    "Name":"产品编码",
                    "DBFieldName":"partcode"
                },
                {
                    "Name":"产品名称",
                    "DBFieldName":"partname"
                },
                {
                    "Name":"下道工序",
                    "DBFieldName":"next_stepname"
                },
                {
                    "Name":"数量",
                    "DBFieldName":"qty"
                },
                {
                    "Name":"二维码",
                    "DBFieldName":"qrcode"
                }
            ]
        },
        "ColumnContent":{
            "Height":0,
            "AdjustRowHeight":false
        },
        "ColumnTitle":{
            "Height":0,
            "RepeatStyle":"OnPage"
        }
    },
    "Parameter":[
        {
            "Name":"Parameter1"
        },
        {
            "Name":"Parameter2"
        }
    ],
    "ReportHeader":[
        {
            "Name":"ReportHeader1",
            "Height":3.20146,
            "Control":[
                {
                    "Type":"Line",
                    "Name":"Line1",
                    "Left":0.211667,
                    "Top":0.105833,
                    "Width":6.91333
                },
                {
                    "Type":"Line",
                    "Name":"Line2",
                    "Left":0.21,
                    "Top":3.09563,
                    "Width":6.90729
                },
                {
                    "Type":"Line",
                    "Name":"Line3",
                    "Left":0.2,
                    "Top":0.105833,
                    "Height":2.99
                },
                {
                    "Type":"Line",
                    "Name":"Line4",
                    "Left":7.1,
                    "Top":0.105833,
                    "Height":2.98979
                },
                {
                    "Type":"Line",
                    "Name":"Line5",
                    "Left":2.40771,
                    "Top":0.105833,
                    "Height":2.98979
                },
                {
                    "Type":"Barcode",
                    "Name":"Barcode1",
                    "Left":0.423333,
                    "Top":0.291042,
                    "Width":1.82563,
                    "Height":1.66688,
                    "BarcodeType":"QRCode",
                    "CaptionPosition":"None",
                    "Text":"[#二维码#]"
                },
                {
                    "Type":"Line",
                    "Name":"Line6",
                    "Left":2.40771,
                    "Top":0.873125,
                    "Width":4.68229
                },
                {
                    "Type":"Line",
                    "Name":"Line7",
                    "Left":2.40771,
                    "Top":1.64042,
                    "Width":4.68229
                },
                {
                    "Type":"Line",
                    "Name":"Line8",
                    "Left":0.21,
                    "Top":2.38125,
                    "Width":6.88
                },
                {
                    "Type":"StaticBox",
                    "Name":"StaticBox1",
                    "Left":0.396875,
                    "Top":2.51354,
                    "Width":1.00542,
                    "Height":0.423333,
                    "PaddingTop":0,
                    "Font":{
                        "Name":"宋体",
                        "Size":90000,
                        "Weight":400,
                        "Charset":134
                    },
                    "Text":"数量:"
                },
                {
                    "Type":"MemoBox",
                    "Name":"MemoBox1",
                    "Left":1.34938,
                    "Top":2.51354,
                    "Width":0.978958,
                    "Height":0.4,
                    "PaddingTop":0,
                    "Font":{
                        "Name":"宋体",
                        "Size":90000,
                        "Weight":400,
                        "Charset":134
                    },
                    "Text":"[#数量#]"
                },
                {
                    "Type":"StaticBox",
                    "Name":"StaticBox2",
                    "Left":2.51,
                    "Top":0.185208,
                    "Width":1.69333,
                    "Height":0.635,
                    "PaddingTop":0,
                    "Font":{
                        "Name":"宋体",
                        "Size":90000,
                        "Weight":400,
                        "Charset":134
                    },
                    "Text":"工单编号:"
                },
                {
                    "Type":"MemoBox",
                    "Name":"MemoBox2",
                    "Left":4.20688,
                    "Top":0.185208,
                    "Width":2.75,
                    "Height":0.66,
                    "PaddingTop":0,
                    "Font":{
                        "Name":"宋体",
                        "Size":90000,
                        "Weight":400,
                        "Charset":134
                    },
                    "Text":"[#工单编号#]"
                },
                {
                    "Type":"StaticBox",
                    "Name":"StaticBox3",
                    "Left":2.51,
                    "Top":0.9525,
                    "Width":1.69333,
                    "Height":0.635,
                    "PaddingTop":0,
                    "Font":{
                        "Name":"宋体",
                        "Size":90000,
                        "Weight":400,
                        "Charset":134
                    },
                    "Text":"产品编码:"
                },
                {
                    "Type":"MemoBox",
                    "Name":"MemoBox3",
                    "Left":4.23333,
                    "Top":0.9525,
                    "Width":2.75,
                    "Height":0.66,
                    "PaddingTop":0,
                    "Font":{
                        "Name":"宋体",
                        "Size":90000,
                        "Weight":400,
                        "Charset":134
                    },
                    "Text":"[#产品编码#]"
                },
                {
                    "Type":"StaticBox",
                    "Name":"StaticBox4",
                    "Left":2.54,
                    "Top":1.71979,
                    "Width":1.69,
                    "Height":0.58,
                    "PaddingTop":0,
                    "Font":{
                        "Name":"宋体",
                        "Size":90000,
                        "Weight":400,
                        "Charset":134
                    },
                    "Text":"产品名称:"
                },
                {
                    "Type":"MemoBox",
                    "Name":"MemoBox4",
                    "Left":4.25979,
                    "Top":1.71979,
                    "Width":2.75167,
                    "Height":0.582083,
                    "PaddingTop":0,
                    "Font":{
                        "Name":"宋体",
                        "Size":90000,
                        "Weight":400,
                        "Charset":134
                    },
                    "Text":"[#产品名称#]"
                },
                {
                    "Type":"StaticBox",
                    "Name":"StaticBox5",
                    "Left":2.56646,
                    "Top":2.48708,
                    "Width":1.69333,
                    "Height":0.529167,
                    "PaddingTop":0,
                    "Font":{
                        "Name":"宋体",
                        "Size":90000,
                        "Weight":400,
                        "Charset":134
                    },
                    "Text":"下道工序:"
                },
                {
                    "Type":"MemoBox",
                    "Name":"MemoBox5",
                    "Left":4.28625,
                    "Top":2.48708,
                    "Width":2.75,
                    "Height":0.53,
                    "PaddingTop":0,
                    "Font":{
                        "Name":"宋体",
                        "Size":90000,
                        "Weight":400,
                        "Charset":134
                    },
                    "Text":"[#下道工序#]"
                }
            ],
            "RepeatOnPage":true
        }
    ]
}
VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
f4cc57ce654eabbfabfa8274d88d8d88dfe841c3
5b4e84777a99a36edc80a7a5e9bfa2853c4cb60d
VueWebApi/obj/Release/VueWebApi.pdb
Binary files differ