๐Ÿ“–
BPackCore CodingConventions
  • ๊ณตํ†ต
  • Desktop Application
    • UI ๋””์ž์ธ ๋ฐ ์‹คํ–‰๊ตฌ์กฐ
    • ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ
    • ๋ช…๋ช…๊ทœ์น™ ๋ฐ ๊ตฌํ˜„
      • Model
      • IPocket
      • Pocket
      • Zipper
      • Carrying
        • Args (FormArgs)
        • MainForm
        • SubForm
        • EditForm
        • StrapControl
        • FileUp/Download
      • Tips
    • ๋‹ค๊ตญ์–ด์ฒ˜๋ฆฌ
  • Web Application - Mobile
    • UI ๋””์ž์ธ
    • ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ
    • ๋ช…๋ช…๊ทœ์น™ ๋ฐ ๊ตฌํ˜„
      • Model
      • Controller
      • View
      • Tips
    • ๋‹ค๊ตญ์–ด์ฒ˜๋ฆฌ
  • Database
    • ๋ช…๋ช…๊ทœ์น™
      • ์šฉ์–ด์‚ฌ์ „
    • SP ๊ตฌํ˜„
      • Template
      • ์ผ๋ จ๋ฒˆํ˜ธ๋ฐœํ–‰
    • ERD ์ž‘์„ฑ๊ทœ์น™ ๋ฐ ์ƒ˜ํ”Œ
  • ์†Œ์Šคํ˜•์ƒ๊ด€๋ฆฌ(Git/Gitlab)
  • WebAPI
Powered by GitBook
On this page
  1. Web Application - Mobile
  2. ๋ช…๋ช…๊ทœ์น™ ๋ฐ ๊ตฌํ˜„

Controller

Controller ์ƒ์„ฑ

Controllersํด๋” โ€“ ์—…๋ฌด๋ชจ๋“ˆํด๋”๋‚ด ์ƒ์„ฑ : Controllers.์—…๋ฌด๋ชจ๋“ˆ.XxxController.cs ex) Controllers.MM.PurInBoundController.cs

๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜๊ณ  Pocket์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€ View๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using BPackWebMobile.Models.Context;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Options;
using Dapper;
using BPackWebMobile.Models.MM.PurInBound;
using Microsoft.AspNetCore.Authorization;
using BPackWebMobile.Models;
using BPackWebMobile.Models.MM.PurDeliOrder;
using BPackWebMobile.Models.Common.LangWord;

namespace BPackWebMobile.Controllers.MM
{
    public class PurInBoundController : Controller
    {
        //๊ตฌ๋งค์ž…๊ณ  Pocket
        private readonly PurInBoundPocket _purInBoundPocket = new PurInBoundPocket();
        private readonly PurInBoundModelArgs _purInBoundModelArgs = new PurInBoundModelArgs();
        //๋‚ฉํ’ˆ์˜ˆ์ •์ •๋ณด Pocket
        private readonly PurDeliOrderPocket _purDeliOrderPocket = new PurDeliOrderPocket();
        private readonly PurDeliOrderModelArgs _purDeliOrderModelArgs = new PurDeliOrderModelArgs();
        private readonly LangWordPocket _langWordPocket = new LangWordPocket();
        public PurInBoundController()
        {

        }
        
        [Authorize]
        public IActionResult PurInBoundMain()
        {
            ViewBag.LangWordPurInbound = _langWordPocket.SelectLangWordModels(Models.Common.Login.LoginUserInfo.LangCode(HttpContext), "PDA_PurInbound");
            return View();
        }

        [HttpPost]
        public IActionResult BpPurInBound([FromBody]PurInBoundParamsModel purInBoundInsertModel)
        {
            string lang = Models.Common.Login.LoginUserInfo.LangCode(HttpContext);
            var now = DateTime.Now;
            PurInBoundHeaderModel purInBoundHeaderModel = new PurInBoundHeaderModel() {
                IN_PLANT_CD = "0044",
                BP_CD = "BP001",
                COMP_CD = "1000",
                CLOSE_DTTM = now,
                DO_NO = purInBoundInsertModel.DoNo,
                PIH_STATUS = "A001",
                CREATE_DTTM = now,
                MODIFY_DTTM = now,
                CREATE_USER_ID = Models.Common.Login.LoginUserInfo.UserID(HttpContext),
                MODIFY_USER_ID = Models.Common.Login.LoginUserInfo.UserID(HttpContext)
            };
            List<PurInBoundHuModel> purInBoundHuModels = new List<PurInBoundHuModel>();
            
            foreach (var model in purInBoundInsertModel.PurInBoundHuParamsModels)
            {
                purInBoundHuModels.Add(new PurInBoundHuModel() { 
                    HU_NO = model.DLO_BARCODE,
                    CREATE_DTTM = now,
                    MODIFY_DTTM = now,
                    CREATE_USER_ID = Models.Common.Login.LoginUserInfo.UserID(HttpContext),
                    MODIFY_USER_ID = Models.Common.Login.LoginUserInfo.UserID(HttpContext),
                    HU_STOCK_QTY = model.DLO_QTY,
                    INHU_INSP_STATUS = "",
                    INHU_IN_STATUS = "",
                    ITEM_CD = model.ITEM_CD,
                    IN_DTTM = now,
                    DEL_FG = "N"
                });
            }

            _purInBoundPocket.InsertPurInBoundHeaderDetail(purInBoundHeaderModel, purInBoundHuModels);


            return View();
        }

