| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- package cn.com.lzt.distributionstats.service.impl;
- import org.jeecgframework.core.common.service.impl.CommonServiceImpl;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
- import java.util.UUID;
- import java.io.Serializable;
- import java.math.BigDecimal;
- import org.jeecgframework.core.util.ApplicationContextUtil;
- import org.jeecgframework.core.util.JeecgDataAutorUtils;
- import org.jeecgframework.core.util.LogUtil;
- import org.jeecgframework.core.util.MyClassLoader;
- import org.jeecgframework.core.util.StringUtil;
- import org.jeecgframework.minidao.pojo.MiniDaoPage;
- import org.jeecgframework.web.cgform.enhance.CgformEnhanceJavaInter;
- import cn.com.lzt.attendance.entity.UserAttendanceEntity;
- import cn.com.lzt.common.util.DataUtil;
- import cn.com.lzt.dialogDeal.service.UserDepartOrgDealServiceI;
- import cn.com.lzt.distributionstats.dao.DistributionStatsMinidaoDao;
- import cn.com.lzt.distributionstats.dto.ProjDistributionStatsDto;
- import cn.com.lzt.distributionstats.entity.ComDistributionStatsEntity;
- import cn.com.lzt.distributionstats.entity.ProjDistributionStatsEntity;
- import cn.com.lzt.distributionstats.service.DistributionStatsServiceI;
- import cn.com.lzt.overtimestats.service.OvertimeStatsServiceI;
- @Service("distributionStatsService")
- @Transactional
- public class DistributionStatsServiceImpl extends CommonServiceImpl implements DistributionStatsServiceI {
- @Autowired
- private DistributionStatsMinidaoDao distributionStatsMinidaoDao;
-
-
- @Autowired
- private UserDepartOrgDealServiceI userDepartOrgDealServiceI;
-
- @Override
- public void distributionStatsTaskData() {
- distributionStatsTaskData(null);
- }
- @Override
- public void distributionStatsTaskData(String attmonth) {
- LogUtil.info("===============岗位人力定时任务开始=================");
- //String authSql = JeecgDataAutorUtils.loadDataSearchConditonSQLString();
- //查询公司岗位人数
- MiniDaoPage<ComDistributionStatsEntity> comDislist = new MiniDaoPage<ComDistributionStatsEntity>();
- Map<String,Object> params = new HashMap<String, Object>();
- String beforeMonth = DataUtil.getBeforeMonth();
- if(StringUtil.isNotEmpty(attmonth)){
- beforeMonth = attmonth;
- }
- params = DataUtil.getMonthInfo(beforeMonth);
- params.put("yearmonth", beforeMonth);
- comDislist = distributionStatsMinidaoDao.ComDistributionStatsData(params,null);
- List<ComDistributionStatsEntity> comdisList = findByProperty(ComDistributionStatsEntity.class, "yearmonth", beforeMonth);
- try {
- deleteAllEntitie(comdisList);
- super.batchSave(comDislist.getResults());
- LogUtil.info("===============公司岗位人力统计表保存成功=================");
- } catch (Exception e) {
- LogUtil.info("===============公司岗位人力统计表保存失败=================");
- }
- //查询项目岗位人数
- MiniDaoPage<ProjDistributionStatsDto> projDislist = new MiniDaoPage<ProjDistributionStatsDto>();
- projDislist = distributionStatsMinidaoDao.ProjDistributionStatsData(params,null);
- List<ProjDistributionStatsEntity> projdisList = findByProperty(ProjDistributionStatsEntity.class, "yearmonth",beforeMonth);
- List<ProjDistributionStatsDto> dtoList = new ArrayList<ProjDistributionStatsDto>();
- try {
- deleteAllEntitie(projdisList);
- List<ProjDistributionStatsEntity> listEntity = new ArrayList<ProjDistributionStatsEntity>();
- for(ProjDistributionStatsDto dto : projDislist.getResults()){
- if(StringUtil.isEmpty(dto.getPjtId())){
- String pid = userDepartOrgDealServiceI.getProjectDepartParentId(dto.getDeptId());
- if(StringUtil.isNotEmpty(pid)){
- dto.setPjtId(pid);
- dtoList.add(dto);
- }
- }else{
- dtoList.add(dto);
- }
- }
-
- Map<String,Integer> mapnum = new HashMap<String, Integer>();
- Map<String,Integer> mapnumtotal = new HashMap<String, Integer>();
- for(ProjDistributionStatsDto dto : dtoList ){
- String key = dto.getPjtId() + "_" + dto.getPostid();
- if(mapnum.get(key) == null){
- mapnum.put(key, dto.getPeopleNum());
- }else{
- mapnum.put(key, mapnum.get(key) + dto.getPeopleNum());
- }
- if(mapnumtotal.get(dto.getPjtId()) == null){
- mapnumtotal.put(dto.getPjtId(), dto.getPeopleNum());
- }else{
- mapnumtotal.put(dto.getPjtId(), mapnumtotal.get(dto.getPjtId()) + dto.getPeopleNum());
- }
- }
-
- Set<String> keys = mapnum.keySet();
- for(String key : keys){
- ProjDistributionStatsEntity entity = new ProjDistributionStatsEntity();
- String[] keyArray = key.split("_");
- entity.setPjtId(keyArray[0]);
- entity.setPostid(keyArray[1]);
- entity.setPeopleNum(mapnum.get(key));
- float a = (float)mapnum.get(key)/mapnumtotal.get(keyArray[0]) * 100;
- BigDecimal bd = new BigDecimal(a);
- entity.setProportion(new BigDecimal(DataUtil.getFormatDecimailTwo(bd)));
- entity.setYearmonth(beforeMonth);
- listEntity.add(entity);
- }
-
- super.batchSave(listEntity);
- LogUtil.info("===============项目岗位人力统计表保存成功=================");
- } catch (Exception e) {
- LogUtil.info("===============项目岗位人力统计表保存失败=================");
- }
- LogUtil.info("===============岗位人力定时任务开始=================");
-
- }
-
-
- }
|