yl
2022-06-28 fcca000072a8cfae98c1cb3dadce0512b19083cc
ERP订单查询,订单下达、订单关闭功能开发
已添加5个文件
已修改20个文件
已删除1个文件
1141 ■■■■■ 文件已修改
.vs/VueWebApi/v16/.suo 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Controllers/MaterialManagerController.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Controllers/ProductModelController.cs 104 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Controllers/ProductionManagementController.cs 137 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/BLL/ProductModelBLL.cs 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/BLL/ProductionManagementBLL.cs 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/MaterialManagerDAL.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/ProductModelDAL.cs 273 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/ProductionManagementDAL.cs 364 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Logs/2022-06-27.TXT 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Logs/2022-06-28.TXT 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/VueWebApi.csproj 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/VueWebApi.csproj.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/bin/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/bin/VueWebApi.xml 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Debug/VueWebApi.csproj.AssemblyReference.cache 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Debug/VueWebApi.csproj.CoreCompileInputs.cache 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Debug/VueWebApi.csproj.FileListAbsolute.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Debug/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/Package/PackageTmp/Web.config 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/TransformWebConfig/original/Web.config 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/TransformWebConfig/transformed/Web.config 2 ●●● 补丁 | 查看 | 原始文档 | 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/MaterialManagerController.cs
@@ -141,7 +141,7 @@
            string storageid = obj["id"].ToString();    //库位id(主键)
            string storagecode = obj["storagecode"].ToString(); //库位编码
            string storagename = obj["storagename"].ToString(); //库位名称
            string description = obj["description"].ToString(); //仓位描述
            string description = obj["description"].ToString(); //库位描述
            string stockcode = obj["stockcode"].ToString(); //所属仓库编码
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            string OperType = obj["OperType"].ToString();  //操作类型
VueWebApi/Controllers/ProductModelController.cs
@@ -157,9 +157,9 @@
        }
        #endregion
        #region[存类型查找物料类型]
        #region[存货类型查找物料类型]
        /// <summary>
        /// å­˜ç±»åž‹æŸ¥æ‰¾ç‰©æ–™ç±»åž‹
        /// å­˜è´§ç±»åž‹æŸ¥æ‰¾ç‰©æ–™ç±»åž‹
        /// </summary>
        /// <param name="stocktypecode">存货类型编码</param>
        /// <returns></returns>
@@ -176,6 +176,20 @@
                mes.code = "300";
                mes.Message = e.Message;
            }
            return TJson.toJson(mes);
        }
        #endregion
        #region[单位下拉列表查询]
        /// <summary>
        /// å•位下拉列表查询
        /// </summary>
        /// <returns></returns>
        [Route(template: "UomSelect")]
        [HttpGet]
        public HttpResponseMessage UomSelect()
        {
            mes = ProductModelBLL.UomSelect();
            return TJson.toJson(mes);
        }
        #endregion
@@ -282,6 +296,19 @@
        #region[工艺路线下拉查询接口]
        /// <summary>
        /// å·¥è‰ºè·¯çº¿ä¸‹æ‹‰æŸ¥è¯¢æŽ¥å£
        /// </summary>
        /// <returns></returns>
        [Route(template: "RouteSelect")]
        [HttpGet]
        public HttpResponseMessage RouteSelect()
        {
            mes = ProductModelBLL.RouteSelect();
            return TJson.toJson(mes);
        }
        #endregion
        #region[工艺路线查询]
        /// <summary>
@@ -468,6 +495,12 @@
        #endregion
        #region[工序关联缺陷提交]
        /// <summary>
        /// å·¥åºå…³è”缺陷提交
        /// </summary>
        /// <param name="stepcode">工序编码</param>
        /// <param name="json">提交数据</param>
        /// <returns></returns>
        [Route(template: "SaveStepAssociationDefect")]
        [HttpPost]
        public HttpResponseMessage SaveStepAssociationDefect(string stepcode, List<ObjectData> json)
@@ -548,9 +581,24 @@
        }
        #endregion
        #region[根据工序线编码查找关联设备集合]
        #region[根据工序线编码查找关联设备下拉框集合]
        /// <summary>
        /// æ ¹æ®å·¥åºçº¿ç¼–码查找关联设备集合
        /// æ ¹æ®å·¥åºçº¿ç¼–码查找关联设备下拉框集合
        /// </summary>
        /// <param name="stepcode">工序编码</param>
        /// <returns></returns>
        [Route(template: "StepSelectEqp")]
        [HttpGet]
        public HttpResponseMessage StepSelectEqp(string stepcode)
        {
            mes = ProductModelBLL.StepSelectEqp(stepcode);
            return TJson.toJson(mes);
        }
        #endregion
        #region[根据工序线编码查找关联设备列表集合]
        /// <summary>
        /// æ ¹æ®å·¥åºçº¿ç¼–码查找关联设备列表集合
        /// </summary>
        /// <param name="partcode">产品编码</param>
        ///  <param name="routecode">工艺路线编码</param>
@@ -560,14 +608,14 @@
        /// <param name="prop">排序字段</param>
        /// <param name="order">排序规则</param>
        /// <returns></returns>
        [Route(template: "StepSelectEqp")]
        [Route(template: "StepSelectEqpList")]
        [HttpGet]
        public HttpResponseMessage StepSelectEqp(string partcode, string routecode, string stepcode, int page = 0, int rows = 0, string prop = null, string order = null)
        public HttpResponseMessage StepSelectEqpList(string partcode, string routecode, string stepcode, 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 = ProductModelBLL.StepSelectEqp(partcode, routecode, stepcode, startNum, endNum, prop, order);
            mes = ProductModelBLL.StepSelectEqpList(partcode, routecode, stepcode, startNum, endNum, prop, order);
            return TJson.toJson(mes);
        }
        #endregion
@@ -577,12 +625,9 @@
        /// èŠ‚æ‹å·¥ä»·æŸ¥è¯¢
        /// </summary>
        /// <param name="partcode">产品编码</param>
        /// <param name="partname">产品名称</param>
        /// <param name="partspec">产品规格</param>
        /// <param name="routecode">工艺路线编码</param>
        /// <param name="stepcode">工序编码</param>
        /// <param name="eqpcode">设备编码</param>
        /// <param name="eqpname">设备名称</param>
        /// <param name="page">页码</param>
        /// <param name="rows">每页显示条数</param>
        /// <param name="prop">排序字段</param>
