Commit e2e4b2e7 authored by 赵啸非's avatar 赵啸非

修改考勤汇总

parent ac265689
......@@ -29,16 +29,16 @@ public class CheckAllRecordServiceImpl implements CheckAllRecordService {
@Override
public Result<CheckAllRecordVo> getAllCheckRecord(CheckAllRecordQuery query,PageInfo pageInfo) {
if(StringUtils.isEmpty(query.getCheckTimeStart())||StringUtils.isEmpty(query.getCheckTimeStart())){
/* if(StringUtils.isEmpty(query.getCheckTimeStart())||StringUtils.isEmpty(query.getCheckTimeStart())){
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar=Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, 1);
String startTime = format.format(calendar.getTime());
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
String endTime = format.format(calendar.getTime());
query.setCheckTimeStart(startTime);
query.setCheckTimeEnd(endTime);
}
//query.setCheckTimeStart(startTime);
// query.setCheckTimeEnd(endTime);
}*/
return checkAllRecordDao.getAllCheckRecord(query,pageInfo);
}
......
......@@ -8,6 +8,7 @@ import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result;
import com.mortals.framework.util.DataUtil;
import com.mortals.framework.util.DateUtils;
import com.mortals.framework.util.StringUtils;
import com.mortals.framework.web.BaseJsonBodyController;
import com.mortals.xhx.common.code.*;
import com.mortals.xhx.module.check.model.CheckAllRecordQuery;
......@@ -24,13 +25,11 @@ import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal;
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* 全部类型核查信息Dao
......@@ -58,10 +57,20 @@ public class CheckAllRecordController extends BaseJsonBodyController {
Context context = this.getContext();
String busiDesc = "查询所有类型绩效核查信息";
int code=1;
int code = 1;
try {
PageInfo pageInfo = new PageInfo(-1);
Result<CheckAllRecordVo> result = checkAllRecordService.getAllCheckRecord(query,pageInfo);
if (StringUtils.isEmpty(query.getCheckTimeStart()) || StringUtils.isEmpty(query.getCheckTimeStart())) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_MONTH, 1);
String startTime = format.format(calendar.getTime());
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
String endTime = format.format(calendar.getTime());
query.setCheckTimeStart(startTime);
query.setCheckTimeEnd(endTime);
}
Result<CheckAllRecordVo> result = checkAllRecordService.getAllCheckRecord(query, pageInfo);
model.put("data", result.getList());
......@@ -84,6 +93,7 @@ public class CheckAllRecordController extends BaseJsonBodyController {
/**
* 绩效核查分数情况汇总
*
* @param query
* @return
*/
......@@ -94,79 +104,79 @@ public class CheckAllRecordController extends BaseJsonBodyController {
Map<String, Object> model = new HashMap();
Context context = this.getContext();
String busiDesc = "查询绩效核查分数情况汇总";
int code=1;
int code = 1;
try {
StaffCheckSummaryQuery lastQuery = new StaffCheckSummaryQuery();
Date now = new Date();
LocalDate localDate = LocalDate.now();
if (query.getSummaryType() == SummaryTopTypeEnum..getValue()) {
query.setCheckTimeStart(DateUtils.getCurrDateTime("yyyy")+"-01-01");
query.setCheckTimeEnd(DateUtils.getCurrDateTime("yyyy")+"-12-31");
lastQuery.setCheckTimeStart((localDate.getYear()-1)+"-01-01");
lastQuery.setCheckTimeEnd((localDate.getYear()-1)+"-12-31");
query.setCheckTimeStart(DateUtils.getCurrDateTime("yyyy") + "-01-01");
query.setCheckTimeEnd(DateUtils.getCurrDateTime("yyyy") + "-12-31");
lastQuery.setCheckTimeStart((localDate.getYear() - 1) + "-01-01");
lastQuery.setCheckTimeEnd((localDate.getYear() - 1) + "-12-31");
}
if (query.getSummaryType() == SummaryTopTypeEnum..getValue()) {
query.setCheckTimeStart(DateUtils.getCurrDateTime("yyyy-MM")+"-01");
query.setCheckTimeEnd(DateUtils.getDateTime(DateUtils.getMonthLastDate(now,"yyyy-MM-dd"),"yyyy-MM-dd"));
lastQuery.setCheckTimeStart(DateUtils.getDateTime(DateUtils.getLastMonthFirstDate(now,"yyyy-MM-dd"),"yyyy-MM-dd"));
lastQuery.setCheckTimeEnd(DateUtils.getDateTime(DateUtils.getLastMonthLastDate(now,"yyyy-MM-dd"),"yyyy-MM-dd"));
query.setCheckTimeStart(DateUtils.getCurrDateTime("yyyy-MM") + "-01");
query.setCheckTimeEnd(DateUtils.getDateTime(DateUtils.getMonthLastDate(now, "yyyy-MM-dd"), "yyyy-MM-dd"));
lastQuery.setCheckTimeStart(DateUtils.getDateTime(DateUtils.getLastMonthFirstDate(now, "yyyy-MM-dd"), "yyyy-MM-dd"));
lastQuery.setCheckTimeEnd(DateUtils.getDateTime(DateUtils.getLastMonthLastDate(now, "yyyy-MM-dd"), "yyyy-MM-dd"));
}
if (query.getSummaryType() == SummaryTopTypeEnum..getValue()) {
query.setCheckTimeStart(DateUtils.getCurrStrDate());
query.setCheckTimeEnd(DateUtils.getCurrStrDate());
lastQuery.setCheckTimeStart(DateUtils.getDateTime(DateUtils.addDate(now,-1),"yyyy-MM-dd"));
lastQuery.setCheckTimeEnd(DateUtils.getDateTime(DateUtils.addDate(now,-1),"yyyy-MM-dd"));
}
model.put("initScore",0);
model.put("checkScore",0);
model.put("checkPercent","0%");
model.put("appealPercent","0%");
model.put("appealScore",0);
model.put("total",0);
model.put("huanbi","暂无环比");
model.put("tongbi","暂无同比");
lastQuery.setCheckTimeStart(DateUtils.getDateTime(DateUtils.addDate(now, -1), "yyyy-MM-dd"));
lastQuery.setCheckTimeEnd(DateUtils.getDateTime(DateUtils.addDate(now, -1), "yyyy-MM-dd"));
}
model.put("initScore", 0);
model.put("checkScore", 0);
model.put("checkPercent", "0%");
model.put("appealPercent", "0%");
model.put("appealScore", 0);
model.put("total", 0);
model.put("huanbi", "暂无环比");
model.put("tongbi", "暂无同比");
CheckAllScoreSummaryVo current = checkAllRecordService.getScoreSummary(query);
NumberFormat numberFormat = NumberFormat.getPercentInstance();
numberFormat.setMaximumFractionDigits(2);
if(current!=null){
model.put("initScore",current.getInitScore());
model.put("checkScore",current.getCheckScore());
model.put("appealScore",current.getAppealScore());
model.put("total",current.getTotal());
BigDecimal checkPercent = current.getCheckScore().divide(current.getInitScore(),6,BigDecimal.ROUND_HALF_UP);
model.put("checkPercent",numberFormat.format(checkPercent));
BigDecimal appealPercent = current.getAppealScore().divide(current.getInitScore(),6,BigDecimal.ROUND_HALF_UP);
model.put("appealPercent",numberFormat.format(appealPercent));
if (current != null) {
model.put("initScore", current.getInitScore());
model.put("checkScore", current.getCheckScore());
model.put("appealScore", current.getAppealScore());
model.put("total", current.getTotal());
BigDecimal checkPercent = current.getCheckScore().divide(current.getInitScore(), 6, BigDecimal.ROUND_HALF_UP);
model.put("checkPercent", numberFormat.format(checkPercent));
BigDecimal appealPercent = current.getAppealScore().divide(current.getInitScore(), 6, BigDecimal.ROUND_HALF_UP);
model.put("appealPercent", numberFormat.format(appealPercent));
CheckAllScoreSummaryVo last = checkAllRecordService.getScoreSummary(lastQuery);
if(last!=null){
if (last != null) {
BigDecimal huanbi = current.getTotal().subtract(last.getTotal());
huanbi = huanbi.divide(last.getTotal(),6,BigDecimal.ROUND_HALF_UP);
model.put("huanbi",numberFormat.format(huanbi));
huanbi = huanbi.divide(last.getTotal(), 6, BigDecimal.ROUND_HALF_UP);
model.put("huanbi", numberFormat.format(huanbi));
}
if (query.getSummaryType() == SummaryTopTypeEnum..getValue()) {
if(last!=null){
model.put("tongbi",model.get("huanbi"));
if (last != null) {
model.put("tongbi", model.get("huanbi"));
}
}else {
String yyyy = query.getCheckTimeStart().substring(0,4);
int lastyear = DataUtil.converStr2Int(yyyy,0);
} else {
String yyyy = query.getCheckTimeStart().substring(0, 4);
int lastyear = DataUtil.converStr2Int(yyyy, 0);
lastyear--;
if(query.getCheckTimeStart().substring(4).equals("-02-29")){
lastQuery.setCheckTimeStart(lastyear+"-02-28");
}else {
lastQuery.setCheckTimeStart(lastyear+query.getCheckTimeStart().substring(4));
if (query.getCheckTimeStart().substring(4).equals("-02-29")) {
lastQuery.setCheckTimeStart(lastyear + "-02-28");
} else {
lastQuery.setCheckTimeStart(lastyear + query.getCheckTimeStart().substring(4));
}
if(query.getCheckTimeEnd().substring(4).equals("-02-29")){
lastQuery.setCheckTimeEnd(lastyear+"-02-28");
}else {
lastQuery.setCheckTimeEnd(lastyear+query.getCheckTimeEnd().substring(4));
if (query.getCheckTimeEnd().substring(4).equals("-02-29")) {
lastQuery.setCheckTimeEnd(lastyear + "-02-28");
} else {
lastQuery.setCheckTimeEnd(lastyear + query.getCheckTimeEnd().substring(4));
}
CheckAllScoreSummaryVo tb = checkAllRecordService.getScoreSummary(lastQuery);
if(tb!=null){
if (tb != null) {
BigDecimal tongbi = current.getTotal().subtract(tb.getTotal());
tongbi = tongbi.divide(last.getTotal(),6,BigDecimal.ROUND_HALF_UP);
model.put("tongbi",numberFormat.format(tongbi));
tongbi = tongbi.divide(last.getTotal(), 6, BigDecimal.ROUND_HALF_UP);
model.put("tongbi", numberFormat.format(tongbi));
}
}
}
......@@ -187,24 +197,24 @@ public class CheckAllRecordController extends BaseJsonBodyController {
return ret;
}
public static void main(String[] args){
public static void main(String[] args) {
StaffCheckSummaryQuery query = new StaffCheckSummaryQuery();
query.setCheckTimeStart("2023-02-01");
query.setCheckTimeEnd("2023-02-29");
StaffCheckSummaryQuery lastQuery = new StaffCheckSummaryQuery();
String yyyy = query.getCheckTimeStart().substring(0,4);
String yyyy = query.getCheckTimeStart().substring(0, 4);
String mmdd = query.getCheckTimeStart().substring(4);
int lastyear = DataUtil.converStr2Int(yyyy,0);
int lastyear = DataUtil.converStr2Int(yyyy, 0);
lastyear--;
if(query.getCheckTimeStart().substring(4).equals("-02-29")){
lastQuery.setCheckTimeStart(lastyear+"-02-28");
}else {
lastQuery.setCheckTimeStart(lastyear+query.getCheckTimeStart().substring(4));
}
if(query.getCheckTimeEnd().substring(4).equals("-02-29")){
lastQuery.setCheckTimeEnd(lastyear+"-02-28");
}else {
lastQuery.setCheckTimeEnd(lastyear+query.getCheckTimeEnd().substring(4));
if (query.getCheckTimeStart().substring(4).equals("-02-29")) {
lastQuery.setCheckTimeStart(lastyear + "-02-28");
} else {
lastQuery.setCheckTimeStart(lastyear + query.getCheckTimeStart().substring(4));
}
if (query.getCheckTimeEnd().substring(4).equals("-02-29")) {
lastQuery.setCheckTimeEnd(lastyear + "-02-28");
} else {
lastQuery.setCheckTimeEnd(lastyear + query.getCheckTimeEnd().substring(4));
}
System.out.println(JSONObject.toJSON(lastQuery).toString());
}
......
......@@ -12,6 +12,7 @@
<if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if>
<if test="createTimeStart != null and createTimeStart!=''"> AND createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="createTimeEnd != null and createTimeEnd!=''"> AND createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="createUserId != null and createUserId!=''"> AND createUserId = #{createUserId} </if>
......@@ -23,7 +24,6 @@
<if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if>
<if test="createTimeStart != null and createTimeStart!=''"> AND createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="createTimeEnd != null and createTimeEnd!=''"> AND createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="createUserId != null and createUserId!=''"> AND createUserId = #{createUserId} </if>
......@@ -35,7 +35,6 @@
<if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if>
<if test="createTimeStart != null and createTimeStart!=''"> AND createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="createTimeEnd != null and createTimeEnd!=''"> AND createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="createUserId != null and createUserId!=''"> AND createUserId = #{createUserId} </if>
......@@ -47,7 +46,6 @@
<if test="staffId != null and staffId!=''"> AND staffId = #{staffId} </if>
<if test="createTimeStart != null and createTimeStart!=''"> AND createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="createTimeEnd != null and createTimeEnd!=''"> AND createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeStart != null and checkTimeStart!=''"> AND checkTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{checkTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="checkTimeEnd != null and checkTimeEnd!=''"> AND checkTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{checkTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') </if>
<if test="createUserId != null and createUserId!=''"> AND createUserId = #{createUserId} </if>
......
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