This commit is contained in:
mashuai 2025-12-29 17:41:53 +08:00
parent 73c64cf1ab
commit a6e1d9e2b8
12 changed files with 171 additions and 32 deletions

View File

@ -17,7 +17,9 @@ public enum QrBoxStatusEnum {
QR_BOX_STATUS_WAIT_TRANSFER(2, "待移交"),
QR_BOX_STATUS_WAIT_RECEIVE(3, "待接收"),
QR_BOX_STATUS_ON_RECEIVE(4, "已接收"),
QR_BOX_STATUS_REJECT(5, "移交被驳回");
QR_BOX_STATUS_REJECT(5, "移交被驳回"),
// 已录入
QR_BOX_STATUS_COMPLETE(6, "已录入");

View File

@ -141,8 +141,6 @@ public class ProjUsingRecord {
@ApiModelProperty(value = "总在用数量")
private BigDecimal allUsNum;
private String jijuType;
@ApiModelProperty(value = "竣工状态")
@Excel(name = "竣工状态", readConverterExp = "0=未竣工,1=已竣工")
private String isFinish;
@ -152,4 +150,12 @@ public class ProjUsingRecord {
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date actualEndDate;
@ApiModelProperty("机具类型1施工机具2安全工器具")
@Excel(name = "机具类型", readConverterExp = "1=施工机具,2=安全工器具")
private String jijuType;
@ApiModelProperty("是否班组 0是1否")
@Excel(name = "是否班组", readConverterExp = "0=是,1=否")
private String isTeam;
}

View File

@ -234,4 +234,14 @@ public class DirectApplyInfo extends BaseEntity {
@ApiModelProperty(value = "业务联单集合")
private List<String> codeList;
/**
* 审核工程id
*/
private String auditProId;
/**
* 审核单位id
*/
private String auditUnitId;
}

View File

@ -296,4 +296,11 @@ public interface MachineMapper
* @return
*/
int insertMaStatusLog(Machine machine);
/**
* 根据qrCode去ws_ma_info表查询二维码信息
* @param machine
* @return
*/
List<Machine> getInfoByCode(Machine machine);
}

View File

@ -466,6 +466,10 @@ public class MachineServiceImpl implements IMachineService
@Override
public AjaxResult getHisByCode(Machine machine) {
List<Machine> maList = machineMapper.getListByCode(machine);
if (CollectionUtils.isEmpty(maList)){
// 根据qrCode去ws_ma_info表查询二维码信息
maList = machineMapper.getInfoByCode(machine);
}
if (CollectionUtils.isEmpty(maList)) {
if (!StringHelper.isNullOrEmptyString(machine.getQrCode())){
return AjaxResult.error("扫描二维码信息为空");

View File

@ -1768,6 +1768,7 @@ public class SltAgreementInfoController extends BaseController {
// 查询每个协议的各项费用明细
SltInfoVo vo = sltAgreementInfoService.getSltInfoReportBatch(info);
vo.setIsFinish(info.getIsFinish());
vo.setActualEndDate(info.getActualEndDate());
if (vo != null && !ObjectUtil.isEmpty(vo)) {
vo.setAgreementId(info.getAgreementId());
vo.setAgreementCode(info.getAgreementCode());
@ -1845,6 +1846,7 @@ public class SltAgreementInfoController extends BaseController {
// 查询每个协议的各项费用明细
SltInfoVo vo = sltAgreementInfoService.getSltInfoReportBatch(info);
vo.setIsFinish(info.getIsFinish());
vo.setActualEndDate(info.getActualEndDate());
if (vo != null) {
vo.setAgreementId(info.getAgreementId());
vo.setAgreementCode(info.getAgreementCode());
@ -1858,8 +1860,15 @@ public class SltAgreementInfoController extends BaseController {
});
// 清空缓存防止内存泄漏
sltAgreementInfoService.clearCache();
String fileName = "未结算报表";
// 根据list集合数去填充序号
for (int i = 0; i < dataList.size(); i++) {
dataList.get(i).setSeq(i + 1);
}
// 获取当前年月日时分秒导出时间用括号拼接在后面
String title = "未结算报表" + "" + "导出时间:" + DateUtils.getTime() + "";
ExcelUtil<SltInfoVo> util = new ExcelUtil<>(SltInfoVo.class);
util.exportExcel(response, dataList, "导出未结算报表列表");
util.exportExcel(response, dataList, fileName, title);
}

View File

@ -23,8 +23,12 @@ import java.util.List;
@Accessors(chain = true)
public class SltInfoVo {
@ApiModelProperty(value = "序号")
@Excel(name = "序号", cellType = Excel.ColumnType.NUMERIC, width = 5,sort = 0)
private Integer seq;
@ApiModelProperty(value = "分公司")
@Excel(name = "分公司")
@Excel(name = "分公司", sort = 1)
private String impUnitName;
/**
@ -121,7 +125,7 @@ public class SltInfoVo {
* 协议编号
*/
@ApiModelProperty(value = "协议编号")
@Excel(name = "协议编号",sort = 1)
@Excel(name = "协议编号",sort = 0)
private String agreementCode;
/** 协议 ids */
@ -180,6 +184,6 @@ public class SltInfoVo {
@ApiModelProperty(value = "竣工日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
//@Excel(name = "竣工日期")
@Excel(name = "竣工日期", dateFormat = "yyyy-MM-dd")
private Date actualEndDate;
}

View File

@ -1800,6 +1800,8 @@ public class SltAgreementInfoServiceImpl implements ISltAgreementInfoService {
summary.setQueryStartDate(queryStartDate);
summary.setQueryEndDate(queryEndDate);
summary.setRemark(firstDetail.getRemark());
summary.setIsFinish(firstDetail.getIsFinish());
summary.setActualEndDate(firstDetail.getActualEndDate());
// 计算汇总数据
int equipmentTypeCount = agreementDetails.size(); // 设备种类数量

View File

@ -31,9 +31,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
ROUND( IFNULL( mt.buy_price, 0 ) * IFNULL( SUM( sai.num ), 0 ), 2 ) AS totalPrice,
CASE
WHEN bp.actual_end_date is not null THEN '1'
WHEN bp.actual_end_date is null and bp.external_id is null THEN '2'
ELSE '0'
END as isFinish,
bp.actual_end_date as actualEndDate
bp.actual_end_date as actualEndDate,
mt.jiju_type as jijuType,
CASE
WHEN bu.type_id = 1731 THEN '0'
ELSE '1'
END as isTeam
FROM
bm_agreement_info bai
LEFT JOIN slt_agreement_info sai ON sai.agreement_id = bai.agreement_id
@ -74,7 +80,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND bp.actual_end_date is not null
</if>
<if test="isFinish != null and isFinish == 0">
AND bp.actual_end_date is null
AND (bp.actual_end_date is null and bp.external_id is not null)
</if>
<if test="isFinish != null and isFinish == 2">
AND (bp.actual_end_date is null and bp.external_id is null)
</if>
<if test="unitId != null">
and bu.unit_id = #{unitId}
@ -88,6 +97,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="isSlt != null and isSlt != ''">
and sai.is_slt = #{isSlt}
</if>
<if test="jijuType != null and jijuType != '' ">
and mt.jiju_type = #{jijuType}
</if>
<if test="isTeam != null">
and bu.type_id
<choose>
<when test="isTeam == 0">= 1731</when>
<when test="isTeam == 1">!= 1731</when>
</choose>
</if>
GROUP BY
bai.agreement_id,
mt.type_id

View File

@ -131,6 +131,12 @@
<if test="unitId != null and unitId != ''">
and bui.unit_id = #{unitId}
</if>
<if test="auditProId != null and auditProId != ''">
and (bpl.pro_id = #{auditProId} OR bpl1.pro_id = #{auditProId})
</if>
<if test="auditUnitId != null and auditUnitId != ''">
and (bui.unit_id = #{auditUnitId} OR bui1.unit_id = #{auditUnitId})
</if>
<if test="status != null and status != ''">
and swr.workflow_status = #{status}
</if>

View File

@ -1317,6 +1317,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
FROM tm_task
WHERE task_id = #{taskId} limit 1
</select>
<select id="getInfoByCode" resultType="com.bonus.material.ma.domain.Machine">
SELECT
id as maId,
ma_name as maName,
ma_model as maModel,
model_id as typeId,
ma_code as maCode,
qr_code as qrCode,
supplier as maVender,
check_man as checkMan,
this_check_time as thisCheckTime,
next_check_time as nextCheckTime
FROM
ws_ma_info
where 1=1
<if test="maId != null">and id = #{maId}</if>
<if test="maCode != null">and ma_code LIKE CONCAT('%',#{maCode},'%') </if>
<if test="qrCode != null">and qr_code = #{qrCode} </if>
limit 100
</select>
<insert id="insertMaStatusLog">
insert into update_ma_status_log
<trim prefix="(" suffix=")" suffixOverrides=",">

View File

@ -53,6 +53,8 @@
<result property="markTime" column="mark_time"/>
<result property="leaseCost" column="lease_cost"/>
<result property="impUnitName" column="impUnit_name"/>
<result property="isFinish" column="is_finish"/>
<result property="actualEndDate" column="actual_endDate"/>
</resultMap>
<sql id="selectSltAgreementInfoVo">
@ -886,11 +888,13 @@
sd.dept_name AS impUnitName,
CASE
WHEN bp.actual_end_date is not null THEN '1'
WHEN bp.actual_end_date is null and bp.external_id is null THEN '2'
ELSE '0'
END as isFinish,
bp.actual_end_date as actualEndDate,
CASE
WHEN bp.actual_end_date is not null THEN '已竣工'
WHEN bp.actual_end_date is null and bp.external_id is null THEN ' '
ELSE '未竣工'
END as proStatus
FROM
@ -945,7 +949,10 @@
AND bp.actual_end_date is not null
</if>
<if test="isFinish != null and isFinish == 0">
AND bp.actual_end_date is null
AND (bp.actual_end_date is null and bp.external_id is not null)
</if>
<if test="isFinish != null and isFinish == 2">
AND (bp.actual_end_date is null and bp.external_id is null)
</if>
GROUP BY bai.agreement_id, saa.settlement_type
ORDER BY saa.create_time desc
@ -972,9 +979,11 @@
END as sltStatus,
CASE
WHEN bp.actual_end_date is not null THEN '1'
WHEN bp.actual_end_date is null and bp.external_id is null THEN '2'
ELSE '0'
END as isFinish,
sd.dept_name AS impUnitName
sd.dept_name AS impUnitName,
bp.actual_end_date as actualEndDate
FROM bm_agreement_info bai
INNER JOIN bm_unit bui ON bui.unit_id = bai.unit_id AND bui.type_id != '1731'
LEFT JOIN bm_project bp ON bp.pro_id = bai.project_id
@ -988,6 +997,9 @@
#{item}
</foreach>
</if>
<if test="unitId != null and unitId != ''">
AND bai.unit_id = #{unitId}
</if>
<if test="projectId != null and projectId != ''">
AND bai.project_id = #{projectId}
</if>
@ -1007,7 +1019,10 @@
AND bp.actual_end_date is not null
</if>
<if test="isFinish != null and isFinish == 0">
AND bp.actual_end_date is null
AND (bp.actual_end_date is null and bp.external_id is not null)
</if>
<if test="isFinish != null and isFinish == 2">
AND (bp.actual_end_date is null and bp.external_id is null)
</if>
ORDER BY bai.create_time DESC
</select>
@ -1129,6 +1144,7 @@
sd.dept_name AS impUnitName,
CASE
WHEN bp.actual_end_date is not null THEN '1'
WHEN bp.actual_end_date is null and bp.external_id is null THEN '2'
ELSE '0'
END as isFinish,
bp.actual_end_date as actualEndDate
@ -1167,7 +1183,10 @@
and bp.actual_end_date is not null
</if>
<if test="info.isFinish != null and info.isFinish == 0">
and bp.actual_end_date is null
AND (bp.actual_end_date is null and bp.external_id is not null)
</if>
<if test="info.isFinish != null and info.isFinish == 2">
AND (bp.actual_end_date is null and bp.external_id is null)
</if>
</select>
@ -1191,6 +1210,7 @@
case rc.status when '0' then '未审核' when '1' then '已审核' when '2' then '已驳回' else '' end as repairStatus,
CASE
WHEN bp.actual_end_date is not null THEN '1'
WHEN bp.actual_end_date is null and bp.external_id is null THEN '2'
ELSE '0'
END as isFinish,
bp.actual_end_date as actualEndDate,
@ -1225,7 +1245,10 @@
and bp.actual_end_date is not null
</if>
<if test="info.isFinish != null and info.isFinish == 0">
and bp.actual_end_date is null
and (bp.actual_end_date is null and bp.external_id is not null)
</if>
<if test="info.isFinish != null and info.isFinish == 2">
AND (bp.actual_end_date is null and bp.external_id is null)
</if>
</select>
@ -1250,6 +1273,7 @@
sd.dept_name AS impUnitName,
CASE
WHEN bp.actual_end_date is not null THEN '1'
WHEN bp.actual_end_date is null and bp.external_id is null THEN '2'
ELSE '0'
END as isFinish,
bp.actual_end_date as actualEndDate
@ -1288,7 +1312,10 @@
AND bp.actual_end_date is not null
</if>
<if test="info.isFinish != null and info.isFinish == 0">
AND bp.actual_end_date is null
AND (bp.actual_end_date is null and bp.external_id is not null)
</if>
<if test="info.isFinish != null and info.isFinish == 2">
AND (bp.actual_end_date is null and bp.external_id is null)
</if>
</select>
@ -1313,6 +1340,7 @@
sd.dept_name AS impUnitName,
CASE
WHEN bp.actual_end_date is not null THEN '1'
WHEN bp.actual_end_date is null and bp.external_id is null THEN '2'
ELSE '0'
END as isFinish,
bp.actual_end_date as actualEndDate
@ -1346,7 +1374,10 @@
AND bp.actual_end_date is not null
</if>
<if test="info.isFinish != null and info.isFinish == 0">
AND bp.actual_end_date is null
AND (bp.actual_end_date is null and bp.external_id is not null)
</if>
<if test="info.isFinish != null and info.isFinish == 2">
AND (bp.actual_end_date is null and bp.external_id is null)
</if>
</select>
@ -1425,6 +1456,7 @@
sd.dept_name AS impUnitName,
CASE
WHEN bp.actual_end_date is not null THEN '1'
WHEN bp.actual_end_date is null and bp.external_id is null THEN '2'
ELSE '0'
END as isFinish,
bp.actual_end_date as actualEndDate
@ -1473,7 +1505,10 @@
AND bp.actual_end_date is not null
</if>
<if test="isFinish != null and isFinish == 0">
AND bp.actual_end_date is null
AND (bp.actual_end_date is null and bp.external_id is not null)
</if>
<if test="isFinish != null and isFinish == 2">
AND (bp.actual_end_date is null and bp.external_id is null)
</if>
</where>
) res
@ -1606,13 +1641,10 @@
sd.dept_name AS impUnit_name,
CASE
WHEN bp.actual_end_date is not null THEN '1'
WHEN bp.actual_end_date is null and bp.external_id is null THEN '2'
ELSE '0'
END as isFinish,
bp.actual_end_date as actualEndDate,
CASE
WHEN bp.actual_end_date is not null THEN '已竣工'
ELSE '未竣工'
END as proStatus
END as is_finish,
bp.actual_end_date as actual_endDate
FROM bm_agreement_info bai
INNER JOIN slt_agreement_info sai ON bai.agreement_id = sai.agreement_id
LEFT JOIN bm_unit bu ON bai.unit_id = bu.unit_id
@ -1634,7 +1666,10 @@
AND bp.actual_end_date is not null
</if>
<if test="isFinish != null and isFinish == 0">
AND bp.actual_end_date is null
AND (bp.actual_end_date is null and bp.external_id is not null)
</if>
<if test="isFinish != null and isFinish == 2">
AND (bp.actual_end_date is null and bp.external_id is null)
</if>
<if test="agreementIds != null and agreementIds.size() > 0">
AND bai.agreement_id IN
@ -1724,6 +1759,9 @@
#{item}
</foreach>
</if>
<if test="unitId != null and unitId != ''">
AND bai.unit_id = #{unitId}
</if>
<if test="projectId != null and projectId != ''">
AND bai.project_id = #{projectId}
</if>
@ -1739,6 +1777,15 @@
<if test="projectName != null and projectName != ''">
AND bp.pro_name LIKE CONCAT('%', #{projectName}, '%')
</if>
<if test="isFinish != null and isFinish == 1">
AND bp.actual_end_date is not null
</if>
<if test="isFinish != null and isFinish == 0">
AND (bp.actual_end_date is null and bp.external_id is not null)
</if>
<if test="isFinish != null and isFinish == 2">
AND (bp.actual_end_date is null and bp.external_id is null)
</if>
ORDER BY bai.create_time DESC
</select>
@ -1774,13 +1821,10 @@
sd.dept_name AS impUnit_name,
CASE
WHEN bp.actual_end_date is not null THEN '1'
WHEN bp.actual_end_date is null and bp.external_id is null THEN '2'
ELSE '0'
END as isFinish,
bp.actual_end_date as actualEndDate,
CASE
WHEN bp.actual_end_date is not null THEN '已竣工'
ELSE '未竣工'
END as proStatus
END as is_finish,
bp.actual_end_date as actual_endDate
FROM bm_agreement_info bai
LEFT JOIN slt_agreement_apply saa on bai.agreement_id = saa.agreement_id
LEFT JOIN slt_agreement_details sai ON saa.ID = sai.apply_id
@ -1803,7 +1847,10 @@
AND bp.actual_end_date is not null
</if>
<if test="isFinish != null and isFinish == 0">
AND bp.actual_end_date is null
AND (bp.actual_end_date is null and bp.external_id is not null)
</if>
<if test="isFinish != null and isFinish == 2">
AND (bp.actual_end_date is null and bp.external_id is null)
</if>
<if test="agreementIds != null and agreementIds.size() > 0">
AND bai.agreement_id IN
@ -1855,7 +1902,8 @@
tt.task_id as taskId,
tt.code as repairCode,
tt.task_type as taskType,
sdd.dict_label as repairStatus
sdd.dict_label as repairStatus,
tt.create_by as createBy
from
tm_task tt
left join tm_task_agreement tta on tta.task_id = tt.task_id