Browse Source

1.修改使用者资料维护SYS008

1.1.增加厂别
1.2.修改时登入账号只读
2.修改个人密码修改SYS011,账号只读
3.修改流程站别资料BAS010
PTD
Marvin 2 years ago
parent
commit
c0e9df8d99
  1. 10
      AMESCoreStudio.Web/Controllers/BASController.cs
  2. 24
      AMESCoreStudio.Web/Controllers/SYSController.cs
  3. 7
      AMESCoreStudio.Web/HttpApis/IBAS.cs
  4. 1
      AMESCoreStudio.Web/Views/BAS/BAS010.cshtml
  5. 5
      AMESCoreStudio.Web/Views/SYS/SYS008C.cshtml
  6. 5
      AMESCoreStudio.Web/Views/SYS/SYS008S.cshtml
  7. 7
      AMESCoreStudio.Web/Views/SYS/SYS008U.cshtml
  8. 2
      AMESCoreStudio.Web/Views/SYS/SYS011.cshtml
  9. 102
      AMESCoreStudio.WebApi/Controllers/BAS/RuleStationsController.cs

10
AMESCoreStudio.Web/Controllers/BASController.cs

@ -1392,7 +1392,7 @@ namespace AMESCoreStudio.Web.Controllers
[ResponseCache(Duration = 0)] [ResponseCache(Duration = 0)]
[HttpGet] [HttpGet]
public async Task<IActionResult> GetRuleStationsByFlowAsync(int flowId, int page = 0, int limit = 10) public async Task<IActionResult> GetRuleStationsByFlowAsync(string unitNo,int flowId, int page = 0, int limit = 10)
{ {
var flow_id = ""; var flow_id = "";
HttpContext.Request.Cookies.TryGetValue("FlowID4BAS010", out flow_id); HttpContext.Request.Cookies.TryGetValue("FlowID4BAS010", out flow_id);
@ -1426,9 +1426,13 @@ namespace AMESCoreStudio.Web.Controllers
HttpContext.Response.Cookies.Delete("FlowID4BAS010"); HttpContext.Response.Cookies.Delete("FlowID4BAS010");
var result_total = await _basApi.GetRuleStationsByFlow(flowId, 0, limit); //var result_total = await _basApi.GetRuleStationsByFlow(flowId, 0, limit);
var result = await _basApi.GetRuleStationsByFlow(flowId, page, limit); //var result = await _basApi.GetRuleStationsByFlow(flowId, page, limit);
var result_total = await _basApi.GetRuleStationsByFlow2(unitNo + "_" + flowId.ToString(), 0, limit);
var result = await _basApi.GetRuleStationsByFlow2(unitNo + "_" + flowId.ToString(), page, limit);
if (result.Count > 0) if (result.Count > 0)
{ {

24
AMESCoreStudio.Web/Controllers/SYSController.cs

@ -18,15 +18,33 @@ namespace AMESCoreStudio.Web.Controllers
private readonly ILogger<SYSController> _logger; private readonly ILogger<SYSController> _logger;
public readonly ISYS _sysApi; public readonly ISYS _sysApi;
public readonly IPCS _pcsApi; public readonly IPCS _pcsApi;
public readonly IBAS _basApi;
private readonly IStringLocalizer _sharedLocalizer; private readonly IStringLocalizer _sharedLocalizer;
public SYSController(ILogger<SYSController> logger, ISYS sysApi , IPCS pcsApi, IStringLocalizer<SharedResource> sharedLocalizer) public SYSController(ILogger<SYSController> logger, IBAS basApi, ISYS sysApi , IPCS pcsApi, IStringLocalizer<SharedResource> sharedLocalizer)
{ {
_logger = logger; _logger = logger;
_sysApi = sysApi; _sysApi = sysApi;
_pcsApi = pcsApi; _pcsApi = pcsApi;
_basApi = basApi;
_sharedLocalizer = sharedLocalizer; _sharedLocalizer = sharedLocalizer;
} }
private async Task GetFactoryList()
{
var result = await _basApi.GetFactoryInfoes();
var FactoryItems = new List<SelectListItem>();
FactoryItems.Add(new SelectListItem("N/A", "-1"));
foreach (var item in result)
{
FactoryItems.Add(new SelectListItem(item.FactoryNameCh, item.FactoryID.ToString()));
}
ViewBag.FactoryList = FactoryItems;
}
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
@ -1021,6 +1039,8 @@ namespace AMESCoreStudio.Web.Controllers
public async Task<IActionResult> SYS008C() public async Task<IActionResult> SYS008C()
{ {
await GetDeptList(); await GetDeptList();
await GetFactoryList();
return View(); return View();
} }
@ -1029,6 +1049,7 @@ namespace AMESCoreStudio.Web.Controllers
public async Task<IActionResult> SYS008UAsync(int id) public async Task<IActionResult> SYS008UAsync(int id)
{ {
await GetDeptList(); await GetDeptList();
await GetFactoryList();
var result = await _sysApi.GetUserInfo(id); var result = await _sysApi.GetUserInfo(id);
@ -1044,6 +1065,7 @@ namespace AMESCoreStudio.Web.Controllers
public async Task<IActionResult> SYS008SAsync(int id) public async Task<IActionResult> SYS008SAsync(int id)
{ {
await GetDeptList(); await GetDeptList();
await GetFactoryList();
var result = await _sysApi.GetUserInfo(id); var result = await _sysApi.GetUserInfo(id);
result[0].UserStatusID = EnumUserStatus.Disabled; result[0].UserStatusID = EnumUserStatus.Disabled;

7
AMESCoreStudio.Web/HttpApis/IBAS.cs

@ -420,6 +420,13 @@ namespace AMESCoreStudio.Web
[WebApiClient.Attributes.HttpGet("api/RuleStations/Flow/{id}")] [WebApiClient.Attributes.HttpGet("api/RuleStations/Flow/{id}")]
ITask<List<RuleStation>> GetRuleStationsByFlow(int id, int page = 0, int limit = 10); ITask<List<RuleStation>> GetRuleStationsByFlow(int id, int page = 0, int limit = 10);
/// <summary>
/// 根据流程ID獲取流程站別資料
/// </summary>
/// <returns></returns>
[WebApiClient.Attributes.HttpGet("api/RuleStations/Flow2/{id}")]
ITask<List<RuleStation>> GetRuleStationsByFlow2(string id, int page = 0, int limit = 10);
/// <summary> /// <summary>
/// 獲取流程站別資料 /// 獲取流程站別資料
/// </summary> /// </summary>

1
AMESCoreStudio.Web/Views/BAS/BAS010.cshtml

@ -251,6 +251,7 @@
if (flowId.value != 0) { if (flowId.value != 0) {
$("#flow").val(flowId.value); $("#flow").val(flowId.value);
} }
//基本数据表格 //基本数据表格
var table = hg.table.datatable('test', '流程站別管理', '/BAS/GetRuleStationsByFlow/' + flowId.value, {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']); var table = hg.table.datatable('test', '流程站別管理', '/BAS/GetRuleStationsByFlow/' + flowId.value, {}, tableCols, toolbar, true, 'full-100', ['filter', 'print', 'exports']);

5
AMESCoreStudio.Web/Views/SYS/SYS008C.cshtml

@ -55,6 +55,11 @@
<select asp-for="UserStatusID" asp-items="Html.GetEnumSelectList<AMESCoreStudio.WebApi.EnumUserStatus>()" class="custom-select col-sm-8" disabled></select> <select asp-for="UserStatusID" asp-items="Html.GetEnumSelectList<AMESCoreStudio.WebApi.EnumUserStatus>()" class="custom-select col-sm-8" disabled></select>
<span asp-validation-for="UserStatusID" class="text-danger offset-sm-3 my-sm-1"></span> <span asp-validation-for="UserStatusID" class="text-danger offset-sm-3 my-sm-1"></span>
</div> </div>
<div class="form-group form-inline my-sm-1">
<label asp-for="FactoryID" class="control-label col-sm-3"></label>
<select asp-for="FactoryID" asp-items="@ViewBag.FactoryList" class="custom-select col-sm-8"></select>
<span asp-validation-for="UserStatusID" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span> <span style="color: firebrick;word-break: break-all;" class="text-danger offset-sm-3">@Html.ValidationMessage("error")</span>
<div class="form-group"> <div class="form-group">
<input type="submit" value="保存" class="btn btn-primary offset-sm-3" /> <input type="submit" value="保存" class="btn btn-primary offset-sm-3" />

5
AMESCoreStudio.Web/Views/SYS/SYS008S.cshtml

@ -53,6 +53,11 @@
<input asp-for="UserCellPhone" type="tel" class="form-control col-sm-9" placeholder="請輸入用戶手機" /> <input asp-for="UserCellPhone" type="tel" class="form-control col-sm-9" placeholder="請輸入用戶手機" />
<span asp-validation-for="UserCellPhone" class="text-danger offset-sm-3 my-sm-1"></span> <span asp-validation-for="UserCellPhone" class="text-danger offset-sm-3 my-sm-1"></span>
</div> </div>
<div class="form-group form-inline my-sm-1">
<label asp-for="FactoryID" class="control-label col-sm-3"></label>
<select asp-for="FactoryID" asp-items="@ViewBag.FactoryList" class="custom-select col-sm-8"></select>
<span asp-validation-for="UserStatusID" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1"> <div class="form-group form-inline my-sm-1">
<label asp-for="UserStatusID" class="control-label col-sm-3"></label> <label asp-for="UserStatusID" class="control-label col-sm-3"></label>
<select asp-for="UserStatusID" asp-items="Html.GetEnumSelectList<AMESCoreStudio.WebApi.EnumUserStatus>()" class="custom-select col-sm-8"></select> <select asp-for="UserStatusID" asp-items="Html.GetEnumSelectList<AMESCoreStudio.WebApi.EnumUserStatus>()" class="custom-select col-sm-8"></select>

7
AMESCoreStudio.Web/Views/SYS/SYS008U.cshtml

@ -35,7 +35,7 @@
</div> </div>
<div class="form-group form-inline my-sm-1"> <div class="form-group form-inline my-sm-1">
<label asp-for="LoginNo" class="control-label col-sm-3"></label> <label asp-for="LoginNo" class="control-label col-sm-3"></label>
<input asp-for="LoginNo" class="form-control col-sm-9" placeholder="請輸入登入帳號" /> <input asp-for="LoginNo" class="form-control col-sm-9" placeholder="請輸入登入帳號" readonly />
<span asp-validation-for="LoginNo" class="text-danger offset-sm-3 my-sm-1"></span> <span asp-validation-for="LoginNo" class="text-danger offset-sm-3 my-sm-1"></span>
</div> </div>
<div class="form-group form-inline my-sm-1"> <div class="form-group form-inline my-sm-1">
@ -53,6 +53,11 @@
<input asp-for="UserCellPhone" type="tel" class="form-control col-sm-9" placeholder="請輸入用戶手機" /> <input asp-for="UserCellPhone" type="tel" class="form-control col-sm-9" placeholder="請輸入用戶手機" />
<span asp-validation-for="UserCellPhone" class="text-danger offset-sm-3 my-sm-1"></span> <span asp-validation-for="UserCellPhone" class="text-danger offset-sm-3 my-sm-1"></span>
</div> </div>
<div class="form-group form-inline my-sm-1">
<label asp-for="FactoryID" class="control-label col-sm-3"></label>
<select asp-for="FactoryID" asp-items="@ViewBag.FactoryList" class="custom-select col-sm-8"></select>
<span asp-validation-for="UserStatusID" class="text-danger offset-sm-3 my-sm-1"></span>
</div>
<div class="form-group form-inline my-sm-1"> <div class="form-group form-inline my-sm-1">
<label asp-for="UserStatusID" class="control-label col-sm-3"></label> <label asp-for="UserStatusID" class="control-label col-sm-3"></label>
<select asp-for="UserStatusID" asp-items="Html.GetEnumSelectList<AMESCoreStudio.WebApi.EnumUserStatus>()" class="custom-select col-sm-8"></select> <select asp-for="UserStatusID" asp-items="Html.GetEnumSelectList<AMESCoreStudio.WebApi.EnumUserStatus>()" class="custom-select col-sm-8"></select>

2
AMESCoreStudio.Web/Views/SYS/SYS011.cshtml

@ -25,7 +25,7 @@
<div class="form-group form-inline my-sm-1"> <div class="form-group form-inline my-sm-1">
<label asp-for="LoginNo" class="control-label col-sm-3"></label> <label asp-for="LoginNo" class="control-label col-sm-3"></label>
<input asp-for="LoginNo" class="form-control col-sm-9" placeholder="請輸入登入帳號" /> <input asp-for="LoginNo" class="form-control col-sm-9" placeholder="請輸入登入帳號" readonly />
<span asp-validation-for="LoginNo" class="text-danger offset-sm-3 my-sm-1"></span> <span asp-validation-for="LoginNo" class="text-danger offset-sm-3 my-sm-1"></span>
</div> </div>
<div class="form-group form-inline my-sm-1"> <div class="form-group form-inline my-sm-1">

102
AMESCoreStudio.WebApi/Controllers/BAS/RuleStationsController.cs

@ -111,6 +111,108 @@ namespace AMESCoreStudio.WebApi.Controllers.BAS
} }
/// <summary>
/// 根據製程代碼+流程ID獲取該流程站別資料
/// </summary>
/// <param name="id"></param>
/// <param name="page"></param>
/// <param name="limit"></param>
/// <returns></returns>
[HttpGet("Flow2/{id}")]
public async Task<ActionResult<IEnumerable<RuleStation>>> GetRuleStationByFlow2(string id, int page = 0, int limit = 10)
{
IQueryable<RuleStation> q = _context.RuleStations;
IQueryable<FlowRule> q1 = _context.FlowRules;
string[] param = id.Split('_');
if (param[0] != "*" && param[0] != "" && param[0] != null)
{
q1 = q1.Where(p => p.UnitNo.Equals(param[0]));
var flow = await q1.ToListAsync();
if (flow.Count == 0)
{
q = q.Where(p => p.FlowRuleID.Equals(-1));
if (page > 0)
{
q = q.OrderBy(p => p.Sequence).Skip((page - 1) * limit).Take(limit);
}
else
{
q = q.OrderBy(p => p.Sequence);
}
}
else
{
int[] list = new int[flow.Count];
for (int i = 0; i < list.Length; i++)
{
list[i] = flow[i].FlowRuleID;
}
if (int.Parse(param[1]) > 0)
{
q = q.Where(p => p.FlowRuleID.Equals(int.Parse(param[1])));
}
else
{
q = q.Where(p => list.Contains(p.FlowRuleID));
}
if (page > 0)
{
q = q.OrderBy(p => p.Sequence).Skip((page - 1) * limit).Take(limit);
}
else
{
q = q.OrderBy(p => p.Sequence);
}
}
}
else
{
if (int.Parse(param[1]) > 0)
{
q = q.Where(p => p.FlowRuleID.Equals(int.Parse(param[1])));
}
if (page > 0)
{
q = q.OrderBy(p => p.Sequence).Skip((page - 1) * limit).Take(limit);
}
else
{
q = q.OrderBy(p => p.Sequence);
}
}
try
{
var ruleStation = await q.ToListAsync();
foreach (var data in ruleStation)
{
data.Station = _context.Stationses.Where(p1 => p1.StationID.Equals(data.StationID)).FirstOrDefault();
}
if (ruleStation == null)
{
return NotFound();
}
return ruleStation;
}
catch (Exception e1)
{
string msg = e1.Message;
}
return NotFound();
}
/// <summary> /// <summary>
/// 根據流程站別ID獲取指定單一資料 /// 根據流程站別ID獲取指定單一資料
/// </summary> /// </summary>

Loading…
Cancel
Save