diff --git a/sk-module-biz/src/main/java/com/skua/modules/edu/mapper/xml/PaperMapper.xml b/sk-module-biz/src/main/java/com/skua/modules/edu/mapper/xml/PaperMapper.xml index 91c2388..bc28880 100644 --- a/sk-module-biz/src/main/java/com/skua/modules/edu/mapper/xml/PaperMapper.xml +++ b/sk-module-biz/src/main/java/com/skua/modules/edu/mapper/xml/PaperMapper.xml @@ -15,6 +15,12 @@ <if test="param.departId != null and param.departId !=''"> and p.depart_id = #{param.departId} </if> + <if test="param.paperTitle != null and param.paperTitle !=''"> + and p.paper_title like CONCAT('%',#{param.paperTitle},'%') + </if> + <if test="param.departId != null and param.departId !=''"> + and p.depart_id = #{param.departId} + </if> and p.id NOT in ( select DISTINCT p1.id from edu_user_paper up , edu_paper p1 where up.paper_id = p1.id and up.user_id = #{param.userId} @@ -29,9 +35,14 @@ <!-- 考试记录--> <select id="queryMyPaperRecoredByList" resultType="com.skua.modules.edu.entity.Paper"> - select up.score, up.rank,up.id as 'user_paper_id', p.* from edu_user_paper up - left join edu_paper p on p.id = up.paper_id - where up.user_id = #{param.userId} + select up.score, up.rank,up.id as 'user_paper_id', p.* from edu_user_paper up ,edu_paper p + where up.user_id = #{param.userId} and p.id = up.paper_id + <if test="param.paperTitle != null and param.paperTitle !=''"> + and p.paper_title like CONCAT('%',#{param.paperTitle},'%') + </if> + <if test="param.departId != null and param.departId !=''"> + and p.depart_id = #{param.departId} + </if> order by up.start_time desc </select> </mapper> \ No newline at end of file diff --git a/sk-module-biz/src/main/java/com/skua/modules/erp/controller/ErpCommonController.java b/sk-module-biz/src/main/java/com/skua/modules/erp/controller/ErpCommonController.java index 993c487..df5dca5 100644 --- a/sk-module-biz/src/main/java/com/skua/modules/erp/controller/ErpCommonController.java +++ b/sk-module-biz/src/main/java/com/skua/modules/erp/controller/ErpCommonController.java @@ -7,6 +7,7 @@ import com.skua.core.api.vo.Result; import com.skua.core.aspect.annotation.AutoLog; import com.skua.core.context.BaseContextHandler; import com.skua.core.query.QueryGenerator; +import com.skua.core.util.ConvertUtils; import com.skua.modules.equipment.service.IEquipmentSparepartService; import com.skua.modules.erp.entity.ApproveRecord; import com.skua.modules.erp.entity.PurchaseMaterial; @@ -15,16 +16,20 @@ import com.skua.modules.erp.service.IPurchaseMaterialService; import com.skua.modules.erp.vo.MaterialSearchVO; import com.skua.modules.erp.vo.PurchaseMaterialVO; import com.skua.modules.supplies.entity.EquipmentSparepartSupplies; +import com.skua.modules.supplies.entity.EquipmentSparepartType; import com.skua.modules.supplies.service.IEquipmentSparepartSuppliesService; +import com.skua.modules.supplies.service.IEquipmentSparepartTypeService; import com.skua.modules.system.entity.SysUser; +import com.skua.tool.dfs.MapDFS; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; -import java.util.List; +import java.util.*; @Slf4j @Api(tags="ert通用方法") @@ -37,7 +42,7 @@ public class ErpCommonController { private IPurchaseMaterialService purchaseMaterialService; @Autowired - private IDistributMaterialService distributMaterialService; + private IEquipmentSparepartTypeService equipmentSparepartTypeService; @AutoLog(value = "ERP-采购计划--物料列表") @ApiOperation(value = "ERP-采购计划--物料列表", notes = "ERP-采购计划--物料列表") @@ -47,9 +52,20 @@ public class ErpCommonController { @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { Result<IPage<EquipmentSparepartSupplies>> result = new Result<IPage<EquipmentSparepartSupplies>>(); Page<EquipmentSparepartSupplies> page = new Page<EquipmentSparepartSupplies>(pageNo, pageSize); - String depId = BaseContextHandler.getRealDepartId();//临时参数 + + Set<String> sparepartTypeSet = new HashSet<>(); + String sparepartTypeStr = ""; + if (StringUtils.isNotEmpty(materialSearchVO.getSparepartType())) { + // 查询子集 + sparepartTypeSet = equipmentSparepartTypeService.getAllChildrenSparepartTypeIds( materialSearchVO.getSparepartType() ); + if(sparepartTypeSet.size() > 0 ){ + // 使用String.join()方法转换Set为字符串,以逗号分隔 + sparepartTypeStr = String.join(",", sparepartTypeSet); + } + } + // String depId = BaseContextHandler.getRealDepartId();//临时参数 // String username = req.getParameter("username"); - IPage<EquipmentSparepartSupplies> pageList = sparepartSuppliesService.queryPageByOut(page, depId , materialSearchVO.getSparepartName() ,materialSearchVO.getSparepartType(),materialSearchVO.getSparepartCode()); + IPage<EquipmentSparepartSupplies> pageList = sparepartSuppliesService.queryPageByOut(page , materialSearchVO.getSparepartName() ,sparepartTypeStr ,materialSearchVO.getSparepartCode()); result.setSuccess(true); result.setResult(pageList); return result; diff --git a/sk-module-biz/src/main/java/com/skua/modules/guest/util/DateUtil.java b/sk-module-biz/src/main/java/com/skua/modules/guest/util/DateUtil.java index b702d1c..2411c6b 100644 --- a/sk-module-biz/src/main/java/com/skua/modules/guest/util/DateUtil.java +++ b/sk-module-biz/src/main/java/com/skua/modules/guest/util/DateUtil.java @@ -4,6 +4,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.LocalDateTime; +import java.time.Period; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.*; @@ -28,6 +29,21 @@ public class DateUtil { return dateUtil; } + + /*** + * 计算年龄 + * @param birthdate + * @return + */ + public static int calculateAge(Date birthdate) { + LocalDate now = LocalDate.now(); + LocalDate dob = birthdate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate(); + + Period period = Period.between(dob, now); + int age = period.getYears(); + + return age; + } /** * 转化日期格式 * @param dateString 要转换的日期字符串 diff --git a/sk-module-biz/src/main/java/com/skua/modules/safe/controller/HealthRecordsController.java b/sk-module-biz/src/main/java/com/skua/modules/safe/controller/HealthRecordsController.java index 737a6e5..b2bfd46 100644 --- a/sk-module-biz/src/main/java/com/skua/modules/safe/controller/HealthRecordsController.java +++ b/sk-module-biz/src/main/java/com/skua/modules/safe/controller/HealthRecordsController.java @@ -1,8 +1,6 @@ package com.skua.modules.safe.controller; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; @@ -10,16 +8,23 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.skua.core.api.vo.Result; import com.skua.core.aspect.annotation.AutoLog; -import com.skua.core.context.BaseContextHandler; import com.skua.core.query.QueryGenerator; import com.skua.core.util.ConvertUtils; +import com.skua.modules.flow.utils.StringUtil; import com.skua.modules.safe.entity.HealthRecords; import com.skua.modules.safe.service.IHealthRecordsService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.skua.modules.safe.vo.HealthRecordsStatisticsVO; +import com.skua.modules.safe.vo.HealthRecordsVO; +import com.skua.modules.system.entity.SysUser; +import com.skua.modules.system.service.ISysDepartService; +import com.skua.modules.system.service.ISysUserDepartService; +import com.skua.modules.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.entity.ExportParams; @@ -49,12 +54,18 @@ import io.swagger.annotations.ApiOperation; public class HealthRecordsController { @Autowired private IHealthRecordsService healthRecordsService; + @Autowired + private ISysUserDepartService userDepartService; + @Autowired + private ISysDepartService departService; + @Autowired + private ISysUserService userService; /** * <pre> * 分页列表查询 * </pre> - * @param healthRecords + * @param healthRecordsVO * @param pageNo * @param pageSize * @param req @@ -62,20 +73,38 @@ public class HealthRecordsController { * @author 开发者姓名, 开发时间 * @Description: TODO(这里描述这个方法的需求变更情况) */ - @AutoLog(value = "健康档案-分页列表查询") @ApiOperation(value="健康档案-分页列表查询", notes="健康档案-分页列表查询") @GetMapping(value = "/list") - public Result<IPage<HealthRecords>> queryPageList(HealthRecords healthRecords, + public Result<IPage<HealthRecordsVO>> queryPageList(HealthRecordsVO healthRecordsVO, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { - Result<IPage<HealthRecords>> result = new Result<IPage<HealthRecords>>(); - QueryWrapper<HealthRecords> queryWrapper = QueryGenerator.initQueryWrapper(healthRecords, req.getParameterMap()); + Result<IPage<HealthRecordsVO>> result = new Result<IPage<HealthRecordsVO>>(); + /* QueryWrapper<HealthRecords> queryWrapper = QueryGenerator.initQueryWrapper(healthRecords, req.getParameterMap()); Page<HealthRecords> page = new Page<HealthRecords>(pageNo, pageSize); //queryWrapper.eq("depart_id", BaseContextHandler.getRealDepartId()); queryWrapper.in("depart_id", BaseContextHandler.getDeparts().split(",")); - IPage<HealthRecords> pageList = healthRecordsService.page(page, queryWrapper); + IPage<HealthRecords> pageList = healthRecordsService.page(page, queryWrapper);*/ + + String departAncestors = ""; + + Set<String> departSet = new HashSet<>(); + if (StringUtils.isNotEmpty(healthRecordsVO.getDepartId() )) { + String departId = healthRecordsVO.getDepartId(); + // 查询子集 + departSet = departService.getAllChildrenDepartIds(departId); + if(departSet.size() > 0 ){ + // 使用String.join()方法转换Set为字符串,以逗号分隔 + departAncestors = String.join(",", departSet); + } + } + if(departAncestors.length() > 0 ){ + healthRecordsVO.setDepartAncestors( departAncestors ); + } + + Page<HealthRecordsVO> page = new Page<HealthRecordsVO>(pageNo, pageSize); + IPage<HealthRecordsVO> pageList = healthRecordsService.queryByPage(page, healthRecordsVO); result.setSuccess(true); result.setResult(pageList); return result; @@ -96,6 +125,14 @@ public class HealthRecordsController { public Result<HealthRecords> add(@RequestBody HealthRecords healthRecords) { Result<HealthRecords> result = new Result<HealthRecords>(); try { + if( StringUtil.isNotBlank(healthRecords.getUserId())){ + List<String> deparentList = userDepartService.getDepartByUserId(healthRecords.getUserId()); + if(deparentList != null && !deparentList.isEmpty()){ + healthRecords.setDepartId(deparentList.get(0) );//获取用户所属的部门的第一条记录 + } + SysUser sysUser = userService.getById(healthRecords.getUserId()); + if(sysUser != null ) healthRecords.setUserName( sysUser.getRealname()); + } healthRecordsService.save(healthRecords); result.success("添加成功!"); } catch (Exception e) { @@ -118,10 +155,21 @@ public class HealthRecordsController { @PutMapping(value = "/edit") public Result<HealthRecords> edit(@RequestBody HealthRecords healthRecords) { Result<HealthRecords> result = new Result<HealthRecords>(); + + HealthRecords healthRecordsEntity = healthRecordsService.getById(healthRecords.getId()); if(healthRecordsEntity==null) { result.error500("未找到对应实体"); }else { + + if( StringUtil.isNotBlank(healthRecords.getUserId())){ + List<String> deparentList = userDepartService.getDepartByUserId(healthRecords.getUserId()); + if(deparentList != null && !deparentList.isEmpty()){ + healthRecords.setDepartId(deparentList.get(0) );//获取用户所属的部门的第一条记录 + } + SysUser sysUser = userService.getById(healthRecords.getUserId()); + if(sysUser != null ) healthRecords.setUserName( sysUser.getRealname()); + } boolean ok = healthRecordsService.updateById(healthRecords); //TODO 返回false说明什么? if(ok) { @@ -199,6 +247,30 @@ public class HealthRecordsController { return result; } + + @AutoLog(value = "健康档案-统计接口") + @ApiOperation(value="健康档案-统计接口", notes="健康档案-统计接口") + @GetMapping(value = "/statistics") + public Result<HealthRecordsStatisticsVO> statistics(@RequestParam(name="departId",required=true) String departId) { + Result<HealthRecordsStatisticsVO> result = new Result<HealthRecordsStatisticsVO>(); + + // 查询子集 + String departAncestors = ""; + + Set<String> departSet = new HashSet<>(); + // 查询子集 + departSet = departService.getAllChildrenDepartIds(departId); + if(departSet.size() > 0 ){ + // 使用String.join()方法转换Set为字符串,以逗号分隔 + departAncestors = String.join(",", departSet); + } + + HealthRecordsStatisticsVO statisticsVO = healthRecordsService.statistics(departAncestors); + result.setResult(statisticsVO); + result.setSuccess(true); + return result; + } + /** * <pre> * 导出excel diff --git a/sk-module-biz/src/main/java/com/skua/modules/safe/entity/EpibolyOuterStaff.java b/sk-module-biz/src/main/java/com/skua/modules/safe/entity/EpibolyOuterStaff.java index a9ddb09..fcbb610 100644 --- a/sk-module-biz/src/main/java/com/skua/modules/safe/entity/EpibolyOuterStaff.java +++ b/sk-module-biz/src/main/java/com/skua/modules/safe/entity/EpibolyOuterStaff.java @@ -41,16 +41,11 @@ public class EpibolyOuterStaff { @Dict(dictTable = "epiboly_company", dicCode="id", dicText = "company_name") private String companyId; - - - /**关联外协单位ID*/ @Excel(name = "外协类型", width = 15) @ApiModelProperty(value = "外协类型:1 单位合作;2 个人合作") @Dict(dicCode = "cooperate_type") private String cooperateType; - - /**员工名称*/ @Excel(name = "员工名称", width = 15) @ApiModelProperty(value = "员工名称") diff --git a/sk-module-biz/src/main/java/com/skua/modules/safe/entity/HealthRecords.java b/sk-module-biz/src/main/java/com/skua/modules/safe/entity/HealthRecords.java index ea3b0fa..2235362 100644 --- a/sk-module-biz/src/main/java/com/skua/modules/safe/entity/HealthRecords.java +++ b/sk-module-biz/src/main/java/com/skua/modules/safe/entity/HealthRecords.java @@ -43,6 +43,14 @@ public class HealthRecords { @Excel(name = "用户编号", width = 15) @ApiModelProperty(value = "用户编号") private String userId; + + @ApiModelProperty(value = "用户名称") + private String userName; + + @Excel(name = "用户学历", width = 15) + @ApiModelProperty(value = "用户学历") + private String education; + /**检查地点*/ @Excel(name = "检查地点", width = 15) @ApiModelProperty(value = "检查地点") @@ -50,7 +58,12 @@ public class HealthRecords { /**检查结果*/ @Excel(name = "检查结果", width = 15) @ApiModelProperty(value = "检查结果") + @Dict(dicCode="health_records_inspection_results") private String inspectResult; + + @Excel(name = "检查日期", width = 15) + @ApiModelProperty(value = "检查日期") + private String inspectTime; /**检查报告*/ @Excel(name = "检查报告", width = 15) @ApiModelProperty(value = "检查报告") diff --git a/sk-module-biz/src/main/java/com/skua/modules/safe/mapper/HealthRecordsMapper.java b/sk-module-biz/src/main/java/com/skua/modules/safe/mapper/HealthRecordsMapper.java index 3925fa1..f40610f 100644 --- a/sk-module-biz/src/main/java/com/skua/modules/safe/mapper/HealthRecordsMapper.java +++ b/sk-module-biz/src/main/java/com/skua/modules/safe/mapper/HealthRecordsMapper.java @@ -2,6 +2,10 @@ package com.skua.modules.safe.mapper; import java.util.List; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.skua.modules.safe.vo.HealthRecordsStatisticsVO; +import com.skua.modules.safe.vo.HealthRecordsVO; import org.apache.ibatis.annotations.Param; import com.skua.modules.safe.entity.HealthRecords; import com.baomidou.mybatisplus.core.mapper.BaseMapper; @@ -11,4 +15,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; */ public interface HealthRecordsMapper extends BaseMapper<HealthRecords> { + public IPage<HealthRecordsVO> queryByPage(Page<HealthRecordsVO> page,@Param("healthRecordsVO") HealthRecordsVO healthRecordsVO); + + /*** + * 统计接口 + * @param departAncestors + * @return + */ + public HealthRecordsStatisticsVO statistics(@Param("departAncestors") String departAncestors ); } diff --git a/sk-module-biz/src/main/java/com/skua/modules/safe/mapper/xml/HealthRecordsMapper.xml b/sk-module-biz/src/main/java/com/skua/modules/safe/mapper/xml/HealthRecordsMapper.xml index 59ddbe9..28fba6a 100644 --- a/sk-module-biz/src/main/java/com/skua/modules/safe/mapper/xml/HealthRecordsMapper.xml +++ b/sk-module-biz/src/main/java/com/skua/modules/safe/mapper/xml/HealthRecordsMapper.xml @@ -2,4 +2,40 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.skua.modules.safe.mapper.HealthRecordsMapper"> + + <select id="queryByPage" resultType="com.skua.modules.safe.vo.HealthRecordsVO" parameterType="com.skua.modules.safe.vo.HealthRecordsVO"> + select u.phone, u.birthday,u.sex, + (select group_concat(DISTINCT (select r.role_name from sys_role r where r.id = sur.role_id)) role_name + from sys_user_role sur where sur.user_id = hr.user_id) 'role_name', + hr.* + from safety_health_records hr + left join sys_user u on hr.user_id = u.id + <where> + <if test="healthRecordsVO.userName != null and healthRecordsVO.userName !=''"> + and hr.user_name like CONCAT('%',#{healthRecordsVO.userName},'%') + </if> + <if test="healthRecordsVO.departAncestors != null and healthRecordsVO.departAncestors !=''"> + and hr.depart_id in (${healthRecordsVO.departAncestors}) + </if> + <if test="healthRecordsVO.inspectTime != null and healthRecordsVO.inspectTime !=''"> + and hr.inspect_time = #{healthRecordsVO.inspectTime} + </if> + <if test="healthRecordsVO.startTime != null and healthRecordsVO.startTime !=''"> + and hr.inspect_time >= #{healthRecordsVO.startTime} + </if> + <if test="healthRecordsVO.endTime != null and healthRecordsVO.endTime !=''"> + and hr.inspect_time <= #{healthRecordsVO.endTime} + </if> + </where> + order by hr.create_time desc + </select> + + <!-- 统计接口--> + <select id="statistics" resultType="com.skua.modules.safe.vo.HealthRecordsStatisticsVO"> + select + (select count(1) from sys_user_depart where dep_id in (${departAncestors}) ) 'totalNum', + (select count(1 ) from (select DISTINCT user_id from safety_health_records hr where hr.depart_id in ( ${departAncestors} ) ) aa) 'useNum' + from dual + </select> + </mapper> \ No newline at end of file diff --git a/sk-module-biz/src/main/java/com/skua/modules/safe/service/IHealthRecordsService.java b/sk-module-biz/src/main/java/com/skua/modules/safe/service/IHealthRecordsService.java index 95ad110..96d2926 100644 --- a/sk-module-biz/src/main/java/com/skua/modules/safe/service/IHealthRecordsService.java +++ b/sk-module-biz/src/main/java/com/skua/modules/safe/service/IHealthRecordsService.java @@ -1,11 +1,28 @@ package com.skua.modules.safe.service; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.skua.modules.safe.entity.HealthRecords; import com.baomidou.mybatisplus.extension.service.IService; +import com.skua.modules.safe.vo.HealthRecordsStatisticsVO; +import com.skua.modules.safe.vo.HealthRecordsVO; /** * 健康档案 */ public interface IHealthRecordsService extends IService<HealthRecords> { + /*** + * 分页检索健康记录 + * @param page + * @param healthRecordsVO + * @return + */ + IPage<HealthRecordsVO> queryByPage(Page<HealthRecordsVO> page, HealthRecordsVO healthRecordsVO); + /*** + * 统计 + * @param departAncestors + * @return + */ + public HealthRecordsStatisticsVO statistics(String departAncestors); } diff --git a/sk-module-biz/src/main/java/com/skua/modules/safe/service/impl/HealthRecordsServiceImpl.java b/sk-module-biz/src/main/java/com/skua/modules/safe/service/impl/HealthRecordsServiceImpl.java index e0fad3f..aced515 100644 --- a/sk-module-biz/src/main/java/com/skua/modules/safe/service/impl/HealthRecordsServiceImpl.java +++ b/sk-module-biz/src/main/java/com/skua/modules/safe/service/impl/HealthRecordsServiceImpl.java @@ -1,8 +1,12 @@ package com.skua.modules.safe.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.skua.modules.safe.entity.HealthRecords; import com.skua.modules.safe.mapper.HealthRecordsMapper; import com.skua.modules.safe.service.IHealthRecordsService; +import com.skua.modules.safe.vo.HealthRecordsStatisticsVO; +import com.skua.modules.safe.vo.HealthRecordsVO; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -13,4 +17,22 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @Service public class HealthRecordsServiceImpl extends ServiceImpl<HealthRecordsMapper, HealthRecords> implements IHealthRecordsService { + /*** + * 分页检索健康记录 + * @param page + * @param healthRecordsVO + * @return + */ + public IPage<HealthRecordsVO> queryByPage(Page<HealthRecordsVO> page, HealthRecordsVO healthRecordsVO){ + return this.baseMapper.queryByPage( page,healthRecordsVO ); + } + + /*** + * 统计 + * @param departAncestors + * @return + */ + public HealthRecordsStatisticsVO statistics(String departAncestors){ + return this.baseMapper.statistics( departAncestors ); + } } diff --git a/sk-module-biz/src/main/java/com/skua/modules/safe/vo/HealthRecordsStatisticsVO.java b/sk-module-biz/src/main/java/com/skua/modules/safe/vo/HealthRecordsStatisticsVO.java new file mode 100644 index 0000000..df51eca --- /dev/null +++ b/sk-module-biz/src/main/java/com/skua/modules/safe/vo/HealthRecordsStatisticsVO.java @@ -0,0 +1,15 @@ +package com.skua.modules.safe.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value="HealthRecords健康档案统计对象", description="健康档案统计对象") +public class HealthRecordsStatisticsVO { + @ApiModelProperty(value = "部门下总人数") + private String totalNum; + + @ApiModelProperty(value = "已检查人数") + private String useNum; +} diff --git a/sk-module-biz/src/main/java/com/skua/modules/safe/vo/HealthRecordsVO.java b/sk-module-biz/src/main/java/com/skua/modules/safe/vo/HealthRecordsVO.java new file mode 100644 index 0000000..6c86b2c --- /dev/null +++ b/sk-module-biz/src/main/java/com/skua/modules/safe/vo/HealthRecordsVO.java @@ -0,0 +1,60 @@ +package com.skua.modules.safe.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.skua.core.aspect.annotation.Dict; +import com.skua.modules.safe.entity.HealthRecords; +import com.skua.modules.guest.util.DateUtil; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +@Data +@ApiModel(value="HealthRecords健康档案", description="健康档案") +public class HealthRecordsVO extends HealthRecords { + + + /** + * 性别(1:男 2:女) + */ + @Excel(name = "用户性别", width = 15,dicCode="sex") + @Dict(dicCode = "sex") + private Integer sex; + + @ApiModelProperty(value = "年龄") + private String age; + + + @Excel(name = "生日", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date birthday; + /** + * 电话 + */ + @Excel(name = "电话", width = 15) + @ApiModelProperty(value = "电话") + private String phone; + /** + * 角色 + */ + @Excel(name = "角色", width = 15) + @ApiModelProperty(value = "角色名称") + private String roleName; + + @ApiModelProperty(value = "开始时间") + private String startTime; + @ApiModelProperty(value = "结束时间") + private String endTime; + + public String getAge(){ + if(this.getBirthday() != null ){ + return DateUtil.calculateAge(this.getBirthday() )+""; + } + return ""; + } + +} diff --git a/sk-module-equipment/src/main/java/com/skua/modules/supplies/mapper/EquipmentSparepartSuppliesMapper.java b/sk-module-equipment/src/main/java/com/skua/modules/supplies/mapper/EquipmentSparepartSuppliesMapper.java index 1c654bd..abead81 100644 --- a/sk-module-equipment/src/main/java/com/skua/modules/supplies/mapper/EquipmentSparepartSuppliesMapper.java +++ b/sk-module-equipment/src/main/java/com/skua/modules/supplies/mapper/EquipmentSparepartSuppliesMapper.java @@ -15,10 +15,9 @@ public interface EquipmentSparepartSuppliesMapper extends BaseMapper<EquipmentSp /*** * 物料列表+去年出库 * @param page - * @param depId + * @param * @return */ - public IPage<EquipmentSparepartSupplies> queryPageByOut(Page<EquipmentSparepartSupplies> page, - @Param("depId") String depId ,@Param("sparepartName")String sparepartName, + public IPage<EquipmentSparepartSupplies> selectPageByOut(Page<EquipmentSparepartSupplies> page,@Param("sparepartName")String sparepartName, @Param("sparepartType")String sparepartType ,@Param("sparepartCode")String sparepartCode); } diff --git a/sk-module-equipment/src/main/java/com/skua/modules/supplies/mapper/xml/EquipmentSparepartSuppliesMapper.xml b/sk-module-equipment/src/main/java/com/skua/modules/supplies/mapper/xml/EquipmentSparepartSuppliesMapper.xml index ae7bd26..3006efb 100644 --- a/sk-module-equipment/src/main/java/com/skua/modules/supplies/mapper/xml/EquipmentSparepartSuppliesMapper.xml +++ b/sk-module-equipment/src/main/java/com/skua/modules/supplies/mapper/xml/EquipmentSparepartSuppliesMapper.xml @@ -3,7 +3,7 @@ <mapper namespace="com.skua.modules.supplies.mapper.EquipmentSparepartSuppliesMapper"> <!-- 物料列表+去年出库 --> - <select id="queryPageByOut" resultType="com.skua.modules.supplies.entity.EquipmentSparepartSupplies"> + <select id="selectPageByOut" resultType="com.skua.modules.supplies.entity.EquipmentSparepartSupplies"> select st.item_text 'sparepart_type_name' , aaa.out_num, ss.* from equipment_sparepart_supplies ss left join equipment_sparepart_type st on ss.sparepart_type = st.id left join ( @@ -20,7 +20,7 @@ and ss.sparepart_code like CONCAT('%', #{sparepartCode},'%') </if> <if test="sparepartType != null and sparepartType !=''"> - and ss.sparepart_type = #{sparepartType} + and ss.sparepart_type in ( ${sparepartType}) </if> </where> </select> diff --git a/sk-module-equipment/src/main/java/com/skua/modules/supplies/service/IEquipmentSparepartSuppliesService.java b/sk-module-equipment/src/main/java/com/skua/modules/supplies/service/IEquipmentSparepartSuppliesService.java index fd85de8..9247271 100644 --- a/sk-module-equipment/src/main/java/com/skua/modules/supplies/service/IEquipmentSparepartSuppliesService.java +++ b/sk-module-equipment/src/main/java/com/skua/modules/supplies/service/IEquipmentSparepartSuppliesService.java @@ -15,5 +15,5 @@ public interface IEquipmentSparepartSuppliesService extends IService<EquipmentSp * @param depId * @return */ - public IPage<EquipmentSparepartSupplies> queryPageByOut(Page<EquipmentSparepartSupplies> page, String depId ,String sparepartName,String sparepartType ,String sparepartCode); + public IPage<EquipmentSparepartSupplies> queryPageByOut(Page<EquipmentSparepartSupplies> page, String sparepartName,String sparepartType ,String sparepartCode); } diff --git a/sk-module-equipment/src/main/java/com/skua/modules/supplies/service/IEquipmentSparepartTypeService.java b/sk-module-equipment/src/main/java/com/skua/modules/supplies/service/IEquipmentSparepartTypeService.java index 6ae8c2e..020b096 100644 --- a/sk-module-equipment/src/main/java/com/skua/modules/supplies/service/IEquipmentSparepartTypeService.java +++ b/sk-module-equipment/src/main/java/com/skua/modules/supplies/service/IEquipmentSparepartTypeService.java @@ -3,10 +3,20 @@ package com.skua.modules.supplies.service; import com.baomidou.mybatisplus.extension.service.IService; import com.skua.modules.supplies.entity.EquipmentSparepartType; +import java.util.Set; + /** * 设备物资类型 */ public interface IEquipmentSparepartTypeService extends IService<EquipmentSparepartType> { + + + /*** + * 获取类别下所有的子分类 + * @param sparepartTypeId + * @return + */ + public Set<String> getAllChildrenSparepartTypeIds( String sparepartTypeId ); /** * <pre> * 保存并修改父级叶子节点状态 diff --git a/sk-module-equipment/src/main/java/com/skua/modules/supplies/service/impl/EquipmentSparepartSuppliesServiceImpl.java b/sk-module-equipment/src/main/java/com/skua/modules/supplies/service/impl/EquipmentSparepartSuppliesServiceImpl.java index e479024..a75beec 100644 --- a/sk-module-equipment/src/main/java/com/skua/modules/supplies/service/impl/EquipmentSparepartSuppliesServiceImpl.java +++ b/sk-module-equipment/src/main/java/com/skua/modules/supplies/service/impl/EquipmentSparepartSuppliesServiceImpl.java @@ -17,10 +17,10 @@ public class EquipmentSparepartSuppliesServiceImpl extends ServiceImpl<Equipment /*** * 物料列表+去年出库 * @param page - * @param depId + * @param * @return */ - public IPage<EquipmentSparepartSupplies> queryPageByOut(Page<EquipmentSparepartSupplies> page, String depId ,String sparepartName,String sparepartType ,String sparepartCode){ - return baseMapper.queryPageByOut(page,depId ,sparepartName,sparepartType,sparepartCode); + public IPage<EquipmentSparepartSupplies> queryPageByOut(Page<EquipmentSparepartSupplies> page ,String sparepartName,String sparepartType ,String sparepartCode){ + return baseMapper.selectPageByOut(page ,sparepartName,sparepartType,sparepartCode); } } diff --git a/sk-module-equipment/src/main/java/com/skua/modules/supplies/service/impl/EquipmentSparepartTypeServiceImpl.java b/sk-module-equipment/src/main/java/com/skua/modules/supplies/service/impl/EquipmentSparepartTypeServiceImpl.java index c9c702e..1857939 100644 --- a/sk-module-equipment/src/main/java/com/skua/modules/supplies/service/impl/EquipmentSparepartTypeServiceImpl.java +++ b/sk-module-equipment/src/main/java/com/skua/modules/supplies/service/impl/EquipmentSparepartTypeServiceImpl.java @@ -1,7 +1,9 @@ package com.skua.modules.supplies.service.impl; -import java.util.List; +import java.util.*; +import com.skua.core.util.ConvertUtils; +import com.skua.tool.dfs.MapDFS; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -20,7 +22,32 @@ import com.skua.modules.supplies.service.IEquipmentSparepartTypeService; public class EquipmentSparepartTypeServiceImpl extends ServiceImpl<EquipmentSparepartTypeMapper, EquipmentSparepartType> implements IEquipmentSparepartTypeService { @Autowired private ISequenceService sequenceService; - @Override + + /*** + * 获取类别下所有的子分类 + * @param sparepartTypeId + * @return + */ + public Set<String> getAllChildrenSparepartTypeIds(String sparepartTypeId ){ + Set<String> sparepartTypeSet = new HashSet<>(); + //查询子集 + MapDFS mapDFS = new MapDFS(); + List<Map<String, Object>> tree = mapDFS.buildTree(this.listMaps(new QueryWrapper<EquipmentSparepartType>().select("id, parent_id as parentId"))); + LinkedList<LinkedList<Map<String, Object>>> routeList = mapDFS.getRouteList(tree); + for (LinkedList<Map<String, Object>> route: routeList) { + for (int i = 0; i < route.size(); i++) { + if (sparepartTypeId.equals(route.get(i).get("id"))) { + for (int j = i; j < route.size(); j++) { + sparepartTypeSet.add( "'"+ ConvertUtils.getString(route.get(j).get("id"))+"'"); + //sparepartTypeStr = sparepartTypeStr + ConvertUtils.getString(route.get(j).get("id")) + ","; + } + } + } + } + + return sparepartTypeSet; + } + @Transactional(rollbackFor = Exception.class) public void saveAndUpdateParent(EquipmentSparepartType equipmentSparepartType) { //保存新数据 diff --git a/sk-module-system/src/main/java/com/skua/modules/system/service/ISysDepartService.java b/sk-module-system/src/main/java/com/skua/modules/system/service/ISysDepartService.java index 3dedde2..55c52f0 100644 --- a/sk-module-system/src/main/java/com/skua/modules/system/service/ISysDepartService.java +++ b/sk-module-system/src/main/java/com/skua/modules/system/service/ISysDepartService.java @@ -10,6 +10,7 @@ import com.skua.modules.system.vo.SysDeptUserVO; import java.util.List; import java.util.Map; +import java.util.Set; /** * 部门表 服务实现类 @@ -17,6 +18,13 @@ import java.util.Map; public interface ISysDepartService extends IService<SysDepart>{ + /*** + * 查询子集所有的部门 + * @param departId + * @return + */ + public Set<String> getAllChildrenDepartIds(String departId); + /** * 查询所有部门信息,并分节点进行显示 * @return diff --git a/sk-module-system/src/main/java/com/skua/modules/system/service/ISysUserDepartService.java b/sk-module-system/src/main/java/com/skua/modules/system/service/ISysUserDepartService.java index cc7df0f..06d2cb1 100644 --- a/sk-module-system/src/main/java/com/skua/modules/system/service/ISysUserDepartService.java +++ b/sk-module-system/src/main/java/com/skua/modules/system/service/ISysUserDepartService.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.skua.modules.system.entity.SysUser; import com.skua.modules.system.entity.SysUserDepart; import com.skua.modules.system.model.DepartIdModel; +import io.lettuce.core.dynamic.annotation.Param; import java.util.List; @@ -29,6 +30,13 @@ public interface ISysUserDepartService extends IService<SysUserDepart> { */ String queryDepartIdsStringOfUserId(String userId); + + /*** + * 根据用户编号查询所属部门 + * @param userId + * @return + */ + List<String> getDepartByUserId(String userId); /** * 根据指定用户id查询部门id集合 * @param userId diff --git a/sk-module-system/src/main/java/com/skua/modules/system/service/impl/SysDepartServiceImpl.java b/sk-module-system/src/main/java/com/skua/modules/system/service/impl/SysDepartServiceImpl.java index 0c843d1..5893cf5 100644 --- a/sk-module-system/src/main/java/com/skua/modules/system/service/impl/SysDepartServiceImpl.java +++ b/sk-module-system/src/main/java/com/skua/modules/system/service/impl/SysDepartServiceImpl.java @@ -17,6 +17,7 @@ import com.skua.modules.system.service.ISysDepartService; import com.skua.modules.system.util.FindsDepartsChildrenUtil; import com.skua.modules.system.vo.DepartTree; import com.skua.modules.system.vo.SysDeptUserVO; +import com.skua.tool.dfs.MapDFS; import io.netty.util.internal.StringUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -35,6 +36,30 @@ public class SysDepartServiceImpl extends ServiceImpl<SysDepartMapper, SysDepart private SysDepartMapper sysDepartMapper; @Autowired private ISequenceService sequenceService; + + /*** + * 查询子集所有的部门 + * @param departId + * @return + */ + public Set<String> getAllChildrenDepartIds(String departId){ + MapDFS mapDFS = new MapDFS(); + Set<String> departSet = new HashSet<>(); + List<Map<String, Object>> tree = mapDFS.buildTree( this.listMaps(new QueryWrapper<SysDepart>().select("id, parent_id as parentId"))); + LinkedList<LinkedList<Map<String, Object>>> routeList = mapDFS.getRouteList(tree); + for (LinkedList<Map<String, Object>> route: routeList) { + for (int i = 0; i < route.size(); i++) { + if (departId.equals(route.get(i).get("id"))) { + for (int j = i; j < route.size(); j++) { + departSet.add( "'"+ ConvertUtils.getString(route.get(j).get("id")) +"'"); + /*if(departAncestors.length() > 0 ) departAncestors+=","; + departAncestors = departAncestors+ "'"+ConvertUtils.getString(route.get(j).get("id")) +"'";*/ + } + } + } + } + return departSet; + } /** * queryTreeList 对应 queryTreeList 查询所有的部门数据,以树结构形式响应给前端 */ diff --git a/sk-module-system/src/main/java/com/skua/modules/system/service/impl/SysUserDepartServiceImpl.java b/sk-module-system/src/main/java/com/skua/modules/system/service/impl/SysUserDepartServiceImpl.java index e7d0552..f4a14d3 100644 --- a/sk-module-system/src/main/java/com/skua/modules/system/service/impl/SysUserDepartServiceImpl.java +++ b/sk-module-system/src/main/java/com/skua/modules/system/service/impl/SysUserDepartServiceImpl.java @@ -30,6 +30,16 @@ public class SysUserDepartServiceImpl extends ServiceImpl<SysUserDepartMapper, S private ISysUserService sysUserService; + /*** + * 根据用户编号查询所属部门 + * @param userId + * @return + */ + public List<String> getDepartByUserId(String userId){ + return this.baseMapper.getDepartByUserId(userId); + } + + /** * 根据用户id查询部门信息 */ @@ -43,17 +53,17 @@ public class SysUserDepartServiceImpl extends ServiceImpl<SysUserDepartMapper, S List<DepartIdModel> depIdModelList = new ArrayList<>(); List<SysUserDepart> userDepList = this.list(queryUDep); if(userDepList != null && userDepList.size() > 0) { - for(SysUserDepart userDepart : userDepList) { + for(SysUserDepart userDepart : userDepList) { depIdList.add(userDepart.getDepId()); - } - queryDep.in(SysDepart::getId, depIdList); - List<SysDepart> depList = sysDepartService.list(queryDep); - if(depList != null || depList.size() > 0) { - for(SysDepart depart : depList) { - depIdModelList.add(new DepartIdModel().convertByUserDepart(depart)); } - } - return depIdModelList; + queryDep.in(SysDepart::getId, depIdList); + List<SysDepart> depList = sysDepartService.list(queryDep); + if(depList != null || depList.size() > 0) { + for(SysDepart depart : depList) { + depIdModelList.add(new DepartIdModel().convertByUserDepart(depart)); + } + } + return depIdModelList; } }catch(Exception e) { e.fillInStackTrace();