Пример #1
0
        /// <summary>
        /// 服务人员一日批量修改排班;一次提交一天的修改
        /// </summary>
        /// <param name="scheduleTemplateGuid">排班周期guid</param>
        /// <param name="scheduleDate"></param>
        /// <param name="merchantScheduleModels"></param>
        /// <param name="merchantScheduleDetailModels"></param>
        /// <returns></returns>
        public async Task <bool> ModifyTherapistsWorkShiftDailyInBatchesAsync(string scheduleTemplateGuid, DateTime scheduleDate, List <MerchantScheduleModel> merchantScheduleModels, List <MerchantScheduleDetailModel> merchantScheduleDetailModels)
        {
            return(await MySqlHelper.TransactionAsync(async (conn, tran) =>
            {
                var sqlDeleteDetail = "DELETE a from t_merchant_schedule_detail a inner join t_merchant_schedule b on a.schedule_guid=b.schedule_guid where b.schedule_template_guid=@scheduleTemplateGuid and b.schedule_date=@scheduleDate";
                await conn.ExecuteAsync(sqlDeleteDetail, new { scheduleTemplateGuid, scheduleDate = scheduleDate.Date });

                await conn.DeleteListAsync <MerchantScheduleModel>("where schedule_template_guid=@scheduleTemplateGuid and schedule_date=@scheduleDate", new { scheduleTemplateGuid, scheduleDate = scheduleDate.Date });

                await ExcuteBatchSqlAsync(MySqlHelperExtension.CreateBatchInsertSqls(merchantScheduleModels), conn);
                await ExcuteBatchSqlAsync(MySqlHelperExtension.CreateBatchInsertSqls(merchantScheduleDetailModels), conn);

                return true;
            }));
        }
Пример #2
0
        /// <summary>
        /// 商户批次安排服务人员排班(周期性排班)
        /// </summary>
        /// <param name="scheduleTemplateModel"></param>
        /// <param name="merchantScheduleModels"></param>
        /// <param name="merchantScheduleDetailModels"></param>
        /// <returns></returns>
        public async Task <bool> ScheduleTherapistsWorkShiftInBatchesAsync(ScheduleTemplateModel scheduleTemplateModel, List <MerchantScheduleModel> merchantScheduleModels, List <MerchantScheduleDetailModel> merchantScheduleDetailModels)
        {
            return(await MySqlHelper.TransactionAsync(async (conn, tran) =>
            {
                if (string.IsNullOrEmpty(await conn.InsertAsync <string, ScheduleTemplateModel>(scheduleTemplateModel)))
                {
                    return false;
                }


                await ExcuteBatchSqlAsync(MySqlHelperExtension.CreateBatchInsertSqls(merchantScheduleModels), conn);
                await ExcuteBatchSqlAsync(MySqlHelperExtension.CreateBatchInsertSqls(merchantScheduleDetailModels), conn);

                return true;
            }));
        }