k94314517
2025-05-20 142bcc9b22f48a8a2098a66b2964fe10c97c6fe8
server/service/src/main/java/com/doumee/service/business/impl/InsuranceServiceImpl.java
@@ -9,10 +9,12 @@
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.InsuranceMapper;
import com.doumee.dao.business.MultifileMapper;
import com.doumee.dao.business.WorktypeMapper;
import com.doumee.dao.business.join.DuWorkTypeJoinMapper;
import com.doumee.dao.business.join.WorktypeJoinMapper;
import com.doumee.dao.business.model.Insurance;
import com.doumee.dao.business.model.Multifile;
import com.doumee.dao.business.model.Solutions;
import com.doumee.dao.business.model.Worktype;
import com.doumee.dao.system.model.SystemUser;
@@ -22,6 +24,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sun.corba.se.spi.orbutil.threadpool.Work;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.checkerframework.checker.units.qual.A;
@@ -50,6 +53,8 @@
    private WorktypeJoinMapper worktypeJoinMapper;
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
    private MultifileMapper multifileMapper;
    @Override
    @Transactional
@@ -432,6 +437,15 @@
                .eq(Worktype::getIsdeleted,Constants.ZERO)
                .orderByAsc(Worktype::getSortnum));
        model.setWorktypeList(worktypeList);
        String path = systemDictDataBiz.queryByCode(Constants.OSS,Constants.RESOURCE_PATH).getCode()+
                systemDictDataBiz.queryByCode(Constants.OSS,Constants.INSURANCE).getCode();
        //附件信息
        Multifile lpStampTempFile = multifileMapper.selectOne(new QueryWrapper<Multifile>().lambda().eq(Multifile::getIsdeleted,Constants.ZERO).eq(Multifile::getObjId,id).eq(Multifile::getObjId,10).last("limit 1"));
        lpStampTempFile.setFileurlFull(path + lpStampTempFile.getFileurl());
        model.setLpStampTempFile(lpStampTempFile);
        Multifile lpFile = multifileMapper.selectOne(new QueryWrapper<Multifile>().lambda().eq(Multifile::getIsdeleted,Constants.ZERO).eq(Multifile::getObjId,id).eq(Multifile::getObjId,11).last("limit 1"));
        lpStampTempFile.setFileurlFull(path + lpFile.getFileurl());
        model.setLpFile(lpFile);
        return model;
    }
@@ -516,4 +530,52 @@
        QueryWrapper<Insurance> wrapper = new QueryWrapper<>(insurance);
        return insuranceMapper.selectCount(wrapper);
    }
    @Override
    public void saveLpInfo(Insurance insurance){
        LoginUserInfo user= (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
        if(Objects.isNull(insurance)
                || Objects.isNull(insurance.getId())
        ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        multifileMapper.delete(new QueryWrapper<Multifile>().lambda()
                .eq(Multifile::getObjId,insurance.getId())
                .in(Multifile::getObjType,Constants.MultiFile.LP_STAMP_FILE.getKey(),Constants.MultiFile.LP_FILE.getKey())
        );
        Insurance model = new Insurance();
        model.setEditDate(new Date());
        model.setEditor(user.getId());
        if(Objects.nonNull(insurance.getLpStampTempFile())){
            Multifile multifile = insurance.getLpStampTempFile();
            multifile.setCreateDate(model.getEditDate());
            multifile.setCreator(model.getEditor());
            multifile.setIsdeleted(Constants.ZERO);
            multifile.setObjType(Constants.MultiFile.LP_STAMP_FILE.getKey());
            multifile.setObjId(insurance.getId());
            multifileMapper.insert(multifile);
        }
        if(Objects.nonNull(insurance.getLpFile())){
            Multifile multifile = insurance.getLpFile();
            multifile.setCreateDate(model.getEditDate());
            multifile.setCreator(model.getEditor());
            multifile.setIsdeleted(Constants.ZERO);
            multifile.setObjType(Constants.MultiFile.LP_FILE.getKey());
            multifile.setObjId(insurance.getId());
            multifileMapper.insert(multifile);
        }
        model.setId(insurance.getId());
        model.setLpYggxFileInfo(insurance.getLpYggxFileInfo());
        model.setLpMzFileInfo(insurance.getLpMzFileInfo());
        model.setLpZyFileInfo(insurance.getLpZyFileInfo());
        model.setLpScFileInfo(insurance.getLpScFileInfo());
        model.setLpOtherFileInfo(insurance.getLpOtherFileInfo());
        model.setLpFileStatus(Constants.ONE);
        insuranceMapper.updateById(model);
    }
}