TEmployedPeopleInfoServiceImpl.java 7.77 KB
Newer Older
1 2
package com.zehong.system.service.impl;

3
import java.util.*;
4 5
import com.zehong.common.core.domain.entity.SysUser;
import com.zehong.common.exception.BaseException;
6
import com.zehong.common.utils.DateUtils;
7
import com.zehong.common.utils.SecurityUtils;
8 9
import com.zehong.common.utils.bean.BeanUtils;
import com.zehong.system.domain.TEmployedPeopleInfoError;
10
import com.zehong.system.domain.TEnterpriseInfo;
11 12
import com.zehong.system.mapper.TEmployedPeopleInfoErrorMapper;
import com.zehong.system.mapper.TEnterpriseInfoMapper;
13
import org.apache.commons.collections4.CollectionUtils;
14 15 16 17 18 19
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.zehong.system.mapper.TEmployedPeopleInfoMapper;
import com.zehong.system.domain.TEmployedPeopleInfo;
import com.zehong.system.service.ITEmployedPeopleInfoService;

20 21
import javax.servlet.http.HttpServletResponse;

22 23 24 25 26 27 28 29 30 31 32 33
/**
 * 从业人员信息Service业务层处理
 *
 * @author zehong
 * @date 2022-01-25
 */
@Service
public class TEmployedPeopleInfoServiceImpl implements ITEmployedPeopleInfoService
{
    @Autowired
    private TEmployedPeopleInfoMapper tEmployedPeopleInfoMapper;

34 35 36 37 38 39
    @Autowired
    private TEnterpriseInfoMapper enterpriseInfoMapper;

    @Autowired
    private TEmployedPeopleInfoErrorMapper employedPeopleInfoErrorMapper;

40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
    /**
     * 查询从业人员信息
     *
     * @param employedPeopleId 从业人员信息ID
     * @return 从业人员信息
     */
    @Override
    public TEmployedPeopleInfo selectTEmployedPeopleInfoById(Long employedPeopleId)
    {
        return tEmployedPeopleInfoMapper.selectTEmployedPeopleInfoById(employedPeopleId);
    }

    /**
     * 查询从业人员信息列表
     *
     * @param tEmployedPeopleInfo 从业人员信息
     * @return 从业人员信息
     */
    @Override
    public List<TEmployedPeopleInfo> selectTEmployedPeopleInfoList(TEmployedPeopleInfo tEmployedPeopleInfo)
    {
        return tEmployedPeopleInfoMapper.selectTEmployedPeopleInfoList(tEmployedPeopleInfo);
    }

    /**
     * 新增从业人员信息
     *
     * @param tEmployedPeopleInfo 从业人员信息
     * @return 结果
     */
    @Override
    public int insertTEmployedPeopleInfo(TEmployedPeopleInfo tEmployedPeopleInfo)
    {
        tEmployedPeopleInfo.setCreateTime(DateUtils.getNowDate());
        return tEmployedPeopleInfoMapper.insertTEmployedPeopleInfo(tEmployedPeopleInfo);
    }

    /**
     * 修改从业人员信息
     *
     * @param tEmployedPeopleInfo 从业人员信息
     * @return 结果
     */
    @Override
    public int updateTEmployedPeopleInfo(TEmployedPeopleInfo tEmployedPeopleInfo)
    {
        tEmployedPeopleInfo.setUpdateTime(DateUtils.getNowDate());
        return tEmployedPeopleInfoMapper.updateTEmployedPeopleInfo(tEmployedPeopleInfo);
    }

    /**
     * 批量删除从业人员信息
     *
     * @param employedPeopleIds 需要删除的从业人员信息ID
     * @return 结果
     */
    @Override
    public int deleteTEmployedPeopleInfoByIds(Long[] employedPeopleIds)
    {
        return tEmployedPeopleInfoMapper.deleteTEmployedPeopleInfoByIds(employedPeopleIds);
    }

    /**
     * 删除从业人员信息信息
     *
     * @param employedPeopleId 从业人员信息ID
     * @return 结果
     */
    @Override
    public int deleteTEmployedPeopleInfoById(Long employedPeopleId)
    {
        return tEmployedPeopleInfoMapper.deleteTEmployedPeopleInfoById(employedPeopleId);
    }

    /**
     * 企业信息查询(下拉框数据)
     * @return
     */
    @Override
119
    public List<TEnterpriseInfo> selectTEnterprise(String deptId) {
120 121 122 123 124 125 126 127 128
        return tEmployedPeopleInfoMapper.selectTEnterprise(deptId);
    }

