/// <summary> /// 金庫進出管理作業-順序調整申請覆核 /// </summary> /// <param name="saveData">申請覆核的資料</param> /// <param name="searchModel">查詢ViwModel</param> /// <returns></returns> public MSGReturnModel <IEnumerable <ITinItem> > TinOrderApplyAudit(IEnumerable <ITinItem> saveData, ITinItem searchModel) { var searchData = (DepChkItemSearchViewModel)searchModel; var result = new MSGReturnModel <IEnumerable <ITinItem> >(); result.RETURN_FLAG = false; DateTime dt = DateTime.Now; try { if (saveData != null) { var datas = (List <DepChkItemViewModel>)saveData; if (datas.Any()) { using (TreasuryDBEntities db = new TreasuryDBEntities()) { //取得流水號 SysSeqDao sysSeqDao = new SysSeqDao(); String qPreCode = DateUtil.getCurChtDateTime().Split(' ')[0]; string _Aply_No = string.Empty; var cId = sysSeqDao.qrySeqNo("G9", qPreCode).ToString().PadLeft(3, '0'); _Aply_No = $@"G9{qPreCode}{cId}"; //申請單號 G9+系統日期YYYMMDD(民國年)+3碼流水號 string logStr = string.Empty; //log foreach (var item in datas) { #region 定存檢核表項目設定異動檔 var _DCI_Data = db.DEP_CHK_ITEM.FirstOrDefault(x => x.ACCESS_TYPE == item.vAccess_Type && x.ISORTBY == item.vIsortby); var _DCIH = new DEP_CHK_ITEM_HIS() { APLY_NO = _Aply_No, ACCESS_TYPE = item.vAccess_Type, ISORTBY = item.vIsortby, EXEC_ACTION = "O", DEP_CHK_ITEM_DESC = _DCI_Data.DEP_CHK_ITEM_DESC, IS_DISABLED = _DCI_Data.IS_DISABLED, ITEM_ORDER = item.vItem_Order, REPLACE = _DCI_Data.REPLACE, APPR_STATUS = "1",//表單申請 DEP_CHK_ITEM_DESC_B = _DCI_Data.DEP_CHK_ITEM_DESC, IS_DISABLED_B = _DCI_Data.IS_DISABLED, ITEM_ORDER_B = _DCI_Data.ITEM_ORDER, REPLACE_B = _DCI_Data.REPLACE, APLY_UID = searchData.vLast_Update_Uid, APLY_DATE = dt }; db.DEP_CHK_ITEM_HIS.Add(_DCIH); logStr += "|"; logStr += _DCIH.modelToString(); #endregion } #region Save Db var validateMessage = db.GetValidationErrors().getValidateString(); if (validateMessage.Any()) { result.DESCRIPTION = validateMessage; } else { try { db.SaveChanges(); #region LOG //新增LOG Log log = new Log(); log.CFUNCTION = "申請覆核-新增定存檢核表項目"; log.CACTION = "A"; log.CCONTENT = logStr; LogDao.Insert(log, searchData.vLast_Update_Uid); #endregion result.RETURN_FLAG = true; result.DESCRIPTION = Ref.MessageType.Apply_Audit_Success.GetDescription(null, $@"單號為{_Aply_No}"); } catch (DbUpdateException ex) { result.DESCRIPTION = ex.exceptionMessage(); } } #endregion } } else { result.DESCRIPTION = Ref.MessageType.not_Find_Audit_Data.GetDescription(); } } else { result.DESCRIPTION = Ref.MessageType.not_Find_Audit_Data.GetDescription(); } } catch (Exception ex) { result.DESCRIPTION = ex.exceptionMessage(); } return(result); }
/// <summary> /// 金庫進出管理作業-申請覆核 /// </summary> /// <param name="saveData">申請覆核的資料</param> /// <param name="searchModel">查詢ViwModel</param> /// <returns></returns> public MSGReturnModel <IEnumerable <ITinItem> > TinApplyAudit(IEnumerable <ITinItem> saveData, ITinItem searchModel) { var searchData = (DepChkItemSearchViewModel)searchModel; var result = new MSGReturnModel <IEnumerable <ITinItem> >(); result.RETURN_FLAG = false; DateTime dt = DateTime.Now; try { if (saveData != null) { var datas = (List <DepChkItemViewModel>)saveData; if (datas.Any()) { using (TreasuryDBEntities db = new TreasuryDBEntities()) { //取得流水號 SysSeqDao sysSeqDao = new SysSeqDao(); String qPreCode = DateUtil.getCurChtDateTime().Split(' ')[0]; string _Aply_No = string.Empty; var cId = sysSeqDao.qrySeqNo("G9", qPreCode).ToString().PadLeft(3, '0'); _Aply_No = $@"G9{qPreCode}{cId}"; //申請單號 G9+系統日期YYYMMDD(民國年)+3碼流水號 string logStr = string.Empty; //log foreach (var item in datas) { int _Isortby = 0, _Item_Order = 0; var _DCI = new DEP_CHK_ITEM(); #region 定存檢核表項目設定檔 //判斷執行功能 switch (item.vExec_Action) { case "A": //新增 //判斷交易別 if (item.vAccess_Type == "P") { _Isortby = sysSeqDao.qrySeqNo("DCI_P", string.Empty); //_Item_Order = GetItem_Order("P"); } else if (item.vAccess_Type == "G") { _Isortby = sysSeqDao.qrySeqNo("DCI_G", string.Empty); //_Item_Order = GetItem_Order("G"); } //_DCI = new DEP_CHK_ITEM() //{ // ACCESS_TYPE=item.vAccess_Type, // ISORTBY= _Isortby, // DEP_CHK_ITEM_DESC=item.vDep_Chk_Item_Desc, // IS_DISABLED=item.vIs_Disabled, // ITEM_ORDER= _Item_Order, // REPLACE=item.vReplace, // DATA_STATUS = "2",//凍結中 // CREATE_UID = searchData.vLast_Update_Uid, // CREATE_DT = dt, // LAST_UPDATE_UID = searchData.vLast_Update_Uid, // LAST_UPDATE_DT = dt, // FREEZE_UID = searchData.vLast_Update_Uid, // FREEZE_DT = dt //}; //db.DEP_CHK_ITEM.Add(_DCI); //logStr += "|"; //logStr += _DCI.modelToString(); break; case "U": //修改 _DCI = db.DEP_CHK_ITEM.FirstOrDefault(x => x.ACCESS_TYPE == item.vAccess_Type && x.ISORTBY == item.vIsortby); if (_DCI.LAST_UPDATE_DT != null && _DCI.LAST_UPDATE_DT > item.vLast_Update_Dt) { result.DESCRIPTION = Ref.MessageType.already_Change.GetDescription(); return(result); } _Isortby = item.vIsortby; _Item_Order = _DCI.ITEM_ORDER; _DCI.DATA_STATUS = "2";//凍結中 _DCI.LAST_UPDATE_UID = searchData.vLast_Update_Uid; _DCI.LAST_UPDATE_DT = dt; _DCI.FREEZE_UID = searchData.vLast_Update_Uid; _DCI.FREEZE_DT = dt; logStr += "|"; logStr += _DCI.modelToString(); break; default: break; } #endregion #region 定存檢核表項目設定異動檔 var _DCI_Data = db.DEP_CHK_ITEM.FirstOrDefault(x => x.ACCESS_TYPE == item.vAccess_Type && x.ISORTBY == item.vIsortby); if (_DCI_Data == null) { var _DCIH = new DEP_CHK_ITEM_HIS() { APLY_NO = _Aply_No, ACCESS_TYPE = item.vAccess_Type, ISORTBY = _Isortby, EXEC_ACTION = item.vExec_Action, DEP_CHK_ITEM_DESC = item.vDep_Chk_Item_Desc, IS_DISABLED = item.vIs_Disabled, ITEM_ORDER = _Item_Order, REPLACE = item.vReplace, APPR_STATUS = "1",//表單申請 APLY_UID = searchData.vLast_Update_Uid, APLY_DATE = dt }; db.DEP_CHK_ITEM_HIS.Add(_DCIH); logStr += "|"; logStr += _DCIH.modelToString(); } else { var _DCIH = new DEP_CHK_ITEM_HIS() { APLY_NO = _Aply_No, ACCESS_TYPE = item.vAccess_Type, ISORTBY = _Isortby, EXEC_ACTION = item.vExec_Action, DEP_CHK_ITEM_DESC = item.vDep_Chk_Item_Desc, IS_DISABLED = item.vIs_Disabled, ITEM_ORDER = _Item_Order, REPLACE = item.vReplace, APPR_STATUS = "1",//表單申請 DEP_CHK_ITEM_DESC_B = _DCI_Data.DEP_CHK_ITEM_DESC, IS_DISABLED_B = _DCI_Data.IS_DISABLED, ITEM_ORDER_B = _DCI_Data.ITEM_ORDER, REPLACE_B = _DCI_Data.REPLACE, APLY_UID = searchData.vLast_Update_Uid, APLY_DATE = dt }; db.DEP_CHK_ITEM_HIS.Add(_DCIH); logStr += "|"; logStr += _DCIH.modelToString(); } #endregion } #region Save Db var validateMessage = db.GetValidationErrors().getValidateString(); if (validateMessage.Any()) { result.DESCRIPTION = validateMessage; } else { try { db.SaveChanges(); #region LOG //新增LOG Log log = new Log(); log.CFUNCTION = "申請覆核-新增定存檢核表項目"; log.CACTION = "A"; log.CCONTENT = logStr; LogDao.Insert(log, searchData.vLast_Update_Uid); #endregion result.RETURN_FLAG = true; result.DESCRIPTION = Ref.MessageType.Apply_Audit_Success.GetDescription(null, $@"單號為{_Aply_No}"); } catch (DbUpdateException ex) { result.DESCRIPTION = ex.exceptionMessage(); } } #endregion } } else { result.DESCRIPTION = Ref.MessageType.not_Find_Audit_Data.GetDescription(); } } else { result.DESCRIPTION = Ref.MessageType.not_Find_Audit_Data.GetDescription(); } } catch (Exception ex) { result.DESCRIPTION = ex.exceptionMessage(); } return(result); }