智慧保安后台管理-外网项目备份
zhongrj
2022-08-23 2d696f34d7629dcef6dd563a5b40c8239511f0b3
许可证信息,社保信息同步
5 files modified
169 ■■■■■ changed files
src/main/java/org/springblade/modules/dispatcher/controller/DispatcherController.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/licence/controller/LicencePaperController.java 50 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/licence/entity/LicencePaper.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/social/controller/SocialController.java 38 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/social/service/impl/SocialServiceImpl.java 75 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/controller/DispatcherController.java
@@ -21,16 +21,13 @@
import io.swagger.annotations.ApiParam;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
import javax.validation.Valid;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.dispatcher.entity.DispatcherUnit;
import org.springblade.modules.dispatcher.service.IDispatcherUnitService;
import org.springblade.modules.system.entity.User;
src/main/java/org/springblade/modules/licence/controller/LicencePaperController.java
@@ -9,8 +9,10 @@
import org.springblade.modules.licence.entity.LicencePaper;
import org.springblade.modules.licence.service.LicencePaperService;
import org.springblade.modules.licence.vo.LicencePaperVo;
import org.springblade.modules.system.service.MyAsyncService;
import org.springframework.web.bind.annotation.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@@ -26,6 +28,8 @@
    private final LicencePaperService licencePaperService;
    private final MyAsyncService myAsyncService;
//    /**
//     * 自定义分页
@@ -67,10 +71,52 @@
        if (null==licencePaper.getId()){
            licencePaper.setCreateTime(new Date());
            licencePaper.setUpdateTime(new Date());
            licencePaperService.save(licencePaper);
            boolean save = licencePaperService.save(licencePaper);
            //数据同步
            if (save){
                String s = "insert into sys_licence_paper" +
                    "(id,type,unit_name,address,legal_people,content,approval_number,licence_issuing_unit,register_capital," +
                    "code,licence_issuing_time,create_user,create_time,update_user,update_time,dept_id,url) " +
                    "values(" + "'" + licencePaper.getId() + "'" +
                    "," + "'" + licencePaper.getType() + "'" +
                    "," + "'" + licencePaper.getUnitName() + "'" +
                    "," + "'" + licencePaper.getAddress() + "'" +
                    "," + "'" + licencePaper.getLegalPeople() + "'" +
                    "," + "'" + licencePaper.getContent() + "'" +
                    "," + "'" + licencePaper.getApprovalNumber() + "'" +
                    "," + "'" + licencePaper.getLicenceIssuingUnit() + "'" +
                    "," + "'" + licencePaper.getRegisterCapital() + "'" +
                    "," + "'" + licencePaper.getCode() + "'" +
                    "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(licencePaper.getLicenceIssuingTime()) + "'" +
                    "," + "'" + licencePaper.getCreateUser() + "'" +
                    "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(licencePaper.getCreateTime()) + "'" +
                    "," + "'" + licencePaper.getUpdateUser() + "'" +
                    "," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(licencePaper.getUpdateTime()) + "'" +
                    "," + "'" + licencePaper.getDeptId() + "'" +
                    "," + "'" + licencePaper.getUrl() + "'" + ")";
                myAsyncService.dataSync(s);
            }
        }else {
            licencePaper.setUpdateTime(new Date());
            licencePaperService.updateById(licencePaper);
            boolean update = licencePaperService.updateById(licencePaper);
            //数据同步
            if (update) {
                String s1 = "update sys_licence_paper set type = " + "'" + licencePaper.getType() + "'" +
                    ",unit_name = " + "'" + licencePaper.getUnitName() + "'" +
                    ",address = " + "'" + licencePaper.getAddress() + "'" +
                    ",legal_people = " + "'" + licencePaper.getLegalPeople() + "'" +
                    ",content = " + "'" + licencePaper.getContent() + "'" +
                    ",approval_number = " + "'" + licencePaper.getApprovalNumber() + "'" +
                    ",licence_issuing_unit = " + "'" + licencePaper.getLicenceIssuingUnit() + "'" +
                    ",register_capital = " + "'" + licencePaper.getRegisterCapital() + "'" +
                    ",code = " + "'" + licencePaper.getCode() + "'" +
                    ",licence_issuing_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(licencePaper.getLicenceIssuingTime()) + "'" +
                    ",update_user = " + "'" + licencePaper.getUpdateUser() + "'" +
                    ",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(licencePaper.getUpdateTime()) + "'" +
                    ",url = " + "'" + licencePaper.getUrl() + "'" +
                    " " + "where id = " + "'" + licencePaper.getId() + "'";
                myAsyncService.dataSync(s1);
            }
        }
        return R.data(licencePaper);
    }
