Merge remote-tracking branch 'origin/ah-simple-test' into ah-simple-test

This commit is contained in:
mashuai 2025-12-11 20:00:59 +08:00
commit 99e4962d1f
7 changed files with 149 additions and 15 deletions

View File

@ -17,6 +17,7 @@ public class DeptEquipmentConfig extends BaseEntity {
private String equipmentId;
private List<ConfigEntity> configs;
private String configStatus;
private String jijuType;
@Excel(name = "配置值")
private String configValue;

View File

@ -1,16 +1,21 @@
package com.bonus.material.project.controller;
import com.bonus.common.core.utils.poi.ExcelUtil;
import com.bonus.common.core.web.controller.BaseController;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.log.annotation.SysLog;
import com.bonus.common.log.enums.OperaType;
import com.bonus.material.project.domain.Project;
import com.bonus.material.project.domain.ProjectType;
import com.bonus.material.project.service.ProjectService;
import com.bonus.material.supplier.domain.MaSupplier;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
@ -108,5 +113,22 @@ public class ProjectController extends BaseController {
return AjaxResult.success(projectTypes);
}
/**
* 导出
* @param response
* @param project
*/
@PostMapping("/export")
@SysLog(title = "项目管理", businessType = OperaType.EXPORT, logType = 0, module = "系统管理->项目管理", details = "导出项目信息")
public void export(HttpServletResponse response, Project project) {
try {
List<Project> list = projectService.selectProjectList(project);
ExcelUtil<Project> util = new ExcelUtil<Project>(Project.class);
util.exportExcel(response,list,"项目数据");
} catch (Exception e) {
logger.error(e.toString(), e);
}
}
}

View File

