Beispiel #1
0
        public JsonResult GetDistFileList(int?dist_idx)
        {
            if (dist_idx == null)
            {
                return(Json(null));
            }
            try
            {
                DistEoModel distEo = Mapper.Instance().QueryForObject <DistEoModel>("DIST.selDistEo", new DistEoModel {
                    dist_idx = dist_idx
                });

                int?eoIDX        = distEo == null ? null : distEo.eo_idx;
                var distFileList = Mapper.Instance().QueryForList <DistRecvFileModel>("DIST.selDistFileList", new DistRecvFileModel {
                    eo_idx = eoIDX, dist_idx = dist_idx
                });

                return(Json(distFileList));
            }
            catch (Exception ex)
            {
                return(Json(new ResultJsonModel {
                    isError = true, resultMessage = ex.Message, resultDescription = ex.ToString()
                }));
            }
        }
Beispiel #2
0
        public JsonResult SetDistEoInfo(DistEoModel distEo)
        {
            try
            {
                bool isNew = distEo.dist_idx == null ? true : false;
                Mapper.Instance().BeginTransaction();
                // 신규
                if (isNew)
                {
                    distEo.dist_idx = SetDistMaster(new DistMasterModel()
                    {
                        eo_fl = "Y", dist_st = "CR", create_us = Convert.ToInt32(Session["USER_IDX"])
                    });
                    Mapper.Instance().Insert("DIST.insDistEo", distEo);
                }
                else
                {
                    DistEoModel compareEo = Mapper.Instance().QueryForObject <DistEoModel>("DIST.selDistEo", new DistEoModel()
                    {
                        dist_idx = distEo.dist_idx
                    });

                    // 기존 EO에 속한 파일이 있을 경우 지워버린다.
                    if (compareEo != null)
                    {
                        Mapper.Instance().Delete("DIST.delDistRecvEoFile", new DistRecvFileModel {
                            dist_idx = distEo.dist_idx, eo_idx = compareEo.eo_idx
                        });
                        Mapper.Instance().Update("DIST.udtDistEo", distEo);
                    }
                    else
                    {
                        Mapper.Instance().Insert("DIST.insDistEo", distEo);
                    }

                    SetUdtDistMaster(new DistMasterModel {
                        dist_idx = distEo.dist_idx
                    });
                }

                SetRecieverLinkFile(distEo.dist_idx);

                DistMasterModel dist = Mapper.Instance().QueryForObject <DistMasterModel>("DIST.selDistMaster", new DistMasterModel()
                {
                    dist_idx = distEo.dist_idx
                });

                LogCtrl.SetLog(distEo, eActionType.DistEoSave, this.HttpContext, dist.dist_title);
                Mapper.Instance().CommitTransaction();
                return(Json(distEo.dist_idx));
            }
            catch (Exception ex)
            {
                Mapper.Instance().RollBackTransaction();
                return(Json(new ResultJsonModel {
                    isError = true, resultMessage = ex.Message, resultDescription = ex.ToString()
                }));
            }
        }
Beispiel #3
0
        public ActionResult distPartBom(int?dist_idx)
        {
            DistEoModel distEo = Mapper.Instance().QueryForObject <DistEoModel>("DIST.selDistEo", new DistEoModel()
            {
                dist_idx = dist_idx
            });

            ViewBag.dist_idx = dist_idx;
            ViewBag.eo_idx   = distEo.eo_idx;

            return(View("Dialog/dlgDistPartBom"));
        }
Beispiel #4
0
        public JsonResult GetDistEoList(DistEoModel searchModel)
        {
            var eoList = Mapper.Instance().QueryForList <DistEoModel>("DIST.selDistEo", searchModel);

            return(Json(eoList));
        }
