yl
2024-10-24 e38242f0209423a24d3f41b175954f8201721d0d
1.同步通易T8基础资料
2.回写通易T8入库单
已添加1个文件
已修改8个文件
373 ■■■■■ 文件已修改
VueWebCoreApi/Controllers/ErpSyncMesController.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Controllers/WorkOrderController.cs 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs 229 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Models/ErpOrder/ErpOrderBatch.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Models/InventoryModel/InReptModel.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Startup.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/appsettings.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Controllers/ErpSyncMesController.cs
@@ -9,7 +9,7 @@
namespace VueWebCoreApi.Controllers
{
    [ApiExplorerSettings(GroupName = "畅捷通ERP基础数据同步")]
    [ApiExplorerSettings(GroupName = "易通T8ERP基础数据同步")]
    [ApiController]
    [Route("api/[controller]")]
    [ChannelActionFilter]
VueWebCoreApi/Controllers/WorkOrderController.cs
@@ -9,6 +9,7 @@
using VueWebCoreApi.DLL.BLL;
using VueWebCoreApi.Models;
using VueWebCoreApi.Models.ErpOrder;
using VueWebCoreApi.Models.InventoryModel;
using VueWebCoreApi.Models.ReportVerify;
using VueWebCoreApi.Models.UpdateReport;
using VueWebCoreApi.Models.WorkData;
@@ -82,6 +83,7 @@
            string erpordercode = obj["erpordercode"].ToString(); //订单编号
            string saleordercode = obj["saleordercode"].ToString(); //销售订单号
            string partcode = obj["partcode"].ToString(); //产品编码
            string deptcode = obj["deptcode"].ToString(); //部门编码
            string wkshopcode = obj["wkshopcode"].ToString(); //车间编码
            string warehousecode = obj["warehousecode"].ToString(); //仓库编码
            string erpqty = obj["erpqty"].ToString(); //订单数量
@@ -92,7 +94,7 @@
            string paystartdate = obj["paystartdate"].ToString(); //预计开工日期
            string payenddate = obj["payenddate"].ToString(); //预计完工日期
            string clerkuser = obj["clerkuser"].ToString(); //销售订单业务员
            mes = WorkOrderBLL.MarkSaveErpOrder(erporderid, sbid, erpordercode, saleordercode, partcode, wkshopcode, warehousecode, erpqty, markqty, ordernum, relse_qty, saleOrderDeliveryDate, paystartdate, payenddate, clerkuser, us);
            mes = WorkOrderBLL.MarkSaveErpOrder(erporderid, sbid, erpordercode, saleordercode, partcode, deptcode,wkshopcode, warehousecode, erpqty, markqty, ordernum, relse_qty, saleOrderDeliveryDate, paystartdate, payenddate, clerkuser, us);
            return Json(mes);
        }
        #endregion
