|
1、创建WEBAPI
- 1 using Dapper;
- 2 using MesErp.Models;
- 3 using Microsoft.AspNetCore.Mvc;
- 4 using Microsoft.Extensions.Configuration;
- 5 using Newtonsoft.Json;
- 6 using System;
- 7 using System.Collections.Generic;
- 8 using System.Data;
- 9 using System.Data.Common;
- 10 using System.Data.SqlClient;
- 11 using System.Linq;
- 12 using System.Runtime.Intrinsics.Arm;
- 13 using System.Security.Cryptography;
- 14 using System.Threading.Tasks;
- 15 using System.Xml.Linq;
- 16 namespace MesErp.Controllers
- 17 {
- 18 /// <summary>
- 19 /// ERP-MES基础数据同步"
- 20 /// </summary>
- 21 [Route("[controller]")]
- 22 [ApiController]
- 23 public class ErpMesBasicController : ControllerBase
- 24 {
- 25 private string ConnectionStr()
- 26 {
- 27 var appSettingsJson = AppSettingsJson.GetAppSettings();
- 28 string connectionString2 = appSettingsJson.GetSection("ConnectionStrings")["DefaultConnection"];//链接数据库字符串
- 29 return connectionString2;
- 30 }
- 31 /// <summary>
- 32 /// 库存组织新增/更新
- 33 /// </summary>
- 34 /// <returns></returns>
- 35 [HttpPost("AddWorkcenter")]
- 36 public async Task< ErpMesRts> AddWorkcenter([FromBody] WorkcenterModel workcenters)
- 37 {
- 38 int rst = -1;
- 39 ErpMesRts rstsate = new ErpMesRts();
- 40
- 41 string connectionString = ConnectionStr();//链接字符串
- 42 DynamicParameters paras = new DynamicParameters();
- 43 string Ctworkter= JsonConvert.SerializeObject(workcenters);
- 44 paras.Add("@JosnName", Ctworkter);
- 45 // paras.Add("@sum", 0, DbType.Int32, ParameterDirection.Output);// 指明是输出参数,这里为指明参数类型大小
- 46 using (IDbConnection connection = new SqlConnection(connectionString))
- 47 {
- 48 try
- 49 {
- 50 rst = await connection.ExecuteAsync("proc_ERP_MesAddWorkcenter", paras, commandType: CommandType.StoredProcedure);
- 51 }
- 52 catch(Exception e)
- 53 {
- 54 rstsate.msg=e.Message.ToString()+"数据库异常";
- 55
- 56 }
- 57 // 执行存储过程
- 58 // rst = await connection.ExecuteAsync("proc_AddSysUser01", paras , commandType: CommandType.StoredProcedure);
- 59
- 60 }
- 61 if (rst > 0)
- 62 {
- 63 rstsate.status = 200;
- 64 rstsate.msg = "成功";
- 65 }
- 66
- 67
- 68 //"{status: = " + code + ", msg = " + msg + ", data = " + null "}";
- 69 return rstsate;
- 70 //rst 返回1为成功
- 71 // return Json(new { code = 200, msg = "ok" });
- 72 }
- 73 /// <summary>
- 74 /// 人员主数据新增/更新
- 75 /// </summary>
- 76 /// <returns></returns>
- 77 [HttpPost("AddPersonInfo")]
- 78 public async Task<ErpMesRts> AddPersonInfo([FromBody] PersonInfoModel personInfos)
- 79 {
- 80 int rst = -1;
- 81 ErpMesRts rstsate = new ErpMesRts();
- 82
- 83 string connectionString = ConnectionStr();//链接字符串
- 84 DynamicParameters paras = new DynamicParameters();
- 85 string Ctworkter = JsonConvert.SerializeObject(personInfos);
- 86 paras.Add("@JosnName", Ctworkter);
- 87 // paras.Add("@sum", 0, DbType.Int32, ParameterDirection.Output);// 指明是输出参数,这里为指明参数类型大小
- 88 using (IDbConnection connection = new SqlConnection(connectionString))
- 89 {
- 90 try
- 91 {
- 92 rst = await connection.ExecuteAsync("proc_ERP_MesAddPersonInfo", paras, commandType: CommandType.StoredProcedure);
- 93 }
- 94 catch (Exception e)
- 95 {
- 96 rstsate.msg = e.Message.ToString() + "数据库异常";
- 97
- 98 }
- 99 // 执行存储过程
- 100 // rst = await connection.ExecuteAsync("proc_AddSysUser01", paras , commandType: CommandType.StoredProcedure);
- 101
- 102 }
- 103 if (rst > 0)
- 104 {
- 105 rstsate.status = 200;
- 106 rstsate.msg = "成功";
- 107 }
- 108
- 109
- 110 //"{status: = " + code + ", msg = " + msg + ", data = " + null "}";
- 111 return rstsate;
- 112 //rst 返回1为成功
- 113 // return Json(new { code = 200, msg = "ok" });
- 114 }
- 115 /// <summary>
- 116 /// 业务组新增/更新
- 117 /// </summary>
- 118 /// <returns></returns>
- 119 [HttpPost("AddBusinessGroup")]
- 120 public async Task<ErpMesRts> AddBusinessGroup([FromBody] BusinessGroupModel businessGroups)
- 121 {
- 122 int rst = -1;
- 123 ErpMesRts rstsate = new ErpMesRts();
- 124
- 125 string connectionString = ConnectionStr();//链接字符串
- 126 DynamicParameters paras = new DynamicParameters();
- 127 string Ctworkter = JsonConvert.SerializeObject(businessGroups);
- 128 paras.Add("@JosnName", Ctworkter);
- 129 // paras.Add("@sum", 0, DbType.Int32, ParameterDirection.Output);// 指明是输出参数,这里为指明参数类型大小
- 130 using (IDbConnection connection = new SqlConnection(connectionString))
- 131 {
- 132 try
- 133 {
- 134 rst = await connection.ExecuteAsync("proc_ERP_MesAddBusinessGroup", paras, commandType: CommandType.StoredProcedure);
- 135 }
- 136 catch (Exception e)
- 137 {
- 138 rstsate.msg = e.Message.ToString() + "数据库异常";
- 139
- 140 }
- 141 // 执行存储过程
- 142 // rst = await connection.ExecuteAsync("proc_AddSysUser01", paras , commandType: CommandType.StoredProcedure);
- 143
- 144 }
- 145 if (rst > 0)
- 146 {
- 147 rstsate.status = 200;
- 148 rstsate.msg = "成功";
- 149 }
- 150
- 151
- 152 //"{status: = " + code + ", msg = " + msg + ", data = " + null "}";
- 153 return rstsate;
- 154 //rst 返回1为成功
- 155 // return Json(new { code = 200, msg = "ok" });
- 156 }
- 157 /// <summary>
- 158 /// 组织主数据/部门主数据新增/更新
- 159 /// </summary>
- 160 /// <returns></returns>
- 161 [HttpPost("AddDivision")]
- 162 public async Task<ErpMesRts> AddDivision([FromBody] DivisionModel divisions)
- 163 {
- 164 int rst = -1;
- 165 ErpMesRts rstsate = new ErpMesRts();
- 166
- 167 string connectionString = ConnectionStr();//链接字符串
- 168 DynamicParameters paras = new DynamicParameters();
- 169 string Ctworkter = JsonConvert.SerializeObject(divisions);
- 170 paras.Add("@JosnName", Ctworkter);
- 171 // paras.Add("@sum", 0, DbType.Int32, ParameterDirection.Output);// 指明是输出参数,这里为指明参数类型大小
- 172 using (IDbConnection connection = new SqlConnection(connectionString))
- 173 {
- 174 try
- 175 {
- 176 rst = await connection.ExecuteAsync("proc_ERP_MesAddDivision", paras, commandType: CommandType.StoredProcedure);
- 177 }
- 178 catch (Exception e)
- 179 {
- 180 rstsate.msg = e.Message.ToString() + "数据库异常";
- 181
- 182 }
- 183 // 执行存储过程
- 184 // rst = await connection.ExecuteAsync("proc_AddSysUser01", paras , commandType: CommandType.StoredProcedure);
- 185
- 186 }
- 187 if (rst > 0)
- 188 {
- 189 rstsate.status = 200;
- 190 rstsate.msg = "成功";
- 191 }
- 192
- 193
- 194 //"{status: = " + code + ", msg = " + msg + ", data = " + null "}";
- 195 return rstsate;
- 196 //rst 返回1为成功
- 197 // return Json(new { code = 200, msg = "ok" });
- 198 }
- 199 /// <summary>
- 200 /// 物料类型新增/更新
- 201 /// </summary>
- 202 /// <returns></returns>
- 203 [HttpPost("AddProductType")]
- 204 public async Task<ErpMesRts> AddProductType([FromBody] ProductTypeModel productTypes)
- 205 {
- 206 int rst = -1;
- 207 ErpMesRts rstsate = new ErpMesRts();
- 208
- 209 string connectionString = ConnectionStr();//链接字符串
- 210 DynamicParameters paras = new DynamicParameters();
- 211 string Ctworkter = JsonConvert.SerializeObject(productTypes);
- 212 paras.Add("@JosnName", Ctworkter);
- 213 // paras.Add("@sum", 0, DbType.Int32, ParameterDirection.Output);// 指明是输出参数,这里为指明参数类型大小
- 214 using (IDbConnection connection = new SqlConnection(connectionString))
- 215 {
- 216 try
- 217 {
- 218 rst = await connection.ExecuteAsync("proc_ERP_MesAddProductType", paras, commandType: CommandType.StoredProcedure);
- 219 }
- 220 catch (Exception e)
- 221 {
- 222 rstsate.msg = e.Message.ToString() + "数据库异常";
- 223
- 224 }
- 225 // 执行存储过程
- 226 // rst = await connection.ExecuteAsync("proc_AddSysUser01", paras , commandType: CommandType.StoredProcedure);
- 227
- 228 }
- 229 if (rst > 0)
- 230 {
- 231 rstsate.status = 200;
- 232 rstsate.msg = "成功";
- 233 }
- 234
- 235
- 236 //"{status: = " + code + ", msg = " + msg + ", data = " + null "}";
- 237 return rstsate;
- 238 //rst 返回1为成功
- 239 // return Json(new { code = 200, msg = "ok" });
- 240 }
- 241 /// <summary>
- 242 /// 物料主数据新增/更新
- 243 /// </summary>
- 244 /// <returns></returns>
- 245 [HttpPost("AddProduct")]
- 246 public async Task<ErpMesRts> AddProduct([FromBody] ProductModel products)
- 247 {
- 248 int rst = -1;
- 249 ErpMesRts rstsate = new ErpMesRts();
- 250
- 251 string connectionString = ConnectionStr();//链接字符串
- 252 DynamicParameters paras = new DynamicParameters();
- 253 string Ctworkter = JsonConvert.SerializeObject(products);
- 254 paras.Add("@JosnName", Ctworkter);
- 255 // paras.Add("@sum", 0, DbType.Int32, ParameterDirection.Output);// 指明是输出参数,这里为指明参数类型大小
- 256 using (IDbConnection connection = new SqlConnection(connectionString))
- 257 {
- 258 try
- 259 {
- 260 rst = await connection.ExecuteAsync("proc_ERP_MesAddProduct", paras, commandType: CommandType.StoredProcedure);
- 261 }
- 262 catch (Exception e)
- 263 {
- 264 rstsate.msg = e.Message.ToString() + "数据库异常";
- 265
- 266 }
- 267 // 执行存储过程
- 268 // rst = await connection.ExecuteAsync("proc_AddSysUser01", paras , commandType: CommandType.StoredProcedure);
- 269
- 270 }
- 271 if (rst > 0)
- 272 {
- 273 rstsate.status = 200;
- 274 rstsate.msg = "成功";
- 275 }
- 276
- 277
- 278 //"{status: = " + code + ", msg = " + msg + ", data = " + null "}";
- 279 return rstsate;
- 280 //rst 返回1为成功
- 281 // return Json(new { code = 200, msg = "ok" });
- 282 }
- 283
- 284
- 285
- 286
- 287
- 288 /*
- 289 /// <summary>
- 290 /// 库存组织更新
- 291 /// </summary>
- 292 /// <param name="testModel">接收对象</param>
- 293 /// <returns></returns>
- 294 [HttpPost("UpdatWorkcenter")]
- 295 public async Task<string> updateBlog([FromBody] WorkcenterModel testModel)
- 296 {
- 297 //这个就代表的你第二层,懂弄?很多层都是一样的
- 298
- 299
- 300 int rst = -1;
- 301 int code = 500;
- 302 string msg = "失败";
- 303 string connectionString = ConnectionStr();//链接字符串
- 304 using (IDbConnection connection = new SqlConnection(connectionString))
- 305 { try
- 306 { // 执行存储过程
- 307 rst = await connection.ExecuteAsync(" UPDATE Workcenter SET WorkcenterDescription=isnull(@WorkcenterDescription,WorkcenterDescription),IsHB=@IsHB, SiteId=@SiteId,SiteName = @SiteName,IsClosed = @IsClosed WHERE WorkcenterName = @WorkcenterName ", testModel.workcenters);
- 308 }
- 309 catch (Exception e)
- 310 {
- 311 msg = e.Message.ToString() + "数据库异常";
- 312
- 313 }
- 314 }
- 315 if (rst > 0)
- 316 {
- 317 code = 200;
- 318 msg = "成功";
- 319 }
- 320 return "{code = " + code + ", msg = " + msg + "}";
- 321 }
- 322
- 323 */
- 324
- 325 }
- 326 }
复制代码 View Code用restful 风格创建接口
链接字符串
2、webapi发布
发布路径
发布时选择空文件
选择路径
发布完成示例图
注意编辑接口是会勾选XML输出
这个路径打包编译时是不会自动编译过去的
3、发布到IIS上
创建应用池时(创建无托管、集成)
部署服务器环境需要安装三个文件
https://dotnet.microsoft.com/zh-cn/download/dotnet/5.0环境下载、也可参照其他链接https://blog.csdn.net/xiaochenXIHUA/article/details/118027591
环境安装后需要将文件发布IIS上
同时配置将XML文件考到发布文件里面
配制web.config加下面节点
配置代码
- 1 <?xml version="1.0" encoding="utf-8"?>
- 2 <configuration>
- 3 <location path="." inheritInChildApplications="false">
- 4 <system.webServer>
- 5 <handlers>
- 6 <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
- 7 </handlers>
- 8 <aspNetCore processPath="dotnet" arguments=".\MesErp.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" >
- 9 <environmentVariables>
- 10 <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
- 11 </environmentVariables>
- 12 </aspNetCore>
- 13 </system.webServer>
- 14 </location>
- 15 </configuration>
- 16
复制代码 View Code运行webapi
来源:https://www.cnblogs.com/donywc/archive/2023/05/09/17384647.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|