Commit 4d97219c authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents a5149572 4158c507
...@@ -186,7 +186,7 @@ export default { ...@@ -186,7 +186,7 @@ export default {
params["idList"] = this.selection; params["idList"] = this.selection;
} }
this.$download( this.$download(
"/attendance/stat/exportExcel", "/attendance/stat/exportExcelExt",
{ {
...params, ...params,
}, },
......
...@@ -333,6 +333,7 @@ public class DingMessageController { ...@@ -333,6 +333,7 @@ public class DingMessageController {
if(ObjectUtils.isEmpty(balanceEntity)){ //先判断数据库里没有这个人的请假记录就初始化对象 if(ObjectUtils.isEmpty(balanceEntity)){ //先判断数据库里没有这个人的请假记录就初始化对象
attendanceVacationBalanceEntity.initAttrValue(); attendanceVacationBalanceEntity.initAttrValue();
} }
attendanceVacationBalanceEntity.setRemark(processInstanceId); // 将钉钉的事物id存入假期余额 用于判断是否为同一条请假数据
attendanceVacationBalanceEntity.setStaffId(staffEntity.getId()); attendanceVacationBalanceEntity.setStaffId(staffEntity.getId());
attendanceVacationBalanceEntity.setStaffName(staffEntity.getName()); attendanceVacationBalanceEntity.setStaffName(staffEntity.getName());
attendanceVacationBalanceEntity.setDeptId(staffEntity.getDeptId()); attendanceVacationBalanceEntity.setDeptId(staffEntity.getDeptId());
...@@ -574,6 +575,8 @@ public class DingMessageController { ...@@ -574,6 +575,8 @@ public class DingMessageController {
//审批状态为同意过后再修改假期余额 //审批状态为同意过后再修改假期余额
if(result.getResult().compareToIgnoreCase("AGREE") == 0){ if(result.getResult().compareToIgnoreCase("AGREE") == 0){
AttendanceVacationBalanceEntity entity = balanceService.selectOne(new AttendanceVacationBalanceQuery().remark(processInstanceId));
if(ObjectUtils.isEmpty(entity)){ //当表中没有这条processInstanceId关联的数据表示没有扣除假期(钉钉会推送两条余额数据过来 需要加这个判断)
//更新假期余额表 //更新假期余额表
if(ObjectUtils.isEmpty(balanceEntity)){ if(ObjectUtils.isEmpty(balanceEntity)){
attendanceVacationBalanceEntity.setCreateUserId(1L); attendanceVacationBalanceEntity.setCreateUserId(1L);
...@@ -589,6 +592,8 @@ public class DingMessageController { ...@@ -589,6 +592,8 @@ public class DingMessageController {
} }
} }
}
}else { }else {
......
...@@ -154,6 +154,12 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc ...@@ -154,6 +154,12 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
now.add(Calendar.DAY_OF_MONTH, -1); //默认查最近30天数据 now.add(Calendar.DAY_OF_MONTH, -1); //默认查最近30天数据
query.setSummaryTime(DateUtils.getStrDate(now.getTime())); query.setSummaryTime(DateUtils.getStrDate(now.getTime()));
} }
Calendar calendar = Calendar.getInstance();
calendar.setTime(DateUtils.StrToDate(query.getSummaryTime()));
int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
if(dayOfWeek==Calendar.SATURDAY||dayOfWeek==Calendar.SUNDAY){
return;
}
log.info("开始汇总[" + query.getSummaryTime() + "]考勤....."); log.info("开始汇总[" + query.getSummaryTime() + "]考勤.....");
//汇总当前日期假期余额 //汇总当前日期假期余额
List<VacationBalanceSummaryVo> vacationBalanceSummaryVoList = attendanceSummaryDao.getVacationBalanceSummary(query); List<VacationBalanceSummaryVo> vacationBalanceSummaryVoList = attendanceSummaryDao.getVacationBalanceSummary(query);
......
...@@ -5,6 +5,8 @@ import com.mortals.framework.exception.AppException; ...@@ -5,6 +5,8 @@ import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.PageInfo; import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result; import com.mortals.framework.model.Result;
import com.mortals.framework.service.ICacheService; import com.mortals.framework.service.ICacheService;
import com.mortals.framework.utils.ReflectUtils;
import com.mortals.framework.utils.poi.ExcelUtil;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.module.attendance.model.AttendanceClassQuery; import com.mortals.xhx.module.attendance.model.AttendanceClassQuery;
...@@ -176,4 +178,31 @@ public class AttendanceStatController extends BaseCRUDJsonBodyMappingController< ...@@ -176,4 +178,31 @@ public class AttendanceStatController extends BaseCRUDJsonBodyMappingController<
return pageInfo; return pageInfo;
} }
@PostMapping({"exportExcelExt"})
@UnAuth
public void exportExcel(@RequestBody AttendanceSummaryQuery query) {
Context context = this.getContext();
String busiDesc = "导出" + this.getModuleDesc();
ArrayList properties = new ArrayList();
try {
String name = StringUtils.trim(this.moduleDesc);
if (StringUtils.isEmpty(name)) {
name = System.currentTimeMillis() + "";
}
String fileName = name + ".xlsx";
PageInfo pageInfo = new PageInfo(-1);
List<AttendanceStatEntity> list = this.getService().findExt(query, pageInfo, context).getList();
Class<AttendanceStatEntity> tClass = ReflectUtils.getClassGenricType(this.getClass(), 1);
ExcelUtil<AttendanceStatEntity, Long> util = new ExcelUtil(tClass);
this.doExportAfter(context, list);
byte[] data = util.exportExcel(list, properties, name);
this.responseStream(this.response, data, fileName);
this.recordSysLog(this.request, busiDesc + " 【成功】");
} catch (Exception var12) {
this.doException(this.request, "导出异常", new HashMap(), var12);
}
}
} }
...@@ -141,9 +141,9 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID ...@@ -141,9 +141,9 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID
*/ */
public com.aliyun.teaopenapi.models.Config setConfig() { public com.aliyun.teaopenapi.models.Config setConfig() {
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config(); com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config();
// config.protocol = "http"; config.protocol = "http";
// config.regionId = "central"; config.regionId = "central";
// config.endpoint = oaUrl; config.endpoint = oaUrl;
return config; return config;
} }
...@@ -153,9 +153,9 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID ...@@ -153,9 +153,9 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID
com.aliyun.dingtalkworkflow_1_0.Client client = new com.aliyun.dingtalkworkflow_1_0.Client(setConfig()); com.aliyun.dingtalkworkflow_1_0.Client client = new com.aliyun.dingtalkworkflow_1_0.Client(setConfig());
com.aliyun.dingtalkworkflow_1_0.models.GetProcessInstanceHeaders getProcessInstanceHeaders = new com.aliyun.dingtalkworkflow_1_0.models.GetProcessInstanceHeaders(); com.aliyun.dingtalkworkflow_1_0.models.GetProcessInstanceHeaders getProcessInstanceHeaders = new com.aliyun.dingtalkworkflow_1_0.models.GetProcessInstanceHeaders();
getProcessInstanceHeaders.xAcsDingtalkAccessToken = getToken(); getProcessInstanceHeaders.xAcsDingtalkAccessToken = getToken();
// HashMap<String, String> map = new HashMap<>(); HashMap<String, String> map = new HashMap<>();
// getProcessInstanceHeaders.setCommonHeaders(map); getProcessInstanceHeaders.setCommonHeaders(map);
// getProcessInstanceHeaders.getCommonHeaders().put("host", "172.15.28.113:8919"); getProcessInstanceHeaders.getCommonHeaders().put("host", "172.15.28.113:8919");
com.aliyun.dingtalkworkflow_1_0.models.GetProcessInstanceRequest getProcessInstanceRequest = new com.aliyun.dingtalkworkflow_1_0.models.GetProcessInstanceRequest() com.aliyun.dingtalkworkflow_1_0.models.GetProcessInstanceRequest getProcessInstanceRequest = new com.aliyun.dingtalkworkflow_1_0.models.GetProcessInstanceRequest()
.setProcessInstanceId(processInstanceId); .setProcessInstanceId(processInstanceId);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment