退料,领料,结算问题修复
This commit is contained in:
parent
fffbf0dcb5
commit
e4b9634357
|
|
@ -439,6 +439,30 @@ public class ClzSltAgreementInfoController extends BaseController {
|
||||||
BeanUtil.copyProperties(agreementInfo, sltAgreementInfoLease, true);
|
BeanUtil.copyProperties(agreementInfo, sltAgreementInfoLease, true);
|
||||||
|
|
||||||
List<MaterialSltAgreementInfo> oneOfListLease = clzSltAgreementInfoMapper.getLeaseList(sltAgreementInfoLease);
|
List<MaterialSltAgreementInfo> oneOfListLease = clzSltAgreementInfoMapper.getLeaseList(sltAgreementInfoLease);
|
||||||
|
//设定班组实际出场时间
|
||||||
|
String date = null;
|
||||||
|
if(!oneOfListLease.isEmpty()){
|
||||||
|
|
||||||
|
|
||||||
|
//先判断是否在场
|
||||||
|
String exitTime = clzSltAgreementInfoMapper.getTeamSjOutTime(oneOfListLease.get(0));
|
||||||
|
if( exitTime!=null && !exitTime.isEmpty() ){
|
||||||
|
|
||||||
|
}else{
|
||||||
|
date = clzSltAgreementInfoMapper.getTeamOutTime(oneOfListLease.get(0));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(date!=null && !date.isEmpty()){
|
||||||
|
oneOfListLease.get(0).setActualExitTime(date);
|
||||||
|
}else{
|
||||||
|
oneOfListLease.get(0).setActualExitTime("暂无");
|
||||||
|
}
|
||||||
|
|
||||||
|
actualTimeAndNames.add(oneOfListLease.get(0).getUnitName() + "(" + oneOfListLease.get(0).getActualExitTime()+")");
|
||||||
|
projectNames.add(oneOfListLease.get(0).getProjectName());
|
||||||
|
unitNames.add(oneOfListLease.get(0).getUnitName());
|
||||||
|
}
|
||||||
|
|
||||||
List<MaterialSltAgreementInfo> leaseList = new ArrayList<>(oneOfListLease);
|
List<MaterialSltAgreementInfo> leaseList = new ArrayList<>(oneOfListLease);
|
||||||
|
|
||||||
|
|
@ -458,14 +482,6 @@ public class ClzSltAgreementInfoController extends BaseController {
|
||||||
bean.setLeaseDay(0L);
|
bean.setLeaseDay(0L);
|
||||||
}
|
}
|
||||||
|
|
||||||
String date = null ;
|
|
||||||
//先判断是否在场
|
|
||||||
String exitTime1= clzSltAgreementInfoMapper.getTeamSjOutTime(bean);
|
|
||||||
if( exitTime1!=null && !exitTime1.isEmpty() ){
|
|
||||||
|
|
||||||
}else{
|
|
||||||
date = clzSltAgreementInfoMapper.getTeamOutTime(bean);
|
|
||||||
}
|
|
||||||
// 物资已退还,按照天数来计算费用
|
// 物资已退还,按照天数来计算费用
|
||||||
Date materialReturnTime = bean.getEndTime();
|
Date materialReturnTime = bean.getEndTime();
|
||||||
|
|
||||||
|
|
@ -491,16 +507,16 @@ public class ClzSltAgreementInfoController extends BaseController {
|
||||||
bean.setOverDay(overdueDays-7);
|
bean.setOverDay(overdueDays-7);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(teamExitTime!=null && !teamExitTime.isEmpty()){
|
if(date!=null && !date.isEmpty()){
|
||||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||||
|
|
||||||
LocalDate dateParm = LocalDate.parse(teamExitTime, formatter);
|
LocalDate dateParm = LocalDate.parse(date, formatter);
|
||||||
LocalDate resultDate = dateParm.plusDays(7);
|
LocalDate resultDate = dateParm.plusDays(7);
|
||||||
bean.setOverTime(resultDate+"");
|
bean.setOverTime(resultDate+"");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bean.setActualExitTime(teamExitTime);
|
bean.setActualExitTime(date);
|
||||||
|
|
||||||
BigDecimal leasePrice = bean.getLeasePrice();
|
BigDecimal leasePrice = bean.getLeasePrice();
|
||||||
BigDecimal num = bean.getNum();
|
BigDecimal num = bean.getNum();
|
||||||
|
|
@ -547,27 +563,6 @@ public class ClzSltAgreementInfoController extends BaseController {
|
||||||
loseListAll.add(bean);
|
loseListAll.add(bean);
|
||||||
listAll.add(bean);
|
listAll.add(bean);
|
||||||
}
|
}
|
||||||
//设定班组实际出场时间
|
|
||||||
if(!listAll.isEmpty()){
|
|
||||||
String date = null ;
|
|
||||||
//先判断是否在场
|
|
||||||
String exitTime = clzSltAgreementInfoMapper.getTeamSjOutTime(listAll.get(0));
|
|
||||||
if( exitTime!=null && !exitTime.isEmpty() ){
|
|
||||||
|
|
||||||
}else{
|
|
||||||
date = clzSltAgreementInfoMapper.getTeamOutTime(listAll.get(0));
|
|
||||||
}
|
|
||||||
|
|
||||||
if(date!=null && !date.isEmpty()){
|
|
||||||
listAll.get(0).setActualExitTime(date);
|
|
||||||
}else{
|
|
||||||
listAll.get(0).setActualExitTime("暂无");
|
|
||||||
}
|
|
||||||
projectNames.add(listAll.get(0).getProjectName());
|
|
||||||
unitNames.add(listAll.get(0).getUnitName());
|
|
||||||
actualTimeAndNames.add(listAll.get(0).getUnitName() + "(" + listAll.get(0).getActualExitTime()+")");
|
|
||||||
listAll = new ArrayList<>();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -97,25 +97,25 @@ public class RepairAuditDetailsController extends BaseController {
|
||||||
}
|
}
|
||||||
repairAuditDetailsService.queryTimeCope(bean);
|
repairAuditDetailsService.queryTimeCope(bean);
|
||||||
List<ScrapApplyDetailsVO> list = repairAuditDetailsService.selectRepairQuestList(bean);
|
List<ScrapApplyDetailsVO> list = repairAuditDetailsService.selectRepairQuestList(bean);
|
||||||
List<ScrapApplyDetailsVO> newList = new ArrayList<>();
|
// List<ScrapApplyDetailsVO> newList = new ArrayList<>();
|
||||||
list.forEach(item -> {
|
// list.forEach(item -> {
|
||||||
RepairAuditDetails repairAuditDetails = new RepairAuditDetails();
|
// RepairAuditDetails repairAuditDetails = new RepairAuditDetails();
|
||||||
repairAuditDetails.setTaskId(item.getTaskId());
|
// repairAuditDetails.setTaskId(item.getTaskId());
|
||||||
List<RepairAuditDetails> detailsList = repairAuditDetailsService.getRepairAuditList(repairAuditDetails);
|
// List<RepairAuditDetails> detailsList = repairAuditDetailsService.getRepairAuditList(repairAuditDetails);
|
||||||
detailsList.forEach(details -> {
|
// detailsList.forEach(details -> {
|
||||||
ScrapApplyDetailsVO scrapApplyDetailsVO = new ScrapApplyDetailsVO();
|
// ScrapApplyDetailsVO scrapApplyDetailsVO = new ScrapApplyDetailsVO();
|
||||||
BeanUtils.copyProperties(item, scrapApplyDetailsVO);
|
// BeanUtils.copyProperties(item, scrapApplyDetailsVO);
|
||||||
scrapApplyDetailsVO.setTypeName(details.getSpecificationType());
|
// scrapApplyDetailsVO.setTypeName(details.getSpecificationType());
|
||||||
scrapApplyDetailsVO.setTypeName2(details.getMachineTypeName());
|
// scrapApplyDetailsVO.setTypeName2(details.getMachineTypeName());
|
||||||
scrapApplyDetailsVO.setRepairNum2(details.getRepairNum());
|
// scrapApplyDetailsVO.setRepairNum2(details.getRepairNum());
|
||||||
scrapApplyDetailsVO.setRepairedNum(details.getRepairedNum());
|
// scrapApplyDetailsVO.setRepairedNum(details.getRepairedNum());
|
||||||
scrapApplyDetailsVO.setScrapNum3(details.getScrapNum());
|
// scrapApplyDetailsVO.setScrapNum3(details.getScrapNum());
|
||||||
scrapApplyDetailsVO.setMaCode(details.getMaCode());
|
// scrapApplyDetailsVO.setMaCode(details.getMaCode());
|
||||||
newList.add(scrapApplyDetailsVO);
|
// newList.add(scrapApplyDetailsVO);
|
||||||
});
|
// });
|
||||||
});
|
// });
|
||||||
ExcelUtil<ScrapApplyDetailsVO> util = new ExcelUtil<>(ScrapApplyDetailsVO.class);
|
ExcelUtil<ScrapApplyDetailsVO> util = new ExcelUtil<>(ScrapApplyDetailsVO.class);
|
||||||
util.exportExcel(response, newList, "修试审核任务列表", "修试审核数据一览表(导出时间:" + DateUtils.getTime() + ")");
|
util.exportExcel(response, list, "修试审核任务列表", "修试审核数据一览表(导出时间:" + DateUtils.getTime() + ")");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -251,7 +251,7 @@ public class RepairController extends BaseController {
|
||||||
public void export(HttpServletResponse response, RepairTask bean) {
|
public void export(HttpServletResponse response, RepairTask bean) {
|
||||||
List<RepairTask> list = new ArrayList<>();
|
List<RepairTask> list = new ArrayList<>();
|
||||||
try {
|
try {
|
||||||
list = service.exportRepairTaskList(bean);
|
list = service.getRepairTaskList(bean);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
list = new ArrayList<>();
|
list = new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -78,37 +78,37 @@ public class RepairTask {
|
||||||
* 规格型号
|
* 规格型号
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "规格型号")
|
@ApiModelProperty(value = "规格型号")
|
||||||
@Excel(name = "规格型号",sort = 6)
|
// @Excel(name = "规格型号",sort = 6)
|
||||||
private String typeName;
|
private String typeName;
|
||||||
@ApiModelProperty(value = "退料数量")
|
@ApiModelProperty(value = "退料数量")
|
||||||
@Excel(name = "退料数量",sort = 7)
|
// @Excel(name = "退料数量",sort = 7)
|
||||||
private BigDecimal returnNum;
|
private BigDecimal returnNum;
|
||||||
/**
|
/**
|
||||||
* 维修总量
|
* 维修总量
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "维修总量")
|
@ApiModelProperty(value = "维修总量")
|
||||||
@Excel(name = "维修数量",sort = 8)
|
// @Excel(name = "维修数量",sort = 8)
|
||||||
private BigDecimal repairNum;
|
private BigDecimal repairNum;
|
||||||
/**
|
/**
|
||||||
* 维修报废数量
|
* 维修报废数量
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "报废数量")
|
@ApiModelProperty(value = "报废数量")
|
||||||
@Excel(name = "报废数量",sort = 9)
|
// @Excel(name = "报废数量",sort = 9)
|
||||||
private BigDecimal scrapNum;
|
private BigDecimal scrapNum;
|
||||||
@ApiModelProperty(value = "待维修数量")
|
@ApiModelProperty(value = "待维修数量")
|
||||||
@Excel(name = "待维修数量",sort = 10)
|
// @Excel(name = "待维修数量",sort = 10)
|
||||||
private BigDecimal beRepairedNum;
|
private BigDecimal beRepairedNum;
|
||||||
/**
|
/**
|
||||||
* 任务创建人
|
* 任务创建人
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "任务创建人")
|
@ApiModelProperty(value = "任务创建人")
|
||||||
@Excel(name = "任务创建人",sort = 11)
|
@Excel(name = "创建人",sort = 6)
|
||||||
private String createName;
|
private String createName;
|
||||||
/**
|
/**
|
||||||
* 任务创建时间
|
* 任务创建时间
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "任务创建时间")
|
@ApiModelProperty(value = "任务创建时间")
|
||||||
@Excel(name = "任务创建时间",sort = 12)
|
@Excel(name = "创建时间",sort = 7)
|
||||||
private String createTime;
|
private String createTime;
|
||||||
/**
|
/**
|
||||||
* 任务创建人
|
* 任务创建人
|
||||||
|
|
@ -141,6 +141,7 @@ public class RepairTask {
|
||||||
private Long agreementId;
|
private Long agreementId;
|
||||||
|
|
||||||
@ApiModelProperty(value = "维修状态编码CODE")
|
@ApiModelProperty(value = "维修状态编码CODE")
|
||||||
|
@Excel(name = "维修状态",sort = 8,readConverterExp = "0=定损进行中,1=维修完成,2=驳回至退料,4=维修进行中")
|
||||||
private String repairStatusCode;
|
private String repairStatusCode;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ public class ScrapApplyDetailsVO {
|
||||||
private String scrapNum;
|
private String scrapNum;
|
||||||
|
|
||||||
@ApiModelProperty(value = "维修任务单号")
|
@ApiModelProperty(value = "维修任务单号")
|
||||||
|
@Excel(name = "任务单号",sort = 4)
|
||||||
private String repairTaskCode;
|
private String repairTaskCode;
|
||||||
|
|
||||||
@ApiModelProperty(value = "序号")
|
@ApiModelProperty(value = "序号")
|
||||||
|
|
@ -44,67 +45,67 @@ public class ScrapApplyDetailsVO {
|
||||||
@Excel(name = "退料工程",sort = 2)
|
@Excel(name = "退料工程",sort = 2)
|
||||||
private String projectName;
|
private String projectName;
|
||||||
|
|
||||||
@Excel(name = "退料单号",sort = 3)
|
// @Excel(name = "退料单号",sort = 3)
|
||||||
private String backCode;
|
private String backCode;
|
||||||
|
|
||||||
@Excel(name = "维修审核单号",sort = 4)
|
// @Excel(name = "维修审核单号",sort = 4)
|
||||||
private String auditCode;
|
private String auditCode;
|
||||||
@ApiModelProperty(value = "机具编号")
|
// @ApiModelProperty(value = "机具编号")
|
||||||
@Excel(name = "设备编码",sort = 5)
|
// @Excel(name = "设备编码",sort = 5)
|
||||||
private String maCode;
|
private String maCode;
|
||||||
@Excel(name = "物资类型",sort = 6)
|
// @Excel(name = "物资类型",sort = 6)
|
||||||
private String typeName2;
|
private String typeName2;
|
||||||
/**
|
/**
|
||||||
* 规格型号
|
* 规格型号
|
||||||
*/
|
*/
|
||||||
@Excel(name = "规格型号",sort = 7)
|
// @Excel(name = "规格型号",sort = 7)
|
||||||
private String typeName;
|
private String typeName;
|
||||||
@Excel(name = "退料数量",sort = 8, cellType = Excel.ColumnType.NUMERIC)
|
// @Excel(name = "退料数量",sort = 8, cellType = Excel.ColumnType.NUMERIC)
|
||||||
private BigDecimal repairNum2;
|
private BigDecimal repairNum2;
|
||||||
@Excel(name = "合格数量",sort = 9, cellType = Excel.ColumnType.NUMERIC)
|
// @Excel(name = "合格数量",sort = 9, cellType = Excel.ColumnType.NUMERIC)
|
||||||
private BigDecimal repairedNum;
|
private BigDecimal repairedNum;
|
||||||
@Excel(name = "报废数量",sort = 10, cellType = Excel.ColumnType.NUMERIC)
|
// @Excel(name = "报废数量",sort = 10, cellType = Excel.ColumnType.NUMERIC)
|
||||||
private BigDecimal scrapNum3;
|
private BigDecimal scrapNum3;
|
||||||
@Excel(name = "维修人",sort = 11)
|
// @Excel(name = "维修人",sort = 11)
|
||||||
private String createBy2;
|
private String createBy2;
|
||||||
@Excel(name = "审核时间", dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 12)
|
// @Excel(name = "审核时间", dateFormat = "yyyy-MM-dd HH:mm:ss", sort = 12)
|
||||||
private String auditTime;
|
private String auditTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 维修班组名称
|
* 维修班组名称
|
||||||
*/
|
*/
|
||||||
// @Excel(name = "维修班组",sort = 6)
|
// @Excel(name = "维修班组",sort = 6)
|
||||||
//@ApiModelProperty(value = "维修班组")
|
@ApiModelProperty(value = "维修班组")
|
||||||
private String teamName;
|
private String teamName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 任务创建人
|
* 任务创建人
|
||||||
*/
|
*/
|
||||||
// @Excel(name = "提交人",sort = 7)
|
@Excel(name = "提交人",sort = 6)
|
||||||
private String createBy;
|
private String createBy;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 机具类型
|
* 机具类型
|
||||||
*/
|
*/
|
||||||
// @Excel(name = "物资类型",sort = 5)
|
@Excel(name = "物资类型",sort = 5)
|
||||||
private String itemType;
|
private String itemType;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建时间
|
* 创建时间
|
||||||
*/
|
*/
|
||||||
// @Excel(name = "提交时间",sort = 8)
|
@Excel(name = "提交时间",sort = 7)
|
||||||
private String createTime;
|
private String createTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 维修单号
|
* 维修单号
|
||||||
*/
|
*/
|
||||||
// @Excel(name = "维修审核单号",sort = 3)
|
@Excel(name = "维修审核单号",sort = 3)
|
||||||
private String repairNum;
|
private String repairNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 审核状态
|
* 审核状态
|
||||||
*/
|
*/
|
||||||
// @Excel(name = "状态",sort = 9,readConverterExp = "10=维修审核进行中,11=维修审核完成,12=维修审核被驳回")
|
@Excel(name = "状态",sort = 8,readConverterExp = "10=维修审核进行中,11=维修审核完成,12=维修审核被驳回")
|
||||||
private Integer taskStatus;
|
private Integer taskStatus;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -149,7 +149,6 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
|
||||||
if (!hasSpecialRole) {
|
if (!hasSpecialRole) {
|
||||||
repairAuditDetails.setUserId(userId == 0 ? null : userId);
|
repairAuditDetails.setUserId(userId == 0 ? null : userId);
|
||||||
}
|
}
|
||||||
long time1 = System.currentTimeMillis();
|
|
||||||
// 获取所有需要查询的 taskId、过滤空的
|
// 获取所有需要查询的 taskId、过滤空的
|
||||||
List<ScrapApplyDetailsVO> repairQuestList = repairAuditDetailsMapper.selectRepairQuestList(repairAuditDetails);
|
List<ScrapApplyDetailsVO> repairQuestList = repairAuditDetailsMapper.selectRepairQuestList(repairAuditDetails);
|
||||||
// 通过流过滤掉空对象 并转换为 List集合
|
// 通过流过滤掉空对象 并转换为 List集合
|
||||||
|
|
@ -161,9 +160,7 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
// 批量查询 typeName
|
// 批量查询 typeName
|
||||||
long time2 = System.currentTimeMillis();
|
|
||||||
List<KeyValueVO> keyValueList = repairAuditDetailsMapper.selectTypeNamesByTaskIds(taskIds);
|
List<KeyValueVO> keyValueList = repairAuditDetailsMapper.selectTypeNamesByTaskIds(taskIds);
|
||||||
long time3 = System.currentTimeMillis();
|
|
||||||
// 设置 itemType
|
// 设置 itemType
|
||||||
if (CollectionUtil.isNotEmpty(keyValueList)) {
|
if (CollectionUtil.isNotEmpty(keyValueList)) {
|
||||||
Map<String, String> keyValueMap = keyValueList.stream()
|
Map<String, String> keyValueMap = keyValueList.stream()
|
||||||
|
|
@ -179,7 +176,6 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
long time4 = System.currentTimeMillis();
|
|
||||||
if (CollectionUtil.isNotEmpty(repairQuestList)) {
|
if (CollectionUtil.isNotEmpty(repairQuestList)) {
|
||||||
String keyWord = repairAuditDetails.getKeyWord();
|
String keyWord = repairAuditDetails.getKeyWord();
|
||||||
// 如果关键字不为空,进行过滤
|
// 如果关键字不为空,进行过滤
|
||||||
|
|
@ -189,11 +185,6 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
long time5 = System.currentTimeMillis();
|
|
||||||
System.err.println("time2-time1: " + (time2 - time1));
|
|
||||||
System.err.println("time3-time2: " + (time3 - time2));
|
|
||||||
System.err.println("time4-time3: " + (time4 - time3));
|
|
||||||
System.err.println("time5-time4: " + (time5 - time4));
|
|
||||||
return repairQuestList;
|
return repairQuestList;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
// 异常处理
|
// 异常处理
|
||||||
|
|
|
||||||
|
|
@ -331,36 +331,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
-- 第一个查询(时间条件:小于 2025-08-20)
|
-- 第一个查询(时间条件:小于 2025-08-20)
|
||||||
SELECT DISTINCT
|
SELECT DISTINCT
|
||||||
tk.task_id AS taskId,
|
tk.task_id AS taskId,
|
||||||
|
tk.CODE AS scrapNum,
|
||||||
|
tt2.CODE AS repairTaskCode,
|
||||||
|
tk.task_status AS taskStatus,
|
||||||
bui.unit_name AS unitName,
|
bui.unit_name AS unitName,
|
||||||
bpl.pro_name AS projectName,
|
bpl.pro_name AS projectName,
|
||||||
tk.CODE as auditCode,
|
su.nick_name AS createBy,
|
||||||
tt3.`code` as backCode,
|
tk.create_time AS createTime,
|
||||||
GROUP_CONCAT(DISTINCT mt1.type_name) AS typeName2,
|
tk.remark,
|
||||||
rn.scrapNum AS scrapNum3,
|
tk.CODE AS repairNum,
|
||||||
rn.repairNum as repairNum2,
|
rad.audit_time as auditTime,
|
||||||
rn.repairedNum as repairedNum,
|
GROUP_CONCAT(DISTINCT mt4.type_id) AS firstId
|
||||||
tk.task_status AS taskStatus,
|
|
||||||
rad.create_by AS createBy2,
|
|
||||||
rad.create_time AS auditTime,
|
|
||||||
rad.create_time AS createTime,
|
|
||||||
tk.CODE AS repairCode
|
|
||||||
FROM
|
FROM
|
||||||
tm_task tk
|
tm_task tk
|
||||||
|
LEFT JOIN tm_task tt ON tk.pre_task_id = tt.task_id
|
||||||
LEFT JOIN repair_audit_details rad ON tk.task_id = rad.task_id
|
LEFT JOIN repair_audit_details rad ON tk.task_id = rad.task_id
|
||||||
LEFT JOIN (
|
|
||||||
SELECT
|
|
||||||
rad.task_id,
|
|
||||||
SUM(rad.scrap_num) AS scrapNum,
|
|
||||||
SUM(rad.repair_num) as repairNum,
|
|
||||||
SUM(rad.repaired_num) as repairedNum
|
|
||||||
from repair_audit_details rad
|
|
||||||
<if test="userId != null">
|
|
||||||
JOIN ma_type_repair mtr ON mtr.type_id = rad.type_id AND mtr.user_id = #{userId}
|
|
||||||
</if>
|
|
||||||
GROUP BY rad.task_id
|
|
||||||
) rn on rn.task_id = tk.task_id
|
|
||||||
LEFT JOIN repair_apply_details raad on raad.task_id = rad.repair_id
|
|
||||||
LEFT JOIN tm_task tt3 on tt3.task_id = raad.back_id
|
|
||||||
LEFT JOIN tm_task tt2 ON tt2.task_id = rad.repair_id
|
LEFT JOIN tm_task tt2 ON tt2.task_id = rad.repair_id
|
||||||
LEFT JOIN tm_task_agreement tta ON rad.repair_id = tta.task_id
|
LEFT JOIN tm_task_agreement tta ON rad.repair_id = tta.task_id
|
||||||
LEFT JOIN bm_agreement_info bai ON tta.agreement_id = bai.agreement_id
|
LEFT JOIN bm_agreement_info bai ON tta.agreement_id = bai.agreement_id
|
||||||
|
|
@ -369,12 +354,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
LEFT JOIN ma_type mt ON rad.type_id = mt.type_id
|
LEFT JOIN ma_type mt ON rad.type_id = mt.type_id
|
||||||
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
|
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
|
||||||
LEFT JOIN sys_user su ON su.user_id = tk.create_by
|
LEFT JOIN sys_user su ON su.user_id = tk.create_by
|
||||||
LEFT JOIN ma_type mt3 ON mt1.parent_id = mt3.type_id
|
LEFT JOIN ma_type mt3 ON mt1.parent_id = mt3.type_id AND mt3.del_flag = '0'
|
||||||
AND mt3.del_flag = '0'
|
LEFT JOIN ma_type mt4 ON mt3.parent_id = mt4.type_id AND mt4.del_flag = '0'
|
||||||
LEFT JOIN ma_type mt4 ON mt3.parent_id = mt4.type_id
|
|
||||||
AND mt4.del_flag = '0'
|
|
||||||
<if test="userId != null">
|
<if test="userId != null">
|
||||||
JOIN ma_type_repair mtr ON mtr.type_id = rad.type_id AND mtr.user_id = #{userId}
|
JOIN ma_type_repair mtr ON mtr.type_id = rad.type_id AND mtr.user_id = #{userId}
|
||||||
</if>
|
</if>
|
||||||
WHERE
|
WHERE
|
||||||
tk.task_type = #{taskType} and tt2.CODE is not null
|
tk.task_type = #{taskType} and tt2.CODE is not null
|
||||||
|
|
@ -405,56 +388,41 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</if>
|
</if>
|
||||||
GROUP BY
|
GROUP BY
|
||||||
tk.CODE
|
tk.CODE
|
||||||
|
|
||||||
UNION
|
UNION
|
||||||
|
|
||||||
-- 第二个查询(时间条件:>= 2025-08-20)
|
-- 第二个查询(时间条件:>= 2025-08-20)
|
||||||
SELECT DISTINCT
|
SELECT DISTINCT
|
||||||
tk.task_id AS taskId,
|
tk.task_id AS taskId,
|
||||||
|
tk.CODE AS scrapNum,
|
||||||
|
tt.CODE AS repairTaskCode,
|
||||||
|
tk.task_status AS taskStatus,
|
||||||
bui.unit_name AS unitName,
|
bui.unit_name AS unitName,
|
||||||
bpl.pro_name AS projectName,
|
bpl.pro_name AS projectName,
|
||||||
tk.CODE as auditCode,
|
su.nick_name AS createBy,
|
||||||
baii.`code` as backCode,
|
tk.create_time AS createTime,
|
||||||
GROUP_CONCAT(DISTINCT mt1.type_name) AS typeName2,
|
tk.remark,
|
||||||
rn.scrapNum AS scrapNum3,
|
tk.CODE AS repairNum,
|
||||||
rn.repairNum as repairNum2,
|
rad.audit_time as auditTime,
|
||||||
rn.repairedNum as repairedNum,
|
GROUP_CONCAT(DISTINCT mt4.type_id) AS firstId
|
||||||
tk.task_status AS taskStatus,
|
|
||||||
su.nick_name AS createBy2,
|
|
||||||
rad.audit_time AS auditTime,
|
|
||||||
rad.create_time AS createTime,
|
|
||||||
tk.CODE AS repairCode
|
|
||||||
FROM
|
FROM
|
||||||
tm_task tk
|
tm_task tk
|
||||||
LEFT JOIN (
|
LEFT JOIN tm_task tt ON tk.pre_task_id = tt.task_id
|
||||||
SELECT
|
|
||||||
rad.task_id,
|
|
||||||
SUM(rad.scrap_num) AS scrapNum,
|
|
||||||
SUM(rad.repair_num) as repairNum,
|
|
||||||
SUM(rad.repaired_num) as repairedNum,
|
|
||||||
rad.audit_time
|
|
||||||
from repair_audit_details rad
|
|
||||||
<if test="userId != null">
|
|
||||||
JOIN ma_type_repair mtr ON mtr.type_id = rad.type_id AND mtr.user_id = #{userId}
|
|
||||||
</if>
|
|
||||||
GROUP BY rad.task_id
|
|
||||||
) rn on rn.task_id = tk.task_id
|
|
||||||
LEFT JOIN repair_audit_details rad ON tk.task_id = rad.task_id
|
|
||||||
LEFT JOIN back_apply_info baii on baii.id = rad.back_id
|
|
||||||
LEFT JOIN tm_task_agreement tta ON tk.task_id = tta.task_id
|
LEFT JOIN tm_task_agreement tta ON tk.task_id = tta.task_id
|
||||||
LEFT JOIN bm_agreement_info bai ON tta.agreement_id = bai.agreement_id
|
LEFT JOIN bm_agreement_info bai ON tta.agreement_id = bai.agreement_id
|
||||||
LEFT JOIN bm_project bpl ON bai.project_id = bpl.pro_id
|
LEFT JOIN bm_project bpl ON bai.project_id = bpl.pro_id
|
||||||
LEFT JOIN bm_unit bui ON bai.unit_id = bui.unit_id
|
LEFT JOIN bm_unit bui ON bai.unit_id = bui.unit_id
|
||||||
|
LEFT JOIN repair_audit_details rad ON tk.task_id = rad.task_id
|
||||||
LEFT JOIN ma_type mt ON rad.type_id = mt.type_id
|
LEFT JOIN ma_type mt ON rad.type_id = mt.type_id
|
||||||
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
|
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
|
||||||
LEFT JOIN sys_user su ON su.user_id = tk.create_by
|
LEFT JOIN sys_user su ON su.user_id = tk.create_by
|
||||||
LEFT JOIN ma_type mt3 ON mt1.parent_id = mt3.type_id
|
LEFT JOIN ma_type mt3 ON mt1.parent_id = mt3.type_id AND mt3.del_flag = '0'
|
||||||
AND mt3.del_flag = '0'
|
LEFT JOIN ma_type mt4 ON mt3.parent_id = mt4.type_id AND mt4.del_flag = '0'
|
||||||
LEFT JOIN ma_type mt4 ON mt3.parent_id = mt4.type_id
|
|
||||||
AND mt4.del_flag = '0'
|
|
||||||
<if test="userId != null">
|
<if test="userId != null">
|
||||||
JOIN ma_type_repair mtr ON mtr.type_id = rad.type_id AND mtr.user_id = #{userId}
|
JOIN ma_type_repair mtr ON mtr.type_id = rad.type_id AND mtr.user_id = #{userId}
|
||||||
</if>
|
</if>
|
||||||
WHERE
|
WHERE
|
||||||
tk.task_type = #{taskType}
|
tk.task_type = #{taskType} and tt.CODE is not null
|
||||||
AND tk.create_time >= '2025-08-20 00:00:00'
|
AND tk.create_time >= '2025-08-20 00:00:00'
|
||||||
<if test="backUnit != null and backUnit != ''">
|
<if test="backUnit != null and backUnit != ''">
|
||||||
AND bui.unit_id = #{backUnit}
|
AND bui.unit_id = #{backUnit}
|
||||||
|
|
@ -490,7 +458,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<otherwise>
|
<otherwise>
|
||||||
ORDER BY
|
ORDER BY
|
||||||
taskStatus,
|
taskStatus,
|
||||||
auditTime DESC
|
createTime DESC
|
||||||
</otherwise>
|
</otherwise>
|
||||||
</choose>
|
</choose>
|
||||||
</select>
|
</select>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue