Commit 519f67fb authored by litengwei's avatar litengwei

任务 8612 任务 8695

parent 96d3415b
...@@ -23,6 +23,8 @@ public class SignDto extends BaseDto { ...@@ -23,6 +23,8 @@ public class SignDto extends BaseDto {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "打卡人照片")
private String personPhotos;
@ApiModelProperty(value = "当前页") @ApiModelProperty(value = "当前页")
private int current; private int current;
......
package com.yeejoin.amos.boot.module.jcs.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel(value="SinStaticDto", description="打卡统计记录")
public class SinStaticDto {
@ApiModelProperty(value = "打卡日期")
private Date date;
@ApiModelProperty(value = "出勤人数")
private String signNum;
@ApiModelProperty(value = "出勤率")
private String attendance;
@ApiModelProperty(value = "换流站Name")
private String bizOrgName;
@ApiModelProperty(value = "换流站Code")
private String bizOrgCode;
@ApiModelProperty(value = "当前页")
private int current;
@ApiModelProperty(value = "每页几条")
private int size;
@ApiModelProperty(value = "开始时间")
private String dateBIGGER;
@ApiModelProperty(value = "结束时间")
private String dateLESS;
}
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jcs.api.mapper; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jcs.api.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.module.jcs.api.dto.SignDto; import com.yeejoin.amos.boot.module.jcs.api.dto.SignDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.SinStaticDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.Sign; import com.yeejoin.amos.boot.module.jcs.api.entity.Sign;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
...@@ -15,4 +16,8 @@ public interface SignMapper extends BaseMapper<Sign> { ...@@ -15,4 +16,8 @@ public interface SignMapper extends BaseMapper<Sign> {
IPage<SignDto> queryForPage(IPage page,SignDto dto); IPage<SignDto> queryForPage(IPage page,SignDto dto);
IPage<SinStaticDto> queryStaticForPage(IPage page, SinStaticDto dto);
int queryPersonNum(String bizOgrCode);
} }
...@@ -35,4 +35,35 @@ ...@@ -35,4 +35,35 @@
</where> </where>
order by sign.rec_date desc order by sign.rec_date desc
</select> </select>
<select id="queryStaticForPage" resultType="com.yeejoin.amos.boot.module.jcs.api.dto.SinStaticDto">
SELECT
date,
count(name) signNum,
biz_org_name bizOrgName,
biz_org_code bizOrgCode
FROM
cb_sign sign
<where>
<if test="dto.dateBIGGER!=null and dto.dateBIGGER!=''">
and sign.sign_time >= #{dto.dateBIGGER}
</if>
<if test="dto.dateLESS!=null and dto.dateLESS!=''">
and #{dto.dateLESS} >= sign.sign_time
</if>
<if test="dto.bizOrgCode!=null and dto.bizOrgCode!=''">
and sign.biz_org_code like CONCAT(#{dto.bizOrgCode},'%')
</if>
<if test="dto.bizOrgName!=null and dto.bizOrgName!=''">
and sign.biz_org_Name like CONCAT(#{dto.bizOrgName},'%')
</if>
</where>
group by date,biz_org_code
order by sign.rec_date desc
</select>
<select id="queryPersonNum" resultType="java.lang.Integer">
select count(*) from cb_firefighters where fire_team_id = (
select sequence_nbr from cb_fire_team where biz_org_code = #{bizOgrCode} and type_code = '116'
)
</select>
</mapper> </mapper>
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jcs.biz.controller; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jcs.biz.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils; import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.jcs.api.dto.SinStaticDto;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -104,6 +105,21 @@ public class SignController extends BaseController { ...@@ -104,6 +105,21 @@ public class SignController extends BaseController {
} }
/** /**
* 列表分页查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/static/page")
@ApiOperation(httpMethod = "POST",value = "打卡记录分页查询", notes = "打卡记录分页查询")
public ResponseModel<IPage<SinStaticDto>> queryStaticForPage(@RequestBody SinStaticDto dto) {
Page<SinStaticDto> page = new Page<>();
page.setCurrent(dto.getCurrent());
page.setSize(dto.getSize());
return ResponseHelper.buildResponse(signServiceImpl.queryForSignStaticPageByMapper(page, dto));
}
/**
* 列表全部数据查询 * 列表全部数据查询
* *
* @return * @return
......
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jcs.biz.service.impl; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.module.jcs.api.dto.SinStaticDto;
import com.yeejoin.amos.boot.module.jcs.api.entity.Sign; import com.yeejoin.amos.boot.module.jcs.api.entity.Sign;
import com.yeejoin.amos.boot.module.jcs.api.mapper.SignMapper; import com.yeejoin.amos.boot.module.jcs.api.mapper.SignMapper;
import com.yeejoin.amos.boot.module.jcs.api.service.ISignService; import com.yeejoin.amos.boot.module.jcs.api.service.ISignService;
...@@ -12,6 +13,8 @@ import org.typroject.tyboot.core.foundation.utils.Bean; ...@@ -12,6 +13,8 @@ import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.rdbms.service.BaseService; import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.text.NumberFormat;
import java.util.List; import java.util.List;
/** /**
...@@ -37,6 +40,26 @@ public class SignServiceImpl extends BaseService<SignDto,Sign,SignMapper> implem ...@@ -37,6 +40,26 @@ public class SignServiceImpl extends BaseService<SignDto,Sign,SignMapper> implem
} }
/** /**
* 分页查询
*/
public IPage<SinStaticDto> queryForSignStaticPageByMapper(IPage<SinStaticDto> page, SinStaticDto dto) {
IPage<SinStaticDto> sinStaticDtoIPage = this.baseMapper.queryStaticForPage(page, dto);
NumberFormat numberFormat = NumberFormat.getNumberInstance();
numberFormat.setMaximumFractionDigits(2);
sinStaticDtoIPage.getRecords().stream().forEach(e->{
int num = this.baseMapper.queryPersonNum(e.getBizOrgCode());
if(num != 0) {
e.setAttendance(numberFormat.format((float)Integer.parseInt(e.getSignNum())/(float) num * 100) + "%");
} else {
e.setAttendance("0%");
}
});
return sinStaticDtoIPage;
}
/**
* 列表查询 示例 * 列表查询 示例
*/ */
public List<SignDto> queryForSignList() { public List<SignDto> queryForSignList() {
......
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