@@ -590,11 +635,46 @@
        /// <returns></returns>
        [Route(template: "BeatRateSearch")]
        [HttpGet]
        public HttpResponseMessage BeatRateSearch(string partcode = null, string partname = null, string partspec = null, string routecode = null, string stepcode = null, string eqpcode = null, string eqpname = null, int page = 0, int rows = 0, string prop = null, string order = null)
        public HttpResponseMessage BeatRateSearch(string partcode = null, string routecode = null, string stepcode = null, string eqpcode = 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 = ProductModelBLL.BeatRateSearch(partcode, partname, partspec, routecode, stepcode, eqpcode, eqpname, startNum, endNum, prop, order);
            mes = ProductModelBLL.BeatRateSearch(partcode,routecode, stepcode, eqpcode, startNum, endNum, prop, order);
            return TJson.toJson(mes);
        }
        #endregion
        #region[节拍工价提交]
        /// <summary>
        /// èŠ‚æ‹å·¥ä»·æäº¤
        /// </summary>
        /// <param name="obj">提交数据</param>
        /// <returns></returns>
        [Route(template: "SaveBeatRate")]
        [HttpPost]
        public HttpResponseMessage SaveBeatRate([FromBody] JObject obj)
        {
            string partcode = obj["partcode"].ToString(); //产品编码
            string routecode = obj["routecode"].ToString(); //工艺路线编码
            string stepcode = obj["stepcode"].ToString(); //工序编码
            string eqpcode = obj["eqpcode"].ToString(); //设备编码
            string wkshopcode = obj["wkshopcode"].ToString(); //生产车间编码
            string eqp_value = obj["eqp_value"].ToString(); //设备节拍
            string stand_value = obj["stand_value"].ToString(); //生产节拍
            string cavity_qty = obj["cavity_qty"].ToString(); //型腔数
            string unprice = obj["unprice"].ToString(); //计件单价
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            mes = ProductModelBLL.SaveBeatRate(partcode, routecode, stepcode, eqpcode, wkshopcode, eqp_value, stand_value, cavity_qty, unprice, username);
            return TJson.toJson(mes);
        }
        #endregion
        #region[节拍工价删除]
        [Route(template: "DeleteBeatRate")]
        [HttpPost]
        public HttpResponseMessage DeleteBeatRate(string partcode,string routecode,string stepcode,string eqpcode)
        {
            mes = ProductModelBLL.DeleteBeatRate(partcode, routecode, stepcode, eqpcode);
            return TJson.toJson(mes);
        }
        #endregion
