This commit is contained in:
周源 2022-06-06 09:35:21 +08:00
parent d954dfe656
commit c76189a121
127 changed files with 177 additions and 83 deletions

View File

@ -83,7 +83,7 @@ public class ApiReviewController extends ApiBaseController {
@GetMapping("public")
public void publicPage(String type) {
QueryWrapper<Review> qw = new QueryWrapper<Review>()
.ge("type", type)
.eq("type", type)
.ge("state", Review.STATE_PUBLIC)
.orderByDesc("created_at");
IPage<Review> paged = reviewService.page(new Page<>(getPageNum(), getPageSize()), qw);
@ -200,4 +200,5 @@ public class ApiReviewController extends ApiBaseController {
Review review = reviewService.stateResultSave(reviewResultStateRequest, getApiUser());
render(Ret.ok().data(ReviewWrapper.build().entityVO(review)));
}
}

View File

@ -6,7 +6,6 @@ import org.springframework.web.servlet.HandlerInterceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Enumeration;
/**
* @author zhouyuan
@ -24,14 +23,14 @@ public class ReferInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
Enumeration<String> headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
String name = headerNames.nextElement();
System.out.println("------------------------------>name" + name + "。 value:" + request.getHeader(name));
}
// Enumeration<String> headerNames = request.getHeaderNames();
// while (headerNames.hasMoreElements()) {
// String name = headerNames.nextElement();
// System.out.println("------------------------------>name" + name + "。 value:" + request.getHeader(name));
// }
String requestRefer = request.getHeader("Referer");
System.out.println("------------------------------>refer" + requestRefer);
// System.out.println("------------------------------>refer" + requestRefer);
// if (requestRefer == null || (StrUtil.isNotBlank(refer) && !requestRefer.contains(refer))) {
// throw new ResultException(Ret.fail("非法访问!"));
// }

View File

@ -63,7 +63,7 @@ public class AppointUser extends BaseEntity {
/**
* 投票
*/
@ApiModelProperty(value = "投的票")
@ApiModelProperty(value = "投的票 0待投票 1赞成 2反对 3弃权")
private Integer vote;
@DateTimeFormat(

View File

@ -5,6 +5,7 @@ import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ydool.boot.common.result.Ret;
import com.ydool.boot.core.exception.ResultException;
import com.ydool.boot.core.service.BaseService;
@ -154,6 +155,16 @@ public class AppointService extends BaseService<AppointMapper, Appoint> {
appointUser.setVote(voteRequest.getVote());
appointUser.setVoteAt(LocalDateTime.now());
boolean flag = appointUserService.saveOrUpdate(appointUser);
//如果所有人都投完了票,自动进入下一环节
int waitCount = appointUserService.count(Wrappers.lambdaQuery(AppointUser.class)
.eq(AppointUser::getAppointId, voteRequest.getAppointId())
.eq(AppointUser::getType, Appoint.STATE_VOTE)
.eq(AppointUser::getVote, AppointUser.VOTE_WAIT));
if (waitCount == 0) {
appoint.setState(Appoint.STATE_PERFORM);
saveOrUpdate(appoint);
}
return !flag ? Ret.fail("操作失败") : Ret.ok();
}
@ -206,6 +217,16 @@ public class AppointService extends BaseService<AppointMapper, Appoint> {
appointUser.setScore(performRequest.getScore());
appointUser.setScoreAt(LocalDateTime.now());
boolean flag = appointUserService.saveOrUpdate(appointUser);
//如果所有人都打完分,自动进入下一环节
int nullCount = appointUserService.count(Wrappers.lambdaQuery(AppointUser.class)
.eq(AppointUser::getAppointId, performRequest.getAppointId())
.eq(AppointUser::getType, Appoint.STATE_PERFORM)
.isNull(AppointUser::getScore));
if (nullCount == 0) {
appoint.setState(Appoint.STATE_END);
saveOrUpdate(appoint);
}
return !flag ? Ret.fail("操作失败") : Ret.ok();
}

View File

@ -6,6 +6,7 @@ import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ydool.boot.common.result.Ret;
import com.ydool.boot.core.exception.ResultException;
import com.ydool.boot.core.service.BaseService;
@ -22,7 +23,6 @@ import com.ydool.boot.modules.rddb.mapper.ReviewMapper;
import com.ydool.boot.modules.rddb.wrapper.ReviewWrapper;
import com.ydool.boot.modules.sys.entity.User;
import com.ydool.boot.modules.sys.service.UserService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -100,26 +100,26 @@ public class ReviewService extends BaseService<ReviewMapper, Review> {
saveReviewAttachment(reviewBo.getId(), reviewBo.getOpinionAttachmentArrStr(), loginUser, Review.STATE_OPINION);
saveReviewAttachment(reviewBo.getId(), reviewBo.getResultAttachmentArrStr(), loginUser, Review.STATE_RESULT);
if (isNew) {
sendMsg(review, loginUser, reviewBo.getInReportAudit1Ids().split(",")[0]);
}
// if (isNew) {
// sendMsg(review, loginUser, reviewBo.getInReportAudit1Ids().split(",")[0]);
// }
return Ret.ok();
}
private void sendMsg(Review review, User loginUser, String userId) {
//一个人一个人审核当手机端有通过操作时找到下一个人发消息
if (StringUtils.isNotBlank(userId)) {
Message message = new Message();
message.setActionId(review.getId());
message.setTitle("您有一个评议需审批,请前往查看!");
message.setContent(review.getReviewSubject());
message.setType(Message.TYPE_REVIEW);
message.setCreatedId(loginUser != null ? loginUser.getId() : "");
message.setStatus(Message.STATUS_UNREAD);
message.setUserId(userId);
messageService.save(message);
}
}
// private void sendMsg(Review review, User loginUser, String userId) {
// //一个人一个人审核当手机端有通过操作时找到下一个人发消息
// if (StringUtils.isNotBlank(userId)) {
// Message message = new Message();
// message.setActionId(review.getId());
// message.setTitle("您有一个评议需审批,请前往查看!");
// message.setContent(review.getReviewSubject());
// message.setType(Message.TYPE_REVIEW);
// message.setCreatedId(loginUser != null ? loginUser.getId() : "");
// message.setStatus(Message.STATUS_UNREAD);
// message.setUserId(userId);
// messageService.save(message);
// }
// }
/*接口*/
@ -189,7 +189,7 @@ public class ReviewService extends BaseService<ReviewMapper, Review> {
saveOrUpdate(review);
} else {
ReviewAudit nextReviewAudit = waitAuditList.get(0);
sendMsg(review, null, nextReviewAudit.getUserId());
// sendMsg(review, null, nextReviewAudit.getUserId());
}
return !flag ? Ret.fail("操作失败") : Ret.ok();
}
@ -219,6 +219,15 @@ public class ReviewService extends BaseService<ReviewMapper, Review> {
reviewUser.setScore(reviewCheckRequest.getScore());
reviewUser.setScoreAt(LocalDateTime.now());
boolean flag = reviewUserService.saveOrUpdate(reviewUser);
//全部打分完进入下一环节
int nullCount = reviewUserService.count(Wrappers.lambdaQuery(ReviewUser.class)
.eq(ReviewUser::getReviewId, reviewCheckRequest.getReviewId())
.isNull(ReviewUser::getScore));
if (nullCount == 0) {
review.setState(Review.STATE_OPINION);
saveOrUpdate(review);
}
return !flag ? Ret.fail("操作失败") : Ret.ok();
}

View File

@ -64,6 +64,8 @@ public class AppointUserController extends BaseAdminController {
public void assignList(String userIds,String userName,String loginName) {
QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
userQueryWrapper.notIn("id", userIds.split(","));
//县级工作人员
userQueryWrapper.eq("account_type", "admin");
if(StrUtil.isNotBlank(userName)) userQueryWrapper.like("user_name",userName);
userQueryWrapper.like(StrUtil.isNotBlank(loginName),"AES_DECRYPT(from_base64 (login_name),'"+ CodecUtils.KEY +"')",loginName);
Page page = userService.page(new Page(getPageNum(), getPageSize()), userQueryWrapper);

View File

@ -65,6 +65,8 @@ public class ReviewAuditController extends BaseAdminController {
QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
userQueryWrapper.notIn("id", userIds.split(","));
if (StrUtil.isNotBlank(userName)) userQueryWrapper.like("user_name", userName);
//县级工作人员
userQueryWrapper.eq("account_type", "admin");
userQueryWrapper.like(StrUtil.isNotBlank(loginName), "AES_DECRYPT(from_base64 (login_name),'" + CodecUtils.KEY + "')", loginName);
Page page = userService.page(new Page(getPageNum(), getPageSize()), userQueryWrapper);
render(Ret.ok().paged(UserDtoWrapper.build().pageVO(page)));

View File

@ -64,6 +64,8 @@ public class ReviewUserController extends BaseAdminController {
QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
userQueryWrapper.notIn("id", userIds.split(","));
if(StrUtil.isNotBlank(userName)) userQueryWrapper.like("user_name",userName);
//县级工作人员
userQueryWrapper.eq("account_type", "admin");
userQueryWrapper.like(StrUtil.isNotBlank(loginName),"AES_DECRYPT(from_base64 (login_name),'"+ CodecUtils.KEY +"')",loginName);
Page page = userService.page(new Page(getPageNum(), getPageSize()), userQueryWrapper);
render(Ret.ok().paged(UserDtoWrapper.build().pageVO(page)));

View File

@ -1,6 +1,7 @@
package com.ydool.boot.modules.rddb.wrapper;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ydool.boot.api.util.TokenUtil;
import com.ydool.boot.api.util.UserInfo;
@ -72,10 +73,15 @@ public class AppointWrapper extends BaseWrapper<Appoint, AppointDto> {
if (Appoint.STATE_END == appoint.getState()) {
//没打分的不算
List<AppointUser> scoredAppointUserList = performUserList.stream().filter(item -> item.getScore() != null).collect(Collectors.toList());
BigDecimal averageScore = scoredAppointUserList.stream().map(item -> item.getScore())
.reduce(BigDecimal.ZERO, BigDecimal::add)
.divide(new BigDecimal(scoredAppointUserList.size()), BigDecimal.ROUND_HALF_UP);
appointDto.setAverageScore(averageScore);
if(CollectionUtil.isNotEmpty(scoredAppointUserList)){
BigDecimal averageScore = scoredAppointUserList.stream().map(item -> item.getScore())
.reduce(BigDecimal.ZERO, BigDecimal::add)
.divide(new BigDecimal(scoredAppointUserList.size()), BigDecimal.ROUND_HALF_UP);
appointDto.setAverageScore(averageScore);
}else{
appointDto.setAverageScore(new BigDecimal("0"));
}
}
//>=投票环节,算通过,拒绝,弃权的票数
if (Appoint.STATE_VOTE <= appoint.getState()) {

View File

@ -1,6 +1,7 @@
package com.ydool.boot.modules.rddb.wrapper;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ydool.boot.api.util.TokenUtil;
import com.ydool.boot.api.util.UserInfo;
@ -81,10 +82,15 @@ public class ReviewWrapper extends BaseWrapper<Review, ReviewDto> {
if (Review.STATE_CHECK < review.getState()) {
//没打分的不算
List<ReviewUser> scoredReviewUserList = checkUserList.stream().filter(item -> item.getScore() != null).collect(Collectors.toList());
BigDecimal averageScore = scoredReviewUserList.stream().map(item -> item.getScore())
.reduce(BigDecimal.ZERO, BigDecimal::add)
.divide(new BigDecimal(scoredReviewUserList.size()), BigDecimal.ROUND_HALF_UP);
reviewDto.setAverageScore(averageScore);
if(CollectionUtil.isNotEmpty(scoredReviewUserList)){
BigDecimal averageScore = scoredReviewUserList.stream().map(item -> item.getScore())
.reduce(BigDecimal.ZERO, BigDecimal::add)
.divide(new BigDecimal(scoredReviewUserList.size()), BigDecimal.ROUND_HALF_UP);
reviewDto.setAverageScore(averageScore);
}else{
reviewDto.setAverageScore(new BigDecimal("0"));
}
}
UserInfo userInfo = TokenUtil.getUserInfo();
@ -99,13 +105,47 @@ public class ReviewWrapper extends BaseWrapper<Review, ReviewDto> {
if (userInfo != null) {
if (userInfo.getId().equals(review.getCreatedId())) reviewDto.setIsCreator(true);
List<String> checkedAudit1List = inReportAudit1List.stream().map(ReviewAudit::getUserId).collect(Collectors.toList());
if (checkedAudit1List.contains(userInfo.getId())) reviewDto.setIsCanAudit1(true);
List<String> checkedAudit2List = inReportAudit2List.stream().map(ReviewAudit::getUserId).collect(Collectors.toList());
if (checkedAudit2List.contains(userInfo.getId())) reviewDto.setIsCanAudit2(true);
// List<String> checkedAudit1List = inReportAudit1List.stream().map(ReviewAudit::getUserId).collect(Collectors.toList());
// if (checkedAudit1List.contains(userInfo.getId())) reviewDto.setIsCanAudit1(true);
// List<String> checkedAudit2List = inReportAudit2List.stream().map(ReviewAudit::getUserId).collect(Collectors.toList());
// if (checkedAudit2List.contains(userInfo.getId())) reviewDto.setIsCanAudit2(true);
List<String> checkUserIdList = checkUserList.stream().map(ReviewUser::getUserId).collect(Collectors.toList());
if (checkUserIdList.contains(userInfo.getId())) reviewDto.setIsCanCheck(true);
ReviewAudit myReviewAudit1 = reviewAuditService.getOne(new LambdaQueryWrapper<ReviewAudit>()
.eq(ReviewAudit::getReviewId, review.getId())
.eq(ReviewAudit::getLevel, 1)
.eq(ReviewAudit::getUserId, userInfo.getId()));
ReviewAudit myReviewAudit2 = reviewAuditService.getOne(new LambdaQueryWrapper<ReviewAudit>()
.eq(ReviewAudit::getReviewId, review.getId())
.eq(ReviewAudit::getLevel, 2)
.eq(ReviewAudit::getUserId, userInfo.getId()));
if (myReviewAudit1 != null) {
//是否轮到我审批
int beforeWaitCount1 = reviewAuditService.count(new LambdaQueryWrapper<ReviewAudit>()
.eq(ReviewAudit::getReviewId, myReviewAudit1.getReviewId())
.lt(ReviewAudit::getSortNo, myReviewAudit1.getSortNo())
.eq(ReviewAudit::getStatus, 0)
.eq(ReviewAudit::getLevel, 1)
);
if (beforeWaitCount1 == 0 && myReviewAudit1.getStatus() == 0) reviewDto.setIsCanAudit1(true);
}
if (myReviewAudit2 != null) {
int beforeWaitCount2 = reviewAuditService.count(new LambdaQueryWrapper<ReviewAudit>()
.eq(ReviewAudit::getReviewId, myReviewAudit2.getReviewId())
.lt(ReviewAudit::getSortNo, myReviewAudit2.getSortNo())
.eq(ReviewAudit::getStatus, 0)
.eq(ReviewAudit::getLevel, 2)
);
if (beforeWaitCount2 == 0 && myReviewAudit2.getStatus() == 0 && !reviewDto.getIsCanAudit1())
reviewDto.setIsCanAudit2(true);
}
//我是否可以打分(打过分后也不可以再打)
ReviewUser checkUser = reviewUserService.getOne(new LambdaQueryWrapper<ReviewUser>()
.eq(ReviewUser::getReviewId, review.getId())
.eq(ReviewUser::getUserId, userInfo.getId())
.isNull(ReviewUser::getScore)
);
if (checkUser != null) reviewDto.setIsCanCheck(true);
}
return reviewDto;
}

View File

@ -1 +1 @@
*{box-sizing:border-box}body{background-color:#f8f8f8}body,button,input,select,textarea{font-family:PingFang SC,PingFang SC-Bold!important}img{max-width:100%}table{width:100%!important}#app{height:100%;display:flex;flex-direction:column}.van-tabs__line{background-color:#d03a29}.van-pagination{min-height:1.06667rem}.van-search{min-height:1.44rem}.van-tabs--line .van-tabs__wrap{min-height:1.17333rem}.navVar-box[data-v-fe379062]{min-height:1.22667rem}.navVar-box .van-nav-bar[data-v-fe379062]{background-color:#d03a29}.navVar-box .van-nav-bar[data-v-fe379062] .van-icon,.navVar-box .van-nav-bar[data-v-fe379062] .van-nav-bar__left,.navVar-box .van-nav-bar[data-v-fe379062] .van-nav-bar__right,.navVar-box .van-nav-bar[data-v-fe379062] .van-nav-bar__title{font-size:.42667rem;color:#fff}.navVar-box .van-nav-bar[data-v-fe379062] .van-nav-bar__title{font-weight:700}.navVar-box .van-nav-bar[data-v-fe379062] .van-nav-bar__right .right{display:flex;align-items:center}.tabbar[data-v-66576ee0]{min-height:1.33333rem}blockquote,body,button,dd,dl,dt,fieldset,h1,h2,h3,h4,h5,h6,hr,input,lengend,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0}body,button,input,select,textarea{font:.32rem/1 Tahoma,Helvetica,Arial,"\5b8b\4f53",sans-serif}h1{font-size:.48rem}h2{font-size:.42667rem}h3{font-size:.37333rem}h4,h5,h6{font-size:100%}address,cite,dfn,em,var{font-style:normal}code,kbd,pre,samp,tt{font-family:Courier New,Courier,monospace}small{font-size:.32rem}ol,ul{list-style:none}a{text-decoration:none}a:hover{text-decoration:underline}abbr[title],acronym[title]{border-bottom:.02667rem dotted;cursor:help}q:after,q:before{content:""}legend{color:#000}fieldset,img{border:none}button,input,select,textarea{font-size:100%}table{border-collapse:collapse;border-spacing:0}hr{border:none;height:.02667rem}body,html{height:100%}.w-100{width:100%}.h-100{height:100%}.text-overflow{white-space:nowrap}.more-overflow,.text-overflow{overflow:hidden;text-overflow:ellipsis}.more-overflow{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
*{box-sizing:border-box}body{background-color:#f8f8f8}body,button,input,select,textarea{font-family:PingFang SC,PingFang SC-Bold!important}img{max-width:100%}table{width:100%!important}#app{height:100%;display:flex;flex-direction:column}.van-tabs__line{background-color:#d03a29}.van-pagination{min-height:1.06667rem}.van-search{min-height:1.44rem}.van-tabs--line .van-tabs__wrap{min-height:1.17333rem}.navVar-box[data-v-fe379062]{min-height:1.22667rem}.navVar-box .van-nav-bar[data-v-fe379062]{background-color:#d03a29}.navVar-box .van-nav-bar[data-v-fe379062] .van-icon,.navVar-box .van-nav-bar[data-v-fe379062] .van-nav-bar__left,.navVar-box .van-nav-bar[data-v-fe379062] .van-nav-bar__right,.navVar-box .van-nav-bar[data-v-fe379062] .van-nav-bar__title{font-size:.42667rem;color:#fff}.navVar-box .van-nav-bar[data-v-fe379062] .van-nav-bar__title{font-weight:700}.navVar-box .van-nav-bar[data-v-fe379062] .van-nav-bar__right .right{display:flex;align-items:center}.tabbar[data-v-25322661]{min-height:1.33333rem}blockquote,body,button,dd,dl,dt,fieldset,h1,h2,h3,h4,h5,h6,hr,input,lengend,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0}body,button,input,select,textarea{font:.32rem/1 Tahoma,Helvetica,Arial,"\5b8b\4f53",sans-serif}h1{font-size:.48rem}h2{font-size:.42667rem}h3{font-size:.37333rem}h4,h5,h6{font-size:100%}address,cite,dfn,em,var{font-style:normal}code,kbd,pre,samp,tt{font-family:Courier New,Courier,monospace}small{font-size:.32rem}ol,ul{list-style:none}a{text-decoration:none}a:hover{text-decoration:underline}abbr[title],acronym[title]{border-bottom:.02667rem dotted;cursor:help}q:after,q:before{content:""}legend{color:#000}fieldset,img{border:none}button,input,select,textarea{font-size:100%}table{border-collapse:collapse;border-spacing:0}hr{border:none;height:.02667rem}body,html{height:100%}.w-100{width:100%}.h-100{height:100%}.text-overflow{white-space:nowrap}.more-overflow,.text-overflow{overflow:hidden;text-overflow:ellipsis}.more-overflow{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

View File

@ -0,0 +1 @@
.van-pagination[data-v-ef243fa4]{position:fixed;bottom:0;width:100%;z-index:999}.box[data-v-ef243fa4]{display:flex;flex-direction:column;height:100%;font-size:.42667rem}.box .add[data-v-ef243fa4]{width:2.13333rem;height:2.13333rem;position:fixed;right:.32rem;bottom:20%}.box[data-v-ef243fa4] .van-tab.van-tab--active{font-size:.42667rem;font-weight:800}.box .tab-contain[data-v-ef243fa4]{padding:.32rem}.box .tab-contain .van-cell[data-v-ef243fa4]{margin-bottom:.37333rem}.box .tab-contain .van-cell .custom-title[data-v-ef243fa4]{font-weight:700;font-size:.42667rem}.box .tab-contain .van-cell .van-icon[data-v-ef243fa4]{color:#333}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.van-pagination[data-v-64201525]{position:fixed;bottom:0;width:100%;z-index:999}.van-tag[data-v-64201525]{margin-right:.42667rem}.box[data-v-64201525]{display:flex;flex-direction:column;height:100%;font-size:.42667rem}.box .add[data-v-64201525]{width:2.13333rem;height:2.13333rem;position:fixed;right:.32rem;bottom:20%}.box[data-v-64201525] .van-tab.van-tab--active{font-size:.42667rem;font-weight:800}.box .tab-contain[data-v-64201525]{padding:.32rem}.box .tab-contain .van-cell[data-v-64201525]{margin-bottom:.37333rem}.box .tab-contain .van-cell .custom-title[data-v-64201525]{font-size:.42667rem}.box .tab-contain .van-cell .van-icon[data-v-64201525]{color:#333}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More