//如果是手工排班需要不需要检查里面有无排班,如果有排班的数据,那么就不重新全部删除,而是保留一部分原来的排班的数据 public void PaiBanHandChange(PBDateTemplet PbDateTempletOld, ShopTemplet shopTempletNew, Kf_DepartMent kf_DepartMent) { ShopTempletDetailsRepository shopTempletDetailsRepo = new ShopTempletDetailsRepository(); PBDateTempletRepository pbDateTempletRepo = new PBDateTempletRepository(); List <ShopTempletDetails> listShopTempletDetailsOld = shopTempletDetailsRepo.GetAll() .Where(it => it._ShopTemplet == PbDateTempletOld._ShopTemplet) .WhereIf(it => it._ShopGroup._Kf_DepartMent == kf_DepartMent, kf_DepartMent.ID != 1) .ToList(); List <ShopTempletDetails> listShopTempletDetailsNew = shopTempletDetailsRepo.GetAll() .Where(it => it._ShopTemplet == shopTempletNew) .WhereIf(it => it._ShopGroup._Kf_DepartMent == kf_DepartMent, kf_DepartMent.ID != 1) .ToList(); //在老的里面有,新的里面也有的,不动。 List <PersonShopGroupPBs> listPersonShopGroupPBs = this.GetAll() .Where(it => it.UserWorkDate == PbDateTempletOld._UserWorkDate) .WhereIf(it => it._ShopGroups._Kf_DepartMent == kf_DepartMent, kf_DepartMent.ID != 1) .ToList(); //在老的里面有,新的里面没有的,删除掉。 foreach (var PersonShopGroupPB in listPersonShopGroupPBs) { if (listShopTempletDetailsNew.Where(it => it._ShopGroup == PersonShopGroupPB._ShopGroups).Count() == 0) { this.Delete(PersonShopGroupPB); } } //在老的里面没有,新的里面有的,插入进去。 //都是哪些人可以做这个班组的客服 PersonShopGroupRepository PersonShopGroupRepo = new PersonShopGroupRepository(); List <PersonShopGroup> listPersonShopGroup = PersonShopGroupRepo.GetAll().ToList(); foreach (var shopGroupDetail in listShopTempletDetailsNew) { if (listPersonShopGroupPBs.Where(it => it._ShopGroups == shopGroupDetail._ShopGroup).Count() == 0) { //根据排班来插入店铺 this.ShopGroupPB(shopGroupDetail._ShopGroup, PbDateTempletOld._UserWorkDate, kf_DepartMent); } } }
//根据PBDateTemplet,模板排班里面的内容,更新班组排班表PersonShopGroupPBs public void PaiBan(DateTime localStartDate, DateTime localEndDate, Kf_DepartMent kf_DepartMent) { ShopTempletDetailsRepository shopTempletDetailsRepo = new ShopTempletDetailsRepository(); PBDateTempletRepository pbDateTempletRepo = new PBDateTempletRepository(); List <PersonShopGroupPBs> listPersonShopGroupPBs = this.GetAll() .Where(it => it.UserWorkDate.WorkDate <= localEndDate) .Where(it => it.UserWorkDate.WorkDate >= localStartDate) .WhereIf(it => it._ShopGroups._Kf_DepartMent == kf_DepartMent, kf_DepartMent.ID != 1) .ToList(); //删除原来的 foreach (var PersonShopGroupPB in listPersonShopGroupPBs) { this.Delete(PersonShopGroupPB); } //取出来哪些shopGroup,插入进去 List <ShopTempletDetails> listShopTempletDetails = shopTempletDetailsRepo.GetAll() .Where(it => it._ShopTemplet._Kf_DepartMent == kf_DepartMent) .Where(it => it._ShopTemplet.isExpire == isExpire.未过期) .Where(it => it._ShopTemplet.isValid == isValid.效) .ToList(); List <PBDateTemplet> listPBDateTemplet = pbDateTempletRepo.GetAll() .Where(it => it._UserWorkDate.WorkDate <= localEndDate) .Where(it => it._UserWorkDate.WorkDate >= localStartDate) .ToList(); foreach (var PBDateTemplet in listPBDateTemplet) { List <ShopTempletDetails> localListShopTempletDetails = listShopTempletDetails .Where(it => it._ShopTemplet == PBDateTemplet._ShopTemplet).ToList(); foreach (var ShopTempletDetails in localListShopTempletDetails) { //根据ShopGroup,进行PersonShopGroupPBs的排班插入 this.ShopGroupPB(ShopTempletDetails._ShopGroup, PBDateTemplet._UserWorkDate, kf_DepartMent); } } }