        public IActionResult SelectDeliOrderHuModelsByDoNo(string doNo)
        {
            _purDeliOrderModelArgs.Select_Do_No = "DOH20200101-00000001";
            var data = _purDeliOrderPocket.SelectPurDeliOrderHuModels(_purDeliOrderModelArgs);
            var hu = new List<PurInBoundHuParamsModel>();
            foreach (var model in data)
            {
                hu.Add(new PurInBoundHuParamsModel() { 
                    DLO_BARCODE = model.DLO_BARCODE,
                    ITEM_CD = model.ITEM_CD,
                    DLO_QTY = model.DLO_QTY,
                    UNIT = model.UNIT,
                    WORK_DT = model.WORK_DT.ToString("yyyy-MM-dd")
                });;
            }

            return Json(hu);
        }

        public IActionResult SelectPurInboundHuModels(string doNo)
        {
            _purInBoundModelArgs.Select_Pih_No = "DOH20200101-00000001";
            var data = _purInBoundPocket.SelectPurInboundHuModels(_purInBoundModelArgs);
            var hu = new List<PurInBoundHuParamsModel>();
            foreach (var model in data)
            {
                hu.Add(new PurInBoundHuParamsModel() { DLO_BARCODE = model.HU_NO });
            }
            return Json(hu);
        }

        [Authorize]
        public IActionResult PurInHeaderList()
        {
            var data = _purInBoundPocket.SelectPurInboundHeaderModels(_purInBoundModelArgs);
            return View(data);
        }

        public IActionResult PurInHuList(string pihNo)
        {
            _purInBoundModelArgs.Select_Pih_No = pihNo;
            var data = _purInBoundPocket.SelectPurInboundHuModels(_purInBoundModelArgs);
            ViewBag.SavedCount = data.Count;
            ViewBag.SavedSumQty = data.Sum(a => a.HU_STOCK_QTY).ToString("#.#");
            return View(data);
        }

        public IActionResult DeletePurInHu(string pihNo, string huNo)
        {
            try
            {
                _purInBoundModelArgs.Select_Pih_No = pihNo;
                _purInBoundModelArgs.Select_Hu_No = huNo;
                _purInBoundPocket.DeletePurInboundHuModel(_purInBoundModelArgs);
            }
            catch (Exception ex)
            {
                return StatusCode(500, ex.Message);
            }
            //return RedirectToAction("PurInHuList", new { pihNo });
            return Ok("์‚ญ์ œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.");
        }

        [HttpPost]
        public IActionResult AddNewPurInHuModelsToList([FromBody]List<PurInBoundHuModel> purInHuModels)
        {
            try
            {
                var now = DateTime.Now;
                var userid = Models.Common.Login.LoginUserInfo.UserID(HttpContext);
                foreach (var model in purInHuModels)
                {
                    model.CREATE_DTTM = now;
                    model.MODIFY_DTTM = now;
                    model.CREATE_USER_ID = userid;
                    model.MODIFY_USER_ID = userid;
                    model.INHU_IN_STATUS = "WAITING";
                    model.INHU_INSP_STATUS = "WAITING";
                }
                _purInBoundPocket.InsertPurInboundHuModels(purInHuModels);
            }
            catch (Exception ex)
            {
                return StatusCode(500, ex.Message);
            }
            return Ok("์ฒ˜๋ฆฌ์™„๋ฃŒ");
        }
        //List์— ์ถ”๊ฐ€์‹œ Validation

        //์ž…๊ณ ์ฒ˜๋ฆฌ
    }
}
PreviousModelNextView

Last updated 5 years ago