|
@@ -316,6 +316,12 @@ public class ReportController {
|
|
|
String token = request.getHeader("Token");
|
|
|
User user = userService.getById(token);
|
|
|
Company company = companyService.getById(user.getCompanyId());
|
|
|
+ TimeType comTimeType = timeTypeMapper.selectById(user.getCompanyId());
|
|
|
+ if (comTimeType.getStopReport() == 1) {
|
|
|
+ HttpRespMsg msg = new HttpRespMsg();
|
|
|
+ msg.setError("系统已关闭日报填写功能,请联系管理员");
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
//检查当前人员账号是否停用
|
|
|
if (user.getIsActive() == 0) {
|
|
|
HttpRespMsg msg = new HttpRespMsg();
|
|
@@ -442,7 +448,7 @@ public class ReportController {
|
|
|
//检查项目是否可填报; 修改为不校验项目,前端加载的项目已经过滤掉了完成和撤销的
|
|
|
List<Integer> integers = Arrays.asList(projectId);
|
|
|
List<Project> projectList = projectMapper.selectList(new QueryWrapper<Project>().in("id", integers));
|
|
|
- TimeType comTimeType = timeTypeMapper.selectById(user.getCompanyId());
|
|
|
+
|
|
|
//HARDCODE: 成都明夷电子,需要根据考勤重新计算每日工作时长;
|
|
|
// if (company.getCompanyName().equals("成都明夷电子科技有限公司")) {
|
|
|
// if (createDate.length > 0) {
|
|
@@ -1389,6 +1395,22 @@ public class ReportController {
|
|
|
reportList.forEach(r->{
|
|
|
r.setCreateTime(LocalDateTime.now());
|
|
|
});
|
|
|
+ if (comTimeType.getNotAllowedOnNonWorkday() == 1) {
|
|
|
+ //勾选了非工作日禁止填报,需要校验日期
|
|
|
+ List<LocalDate> dateCollects = reportList.stream().map(Report::getCreateDate).distinct().collect(Collectors.toList());
|
|
|
+ StringBuilder stringBuilder = new StringBuilder();
|
|
|
+ dateCollects.forEach(d->{
|
|
|
+ if (!WorkDayCalculateUtils.isWorkDay(d)) {
|
|
|
+ stringBuilder.append(dtf.format(d)).append(",");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (stringBuilder.length() > 0) {
|
|
|
+ stringBuilder.deleteCharAt(stringBuilder.length()-1);
|
|
|
+ HttpRespMsg msg = new HttpRespMsg();
|
|
|
+ msg.setError("非工作日禁止填报: "+ stringBuilder.toString());
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
HttpRespMsg httpRespMsg = reportService.editReport(reportList, createDate.length > 0 ? createDate[0] : null, targetUserList, hourCost, user.getCompanyId());
|
|
|
//【上海绎维】、【火石演示】、【博通容合】使用
|