@ -1,5 +1,6 @@
package com.bonus.material.project.domain;
import com.bonus.common.core.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.models.auth.In;
import lombok.Data;
@ -14,22 +15,32 @@ import java.util.Date;
@Data
public class Project {
//用于excel导出的序号一列,不需要业务逻辑处理
@Excel(name = "序号", isSequence = true, type = Excel.Type.EXPORT , sort = 0)
int sequence;
//工程id 主键
private Integer id;
//工程编号
@Excel(name = "项目编号", width = 25, sort = 2)
private String pro_code;
//工程名称
@Excel(name = "项目名称", width = 25, sort = 1)
private String pro_name;
//电压等级
@Excel(name = "电压等级", width = 25, sort = 4)
private String voltage;
//规模
@Excel(name = "规模", width = 25, sort = 5)
private String scale;
//工程类型
@Excel(name = "项目类型", width = 25, sort = 3)
private String project_type;
//工程类型名称
@ -39,6 +50,7 @@ public class Project {
private String org_name;
//机械化率
@Excel(name = "机械化率", width = 25, sort = 9)
private String mechanize_rate;
//开工时间
@ -50,12 +62,15 @@ public class Project {
private Date put_time;
//
@Excel(name = "所在省", width = 25, sort = 6)
private String province;
//
@Excel(name = "所在市", width = 25, sort = 7)
private String city;
//
@Excel(name = "所在区/县", width = 25, sort = 8)
private String county;
//备注

View File

@ -76,16 +76,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
FROM
ma_dev_info m2
LEFT JOIN ma_dev_qc m1 ON m1.ma_id = m2.ma_id
LEFT JOIN ma_type m3 ON m2.type_id = m3.type_id
INNER JOIN ma_type m3 ON m2.type_id = m3.type_id
LEFT JOIN sys_user su ON su.user_id = m1.create_by
LEFT JOIN ( SELECT count(*) as num, ma_id, MAX( qc_time ) AS max_qc_time FROM ma_dev_qc GROUP BY ma_id )
latest_qc ON m1.ma_id = latest_qc.ma_id
LEFT JOIN ( SELECT ma_id, min( create_time ) AS create_time FROM ma_dev_qc GROUP BY ma_id ) aa ON m1.ma_id =
aa.ma_id
LEFT JOIN jj_sing_project jsp ON m2.on_project = jsp.pro_code
LEFT JOIN sys_dept sd ON sd.dept_id = m2.on_company
LEFT JOIN (SELECT max( next_check_time) next_check_time,ma_id from ma_dev_qc GROUP BY ma_id ) mdq on
m2.ma_id=mdq.ma_id
LEFT JOIN ma_supplier ms ON ms.supplier_id = m2.supplier_id
LEFT JOIN sys_cnarea sc ON sc.area_code = m2.province_id
<where>

View File

@ -64,6 +64,7 @@
config_value,
config_rate,
config_description,
jiju_type,
remark
)
VALUES
@ -75,6 +76,7 @@
#{item.basicConfig},
#{item.configurationRate},
#{item.configurationDescription},
#{jijuType},
#{remark}
)
</foreach>

View File

@ -99,16 +99,44 @@
mt.type_id AS equipmentId,
mt2.type_name AS equipmentName,
mt.type_name AS equipmenttype,
mt.jiju_type as jijuType,
CASE
WHEN MAX(mdc.config_value) IS NOT NULL AND MAX(mdc.config_value) != '' THEN '已配置'
ELSE '未配置'
WHEN MAX( mdc.config_value ) IS NOT NULL
AND MAX( mdc.config_value ) != '' THEN
'已配置' ELSE '未配置'
END AS configStatus
FROM ma_type mt
FROM
ma_type mt
LEFT JOIN ma_type mt2 ON mt.parent_id = mt2.type_id
LEFT JOIN ma_dept_config mdc
ON mdc.type_id = mt.type_id
LEFT JOIN ma_dept_config mdc ON mdc.type_id = mt.type_id
AND mdc.dept_id = #{deptId}
WHERE mt.level = 3
WHERE
mt.LEVEL =5
GROUP BY
mt.type_id,
mt2.type_name,
mt.type_name
UNION
SELECT
mt.type_id AS equipmentId,
mt2.type_name AS equipmentName,
mt.type_name AS equipmenttype,
mt.jiju_type as jijuType,
CASE
WHEN MAX( mdc.config_value ) IS NOT NULL
AND MAX( mdc.config_value ) != '' THEN
'已配置' ELSE '未配置'
END AS configStatus
FROM
tool_type mt
LEFT JOIN tool_type mt2 ON mt.parent_id = mt2.type_id
LEFT JOIN ma_dept_config mdc ON mdc.type_id = mt.type_id
AND mdc.dept_id = #{deptId}
WHERE
mt.LEVEL =4
<if test="equipmentName != null and equipmentName != ''">
AND mt.type_name LIKE CONCAT('%', #{equipmentName}, '%')
</if>
@ -159,6 +187,7 @@
SUM(config_value) AS config_value,
SUM(if(config_rate='/',0,config_rate)) AS config_rate
FROM ma_dept_config
where jiju_type =1
GROUP BY dept_id, type_id, config_type
) grouped
LEFT JOIN sys_dept sd ON sd.dept_id = grouped.dept_id
@ -168,8 +197,8 @@
LEFT JOIN (
SELECT
sd.dept_id AS dept_id,
mt2.type_id AS parent_type_id,
COUNT(md.ma_id) AS order_count
mt.type_id AS parent_type_id,
COUNT(md.num) AS order_count
FROM
ma_order_details md
LEFT JOIN ma_order_info moi ON md.order_id = moi.order_id
@ -177,10 +206,56 @@
LEFT JOIN ma_type mt ON mdi.type_id = mt.type_id
LEFT JOIN ma_type mt2 ON mt.parent_id = mt2.type_id
LEFT JOIN sys_dept sd ON moi.buyer_company = sd.dept_id
GROUP BY sd.dept_id, mt2.type_id
where devType =0
GROUP BY sd.dept_id, mt.type_id
) order_stat
ON order_stat.dept_id = grouped.dept_id
AND order_stat.parent_type_id = grouped.type_id
UNION
SELECT
my.type_name AS deptName,
my.type_id AS typeId,
sd.dept_name AS companyName,
grouped.dept_id AS companyId,
grouped.config_type AS configType,
grouped.config_value AS configValue,
if(grouped.config_rate='/',0,grouped.config_rate) AS configRate,
IFNULL(order_stat.order_count, 0) AS orderCount
FROM
(
SELECT
dept_id,
type_id,
config_type,
SUM(config_value) AS config_value,
SUM(if(config_rate='/',0,config_rate)) AS config_rate
FROM ma_dept_config
where jiju_type =2
GROUP BY dept_id, type_id, config_type
) grouped
LEFT JOIN sys_dept sd ON sd.dept_id = grouped.dept_id
LEFT JOIN tool_type my ON my.type_id = grouped.type_id
-- 设备订单数量子查询
LEFT JOIN (
SELECT
sd.dept_id AS dept_id,
mt.type_id AS parent_type_id,
COUNT(md.num) AS order_count
FROM
ma_order_details md
LEFT JOIN ma_order_info moi ON md.order_id = moi.order_id
LEFT JOIN ma_dev_info mdi ON md.ma_id = mdi.ma_id
LEFT JOIN tool_type mt ON mdi.type_id = mt.type_id
LEFT JOIN tool_type mt2 ON mt.parent_id = mt2.type_id
LEFT JOIN sys_dept sd ON moi.buyer_company = sd.dept_id
where devType =1
GROUP BY sd.dept_id, mt.type_id
) order_stat
ON order_stat.dept_id = grouped.dept_id
AND order_stat.parent_type_id = grouped.type_id;
</select>
<select id="selectDeptConfigTypeSummary" resultType="com.bonus.material.equipment.domain.DeptConfigTypeSummary">

View File

@ -92,8 +92,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
SELECT
md.on_company AS companyId,
sd.dept_name as companyName,
mt2.type_name AS maName,
mt2.type_id as typeId,
mt.type_name AS maName,
mt.type_id as typeId,
COUNT(*) AS maNum
FROM
ma_dev_info md
@ -104,7 +105,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
md.is_active = '1'
GROUP BY
md.on_company,
mt2.type_id
mt.type_id
UNION
SELECT
md.company_id AS companyId,
sd.dept_name as companyName,
mt2.type_name AS maName,
mt2.type_id as typeId,
COUNT(*) AS maNum
FROM
tool_ledger md
LEFT JOIN tool_type mt ON mt.type_id = md.type_id
LEFT JOIN sys_dept sd ON sd.dept_id = md.company_id
LEFT JOIN tool_type mt2 on mt.parent_id = mt2.type_id
WHERE
md.`status` in (0,1,2)
GROUP BY
md.company_id,
mt2.type_id;
</select>
</mapper>