Commit c47dba14 authored by yangyang's avatar yangyang

feat(jyjc):新增工作流启动流程

parent 5a1fea0b
......@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jyjc.api.mapper;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzBaseEnterpriseInfoDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzBaseUnitLicenceDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsUserInfoDto;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
......@@ -17,15 +18,8 @@ import java.util.Map;
*/
public interface JyjcBaseMapper {
TzBaseEnterpriseInfoDto selectEnterpriseInfo(String unitCode);
List<TzBaseUnitLicenceDto> selectBaseUnitLicenceList(Map<String, Object> params);
@Select ("SELECT " +
" * " +
" FROM " +
" tzs_user_info " +
" WHERE " +
" unit_code = '${unitCode}'")
List<TzsUserInfoDto> selectUserInfoByUnitCodeList(@Param ("unitCode") String unitCode);
@MapKey(value = "code")
List<Map<String, String>> selectDataDictionaryList(List<String> codes);
}
......@@ -2,15 +2,23 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcBaseMapper">
<select id="selectEnterpriseInfo" resultType="com.yeejoin.amos.boot.module.tcm.api.dto.TzBaseEnterpriseInfoDto">
select * from tz_base_enterprise_info where use_unit_code = #{unitCode}
</select>
<select id="selectBaseUnitLicenceList" parameterType="map" resultType="com.yeejoin.amos.boot.module.tcm.api.dto.TzBaseUnitLicenceDto">
select * from tz_base_unit_licence
where unit_code = #{unitCode} and licence_type = #{licenceType}
</select>
<select id="selectDataDictionaryList" resultType="java.util.Map">
select code, name
from cb_data_dictionary
where
1=1
<if test="list !=null and list.size()>0">
AND code in
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</select>
</mapper>
......@@ -4,6 +4,7 @@ import cn.hutool.core.map.MapBuilder;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
......@@ -19,7 +20,12 @@ import com.yeejoin.amos.boot.module.jyjc.biz.feign.WorkflowFeignClient;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzBaseEnterpriseInfoDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzBaseUnitLicenceDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsUserInfoDto;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzBaseEnterpriseInfo;
import com.yeejoin.amos.boot.module.tcm.api.entity.TzsUserInfo;
import com.yeejoin.amos.boot.module.tcm.api.enums.LicenceTypeEnum;
import com.yeejoin.amos.boot.module.tcm.api.mapper.TzBaseEnterpriseInfoMapper;
import com.yeejoin.amos.boot.module.tcm.api.mapper.TzBaseUnitLicenceMapper;
import com.yeejoin.amos.boot.module.tcm.api.mapper.TzsUserInfoMapper;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.workflow.Workflow;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
......@@ -32,6 +38,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
......@@ -44,6 +51,7 @@ import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
......@@ -74,6 +82,13 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
private RedisUtils redisUtils;
@Autowired
private TzBaseUnitLicenceMapper unitLicenceMapper;
@Autowired
private TzBaseEnterpriseInfoMapper enterpriseInfoMapper;
@Autowired
private TzsUserInfoMapper userInfoMapper;
@Autowired
private WorkflowFeignClient workflowFeignClient;
@Transactional (rollbackFor = {Exception.class, CommonException.class})
......@@ -169,22 +184,49 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
jyjcOpeningApplicationModel = new JyjcOpeningApplicationModel();
}
String unitCode = reginParams.getCompany().getCompanyCode();
TzBaseEnterpriseInfoDto baseEnterpriseInfoDto = baseMapper.selectEnterpriseInfo(unitCode);
QueryWrapper enterpriseInfoQueryWrapper = new QueryWrapper<>();
enterpriseInfoQueryWrapper.eq("use_code", unitCode);
TzBaseEnterpriseInfo baseUnitLicenceEntity = enterpriseInfoMapper.selectOne(enterpriseInfoQueryWrapper);
// 获取企业资质
if (baseUnitLicenceEntity != null) {
jyjcOpeningApplicationModel.setUseContact(baseUnitLicenceEntity.getUseContact());
jyjcOpeningApplicationModel.setContactPhone(baseUnitLicenceEntity.getContactPhone());
jyjcOpeningApplicationModel.setIndustrySupervisor(baseUnitLicenceEntity.getIndustrySupervisor());
jyjcOpeningApplicationModel.setLongitude(baseUnitLicenceEntity.getLongitude());
jyjcOpeningApplicationModel.setLatitude(baseUnitLicenceEntity.getLatitude());
}
// QueryWrapper unitLicenceQueryWrapper = new QueryWrapper<>();
// unitLicenceQueryWrapper.eq("unit_code", unitCode);
// unitLicenceQueryWrapper.eq("licence_type", LicenceTypeEnum.JYJC.getCode());
// List<TzBaseUnitLicenceDto> baseUnitLicences = Bean.toModels(unitLicenceMapper.selectList(unitLicenceQueryWrapper), TzBaseUnitLicenceDto.class );
//
List<TzBaseUnitLicenceDto> baseUnitLicences = baseMapper.selectBaseUnitLicenceList(MapBuilder.<String, Object>create()
.put("unitCode", unitCode)
.put("licenceType", LicenceTypeEnum.JYJC.getCode()).build());
jyjcOpeningApplicationModel.setBaseUnitLicences(baseUnitLicences);
// 获取检验人员信息
List<TzsUserInfoDto> userInfos = baseMapper.selectUserInfoByUnitCodeList(unitCode);
if (baseEnterpriseInfoDto != null) {
jyjcOpeningApplicationModel.setUseContact(baseEnterpriseInfoDto.getUseContact());
jyjcOpeningApplicationModel.setContactPhone(baseEnterpriseInfoDto.getContactPhone());
jyjcOpeningApplicationModel.setIndustrySupervisor(baseEnterpriseInfoDto.getIndustrySupervisor());
jyjcOpeningApplicationModel.setLongitude(baseEnterpriseInfoDto.getLongitude());
jyjcOpeningApplicationModel.setLatitude(baseEnterpriseInfoDto.getLatitude());
QueryWrapper userInfoQueryWrapper = new QueryWrapper<>();
userInfoQueryWrapper.eq("unit_code", unitCode);
List<TzsUserInfo> userInfos = userInfoMapper.selectList(userInfoQueryWrapper);
if (!ValidationUtil.isEmpty(userInfos)) {
List<String> codes = userInfos.stream()
.map(o -> o.getPost() != null ? JSON.parseArray(o.getPost(), String.class) : null)
.filter(Objects::nonNull)
.collect(Collectors.toList())
.stream().flatMap(o -> o.stream()).distinct().collect(Collectors.toList());
List<Map<String, String>> dicts = baseMapper.selectDataDictionaryList(codes);
List<TzsUserInfoDto> userInfoDtos = userInfos.stream().map(o -> {
TzsUserInfoDto dto = new TzsUserInfoDto();
Bean.toModel(o, dto);
if (o.getPost() != null) {
List<String> temps = JSON.parseArray(o.getPost(), String.class);
String postName = temps.stream().map(m -> dicts.stream().filter(dict -> dict.get("code").equals(m)).findFirst().map(n -> n.get("name")).orElse("")).collect(Collectors.joining(","));
dto.setPostName(postName);
}
return dto;
}).collect(Collectors.toList());
jyjcOpeningApplicationModel.setUserInfos(userInfoDtos);
}
jyjcOpeningApplicationModel.setBaseUnitLicences(baseUnitLicences);
jyjcOpeningApplicationModel.setUserInfos(userInfos);
return jyjcOpeningApplicationModel;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment