工程进度及合同

This commit is contained in:
haozq 2024-12-03 11:29:12 +08:00
parent 0bac985cb0
commit 87076d9ca9
13 changed files with 380 additions and 267 deletions

View File

@ -27,7 +27,7 @@ public class GenEntity {
private static boolean f_sql = false; // 是否需要导入包java.sql.*
/*** 数据库连接常量,需优化.每次运行main方法创建连接CPU损耗率高; **/
private static final String URL = "jdbc:mysql://127.0.0.1:3306/add_database?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true";
private static final String URL = "jdbc:mysql://127.0.0.1:3306/exportdata?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true";
private static final String NAME = "mroot";
private static final String PASS = "bonus@admin123";
private static final String DRIVER = "com.mysql.cj.jdbc.Driver";
@ -41,7 +41,7 @@ public class GenEntity {
try {
Class.forName(DRIVER);
conn = DriverManager.getConnection(URL, NAME, PASS);
conn.setCatalog("add_database");
conn.setCatalog("exportdata");
} catch (Exception e1) {
e1.printStackTrace();
}
@ -65,7 +65,7 @@ public class GenEntity {
//获取数据库的元数据
DatabaseMetaData db = getConnection().getMetaData();
//从元数据中获取到所有的表名
rs = db.getTables("add_database","add_database", null, new String[] { "TABLE" });
rs = db.getTables("exportdata","exportdata", null, new String[] { "TABLE" });
while(rs.next()) {
tableNames.add(rs.getString(3));
}

View File

@ -130,6 +130,16 @@ public class GlobalConfig {
* 变电
*/
public static final String JJ_BD= IP_URL+"/biz-api/ifsct/up/sel/pmSubstation";
/**
* 合同数据
*/
public static final String JJ_HT= IP_URL+"/biz-api/ifsct/up/sel/prjDwTenderingContractManage";
/**
* 工程进度
*/
public static final String JJ_GCJD= IP_URL+"/biz-api/ifsct/up/sel/prjConstrProgressNode";
}

View File

@ -0,0 +1,64 @@
package com.xxl.job.executor.inter.entity;
import lombok.Data;
/**
* jjContract 实体类
* 2024-12-03 10:51:48 zijixiangba
* @author 黑子
*/
@Data
public class JjContract{
private String id; //主键id
private String provinceCode; //省公司编码
private String buildUnitCode; //建设管理单位编码
private String integrationFlag; //是否可研设计一体化
private String contractNumber; //合同编号
private String contractName; //合同名称
private String bidTime; //中标时间
private String contractAmount; //合同金额
private String companyName; //中标单位名称
private String signTime; //签订时间
private String bidpkgCode; //标包编号
private String bidpkgName; //标包名称
private String biddingPlanInteger; //招标编号
private String tenderingBatchName; //招标批次名称
private String contractType; //合同类型
private String status; //状态
private String deleteFlag; //删除状态
private String createrId; //创建人
private String createTime; //创建时间
private String updaterId; //修改人
private String updateTime; //修改时间
private String companyCode; //中标单位编码
private String prjCode; //项目编码
private String singleProjectCode; //单项工程编码
private String biddingSectionCode; //标段编码
}

View File

@ -0,0 +1,74 @@
package com.xxl.job.executor.inter.entity;
import lombok.Data;
/**
* jjProProcess 实体类
* 2024-12-03 11:24:27 zijixiangba
*/
@Data
public class JjProProcess{
private String id; //
private String specialtyId; //施工进度计划专业表idconstr_progress_major
private String singleProjectCode; //单项工程编码
private String biddingSectionCode; //标段编码
private String procedureName; //工序名称
private String constrNodeType; //工序类型1变电土建2变电电气3架空线路4电缆土建5电缆电气
private String serialNumber; //序号
private String serialQuery; //序号查询
private String prjCodeUnitPrj; //工程编号-单位工程
private String prjCodeSubsecionPrj; //工程编号-分部工程
private String prjCodeSubentryPrj; //工程编号-分项工程
private String prjCodeInspLot; //工程编号-检验批
private String prjCodeSubUnitPrj; //工程编号-子单位工程
private String prjCodeSubSubentryPrj; //工程编号-子分部工
private String acceptId; //质量验收范围划分数据表idquality_accept_scope_div_item
private String parentId; //父级编号
private String hierarchical; //层级
private String fileId; //验评模板附件id
private String weight; //权重
private String automaticProgress; //自动提取进度
private String planProgress; //计划进度
private String actualProgress; //实际进度
private String rectifyProgress; //纠偏后进度
private String adjustFlag; //是否调整
private String processyStatus; //工序状态
private String deleteFlag; //删除状态
private String createrId; //创建人
private String createTime; //创建时间
private String updaterId; //修改人
private String updateTime; //修改时间
}

View File

@ -254,4 +254,12 @@ public interface InterMapper {
* @return
*/
List<String> getClassCameraId();
void insertJjContractData(List<JjContract> list);
/**
* 工程进度
* @param list
*/
void insertJjProProcessData(List<JjProProcess> list);
}

View File

@ -413,4 +413,22 @@ public class DataCenterService {
} return new ArrayList<>();
}
public void insertJjContractData(List<JjContract> list) {
try{
mapper.insertJjContractData(list);
}catch (Exception e){
XxlJobHelper.log("合同数据插入--->{}",e.toString());
log.error(e.toString(),e);
}
}
public void insertJjProProcessData(List<JjProProcess> list) {
try{
mapper.insertJjProProcessData(list);
}catch (Exception e){
XxlJobHelper.log("工程进度数据插入--->{}",e.toString());
log.error(e.toString(),e);
}
}
}

View File

@ -1000,141 +1000,57 @@ public class InterService {
}
}
/**
* 风险底数一本账
* -分项预控措施一本账
* 风险预控措施
* 预控措施类型包括01-风险库02-风险清册03-风险底数一本账04-一览表
* 合同数据
* @param pageNum
*/
public void getSmDwRiskPrecautionInfo(int pageNum) {
public void getProHt(int pageNum) {
try {
List<JjRiskPrecaution> list=service.getJjRiskPrecautionList(DataUtils.getStartTime2(),DataUtils.getEndTime());
for (JjRiskPrecaution vo:list) {
getInfo2(pageNum,vo.getId(),"10");
JSONObject obj= DataUtils.getTwoJsonObject(pageNum);
HttpResponse httpResponse = PostUtils.sendData(obj.toString(), GlobalConfig.JJ_HT);
Map<String, Object> map = DataUtils.getArray(httpResponse);
Object objata=map.get("array");
if (objata != null) {
JSONArray array = (JSONArray) map.get("array");
List<JjContract> list = JSONArray.parseArray(array.toJSONString(), JjContract.class);
service.insertJjContractData(list);
pageNum++;
if (pageNum <= (Integer) map.get("TOTAL_PAGE")) {
if (FY_BOOLEAN){
getProHt(pageNum);
}
}
}
} catch (Exception e) {
XxlJobHelper.log("数据处理异常内容--->{}",e.toString());
XxlJobHelper.handleFail(e.toString());
}
}
/**
* 扩展信息-施工作业票_预控措施
* 施工作业票_预控措施
* 预控措施
* @param pageNum
*/
public void getSmConstructionWorkTicketInfo(int pageNum) {
try {
List<JjTicket> list=service.getSmConstructionWorkTicketList(DataUtils.getStartTime2(),DataUtils.getEndTime());
for (JjTicket vo:list) {
getInfo2(pageNum,vo.getId(),"20");
}
} catch (Exception e) {
XxlJobHelper.log("数据处理异常内容--->{}",e.toString());
}
}
/**
* 扩展信息-预控措施_站班会
* 预控措施_站班会
* 预控措施
* 工程进度接口
* @param pageNum
*/
public void getSmDwToolBoxTalkInfo(int pageNum) {
try {
List<JjClassMeetting> list=service.getClassMettingIds(DataUtils.getStartTime2(),DataUtils.getEndTime());
for (JjClassMeetting vo:list) {
getInfo2(pageNum,vo.getId(),"30");
public void getProProcess(int pageNum) {
try {
JSONObject obj= DataUtils.getTwoJsonObject(pageNum);
HttpResponse httpResponse = PostUtils.sendData(obj.toString(), GlobalConfig.JJ_GCJD);
Map<String, Object> map = DataUtils.getArray(httpResponse);
Object objata=map.get("array");
if (objata != null) {
JSONArray array = (JSONArray) map.get("array");
List<JjProProcess> list = JSONArray.parseArray(array.toJSONString(), JjProProcess.class);
service.insertJjProProcessData(list);
pageNum++;
if (pageNum <= (Integer) map.get("TOTAL_PAGE")) {
if (FY_BOOLEAN){
getProProcess(pageNum);
}
}
}
} catch (Exception e) {
XxlJobHelper.handleFail(e.toString());
}
} catch (Exception e) {
XxlJobHelper.log("数据处理异常内容--->{}",e.toString());
}
}
/**
* 扩展信息-施工作业票_扩展信息
* 施工作业票_扩展信息
* 内容类型包括01-变化情况02-情况控制措施03-主要风险
* -> 外键id同 20 -作业票
* @param pageNum
*/
public void getSmConstructionWorkTicketInfo2(int pageNum) {
try {
List<JjTicket> list=service.getSmConstructionWorkTicketList(DataUtils.getStartTime2(),DataUtils.getEndTime());
for (JjTicket vo:list) {
getInfo2(pageNum,vo.getId(),"40");
}
} catch (Exception e) {
XxlJobHelper.log("数据处理异常内容--->{}",e.toString());
}
}
/**
* 风险底数一本账_扩展信息
* 风险底数一本账_扩展信息
* 内容类型包括01-备注02-风险可能导致后果03-风险控制关键因素04-作业部位名称05-一览表作业部位名称
*
* id 10 ->风险一本账id
* @param pageNum
*/
public void getSmDwRiskPrecautionInfo2(int pageNum) {
try {
List<JjRiskPrecaution> list=service.getJjRiskPrecautionList(DataUtils.getStartTime2(),DataUtils.getEndTime());
for (JjRiskPrecaution vo:list) {
getInfo2(pageNum,vo.getId(),"50");
}
} catch (Exception e) {
XxlJobHelper.log("数据处理异常内容--->{}",e.toString());
}
}
/**
* 站班会_扩展信息
* 当日控制措施
* 站班会的当日控制措施
* ->同作业票扩展信息
* -> 30
* @param pageNum
*/
public void getSmDwToolBoxTalkInfo2(int pageNum) {
try {
List<JjClassMeetting> list=service.getClassMettingIds(DataUtils.getStartTime2(),DataUtils.getEndTime());
for (JjClassMeetting vo:list) {
getInfo2(pageNum,vo.getId(),"60");
}
} catch (Exception e) {
XxlJobHelper.log("数据处理异常内容--->{}",e.toString());
log.error(e.toString(), e);
}
}
/**
* 站班会_拆分扩展信息
* 当日控制措施
* 内容类型包括01-备注02-现场风险复测变化情况及补充措施03-风险异常原因04-补充安全控制措施
* @param pageNum
*/
public void getSmDwDataStandardExtInfo(int pageNum) {
try {
List<JjInfo> list=service.getJjinfoList(DataUtils.getStartTime2(),DataUtils.getEndTime());
for (JjInfo vo:list) {
getInfo2(pageNum,vo.getId(),"70");
}
} catch (Exception e) {
XxlJobHelper.log("数据处理异常内容--->{}",e.toString());
log.error(e.toString(), e);
}
}
}

View File

@ -10,13 +10,11 @@ import com.xxl.job.executor.inter.utils.DataUtils;
import com.xxl.job.executor.inter.utils.PostUtils;
import com.xxl.job.executor.inter.utils.Sm4Utils;
import com.xxl.job.executor.inter.utils.StringHelper;
import io.netty.util.internal.StringUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@ -652,119 +650,6 @@ public class InterTwoService {
/**
* 查询扩展信息
*/
@Async
public void getInfo(int pageNum,String refId,String extType){
try {
//当前页
JSONObject obj = new JSONObject();
obj.put("PAGE_NUM", pageNum);
//业务id
obj.put("REF_ID1",refId);
obj.put("EXT_TYPE",extType);
obj.put("PAGE_SIZE", pageSize);
HttpResponse httpResponse = PostUtils.sendData(obj.toString(), GlobalConfig.DETAILS_URL);
Map<String, Object> map = DataUtils.getArray(httpResponse);
JSONArray array = (JSONArray) map.get("array");
if (array != null) {
List<JjInfo> list = JSONArray.parseArray(array.toJSONString(), JjInfo.class);
service.insertInfoData(list);
pageNum++;
if (pageNum <= (Integer) map.get("TOTAL_PAGE")) {
if (FY_BOOLEAN){
getInfo(pageNum,refId,extType);
}
}
}
} catch (Exception e) {
XxlJobHelper.handleFail(e.toString());
log.error(e.toString(), e);
}
}
/**
* 站班会的 扩展功能优化
* @param
*/
@Async
public void getClassMettingInfo() {
try {
List<JjClassMeettingInfo> classList=service.getClassMettingList(DataUtils.getStartDay(),DataUtils.getEndDay());
classList.forEach(vo->{
WorkDetailsVo wvo=getMettingInfo(vo.getRiskId());
vo.setWorkType(wvo.getWorkType());
vo.setWorkGx(wvo.getWorkGx());
vo.setWorkContent(wvo.getContent());
vo.setWorkSite(wvo.getWorkSite());
String mainRisk=service.getMainRisk(vo.getTicketId());
vo.setMainRisk(mainRisk);
service.insertDataInfo(vo);
});
}catch (Exception e){
XxlJobHelper.handleFail(e.toString());
}
}
public WorkDetailsVo getMettingInfo(String riskProductId){
WorkDetailsVo workDetailsVo=new WorkDetailsVo();
try{
if (StringUtil.isNullOrEmpty(riskProductId)) {
return workDetailsVo;
}
List<String> riskId= Arrays.asList(riskProductId.split(","));
List<WorkDetailsVo> details=service.getWorkDetails(riskId);
StringBuffer workSite=new StringBuffer();
StringBuffer content=new StringBuffer();
StringBuffer workGx=new StringBuffer();
StringBuffer workType=new StringBuffer();
if(details!=null && details.size()>0){
details.forEach(vo->{
if(StringHelper.isNotEmpty(vo.getWorkSite())){
if(StringHelper.isNotEmpty(workSite.toString())){
workSite.append(";");
}
workSite.append(vo.getWorkSite());
}
if(StringHelper.isNotEmpty(vo.getContent())){
if(StringHelper.isNotEmpty(content.toString())){
content.append(";");
}
content.append(vo.getContent());
}
if(StringHelper.isNotEmpty(vo.getWorkGx())){
if(StringHelper.isNotEmpty(workGx.toString())){
workGx.append(";");
}
workGx.append(vo.getWorkGx());
}
if(StringHelper.isNotEmpty(vo.getWorkType())){
if(StringHelper.isNotEmpty(workType.toString())){
workType.append(";");
}
workType.append(vo.getWorkType());
}
});
workDetailsVo.setWorkType(workType.toString());
workDetailsVo.setWorkSite(workSite.toString());
workDetailsVo.setContent(content.toString());
workDetailsVo.setWorkGx(workGx.toString());
}
}catch (Exception e){
log.error(e.toString(),e);
}
return workDetailsVo;
}
/**
* 获取固有 风险清册
* @param pageNum
@ -820,24 +705,45 @@ public class InterTwoService {
}
}
/**
* 单项工程工法
* @param pageNum
*/
@Async
public void getProGf(int pageNum) {
public void getProHt(int pageNum) {
try {
JSONObject obj= DataUtils.getJsonObject2(pageNum);
HttpResponse httpResponse = PostUtils.sendData(obj.toString(), GlobalConfig.JJ_GF);
HttpResponse httpResponse = PostUtils.sendData(obj.toString(), GlobalConfig.JJ_HT);
Map<String, Object> map = DataUtils.getArray(httpResponse);
JSONArray array = (JSONArray) map.get("array");
if (array != null) {
List<JjGf> list = JSONArray.parseArray(array.toJSONString(), JjGf.class);
service.insertGfData(list);
Object objata=map.get("array");
if (objata != null) {
JSONArray array = (JSONArray) map.get("array");
List<JjContract> list = JSONArray.parseArray(array.toJSONString(), JjContract.class);
service.insertJjContractData(list);
pageNum++;
if (pageNum <= (Integer) map.get("TOTAL_PAGE")) {
if (FY_BOOLEAN){
getProGf(pageNum);
getProHt(pageNum);
}
}
}
} catch (Exception e) {
XxlJobHelper.handleFail(e.toString());
}
}
public void getProProcess(int pageNum) {
try {
JSONObject obj= DataUtils.getJsonObject2(pageNum);
HttpResponse httpResponse = PostUtils.sendData(obj.toString(), GlobalConfig.JJ_GCJD);
Map<String, Object> map = DataUtils.getArray(httpResponse);
Object objata=map.get("array");
if (objata != null) {
JSONArray array = (JSONArray) map.get("array");
List<JjProProcess> list = JSONArray.parseArray(array.toJSONString(), JjProProcess.class);
service.insertJjProProcessData(list);
pageNum++;
if (pageNum <= (Integer) map.get("TOTAL_PAGE")) {
if (FY_BOOLEAN){
getProProcess(pageNum);
}
}
}
@ -845,11 +751,5 @@ public class InterTwoService {
XxlJobHelper.handleFail(e.toString());
}
}
}

View File

@ -0,0 +1,36 @@
package com.xxl.job.executor.mvc.controller;
import org.springframework.stereotype.Component;
/**
* 数据中台 处理中心
* @author 黑子
*/
@Component
public class TestDa {
public static String tables="jj_ball@jj_bid_info@jj_bid_project@jj_bidding_project@jj_class_meeting_people@jj_class_meetting@jj_class_metting_info@jj_code@jj_data_code@jj_day_plan@jj_dept_gc_project@jj_gt@jj_info@jj_on_duty@jj_person@jj_prj_enginnering_experience@jj_project@jj_risk@jj_risk_precaution@jj_single_info@jj_single_project@jj_team@jj_team_info@jj_team_people@jj_ticket@jj_ticket_info@jj_ticket_people@jj_unit@jj_user@jj_weeks_plan@t_device";
public void getData() {
}
}

View File

@ -216,7 +216,6 @@ public class DataCenterXxlJob {
*/
@XxlJob("getUnitInfo")
public void getUnitInfo() {
interService.getUnitInfo(1);
twtoService.getUnitInfo(1);
}
@ -231,7 +230,6 @@ public class DataCenterXxlJob {
*/
@XxlJob("getGtInfo")
public void getGtInfo() {
interService.getGtInfo(1);
twtoService.getGtInfo(1);
}
@ -386,7 +384,6 @@ public class DataCenterXxlJob {
*/
@XxlJob("getBidProNew")
public void getBidProNew(){
interService.getBidProNew(1);
twtoService.getBidProNew(1);
}
@ -422,4 +419,24 @@ public class DataCenterXxlJob {
public void getBallByClass(){
interService.getBallByClass();
}
/**
* 工程数据 合同
*/
@XxlJob("getProHt")
public void getProHt(){
interService.getProHt(1);
twtoService.getProHt(1);
}
/**
* 工程数据 合同
*/
@XxlJob("getProProcess")
public void getProProcess(){
interService.getProProcess(1);
twtoService.getProProcess(1);
}
}

View File

@ -0,0 +1,36 @@
package com.xxl.job.executor.service.jobhandler;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
* 数据中台 处理中心
* @author 黑子
*/
@Configuration
@EnableScheduling
public class LoaclHostTest {
public static String tables="jj_ball@jj_bid_info@jj_bid_project@jj_bidding_project@jj_class_meeting_people@jj_class_meetting@jj_class_metting_info@jj_code@jj_data_code@jj_day_plan@jj_dept_gc_project@jj_gt@jj_info@jj_on_duty@jj_person@jj_prj_enginnering_experience@jj_project@jj_risk@jj_risk_precaution@jj_single_info@jj_single_project@jj_team@jj_team_info@jj_team_people@jj_ticket@jj_ticket_info@jj_ticket_people@jj_unit@jj_user@jj_weeks_plan@t_device";
public void getData() {
}
}

View File

@ -4,7 +4,8 @@ server.port=18084
#spring.main.web-environment=false
# log config
logging.config=classpath:logback.xml
xxl.job.admin.addresses=http://20.51.8.9:18083/xxl-job-admin
#xxl.job.admin.addresses=http://20.51.8.10:18083/xxl-job-admin
xxl.job.admin.addresses=http://127.0.0.1:18083/xxl-job-admin
### xxl-job, access token
xxl.job.accessToken=default_token
### xxl-job executor appname
@ -22,12 +23,12 @@ xxl.job.executor.logretentiondays=30
mybatis.mapper-locations=classpath:/mapper/*Mapper.xml
### xxl-job, datasource
spring.datasource.url=jdbc:mysql://20.51.8.11:13306/gwjjspaq?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8
spring.datasource.username=admin_db
spring.datasource.password=AHdlypt@2023
#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/gwjjspaq?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
#spring.datasource.username=root
#spring.datasource.password=bonus@admin123
#spring.datasource.url=jdbc:mysql://20.51.8.11:13306/gwjjspaq?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8
#spring.datasource.username=admin_db
#spring.datasource.password=AHdlypt@2023
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/gwjjspaq?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=mroot
spring.datasource.password=bonus@admin123
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
### datasource-pool
spring.datasource.type=com.zaxxer.hikari.HikariDataSource

View File

@ -671,6 +671,39 @@
#{updateTime},#{updaterId},#{deleteFlag}
)
</insert>
<insert id="insertJjContractData">
REPLACE INTO jj_contract (
id, province_code, build_unit_code, integration_flag, contract_number,
contract_name, bid_time, contract_amount, company_name, sign_time, bidpkg_code,
bidpkg_name, bidding_plan_integer, tendering_batch_name, contract_type, status, delete_flag,
creater_id, create_time, updater_id, update_time, company_code, prj_code,
single_project_code, bidding_section_code ) values
<foreach collection="list" item="item" separator=",">(
#{item.id}, #{item.provinceCode}, #{item.buildUnitCode}, #{item.integrationFlag}, #{item.contractNumber},
#{item.contractName}, #{item.bidTime}, #{item.contractAmount}, #{item.companyName}, #{item.signTime}, #{item.bidpkgCode},
#{item.bidpkgName}, #{item.biddingPlanInteger}, #{item.tenderingBatchName}, #{item.contractType}, #{item.status}, #{item.deleteFlag},
#{item.createrId}, #{item.createTime}, #{item.updaterId}, #{item.updateTime}, #{item.companyCode}, #{item.prjCode},
#{item.singleProjectCode}, #{item.biddingSectionCode} )
</foreach>
</insert>
<insert id="insertJjProProcessData">
REPLACE INTO jj_pro_process (
id, specialty_id, single_project_code, bidding_section_code, procedure_name,
constr_node_type, serial_number, serial_query, prj_code_unit_prj, prj_code_subsecion_prj, prj_code_subentry_prj,
prj_code_insp_lot, prj_code_sub_unit_prj, prj_code_sub_subentry_prj, accept_id, parent_id, hierarchical,
file_id, weight, automatic_progress, plan_progress, actual_progress, rectify_progress,
adjust_flag, processy_status, delete_flag, creater_id, create_time, updater_id,
update_time ) values
<foreach collection="list" item="item" separator=",">(
#{item.id}, #{item.specialtyId}, #{item.singleProjectCode}, #{item.biddingSectionCode}, #{item.procedureName},
#{item.constrNodeType}, #{item.serialNumber}, #{item.serialQuery}, #{item.prjCodeUnitPrj}, #{item.prjCodeSubsecionPrj}, #{item.prjCodeSubentryPrj},
#{item.prjCodeInspLot}, #{item.prjCodeSubUnitPrj}, #{item.prjCodeSubSubentryPrj}, #{item.acceptId}, #{item.parentId}, #{item.hierarchical},
#{item.fileId}, #{item.weight}, #{item.automaticProgress}, #{item.planProgress}, #{item.actualProgress}, #{item.rectifyProgress},
#{item.adjustFlag}, #{item.processyStatus}, #{item.deleteFlag}, #{item.createrId}, #{item.createTime}, #{item.updaterId},
#{item.updateTime} )
</foreach>
</insert>
<select id="getMainRisk" resultType="java.lang.String">