VueWebApi/Controllers/ProductionManagementController.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,137 @@
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.Tools;
namespace VueWebApi.Controllers
{
    [RoutePrefix(prefix: "api/BasicSetting")]
    [ControllerGroup("生产管理", "在线接口")]
    public class ProductionManagementController : ApiController
    {
        //定义全局信息返回变量
        ToMessage mes = new ToMessage();
        RedisHelper redis = new RedisHelper();
        #region[ERP订单查询]
        /// <summary>
        /// ERP订单查询
        /// </summary>
        /// <param name="erporderstus">订单状态码</param>
        /// <param name="erpordercode">订单编号</param>
        /// <param name="partcode">产品编码</param>
        /// <param name="partname">产品名称</param>
        /// <param name="partspec">产品规格</param>
        /// <param name="paydate">交付时间</param>
        /// <param name="creatuser">创建人员</param>
        /// <param name="createdate">创建时间</param>
        /// <param name="page">页码</param>
        /// <param name="rows">每页显示条数</param>
        /// <param name="prop">排序字段</param>
        /// <param name="order">排序规则</param>
        /// <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)
        {
            string paydatestartdate = "";  //交付开始时间
            string paydateenddate = "";    //交付结束时间
            string createstartdate = "";  //操作开始时间
            string createenddate = "";    //操作结束时间
            if (paydate != "" && paydate != null)
            {
                paydatestartdate = paydate.Split('~')[0].ToString();
                paydateenddate = paydate.Split('~')[1].ToString();
            }
            if (createdate != "" && createdate != null)
            {
                createstartdate = paydate.Split('~')[0].ToString();
                createenddate = paydate.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);
            return TJson.toJson(mes);
        }
        #endregion
        #region[ERP订单下达]
        /// <summary>
        /// ERP订单下达
        /// </summary>
        /// <param name="obj">提交数据</param>
        /// <returns></returns>
        [Route(template: "MarkSaveErpOrder")]
        [HttpPost]
        public HttpResponseMessage MarkSaveErpOrder([FromBody] JObject obj)
        {
            string erporderstus = obj["erporderstus"].ToString();    //订单状态码
            string erpordercode = obj["erpordercode"].ToString(); //订单编号
            string partcode = obj["partcode"].ToString(); //产品编码
            string wkshopcode = obj["wkshopcode"].ToString(); //车间编码
            string warehousecode = obj["warehousecode"].ToString(); //仓库编码
            string erpqty = obj["erpqty"].ToString(); //订单数量
            string markqty = obj["markqty"].ToString(); //下单数量
            string ordernum = obj["ordernum"].ToString(); //下单单数
            string relse_qty = obj["relse_qty"].ToString(); //已下单数量
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            mes = ProductionManagementBLL.MarkSaveErpOrder(erporderstus, erpordercode, partcode, wkshopcode, warehousecode, erpqty, markqty, ordernum, relse_qty,username);
            return TJson.toJson(mes);
        }
        #endregion
        #region[ERP订单关闭]
        /// <summary>
        /// ERP订单关闭
        /// </summary>
        /// <param name="erpordercode">订单号</param>
        /// <returns></returns>
        [Route(template: "ClosedErpOrder")]
        [HttpPost]
        public HttpResponseMessage ClosedErpOrder(string erpordercode)
        {
            //var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //操作人员
            var username = "Admin";
            mes = ProductionManagementBLL.ClosedErpOrder(erpordercode, username);
            return TJson.toJson(mes);
        }
        #endregion
        #region[MES工单查询]
        /// <summary>
        /// MES工单查询
        /// </summary>
        /// <param name="mesorderstus">工单状态码</param>
        /// <param name="mesordercode">工单编号</param>
        /// <param name="partcode">产品编码</param>
        /// <param name="partname">产品名称</param>
        /// <param name="partspec">产品规格</param>
        /// <param name="creatuser">创建人员</param>
        /// <param name="createdate">创建时间</param>
        /// <param name="page">页码</param>
        /// <param name="rows">每页显示条数</param>
        /// <param name="prop">排序字段</param>
        /// <param name="order">排序规则</param>
        /// <returns></returns>
        [Route(template: "MesOrderSearch")]
        [HttpGet]
        public HttpResponseMessage MesOrderSearch(string mesorderstus = null, string mesordercode = null, string partcode = null, string partname = null, string partspec = null, string creatuser = null, string createdate = 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 = ProductionManagementBLL.MesOrderSearch(mesorderstus, mesordercode, partcode, partname, partspec, startNum, creatuser, createdate, endNum, prop, order);
            return TJson.toJson(mes);
        }
        #endregion
    }
}
VueWebApi/DLL/BLL/ProductModelBLL.cs
@@ -69,6 +69,13 @@
        }
        #endregion
        #region[单位下拉列表查询]
        public static ToMessage UomSelect()
        {
            return ProductModelDAL.UomSelect();
        }
        #endregion
        #region[存货档案查询]
        public static ToMessage InventoryFileSelect(string partcode, string partname, string partspec, string stocktypecode, string materialtypecode, string storehousecode, int startNum, int endNum, string prop, string order)
        {
@@ -106,7 +113,12 @@
        #region[工艺路线下拉查询接口]
        public static ToMessage RouteSelect()
        {
            return ProductModelDAL.RouteSearch();
        }
        #endregion
        #region[工艺路线查询]
        public static ToMessage RouteSearch(string routecode, string routename, string description, string createuser, int startNum, int endNum, string prop, string order)
@@ -212,17 +224,38 @@
        }
        #endregion
        #region[根据工序线编码查找关联设备集合]
        public static ToMessage StepSelectEqp(string partcode, string routecode, string stepcode, int startNum, int endNum, string prop, string order)
        #region[根据工序线编码查找关联设备下拉框集合]
        public static ToMessage StepSelectEqp(string stepcode)
        {
            return ProductModelDAL.StepSelectEqp(partcode, routecode, stepcode, startNum, endNum, prop, order);
            return ProductModelDAL.StepSelectEqp(stepcode);
        }
        #endregion
        #region[根据工序线编码查找关联设备集合]
        public static ToMessage StepSelectEqpList(string partcode, string routecode, string stepcode, int startNum, int endNum, string prop, string order)
        {
            return ProductModelDAL.StepSelectEqpList(partcode, routecode, stepcode, startNum, endNum, prop, order);
        }
        #endregion
        #region[节拍工价查询]
        public static ToMessage BeatRateSearch(string partcode, string partname, string partspec, string routecode, string stepcode, string eqpcode, string eqpname, int startNum, int endNum, string prop, string order)
        public static ToMessage BeatRateSearch(string partcode,string routecode, string stepcode, string eqpcode,int startNum, int endNum, string prop, string order)
        {
            return ProductModelDAL.BeatRateSearch(partcode, partname, partspec, routecode, stepcode, eqpcode, eqpname, startNum, endNum, prop, order);
            return ProductModelDAL.BeatRateSearch(partcode,routecode, stepcode, eqpcode, startNum, endNum, prop, order);
        }
        #endregion
        #region[节拍工价提交]
        public static ToMessage SaveBeatRate(string partcode, string routecode, string stepcode, string eqpcode, string wkshopcode, string eqp_value, string stand_value, string cavity_qty, string unprice, string username)
        {
            return ProductModelDAL.SaveBeatRate(partcode, routecode, stepcode, eqpcode, wkshopcode, eqp_value, stand_value, cavity_qty, unprice, username);
        }
        #endregion
        #region[节拍工价删除]
        public static ToMessage DeleteBeatRate(string partcode, string routecode, string stepcode, string eqpcode)
        {
            return ProductModelDAL.SaveBeatRate(partcode,routecode,stepcode,eqpcode);
        }
        #endregion
    }
VueWebApi/DLL/BLL/ProductionManagementBLL.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,42 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using VueWebApi.DLL.DAL;
using VueWebApi.Tools;
namespace VueWebApi.DLL.BLL
{
    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)
        {
            return ProductionManagementDAL.ErpOrderSearch(erporderstus, erpordercode, partcode, partname, partspec, startNum, paydatestartdate, paydateenddate, creatuser, createstartdate, createenddate, endNum, prop, order);
        }
        #endregion
        #region[ERP订单下达]
        public static ToMessage MarkSaveErpOrder(string erporderstus, string erpordercode, string partcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string username)
        {
            return ProductionManagementDAL.MarkSaveErpOrder(erporderstus, erpordercode, partcode, wkshopcode, warehousecode, erpqty, markqty, ordernum, relse_qty, username);
        }
        #endregion
        #region[ERP订单关闭]
        public static ToMessage ClosedErpOrder(string erpordercode, string username)
        {
            return ProductionManagementDAL.ClosedErpOrder(erpordercode,username);
        }
        #endregion
        #region[MES工单查询]
        public static ToMessage MesOrderSearch(string mesorderstus, string mesordercode, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
        {
            return ProductionManagementDAL.ErpOrderSearch(mesorderstus, mesordercode, partcode, partname, partspec, startNum, creatuser, createdate, endNum, prop, order);
        }
        #endregion
    }
}
VueWebApi/DLL/DAL/MaterialManagerDAL.cs
@@ -258,7 +258,7 @@
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select 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,A.lm_user,A.lm_date
                            from T_Sec_Loca A
                            left join T_Sec_Stck B on A.stock_code=B.code
                            where A.is_delete<>'1' " + search;
@@ -288,7 +288,7 @@
                if (operType == "Add")
                {
                    var sql = @"insert into T_Sec_Loca(code,name,description,stock_code,lm_user,lm_date) 
                            values(@storagecode,@storagename,@description,@username,@CreateDate)";
                            values(@storagecode,@storagename,@description,@stockcode,@username,@CreateDate)";
                    dynamicParams.Add("@storagecode", storagecode);
                    dynamicParams.Add("@storagename", storagename);
                    dynamicParams.Add("@description", description);
VueWebApi/DLL/DAL/ProductModelDAL.cs
@@ -27,7 +27,7 @@
            try
            {
                //获取设备类型数据
                sql = @"select code,name from T_Dict where dict_group='CHLX' ";
                sql = @"select code,name from T_Dict where dict_type='CHLX' ";
                var data = DapperHelper.selecttable(sql);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -74,7 +74,7 @@
                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  
                            from TMateriel_Type A
                            left join T_Dict B on A.dict_code=B.code and B.dict_group='CHLX'
                            left join T_Dict B on A.dict_code=B.code and B.dict_type='CHLX'
                            where A.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
@@ -373,6 +373,30 @@
        }
        #endregion
        #region[单位下拉列表查询]
        public static ToMessage UomSelect()
        {
            string sql = "";
            try
            {
                //获取工艺路线数据
                sql = @"select code,name from TUom 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 InventoryFileSelect(string partcode, string partname, string partspec, string stocktypecode, string materialtypecode, string storehousecode, int startNum, int endNum, string prop, string order)
        {
@@ -416,7 +440,7 @@
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select A.partcode,A.partname,A.partspec,A.uom_code,B.name as uom_name,D.code as stocktypecode,D.name as stocktypename,
                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,
                            A.lm_date,A.proute_id
                            from TMateriel_Info A
@@ -450,8 +474,8 @@
            {
                if (operType == "Add")
                {
                    var sql = @"insert into TMateriel_Info(partcode,partname,partspec,uom_code,materialtypecode,stck_code,proute_id,maxqty,minqty,lm_user,lm_date)
                            values(@stocktypecode,@materialtypecode,@materialtypename,@username,@CreateDate)";
                    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)";
                    dynamicParams.Add("@materialcode", materialcode);
                    dynamicParams.Add("@materialname", materialname);
                    dynamicParams.Add("@materialspec", materialspec);
@@ -480,8 +504,8 @@
                }
                if (operType == "Update")
                {
                    var sql = @"update TMateriel_Type set partname=@materialname,partspec=@materialspec,uom_code=@uomcode,materialtypecode=@materialtypecode,stck_code=@warehousecode,
                                maxqty=@maxstockqty,minqty=@minstockqty lm_user=@username,lm_date=@CreateDate where id=@materialid";
                    var sql = @"update TMateriel_Type set partname=@materialname,partspec=@materialspec,uom_code=@uomcode,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);
@@ -635,8 +659,8 @@
                for (int i = 0; i < data.Rows.Count; i++)
                {
                    MaterialRout rout = new MaterialRout();
                    rout.code = data.Rows[i]["CODE"].ToString();
                    rout.name = data.Rows[i]["NAME"].ToString();
                    rout.code = data.Rows[i]["ROUTECODE"].ToString();
                    rout.name = data.Rows[i]["ROUTENAME"].ToString();
                    rout.flag = data.Rows[i]["FLAG"].ToString();
                    //根据工艺路线编码获取关联的工序信息
@@ -966,6 +990,30 @@
        #region[工艺路线下拉查询接口]
        public static ToMessage RouteSearch()
        {
            string sql = "";
            try
            {
                //获取工艺路线数据
                sql = @"select code,name from TFlw_Rout 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 StepSearch(string stepcode, string stepname, string enable, string steptypecode, string createuser, int startNum, int endNum, string prop, string order)
@@ -1516,7 +1564,7 @@
                sql = @"select B.stepcode as code,B.stepname as name   
                        from TFlw_Rtdt A
                        inner join TStep B on A.step_code=B.stepcode
                        where A.rout_code=@routecode and B.is_delete<>'1' and A.is_delete<>'1';";
                        where A.rout_code=@routecode and B.is_delete<>'1' and A.is_delete<>'1'";
                dynamicParams.Add("@routecode", routecode);
                var data = DapperHelper.select<ObjectData>(sql, dynamicParams);
                mes.code = "200";
@@ -1534,8 +1582,36 @@
        }
        #endregion
        #region[根据工序线编码查找关联设备下拉框集合]
        public static ToMessage StepSelectEqp(string stepcode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //通过产品编码查找关联的工艺路线信息
                sql = @"select B.code,B.name  from TFlw_Rteqp A
                        left join TEqpInfo B on A.eqp_code=B.code
                        where A.step_code=@stepcode and A.style='E' and A.is_delete<>'1' and B.is_delete<>'1'";
                dynamicParams.Add("@stepcode", stepcode);
                var data = DapperHelper.select<ObjectData>(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 StepSelectEqp(string partcode, string routecode, string stepcode, int startNum, int endNum, string prop, string order)
        public static ToMessage StepSelectEqpList(string partcode, string routecode, string stepcode, int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
@@ -1576,7 +1652,7 @@
        #endregion
        #region[节拍工价查询]
        public static ToMessage BeatRateSearch(string partcode, string partname, string partspec, string routecode, string stepcode, string eqpcode, string eqpname, int startNum, int endNum, string prop, string order)
        public static ToMessage BeatRateSearch(string partcode, string routecode, string stepcode, string eqpcode, int startNum, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
@@ -1584,38 +1660,23 @@
            {
                if (partcode != "" && partcode != null)
                {
                    search += "and partcode like '%'+@partcode+'%' ";
                    search += "and A.materiel_code=@partcode ";
                    dynamicParams.Add("@stepcode", partcode);
                }
                if (partname != "" && partname != null)
                {
                    search += "and stepname like '%'+@partname+'%' ";
                    dynamicParams.Add("@partname", partname);
                }
                if (partspec != "" && partspec != null)
                {
                    search += "and stepname like '%'+@partspec+'%' ";
                    dynamicParams.Add("@partspec", partspec);
                }
                if (routecode != "" && routecode != null)
                {
                    search += "and enable=@routecode ";
                    search += "and A.route_code=@routecode ";
                    dynamicParams.Add("@routecode", routecode);
                }
                if (stepcode != "" && stepcode != null)
                {
                    search += "and flwtype=@stepcode ";
                    search += "and A.step_code=@stepcode ";
                    dynamicParams.Add("@stepcode", stepcode);
                }
                if (eqpcode != "" && eqpcode != null)
                {
                    search += "and stepname like '%'+@eqpcode+'%' ";
                    search += "and A.eqp_code=@eqpcode";
                    dynamicParams.Add("@eqpcode", eqpcode);
                }
                if (eqpname != "" && eqpname != null)
                {
                    search += "and stepname like '%'+@eqpname+'%' ";
                    dynamicParams.Add("@eqpname", eqpname);
                }
                if (search == "")
                {
@@ -1623,9 +1684,16 @@
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select stepcode,stepname,flwtype,enable,descr,lm_user,lm_date,is_eqp,is_defect
                            from TStep
                            where is_delete<>'1' " + search;
                var sql = @"select A.materiel_code as partcode,B.partname,B.partspec,A.route_code,C.name as route_name,
                            D.stepcode,D.stepname,A.eqp_code,E.name as eqp_name,E.wksp_code,F.org_name as wksp_name,
                            A.eqp_value,A.stand_value,A.cavity_qty,A.unprice
                            from TPrteEqp_Stad A
                            left join TMateriel_Info B on A.materiel_code=B.partcode
                            left join TFlw_Rout C on A.route_code=C.code
                            left join TStep D on A.step_code=D.stepcode
                            left join TEqpInfo E on A.eqp_code=E.code
                            left join TOrganization F on E.wksp_code=F.org_code
                            where B.is_delete<>'1' and C.is_delete<>'1' and D.is_delete<>'1' and E.is_delete<>'1' and F.is_delete<>'1' " + search;
                var data = DapperHelper.GetPageList<object>(sql, dynamicParams, prop, order, startNum, endNum, out total);
                mes.code = "200";
                mes.Message = "查询成功!";
@@ -1643,8 +1711,143 @@
        }
        #endregion
        #region[节拍工价新增编辑]
        #region[节拍工价提交]
        public static ToMessage SaveBeatRate(string partcode, string routecode, string stepcode, string eqpcode, string wkshopcode, string eqp_value, string stand_value, string cavity_qty, string unprice, string username)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //当前工序是否关联工艺路线
                sql = @"select *  from TPrteEqp_Stad
                        where materiel_code=@partcode and route_code=@routecode and step_code=@stepcode and eqp_code=@eqpcode";
                dynamicParams.Add("@partcode", partcode);
                dynamicParams.Add("@routecode", routecode);
                dynamicParams.Add("@stepcode", stepcode);
                dynamicParams.Add("@eqpcode", eqpcode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)  //被设置关联过就修改
                {
                    sql = @"update TPrteEqp_Stad set stand_value=@stand_value,eqp_value=@eqp_value,cavity_qty=@cavity_qty,unprice=@unprice,lm_user=@username,lm_date=@userdate
                            where materiel_code=@partcode and route_code=@routecode and step_code=@stepcode and eqp_code=@eqpcode ";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            partcode = partcode,
                            routecode = routecode,
                            stepcode = stepcode,
                            eqpcode = eqpcode,
                            stand_value = stand_value,
                            eqp_value = eqp_value,
                            cavity_qty = cavity_qty,
                            unprice = unprice,
                            username = username,
                            userdate = DateTime.Now.ToString()
                        }
                    });
                }
                else
                {
                    sql = @"insert into TPrteEqp_Stad(materiel_code,eqp_code,stand_value,route_code,unprice,eqp_value,cavity_qty,wkspcode,lm_user,lm_date,step_code)
                    values(@partcode,@eqpcode,@stand_value,@routecode,@unprice,@eqp_value,@cavity_qty,@wkspcode,@username,@userdate,@stepcode)";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            partcode = partcode,
                            eqpcode = eqpcode,
                            stand_value = stand_value,
                            routecode = routecode,
                            unprice = unprice,
                            eqp_value = eqp_value,
                            cavity_qty = cavity_qty,
                            wkspcode = wkshopcode,
                            username = username,
                            userdate = DateTime.Now.ToString(),
                            stepcode = stepcode
                        }
                    });
                }
                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 SaveBeatRate(string partcode, string routecode, string stepcode, string eqpcode)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                //删除节拍工价表
                sql = @"delete TPrteEqp_Stad  where materiel_code=@partcode and route_code=@routecode and step_code=@stepcode and eqp_code=@eqpcode";
                list.Add(new
                {
                    str = sql,
                    parm = new
                    {
                        partcode = partcode,
                        routecode = routecode,
                        stepcode = stepcode,
                        eqpcode = eqpcode
                    }
                });
                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/ProductionManagementDAL.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,364 @@
using Dapper;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using VueWebApi.Tools;
namespace VueWebApi.DLL.DAL
{
    public class ProductionManagementDAL
    {
        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[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)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
            try
            {
                if (erporderstus != "" && erporderstus != null)
                {
                    search += "and A.status=@erporderstus ";
                    dynamicParams.Add("@erporderstus", erporderstus);
                }
                if (erpordercode != "" && erpordercode != null)
                {
                    search += "and A.wo like '%'+@erpordercode+'%' ";
                    dynamicParams.Add("@erpordercode", erpordercode);
                }
                if (partcode != "" && partcode != null)
                {
                    search += "and A.materiel_code like '%'+@partcode+'%' ";
                    dynamicParams.Add("@partcode", partcode);
                }
                if (partname != "" && partname != null)
                {
                    search += "and B.partname like '%'+@partname+'%' ";
                    dynamicParams.Add("@partname", partname);
                }
                if (partspec != "" && partspec != null)
                {
                    search += "and B.partspec like '%'+@partspec+'%' ";
                    dynamicParams.Add("@partspec", partspec);
                }
                if (paydatestartdate != "" && paydatestartdate != null)
                {
                    search += "and A.paydate between @paydatestartdate and @paydateenddate ";
                    dynamicParams.Add("@paydatestartdate", paydatestartdate);
                    dynamicParams.Add("@paydateenddate", paydateenddate + " 23:59:59");
                }
                if (createstartdate != "" && createstartdate != null)
                {
                    search += "and A.createdate between @paydatestartdate and @paydateenddate ";
                    dynamicParams.Add("@createstartdate", createstartdate);
                    dynamicParams.Add("@createenddate", createenddate + " 23:59:59");
                }
                if (creatuser != "" && creatuser != null)
                {
                    search += "and A.createuser like '%'+@partspec+'%' ";
                    dynamicParams.Add("@partspec", partspec);
                }
                if (search == "")
                {
                    search = "and 1=1 ";
                }
                // --------------查询指定数据--------------
                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
                            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 " + 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[ERP订单下达]
        public static ToMessage MarkSaveErpOrder(string erporderstus, string erpordercode, string partcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string username)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                list.Clear();
                //获取拆单数量:向下取整
                decimal cdqty = Math.Floor(decimal.Parse(markqty) / decimal.Parse(ordernum));
                //定义累计下单数量
                decimal sumqty = 0;
                //定义最新生成的工单号
                string wo = "";
                //定义工单流水号
                int num = 0;
                //循环下单单数(生成对应几张MES工单)
                for (int i = 1; i <= Convert.ToInt32(ordernum); i++)
                {
                    sumqty += cdqty;
                    //获取最大单据号
                    if (i == 1)  //首单获取工单号
                    {
                        sql = @"select isnull(max(substring(wo_code,charindex('_',wo_code)+1,len(wo_code)-charindex('_',wo_code))),0)+1 as worknumb from TK_Wrk_Man where m_po=@erpordercode";
                        dynamicParams.Add("@erpordercode", erpordercode);
                        var data = DapperHelper.selectdata(sql, dynamicParams);
                        num = Convert.ToInt32(data.Rows[0]["WORKNUMB"].ToString());
                        wo = erpordercode + "_" + num;
                    }
                    else
                    {
                        num = num + 1;
                        wo = erpordercode + "_" + num;
                    }
                    if (i == Convert.ToInt32(ordernum))  //最后一单时
                    {
                        sql = @"insert into TK_Wrk_Man(wo_code,status,wkshp_code,plan_qty,stck_code,materiel_code,m_po,lm_user,lm_date) values(@wo_code,@status,@wkshp_code,@plan_qty,@stck_code,@materiel_code,@m_po,@username,@CreateDate)";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                wo_code = wo,
                                status = erporderstus,
                                wkshp_code = wkshopcode,
                                plan_qty = cdqty + (decimal.Parse(markqty) - sumqty),  //末单下单数量=切分数量+(下单数量-累计切分下单数量)
                                stck_code = warehousecode,
                                materiel_code = partcode,
                                m_po = erpordercode,
                                username = username,
                                CreateDate = DateTime.Now.ToString()
                            }
                        });
                        sumqty = sumqty + (decimal.Parse(markqty) - sumqty);
                    }
                    else
                    {
                        sql = @"insert into TK_Wrk_Man(wo_code,status,wkshp_code,plan_qty,stck_code,materiel_code,m_po,lm_user,lm_date) values(@wo_code,@status,@wkshp_code,@plan_qty,@stck_code,@materiel_code,@m_po,@username,@CreateDate)";
                        list.Add(new
                        {
                            str = sql,
                            parm = new
                            {
                                wo_code = wo,
                                status = erporderstus,
                                wkshp_code = wkshopcode,
                                plan_qty = cdqty,
                                stck_code = warehousecode,
                                materiel_code = partcode,
                                m_po = erpordercode,
                                username = username,
                                CreateDate = DateTime.Now.ToString()
                            }
                        });
                    }
                }
                if (decimal.Parse(erpqty) == decimal.Parse(markqty) + decimal.Parse(relse_qty))   //如果ERP订单=下单数量+已下单数量,则更新ERP订单表状态为CREATED:已创建
                {
                    sql = @"update  TKimp_Ewo set status='CREATED',relse_qty=relse_qty+@sumqty where wo=@wo";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            wo = erpordercode,
                            sumqty = sumqty
                        }
                    });
                }
                else   //更新ERP订单表状态为CREATING:创建中
                {
                    sql = @"update  TKimp_Ewo set status='CREATING',relse_qty=relse_qty+@sumqty where wo=@wo";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            wo = erpordercode,
                            sumqty = sumqty
                        }
                    });
                }
                bool aa = DapperHelper.DoTransaction(list);
                if (aa)
                {
                    mes.code = "200";
                    mes.count = 0;
                    mes.Message = "下达MES工单成功!";
                    mes.data = null;
                }
                else
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "下达MES工单成功失败!";
                    mes.data = null;
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.Message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[ERP订单关闭]
        public static ToMessage ClosedErpOrder(string erpordercode, string username)
        {
            var sql = "";
            List<object> list = new List<object>();
            var dynamicParams = new DynamicParameters();
            try
            {
                sql = @"select *  from TK_Wrk_Man where m_po=@erpordercode";
                dynamicParams.Add("@erpordercode", erpordercode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                if (data.Rows.Count > 0)
                {
                    mes.code = "300";
                    mes.count = 0;
                    mes.Message = "当前订单有下达的MES工单,不允许关闭,请先删除或关闭相关工单!";
                    mes.data = null;
                }
                else
                {
                    //关闭订单
                    sql = @"update  TKimp_Ewo set status='CLOSED' where wo=@wo";
                    list.Add(new
                    {
                        str = sql,
                        parm = new
                        {
                            wo = erpordercode
                        }
                    });
                }
                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[MES工单查询]
        public static ToMessage ErpOrderSearch(string mesorderstus, string mesordercode, string partcode, string partname, string partspec, int startNum, string creatuser, string createdate, int endNum, string prop, string order)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
            try
            {
                if (mesorderstus != "" && mesorderstus != null)
                {
                    search += "and A.status=@mesorderstus ";
                    dynamicParams.Add("@mesorderstus", mesorderstus);
                }
                if (mesordercode != "" && mesordercode != null)
                {
                    search += "and A.wo like '%'+@mesordercode+'%' ";
                    dynamicParams.Add("@mesordercode", mesordercode);
                }
                if (partcode != "" && partcode != null)
                {
                    search += "and A.materiel_code like '%'+@partcode+'%' ";
                    dynamicParams.Add("@partcode", partcode);
                }
                if (partname != "" && partname != null)
                {
                    search += "and B.partname like '%'+@partname+'%' ";
                    dynamicParams.Add("@partname", partname);
                }
                if (partspec != "" && partspec != null)
                {
                    search += "and B.partspec like '%'+@partspec+'%' ";
                    dynamicParams.Add("@partspec", partspec);
                }
                if (createdate != "" && createdate != null)
                {
                    search += "and A.paydate=@createdate ";
                    dynamicParams.Add("@createdate", createdate);
                }
                if (creatuser != "" && creatuser != null)
                {
                    search += "and A.createuser like '%'+@partspec+'%' ";
                    dynamicParams.Add("@partspec", partspec);
                }
                if (search == "")
                {
                    search = "and 1=1 ";
                }
                // --------------查询指定数据--------------
                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
                            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 " + 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
    }
}
VueWebApi/Logs/2022-06-27.TXT
VueWebApi/Logs/2022-06-28.TXT
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,71 @@
 ã€æ—¶é—´ã€‘:2022-06-28 11:35:44,199
 ã€çº§åˆ«ã€‘:ERROR
 ã€ç±»åã€‘:日志记录
 ã€çº¿ç¨‹ID】: 13
 ã€æ–‡ä»¶åœ°å€ã€‘:D:\新凯迪MES\VueWebApi\VueWebApi\Tools\LogHelper.cs ç¬¬25行
 ã€æ—¥å¿—内容】:
消息类型:SqlException
消息内容:“)”附近有语法错误。
引发异常路径:/api/BasicSetting/MarkSaveErpOrder
引发异常的方法: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:行号 355
 ã€æ—¥è®°è¯¦ç»†ã€‘:
---------------------------------------------------------------------------------------------------------------
 ã€æ—¶é—´ã€‘:2022-06-28 12:16:52,006
 ã€çº§åˆ«ã€‘:ERROR
 ã€ç±»åã€‘:日志记录
 ã€çº¿ç¨‹ID】: 15
 ã€æ–‡ä»¶åœ°å€ã€‘:D:\新凯迪MES\VueWebApi\VueWebApi\Tools\LogHelper.cs ç¬¬25行
 ã€æ—¥å¿—内容】:
消息类型:SqlException
消息内容:必须声明标量变量 "@erpordercode"。
引发异常路径:/api/BasicSetting/MarkSaveErpOrder
引发异常的方法: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:行号 355
 ã€æ—¥è®°è¯¦ç»†ã€‘:
---------------------------------------------------------------------------------------------------------------
 ã€æ—¶é—´ã€‘:2022-06-28 17:04:53,184
 ã€çº§åˆ«ã€‘:ERROR
 ã€ç±»åã€‘:日志记录
 ã€çº¿ç¨‹ID】: 11
 ã€æ–‡ä»¶åœ°å€ã€‘:D:\新凯迪MES\VueWebApi\VueWebApi\Tools\LogHelper.cs ç¬¬25行
 ã€æ—¥å¿—内容】:
消息类型:SqlException
消息内容:必须声明标量变量 "@sumqty"。
引发异常路径:/api/BasicSetting/ClosedErpOrder
引发异常的方法: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.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.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:行号 355
 ã€æ—¥è®°è¯¦ç»†ã€‘:
---------------------------------------------------------------------------------------------------------------
VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -372,13 +372,13 @@
      <publishTime>11/28/2018 13:04:24</publishTime>
    </File>
    <File Include="bin/VueWebApi.dll">
      <publishTime>06/24/2022 16:42:15</publishTime>
      <publishTime>06/28/2022 17:45:56</publishTime>
    </File>
    <File Include="bin/VueWebApi.dll.config">
      <publishTime>06/15/2022 15:31:43</publishTime>
    </File>
    <File Include="bin/VueWebApi.pdb">
      <publishTime>06/24/2022 16:42:15</publishTime>
      <publishTime>06/28/2022 17:45:56</publishTime>
    </File>
    <File Include="bin/VueWebApi.xml">
      <publishTime>06/16/2022 14:26:01</publishTime>
@@ -519,7 +519,7 @@
      <publishTime>06/10/2022 08:20:24</publishTime>
    </File>
    <File Include="Web.config">
      <publishTime>06/21/2022 16:19:30</publishTime>
      <publishTime>06/24/2022 23:51:54</publishTime>
    </File>
  </ItemGroup>
</Project>
VueWebApi/VueWebApi.csproj
@@ -256,6 +256,7 @@
    <Compile Include="Controllers\ImportExcelController.cs" />
    <Compile Include="Controllers\LoginController.cs" />
    <Compile Include="Controllers\MaterialManagerController.cs" />
    <Compile Include="Controllers\ProductionManagementController.cs" />
    <Compile Include="Controllers\ProductModelController.cs" />
    <Compile Include="Controllers\SystemSettingController.cs" />
    <Compile Include="Controllers\ValuesController.cs" />
@@ -264,6 +265,7 @@
    <Compile Include="DLL\BLL\ExcelCheckBLL.cs" />
    <Compile Include="DLL\BLL\LoginBLL.cs" />
    <Compile Include="DLL\BLL\MaterialManagerBLL.cs" />
    <Compile Include="DLL\BLL\ProductionManagementBLL.cs" />
    <Compile Include="DLL\BLL\ProductModelBLL.cs" />
    <Compile Include="DLL\BLL\SystemSettingBLL.cs" />
    <Compile Include="DLL\BLL\UserDataBLL.cs" />
@@ -272,6 +274,7 @@
    <Compile Include="DLL\DAL\ExcelCheckDAL.cs" />
    <Compile Include="DLL\DAL\LoginDAL.cs" />
    <Compile Include="DLL\DAL\MaterialManagerDAL.cs" />
    <Compile Include="DLL\DAL\ProductionManagementDAL.cs" />
    <Compile Include="DLL\DAL\ProductModelDAL.cs" />
    <Compile Include="DLL\DAL\SystemSettingDAL.cs" />
    <Compile Include="DLL\DAL\UserDataDAL.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>ProjectFiles</ProjectView>
    <Controller_SelectedScaffolderID>ApiControllerEmptyScaffolder</Controller_SelectedScaffolderID>
VueWebApi/bin/VueWebApi.pdb
Binary files differ
VueWebApi/bin/VueWebApi.xml
@@ -987,6 +987,38 @@
            <param name="storagecode">库位编码</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductionManagementController.ErpOrderSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
            <summary>
            ERP订单查询
            </summary>
            <param name="erporderstus">订单状态码</param>
            <param name="erpordercode">订单编号</param>
            <param name="partcode">产品编码</param>
            <param name="partname">产品名称</param>
            <param name="partspec">产品规格</param>
            <param name="paydate">交付时间</param>
            <param name="creatuser">创建人员</param>
            <param name="createdate">创建时间</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.ProductionManagementController.MarkSaveErpOrder(Newtonsoft.Json.Linq.JObject)">
            <summary>
            ERP订单下达
            </summary>
            <param name="obj">提交数据</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductionManagementController.ClosedErpOrder(System.String)">
            <summary>
            ERP订单关闭
            </summary>
            <param name="erpordercode">订单号</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductModelController.StockTypeSelect">
            <summary>
            å­˜è´§ç±»åž‹æŽ¥å£
@@ -1046,9 +1078,15 @@
        </member>
        <member name="M:VueWebApi.Controllers.ProductModelController.StockTypeSelectMaterialType(System.String)">
            <summary>
            å­˜ç±»åž‹æŸ¥æ‰¾ç‰©æ–™ç±»åž‹
            å­˜è´§ç±»åž‹æŸ¥æ‰¾ç‰©æ–™ç±»åž‹
            </summary>
            <param name="stocktypecode">存货类型编码</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductModelController.UomSelect">
            <summary>
            å•位下拉列表查询
            </summary>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductModelController.InventoryFileSelect(System.String,System.String,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
@@ -1094,6 +1132,12 @@
            </summary>
            <param name="partcode">物料编码</param>
            <param name="json">提交数据对象</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductModelController.RouteSelect">
            <summary>
            å·¥è‰ºè·¯çº¿ä¸‹æ‹‰æŸ¥è¯¢æŽ¥å£
            </summary>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductModelController.RouteSearch(System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
@@ -1184,6 +1228,14 @@
            <param name="stepcode">工序编码</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductModelController.SaveStepAssociationDefect(System.String,System.Collections.Generic.List{VueWebApi.Models.ObjectData})">
            <summary>
            å·¥åºå…³è”缺陷提交
            </summary>
            <param name="stepcode">工序编码</param>
            <param name="json">提交数据</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductModelController.PartSelect">
            <summary>
            äº§å“ä¿¡æ¯ä¸‹æ‹‰æ¡†æŸ¥è¯¢
@@ -1204,9 +1256,16 @@
            <param name="routecode">工艺路线编码</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductModelController.StepSelectEqp(System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
        <member name="M:VueWebApi.Controllers.ProductModelController.StepSelectEqp(System.String)">
            <summary>
            æ ¹æ®å·¥åºçº¿ç¼–码查找关联设备集合
            æ ¹æ®å·¥åºçº¿ç¼–码查找关联设备下拉框集合
            </summary>
            <param name="stepcode">工序编码</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductModelController.StepSelectEqpList(System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
            <summary>
            æ ¹æ®å·¥åºçº¿ç¼–码查找关联设备列表集合
            </summary>
            <param name="partcode">产品编码</param>
             <param name="routecode">工艺路线编码</param>
@@ -1217,23 +1276,27 @@
            <param name="order">排序规则</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.ProductModelController.BeatRateSearch(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
        <member name="M:VueWebApi.Controllers.ProductModelController.BeatRateSearch(System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
            <summary>
            èŠ‚æ‹å·¥ä»·æŸ¥è¯¢
            </summary>
            <param name="partcode">产品编码</param>
            <param name="partname">产品名称</param>
            <param name="partspec">产品规格</param>
            <param name="routecode">工艺路线编码</param>
            <param name="stepcode">工序编码</param>
            <param name="eqpcode">设备编码</param>
            <param name="eqpname">设备名称</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.ProductModelController.SaveBeatRate(Newtonsoft.Json.Linq.JObject)">
            <summary>
            èŠ‚æ‹å·¥ä»·æäº¤
            </summary>
            <param name="obj">提交数据</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 @@
ead7cf2282d587d6d640ba9024111a7417c9f938
9eca3a694af2cbf87424cd7c2924c1c66317385c
VueWebApi/obj/Debug/VueWebApi.csproj.FileListAbsolute.txt
@@ -153,4 +153,3 @@
D:\新凯迪MES\VueWebApi\VueWebApi\obj\Debug\VueWebApi.csproj.CopyComplete
D:\新凯迪MES\VueWebApi\VueWebApi\obj\Debug\VueWebApi.dll
D:\新凯迪MES\VueWebApi\VueWebApi\obj\Debug\VueWebApi.pdb
D:\新凯迪MES\VueWebApi\VueWebApi\obj\Debug\VueWebApi.csproj.AssemblyReference.cache
VueWebApi/obj/Debug/VueWebApi.pdb
Binary files differ
VueWebApi/obj/Release/Package/PackageTmp/Web.config
@@ -15,7 +15,7 @@
    <!--本地环境-->
    <!--<add key="DBServer" value="Data Source=.;Initial Catalog=vmes;Integrated Security=True" />-->
    <!--服务器环境-->
    <add key="DBServer" value="Data Source=121.196.36.24;Initial Catalog=vmes;User ID=sa;Password=xkd@20220602;pooling=false" />
    <add key="DBServer" value="Data Source=121.196.36.24,1533;Initial Catalog=vmes;User ID=sa;Password=xkd@20220602;pooling=false" />
    <!--redis数据库链接配置ip-->
    <add key="RedisConnIp" value="127.0.0.1" />
    <!--redis数据库链接配置端口号-->
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
Binary files differ
VueWebApi/obj/Release/TransformWebConfig/original/Web.config
@@ -15,7 +15,7 @@
        <!--本地环境-->
        <!--<add key="DBServer" value="Data Source=.;Initial Catalog=vmes;Integrated Security=True" />-->
        <!--服务器环境-->
        <add key="DBServer" value="Data Source=121.196.36.24;Initial Catalog=vmes;User ID=sa;Password=xkd@20220602;pooling=false" />
        <add key="DBServer" value="Data Source=121.196.36.24,1533;Initial Catalog=vmes;User ID=sa;Password=xkd@20220602;pooling=false" />
        <!--redis数据库链接配置ip-->
        <add key="RedisConnIp" value="127.0.0.1" />
        <!--redis数据库链接配置端口号-->
VueWebApi/obj/Release/TransformWebConfig/transformed/Web.config
@@ -15,7 +15,7 @@
    <!--本地环境-->
    <!--<add key="DBServer" value="Data Source=.;Initial Catalog=vmes;Integrated Security=True" />-->
    <!--服务器环境-->
    <add key="DBServer" value="Data Source=121.196.36.24;Initial Catalog=vmes;User ID=sa;Password=xkd@20220602;pooling=false" />
    <add key="DBServer" value="Data Source=121.196.36.24,1533;Initial Catalog=vmes;User ID=sa;Password=xkd@20220602;pooling=false" />
    <!--redis数据库链接配置ip-->
    <add key="RedisConnIp" value="127.0.0.1" />
    <!--redis数据库链接配置端口号-->
VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
b66fb695daf003212f22fc5e10c6694251fb7628
5d8d719063c73a5c06cd8873bc89ea569af1241b
VueWebApi/obj/Release/VueWebApi.pdb
Binary files differ