家族-后台-半月周期

This commit is contained in:
2025-09-23 17:23:32 +08:00
parent 3fde5df497
commit d692003d1a

View File

@@ -4,8 +4,13 @@ import com.accompany.admin.controller.BaseController;
import com.accompany.admin.service.family.FamilyWageStatAdminService;
import com.accompany.admin.vo.family.FamilyMemberWageStatAdminVo;
import com.accompany.admin.vo.family.FamilyWageStatAdminVo;
import com.accompany.business.util.FullMonthCycleTimeUtil;
import com.accompany.business.util.HalfMonthCycleTimeUtil;
import com.accompany.business.vo.guild.GuildDateCycleVo;
import com.accompany.common.result.BusiResult;
import com.accompany.common.result.PageResult;
import com.accompany.common.utils.DateTimeUtil;
import com.accompany.core.vo.BaseResponseVO;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.support.ExcelTypeEnum;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -22,6 +27,10 @@ import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Api(tags = "家族工资统计")
@@ -32,6 +41,36 @@ public class FamilyWageStatAdminController extends BaseController {
@Autowired
private FamilyWageStatAdminService service;
@ApiOperation("获取周期list")
@GetMapping("/listDateCycle")
public BaseResponseVO<List<GuildDateCycleVo>> dateCycleList(Long month) {
ZonedDateTime now = DateTimeUtil.getDateTimeByZoneId(ZoneId.systemDefault().getId());
List<GuildDateCycleVo> agencyDateCycleVos = new ArrayList<>();
for (int i = 0; i < month; i++) {
ZonedDateTime zdt = now;
for (int j = 0; j < i; j++){
zdt = HalfMonthCycleTimeUtil.getLastDateZdt(zdt);
}
String cycleDate = HalfMonthCycleTimeUtil.getCycleDate(zdt);
String cycleEndDate = HalfMonthCycleTimeUtil.getCycleEndDate(zdt);
GuildDateCycleVo dateCycle = new GuildDateCycleVo();
dateCycle.setDateCycle(cycleDate);
Date startDate = DateTimeUtil.convertStrToDate(cycleDate, DateTimeUtil.DEFAULT_DATE_PATTERN);
Date endDate = DateTimeUtil.getEndTimeOfDay(DateTimeUtil.convertStrToDate(cycleEndDate, DateTimeUtil.DEFAULT_DATE_PATTERN));
dateCycle.setStartDate(startDate);
dateCycle.setEndDate(endDate);
dateCycle.setStartDateStr(cycleDate);
dateCycle.setEndDateStr(cycleEndDate);
agencyDateCycleVos.add(dateCycle);
}
return new BaseResponseVO<>(agencyDateCycleVos);
}
@ApiOperation("查询公会工资")
@ApiImplicitParams({
@ApiImplicitParam(name = "erbanNo", value = "家族长erbanNo"),