1.入库记录删除
2.畅捷通T+反写产成品入库单(直接写表)
3.erp同步基础资料和订单改为根据配置取T+或者T8
4.通用基础资料仓库资料放出erpid
5.生产入库查询信息接口调整字段(T+和T8共用)
已修改8个文件
145 ■■■■■ 文件已修改
VueWebCoreApi/Controllers/ReportManagerController.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Controllers/WorkOrderController.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/ReportManagerDAL.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs 59 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/appsettings.json 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebCoreApi/Controllers/ReportManagerController.cs
@@ -645,7 +645,8 @@
        [HttpPost]
        public JsonResult DeleteStorageRecord(List<StorageRecord> json)
        {
            var token = HttpContext.Request.Headers["Token"].ToString();
            //var token = HttpContext.Request.Headers["Token"].ToString();
            var token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyY29kZSI6Ijk5OTkiLCJ1c2VybmFtZSI6Iuezu-e7n-euoeeQhuWRmCIsInN0b3JnX2NvZGUiOiIiLCJzdG9yZ19uYW1lIjoiIiwiaXNfc3lzdGVtX2FkbWluIjoiWSIsInJvbGVfY29kZSI6IiIsInJvbGVfZGF0YXBlcm1pc3Npb25zIjoiIiwidXNlcnR5cGUiOiJQQyIsInJlZGlza2V5IjoiTmV3TUVTTG9naW5Vc2VySURQQzk5OTkiLCJtZXNTZXR0aW5nIjoie1wicm91dGVcIjp0cnVlLFwiaXNPcmRlclwiOnRydWUsXCJkZXZpY2VcIjp0cnVlLFwidGVjaFwiOnRydWUsXCJ3b3JrT3JkZXJcIjp0cnVlLFwiZXZlcnlcIjpmYWxzZSxcImxhc3RcIjpmYWxzZX0iLCJ0aW1lb3V0IjoiMjAyNC0xMC0yNFQxMjozNTo1MC4zNDI1NzE2KzA4OjAwIn0.Nbc-1sXd4QLLsnj8wH9XC7iWEmP0wDG82gwLxIh94e4";
            User us = JwtTools.Denocode(token.ToString());
            mes = ReportManagerBLL.DeleteStorageRecord(json, us);
            return Json(mes);
VueWebCoreApi/Controllers/WorkOrderController.cs
@@ -882,5 +882,22 @@
            return Json(mes);
        }
        #endregion
        #region[畅捷通T+生产入库提交-存储过程版(适用同一台服务器,同一个数据库)]
        /// <summary>
        /// 畅捷通T+生产入库提交-存储过程版(适用同一台服务器,同一个数据库)
        /// </summary>
        /// <param name="data">提交数据</param>
        /// <returns></returns>
        [Route(template: "TProductInHouseOrderSpSeave")]
        [HttpPost]
        public JsonResult TProductInHouseOrderSpSeave(InReptModel data)
        {
            var token = HttpContext.Request.Headers["Token"].ToString();
            User us = JwtTools.Denocode(token.ToString());
            mes = WorkOrderBLL.TProductInHouseOrderSpSeave(data, us);
            return Json(mes);
        }
        #endregion
    }
}
VueWebCoreApi/DLL/BLL/WorkOrderBLL.cs
@@ -289,5 +289,12 @@
            return WorkOrderDAL.ProductInHouseOrderSpSeave(data, us);
        }
        #endregion
        #region[畅捷通T+生产入库提交-存储过程版(适用同一台服务器,同一个数据库)]
        public static ToMessage TProductInHouseOrderSpSeave(InReptModel data, User us)
        {
            return WorkOrderDAL.TProductInHouseOrderSpSeave(data, us);
        }
        #endregion
    }
}
VueWebCoreApi/DLL/DAL/ErpSyncMesDAL.cs
@@ -18,6 +18,7 @@
        public static string strProcName = ""; //定义全局sql变量
        public static List<SqlParameter> listStr = new List<SqlParameter>(); //定义全局参数集合
        public static SqlParameter[] parameters; //定义全局SqlParameter参数数组
        public static string ErpPath = AppSetting.GetAppSetting("ErpPath"); //获取ERP配置
        #region[物料管理:计量单位同步]
        public static ToMessage SaveSearchUnit(User us)