src/main/java/org/springblade/modules/licence/entity/LicencePaper.java
@@ -5,6 +5,8 @@
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
@@ -24,6 +26,7 @@
     * 许可证信息主键id,非自增
     */
    @TableId(value = "id",type = IdType.ASSIGN_ID)
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;
    /**
src/main/java/org/springblade/modules/social/controller/SocialController.java
@@ -38,6 +38,8 @@
import org.springblade.modules.social.service.ISocialService;
import org.springblade.modules.social.vo.SocialVO;
import org.springblade.modules.system.excel.UserExcel;
import org.springblade.modules.system.service.MyAsyncService;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -48,6 +50,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
@@ -63,6 +66,8 @@
public class SocialController extends BladeController {
    private final ISocialService socialService;
    private final MyAsyncService myAsyncService;
    /**
     * 详情
@@ -104,8 +109,27 @@
    @ApiOperationSupport(order = 4)
    @ApiOperation(value = "新增", notes = "传入social")
    public R save(@Valid @RequestBody Social social) {
        //更新用户是否缴纳社保状态
        socialService.upSoil(social.getCardid());
        return R.status(socialService.save(social));
        //新增社保缴纳记录
        boolean save = socialService.save(social);
        if (save){
            String sql =
            "insert into sys_socil(id,namb,sex,nation,telephone,cardid,residence,amount,insuredtime,deptid) " +
                "values(" + "'" + social.getId() + "'"
                + "," + "'" + social.getNamb() + "'"
                + "," + "'" + social.getSex() + "'" +
                "," + "'" + social.getNation() + "'" +
                "," + "'" + social.getTelephone() + "'" +
                "," + "'" + social.getCardid() + "'" +
                "," + "'" + social.getResidence() + "'" +
                "," + "'" + social.getAmount() + "'" +
                "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(social.getInsuredtime()) + "'" +
                "," + "'" + social.getDeptid() + "'" + ")";
            myAsyncService.dataSync(sql);
        }
        //返回
        return R.status(save);
    }
    /**
@@ -135,8 +159,18 @@
    @PostMapping("/remove")
    @ApiOperationSupport(order = 8)
    @ApiOperation(value = "删除", notes = "传入ids")
    @Transactional(rollbackFor = Exception.class)
    public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
        return R.status(socialService.removeByIds(Func.toLongList(ids)));
        boolean remove = socialService.removeByIds(Func.toLongList(ids));
        if (remove) {
            List<String> list = Arrays.asList(ids.split(","));
            list.forEach(s -> {
                //内网同步删除
                String s1 = "delete from sys_socil where id = " + "'" + s + "'";
                myAsyncService.dataSync(s1);
            });
        }
        return R.status(remove);
    }
src/main/java/org/springblade/modules/social/service/impl/SocialServiceImpl.java
@@ -19,15 +19,23 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.modules.social.entity.Social;
import org.springblade.modules.social.excel.SocialExcel;
import org.springblade.modules.social.mapper.SocialMapper;
import org.springblade.modules.social.service.ISocialService;
import org.springblade.modules.social.vo.SocialVO;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IUserService;
import org.springblade.modules.system.service.MyAsyncService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@@ -41,6 +49,11 @@
@Service
public class SocialServiceImpl extends ServiceImpl<SocialMapper, Social> implements ISocialService {
    @Autowired
    private MyAsyncService myAsyncService;
    @Autowired
    private IUserService userService;
    @Override
@@ -49,15 +62,34 @@
    }
    @Override
//    @Transactional(rollbackFor = Exception.class)
    public void importUser(List<SocialExcel> data, Boolean isCovered,String deptid) {
        data.forEach(SocialExcel -> {
            Social social = Objects.requireNonNull(BeanUtil.copy(SocialExcel, Social.class));
        //没有录入的人员
        List<String> notFoundList = new ArrayList<>();
        int num = 0;
        //遍历
        for (SocialExcel socialExcel : data) {
            Social social = Objects.requireNonNull(BeanUtil.copy(socialExcel, Social.class));
            if (StringUtils.isBlank(social.getCardid())){
                throw new ServiceException("身份证号不能为空!");
            }
            //判断人员是否已录入
            User user = userService.getUserInfoByIdCardNo(social.getCardid());
            if (null == user){
                notFoundList.add(social.getCardid());
                num ++;
                //终止本个循环,继续下一个循环
                continue;
            }
            //设置用户id
            social.setNamb(user.getId().toString());
//            if (null!=social.getSex() && !"".equals(social.getSex())) {
//                if (social.getSex().equals("男")){
//                if (social.getSex().contains("男")){
//                    social.setSex("1");
//                }
//                if (social.getSex().equals("女")){
//                if (social.getSex().contains("女")){
//                    social.setSex("2");
//                }
//            }
@@ -80,9 +112,40 @@
                social.setNation(social.getNation());
            }
            social.setDeptid(deptid);
            //设置状态
            this.upSoil(social.getCardid());
            this.save(social);
        });
            //新增
            boolean save = this.save(social);
            if (save) {
                //内网同步
                String sql =
                    "insert into sys_socil(id,namb,sex,nation,telephone,cardid,residence,amount,insuredtime,deptid) " +
                        "values(" + "'" + social.getId() + "'"
                        + "," + "'" + social.getNamb() + "'"
                        + "," + "'" + social.getSex() + "'" +
                        "," + "'" + social.getNation() + "'" +
                        "," + "'" + social.getTelephone() + "'" +
                        "," + "'" + social.getCardid() + "'" +
                        "," + "'" + social.getResidence() + "'" +
                        "," + "'" + social.getAmount() + "'" +
                        "," + "'" + new SimpleDateFormat("yyyy-MM-dd").format(social.getInsuredtime()) + "'" +
                        "," + "'" + social.getDeptid() + "'" + ")";
                myAsyncService.dataSync(sql);
            }
        }
        //如果所有数据导入有一个异常
        StringBuilder errorBuilder = new StringBuilder();
        if (num>0){
            String errorAccount = StringUtils.join(notFoundList, "\\\n");
            errorBuilder.append("用户:[" + errorAccount + "]社保记录导入失败!该人员尚未录入!");
        }
        //抛出异常
        if (errorBuilder.length()>0){
            throw new ServiceException(errorBuilder.toString());
        }
    }
    @Override