解释以下Java代码public String getCompanyCode() { List<Company> companys = companyMapper.queryCompanyCode(); if (companys.size() > 0) { Company company = companys.get(0); if (company != null) { int l = company.getCompanyCode().length(); String STR_FORMAT = ""; for (int i = 0; i < l; i++) { STR_FORMAT = STR_FORMAT+"0"; } Integer i = Integer.parseInt(company.getCompanyCode()) + 1; DecimalFormat df = new DecimalFormat(STR_FORMAT); String companyCode = df.format(i); return companyCode; } } if (companys.size() == 0) { String i = "0000001"; return i; } return null; }
时间: 2024-02-14 10:19:37 浏览: 25
这段Java代码定义了一个方法`getCompanyCode()`,用于获取公司代码。
首先,代码调用`companyMapper.queryCompanyCode()`方法获取所有公司的信息,存储在`List<Company>`对象中。接着判断`companys`中是否存在公司信息,如果存在则获取第一个公司的信息,计算出其`companyCode`的长度,并根据长度生成一个格式化字符串`STR_FORMAT`。然后将`company.getCompanyCode()`转换为整数并加1,再使用`DecimalFormat`将其格式化为长度为`l`的字符串,最后返回这个字符串作为公司代码。
若`companys`中没有公司信息,则直接返回`"0000001"`作为公司代码。
如果`companys`为`null`,则返回`null`。
相关问题
请为以下代码每行代码作注释 import requests import re headers ={ 'User-Agent': 'Mz1lla/5.e (Mindows NT 10.8; win64; x64) Chrome/69.0.3497.100 Safani/537.36'} def baidu(company,page): num = (page - 1) * 18 url = 'https://www.baidu.com/s?tn=news&rtt=4&bsst=1&cl=2&wd'+ company +'&pn='+ str(num) res = requests.get(url, headers =headers).text p_info = '<p class="c-author">(.*?)</p>' info = re.findall(p_info,res, re.S) p_href = '<h3 class="c-title">.*?<a href="(.*?)"' href = re.findall(p_href,res, re.S) p_title = '<h3 class="c-title“>.*?>(.*?)</a>' title = re.findall(p_title,res, re.S) source = [] date = [] for i in range(len(info): title[i] = title[i].strip() title[i] = re.sub('<.*?>,,title[i]) info[i] = re.sub('<.*?>', info[i]) source.append(info[i].split(' ')[0]) date.append(info[i].split( ' ')[1]) source[i] = source[i].strip() date[i] =date[i].strip() print(str(i + 1)+'.'+ title[i]+'('+ date[i] +'-'+ source[i] + ')') print(href[i]) companys = ['华能信托', '阿里巴巴', '万科集团', '百度集团', '腾讯','京东'] for company in companys: for i in range(20): baidu(company,i+1) print(company+'第'+str(i+1)+'页爬取成功')
```python
# 导入requests和re模块
import requests
import re
# 设置请求头
headers ={ 'User-Agent': 'Mz1lla/5.e (Mindows NT 10.8; win64; x64) Chrome/69.0.3497.100 Safani/537.36'}
# 定义一个函数,用于爬取百度新闻搜索结果
def baidu(company,page):
# 根据页码计算出相应的条目数
num = (page - 1) * 18
# 构造请求URL
url = 'https://www.baidu.com/s?tn=news&rtt=4&bsst=1&cl=2&wd'+ company +'&pn='+ str(num)
# 发送GET请求,并获取响应内容
res = requests.get(url, headers =headers).text
# 提取新闻信息
p_info = '<p class="c-author">(.*?)</p>'
info = re.findall(p_info,res, re.S)
# 提取新闻链接
p_href = '<h3 class="c-title">.*?<a href="(.*?)"'
href = re.findall(p_href,res, re.S)
# 提取新闻标题
p_title = '<h3 class="c-title“>.*?>(.*?)</a>'
title = re.findall(p_title,res, re.S)
# 存储新闻来源和发布时间
source = []
date = []
for i in range(len(info)):
title[i] = title[i].strip() # 去除标题中的空格
title[i] = re.sub('<.*?>', '',title[i]) # 去除标题中的HTML标签
info[i] = re.sub('<.*?>', '', info[i]) # 去除信息中的HTML标签
source.append(info[i].split(' ')[0]) # 提取新闻来源
date.append(info[i].split( ' ')[1]) # 提取新闻发布时间
source[i] = source[i].strip() # 去除来源中的空格
date[i] =date[i].strip() # 去除时间中的空格
# 打印新闻标题、发布时间、来源、链接
print(str(i + 1)+'.'+ title[i]+'('+ date[i] +'-'+ source[i] + ')')
print(href[i])
# 定义一个列表,存储要搜索的公司名称
companys = ['华能信托', '阿里巴巴', '万科集团', '百度集团', '腾讯','京东']
# 循环遍历每个公司名称,并爬取前20页的新闻搜索结果
for company in companys:
for i in range(20):
baidu(company,i+1)
print(company+'第'+str(i+1)+'页爬取成功')
```
JDBC Connection [org.postgresql.jdbc.PgConnection@49f1bf43] will not be managed by Spring ==> Preparing: select z.*,y.PDTCLASS_CLASS FROM ( SELECT * FROM (SELECT r.PDT_PLANEX_PDTID,r.PDT_PLANEX_TYPE ,r.SUM_NUM,e.SUM_NUM2,e.COUNT_NUM FROM (SELECT SUM(t.PDT_PLANEX_NUM) as SUM_NUM,t.PDT_PLANEX_PDTID,t.PDT_PLANEX_TYPE FROM c_pdt_plan_ex t WHERE t.PDT_PLANEX_DELETED = 0 and t.DATA_FROM = ? and to_timestamp(?, 'yyyy-MM-dd HH:mm:ss.SSS') >= t.PDT_PLANEX_BEGIN and t.PDT_PLANEX_END >= to_timestamp(?, 'yyyy-MM-dd HH:mm:ss.SSS') GROUP BY t.PDT_PLANEX_PDTID,t.PDT_PLANEX_TYPE )r LEFT JOIN (SELECT SUM(o.WEISHT_NET_WGHT) SUM_NUM2,COUNT(1) COUNT_NUM,o.PDTINF_PDT,o.PDTINF_CLASS,o.PDT_PLANEX_PDTID,o.PDT_PLANEX_TYPE FROM(SELECT * FROM(SELECT * FROM (SELECT q.*, p.* FROM ( SELECT t.PDT_PLANEX_ID, t.PDT_PLANEX_NUM, t.PDT_PLANEX_PDTID, t.PDT_PLANEX_TYPE, t.PDT_PLANEX_BEGIN, t.PDT_PLANEX_END, t.PDT_PLANEX_COID FROM c_pdt_plan_ex t WHERE t.PDT_PLANEX_DELETED = 0 and t.DATA_FROM = ? and to_timestamp(?, 'yyyy-MM-dd HH:mm:ss.SSS') >= t.PDT_PLANEX_BEGIN and t.PDT_PLANEX_END >= to_timestamp(?, 'yyyy-MM-dd HH:mm:ss.SSS') GROUP BY t.PDT_PLANEX_PDTID, t.PDT_PLANEX_COID, t.PDT_PLANEX_TYPE, t.PDT_PLANEX_BEGIN, t.PDT_PLANEX_END, t.PDT_PLANEX_COID ) q LEFT JOIN (SELECT PDTINF_PDT, PDTINF_ID , PDTINF_CLASS FROM c_products_info WHERE PDTINF_DELETED=0 and DATA_FROM = ? )p on q.PDT_PLANEX_PDTID=p.PDTINF_ID)k LEFT JOIN (select g.CPY_CO,g.CPY_ID from c_companys g where CPY_DELETED=0 and DATA_FROM = ? ) c ON k.PDT_PLANEX_COID=c.CPY_ID)k inner JOIN (select j.WEISHT_NET_WGHT,j.WEISHT_PRODUCT,j.WEISHT_CO,j.WEISHT_EMPTY_TM,j.WEISHT_FULL_TM from c_weight_sheets j where WEISHT_DELETED = 0 and DATA_FROM = ? )r ON k.PDTINF_PDT=r.WEISHT_PRODUCT and k.CPY_CO=r.WEISHT_CO AND k.PDT_PLANEX_BEGIN <= r.WEISHT_FULL_TM AND k.PDT_PLANEX_END >= r.WEISHT_FULL_TM ORDER BY k.PDTINF_PDT )o GROUP BY o.PDT_PLANEX_PDTID)e ON e.PDT_PLANEX_PDTID=r.PDT_PLANEX_PDTID AND e.PDT_PLANEX_TYPE=r.PDT_PLANEX_TYPE)w left join (SELECT PDTINF_PDT, PDTINF_ID , PDTINF_CLASS FROM c_products_info WHERE PDTINF_DELETED=0 and DATA_FROM = ? )p on w.PDT_PLANEX_PDTID=p.PDTINF_ID) z left join (select PDTCLASS_CLASS,PDTCLASS_ID from c_pdt_class where PDTCLASS_DELETED=0) y on z.PDTINF_CLASS=y.PDTCLASS_ID ==> Parameters: e9f6ed8e091611ec842700163e092c06(String), 2023-10-08 23:59:59(String), 2020-10-08 23:59:59(String), e9f6ed8e091611ec842700163e092c06(String), 2023-10-08 23:59:59(String), 2020-10-08 23:59:59(String), e9f6ed8e091611ec842700163e092c06(String), e9f6ed8e091611ec842700163e092c06(String), e9f6ed8e091611ec842700163e092c06(String), e9f6ed8e091611ec842700163e092c06(String) Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@57f98196] [2023-06-01 21:16:02] [ERROR] -- Servlet.service() for servlet [dispatcherServlet] in context with path [/szIntranetweb] threw exception [Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: org.postgresql.util.PSQLException: 错误: 字段 "t.pdt_planex_id" 必须出现在 GROUP BY 子句中或者在聚合函数中使用
这段代码看起来像是在执行一个 SQL 查询语句,但是出现了一个错误:字段 "t.pdt_planex_id" 必须出现在 GROUP BY 子句中或者在聚合函数中使用。这个错误通常是由于 SQL 查询语句中的 GROUP BY 子句不完整导致的。可能需要检查一下查询语句中的 GROUP BY 子句是否正确,并且检查一下对应的数据库表结构是否符合要求。