Commit ec7ba834 authored by “yiyousong”'s avatar “yiyousong”
parents 4f46fe7d 93867451
......@@ -88,6 +88,8 @@ public class AppDatasetController extends BaseCRUDJsonBodyMappingController<AppD
appDatasetQuery.setAppId(query.getAppId());
appDatasetQuery.setOrderCols(query.getOrderCols());
PageInfo pageInfo = this.buildPageInfo(query);
Result<AppInfoFieldEntity> customResult = this.service.findCustomList(appDatasetQuery, pageInfo, context);
//根据查询条件的数量去除数量不足的结果
......
......@@ -41,6 +41,9 @@ public interface DeptService extends ICRUDCacheService<DeptEntity, Long> {
Rest<String> syncDeptBySiteId(SiteEntity siteEntity, Context context);
Rest<List<DeptEntity>> getDeptByWeb(String areaCode, Context context);
Rest<Map<String, List<DeptVo>>> getBusinessByDept(DeptQuery deptQuery, Context context);
......
......@@ -88,7 +88,7 @@ public class DeptServiceImpl extends AbstractCRUDCacheServiceImpl<DeptDao, DeptE
protected void updateBefore(DeptEntity entity, Context context) throws AppException {
super.updateBefore(entity, context);
DeptEntity beforeEntity = this.get(entity.getId(), context);
if(!beforeEntity.getDeptNumber().equals(entity.getDeptNumber())){
if (!beforeEntity.getDeptNumber().equals(entity.getDeptNumber())) {
DeptEntity extCache = this.getExtCache(entity.getDeptNumber());
if (!ObjectUtils.isEmpty(extCache)) {
throw new AppException("部门编码重复!deptCode:" + extCache.getDeptNumber());
......@@ -156,6 +156,39 @@ public class DeptServiceImpl extends AbstractCRUDCacheServiceImpl<DeptDao, DeptE
return Rest.ok("当前站点同步添加部门成功!");
}
/**
* @param areaCode
* @param context
* @return
*/
@Override
public Rest<List<DeptEntity>> getDeptByWeb(String areaCode, Context context) {
String url = GlobalSysInfo.getParamValue(Constant.GOV_DEPT_URL, "http://www.sczwfw.gov.cn/jiq/front/channel/deptSwitch");
Map<String, String> params = new HashMap<>();
params.put("areaCode", areaCode);
Rest<Map<String, String>> rest = MatterHtmlParseUtil.syncDeptBySiteId(params, url);
ArrayList<DeptEntity> deptEntities = new ArrayList<>();
if (rest.getCode() == YesNoEnum.YES.getValue() && rest.getData().keySet().size() > 0) {
int sortN = 1;
Map<String, String> data = rest.getData();
for (Map.Entry<String, String> item : data.entrySet()) {
String deptCode = item.getKey();
String deptName = item.getValue();
DeptEntity deptEntity = new DeptEntity();
deptEntity.initAttrValue();
deptEntity.setDeptNumber(deptCode);
deptEntity.setName(deptName);
deptEntity.setSort(sortN);
deptEntity.setSource(SourceEnum.政务网.getValue());
deptEntities.add(deptEntity);
sortN++;
}
} else {
return Rest.fail(deptEntities);
}
return Rest.ok(deptEntities);
}
@Override
public Rest<Map<String, List<DeptVo>>> getBusinessByDept(DeptQuery deptQuery, Context context) {
......
......@@ -2,9 +2,12 @@ package com.mortals.xhx.module.matter.service;
import com.mortals.framework.common.Rest;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.matter.model.MatterEntity;
import com.mortals.xhx.module.matter.model.MatterExtEntity;
import com.mortals.xhx.module.site.model.SiteEntity;
import java.util.List;
/**
* MatterExtService
*
......@@ -31,4 +34,8 @@ public interface MatterExtService extends ICRUDService<MatterExtEntity,Long>{
*/
Rest<String> syncDelMatterBySiteId(SiteEntity siteEntity, Context context);
Rest<List<MatterEntity>> getWebMatterListByAreaCode(String Code, Context context);
}
\ No newline at end of file
......@@ -273,5 +273,28 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
return Rest.ok("同步删除成功!");
}
/**
* @param Code
* @param context
* @return
*/
@Override
public Rest<List<MatterEntity>> getWebMatterListByAreaCode(String areaCode, Context context) {
List<DeptEntity> deptEntities = deptService.getDeptByWeb(areaCode, context).getData();
List<MatterEntity> govMatterList = deptEntities.parallelStream().flatMap(deptEntity -> {
HashMap<String, String> params = new HashMap<>();
params.put("areaCode",areaCode);
params.put("dxType", "6");
params.put("deptCode", deptEntity.getDeptNumber());
params.put("searchtext", "");
params.put("taskType", "");
List<MatterEntity> deptMatterList = this.getMatters(params, context);
return deptMatterList.stream();
}).collect(Collectors.toList());
return Rest.ok(govMatterList);
}
}
\ No newline at end of file
......@@ -21,6 +21,9 @@ import com.mortals.xhx.common.code.SourceEnum;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.utils.BeanUtil;
import com.mortals.xhx.common.utils.MatterDetailHtmlParseUtil;
import com.mortals.xhx.module.base.model.BaseAreaEntity;
import com.mortals.xhx.module.base.model.BaseAreaQuery;
import com.mortals.xhx.module.base.service.BaseAreaService;
import com.mortals.xhx.module.dept.model.DeptEntity;
import com.mortals.xhx.module.dept.service.DeptService;
import com.mortals.xhx.module.matter.dao.MatterDao;
......@@ -105,6 +108,8 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
private SiteThemeService siteThemeService;
@Autowired
private WindowMatterService windowMatterService;
@Autowired
private BaseAreaService baseAreaService;
@Override
......@@ -1546,7 +1551,16 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
@Override
public Rest<Void> genMatterMarkdown(MatterQuery matterQuery, Context context) {
List<String> strList = new ArrayList<>();
List<MatterEntity> mattersList = this.find(matterQuery);
BaseAreaQuery baseAreaQuery = new BaseAreaQuery();
baseAreaQuery.setAreaCode(matterQuery.getAreaCode());
BaseAreaEntity baseAreaEntity = baseAreaService.selectOne(baseAreaQuery);
List<MatterEntity> mattersList = matterExtService.getWebMatterListByAreaCode(matterQuery.getAreaCode(), context).getData();
//List<MatterEntity> mattersList = this.find(matterQuery);
int total = 0;
int page = 1;
for (MatterEntity matterEntity : mattersList) {
if (ObjectUtils.isEmpty(matterEntity.getUrl())) {
continue;
......@@ -1554,9 +1568,7 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
StringBuilder sb = new StringBuilder();
int reCount = 0;
while (reCount < MAX_RETRY_COUNT) {
try {
Document dom = Jsoup.connect(matterEntity.getUrl())
.ignoreContentType(true)
.ignoreHttpErrors(true)
......@@ -1568,24 +1580,14 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
sb.append("## 基本信息\n");
Map<String, String> baseInfoMap = MatterDetailHtmlParseUtil.getbaseInfoMapByHtml(dom);
sb.append(String.format("| **名称** \t| %s \t|", "", ""));
sb.append("\n");
sb.append("|-------:\t|---\t|");
sb.append("\n");
/**
* | **服务对象** | 自然人 |
* |---: |--- |
* | **法定时限办结说明** | 自受理之日起,在法定期限内办结 |
* | **是否收费** | 否 |
*/
boolean bool = false;
for (Map.Entry<String, String> entry : baseInfoMap.entrySet()) {
sb.append(String.format("| **%s** \t| %s \t|", entry.getKey(), entry.getValue()));
sb.append("\n");
if (!bool) {
sb.append("|---:\t|---\t|");
sb.append("\n");
bool = false;
}
/* sb.append(entry.getKey()).append(" ").append(entry.getValue());
sb.append("\n");*/
}
sb.append("\n");
//更新材料属性
......@@ -1597,7 +1599,6 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
*/
List<Map<String, Object>> sqclList = MatterDetailHtmlParseUtil.getsqclInfoMapByHtml(dom);
if (!ObjectUtils.isEmpty(sqclList)) {
Map<String, Object> map = sqclList.get(0);
Map<String, String> baseinfoHeadMap = (HashMap<String, String>) map.get("baseinfo");
......@@ -1605,15 +1606,18 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
sb.append("| \t");
for (Map.Entry<String, String> entry : baseinfoHeadMap.entrySet()) {
String key = entry.getKey();
if ("要求提供材料的依据".equals(entry.getKey())) continue;
sb.append(String.format("| **%s** \t", key));
sb.append("|\n");
}
sb.append("|\n");
sb.append("|:---:\t");
for (Map.Entry<String, String> entry : baseinfoHeadMap.entrySet()) {
if ("要求提供材料的依据".equals(entry.getKey())) continue;
sb.append("|:---:\t");
sb.append("|\n");
}
sb.append("|\n");
int count = 1;
for (Map<String, Object> sqclMap : sqclList) {
sb.append(String.format("| %d \t", count));
......@@ -1621,15 +1625,16 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
count++;
Map<String, String> baseinfoMap = (HashMap<String, String>) sqclMap.get("baseinfo");
for (Map.Entry<String, String> entry : baseinfoMap.entrySet()) {
if ("要求提供材料的依据".equals(entry.getKey())) continue;
sb.append(String.format("| %s \t", entry.getValue()));
/* sb.append(entry.getKey()).append(" ").append(entry.getValue());
sb.append("\n");
*/
sb.append("|\n");
}
sb.append("|\n");
}
}
......@@ -1645,7 +1650,6 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
List<Map<String, Object>> bllcMapList = MatterDetailHtmlParseUtil.getbllcMapByHtml(dom);
for (Map<String, Object> bllcMap : bllcMapList) {
for (Map.Entry<String, Object> entry : bllcMap.entrySet()) {
if ("sort".equals(entry.getKey())) {
sb.append("流程").append(":").append(entry.getValue());
} else {
......@@ -1664,21 +1668,19 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
sb.append(sfbzStr);
//设定依据
/* sb.append(matterEntity.getMatterName()).append("-设定依据,");
sb.append("\n");
sb.append("## 设定依据\n");
List<Map<String, Object>> sdyjMapList = MatterDetailHtmlParseUtil.getSdyjMapByHtml(dom);
StringBuilder sb2 = new StringBuilder();
for (Map<String, Object> bllcMap : sdyjMapList) {
for (Map.Entry<String, Object> entry : bllcMap.entrySet()) {
if(sb2.length()>360){
sb.append(sb2);
sb.append("\n");
sb2 = new StringBuilder();
sb.append(matterEntity.getMatterName()).append("-设定依据,");
}
if ("sort".equals(entry.getKey())) continue;
sb2.append(entry.getKey()).append(" ").append(entry.getValue());
sb2.append("\n");
}
sb2.append("\n");
}
sb.append(sb2);*/
sb.append(sb2);
//中介服务
sb.append("\n");
sb.append("## 中介服务\n");
......@@ -1700,7 +1702,7 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
for (Map<String, Object> bllcMap : cjwtMapList) {
for (Map.Entry<String, Object> entry : bllcMap.entrySet()) {
sb.append(entry.getKey()).append(" ").append(entry.getValue());
sb.append("\n");
sb.append("\n\n");
}
}
strList.add(sb.toString());
......@@ -1715,9 +1717,31 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
}
}
}
total++;
if (total > 200) {
total = 0;
String fileName = "gov" + page + ".md";
if (!ObjectUtils.isEmpty(baseAreaEntity)) {
fileName = baseAreaEntity.getName() + page + ".md";
}
String path = "E:\\md\\" + fileName;
FileUtil.writeUtf8Lines(strList, path);
page++;
strList = new ArrayList<>();
}
// break;
}
String path = "E:\\gov.md";
FileUtil.writeUtf8Lines(strList, path);
/* String fileName = "gov-1.md";
if (!ObjectUtils.isEmpty(baseAreaEntity)) {
fileName = baseAreaEntity.getName() + ".md";
}
String path = "E:\\" + fileName;
FileUtil.writeUtf8Lines(strList, path);*/
return Rest.ok();
}
......
......@@ -19,7 +19,7 @@
</plugin>
<plugin interceptor="com.mortals.framework.thirty.mybatis.LogInterceptor">
<property name="enableExecutorTime" value="false" />
<property name="showSql" value="false" />
<property name="showSql" value="true" />
</plugin>
</plugins>
</configuration>
\ No newline at end of file
......@@ -60,12 +60,11 @@
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
CASE
WHEN fieldType = 'date' THEN STR_TO_DATE(fieldValue, '%Y-%m-%d')
ELSE NULL
END
IF
( `fieldType` = 'top', '0', '1' ),
`fieldValue` DESC,
<trim prefix="," suffixOverrides="," suffix="">
<trim prefix="" suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
......
......@@ -32,17 +32,20 @@ Content-Type: application/json
{
"fieldName": "部门",
"fieldValue": "市公安局"
},{
},
{
"fieldName": "员工姓名",
"fieldValue": "%黄%"
},
{
"fieldValueList": ["员工姓名"]
"fieldValueList": [
"员工姓名"
]
}
],
"page": 1,
"size": 10
}
......
......@@ -37,7 +37,7 @@ Content-Type: application/json
POST {{baseUrl}}/matter/genMatterMarkdown
Content-Type: application/json
{}
{"areaCode": "511600000000"}
###基础事项列表
......
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