Commit 32d4db3e authored by 侯彦文's avatar 侯彦文

Merge remote-tracking branch 'origin/master'

parents 8475bf09 a48a6ab8
...@@ -13,16 +13,16 @@ import java.util.List; ...@@ -13,16 +13,16 @@ import java.util.List;
public final class SignConstants { public final class SignConstants {
//签名取值 //签名取值
public static final String SIGN_KEY_PREPARED = "编制"; public static final String SIGN_KEY_BZ = "编制";
public static final String SIGN_KEY_TSSH = "同室审核"; public static final String SIGN_KEY_SJX_IN_COME_CONTRACT = "设计项";
public static final String SIGN_KEY_FXTZSSH = "分系统总师审核"; public static final String SIGN_KEY_ZTS_IN_COME_CONTRACT = "总体室";
public static final String SIGN_KEY_GY = "工艺"; public static final String SIGN_KEY_ZBB_IN_COME_CONTRACT = "质保部";
public static final String SIGN_KEY_QF = "签发"; public static final String SIGN_KEY_BMB_IN_COME_CONTRACT = "保密办";
public static final String SIGN_KEY_ZTSSH = "总体室审核"; public static final String SIGN_KEY_XMBU_IN_COME_CONTRACT = "项目部";
public static final String SIGN_KEY_APPROVED = "批准"; public static final String SIGN_KEY_XMBAN_IN_COME_CONTRACT = "项目办";
public static final String SIGN_KEY_STANDARD = "标准化"; public static final String SIGN_KEY_CBBM_IN_COME_CONTRACT = "承办部门";
public static final String SIGN_KEY_ZTS = "总体室"; public static final String SIGN_KEY_XMZGYLD_IN_COME_CONTRACT = "项目主管院领导";
public static final String SIGN_KEY_ZTSQS = "总体室签审";
public static final String SIGN_KEY_TZSH = "提资审核"; public static final String SIGN_KEY_TZSH = "提资审核";
public static final String SIGN_KEY_SH = "审核"; public static final String SIGN_KEY_SH = "审核";
public static final String SIGN_KEY_CLJD = "编制不符合项处理单处理决定任务"; public static final String SIGN_KEY_CLJD = "编制不符合项处理单处理决定任务";
...@@ -70,10 +70,7 @@ public final class SignConstants { ...@@ -70,10 +70,7 @@ public final class SignConstants {
* 定义流程判断节点常量 * 定义流程判断节点常量
*/ */
public final static List WfResultList = Arrays.asList("通过", "同意", "提交签审", "提交审阅", "提交", "提交提资审阅", "不需要总体室会签", "外协采购单位(过工程部)", "设计协同单位及其他"); public final static List WfResultList = Arrays.asList("通过", "同意", "提交签审", "提交审阅", "提交", "提交提资审阅", "不需要总体室会签", "外协采购单位(过工程部)", "设计协同单位及其他");
/**
* 定义总体室签审节点名称
*/
public final static List ZTSSignTaskList = Arrays.asList(SIGN_KEY_ZTS, SIGN_ZTS, SIGN_KEY_ZTSJKSC);
/** /**
* 定义流程路由常量 * 定义流程路由常量
*/ */
......
...@@ -50,8 +50,8 @@ import com.yonde.dex.basedata.entity.users.DxUserVO; ...@@ -50,8 +50,8 @@ import com.yonde.dex.basedata.entity.users.DxUserVO;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Data @Data
@ToString(callSuper = true) @ToString(callSuper = true)
@DexTypeVersionProp(propName = "target", join = @VersionProperty(curVersion = VersionRelationType.NONE, refVersion = VersionRelationType.VERSION)) @DexTypeVersionProp(propName = "target", join = @VersionProperty(curVersion = VersionRelationType.NONE, refVersion = VersionRelationType.ITERATION))
@DexTypeVersionProp(propName = "source", join = @VersionProperty(curVersion = VersionRelationType.NONE, refVersion = VersionRelationType.VERSION)) @DexTypeVersionProp(propName = "source", join = @VersionProperty(curVersion = VersionRelationType.NONE, refVersion = VersionRelationType.ITERATION))
public class ExtICMPlanDocLinkVO extends IdOnlyVO implements IdVO ,DxLinkDataVOHolder<ExtICMExternalInterfacePlanVO, DxDocumentVO> ,DxLogicDeleteVOHolder{ public class ExtICMPlanDocLinkVO extends IdOnlyVO implements IdVO ,DxLinkDataVOHolder<ExtICMExternalInterfacePlanVO, DxDocumentVO> ,DxLogicDeleteVOHolder{
public static final String DX_ID_EMBEDDABLE_PROP_NAME = "dxIdEmbeddable"; public static final String DX_ID_EMBEDDABLE_PROP_NAME = "dxIdEmbeddable";
......
...@@ -91,7 +91,7 @@ public class ExtPuchasePlanExcelVO { ...@@ -91,7 +91,7 @@ public class ExtPuchasePlanExcelVO {
/** /**
* 计划编码 * 计划编码
*/ */
@ExcelProperty(value = {"采购计划","计划编*"},index = 8) @ExcelProperty(value = {"采购计划","计划编*"},index = 8)
@ColumnWidth(20) @ColumnWidth(20)
private String planCode; private String planCode;
...@@ -99,23 +99,10 @@ public class ExtPuchasePlanExcelVO { ...@@ -99,23 +99,10 @@ public class ExtPuchasePlanExcelVO {
/** /**
* 备注 * 备注
*/ */
@ExcelProperty(value = {"采购计划","备注*"},index = 9) @ExcelProperty(value = {"采购计划","备注"},index = 9)
@ColumnWidth(20) @ColumnWidth(20)
private String note; private String note;
public static void main(String[] args) {
List<ExtPuchasePlanExcelVO> list = new ArrayList<>();
for (int i=0;i<=1;i++){
ExtPuchasePlanExcelVO extPuchasePlanExcelVO = new ExtPuchasePlanExcelVO();
extPuchasePlanExcelVO.setNote("测试"+i);
list.add(extPuchasePlanExcelVO);
}
EasyExcel.write(
"F:\\yangyi\\项目\\清华核研院\\核研院设计文档及原型\\采购计划导入模板333.xlsx", ExtPuchasePlanExcelVO.class)
.sheet("采购计划").doWrite(list);
}
} }
...@@ -64,7 +64,7 @@ public class ExtSupplierVO implements Serializable { ...@@ -64,7 +64,7 @@ public class ExtSupplierVO implements Serializable {
/** /**
* 资质内容 * 资质内容
*/ */
@ExcelProperty("资质内容(承制资格证书)") @ExcelProperty("资质内容(质量体系证书)")
private String qscQualificationsContent; private String qscQualificationsContent;
/** /**
...@@ -82,7 +82,7 @@ public class ExtSupplierVO implements Serializable { ...@@ -82,7 +82,7 @@ public class ExtSupplierVO implements Serializable {
/** /**
* 资质内容 * 资质内容
*/ */
@ExcelProperty("资质内容(质量体系证书)") @ExcelProperty("资质内容(承制资格证书)")
private String cqmQualificationsContent; private String cqmQualificationsContent;
/** /**
......
...@@ -9,6 +9,7 @@ import com.yonde.dcs.plan.core.service.ExtExpenditureContractService; ...@@ -9,6 +9,7 @@ import com.yonde.dcs.plan.core.service.ExtExpenditureContractService;
import com.yonde.dcs.plan.core.word.ImportWordService; import com.yonde.dcs.plan.core.word.ImportWordService;
import com.yonde.dex.wfc.common.vo.DxWfProcessInfoVO; import com.yonde.dex.wfc.common.vo.DxWfProcessInfoVO;
import com.yonde.dex.wfc.common.vo.DxWfProcessTaskVO; import com.yonde.dex.wfc.common.vo.DxWfProcessTaskVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
...@@ -22,6 +23,7 @@ import java.util.List; ...@@ -22,6 +23,7 @@ import java.util.List;
* @createTime 2022/02/22 14:35:00 * @createTime 2022/02/22 14:35:00
*/ */
@Component @Component
@Slf4j
public class ExpenditureContractUtils { public class ExpenditureContractUtils {
@Autowired @Autowired
...@@ -29,6 +31,7 @@ public class ExpenditureContractUtils { ...@@ -29,6 +31,7 @@ public class ExpenditureContractUtils {
@Autowired @Autowired
private ImportWordService importWordService; private ImportWordService importWordService;
/** /**
* 填充评审会议资料数据 * 填充评审会议资料数据
* *
...@@ -48,24 +51,12 @@ public class ExpenditureContractUtils { ...@@ -48,24 +51,12 @@ public class ExpenditureContractUtils {
String designPhase = Objects.isNull(dynamicAttrs.get("designPhase")) ? "" : (String) dynamicAttrs.get("designPhase");*/ String designPhase = Objects.isNull(dynamicAttrs.get("designPhase")) ? "" : (String) dynamicAttrs.get("designPhase");*/
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(expenditureContractVO); JSONObject jsonObject = (JSONObject) JSONObject.toJSON(expenditureContractVO);
jsonObject.put("agree", "☑");
jsonObject.put("reject", "□");
//项目代号 //项目代号
/*String projectCode = ObjectUtils.isEmpty(v.getDxDocumentExpand().getProjectCode()) ? "" : v.getDxDocumentExpand().getProjectCode(); /*String projectCode = ObjectUtils.isEmpty(v.getDxDocumentExpand().getProjectCode()) ? "" : v.getDxDocumentExpand().getProjectCode();
jsonObject.put("projectCode", extDocService.searchDictDataByDictCode(Constants.PROJECT_CODE, projectCode)); jsonObject.put("projectCode", extDocService.searchDictDataByDictCode(Constants.PROJECT_CODE, projectCode));
jsonObject.put("projectCode", projectCode);*/ jsonObject.put("projectCode", projectCode);*/
//合同名称
//合同乙方
//合同编号
//合同金额
//合同密级
//合同乙方保密资质等级
//合同类型
//学校/院归口管理部门
//合同成果形式
//成果交付地点(样机存放地方)
//起止时间
//承办部门
//经办人
//
//页数 //页数
//jsonObject.put("pages",v.getDxDocumentExpand().getAttachPages()); //jsonObject.put("pages",v.getDxDocumentExpand().getAttachPages());
...@@ -73,19 +64,12 @@ public class ExpenditureContractUtils { ...@@ -73,19 +64,12 @@ public class ExpenditureContractUtils {
List<DxWfProcessTaskVO> activities = wfProcessInfoVO.getHistoryInfo(); List<DxWfProcessTaskVO> activities = wfProcessInfoVO.getHistoryInfo();
if (!CollectionUtils.isEmpty(activities)) { if (!CollectionUtils.isEmpty(activities)) {
//写入签名数据 //写入签名数据
jsonObject.put("bz_photo", extExpenditureContractService.getSignImage(activities, SignConstants.SIGN_KEY_PREPARED)); jsonObject.put("bz_photo", extExpenditureContractService.getSignImage(activities, SignConstants.SIGN_KEY_BZ));
jsonObject.put("bz_date", extExpenditureContractService.getEndDate(activities, SignConstants.SIGN_KEY_PREPARED)); jsonObject.put("bz_date", extExpenditureContractService.getEndDate(activities, SignConstants.SIGN_KEY_BZ));
jsonObject.put("bz_comments", extExpenditureContractService.getComments(activities, SignConstants.SIGN_KEY_PREPARED)); jsonObject.put("bz_comments", extExpenditureContractService.getComments(activities, SignConstants.SIGN_KEY_BZ));
jsonObject.put("sh_photo", extExpenditureContractService.getSignImage(activities, SignConstants.SIGN_KEY_SH));
jsonObject.put("sh_date", extExpenditureContractService.getEndDate(activities, SignConstants.SIGN_KEY_SH));
//总体室审核
jsonObject.put("zts_photo", extExpenditureContractService.getSignImage(activities, SignConstants.SIGN_KEY_ZTSSH));
jsonObject.put("zts_date", extExpenditureContractService.getEndDate(activities, SignConstants.SIGN_KEY_ZTSSH));
jsonObject.put("zts_comments", extExpenditureContractService.getComments(activities, SignConstants.SIGN_KEY_PREPARED));
jsonObject.put("pz_photo", extExpenditureContractService.getSignImage(activities, SignConstants.SIGN_KEY_APPROVED));
jsonObject.put("pz_date", extExpenditureContractService.getEndDate(activities, SignConstants.SIGN_KEY_APPROVED));
jsonObject.put("pz_comments", extExpenditureContractService.getComments(activities, SignConstants.SIGN_KEY_PREPARED));
} }
log.info("ExpenditureContractUtils.settingDocData.jsonObject:{}", jsonObject.toString());
//模板名称 //模板名称
importWordService.getWordAllTable(jsonObject, path + file + ".docx", outFilePath + "outFile.docx"); importWordService.getWordAllTable(jsonObject, path + file + ".docx", outFilePath + "outFile.docx");
return jsonObject; return jsonObject;
......
...@@ -11,6 +11,7 @@ import com.yonde.dcs.plan.core.service.ExtExpenditureContractService; ...@@ -11,6 +11,7 @@ import com.yonde.dcs.plan.core.service.ExtExpenditureContractService;
import com.yonde.dcs.plan.core.word.ImportWordService; import com.yonde.dcs.plan.core.word.ImportWordService;
import com.yonde.dex.wfc.common.vo.DxWfProcessInfoVO; import com.yonde.dex.wfc.common.vo.DxWfProcessInfoVO;
import com.yonde.dex.wfc.common.vo.DxWfProcessTaskVO; import com.yonde.dex.wfc.common.vo.DxWfProcessTaskVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
...@@ -27,6 +28,7 @@ import java.util.Objects; ...@@ -27,6 +28,7 @@ import java.util.Objects;
* @createTime 2022/02/22 14:35:00 * @createTime 2022/02/22 14:35:00
*/ */
@Component @Component
@Slf4j
public class InComeContractUtils { public class InComeContractUtils {
@Autowired @Autowired
...@@ -47,47 +49,45 @@ public class InComeContractUtils { ...@@ -47,47 +49,45 @@ public class InComeContractUtils {
+ "\\" + inComeContractVO.getNumber() + "\\"; + "\\" + inComeContractVO.getNumber() + "\\";
//生成特定的文档目录,保存生成的word文件 //生成特定的文档目录,保存生成的word文件
FileUtil.mkdir(outFilePath); FileUtil.mkdir(outFilePath);
//获取动态属性
/*Map<String, Object> dynamicAttrs = expenditureContractVO.getDynamicAttrs();
String content = Objects.isNull(dynamicAttrs.get("content")) ? "" : (String) dynamicAttrs.get("content");
String designPhase = Objects.isNull(dynamicAttrs.get("designPhase")) ? "" : (String) dynamicAttrs.get("designPhase");*/
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(inComeContractVO); JSONObject jsonObject = (JSONObject) JSONObject.toJSON(inComeContractVO);
//项目代号
/*String projectCode = ObjectUtils.isEmpty(v.getDxDocumentExpand().getProjectCode()) ? "" : v.getDxDocumentExpand().getProjectCode();
jsonObject.put("projectCode", extDocService.searchDictDataByDictCode(Constants.PROJECT_CODE, projectCode));
jsonObject.put("projectCode", projectCode);*/
//合同名称
//合同乙方
//合同编号
//合同金额
//合同密级
//合同乙方保密资质等级
//合同类型
//学校/院归口管理部门
//合同成果形式
//成果交付地点(样机存放地方)
//起止时间
//承办部门
//经办人
//
//页数
//jsonObject.put("pages",v.getDxDocumentExpand().getAttachPages());
//获取参与者 //获取参与者
List<DxWfProcessTaskVO> activities = wfProcessInfoVO.getHistoryInfo(); List<DxWfProcessTaskVO> activities = wfProcessInfoVO.getHistoryInfo();
if (!CollectionUtils.isEmpty(activities)) { if (!CollectionUtils.isEmpty(activities)) {
//写入签名数据 //写入签名数据
jsonObject.put("bz_photo", extExpenditureContractService.getSignImage(activities, SignConstants.SIGN_KEY_PREPARED)); jsonObject.put("sjxfzr_photo", extExpenditureContractService.getSignImage(activities, SignConstants.SIGN_KEY_SJX_IN_COME_CONTRACT));
jsonObject.put("bz_date", extExpenditureContractService.getEndDate(activities, SignConstants.SIGN_KEY_PREPARED)); jsonObject.put("sjxfzr_date", extExpenditureContractService.getEndDate(activities, SignConstants.SIGN_KEY_SJX_IN_COME_CONTRACT));
jsonObject.put("sh_photo", extExpenditureContractService.getSignImage(activities, SignConstants.SIGN_KEY_SH)); jsonObject.put("sjxfzr_comments", extExpenditureContractService.getComments(activities, SignConstants.SIGN_KEY_SJX_IN_COME_CONTRACT));
jsonObject.put("sh_date", extExpenditureContractService.getEndDate(activities, SignConstants.SIGN_KEY_SH));
//总体室审核 jsonObject.put("ztsfzr_photo", extExpenditureContractService.getSignImage(activities, SignConstants.SIGN_KEY_ZTS_IN_COME_CONTRACT));
jsonObject.put("zts_photo", extExpenditureContractService.getSignImage(activities, SignConstants.SIGN_KEY_ZTSSH)); jsonObject.put("ztsfzr_date", extExpenditureContractService.getEndDate(activities, SignConstants.SIGN_KEY_ZTS_IN_COME_CONTRACT));
jsonObject.put("zts_date", extExpenditureContractService.getEndDate(activities, SignConstants.SIGN_KEY_ZTSSH)); jsonObject.put("ztsfzr_comments", extExpenditureContractService.getComments(activities, SignConstants.SIGN_KEY_ZTS_IN_COME_CONTRACT));
jsonObject.put("pz_photo", extExpenditureContractService.getSignImage(activities, SignConstants.SIGN_KEY_APPROVED));
jsonObject.put("pz_date", extExpenditureContractService.getEndDate(activities, SignConstants.SIGN_KEY_APPROVED)); jsonObject.put("zbbfzr_photo", extExpenditureContractService.getSignImage(activities, SignConstants.SIGN_KEY_ZBB_IN_COME_CONTRACT));
jsonObject.put("zbbfzr_date", extExpenditureContractService.getEndDate(activities, SignConstants.SIGN_KEY_ZBB_IN_COME_CONTRACT));
jsonObject.put("zbbfzr_comments", extExpenditureContractService.getComments(activities, SignConstants.SIGN_KEY_ZBB_IN_COME_CONTRACT));
jsonObject.put("bmbfzr_photo", extExpenditureContractService.getSignImage(activities, SignConstants.SIGN_KEY_BMB_IN_COME_CONTRACT));
jsonObject.put("bmbfzr_date", extExpenditureContractService.getEndDate(activities, SignConstants.SIGN_KEY_BMB_IN_COME_CONTRACT));
jsonObject.put("bmbfzr_comments", extExpenditureContractService.getComments(activities, SignConstants.SIGN_KEY_BMB_IN_COME_CONTRACT));
jsonObject.put("xmbufzr_photo", extExpenditureContractService.getSignImage(activities, SignConstants.SIGN_KEY_XMBU_IN_COME_CONTRACT));
jsonObject.put("xmbufzr_date", extExpenditureContractService.getEndDate(activities, SignConstants.SIGN_KEY_XMBU_IN_COME_CONTRACT));
jsonObject.put("xmbufzr_comments", extExpenditureContractService.getComments(activities, SignConstants.SIGN_KEY_XMBU_IN_COME_CONTRACT));
jsonObject.put("xmbanfzr_photo", extExpenditureContractService.getSignImage(activities, SignConstants.SIGN_KEY_XMBAN_IN_COME_CONTRACT));
jsonObject.put("xmbanfzr_date", extExpenditureContractService.getEndDate(activities, SignConstants.SIGN_KEY_XMBAN_IN_COME_CONTRACT));
jsonObject.put("xmbanfzr_comments", extExpenditureContractService.getComments(activities, SignConstants.SIGN_KEY_XMBAN_IN_COME_CONTRACT));
jsonObject.put("cbbmfzr_photo", extExpenditureContractService.getSignImage(activities, SignConstants.SIGN_KEY_CBBM_IN_COME_CONTRACT));
jsonObject.put("cbbmfzr_date", extExpenditureContractService.getEndDate(activities, SignConstants.SIGN_KEY_CBBM_IN_COME_CONTRACT));
jsonObject.put("cbbmfzr_comments", extExpenditureContractService.getComments(activities, SignConstants.SIGN_KEY_CBBM_IN_COME_CONTRACT));
jsonObject.put("xmzgyld_photo", extExpenditureContractService.getSignImage(activities, SignConstants.SIGN_KEY_XMZGYLD_IN_COME_CONTRACT));
jsonObject.put("xmzgyld_date", extExpenditureContractService.getEndDate(activities, SignConstants.SIGN_KEY_XMZGYLD_IN_COME_CONTRACT));
jsonObject.put("xmzgyld_comments", extExpenditureContractService.getComments(activities, SignConstants.SIGN_KEY_XMZGYLD_IN_COME_CONTRACT));
} }
log.info("InComeContractUtils.settingDocData.jsonObject:{}", jsonObject.toString());
//模板名称 //模板名称
importWordService.getWordAllTable(jsonObject, path + file + ".docx", outFilePath + "outFile.docx"); importWordService.getWordAllTable(jsonObject, path + file + ".docx", outFilePath + "outFile.docx");
return jsonObject; return jsonObject;
......
...@@ -190,8 +190,10 @@ public class ICMPlanExcelListenner extends AnalysisEventListener<ExtICMPlanExcel ...@@ -190,8 +190,10 @@ public class ICMPlanExcelListenner extends AnalysisEventListener<ExtICMPlanExcel
SearchItems icmPlanSearch = new SearchItems(); SearchItems icmPlanSearch = new SearchItems();
SearchItem numberFilter = new SearchItem("planNumber", SearchItem.Operator.EQ, planNumber, (Object)null); SearchItem numberFilter = new SearchItem("planNumber", SearchItem.Operator.EQ, planNumber, (Object)null);
SearchItem latestFilter = new SearchItem("latest", SearchItem.Operator.EQ, true, (Object)null); SearchItem latestFilter = new SearchItem("latest", SearchItem.Operator.EQ, true, (Object)null);
SearchItem projectIdFilter = new SearchItem("dxContextId", SearchItem.Operator.EQ, projectId, (Object)null);
icmPlanSearch.addItem(numberFilter); icmPlanSearch.addItem(numberFilter);
icmPlanSearch.addItem(latestFilter); icmPlanSearch.addItem(latestFilter);
icmPlanSearch.addItem(projectIdFilter);
SearchQueryCondition searchQuery = SearchQueryCondition.builder().searchItems(icmPlanSearch).sortItem(Lists.newArrayList(new SortItem[]{sortByModifyTime})).build(); SearchQueryCondition searchQuery = SearchQueryCondition.builder().searchItems(icmPlanSearch).sortItem(Lists.newArrayList(new SortItem[]{sortByModifyTime})).build();
//根据计划编码查询出最新版本的计划 //根据计划编码查询出最新版本的计划
DxPageImpl<ExtICMExternalInterfacePlanVO> ICMPlanPage = extICMExternalInterfacePlanService.findRecursion(searchQuery); DxPageImpl<ExtICMExternalInterfacePlanVO> ICMPlanPage = extICMExternalInterfacePlanService.findRecursion(searchQuery);
......
...@@ -15,6 +15,7 @@ import com.yonde.dcs.plan.common.vo.ExtPuchasePlanAttributeVO; ...@@ -15,6 +15,7 @@ import com.yonde.dcs.plan.common.vo.ExtPuchasePlanAttributeVO;
import com.yonde.dcs.plan.core.service.ExtIEDPlanDocLinkService; import com.yonde.dcs.plan.core.service.ExtIEDPlanDocLinkService;
import com.yonde.dcs.plan.core.service.ExtIEDPlanService; import com.yonde.dcs.plan.core.service.ExtIEDPlanService;
import com.yonde.dcs.plan.core.util.CommonUtils; import com.yonde.dcs.plan.core.util.CommonUtils;
import com.yonde.dcs.plan.core.util.UserUtils;
import com.yonde.dcs.plan.core.util.WorkFlowUtil; import com.yonde.dcs.plan.core.util.WorkFlowUtil;
import com.yonde.dcs.plan.entity.po.ExtIEDPlanDocLink; import com.yonde.dcs.plan.entity.po.ExtIEDPlanDocLink;
import com.yonde.dex.basedata.data.search.SearchItem; import com.yonde.dex.basedata.data.search.SearchItem;
...@@ -25,6 +26,8 @@ import com.yonde.dex.basedata.entity.data.OperatorType; ...@@ -25,6 +26,8 @@ import com.yonde.dex.basedata.entity.data.OperatorType;
import com.yonde.dex.basedata.exception.DxBusinessException; import com.yonde.dex.basedata.exception.DxBusinessException;
import com.yonde.dex.dao.service.util.ApplicationContextUtil; import com.yonde.dex.dao.service.util.ApplicationContextUtil;
import com.yonde.dex.dao.service.util.DxPageUtils; import com.yonde.dex.dao.service.util.DxPageUtils;
import com.yonde.dex.user.common.vo.DxUserInfoVO;
import com.yonde.dex.user.feign.DxUserInfoFeign;
import com.yonde.dex.wfc.common.vo.DxWfProcessVO; import com.yonde.dex.wfc.common.vo.DxWfProcessVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -47,6 +50,7 @@ public class IEDPlanExcelListenner extends AnalysisEventListener<ExtIEDPlanExcel ...@@ -47,6 +50,7 @@ public class IEDPlanExcelListenner extends AnalysisEventListener<ExtIEDPlanExcel
private ExtIEDPlanDocLinkService extIEDPlanDocLinkService; private ExtIEDPlanDocLinkService extIEDPlanDocLinkService;
private ExtDxDocumentServiceFeign extDxDocumentServiceFeign; private ExtDxDocumentServiceFeign extDxDocumentServiceFeign;
private WorkFlowUtil workFlowUtil; private WorkFlowUtil workFlowUtil;
private UserUtils userUtils;
/** /**
* 每隔100条处理下,然后清理list ,方便内存回收 * 每隔100条处理下,然后清理list ,方便内存回收
*/ */
...@@ -85,6 +89,7 @@ public class IEDPlanExcelListenner extends AnalysisEventListener<ExtIEDPlanExcel ...@@ -85,6 +89,7 @@ public class IEDPlanExcelListenner extends AnalysisEventListener<ExtIEDPlanExcel
this.extIEDPlanDocLinkService = ApplicationContextUtil.getBean(ExtIEDPlanDocLinkService.class); this.extIEDPlanDocLinkService = ApplicationContextUtil.getBean(ExtIEDPlanDocLinkService.class);
this.workFlowUtil = ApplicationContextUtil.getBean(WorkFlowUtil.class); this.workFlowUtil = ApplicationContextUtil.getBean(WorkFlowUtil.class);
this.extDxDocumentServiceFeign = ApplicationContextUtil.getBean(ExtDxDocumentServiceFeign.class); this.extDxDocumentServiceFeign = ApplicationContextUtil.getBean(ExtDxDocumentServiceFeign.class);
this.userUtils = ApplicationContextUtil.getBean(UserUtils.class);
this.projectId = projectId; this.projectId = projectId;
} }
...@@ -182,23 +187,8 @@ public class IEDPlanExcelListenner extends AnalysisEventListener<ExtIEDPlanExcel ...@@ -182,23 +187,8 @@ public class IEDPlanExcelListenner extends AnalysisEventListener<ExtIEDPlanExcel
StringBuffer errorString = new StringBuffer(); StringBuffer errorString = new StringBuffer();
//校验数据 //校验数据
if (!StringUtils.isEmpty(extIEDPlanExcelVO.getOperation()) && !StringUtils.isEmpty(extIEDPlanExcelVO.getFileNumber())) { if (!StringUtils.isEmpty(extIEDPlanExcelVO.getOperation()) && !StringUtils.isEmpty(extIEDPlanExcelVO.getFileNumber())) {
if (!operationList.contains(extIEDPlanExcelVO.getOperation())) { //校验excel必填字段是否有效
errorString.append("解析到数据第"+excelDataRow+"行文件编号为:" + extIEDPlanExcelVO.getFileNumber() + "的操作符无法识别!!"); verifyExcelRequiredFields(extIEDPlanExcelVO,errorString);
errorList.add(errorString);
return;
}
//文件代号不能为空
if(StringUtils.isEmpty(extIEDPlanExcelVO.getFileCode())){
errorString.append("解析到数据第"+excelDataRow+"行文件编号为:" + extIEDPlanExcelVO.getFileNumber() + "的文件代号不能为空!!");
errorList.add(errorString);
return;
}
//管理系统编码不能为空
if(StringUtils.isEmpty(extIEDPlanExcelVO.getSystemNumber())){
errorString.append("解析到数据第"+excelDataRow+"行文件编号为:" + extIEDPlanExcelVO.getFileNumber() + "的管理信息系统编码不能为空!!");
errorList.add(errorString);
return;
}
//如果是新增,查看一下数据库中是不是已经存在 //如果是新增,查看一下数据库中是不是已经存在
if (Constants.EXCEL_ADD.equals(extIEDPlanExcelVO.getOperation())) { if (Constants.EXCEL_ADD.equals(extIEDPlanExcelVO.getOperation())) {
//文件编码、文件代号、管理系统编码只要有一个为删除存在就不能新增。 //文件编码、文件代号、管理系统编码只要有一个为删除存在就不能新增。
...@@ -207,7 +197,7 @@ public class IEDPlanExcelListenner extends AnalysisEventListener<ExtIEDPlanExcel ...@@ -207,7 +197,7 @@ public class IEDPlanExcelListenner extends AnalysisEventListener<ExtIEDPlanExcel
errorString.append("解析到数据第"+excelDataRow+"行,新增IED计划的文件编号、文件代号或者管理信息系统编码已存在,不能重复添加!"); errorString.append("解析到数据第"+excelDataRow+"行,新增IED计划的文件编号、文件代号或者管理信息系统编码已存在,不能重复添加!");
errorList.add(errorString); errorList.add(errorString);
} }
}else if (Constants.EXCEL_DELETE.equals(extIEDPlanExcelVO.getOperation())){//删除时校验 }else if (Constants.EXCEL_DELETE.equals(extIEDPlanExcelVO.getOperation())){
// ExtIEDPlanVO extIEDPlanVO = getIEDPlanByFileNumberAndDeleted(extIEDPlanExcelVO.getFileNumber(),true); // ExtIEDPlanVO extIEDPlanVO = getIEDPlanByFileNumberAndDeleted(extIEDPlanExcelVO.getFileNumber(),true);
// if(!ObjectUtils.isEmpty(extIEDPlanVO)){ // if(!ObjectUtils.isEmpty(extIEDPlanVO)){
// errorString.append("解析到数据第"+excelDataRow+"行,删除IED计划的文件编号:" + extIEDPlanExcelVO.getFileNumber() + "未查到相关数据,删除失败!"); // errorString.append("解析到数据第"+excelDataRow+"行,删除IED计划的文件编号:" + extIEDPlanExcelVO.getFileNumber() + "未查到相关数据,删除失败!");
...@@ -436,4 +426,84 @@ public class IEDPlanExcelListenner extends AnalysisEventListener<ExtIEDPlanExcel ...@@ -436,4 +426,84 @@ public class IEDPlanExcelListenner extends AnalysisEventListener<ExtIEDPlanExcel
extDxDocumentServiceFeign.saveRecursion(dxDocumentVO); extDxDocumentServiceFeign.saveRecursion(dxDocumentVO);
} }
/**
* 校验excel必填字段
* @param extIEDPlanExcelVO
* @param errorString
*/
public void verifyExcelRequiredFields(ExtIEDPlanExcelVO extIEDPlanExcelVO,StringBuffer errorString){
if (!operationList.contains(extIEDPlanExcelVO.getOperation())) {
errorString.append("解析到数据第"+excelDataRow+"行文件编号为:" + extIEDPlanExcelVO.getFileNumber() + "的操作符无法识别!!");
errorList.add(errorString);
return;
}
//文件代号不能为空
if(StringUtils.isEmpty(extIEDPlanExcelVO.getFileCode())){
errorString.append("解析到数据第"+excelDataRow+"行文件编号为:" + extIEDPlanExcelVO.getFileNumber() + "的文件代号不能为空!!");
errorList.add(errorString);
return;
}
//管理系统编码不能为空
if(StringUtils.isEmpty(extIEDPlanExcelVO.getSystemNumber())){
errorString.append("解析到数据第"+excelDataRow+"行文件编号为:" + extIEDPlanExcelVO.getFileNumber() + "的管理信息系统编码不能为空!!");
errorList.add(errorString);
return;
}
//文件提交时间不能为空
if(StringUtils.isEmpty(extIEDPlanExcelVO.getFileSubmitTime())){
errorString.append("解析到数据第"+excelDataRow+"行文件编号为:" + extIEDPlanExcelVO.getFileNumber() + "的提交时间不能为空!!");
errorList.add(errorString);
return;
}
//编写者不能为空
if(StringUtils.isEmpty(extIEDPlanExcelVO.getEditor())){
errorString.append("解析到数据第"+excelDataRow+"行文件编号为:" + extIEDPlanExcelVO.getFileNumber() + "的编写者不能为空!!");
errorList.add(errorString);
return;
}else {
DxUserInfoVO dxUserInfoVO= userUtils.getUserByName(extIEDPlanExcelVO.getEditor());
if(ObjectUtils.isEmpty(dxUserInfoVO)){
errorString.append("解析到数据第"+excelDataRow+"行文件编号为:" + extIEDPlanExcelVO.getFileNumber() + "的编写者在系统中未查到!!");
errorList.add(errorString);
return;
}else {
extIEDPlanExcelVO.setEditor(String.valueOf(dxUserInfoVO.getId()));
}
}
//审核不是空,判断该用户是否存在,存在的话,将用户id保存
if(!StringUtils.isEmpty(extIEDPlanExcelVO.getAuditor())){
DxUserInfoVO dxUserInfoVO= userUtils.getUserByName(extIEDPlanExcelVO.getAuditor());
if(ObjectUtils.isEmpty(dxUserInfoVO)){
errorString.append("解析到数据第"+excelDataRow+"行文件编号为:" + extIEDPlanExcelVO.getFileNumber() + "的审核者在系统中未查到!!");
errorList.add(errorString);
return;
}else {
extIEDPlanExcelVO.setAuditor(String.valueOf(dxUserInfoVO.getId()));
}
}
//审定不是空,判断该用户是否存在,存在的话,将用户id保存
if(!StringUtils.isEmpty(extIEDPlanExcelVO.getInvestigator())){
DxUserInfoVO dxUserInfoVO= userUtils.getUserByName(extIEDPlanExcelVO.getInvestigator());
if(ObjectUtils.isEmpty(dxUserInfoVO)){
errorString.append("解析到数据第"+excelDataRow+"行文件编号为:" + extIEDPlanExcelVO.getFileNumber() + "的审定者在系统中未查到!!");
errorList.add(errorString);
return;
}else {
extIEDPlanExcelVO.setInvestigator(String.valueOf(dxUserInfoVO.getId()));
}
}
//批准不是空,判断该用户是否存在,存在的话,将用户id保存
if(!StringUtils.isEmpty(extIEDPlanExcelVO.getRatifier())){
DxUserInfoVO dxUserInfoVO= userUtils.getUserByName(extIEDPlanExcelVO.getRatifier());
if(ObjectUtils.isEmpty(dxUserInfoVO)){
errorString.append("解析到数据第"+excelDataRow+"行文件编号为:" + extIEDPlanExcelVO.getFileNumber() + "的审定者在系统中未查到!!");
errorList.add(errorString);
return;
}else {
extIEDPlanExcelVO.setRatifier(String.valueOf(dxUserInfoVO.getId()));
}
}
}
} }
...@@ -29,6 +29,8 @@ import org.springframework.util.ObjectUtils; ...@@ -29,6 +29,8 @@ import org.springframework.util.ObjectUtils;
import javax.servlet.ServletContextListener; import javax.servlet.ServletContextListener;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@Component @Component
@Slf4j @Slf4j
...@@ -43,6 +45,11 @@ public class PurchasePlanExcelReadListenner extends AnalysisEventListener<ExtPuc ...@@ -43,6 +45,11 @@ public class PurchasePlanExcelReadListenner extends AnalysisEventListener<ExtPuc
private String projectId; private String projectId;
/**
* 密级列别
*/
private Map<Integer,String> securityList = new ConcurrentHashMap();
/** /**
* excel数据行数 * excel数据行数
*/ */
......
...@@ -74,6 +74,7 @@ public class ExtIEDPlanServiceImpl<V extends ExtIEDPlanVO> implements ExtIEDPlan ...@@ -74,6 +74,7 @@ public class ExtIEDPlanServiceImpl<V extends ExtIEDPlanVO> implements ExtIEDPlan
@Autowired @Autowired
private ExtIEDPlanDocLinkService extIEDPlanDocLinkService; private ExtIEDPlanDocLinkService extIEDPlanDocLinkService;
@Override @Override
public String importIEDPlan(InputStream inputStream, String projectId) { public String importIEDPlan(InputStream inputStream, String projectId) {
EasyExcel.read(inputStream, ExtIEDPlanExcelVO.class, EasyExcel.read(inputStream, ExtIEDPlanExcelVO.class,
...@@ -201,6 +202,8 @@ public class ExtIEDPlanServiceImpl<V extends ExtIEDPlanVO> implements ExtIEDPlan ...@@ -201,6 +202,8 @@ public class ExtIEDPlanServiceImpl<V extends ExtIEDPlanVO> implements ExtIEDPlan
dynamicAttrs.put("systemCode", extIEDPlanVO.getSystemNumber()); dynamicAttrs.put("systemCode", extIEDPlanVO.getSystemNumber());
//阶段 //阶段
dynamicAttrs.put("phase", extIEDPlanVO.getPhase()); dynamicAttrs.put("phase", extIEDPlanVO.getPhase());
//编写者
dynamicAttrs.put("editor", extIEDPlanVO.getEditor());
//设置动态属性 //设置动态属性
dxDocumentVO.setDynamicAttrs(dynamicAttrs); dxDocumentVO.setDynamicAttrs(dynamicAttrs);
//设备号 //设备号
...@@ -208,6 +211,8 @@ public class ExtIEDPlanServiceImpl<V extends ExtIEDPlanVO> implements ExtIEDPlan ...@@ -208,6 +211,8 @@ public class ExtIEDPlanServiceImpl<V extends ExtIEDPlanVO> implements ExtIEDPlan
//创建时间 //创建时间
dxDocumentVO.setCreateTime(LocalDateTime.now()); dxDocumentVO.setCreateTime(LocalDateTime.now());
//设置扩展属性 //设置扩展属性
//项目代号
//todo wq项目代号暂时还未取到
dxDocumentVO.setDxDocumentExpand(dxDocumentExpand); dxDocumentVO.setDxDocumentExpand(dxDocumentExpand);
dxDocumentVO.setOperator(OperatorType.ADD); dxDocumentVO.setOperator(OperatorType.ADD);
DxDocumentVO dxDocumentVOForDB = extDxDocumentServiceFeign.saveRecursion(dxDocumentVO); DxDocumentVO dxDocumentVOForDB = extDxDocumentServiceFeign.saveRecursion(dxDocumentVO);
...@@ -259,7 +264,6 @@ public class ExtIEDPlanServiceImpl<V extends ExtIEDPlanVO> implements ExtIEDPlan ...@@ -259,7 +264,6 @@ public class ExtIEDPlanServiceImpl<V extends ExtIEDPlanVO> implements ExtIEDPlan
return ApiResult.SUCCESS; return ApiResult.SUCCESS;
} }
} }
...@@ -159,7 +159,7 @@ public class ExtSupplierManageServiceImpl<V extends ExtSupplierManageVO> impleme ...@@ -159,7 +159,7 @@ public class ExtSupplierManageServiceImpl<V extends ExtSupplierManageVO> impleme
throw new DxBusinessException("500", "获取不到对象"); throw new DxBusinessException("500", "获取不到对象");
} }
if (!extSupplierManageVO.getState().equals(Constants.RELEASE)) { if (!extSupplierManageVO.getState().equals(Constants.RELEASE)) {
throw new DxBusinessException("500", "该对象不是编制状态"); throw new DxBusinessException("500", "该对象不是已发布状态");
} }
return this.changeStatus(extSupplierManageVO.getId(), Constants.CONTEXT_DISABLE, true); return this.changeStatus(extSupplierManageVO.getId(), Constants.CONTEXT_DISABLE, true);
} }
...@@ -179,36 +179,39 @@ public class ExtSupplierManageServiceImpl<V extends ExtSupplierManageVO> impleme ...@@ -179,36 +179,39 @@ public class ExtSupplierManageServiceImpl<V extends ExtSupplierManageVO> impleme
BeanUtils.copyProperties(extSupplierManageVO, extSupplierVO); BeanUtils.copyProperties(extSupplierManageVO, extSupplierVO);
DictDataVO supplierType = supplierTypeMap.get(extSupplierManageVO.getSupplierType()); DictDataVO supplierType = supplierTypeMap.get(extSupplierManageVO.getSupplierType());
extSupplierVO.setSupplierType(supplierType.getDictValue()); extSupplierVO.setSupplierType(supplierType.getDictValue());
for (ExtSupplierManageLinkVO extSupplierManageLink : extSupplierManageVO.getExtSupplierManageLinks()) { List<ExtSupplierManageLinkVO> extSupplierManageLinks = extSupplierManageVO.getExtSupplierManageLinks();
ExtQualificationsVO target = extSupplierManageLink.getTarget(); if (CollectionUtils.isNotEmpty(extSupplierManageLinks)) {
String qualificationsContent = target.getQualificationsContent(); for (ExtSupplierManageLinkVO extSupplierManageLink : extSupplierManageLinks) {
String certificateNumber = target.getCertificateNumber(); ExtQualificationsVO target = extSupplierManageLink.getTarget();
LocalDateTime certificateTime = target.getCertificateTime(); String qualificationsContent = target.getQualificationsContent();
DictDataVO qualifications = qualificationsContentMap.get(qualificationsContent); String certificateNumber = target.getCertificateNumber();
String dictValue = qualifications.getDictValue(); LocalDateTime certificateTime = target.getCertificateTime();
switch (qualificationsContent) { DictDataVO qualifications = qualificationsContentMap.get(qualificationsContent);
case "qsc": String dictValue = qualifications.getDictValue();
extSupplierVO.setQscQualificationsContent(dictValue); switch (qualificationsContent) {
extSupplierVO.setQscCertificateNumber(certificateNumber); case "qsc":
extSupplierVO.setQscCertificateTime(certificateTime); extSupplierVO.setQscQualificationsContent(dictValue);
break; extSupplierVO.setQscCertificateNumber(certificateNumber);
case "sp": extSupplierVO.setQscCertificateTime(certificateTime);
extSupplierVO.setSpQualificationsContent(dictValue); break;
extSupplierVO.setSpCertificateNumber(certificateNumber); case "sp":
extSupplierVO.setSpCertificateTime(certificateTime); extSupplierVO.setSpQualificationsContent(dictValue);
break; extSupplierVO.setSpCertificateNumber(certificateNumber);
case "cqc": extSupplierVO.setSpCertificateTime(certificateTime);
extSupplierVO.setCqcQualificationsContent(dictValue); break;
extSupplierVO.setCqcCertificateNumber(certificateNumber); case "cqc":
extSupplierVO.setCqcCertificateTime(certificateTime); extSupplierVO.setCqcQualificationsContent(dictValue);
break; extSupplierVO.setCqcCertificateNumber(certificateNumber);
case "cqm": extSupplierVO.setCqcCertificateTime(certificateTime);
extSupplierVO.setCqmQualificationsContent(dictValue); break;
extSupplierVO.setCqmCertificateNumber(certificateNumber); case "cqm":
extSupplierVO.setCqmCertificateTime(certificateTime); extSupplierVO.setCqmQualificationsContent(dictValue);
break; extSupplierVO.setCqmCertificateNumber(certificateNumber);
default: extSupplierVO.setCqmCertificateTime(certificateTime);
break; break;
default:
break;
}
} }
} }
list.add(extSupplierVO); list.add(extSupplierVO);
......
package com.yonde.dcs.plan.core.util;
import com.yonde.dex.user.common.vo.DxUserInfoVO;
import com.yonde.dex.user.feign.DxUserInfoFeign;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 用户信息工具类
*/
@Component
public class UserUtils {
@Autowired
private DxUserInfoFeign dxUserInfoFeign;
public DxUserInfoVO getUserByName(String name){
return dxUserInfoFeign.getUserByName(name);
}
}
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