|
@@ -47,6 +47,7 @@ import org.springblade.core.tool.api.R;
|
|
|
import org.springblade.core.tool.utils.*;
|
|
|
import org.springblade.manager.bean.TableInfo;
|
|
|
import org.springblade.manager.dto.ServicePlanDTO;
|
|
|
+import org.springblade.manager.dto.ServiceUserDto;
|
|
|
import org.springblade.manager.entity.*;
|
|
|
import org.springblade.manager.utils.FileUtils;
|
|
|
import org.springblade.manager.vo.ServicePlanVO;
|
|
@@ -70,6 +71,7 @@ import org.springframework.transaction.support.DefaultTransactionDefinition;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.io.*;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
+import java.time.LocalDate;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -91,17 +93,25 @@ public class ServicePlanServiceImpl extends BaseServiceImpl<ServicePlanMapper, S
|
|
|
|
|
|
@Override
|
|
|
public IPage<ServicePlanVO> selectServicePlanPage(IPage<ServicePlanVO> page, ServicePlanDTO servicePlan) {
|
|
|
- List<ServicePlanVO> vos = baseMapper.selectServicePlanPage(page, servicePlan);
|
|
|
- for (ServicePlanVO vo : vos) {
|
|
|
- vo.setStatusValue(vo.getStatus()==1?"1计划中":vo.getStatus()==2?"协同中-甲方":vo.getStatus()==3?"协同中-系统":"已计划");
|
|
|
+ servicePlan.setUserId(SecureUtil.getUserId()+"");
|
|
|
+ List<ServicePlan> vos = baseMapper.selectServicePlanPage(page, servicePlan);
|
|
|
+ List<ServicePlanVO>voList = new ArrayList<>();
|
|
|
+ for (ServicePlan sp : vos) {
|
|
|
+ ServicePlanVO vo = new ServicePlanVO();
|
|
|
+ BeanUtil.copyProperties(sp, vo);
|
|
|
+ vo.setStatusValue(vo.getStatus()==1?"计划中":vo.getStatus()==2?"协同中-甲方":vo.getStatus()==3?"协同中-系统":"已计划");
|
|
|
vo.setIsEdit(checkIsEdit(vo));
|
|
|
vo.setStartTime(vo.getPlanStartTime().format(DateTimeFormatter.ofPattern("yyyy年M月d日")));
|
|
|
vo.setEndTime(vo.getPlanEndTime().format(DateTimeFormatter.ofPattern("yyyy年M月d日")));
|
|
|
+ vo.setPlanTime(vo.getStartTime()+"至"+vo.getEndTime());
|
|
|
vo.setSendUserName(slectUserName(vo.getSendUser()));
|
|
|
+ voList.add( vo);
|
|
|
}
|
|
|
- return page.setRecords(vos);
|
|
|
+ return page.setRecords(voList);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
private String slectUserName(String sendUser) {
|
|
|
if(StringUtils.isNotEmpty(sendUser)){
|
|
|
String sql="select real_name from blade_user where id in("+sendUser+")";
|
|
@@ -131,13 +141,7 @@ public class ServicePlanServiceImpl extends BaseServiceImpl<ServicePlanMapper, S
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public String getServiceHtml(Long projectId, Long contractId,Integer type) {
|
|
|
- Long pkeyId = 0L;
|
|
|
- if(type==1){
|
|
|
- pkeyId=1937773223861026820L;
|
|
|
- }else {
|
|
|
- pkeyId=1937773223861026822L;
|
|
|
- }
|
|
|
+ public String getServiceHtml(Long projectId, Long contractId,Long pkeyId) {
|
|
|
String sql="select * from m_wbs_tree_contract where p_key_id="+pkeyId;
|
|
|
WbsTreeContract wbsTreeContract = jdbcTemplate.queryForObject( sql, new BeanPropertyRowMapper<>(WbsTreeContract.class));
|
|
|
if (wbsTreeContract == null) {
|
|
@@ -155,31 +159,10 @@ public class ServicePlanServiceImpl extends BaseServiceImpl<ServicePlanMapper, S
|
|
|
|
|
|
// 远程搜索配置
|
|
|
Document doc = Jsoup.parse(htmlString);
|
|
|
- int maxCol = doc.select("Col").size();
|
|
|
Element table = doc.select("table").first();
|
|
|
- Elements hc = doc.select("hc-form-select-search");
|
|
|
- if (hc.size() >= 1) {
|
|
|
- for (int i = 0; i < hc.size(); i++) {
|
|
|
- Element datax = hc.get(i);
|
|
|
- datax.removeAttr("pkeyId");
|
|
|
- datax.removeAttr("contractId");
|
|
|
- datax.attr("pkeyId", pkeyId + "");
|
|
|
- datax.attr("contractId",contractId+"");
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 远程搜索配置2-设计强度搜索
|
|
|
- Elements hc2 = doc.select("hc-form-select-search2");
|
|
|
- if (hc2.size() >= 1) {
|
|
|
- for (int i = 0; i < hc2.size(); i++) {
|
|
|
- Element datax = hc2.get(i);
|
|
|
- datax.removeAttr("contractId");
|
|
|
- datax.attr("contractId", contractId+"");
|
|
|
- }
|
|
|
- }
|
|
|
// 标题解决
|
|
|
String sql1="select * from m_project_info where id="+projectId;
|
|
|
- ProjectInfo projectInfo = jdbcTemplate.queryForObject(sql,new BeanPropertyRowMapper<>(ProjectInfo.class));
|
|
|
+ ProjectInfo projectInfo = jdbcTemplate.queryForObject(sql1,new BeanPropertyRowMapper<>(ProjectInfo.class));
|
|
|
//判断是否是水利水电表,水利水电项目名14,表名12 。 其他表都是18
|
|
|
Boolean isWater = false;
|
|
|
// 添加标题显示
|
|
@@ -228,35 +211,26 @@ public class ServicePlanServiceImpl extends BaseServiceImpl<ServicePlanMapper, S
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public boolean saveServiceData(List<TableInfo> tableInfoList,Long groupId,Integer type) {
|
|
|
- //试验填报
|
|
|
+ public boolean saveServiceData(List<TableInfo> tableInfoList,Long groupId,Long pkeyId) {
|
|
|
if (ListUtils.isNotEmpty(tableInfoList)) {
|
|
|
for (TableInfo tableInfo : tableInfoList) {
|
|
|
- Long pkeyId = 0L;
|
|
|
- if(type==1){
|
|
|
- pkeyId=1937773223861026820L;
|
|
|
- }else {
|
|
|
- pkeyId=1937773223861026822L;
|
|
|
- }
|
|
|
String sql="select * from m_wbs_tree_contract where p_key_id="+pkeyId;
|
|
|
WbsTreeContract wbsTreeContract = jdbcTemplate.queryForObject( sql, new BeanPropertyRowMapper<>(WbsTreeContract.class));
|
|
|
if (wbsTreeContract == null || StringUtils.isEmpty(wbsTreeContract.getInitTableName())) {
|
|
|
continue;
|
|
|
}
|
|
|
//删除SQL
|
|
|
- String delSql = "delete from " + wbsTreeContract.getInitTableName() + " where p_key_id='" + tableInfo.getPkeyId() + "' and group_id = '" + groupId + "'";
|
|
|
+ String delSql = "delete from " + wbsTreeContract.getInitTableName() + " where p_key_id='" + pkeyId + "' and group_id = '" + groupId + "'";
|
|
|
|
|
|
- //新增SQL
|
|
|
+ //新增SQ
|
|
|
String sqlInfo = "";
|
|
|
LinkedHashMap<String, String> dataMap2 = tableInfo.getDataMap();
|
|
|
- if(!dataMap2.containsKey("p_key_id")){
|
|
|
- if(tableInfo.getPkeyId()!=null&&!tableInfo.getPkeyId().equals("")){
|
|
|
- dataMap2.put("p_key_id",tableInfo.getPkeyId());
|
|
|
- }
|
|
|
- }
|
|
|
sqlInfo = "INSERT INTO " + wbsTreeContract.getInitTableName() + " ( ";
|
|
|
- String keyStr = "id,group_id,";
|
|
|
- String valStr = SnowFlakeUtil.getId() + "," + groupId + ",";
|
|
|
+ String keyStr = "id,p_key_id,group_id,";
|
|
|
+ String valStr = SnowFlakeUtil.getId() + "," + pkeyId + ","+groupId+",";
|
|
|
+ if(dataMap2.containsKey("p_key_id")){
|
|
|
+ dataMap2.remove("p_key_id");
|
|
|
+ }
|
|
|
for (String keys : dataMap2.keySet()) {
|
|
|
keyStr += keys + ",";
|
|
|
valStr += "'" + dataMap2.get(keys) + "',";
|
|
@@ -283,13 +257,7 @@ public class ServicePlanServiceImpl extends BaseServiceImpl<ServicePlanMapper, S
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void saveServicePlanPdf(int type, long id) throws Exception {
|
|
|
- Long pkeyId = 0L;
|
|
|
- if(type==1){
|
|
|
- pkeyId=1937773223861026820L;
|
|
|
- }else {
|
|
|
- pkeyId=1937773223861026822L;
|
|
|
- }
|
|
|
+ public void saveServicePlanPdf(Long projectId,Long pkeyId, Long id) throws Exception {
|
|
|
String file_path = FileUtils.getSysLocalFileUrl();//ParamCache.getValue(CommonConstant.SYS_LOCAL_URL);
|
|
|
String sys_file_net_url = ParamCache.getValue(CommonConstant.SYS_FILE_NET_URL);
|
|
|
String sql="select * from m_wbs_tree_contract where p_key_id="+pkeyId;
|
|
@@ -315,7 +283,7 @@ public class ServicePlanServiceImpl extends BaseServiceImpl<ServicePlanMapper, S
|
|
|
}
|
|
|
|
|
|
//获取数据信息info
|
|
|
- List<Map<String, Object>> bussDataInfoTrial = this.getBussDataInfoTrial(type,id);
|
|
|
+ List<Map<String, Object>> bussDataInfoTrial = this.getBussDataInfoTrial(pkeyId,id);
|
|
|
Map<String, Object> DataInfo = new HashMap<>();
|
|
|
if (bussDataInfoTrial.size() > 0) {
|
|
|
DataInfo.putAll(bussDataInfoTrial.stream().findAny().orElse(null));
|
|
@@ -326,7 +294,7 @@ public class ServicePlanServiceImpl extends BaseServiceImpl<ServicePlanMapper, S
|
|
|
Sheet sheet = workbook.getSheetAt(0);
|
|
|
sheet.setForceFormulaRecalculation(true);
|
|
|
|
|
|
- String sql2="selece * from m_project_info where id="+wbsTreeContract.getProjectId();
|
|
|
+ String sql2="select * from m_project_info where id="+projectId;
|
|
|
ProjectInfo projectInfo = jdbcTemplate.queryForObject(sql2, new BeanPropertyRowMapper<>(ProjectInfo.class));
|
|
|
int all = sheet.getRow(0).getLastCellNum();
|
|
|
int mergedCellCnt = sheet.getNumMergedRegions();
|
|
@@ -500,23 +468,226 @@ public class ServicePlanServiceImpl extends BaseServiceImpl<ServicePlanMapper, S
|
|
|
FileUtils.setExcelScaleToPdf(excelPath, pdfPath);
|
|
|
BladeFile bladeFile = newIOSSClient.uploadFile(id + ".pdf", pdfPath);
|
|
|
if (bladeFile != null) {
|
|
|
- String sql3="update m_service_plan set pdf_url="+bladeFile.getLink()+" where id="+id;
|
|
|
+ String sql3="update m_service_plan set pdf_url=' "+bladeFile.getLink()+" ' where id="+id;
|
|
|
jdbcTemplate.update(sql3);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
- private List<Map<String, Object>> getBussDataInfoTrial(Integer type, Long id) {
|
|
|
- String file_path = ParamCache.getValue(CommonConstant.SYS_LOCAL_URL);
|
|
|
- String sys_file_net_url = ParamCache.getValue(CommonConstant.SYS_FILE_NET_URL);
|
|
|
+ @Override
|
|
|
+ public List<Map<String, Object>> getServiceBussData(Long id, Long pkeyId) {
|
|
|
List<Map<String, Object>> list = new ArrayList<>();
|
|
|
Map<String, Object> reData = new HashMap<>();
|
|
|
- Long pkeyId = 0L;
|
|
|
- if(type==1){
|
|
|
- pkeyId=1937773223861026820L;
|
|
|
+ String sqll="select * from m_wbs_tree_contract where p_key_id="+pkeyId;
|
|
|
+ WbsTreeContract wbsTreeContract = jdbcTemplate.queryForObject(sqll, new BeanPropertyRowMapper<>(WbsTreeContract.class));
|
|
|
+ if (wbsTreeContract == null) {
|
|
|
+ throw new ServiceException("该数据下无此节点!");
|
|
|
+ }
|
|
|
+ if (wbsTreeContract.getHtmlUrl() == null) {
|
|
|
+ throw new ServiceException("请关联清表!");
|
|
|
+ }
|
|
|
+ //表单是否存储在
|
|
|
+ String tabName = wbsTreeContract.getInitTableName();
|
|
|
+ String isExitSql = "select * from information_schema.TABLES where TABLE_NAME='" + tabName + "'";
|
|
|
+ List<Map<String, Object>> tabList = jdbcTemplate.queryForList(isExitSql);
|
|
|
+ if (tabList.size() <= 0) {
|
|
|
+ throw new ServiceException("请关联清表!");
|
|
|
+ }
|
|
|
+ //实体数据
|
|
|
+ String querySql = "select * from " + wbsTreeContract.getInitTableName() + " where p_key_id=" + pkeyId + " and group_id = " + id;
|
|
|
+ List<Map<String, Object>> dataIn = jdbcTemplate.queryForList(querySql);
|
|
|
+ //匹配关联
|
|
|
+ try {
|
|
|
+ if (dataIn.size() >= 1) {
|
|
|
+ Map<String, Object> mysqlData = dataIn.get(0);
|
|
|
+ for (String key : mysqlData.keySet()) {
|
|
|
+ String tabVal = mysqlData.get(key) + "";
|
|
|
+ // 时间段处理
|
|
|
+ if (StringUtils.isNotEmpty(tabVal) && !tabVal.equals("null")) {
|
|
|
+ if (tabVal.contains("T") && tabVal.contains(".000Z]")) {
|
|
|
+ String[] tabData = tabVal.split("_\\^_");
|
|
|
+
|
|
|
+ if (reData.containsKey("pickerKey")) {
|
|
|
+ String pickerKey = reData.get("pickerKey") + "," + key + "__" + tabData[1];
|
|
|
+ reData.put("pickerKey", pickerKey);
|
|
|
+ } else {
|
|
|
+ reData.put("pickerKey", key + "__" + tabData[1]);
|
|
|
+ }
|
|
|
+
|
|
|
+ String sql = tabData[0];
|
|
|
+ sql = sql.replaceAll("\\[", "['");
|
|
|
+ sql = sql.replaceAll("]", "']");
|
|
|
+ sql = sql.replaceAll("000Z,", "000Z',");
|
|
|
+ sql = sql.replaceAll(", 20", ", '20");
|
|
|
+ // sql = sql.replaceAll("'", "");
|
|
|
+ if (StringUtils.isNotEmpty(tabData[0])) {
|
|
|
+ reData.put(key + "__" + tabData[1], sql);
|
|
|
+ }
|
|
|
+ } else if (tabVal.indexOf("T") >= 0 && tabVal.indexOf(".000Z") >= 0) {//时间
|
|
|
+ // 时间和字符串合作
|
|
|
+ if (tabVal.indexOf("☆") >= 0) {
|
|
|
+ String[] mysql = tabVal.split("☆");
|
|
|
+ for (String data : mysql) {
|
|
|
+ String[] tabData = data.split("_\\^_");
|
|
|
+ if (StringUtils.isNotEmpty(tabData[0])) {
|
|
|
+ reData.put(key + "__" + tabData[1], tabData[0]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ String[] tabData = tabVal.split("_\\^_");
|
|
|
+ if (StringUtils.isNotEmpty(tabData[0])) {
|
|
|
+ reData.put(key + "__" + tabData[1], tabData[0]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (tabVal.indexOf("☆") >= 0) {
|
|
|
+ String[] mysql = tabVal.split("☆");
|
|
|
+ for (String data : mysql) {
|
|
|
+ String[] tabData = data.split("_\\^_");
|
|
|
+ if (StringUtils.isNotEmpty(tabData[0])) {
|
|
|
+ reData.put(key + "__" + tabData[1], tabData[0]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (tabVal.indexOf("_^_") >= 0) {
|
|
|
+ String[] tabData = tabVal.split("_\\^_");
|
|
|
+ if (StringUtils.isNotEmpty(tabData[0])) {
|
|
|
+ if (tabVal.contains("[") && tabVal.contains("年")) {
|
|
|
+ String[] strings = StringUtils.strip(tabData[0], "[]").split(",");
|
|
|
+ reData.put(key + "__" + tabData[1], strings);
|
|
|
+ } else {
|
|
|
+ reData.put(key + "__" + tabData[1], tabData[0]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ reData.put(key, tabVal);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ list.add(reData);
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Map<String,List<ServiceUserDto>> getSendUserAndWriteUser(Long projectId, Long contractId) {
|
|
|
+ HashMap<String, List<ServiceUserDto>> map = new HashMap<>();
|
|
|
+ List<String> sendList=baseMapper.getUserID(projectId, contractId,1);
|
|
|
+ List<String> writeList=baseMapper.getUserID(projectId, contractId,2);
|
|
|
+ List<String> sendResult = sendList.stream()
|
|
|
+ .flatMap(str -> Arrays.stream(str.split(",")))
|
|
|
+ .distinct()
|
|
|
+ .sorted()
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ List<String> writedResult = writeList.stream()
|
|
|
+ .flatMap(str -> Arrays.stream(str.split(",")))
|
|
|
+ .distinct()
|
|
|
+ .sorted()
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ map.put("sendUser", getUserNamesByIds(sendResult));
|
|
|
+ map.put("writeUser", getUserNamesByIds(writedResult));
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Long saveServicePlan(Long pkeyId,Long projectId,Long contractId,JSONObject dataInfo) {
|
|
|
+ ServicePlan plan = new ServicePlan();
|
|
|
+ if(dataInfo.containsKey("key_15__3_4")){
|
|
|
+ Object o = dataInfo.get("key_15__3_4");
|
|
|
+ String startDate = null;
|
|
|
+ String endDate = null;
|
|
|
+ if (o instanceof List<?>) {
|
|
|
+ List<?> list = (List<?>) o;
|
|
|
+ if (list.size() >= 2 && list.get(0) instanceof String && list.get(1) instanceof String) {
|
|
|
+ startDate = formatDate((String) list.get(0));
|
|
|
+ endDate = formatDate((String) list.get(1));
|
|
|
+ }
|
|
|
+ } else if (o != null && o.getClass().isArray()) {
|
|
|
+ Object[] array = (Object[]) o;
|
|
|
+ if (array.length >= 2 && array[0] instanceof String && array[1] instanceof String) {
|
|
|
+ startDate = formatDate((String) array[0]);
|
|
|
+ endDate = formatDate((String) array[1]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (startDate != null) {
|
|
|
+ plan.setPlanStartTime(LocalDate.parse(startDate));
|
|
|
+ }
|
|
|
+ if (endDate != null) {
|
|
|
+ plan.setPlanEndTime(LocalDate.parse(endDate));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(dataInfo.containsKey("group_id")&&dataInfo.get("group_id")!=null&&StringUtils.isNotEmpty(dataInfo.get("group_id").toString())){
|
|
|
+ plan.setId(dataInfo.getLongValue("group_id"));
|
|
|
+ ServicePlan plan1 = this.getById(plan.getId());
|
|
|
+ if(plan1.getWriteUser()!=null){
|
|
|
+ if(!plan1.getWriteUser().contains(SecureUtil.getUserId()+"")){
|
|
|
+ plan.setWriteUser(plan1.getWriteUser()+","+SecureUtil.getUserId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(plan1.getStatus()!=null){
|
|
|
+ plan.setStatus(plan1.getStatus());
|
|
|
+ }
|
|
|
}else {
|
|
|
- pkeyId=1937773223861026822L;
|
|
|
+ plan.setProjectId(projectId);
|
|
|
+ plan.setContractId(contractId);
|
|
|
+ plan.setStatus(1);
|
|
|
+ plan.setWriteUser(SecureUtil.getUserId()+"");
|
|
|
+ if(pkeyId==1937773223861026820L){
|
|
|
+ plan.setFileInType(1);
|
|
|
+ }else {
|
|
|
+ plan.setFileInType(2);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.saveOrUpdate(plan);
|
|
|
+ return plan.getId();
|
|
|
+ }
|
|
|
+ private static String formatDate(String dateStr) {
|
|
|
+ if (dateStr == null || dateStr.trim().isEmpty()) return null;
|
|
|
+ try {
|
|
|
+ // 替换掉“年”、“月”、“日”字符,然后解析为LocalDate
|
|
|
+ return dateStr.replaceAll("年", "-")
|
|
|
+ .replaceAll("月", "-")
|
|
|
+ .replaceAll("日", "")
|
|
|
+ .trim();
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<ServiceUserDto> getUserNamesByIds(List<String> sendResult) {
|
|
|
+ if (sendResult == null || sendResult.isEmpty()) {
|
|
|
+ return Collections.emptyList();
|
|
|
+ }
|
|
|
+
|
|
|
+ // 构建 SQL 查询语句
|
|
|
+ String inSql = sendResult.stream()
|
|
|
+ .map(id -> "?")
|
|
|
+ .collect(Collectors.joining(", "));
|
|
|
+
|
|
|
+ String sql = "SELECT id, real_name FROM blade_user WHERE id IN (" + inSql + ")";
|
|
|
+
|
|
|
+ try {
|
|
|
+ List<Map<String, Object>> rows = jdbcTemplate.queryForList(sql, sendResult.toArray());
|
|
|
+
|
|
|
+ return rows.stream()
|
|
|
+ .map(row -> new ServiceUserDto(
|
|
|
+ row.get("id").toString(),
|
|
|
+ row.get("real_name").toString()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ } catch (DataAccessException e) {
|
|
|
+ // 日志记录异常信息
|
|
|
+ log.error("查询用户信息失败", e);
|
|
|
+ return Collections.emptyList();
|
|
|
}
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<Map<String, Object>> getBussDataInfoTrial(Long pkeyId ,Long id) {
|
|
|
+ String file_path = ParamCache.getValue(CommonConstant.SYS_LOCAL_URL);
|
|
|
+ String sys_file_net_url = ParamCache.getValue(CommonConstant.SYS_FILE_NET_URL);
|
|
|
+ List<Map<String, Object>> list = new ArrayList<>();
|
|
|
+ Map<String, Object> reData = new HashMap<>();
|
|
|
String sqll="select * from m_wbs_tree_contract where p_key_id="+pkeyId;
|
|
|
WbsTreeContract wbsTreeContract = jdbcTemplate.queryForObject(sqll, new BeanPropertyRowMapper<>(WbsTreeContract.class));
|
|
|
if (wbsTreeContract == null) {
|