政务端统计更新数据

master
杜函宇 2 weeks ago
parent 07b6015175
commit 403dedb981

@ -25,7 +25,6 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@ -87,7 +86,7 @@ public class BmsEnterpriseBasicInfoController extends BaseController {
*
*/
@Transactional(rollbackFor = Exception.class)
@PreAuthorize("@ss.hasAnyRoles('admin,other-gov')")
// @PreAuthorize("@ss.hasAnyRoles('admin,other-gov')")
@ApiOperation(value = "导入企业基础信息列表")
@Log(title = "导入企业基础信息列表", businessType = BusinessType.IMPORT)
@PostMapping(value = "/importEnterprise", consumes = "multipart/form-data")
@ -164,18 +163,16 @@ public class BmsEnterpriseBasicInfoController extends BaseController {
for (BmsEnterpriseBasicInfo x : list) {
if (tyshxydmSet.contains(x.getTyshxydm())) {
if(!"2".equals(x.getType())&& !"3".equals(x.getType())){
x.setType(x.getType()+","+"3");
bmsEnterpriseBasicInfoService.updateById(x);
}
x.setType(x.getType() + "," + "7");
bmsEnterpriseBasicInfoService.updateById(x);
}
}
for (BmsEnterpriseBasicInfo y : list) {
proList.removeIf(x->x.getTyshxydm().equals(y.getTyshxydm()));
proList.removeIf(x -> x.getTyshxydm().equals(y.getTyshxydm()));
}
proList.forEach(x->{
x.setType("3");
proList.forEach(x -> {
x.setType("7");
bmsEnterpriseBasicInfoService.save(x);
});
return success();

@ -54,68 +54,24 @@
</select>
<select id="selectAllServicesCount"
resultType="com.ruoyi.jjh.ent.entity.response.JServicesListCountResponse">
# SELECT
# IFNULL( ROUND( SUM( a.revenue ) / 100000, 1 ), '-' ) AS allRevenue,
# IFNULL( ROUND( a.add_value, 1 ), '-' ) AS addValue,
# a.type AS servicesType,
# b.qyCount AS qyCount
# FROM
# j_total_revenue a
# LEFT JOIN ( SELECT a.services_type, count( * ) AS qyCount FROM j_services_list a GROUP BY a.services_type ) AS b ON a.type = b.services_type
# WHERE
# a.years = YEAR (NOW()) - 1
# GROUP BY
# a.type,
# b.qyCount
-- 使用外部查询进行排序
SELECT * FROM (
-- 查询 YEAR(NOW()) - 1 数据
SELECT
IFNULL(ROUND(a.revenue / 100000, 1), '-') AS allRevenue,
IFNULL(ROUND(a.add_value, 1), '-') AS addValue,
IFNULL( ROUND( a.revenue / 100000, 1 ), '-' ) AS allRevenue,
IFNULL( ROUND( a.add_value, 1 ), '-' ) AS addValue,
a.type AS servicesType,
CASE
WHEN a.type = 3 THEN
(SELECT COUNT(*) FROM bms_enterprise_basic_info WHERE type = 1)
ELSE b.qyCount
END AS qyCount
FROM
j_total_revenue a
LEFT JOIN (
SELECT a.services_type, COUNT(*) AS qyCount
FROM j_services_list a
where years = YEAR(now()) -1
GROUP BY a.services_type
) AS b ON a.type = b.services_type
WHERE
a.years = YEAR(NOW()) - 1
-- 使用 UNION ALL 查询 YEAR(NOW()) - 2 数据,仅当 YEAR(NOW()) - 1 数据为空时执行
UNION ALL
SELECT
IFNULL(ROUND(a.revenue / 100000, 1), '-') AS allRevenue,
IFNULL(ROUND(a.add_value, 1), '-') AS addValue,
a.type AS servicesType,
CASE
WHEN a.type = 3 THEN
(SELECT COUNT(*) FROM bms_enterprise_basic_info WHERE type = 1)
ELSE b.qyCount
( SELECT COUNT(*) FROM bms_enterprise_basic_info WHERE type LIKE '%1%' )
WHEN a.type = 1 THEN
( SELECT COUNT(*) FROM bms_enterprise_basic_info WHERE type LIKE '%5%' )
WHEN a.type = 2 THEN
( SELECT COUNT(*) FROM bms_enterprise_basic_info WHERE type LIKE '%7%' )
WHEN a.type = 4 THEN
( SELECT COUNT(*) FROM bms_enterprise_basic_info WHERE type LIKE '%6%' ) ELSE 0
END AS qyCount
FROM
j_total_revenue a
LEFT JOIN (
SELECT a.services_type, COUNT(*) AS qyCount
FROM j_services_list a
GROUP BY a.services_type
) AS b ON a.type = b.services_type
WHERE
a.years = YEAR(NOW()) - 2
AND NOT EXISTS (
SELECT 1
FROM j_total_revenue a1
WHERE a1.years = YEAR(NOW()) - 1
)
j_total_revenue a WHERE a.years = YEAR(NOW()) - 1
) AS result
ORDER BY FIELD(result.servicesType, 3, 1, 2, 4);
</select>

Loading…
Cancel
Save