@@ -778,5 +780,75 @@
            return Json(mes);
        }
        #endregion
        #region[生产入库条码补打]
        /// <summary>
        /// ç”Ÿäº§å…¥åº“条码补打
        /// </summary>
        /// <param name="ordercode">工单编号</param>
        /// <returns></returns>
        [Route(template: "ProductInHouseLabCode")]
        [HttpGet]
        public JsonResult ProductInHouseLabCode(string ordercode)
        {
            mes = WorkOrderBLL.ProductInHouseLabCode(ordercode);
            return Json(mes);
        }
        #endregion
        #region[生产入库信息查询]
        /// <summary>
        /// ç”Ÿäº§å…¥åº“信息查询
        /// </summary>
        /// <param name="saleordercode">销售单号</param>
        /// <param name="wkshopcode">车间编码</param>
        /// <param name="erpordercode">订单编号</param>
        /// <param name="mesordercode">工单编号</param>
        /// <param name="partcode">产品编码</param>
        /// <param name="partname">产品名称</param>
        /// <param name="partspec">规格型号</param>
        /// <returns></returns>
        [Route(template: "ProductInHouseOrderSearch")]
        [HttpGet]
        public JsonResult ProductInHouseOrderSearch(string saleordercode, string wkshopcode, string erpordercode = null, string mesordercode = null, string partcode = null, string partname = null, string partspec = null)
        {
            mes = WorkOrderBLL.ProductInHouseOrderSearch(saleordercode,wkshopcode, erpordercode, mesordercode, partcode, partname, partspec);
            return Json(mes);
        }
        #endregion
        #region[生产入库获取单据号]
        /// <summary>
        /// ç”Ÿäº§å…¥åº“获取单据号
        /// </summary>
        /// <param name="rightcode">功能编码</param>
        /// <returns></returns>
        [Route(template: "ProductInHouseOrderCodeSearch")]
        [HttpPost]
        public JsonResult ProductInHouseOrderCodeSearch(string rightcode)
        {
            mes = WorkOrderBLL.ProductInHouseOrderCodeSearch(rightcode);
            return Json(mes);
        }
        #endregion
        #region[通易T8生产入库提交]
        /// <summary>
        /// é€šæ˜“T8生产入库提交
        /// </summary>
        /// <param name="data">提交数据</param>
        /// <returns></returns>
        [Route(template: "ProductInHouseOrderSeave")]
        [HttpPost]
        public JsonResult ProductInHouseOrderSeave(InReptModel data)
        {
            var token = HttpContext.Request.Headers["Token"].ToString();
            //var token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyY29kZSI6Ijk5OTkiLCJ1c2VybmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsInN0b3JnX2NvZGUiOiIiLCJzdG9yZ19uYW1lIjoiIiwiaXNfc3lzdGVtX2FkbWluIjoiWSIsInJvbGVfY29kZSI6IiIsInJvbGVfZGF0YXBlcm1pc3Npb25zIjoiIiwidXNlcnR5cGUiOiJQQyIsInJlZGlza2V5IjoiTmV3TUVTTG9naW5Vc2VySURQQzk5OTkiLCJtZXNTZXR0aW5nIjoie1wicm91dGVcIjp0cnVlLFwiaXNPcmRlclwiOnRydWUsXCJkZXZpY2VcIjp0cnVlLFwidGVjaFwiOnRydWUsXCJ3b3JrT3JkZXJcIjp0cnVlLFwiZXZlcnlcIjpmYWxzZSxcImxhc3RcIjpmYWxzZX0iLCJ0aW1lb3V0IjoiMjAyNC0xMC0yNFQxMjozNTo1MC4zNDI1NzE2KzA4OjAwIn0.Nbc-1sXd4QLLsnj8wH9XC7iWEmP0wDG82gwLxIh94e4";
            User us = JwtTools.Denocode(token.ToString());
            mes = WorkOrderBLL.ProductInHouseOrderSeave(data, us);
            return Json(mes);
        }
        #endregion
    }
}
VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs
@@ -6,6 +6,7 @@
using VueWebCoreApi.DLL.DAL;
using VueWebCoreApi.Models;
using VueWebCoreApi.Models.ErpOrder;
using VueWebCoreApi.Models.InventoryModel;
using VueWebCoreApi.Models.ReportVerify;
using VueWebCoreApi.Models.UpdateReport;
using VueWebCoreApi.Models.WorkData;
@@ -24,9 +25,9 @@
        #endregion
        #region[ERP订单下达]
        public static ToMessage MarkSaveErpOrder(string erporderid,string sbid, string erpordercode, string saleordercode, string partcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string saleOrderDeliveryDate,string paystartdate,string payenddate, string clerkuser, User us)
        public static ToMessage MarkSaveErpOrder(string erporderid,string sbid, string erpordercode, string saleordercode, string partcode,string deptcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string saleOrderDeliveryDate,string paystartdate,string payenddate, string clerkuser, User us)
        {
            return WorkOrderDAL.MarkSaveErpOrder(erporderid, sbid, erpordercode, saleordercode, partcode, wkshopcode, warehousecode, erpqty, markqty, ordernum, relse_qty, saleOrderDeliveryDate, paystartdate, payenddate, clerkuser, us);
            return WorkOrderDAL.MarkSaveErpOrder(erporderid, sbid, erpordercode, saleordercode, partcode, deptcode, wkshopcode, warehousecode, erpqty, markqty, ordernum, relse_qty, saleOrderDeliveryDate, paystartdate, payenddate, clerkuser, us);
        }
        #endregion
@@ -244,5 +245,35 @@
            return WorkOrderDAL.MesOrderStepReportNotVerifySeave(us, id, steptype);
        }
        #endregion
        #region[生产入库条码补打]
        public static ToMessage ProductInHouseLabCode(string ordercode)
        {
            return WorkOrderDAL.ProductInHouseLabCode(ordercode);
        }
        #endregion
        #region[生产入库信息查询]
        public static ToMessage ProductInHouseOrderSearch(string saleordercode, string wkshopcode, string erpordercode, string mesordercode, string partcode, string partname, string partspec)
        {
            return WorkOrderDAL.ProductInHouseOrderSearch(saleordercode,wkshopcode, erpordercode, mesordercode, partcode, partname, partspec);
        }
        #endregion
        #region[生产入库获取单据号]
        public static ToMessage ProductInHouseOrderCodeSearch(string rightcode)
        {
            return WorkOrderDAL.ProductInHouseOrderCodeSearch(rightcode);
        }
        #endregion
        #region[通易T8生产入库提交]
        public static ToMessage ProductInHouseOrderSeave(InReptModel data, User us)
        {
            return WorkOrderDAL.ProductInHouseOrderSeave(data, us);
        }
        #endregion
    }
}
VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs
@@ -27,7 +27,7 @@
            try
            {
                //存储过程名
                sql = @"h_p_IFCLD_ERPUnit";
                sql = @"h_p_IFCLD_T8ERPUnit";
                dynamicParams.Add("@username", us.usercode);
                bool a = DapperHelper.IsProcedure(sql, dynamicParams);
                if (a)
@@ -64,7 +64,7 @@
            try
            {
                //存储过程名
                sql = @"h_p_IFCLD_ERPInventory";
                sql = @"h_p_IFCLD_T8ERPInventory";
                dynamicParams.Add("@username", us.usercode);
                bool a = DapperHelper.IsProcedure(sql, dynamicParams);
                if (a)
@@ -101,7 +101,7 @@
            try
            {
                //存储过程名
                sql = @"h_p_IFCLD_ERPWhareHouses";
                sql = @"h_p_IFCLD_T8ERPWhareHousesLocation";
                dynamicParams.Add("@username", us.usercode);
                bool a = DapperHelper.IsProcedure(sql, dynamicParams);
                if (a)
@@ -138,7 +138,7 @@
            try
            {
                //存储过程名
                sql = @"h_p_IFCLD_ERPPartner";
                sql = @"h_p_IFCLD_T8ERPPartner";
                dynamicParams.Add("@username", us.usercode);
                bool a = DapperHelper.IsProcedure(sql, dynamicParams);
                if (a)
@@ -175,7 +175,7 @@
            try
            {
                //存储过程名
                sql = @"h_p_IFCLD_ERPMO";
                sql = @"h_p_IFCLD_T8ERPMO";
                dynamicParams.Add("@username", us.usercode);
                bool a = DapperHelper.IsProcedure(sql, dynamicParams);
                if (a)
VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
@@ -8,6 +8,7 @@
using System.Threading.Tasks;
using VueWebCoreApi.Models;
using VueWebCoreApi.Models.ErpOrder;
using VueWebCoreApi.Models.InventoryModel;
using VueWebCoreApi.Models.ReportVerify;
using VueWebCoreApi.Models.UpdateReport;
using VueWebCoreApi.Models.WorkData;
@@ -103,7 +104,7 @@
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select A.id, A.status,A.wo,A.materiel_code as partcode,B.partname,B.partspec,A.qty,A.relse_qty,A.wkshp_code,C.torg_name as wkshp_name,
                var sql = @"select A.id, A.status,A.wo,A.materiel_code as partcode,B.partname,B.partspec,A.qty,A.relse_qty,A.dept_id,A.dept_code,A.wkshp_code,C.torg_name as wkshp_name,
                            A.stck_code,D.name as stck_name,A.saleOrderCode,A.saleOrderDeliveryDate,A.planstartdate,A.planenddate,U.username as createuser,A.createdate,A.sbid,A.clerkuser
                            from TKimp_Ewo A
                            left join TMateriel_Info B on A.materiel_code=B.partcode
@@ -129,7 +130,7 @@
        #endregion
        #region[ERP订单下达]
        public static ToMessage MarkSaveErpOrder(string erporderid, string sbid, string erpordercode, string saleordercode, string partcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string saleOrderDeliveryDate, string paystartdate, string payenddate, string clerkuser, User us)
        public static ToMessage MarkSaveErpOrder(string erporderid, string sbid, string erpordercode, string saleordercode, string partcode,string deptcode, string wkshopcode, string warehousecode, string erpqty, string markqty, string ordernum, string relse_qty, string saleOrderDeliveryDate, string paystartdate, string payenddate, string clerkuser, User us)
        {
            var sql = "";
            List<object> list = new List<object>();
@@ -167,8 +168,8 @@
                    }
                    if (i == Convert.ToInt32(ordernum))  //最后一单时
                    {
                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,sbid,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate,plan_startdate,plan_enddate,data_sources,isstep,clerkuser)
                                values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@sbid,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate,@plan_startdate,@plan_enddate,@data_sources,@isstep,@clerkuser)";
                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,dept_code,wkshp_code,plan_qty,stck_code,sbid,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate,plan_startdate,plan_enddate,data_sources,isstep,clerkuser)
                                values(@wo_code,@wotype,@status,@dept_code,@wkshp_code,@plan_qty,@stck_code,@sbid,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate,@plan_startdate,@plan_enddate,@data_sources,@isstep,@clerkuser)";
                        list.Add(new
                        {
                            str = sql,
@@ -177,6 +178,7 @@
                                wo_code = wo,
                                wotype = "PO",
                                status = "NEW",
                                dept_code = deptcode,
                                wkshp_code = wkshopcode,
                                plan_qty = cdqty + (decimal.Parse(markqty) - sumqty),  //末单下单数量=切分数量+(下单数量-累计切分下单数量)
                                stck_code = warehousecode,
@@ -200,8 +202,8 @@
                    else
                    {
                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,sbid,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate,plan_startdate,plan_enddate,data_sources,isstep,clerkuser)
                                values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@sbid,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate,@plan_startdate,@plan_enddate,@data_sources,@isstep,@clerkuser)";
                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,dept_code,wkshp_code,plan_qty,stck_code,sbid,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate,plan_startdate,plan_enddate,data_sources,isstep,clerkuser)
                                values(@wo_code,@wotype,@status,@dept_code,@wkshp_code,@plan_qty,@stck_code,@sbid,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate,@plan_startdate,@plan_enddate,@data_sources,@isstep,@clerkuser)";
                        list.Add(new
                        {
                            str = sql,
@@ -210,6 +212,7 @@
                                wo_code = wo,
                                wotype = "PO",
                                status = "NEW",
                                dept_code=deptcode,
                                wkshp_code = wkshopcode,
                                plan_qty = cdqty,
                                stck_code = warehousecode,
@@ -317,8 +320,8 @@
                        string wo = model.erpordercode + "_" + (num + count);
                        result += wo.ToString() + ",";
                        //写入工单表
                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,wkshp_code,plan_qty,stck_code,sbid,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate,plan_startdate,plan_enddate,data_sources,isstep,clerkuser)
                                values(@wo_code,@wotype,@status,@wkshp_code,@plan_qty,@stck_code,@sbid,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate,@plan_startdate,@plan_enddate,@data_sources,@isstep,@clerkuser)";
                        sql = @"insert into TK_Wrk_Man(wo_code,wotype,status,dept_code,wkshp_code,plan_qty,stck_code,sbid,materiel_code,sourceid,m_po,lm_user,lm_date,saleOrderCode,saleOrderDeliveryDate,plan_startdate,plan_enddate,data_sources,isstep,clerkuser)
                                values(@wo_code,@wotype,@status,@dept_code,@wkshp_code,@plan_qty,@stck_code,@sbid,@materiel_code,@sourceid,@m_po,@username,@CreateDate,@saleOrderCode,@saleOrderDeliveryDate,@plan_startdate,@plan_enddate,@data_sources,@isstep,@clerkuser)";
                        list.Add(new
                        {
                            str = sql,
@@ -327,6 +330,7 @@
                                wo_code = wo,
                                wotype = "PO",
                                status = "NEW",
                                dept_code=model.deptcode,
                                wkshp_code = model.wkshopcode,
                                plan_qty = decimal.Parse(model.erpqty),  //订单数量
                                stck_code = model.warehousecode,
@@ -624,7 +628,7 @@
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.route_code,R.name as route_name,A.plan_qty,A.wkshp_code,C.torg_name as wkshp_name,
                var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.route_code,R.name as route_name,A.plan_qty,A.dept_code,A.wkshp_code,C.torg_name as wkshp_name,
                            A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,A.data_sources,A.isstep,A.clerkuser
                            from TK_Wrk_Man A
                            left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code and A.sbid=W.sbid
@@ -711,7 +715,7 @@
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.plan_qty,A.wkshp_code,C.torg_name as wkshp_name,
                var sql = @"select A.id, A.status,A.wotype,A.wo_code,A.materiel_code as partcode,B.partname,B.partspec,A.plan_qty,A.dept_code,A.wkshp_code,C.torg_name as wkshp_name,
                            A.stck_code,D.name as stck_name,A.plan_startdate,A.plan_enddate,A.piroque,A.sourceid,A.m_po,A.saleOrderDeliveryDate,W.saleOrderCode,U.username as lm_user,A.lm_date,S.laborbad_qty,S.materielbad_qty
                            from TK_Wrk_Man A
                            left join TKimp_Ewo W on A.m_po=W.wo and A.materiel_code=W.materiel_code and A.sbid=W.sbid
@@ -1568,7 +1572,7 @@
                    dynamicParams.Add("@partspec", partspec);
                }
                //根据条件查询工单工序任务(自制工序)
                sql = @"select A.id,A.status,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
                sql = @"select A.id,A.status,B.dept_code,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
                        S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,A.laborbad_qty,A.materielbad_qty,B.lm_date
                        from TK_Wrk_Step A
                        left join TK_Wrk_Man B on A.wo_code=B.wo_code
@@ -1670,7 +1674,7 @@
                    dynamicParams.Add("@partspec", partspec);
                }
                //根据条件查询工单工序任务(自制工序)
                sql = @"select A.id,A.status,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
                sql = @"select A.id,A.status,B.dept_code,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isbott,A.isend,
                        S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,
                        (select isnull(sum(fqty),0) as fqty   from TK_Wrk_OutRecord where wo_code=A.wo_code and step_code=A.step_code and style='F') as fqty,
                        A.laborbad_qty,A.materielbad_qty,A.plan_startdate,A.plan_enddate,B.lm_date
@@ -1773,7 +1777,7 @@
                    dynamicParams.Add("@partspec", partspec);
                }
                //根据条件查询工单工序任务(自制工序)
                sql = @"select A.id,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isend,
                sql = @"select A.id,B.dept_code,B.wkshp_code,T.torg_name as wkshp_name,A.wo_code,M.partcode,M.partname,M.partspec,A.seq,A.isend,
                        S.stepcode,S.stepname,S.descr,A.plan_qty,A.good_qty,A.ng_qty,A.laborbad_qty,A.materielbad_qty,B.lm_date
                        from TK_Wrk_Step A
                        left join TK_Wrk_Man B on A.wo_code=B.wo_code
@@ -3928,5 +3932,204 @@
            return mes;
        }
        #endregion
        #region[生产入库条码补打]
        public static ToMessage ProductInHouseLabCode(string ordercode)
        {
            string sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //获取末道工序报工条码数据
                sql = @"select *   from(
                        select A.inbarcode,A.wo_code,P.partcode,P.partname,P.partspec,
                        A.good_qty,U.username,A.lm_date
                        from  TK_Wrk_Record A
                        inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
                        inner join TMateriel_Info P on A.materiel_code=P.partcode
                        inner join TUser U on A.lm_user=U.usercode
                        where A.style='B' and S.isend='Y' and A.good_qty>0 and A.inbarcode<>''
                        union all
                        select A.inbarcode,A.wo_code,P.partcode,P.partname,P.partspec,
                        A.sqty as sqty,U.username,A.lm_date
                        from  TK_Wrk_OutRecord A
                        inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
                        inner join TMateriel_Info P on A.materiel_code=P.partcode
                        inner join TUser U on A.lm_user=U.usercode
                        where A.style='S' and S.isend='Y' and A.sqty>0 and A.inbarcode<>''
                        ) as AA where AA.wo_code=@ordercode";
                dynamicParams.Add("@ordercode", ordercode);
                var data = DapperHelper.selectdata(sql, dynamicParams);
                mes.code = "200";
                mes.message = "查询成功!";
                mes.data = data;
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[生产入库信息查询]
        public static ToMessage ProductInHouseOrderSearch(string saleordercode, string wkshopcode, string erpordercode, string mesordercode, string partcode, string partname, string partspec)
        {
            var dynamicParams = new DynamicParameters();
            string search = "";
            try
            {
                if (saleordercode != "" && saleordercode != null)
                {
                    search += "and AA.saleOrderCode like '%'+@saleordercode+'%' ";
                    dynamicParams.Add("@saleordercode", saleordercode);
                }
                if (wkshopcode != "" && wkshopcode != null)
                {
                    search += "and AA.wkshp_code=@wkshopcode ";
                    dynamicParams.Add("@wkshopcode", wkshopcode);
                }
                if (erpordercode != "" && erpordercode != null)
                {
                    search += "and AA.m_po like '%'+@erpordercode+'%' ";
                    dynamicParams.Add("@erpordercode", erpordercode);
                }
                if (mesordercode != "" && mesordercode != null)
                {
                    search += "and AA.wo_code like '%'+@mesordercode+'%' ";
                    dynamicParams.Add("@mesordercode", mesordercode);
                }
                if (partcode != "" && partcode != null)
                {
                    search += "and AA.partcode like '%'+@partcode+'%' ";
                    dynamicParams.Add("@partcode", partcode);
                }
                if (partname != "" && partname != null)
                {
                    search += "and AA.partname like '%'+@partname+'%' ";
                    dynamicParams.Add("@partname", partname);
                }
                if (partspec != "" && partspec != null)
                {
                    search += "and AA.partspec like '%'+@partspec+'%' ";
                    dynamicParams.Add("@partspec", partspec);
                }
                // --------------查询指定数据--------------
                var total = 0; //总条数
                var sql = @"select *   from(
                            select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,M.id as wo_id,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
                            A.step_code,T.stepname,M.wkshp_code,O.torg_name as wkshp_name,K.code as stockcode,k.name as stockname,
                            E.saleOrderqty,E.qty,M.plan_qty,A.good_qty,isnull(A.inhouseqty,0) as inhouseqty,A.good_qty-isnull(A.inhouseqty,0) as stinhouseqty,M.lm_date,A.style
                            from  TK_Wrk_Record A
                            inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
                            inner join TK_Wrk_Man M on S.wo_code=M.wo_code
                            inner join TMateriel_Info P on M.materiel_code=P.partcode
                            left join TKimp_Ewo E on M.m_po=E.wo and M.sourceid= E.id
                            left join TSecStck K on P.idwarehouse=K.code
                            left join TStep T on A.step_code=T.stepcode
                            left join TOrganization O on M.wkshp_code=O.torg_code
                            where A.style='B' and A.inbarcode<>'' and S.isend='Y' and A.good_qty>0
                            union all
                            select A.inbarcode,E.saleOrderid,isnull(E.saleOrderCode,'') as saleOrderCode,E.saleOrderDetailId,E.woid as mpoid,M.m_po,E.sbid,M.id as wo_id,A.wo_code,E.materiel_id,P.partcode,P.partname,P.partspec,E.unitid,E.unitcode,E.unitname,
                            A.step_code,T.stepname,M.wkshp_code,O.torg_name as wkshp_name,K.code as stockcode,k.name as stockname,
                            E.saleOrderqty,E.qty,M.plan_qty,A.sqty as sqty,isnull(A.inhouseqty,0) as inhouseqty,A.sqty-isnull(A.inhouseqty,0) as stinhouseqty,M.lm_date,A.style
                            from  TK_Wrk_OutRecord A
                            inner join TK_Wrk_Step S on A.wo_code=S.wo_code and A.step_code=S.step_code
                            inner join TK_Wrk_Man M on S.wo_code=M.wo_code
                            inner join TMateriel_Info P on M.materiel_code=P.partcode
                            left join TKimp_Ewo E on M.m_po=E.wo and M.sourceid= E.id
                            left join TSecStck K on P.idwarehouse=K.code
                            left join TStep T on A.step_code=T.stepcode
                            left join TOrganization O on M.wkshp_code=O.torg_code
                            where A.style='S' and A.inbarcode<>'' and S.isend='Y' and A.sqty>0
                            ) as AA  where AA.good_qty>AA.inhouseqty " + search;
                var data = DapperHelper.selectdata(sql, dynamicParams);
                mes.code = "200";
                mes.message = "查询成功!";
                mes.count = total;
                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 ProductInHouseOrderCodeSearch(string rightcode)
        {
            try
            {
                mes = SeachEncodeJob.EncodingSeach(rightcode);
                return mes;
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
        #region[通易T8生产入库提交]
        public static ToMessage ProductInHouseOrderSeave(InReptModel data, User us)
        {
            var sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //存储过程名
                sql = @"h_p_IFCLD_T8InProductOrder";
                dynamicParams.Add("@RecordMin", dbType: DbType.Object, value: data.TableData[0]);
                dynamicParams.Add("@RecordSub", dbType: DbType.Object, value: data.TableData[1]);
                dynamicParams.Add("@rightcode", data.rightcode);
                dynamicParams.Add("@incbit", data.incbit);
                dynamicParams.Add("@username", us.usercode);
                // æ·»åŠ è¾“å‡ºå‚æ•°
                dynamicParams.Add("@StatusCode", dbType: DbType.Int32, direction: ParameterDirection.Output);
                dynamicParams.Add("@Message", dbType: DbType.String, size: 255, direction: ParameterDirection.Output);
                bool a = DapperHelper.IsProcedure(sql, dynamicParams);
                // èŽ·å–è¾“å‡ºå‚æ•°çš„å€¼
                var statusCode = dynamicParams.Get<int>("@StatusCode");
                var message = dynamicParams.Get<string>("@Message");
                if (a)
                {
                    mes.code = statusCode.ToString();
                    mes.count = 0;
                    mes.message = message;
                    mes.data = null;
                }
                else
                {
                    mes.code = statusCode.ToString();
                    mes.count = 0;
                    mes.message = message;
                    mes.data = null;
                }
            }
            catch (Exception e)
            {
                mes.code = "300";
                mes.count = 0;
                mes.message = e.Message;
                mes.data = null;
            }
            return mes;
        }
        #endregion
    }
}
VueWebCoreApi/Models/ErpOrder/ErpOrderBatch.cs
@@ -28,6 +28,10 @@
        /// </summary>
        public string partcode { get; set; }
        /// <summary>
        /// éƒ¨é—¨ç¼–码
        /// </summary>
        public string deptcode { get; set; }
        /// <summary>
        /// è½¦é—´ç¼–码
        /// </summary>
        public string wkshopcode { get; set; }
VueWebCoreApi/Models/InventoryModel/InReptModel.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Threading.Tasks;
namespace VueWebCoreApi.Models.InventoryModel
{
    public class InReptModel
    {
        public string rightcode { get; set; }
        public string incbit { get; set; }
        public List<DataTable> TableData { get; set; }
    }
}
VueWebCoreApi/Startup.cs
@@ -73,7 +73,7 @@
                {
                    c.SwaggerDoc(version, new OpenApiInfo()
                    {
                        Title = $"桥下工贸-MesApi文档:{version}",
                        Title = $"泰丰电器-MesApi文档:{version}",
                        Version = version,
                        Description = $"Panda.Sewerage :  {version}  ",
                    });
VueWebCoreApi/appsettings.json
@@ -9,7 +9,7 @@
  "AllowedHosts": "*",
  //服务器环境
  "ConnectionStrings": {
    "DBServer": "Data Source=121.196.36.24,1533;Initial Catalog=vmes_qx;User ID=sa;Password=xkd@20230101;pooling=false",
    "DBServer": "Data Source=121.196.36.24,1533;Initial Catalog=vmes_tf;User ID=sa;Password=xkd@20230101;pooling=false",
    //企业编码
    "CompanyCode": "000",
    //企业名称