Beispiel #5
0
        /// <summary>
        /// 배포 데이터중 파일과 수신자를 연결 (처음 수신자 OR 파일 등록 시 모든 수신자가 해당 파일을 받을 수 있도록 설정함.)
        /// 호출시 Transaction 필수 임
        /// </summary>
        /// <param name="dist_idx">배포 IDX</param>
        /// <returns></returns>
        public void SetRecieverLinkFile(int?dist_idx)
        {
            try
            {
                // 수신자가 없을 경우 retrun
                var distRecv = Mapper.Instance().QueryForList <DistReceiverModel>("DIST.selDistReceiver", new DistReceiverModel()
                {
                    dist_idx = dist_idx
                });
                if (distRecv.Count == 0)
                {
                    return;
                }

                // 모든 수신자의 파일들
                List <DistRecvFileModel> distRecvFileList = Mapper.Instance().QueryForList <DistRecvFileModel>("DIST.selDistRecvFile", new DistRecvFileModel {
                    dist_idx = dist_idx
                }).Cast <DistRecvFileModel>().ToList();

                // EO 정보
                DistEoModel distEo = Mapper.Instance().QueryForObject <DistEoModel>("DIST.selDistEo", new DistEoModel()
                {
                    dist_idx = dist_idx
                });

                int?eo_idx = distEo == null ? null : distEo.eo_idx;

                // 배당 배포에 속한 모든 파일
                List <DistRecvFileModel> distAllFileList = Mapper.Instance().QueryForList <DistRecvFileModel>("DIST.selDistFileList", new DistRecvFileModel()
                {
                    dist_idx = dist_idx, eo_idx = eo_idx
                }).Cast <DistRecvFileModel>().ToList();

                // EO 가 존재 할 경우에 EO에 속한 파일들을 수신자에 입력한다.
                if (distEo != null)
                {
                    var eoFileList = from eoFile in distAllFileList
                                     where eoFile.is_itf == "Y"
                                     select eoFile;

                    foreach (DistReceiverModel recv in distRecv)
                    {
                        foreach (DistRecvFileModel eoFIle in eoFileList)
                        {
                            var receiverEoFile = from f in distRecvFileList
                                                 where f.recv_idx == recv.recv_idx && f.link_file_idx == eoFIle.link_file_idx && f.is_itf == "Y"
                                                 select f;

                            // 해당 수신자에게 파일이 미리 등록되어 있을 경우는 패스함
                            if (receiverEoFile.Count() > 0)
                            {
                                continue;
                            }

                            // 파일이 없는 PART 가 넘어올수 있음(BOM)
                            if (eoFIle.link_file_idx == null)
                            {
                                continue;
                            }

                            Mapper.Instance().Insert("DIST.insDistRecvFile", new DistRecvFileModel {
                                dist_idx = dist_idx, recv_idx = recv.recv_idx, is_itf = "Y", link_file_idx = eoFIle.link_file_idx
                            });
                        }
                    }
                }

                // LOCAL 파일이 존재 할 경우에 수신자에게 LOCAL 파일을 입력한다.
                var localFileList = from localFile in distAllFileList
                                    where localFile.is_itf == "N"
                                    select localFile;

                foreach (DistReceiverModel recv in distRecv)
                {
                    foreach (DistRecvFileModel localFile in localFileList)
                    {
                        var receiverlocalFile = from f in distRecvFileList
                                                where f.recv_idx == recv.recv_idx && f.link_file_idx == localFile.link_file_idx && f.is_itf == "N"
                                                select f;

                        // 해당 수신자에게 파일이 미리 등록되어 있을 경우는 패스함
                        if (receiverlocalFile.Count() > 0)
                        {
                            continue;
                        }

                        Mapper.Instance().Insert("DIST.insDistRecvFile", new DistRecvFileModel {
                            dist_idx = dist_idx, recv_idx = recv.recv_idx, is_itf = "N", link_file_idx = localFile.link_file_idx
                        });
                    }
                }

                SetUdtDistMaster(new DistMasterModel {
                    dist_idx = dist_idx
                });
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }