Пример #1
0
 /// <summary>
 /// 生成选中项的值和描述
 /// </summary>
 void GenerateSelectedValueAndText()
 {
     SelectedGridList = new List <MDLSD_SalesTemplate>();
     foreach (var loopSourceItem in ListGridDS)
     {
         if (!loopSourceItem.IsChecked)
         {
             continue;
         }
         MDLSD_SalesTemplate argsSalesTemplate = new MDLSD_SalesTemplate
         {
             SasT_ID                 = loopSourceItem.SasT_ID,
             SasT_Name               = loopSourceItem.SasT_Name,
             SasT_Org_ID             = loopSourceItem.SasT_Org_ID,
             SasT_CustomerID         = loopSourceItem.SasT_CustomerID,
             SasT_CustomerName       = loopSourceItem.SasT_CustomerName,
             SasT_ApprovalStatusCode = loopSourceItem.SasT_ApprovalStatusCode,
             SasT_ApprovalStatusName = loopSourceItem.SasT_ApprovalStatusName,
             SasT_Remark             = loopSourceItem.SasT_Remark,
             SasT_IsValid            = loopSourceItem.SasT_IsValid,
             SasT_CreatedBy          = loopSourceItem.SasT_CreatedBy,
             SasT_CreatedTime        = loopSourceItem.SasT_CreatedTime,
             SasT_UpdatedBy          = loopSourceItem.SasT_UpdatedBy,
             SasT_UpdatedTime        = loopSourceItem.SasT_UpdatedTime,
             SasT_VersionNo          = loopSourceItem.SasT_VersionNo
         };
         SelectedGridList.Add(argsSalesTemplate);
     }
 }
Пример #2
0
        /// <summary>
        /// 反审核
        /// </summary>
        /// <param name="paramHead">单头</param>
        /// <returns></returns>
        public bool UnApproveDetailDS(SalesTemplateManagerUIModel paramHead)
        {
            if (paramHead == null)
            {
                ResultMsg = MsgHelp.GetMsg(MsgCode.W_0024, new object[] { SystemTableEnums.Name.SD_SalesTemplate, SystemActionEnum.Name.UNAPPROVE });
                return(false);
            }
            MDLSD_SalesTemplate argsSalesTemplate = new MDLSD_SalesTemplate();

            CopyModel(paramHead, argsSalesTemplate);

            argsSalesTemplate.WHERE_SasT_ID        = argsSalesTemplate.SasT_ID;
            argsSalesTemplate.WHERE_SasT_VersionNo = argsSalesTemplate.SasT_VersionNo;
            argsSalesTemplate.SasT_VersionNo++;
            argsSalesTemplate.SasT_ApprovalStatusCode = ApprovalStatusEnum.Code.DSH;
            argsSalesTemplate.SasT_ApprovalStatusName = ApprovalStatusEnum.Name.DSH;
            argsSalesTemplate.SasT_UpdatedBy          = LoginInfoDAX.UserName;
            argsSalesTemplate.SasT_UpdatedTime        = BLLCom.GetCurStdDatetime();
            bool saveSalesTemplate = _bll.Save <MDLSD_SalesTemplate>(argsSalesTemplate);

            //将最新数据回写给DetailDS
            CopyModel(argsSalesTemplate, paramHead);

            return(saveSalesTemplate);
        }
Пример #3
0
        /// <summary>
        /// 保存
        /// </summary>
        /// <param name="paramHead">单头</param>
        /// <param name="paramDetailList">明细列表</param>
        /// <param name="paramDistributePathList">下发路径</param>
        /// <returns></returns>
        public bool SaveDetailDs(SalesTemplateManagerUIModel paramHead,
                                 SkyCarBindingList <SalesTemplateDetailUIModel, MDLSD_SalesTemplateDetail> paramDetailList,
                                 SkyCarBindingList <DistributePathUIModel, MDLSD_DistributePath> paramDistributePathList)
        {
            var funcName = "SaveDetailDS";

            LogHelper.WriteBussLogStart(BussID, LoginInfoDAX.UserName, funcName, "", "", null);

            //服务端检查
            if (!ServerCheck(paramHead))
            {
                LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ResultMsg, "", null);
                return(false);
            }

            #region 准备数据

            #region 定义变量

            //待新增的目的组织的[销售模板]列表
            List <MDLSD_SalesTemplate> insertSalesTmpListOfDistributeOrg = new List <MDLSD_SalesTemplate>();
            //待新增的目的组织的[销售模板明细]列表
            List <MDLSD_SalesTemplateDetail> insertSalesTmpDetailListOfDistributeOrg = new List <MDLSD_SalesTemplateDetail>();

            //待删除的目的组织的[销售模板]列表
            List <MDLSD_SalesTemplate> deleteSalesTmpListOfDistributeOrg = new List <MDLSD_SalesTemplate>();
            //待删除的目的组织的[销售模板明细]列表
            List <MDLSD_SalesTemplateDetail> deleteSalesTmpDetailListOfDistributeOrg = new List <MDLSD_SalesTemplateDetail>();

            #endregion

            #region 保存[销售模板]
            //将UIModel转为TBModel
            var argsHead = paramHead.ToTBModelForSaveAndDelete <MDLSD_SalesTemplate>();
            //判断主键是否被赋值
            if (string.IsNullOrEmpty(paramHead.SasT_ID))
            {
                argsHead.SasT_ID          = Guid.NewGuid().ToString();
                argsHead.SasT_CreatedBy   = LoginInfoDAX.UserName;
                argsHead.SasT_CreatedTime = BLLCom.GetCurStdDatetime();
            }
            argsHead.SasT_UpdatedBy   = LoginInfoDAX.UserName;
            argsHead.SasT_UpdatedTime = BLLCom.GetCurStdDatetime();

            #endregion

            #region 保存[销售模板明细]

            //添加的明细
            if (paramDetailList != null && paramDetailList.InsertList != null &&
                paramDetailList.InsertList.Count > 0)
            {
                foreach (var loopSalesOrderDetail in paramDetailList.InsertList)
                {
                    //赋值销售模板ID
                    loopSalesOrderDetail.SasTD_SasT_ID     = argsHead.SasT_ID ?? argsHead.WHERE_SasT_ID;
                    loopSalesOrderDetail.SasTD_CreatedBy   = LoginInfoDAX.UserName;
                    loopSalesOrderDetail.SasTD_CreatedTime = BLLCom.GetCurStdDatetime();
                    loopSalesOrderDetail.SasTD_UpdatedBy   = LoginInfoDAX.UserName;
                    loopSalesOrderDetail.SasTD_UpdatedTime = BLLCom.GetCurStdDatetime();
                }
            }

            #endregion

            #region  发或取消下发销售模板

            if (paramDistributePathList != null)
            {
                //下发销售模板:新增目的组织下的[销售模板]和[销售模板明细]列表
                if (paramDistributePathList.InsertList != null &&
                    paramDistributePathList.InsertList.Count > 0)
                {
                    foreach (var loopDistributePath in paramDistributePathList.InsertList)
                    {
                        #region  发路径

                        //赋值销售模板ID
                        loopDistributePath.DP_SendDataID  = !string.IsNullOrEmpty(argsHead.SasT_ID) ? argsHead.SasT_ID : argsHead.WHERE_SasT_ID;
                        loopDistributePath.DP_CreatedBy   = LoginInfoDAX.UserName;
                        loopDistributePath.DP_CreatedTime = BLLCom.GetCurStdDatetime();
                        loopDistributePath.DP_UpdatedBy   = LoginInfoDAX.UserName;
                        loopDistributePath.DP_UpdatedTime = BLLCom.GetCurStdDatetime();
                        #endregion

                        #region 目的组织下的[销售模板]列表

                        MDLSD_SalesTemplate insertSalesTemplate = new MDLSD_SalesTemplate();
                        _bll.CopyModel(argsHead, insertSalesTemplate);

                        insertSalesTemplate.SasT_ID          = Guid.NewGuid().ToString();
                        insertSalesTemplate.SasT_Org_ID      = loopDistributePath.DP_Org_ID_To;
                        insertSalesTemplate.SasT_CreatedBy   = LoginInfoDAX.UserName;
                        insertSalesTemplate.SasT_CreatedTime = BLLCom.GetCurStdDatetime();
                        insertSalesTemplate.SasT_UpdatedBy   = LoginInfoDAX.UserName;
                        insertSalesTemplate.SasT_UpdatedTime = BLLCom.GetCurStdDatetime();

                        insertSalesTmpListOfDistributeOrg.Add(insertSalesTemplate);
                        #endregion

                        #region 目的组织下的[销售模板明细]列表

                        if (paramDetailList != null)
                        {
                            foreach (var loopSalesTemplateDetail in paramDetailList)
                            {
                                MDLSD_SalesTemplateDetail inserSalesTemplateDetail = new MDLSD_SalesTemplateDetail();
                                _bll.CopyModel(loopSalesTemplateDetail, inserSalesTemplateDetail);

                                inserSalesTemplateDetail.SasTD_ID          = Guid.NewGuid().ToString();
                                inserSalesTemplateDetail.SasTD_SasT_ID     = insertSalesTemplate.SasT_ID;
                                inserSalesTemplateDetail.SasTD_CreatedBy   = LoginInfoDAX.UserName;
                                inserSalesTemplateDetail.SasTD_CreatedTime = BLLCom.GetCurStdDatetime();
                                inserSalesTemplateDetail.SasTD_UpdatedBy   = LoginInfoDAX.UserName;
                                inserSalesTemplateDetail.SasTD_UpdatedTime = BLLCom.GetCurStdDatetime();

                                insertSalesTmpDetailListOfDistributeOrg.Add(inserSalesTemplateDetail);
                            }
                        }

                        #endregion
                    }
                }

                //取消下发销售模板:删除目的组织下的[销售模板]和[销售模板明细]列表
                if (paramDistributePathList.DeleteList != null &&
                    paramDistributePathList.DeleteList.Count > 0)
                {
                    foreach (var loopDistributePath in paramDistributePathList.DeleteList)
                    {
                        if (string.IsNullOrEmpty(loopDistributePath.DP_ID) ||
                            string.IsNullOrEmpty(loopDistributePath.DP_Org_ID_To))
                        {
                            continue;
                        }

                        #region 目的组织下的[销售模板]

                        //查询目的组织下的[销售模板]
                        var deleteSalesTemplate = _bll.QueryForObject <MDLSD_SalesTemplate>(SQLID.SD_SalesTemplate_SQL03, new SalesTemplateManagerQCModel
                        {
                            WHERE_SasT_Name      = argsHead.SasT_Name,
                            WHERE_DP_SendDataID  = !string.IsNullOrEmpty(argsHead.SasT_ID) ? argsHead.SasT_ID : argsHead.WHERE_SasT_ID,
                            WHERE_DP_Org_ID_From = argsHead.SasT_Org_ID,
                            WHERE_DP_Org_ID_To   = loopDistributePath.DP_Org_ID_To
                        });
                        if (deleteSalesTemplate == null ||
                            string.IsNullOrEmpty(deleteSalesTemplate.SasT_ID))
                        {
                            continue;
                        }
                        deleteSalesTemplate.WHERE_SasT_ID = deleteSalesTemplate.SasT_ID;

                        deleteSalesTmpListOfDistributeOrg.Add(deleteSalesTemplate);
                        #endregion

                        #region 目的组织下的[销售模板明细]列表

                        List <MDLSD_SalesTemplateDetail> tempSalesTemplateDetailList = new List <MDLSD_SalesTemplateDetail>();
                        _bll.QueryForList <MDLSD_SalesTemplateDetail, MDLSD_SalesTemplateDetail>(new MDLSD_SalesTemplateDetail
                        {
                            WHERE_SasTD_SasT_ID = deleteSalesTemplate.SasT_ID,
                            WHERE_SasTD_IsValid = true
                        }, tempSalesTemplateDetailList);

                        tempSalesTemplateDetailList.ForEach(x => x.WHERE_SasTD_ID = x.SasTD_ID);

                        deleteSalesTmpDetailListOfDistributeOrg.AddRange(tempSalesTemplateDetailList);

                        #endregion
                    }
                }
            }
            #endregion

            #endregion

            #region 带事务的保存

            try
            {
                DBManager.BeginTransaction(DBCONFIG.Coeus);

                #region 保存[销售模板]

                //执行保存
                if (!_bll.Save(argsHead, argsHead.SasT_ID))
                {
                    DBManager.RollBackTransaction(DBCONFIG.Coeus);
                    ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.SAVE + SystemTableEnums.Name.SD_SalesTemplate });
                    LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ResultMsg, "", null);
                    return(false);
                }

                #endregion

                #region 保存[销售模板明细]

                if (paramDetailList != null)
                {
                    //执行保存
                    if (!_bll.UnitySave(paramDetailList))
                    {
                        DBManager.RollBackTransaction(DBCONFIG.Coeus);
                        ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.SAVE + SystemTableEnums.Name.SD_SalesTemplateDetail });
                        LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ResultMsg, "", null);
                        return(false);
                    }
                }

                #endregion

                #region 保存[下发路径]

                if (paramDistributePathList != null)
                {
                    //执行保存
                    if (!_bll.UnitySave(paramDistributePathList))
                    {
                        DBManager.RollBackTransaction(DBCONFIG.Coeus);
                        ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.SAVE + SystemTableEnums.Name.SD_DistributePath });
                        LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ResultMsg, "", null);
                        return(false);
                    }
                }
                #endregion

                #region 新增目的组织下的[销售模板]

                if (insertSalesTmpListOfDistributeOrg.Count > 0)
                {
                    var insertSalesTmpListOfDistributeOrgResult = _bll.InsertByList <MDLSD_SalesTemplate, MDLSD_SalesTemplate>(insertSalesTmpListOfDistributeOrg);
                    if (!insertSalesTmpListOfDistributeOrgResult)
                    {
                        DBManager.RollBackTransaction(DBCONFIG.Coeus);
                        ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.DELIVER + SystemTableEnums.Name.SD_SalesTemplate });
                        LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ResultMsg, "", null);
                        return(false);
                    }
                }

                #endregion

                #region 新增目的组织下的[销售模板明细]

                if (insertSalesTmpDetailListOfDistributeOrg.Count > 0)
                {
                    var insertSalesTmpListOfDistributeOrgResult = _bll.InsertByList <MDLSD_SalesTemplateDetail, MDLSD_SalesTemplateDetail>(insertSalesTmpDetailListOfDistributeOrg);
                    if (!insertSalesTmpListOfDistributeOrgResult)
                    {
                        DBManager.RollBackTransaction(DBCONFIG.Coeus);
                        ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.DELIVER + SystemTableEnums.Name.SD_SalesTemplate });
                        LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ResultMsg, "", null);
                        return(false);
                    }
                }

                #endregion

                #region  除目的组织下的[销售模板]

                if (deleteSalesTmpListOfDistributeOrg.Count > 0)
                {
                    var deleteSalesTmpListOfDistributeOrgResult = _bll.DeleteByList <MDLSD_SalesTemplate, MDLSD_SalesTemplate>(deleteSalesTmpListOfDistributeOrg);
                    if (!deleteSalesTmpListOfDistributeOrgResult)
                    {
                        DBManager.RollBackTransaction(DBCONFIG.Coeus);
                        ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.CANCELDELIVER + SystemTableEnums.Name.SD_SalesTemplate });
                        LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ResultMsg, "", null);
                        return(false);
                    }
                }

                #endregion

                #region  除目的组织下的[销售模板明细]

                if (deleteSalesTmpDetailListOfDistributeOrg.Count > 0)
                {
                    var deleteSalesTmpDetailListOfDistributeOrgResult = _bll.DeleteByList <MDLSD_SalesTemplateDetail, MDLSD_SalesTemplateDetail>(deleteSalesTmpDetailListOfDistributeOrg);
                    if (!deleteSalesTmpDetailListOfDistributeOrgResult)
                    {
                        DBManager.RollBackTransaction(DBCONFIG.Coeus);
                        ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.CANCELDELIVER + SystemTableEnums.Name.SD_SalesTemplate });
                        LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ResultMsg, "", null);
                        return(false);
                    }
                }

                #endregion

                DBManager.CommitTransaction(DBCONFIG.Coeus);
            }
            catch (Exception ex)
            {
                DBManager.RollBackTransaction(DBCONFIG.Coeus);
                ResultMsg = MsgHelp.GetMsg(MsgCode.E_0018, new object[] { SystemActionEnum.Name.SAVE, ex.Message });
                LogHelper.WriteBussLogEndNG(BussID, LoginInfoDAX.UserName, funcName, ex.Message, "", null);
                return(false);
            }

            #endregion

            //将最新数据回写给DetailDS
            CopyModel(argsHead, paramHead);

            //更新销售模板明细版本号
            if (paramDetailList != null)
            {
                if (paramDetailList.InsertList != null)
                {
                    foreach (var loopInsertDetail in paramDetailList.InsertList)
                    {
                        //新增时版本号为1
                        loopInsertDetail.SasTD_VersionNo = 1;
                    }
                }

                foreach (var loopUpdateDetail in paramDetailList.UpdateList)
                {
                    //更新时版本号加1
                    loopUpdateDetail.SasTD_VersionNo = loopUpdateDetail.SasTD_VersionNo + 1;
                }
            }

            //更新下发路径版本号
            if (paramDistributePathList != null)
            {
                if (paramDistributePathList.InsertList != null)
                {
                    foreach (var loopInsertDetail in paramDistributePathList.InsertList)
                    {
                        //新增时版本号为1
                        loopInsertDetail.DP_VersionNo = 1;
                    }
                }

                foreach (var loopUpdateDetail in paramDistributePathList.UpdateList)
                {
                    //更新时版本号加1
                    loopUpdateDetail.DP_VersionNo = loopUpdateDetail.DP_VersionNo + 1;
                }
            }

            return(true);
        }
Пример #4
0
        /// <summary>
        /// 删除销售模板信息
        /// </summary>
        /// <param name="paramHead">单头</param>
        /// <param name="paramDetailList">明细列表</param>
        /// <param name="paramDistributePathList">下发路径</param>
        /// <returns></returns>
        public bool DeleteSalesTemplateInfo(MDLSD_SalesTemplate paramHead, List <MDLSD_SalesTemplateDetail> paramDetailList,
                                            List <MDLSD_DistributePath> paramDistributePathList)
        {
            var funcName = "DeleteSalesTemplateInfo";

            LogHelper.WriteBussLogStart(BussID, LoginInfoDAX.UserName, funcName, "", "", null);

            #region 验证

            if (paramHead == null || string.IsNullOrEmpty(paramHead.WHERE_SasT_ID))
            {
                //没有获取到销售模板,删除失败
                ResultMsg = MsgHelp.GetMsg(MsgCode.W_0024, new object[] { SystemTableEnums.Name.SD_SalesTemplate, SystemActionEnum.Name.DELETE });
                LogHelper.WriteBussLogStart(BussID, LoginInfoDAX.UserName, funcName, "", "", null);
                return(false);
            }
            #endregion

            try
            {
                DBManager.BeginTransaction(DBCONFIG.Coeus);

                #region  除销售模板

                var deleteSalesTemplate = _bll.Delete <MDLSD_SalesTemplate>(paramHead);
                if (!deleteSalesTemplate)
                {
                    DBManager.RollBackTransaction(DBCONFIG.Coeus);
                    ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.DELETE + SystemTableEnums.Name.SD_SalesTemplate });
                    LogHelper.WriteBussLogStart(BussID, LoginInfoDAX.UserName, funcName, "", "", null);
                    return(false);
                }
                #endregion

                #region  除销售模板明细

                if (paramDetailList != null && paramDetailList.Count > 0)
                {
                    var deleteSalesTemplateDetailResult = _bll.DeleteByList <MDLSD_SalesTemplateDetail, MDLSD_SalesTemplateDetail>(paramDetailList);
                    if (!deleteSalesTemplateDetailResult)
                    {
                        DBManager.RollBackTransaction(DBCONFIG.Coeus);
                        ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.DELETE + SystemTableEnums.Name.SD_SalesTemplateDetail });
                        LogHelper.WriteBussLogStart(BussID, LoginInfoDAX.UserName, funcName, "", "", null);
                        return(false);
                    }
                }
                #endregion

                #region  除下发记录

                if (paramDistributePathList != null && paramDistributePathList.Count > 0)
                {
                    var deleteDistributePathListResult = _bll.DeleteByList <MDLSD_DistributePath, MDLSD_DistributePath>(paramDistributePathList);
                    if (!deleteDistributePathListResult)
                    {
                        DBManager.RollBackTransaction(DBCONFIG.Coeus);
                        ResultMsg = MsgHelp.GetMsg(MsgCode.E_0010, new object[] { SystemActionEnum.Name.DELETE + SystemTableEnums.Name.SD_DistributePath });
                        LogHelper.WriteBussLogStart(BussID, LoginInfoDAX.UserName, funcName, "", "", null);
                        return(false);
                    }
                }
                #endregion

                DBManager.CommitTransaction(DBCONFIG.Coeus);
            }
            catch (Exception ex)
            {
                DBManager.RollBackTransaction(DBCONFIG.Coeus);
                ResultMsg = MsgHelp.GetMsg(MsgCode.E_0018, new object[] { SystemActionEnum.Name.DELETE, ex.Message });
                LogHelper.WriteBussLogStart(BussID, LoginInfoDAX.UserName, funcName, "", "", null);
                return(false);
            }
            return(true);
        }