@@ -27,7 +28,17 @@
            try
            {
                //存储过程名
                switch (ErpPath)
                {
                    case "T+":
                        sql = @"h_p_IFCLD_TCloundERPUnit";
                        break;
                    case "T8":
                sql = @"h_p_IFCLD_T8ERPUnit";
                        break;
                    default:
                        break;
                }
                dynamicParams.Add("@username", us.usercode);
                bool a = DapperHelper.IsProcedure(sql, dynamicParams);
                if (a)
@@ -64,7 +75,17 @@
            try
            {
                //存储过程名
                switch (ErpPath)
                {
                    case "T+":
                        sql = @"h_p_IFCLD_TCloundERPInventory";
                        break;
                    case "T8":
                sql = @"h_p_IFCLD_T8ERPInventory";
                        break;
                    default:
                        break;
                }
                dynamicParams.Add("@username", us.usercode);
                bool a = DapperHelper.IsProcedure(sql, dynamicParams);
                if (a)
@@ -101,7 +122,17 @@
            try
            {
                //存储过程名
                switch (ErpPath)
                {
                    case "T+":
                        sql = @"h_p_IFCLD_TCloundERPWhareHousesLocation";
                        break;
                    case "T8":
                sql = @"h_p_IFCLD_T8ERPWhareHousesLocation";
                        break;
                    default:
                        break;
                }
                dynamicParams.Add("@username", us.usercode);
                bool a = DapperHelper.IsProcedure(sql, dynamicParams);
                if (a)
@@ -138,7 +169,17 @@
            try
            {
                //存储过程名
                switch (ErpPath)
                {
                    case "T+":
                        sql = @"h_p_IFCLD_TCloundERPPartner";
                        break;
                    case "T8":
                sql = @"h_p_IFCLD_T8ERPPartner";
                        break;
                    default:
                        break;
                }
                dynamicParams.Add("@username", us.usercode);
                bool a = DapperHelper.IsProcedure(sql, dynamicParams);
                if (a)
@@ -175,7 +216,17 @@
            try
            {
                //存储过程名
                switch (ErpPath)
                {
                    case "T+":
                        sql = @"h_p_IFCLD_TCloundERPMO";
                        break;
                    case "T8":
                sql = @"h_p_IFCLD_T8ERPMO";
                        break;
                    default:
                        break;
                }
                dynamicParams.Add("@username", us.usercode);
                bool a = DapperHelper.IsProcedure(sql, dynamicParams);
                if (a)
VueWebCoreApi/DLL/DAL/GeneralBasicDataDAL.cs
@@ -422,7 +422,7 @@
            try
            {
                //获取仓库数据
                sql = @"select code,name from TSecStck";
                sql = @"select noid,code,name from TSecStck";
                var data = DapperHelper.selecttable(sql);
                mes.code = "200";
                mes.message = "查询成功!";
VueWebCoreApi/DLL/DAL/ReportManagerDAL.cs
@@ -1740,7 +1740,7 @@
                    if (data.Rows.Count > 0 && data.Rows.Count == groupedRecords[i].count)
                    {
                        //删除入库单主表
                        sql = @"delete  TK_WMS_Inwh_Main  where hbillno=@hbillno";
                        sql = @"delete from TK_WMS_Inwh_Main  where hbillno=@hbillno";
                        list.Add(new
                        {
                            str = sql,
@@ -1755,7 +1755,7 @@
                for (int i = 0; i < json.Count; i++)
                {
                    //删除入库单子表
                    sql = @"delete  TK_WMS_Inwh_Sub  where hbillno=@hbillno  and inbarcode=@inbarcode";
                    sql = @"delete from TK_WMS_Inwh_Sub  where hbillno=@hbillno  and inbarcode=@inbarcode";
                    list.Add(new
                    {
                        str = sql,
VueWebCoreApi/DLL/DAL/WorkOrderDAL.cs
@@ -4029,27 +4029,27 @@
                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
                              A.step_code,T.stepname,M.wkshp_code,O.torg_name as wkshp_name,COALESCE(K.noid, E.stck_id) as stockid,COALESCE(K.code, E.stck_code) as stockcode,k.name as stockname,E.dept_id,E.dept_code,
                              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,E.voucherdate
                            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 TSecStck K on COALESCE(P.idwarehouse, E.stck_code)=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
                              A.step_code,T.stepname,M.wkshp_code,O.torg_name as wkshp_name,COALESCE(K.noid, E.stck_id) as stockid,COALESCE(K.code, E.stck_code) as stockcode,k.name as stockname,E.dept_id,E.dept_code,
                              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,E.voucherdate
                            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 TSecStck K on COALESCE(P.idwarehouse, E.stck_code)=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
@@ -4358,5 +4358,52 @@
            return mes;
        }
        #endregion
        #region[畅捷通T+生产入库提交-存储过程版(适用同一台服务器,同一个数据库)]
        public static ToMessage TProductInHouseOrderSpSeave(InReptModel data, User us)
        {
            var sql = "";
            var dynamicParams = new DynamicParameters();
            try
            {
                //存储过程名
                sql = @"h_p_IFCLD_TCloudInProductOrder";
                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/appsettings.json
@@ -10,6 +10,8 @@
  //服务器环境
  "ConnectionStrings": {
    "DBServer": "Data Source=121.196.36.24,1533;Initial Catalog=vmes_tf;User ID=sa;Password=xkd@20230101;pooling=false",
    //erp对接配置(T8,T+)
    "ErpPath": "T+",
    //企业编码
    "CompanyCode": "000",
    //企业名称