进度审批修改监理
This commit is contained in:
parent
ab2b00e645
commit
ef02864567
@ -1,16 +1,15 @@
|
|||||||
package com.zhgd.xmgl.modules.quality.mapper;
|
package com.zhgd.xmgl.modules.quality.mapper;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.zhgd.annotation.DataScope;
|
||||||
|
import com.zhgd.xmgl.modules.quality.entity.QualityRegion;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import com.zhgd.annotation.DataScope;
|
|
||||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
|
||||||
import com.zhgd.xmgl.modules.quality.entity.QualityRegion;
|
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description: 质量—检查部位
|
* @Description: 质量—检查部位
|
||||||
* @author: pds
|
* @author: pds
|
||||||
@ -25,11 +24,30 @@ public interface QualityRegionMapper extends BaseMapper<QualityRegion> {
|
|||||||
|
|
||||||
List<QualityRegion> selectChildQualityRegionList(Map<String, Object> map);
|
List<QualityRegion> selectChildQualityRegionList(Map<String, Object> map);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param param
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
QualityRegion getPeerNewQualityRegion(Map<String, Object> param);
|
QualityRegion getPeerNewQualityRegion(Map<String, Object> param);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
void updateDutyNull(String id);
|
void updateDutyNull(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param oldAncestor
|
||||||
|
* @param newAncestor
|
||||||
|
* @param projectSn
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
void updateAncestors(@Param("oldAncestor") String oldAncestor, @Param("newAncestor") String newAncestor, @Param("projectSn") String projectSn, @Param("id") Long id);
|
void updateAncestors(@Param("oldAncestor") String oldAncestor, @Param("newAncestor") String newAncestor, @Param("projectSn") String projectSn, @Param("id") Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过项目sn和区域名称查询区域列表
|
||||||
|
* @param projectSn
|
||||||
|
* @param regionSet
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
List<QualityRegion> selectBySnAndNumberOneList(@Param("sn") String projectSn, @Param("regionSet") Set<String> regionSet);
|
List<QualityRegion> selectBySnAndNumberOneList(@Param("sn") String projectSn, @Param("regionSet") Set<String> regionSet);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,17 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.zhgd.xmgl.modules.quality.mapper.QualityRegionMapper">
|
<mapper namespace="com.zhgd.xmgl.modules.quality.mapper.QualityRegionMapper">
|
||||||
|
<resultMap id="selectBySnAndNumberOneListRm" type="com.zhgd.xmgl.modules.quality.entity.QualityRegion"
|
||||||
|
autoMapping="true">
|
||||||
|
<id column="id" property="id"/>
|
||||||
|
<collection property="enterpriseInfos" ofType="com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo"
|
||||||
|
notNullColumn="enterprise_info_id">
|
||||||
|
<id property="id" column="enterprise_info_id"/>
|
||||||
|
<id property="enterpriseName" column="enterpriseName"/>
|
||||||
|
<id property="enterpriseSn" column="enterprise_sn"/>
|
||||||
|
</collection>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
<resultMap id="selectQualityRegionListRm" type="com.zhgd.xmgl.modules.quality.entity.QualityRegion"
|
<resultMap id="selectQualityRegionListRm" type="com.zhgd.xmgl.modules.quality.entity.QualityRegion"
|
||||||
autoMapping="true">
|
autoMapping="true">
|
||||||
<id column="id" property="id"/>
|
<id column="id" property="id"/>
|
||||||
@ -77,17 +88,18 @@
|
|||||||
WHERE ancestors LIKE N'${oldAncestor},${id}%' and project_sn = #{projectSn}
|
WHERE ancestors LIKE N'${oldAncestor},${id}%' and project_sn = #{projectSn}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<select id="selectBySnAndNumberOneList" resultType="com.zhgd.xmgl.modules.quality.entity.QualityRegion">
|
<select id="selectBySnAndNumberOneList" resultMap="selectBySnAndNumberOneListRm">
|
||||||
select id, region_name
|
SELECT qr.*,ei.id as enterprise_info_id,ei.enterprise_name as
|
||||||
from quality_region
|
enterpriseName,ei.enterprise_sn
|
||||||
where project_sn = #{sn}
|
from quality_region qr
|
||||||
|
JOIN quality_region_to_enterprise te ON te.quality_region_id=qr.id
|
||||||
|
JOIN enterprise_info ei on ei.id=te.enterprise_id
|
||||||
|
WHERE qr.project_sn = #{sn}
|
||||||
<if test="regionSet != null and regionSet.size() != 0">
|
<if test="regionSet != null and regionSet.size() != 0">
|
||||||
and region_name in
|
and region_name in
|
||||||
<foreach collection="regionSet" index="index" item="item" open="(" separator="," close=")">
|
<foreach collection="regionSet" index="index" item="item" open="(" separator="," close=")">
|
||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
group by `region_name`
|
|
||||||
HAVING COUNT(region_name) = 1
|
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
@ -12,7 +12,7 @@
|
|||||||
join worker_info wi on wi.enterprise_id= qrte.enterprise_id
|
join worker_info wi on wi.enterprise_id= qrte.enterprise_id
|
||||||
join system_user su on su.worker_id = wi.id
|
join system_user su on su.worker_id = wi.id
|
||||||
join base_role_user bru on bru.user_id = su.user_id
|
join base_role_user bru on bru.user_id = su.user_id
|
||||||
join base_role br on br.role_name = '监理'
|
join base_role br on br.role_name = '监理' and su.user_id = #{param.userId}
|
||||||
</if>
|
</if>
|
||||||
${ew.customSqlSegment}
|
${ew.customSqlSegment}
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@ -77,10 +77,6 @@ public class XzTaskProgressContentServiceImpl extends ServiceImpl<XzTaskProgress
|
|||||||
public IPage<XzTaskProgressContent> queryPageList(HashMap<String, Object> paramMap) {
|
public IPage<XzTaskProgressContent> queryPageList(HashMap<String, Object> paramMap) {
|
||||||
QueryWrapper<XzTaskProgressContent> queryWrapper = getQueryWrapper(paramMap);
|
QueryWrapper<XzTaskProgressContent> queryWrapper = getQueryWrapper(paramMap);
|
||||||
Page<XzTaskProgressContent> page = PageUtil.getPage(paramMap);
|
Page<XzTaskProgressContent> page = PageUtil.getPage(paramMap);
|
||||||
if (SecurityUtils.getUser() != null) {
|
|
||||||
Integer accountType = SecurityUtils.getUser().getAccountType();
|
|
||||||
paramMap.put("accountType", accountType);
|
|
||||||
}
|
|
||||||
IPage<XzTaskProgressContent> pageList = baseMapper.queryList(page, queryWrapper, paramMap);
|
IPage<XzTaskProgressContent> pageList = baseMapper.queryList(page, queryWrapper, paramMap);
|
||||||
pageList.setRecords(dealList(pageList.getRecords()));
|
pageList.setRecords(dealList(pageList.getRecords()));
|
||||||
return pageList;
|
return pageList;
|
||||||
@ -138,6 +134,12 @@ public class XzTaskProgressContentServiceImpl extends ServiceImpl<XzTaskProgress
|
|||||||
String date = MapUtils.getString(paramMap, "date");
|
String date = MapUtils.getString(paramMap, "date");
|
||||||
Integer isAudit = MapUtils.getInteger(paramMap, "isAudit");
|
Integer isAudit = MapUtils.getInteger(paramMap, "isAudit");
|
||||||
String alias = "c.";
|
String alias = "c.";
|
||||||
|
//这条进度审批数据会发送给区域1下面绑定责任单位的监理角色的人
|
||||||
|
if (SecurityUtils.getUser() != null) {
|
||||||
|
Integer accountType = SecurityUtils.getUser().getAccountType();
|
||||||
|
paramMap.put("accountType", accountType);
|
||||||
|
paramMap.put("userId", SecurityUtils.getUser().getUserId());
|
||||||
|
}
|
||||||
QueryWrapper<XzTaskProgressContent> queryWrapper = QueryGenerator.initPageQueryWrapper(XzTaskProgressContent.class, paramMap, alias);
|
QueryWrapper<XzTaskProgressContent> queryWrapper = QueryGenerator.initPageQueryWrapper(XzTaskProgressContent.class, paramMap, alias);
|
||||||
if (StrUtil.isNotBlank(taskName)) {
|
if (StrUtil.isNotBlank(taskName)) {
|
||||||
queryWrapper.like("xtp.task_name", taskName);
|
queryWrapper.like("xtp.task_name", taskName);
|
||||||
@ -160,7 +162,7 @@ public class XzTaskProgressContentServiceImpl extends ServiceImpl<XzTaskProgress
|
|||||||
@Override
|
@Override
|
||||||
public List<XzTaskProgressContent> queryList(HashMap<String, Object> paramMap) {
|
public List<XzTaskProgressContent> queryList(HashMap<String, Object> paramMap) {
|
||||||
QueryWrapper<XzTaskProgressContent> queryWrapper = getQueryWrapper(paramMap);
|
QueryWrapper<XzTaskProgressContent> queryWrapper = getQueryWrapper(paramMap);
|
||||||
return dealList(baseMapper.queryList(queryWrapper, null));
|
return dealList(baseMapper.queryList(queryWrapper, new HashMap<>(16)));
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<XzTaskProgressContent> dealList(List<XzTaskProgressContent> list) {
|
private List<XzTaskProgressContent> dealList(List<XzTaskProgressContent> list) {
|
||||||
|
|||||||
@ -261,14 +261,16 @@ public class XzTaskProgressServiceImpl extends ServiceImpl<XzTaskProgressMapper,
|
|||||||
Collection<XzTaskProgress> progressTaskList = analysisMpp(mppFile, projectSn, createUserId);
|
Collection<XzTaskProgress> progressTaskList = analysisMpp(mppFile, projectSn, createUserId);
|
||||||
log.info("importData的新增数据:{}", progressTaskList);
|
log.info("importData的新增数据:{}", progressTaskList);
|
||||||
|
|
||||||
if (Objects.equals(type, 1)) {
|
int deleteAndReplace = 1;
|
||||||
|
int replace = 2;
|
||||||
|
if (Objects.equals(type, deleteAndReplace)) {
|
||||||
taskProgressMapper.delete(queryWrapper);
|
taskProgressMapper.delete(queryWrapper);
|
||||||
taskProgressContentMapper.delete(Wrappers.lambdaQuery(XzTaskProgressContent.class).eq(XzTaskProgressContent::getProjectSn, projectSn));
|
taskProgressContentMapper.delete(Wrappers.lambdaQuery(XzTaskProgressContent.class).eq(XzTaskProgressContent::getProjectSn, projectSn));
|
||||||
taskProgressAlarmMapper.delete(Wrappers.lambdaQuery(XzTaskProgressAlarm.class).eq(XzTaskProgressAlarm::getProjectSn, projectSn));
|
taskProgressAlarmMapper.delete(Wrappers.lambdaQuery(XzTaskProgressAlarm.class).eq(XzTaskProgressAlarm::getProjectSn, projectSn));
|
||||||
if (CollUtil.isNotEmpty(progressTaskList)) {
|
if (CollUtil.isNotEmpty(progressTaskList)) {
|
||||||
this.saveBatch(progressTaskList);
|
this.saveBatch(progressTaskList);
|
||||||
}
|
}
|
||||||
} else if (Objects.equals(type, 2)) {
|
} else if (Objects.equals(type, replace)) {
|
||||||
taskProgressAlarmMapper.delete(Wrappers.lambdaQuery(XzTaskProgressAlarm.class).eq(XzTaskProgressAlarm::getProjectSn, projectSn));
|
taskProgressAlarmMapper.delete(Wrappers.lambdaQuery(XzTaskProgressAlarm.class).eq(XzTaskProgressAlarm::getProjectSn, projectSn));
|
||||||
//新增
|
//新增
|
||||||
Set<String> oldSet = progressTasks.stream().map(taskProgress -> taskProgress.getTaskName()).collect(Collectors.toSet());
|
Set<String> oldSet = progressTasks.stream().map(taskProgress -> taskProgress.getTaskName()).collect(Collectors.toSet());
|
||||||
@ -298,7 +300,6 @@ public class XzTaskProgressServiceImpl extends ServiceImpl<XzTaskProgressMapper,
|
|||||||
*/
|
*/
|
||||||
private Collection<XzTaskProgress> analysisMpp(MultipartFile mppFile, String projectSn, Long createUserId) {
|
private Collection<XzTaskProgress> analysisMpp(MultipartFile mppFile, String projectSn, Long createUserId) {
|
||||||
List<XzTaskProgress> projectTaskList = new LinkedList<>();
|
List<XzTaskProgress> projectTaskList = new LinkedList<>();
|
||||||
List<XzTaskProgress> rtList = new LinkedList<>();
|
|
||||||
Set<String> userNameSet = new LinkedHashSet<>();
|
Set<String> userNameSet = new LinkedHashSet<>();
|
||||||
Set<String> regionSet = new LinkedHashSet<>();
|
Set<String> regionSet = new LinkedHashSet<>();
|
||||||
Set<String> enterpriseSet = new LinkedHashSet<>();
|
Set<String> enterpriseSet = new LinkedHashSet<>();
|
||||||
@ -309,12 +310,47 @@ public class XzTaskProgressServiceImpl extends ServiceImpl<XzTaskProgressMapper,
|
|||||||
ProjectFile pf = mppRead.read(new File(basePath + fileName));
|
ProjectFile pf = mppRead.read(new File(basePath + fileName));
|
||||||
// 递归拿到对应的数据, 跳过第0级无用数据
|
// 递归拿到对应的数据, 跳过第0级无用数据
|
||||||
List<Task> childTasks = pf.getChildTasks();
|
List<Task> childTasks = pf.getChildTasks();
|
||||||
if (CollUtil.isNotEmpty(childTasks)) {
|
if (CollUtil.isEmpty(childTasks)) {
|
||||||
|
throw new RuntimeException("mpp文件数据为空!");
|
||||||
|
}
|
||||||
structureTaskDataList(projectTaskList, userNameSet, childTasks.get(0).getChildTasks(), 0L, projectSn, createUserId, null, regionSet, enterpriseSet);
|
structureTaskDataList(projectTaskList, userNameSet, childTasks.get(0).getChildTasks(), 0L, projectSn, createUserId, null, regionSet, enterpriseSet);
|
||||||
|
if (CollUtil.isEmpty(enterpriseSet)) {
|
||||||
|
throw new OpenPromptException("未导入数据,未找到对应的承包商");
|
||||||
|
}
|
||||||
|
if (CollUtil.isEmpty(regionSet)) {
|
||||||
|
throw new OpenPromptException("未导入数据,未找到对应的区域");
|
||||||
|
}
|
||||||
|
|
||||||
|
//验证和导入区域
|
||||||
|
List<QualityRegion> regions = qualityRegionMapper.selectBySnAndNumberOneList(projectSn, regionSet);
|
||||||
|
if (CollUtil.isEmpty(regions)) {
|
||||||
|
throw new OpenPromptException("未导入数据,未找到对应的绑定承包商的区域");
|
||||||
|
}
|
||||||
|
Map<String, QualityRegion> regionMap = regions.stream().collect(Collectors.toMap(QualityRegion::getRegionName, Function.identity(), (qualityRegion, qualityRegion2) -> qualityRegion));
|
||||||
|
for (XzTaskProgress progress : projectTaskList) {
|
||||||
|
QualityRegion region = regionMap.get(progress.getQualityRegionName());
|
||||||
|
if (region == null || region.getEnterpriseInfos() == null || !region.getEnterpriseInfos().stream().map(EnterpriseInfo::getEnterpriseName).collect(Collectors.toSet()).contains(progress.getEnterpriseName())) {
|
||||||
|
throw new OpenAlertException(progress.getQualityRegionName() + "和" + progress.getEnterpriseName() + "不对应");
|
||||||
|
}
|
||||||
|
progress.setQualityRegionId(regionMap.get(progress.getQualityRegionName()).getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
//验证和导入承包商
|
||||||
|
List<EnterpriseInfo> enterpriseInfos = enterpriseInfoMapper.selectBySnAndNumberOneList(projectSn, enterpriseSet);
|
||||||
|
if (CollUtil.isEmpty(enterpriseInfos)) {
|
||||||
|
throw new OpenPromptException("未导入数据,未找到对应的承包商");
|
||||||
|
}
|
||||||
|
Map<String, Long> enterpriseMap = enterpriseInfos.stream().collect(Collectors.toMap(EnterpriseInfo::getEnterpriseName, EnterpriseInfo::getId));
|
||||||
|
for (XzTaskProgress progressTask : projectTaskList) {
|
||||||
|
Long l = enterpriseMap.get(progressTask.getEnterpriseName());
|
||||||
|
if (l != null) {
|
||||||
|
progressTask.setEnterpriseId(l);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 判断是否具有负责人
|
// 判断是否具有负责人
|
||||||
if (CollUtil.isNotEmpty(userNameSet)) {
|
if (CollUtil.isNotEmpty(userNameSet)) {
|
||||||
List<SystemUser> dutyUserList = systemUserMapper.selectBySnAndNumberOneList(projectSn, userNameSet);
|
List<SystemUser> dutyUserList = systemUserMapper.selectBySnAndNumberOneList(projectSn, userNameSet);
|
||||||
|
|
||||||
// 用户不为空时,进行负责人id赋值
|
// 用户不为空时,进行负责人id赋值
|
||||||
if (CollUtil.isNotEmpty(dutyUserList)) {
|
if (CollUtil.isNotEmpty(dutyUserList)) {
|
||||||
Map<String, Long> userMap = dutyUserList.stream().collect(Collectors.toMap(SystemUser::getRealName, SystemUser::getUserId));
|
Map<String, Long> userMap = dutyUserList.stream().collect(Collectors.toMap(SystemUser::getRealName, SystemUser::getUserId));
|
||||||
@ -324,46 +360,13 @@ public class XzTaskProgressServiceImpl extends ServiceImpl<XzTaskProgressMapper,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CollUtil.isNotEmpty(regionSet)) {
|
Map<Long, XzTaskProgress> progressTaskMap = projectTaskList.stream().collect(Collectors.toMap(XzTaskProgress::getId, Function.identity()));
|
||||||
List<QualityRegion> dutyUserList = qualityRegionMapper.selectBySnAndNumberOneList(projectSn, regionSet);
|
|
||||||
|
|
||||||
if (CollUtil.isNotEmpty(dutyUserList)) {
|
|
||||||
Map<String, Long> userMap = dutyUserList.stream().collect(Collectors.toMap(QualityRegion::getRegionName, QualityRegion::getId));
|
|
||||||
for (XzTaskProgress progressTask : projectTaskList) {
|
|
||||||
progressTask.setQualityRegionId(userMap.get(progressTask.getQualityRegionName()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (CollUtil.isEmpty(enterpriseSet)) {
|
|
||||||
throw new OpenPromptException("未导入数据,未找到对应的承包商");
|
|
||||||
}
|
|
||||||
List<EnterpriseInfo> dutyUserList = enterpriseInfoMapper.selectBySnAndNumberOneList(projectSn, enterpriseSet);
|
|
||||||
if (CollUtil.isEmpty(dutyUserList)) {
|
|
||||||
throw new OpenPromptException("未导入数据,未找到对应的承包商");
|
|
||||||
}
|
|
||||||
Map<String, Long> userMap = dutyUserList.stream().collect(Collectors.toMap(EnterpriseInfo::getEnterpriseName, EnterpriseInfo::getId));
|
|
||||||
for (XzTaskProgress progressTask : projectTaskList) {
|
|
||||||
Long l = userMap.get(progressTask.getEnterpriseName());
|
|
||||||
if (l != null) {
|
|
||||||
progressTask.setEnterpriseId(l);
|
|
||||||
rtList.add(progressTask);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (CollUtil.isEmpty(rtList)) {
|
|
||||||
throw new OpenPromptException("未导入数据,未找到对应的承包商");
|
|
||||||
}
|
|
||||||
Map<Long, XzTaskProgress> progressTaskMap = rtList.stream().collect(Collectors.toMap(XzTaskProgress::getId, Function.identity()));
|
|
||||||
|
|
||||||
return progressTaskMap.values();
|
return progressTaskMap.values();
|
||||||
}
|
|
||||||
throw new RuntimeException("mpp文件数据为空!");
|
|
||||||
|
|
||||||
} catch (MPXJException e) {
|
} catch (MPXJException e) {
|
||||||
throw new OpenAlertException("上传甘特图失败,请上传.mpp文件");
|
throw new OpenAlertException("上传甘特图失败,请上传.mpp文件");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("解析文件错误!", e);
|
log.error("解析文件错误!", e);
|
||||||
throw new RuntimeException("操作失败:" + e.getMessage());
|
throw new OpenAlertException("操作失败:" + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -425,9 +428,15 @@ public class XzTaskProgressServiceImpl extends ServiceImpl<XzTaskProgressMapper,
|
|||||||
progressTask.setDutyUserName(dutyUserName);
|
progressTask.setDutyUserName(dutyUserName);
|
||||||
userNameSet.add(dutyUserName);
|
userNameSet.add(dutyUserName);
|
||||||
String regionName = task.getText(5);
|
String regionName = task.getText(5);
|
||||||
|
if (StrUtil.isBlank(regionName)) {
|
||||||
|
throw new OpenAlertException("区域不能为空");
|
||||||
|
}
|
||||||
progressTask.setQualityRegionName(regionName);
|
progressTask.setQualityRegionName(regionName);
|
||||||
regionSet.add(regionName);
|
regionSet.add(regionName);
|
||||||
String enterpriseName = task.getText(6);
|
String enterpriseName = task.getText(6);
|
||||||
|
if (StrUtil.isBlank(enterpriseName)) {
|
||||||
|
throw new OpenAlertException("承包商不能为空");
|
||||||
|
}
|
||||||
progressTask.setEnterpriseName(enterpriseName);
|
progressTask.setEnterpriseName(enterpriseName);
|
||||||
enterpriseSet.add(enterpriseName);
|
enterpriseSet.add(enterpriseName);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user