    /**
     * 根据企业id查询企业名称
     * @param bId
     * @return
     */
    @Override
129
    public String selectEnterpriseName(String bId) {
130 131 132
        String s = tEmployedPeopleInfoMapper.selectEnterpriseName(bId);
        return s;
    }
133 134

    @Override
135
    public String importEmployedPeopleInfo(List<TEmployedPeopleInfoError> employedPeopleInfos, Boolean isUpdateSupport, String operName, HttpServletResponse response) {
136 137 138 139

        if (CollectionUtils.isEmpty(employedPeopleInfos)) {
            throw new BaseException("导入数据不能为空! ");
        }
140 141
        List<TEmployedPeopleInfoError> failList = new ArrayList<>();
        TEmployedPeopleInfoError employedPeopleInfoError;
142
        TEmployedPeopleInfo tEmployedPeopleInfoForInsert;
143
        StringBuilder stringBuilder;
144
        for (TEmployedPeopleInfoError tEmployedPeopleInfo : employedPeopleInfos){
145 146
            stringBuilder = new StringBuilder();

147
            try {
148 149 150 151 152 153 154 155 156 157 158 159
                if (tEmployedPeopleInfo.getEmployedPeopleName() == null || "".equals(tEmployedPeopleInfo.getEmployedPeopleName())) {
                    stringBuilder.append("姓名为空|");
                }

                if (tEmployedPeopleInfo.getIdCard() == null || "".equals(tEmployedPeopleInfo.getIdCard())) {
                    stringBuilder.append("身份证为空|");
                }

                if (tEmployedPeopleInfo.getBeyondEnterpriseName() == null || "".equals(tEmployedPeopleInfo.getBeyondEnterpriseName())) {
                    stringBuilder.append("企业信息为空|");
                }

160 161
                List<TEnterpriseInfo> tEnterpriseInfos = enterpriseInfoMapper.selectTEnterpriseInfoByName(tEmployedPeopleInfo.getBeyondEnterpriseName());
                if (tEnterpriseInfos == null) {
162
                    stringBuilder.append("关联企业信息不存在|");
163 164
                }

165 166 167 168
                // 如果没有错误信息,则判断是否是之前错误的数据,如果是的话,则把之前错误的数据删除
                if (tEmployedPeopleInfo.getEmployedPeopleErrorId() != null) {
                    employedPeopleInfoErrorMapper.deleteTEmployedPeopleInfoErrorById(tEmployedPeopleInfo.getEmployedPeopleErrorId());
                }
169 170 171 172 173 174 175 176 177
                if(!"".equals(stringBuilder.toString())) {
                    employedPeopleInfoError = new TEmployedPeopleInfoError();
                    BeanUtils.copyProperties(tEmployedPeopleInfo, employedPeopleInfoError);
                    employedPeopleInfoError.setCreateBy(SecurityUtils.getLoginUser().getUser().getUserId() + "");
                    employedPeopleInfoError.setErrorMsg(stringBuilder.toString());
                    failList.add(employedPeopleInfoError);
                    continue;
                }

178 179
                tEmployedPeopleInfoForInsert = new TEmployedPeopleInfo();
                BeanUtils.copyProperties(tEmployedPeopleInfo,tEmployedPeopleInfoForInsert);
180
                SysUser user = SecurityUtils.getLoginUser().getUser();
181 182 183 184 185 186
                tEmployedPeopleInfoForInsert.setCreateBy(user.getUserName());
                tEmployedPeopleInfoForInsert.setCreateTime(new Date());
                tEmployedPeopleInfoForInsert.setUpdateTime(new Date());
                tEmployedPeopleInfoForInsert.setUpdateBy(user.getUserName());

                this.insertTEmployedPeopleInfo(tEmployedPeopleInfoForInsert);
187
            } catch (Exception e) {
188
                throw new BaseException("导入出错");
189 190
            }
        }
191 192 193

        if (failList.size() > 0) {
            employedPeopleInfoErrorMapper.batchInsertTEmployedPeopleInfoError(failList);
194 195
        }

196 197
        return "导入完成";
    }
198
    /**
199 200
     * 查询当前用户导入 从业人员的错误数据总数
     * @return int
201
     */
202 203
    @Override
    public int countImportError() {
204

205
        Long userId = SecurityUtils.getLoginUser().getUser().getUserId();
206

207
        return employedPeopleInfoErrorMapper.countByCreateByInt(userId + "");
208
    }
209 210 211 212 213 214 215 216 217 218 219



    /**
     * 查询人员类型分组
     * @return r
     */
    @Override
    public List<String> queryPeopleOccupationByGroupBy() {
        return tEmployedPeopleInfoMapper.queryPeopleOccupationByGroupBy();
    }
220
}