领用记录查询页面联调

This commit is contained in:
mashuai 2025-03-07 15:25:02 +08:00
parent 30ea1e4aa6
commit db0079a181
7 changed files with 372 additions and 9 deletions

View File

@ -0,0 +1,291 @@
package com.bonus.common.biz.domain;
import com.bonus.common.core.annotation.Excel;
import com.bonus.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 领料任务对象 lease_apply_info
*
* @author xsheng
* @date 2024-10-16
*/
@EqualsAndHashCode(callSuper = false)
@Data
@ToString
public class LeaseRecordInfo extends BaseEntity{
private static final long serialVersionUID = 1L;
/** ID */
private Long id;
@ApiModelProperty(value = "登录用户id")
private Long userId;
@ApiModelProperty(value = "申请时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "申请时间", width = 20, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@Excel(name = "申请人")
@ApiModelProperty(value = "申请人")
private String createBy;
@ApiModelProperty(value = "实施单位")
private String impUnitName;
@ApiModelProperty(value = "合同主体")
private String contractPart;
@ApiModelProperty(value = "领料单位")
@Excel(name = "领用单位")
private String leaseUnit;
@ApiModelProperty(value = "发料单位")
private String sendUnit;
@ApiModelProperty(value = "领料id")
private Integer leaseUnitId;
@ApiModelProperty(value = "租赁工程")
@Excel(name = "领用工程")
private String leaseProject;
@ApiModelProperty(value = "领料工程id")
private Integer leaseProjectId;
@ApiModelProperty(value = "领料人签名URL")
private String leaseSignUrl;
@ApiModelProperty(value = "领料人签名类型")
private Byte leaseSignType;
/**
* 领料物资名称汇总
*/
@ApiModelProperty(value = "领料物资名称汇总")
@Excel(name = "领料物资类型")
private String maTypeNames;
@ApiModelProperty(value = "协议号")
@Excel(name = "协议号")
private String agreementCode;
/** 任务编号: 领料单号 */
@ApiModelProperty(value = "领料单号")
@Excel(name = "业务单号")
private String code;
/** 任务ID */
@ApiModelProperty(value = "任务ID")
private Long taskId;
/** 领料人 */
@Excel(name = "领料人")
@ApiModelProperty(value = "领料人")
private String leasePerson;
@ApiModelProperty(value = "联系方式")
@Excel(name = "领料电话")
private String phone;
/** 11级审批22级审批 */
@ApiModelProperty(value = "11级审批22级审批")
private String type;
/** 公司审批人 */
@ApiModelProperty(value = "公司审批人")
private Long companyAuditBy;
/** 公司审批时间 */
@ApiModelProperty(value = "公司审批时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date companyAuditTime;
/** 公司审批备注 */
@ApiModelProperty(value = "公司审批备注")
private String companyAuditRemark;
/** 分管审批人 */
@ApiModelProperty(value = "分管审批人")
private Long deptAuditBy;
/** 分管审批时间 */
@ApiModelProperty(value = "分管审批时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date deptAuditTime;
/** 分管审批备注 */
@ApiModelProperty(value = "分管审批备注")
private String deptAuditRemark;
/** 机具分公司审批 */
@ApiModelProperty(value = "机具分公司审批")
private Long directAuditBy;
/** 机具分公司审批时间 */
@ApiModelProperty(value = "机具分公司审批时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date directAuditTime;
/** 机具分公司审批备注 */
@ApiModelProperty(value = "机具分公司审批备注")
private String directAuditRemark;
/** 数据所属组织 */
@ApiModelProperty(value = "数据所属组织")
private Long companyId;
/** 1机具分公司审核通过2调试分公司审核通过3机具分公司审核驳回4调试分公司审核驳回5出库进行中5出库完成 */
// @Excel(name = "1机具分公司审核通过2调试分公司审核通过3机具分公司审核驳回4调试分公司审核驳回5出库进行中5出库完成")
// @ApiModelProperty(value = "1机具分公司审核通过2调试分公司审核通过3机具分公司审核驳回4调试分公司审核驳回5出库进行中5出库完成")
// private String status;
/** $column.columnComment */
private Long directId;
/** 0工程1长期 */
@ApiModelProperty(value = "0工程1长期")
private String leaseType;
/** 预领料时间 */
@ApiModelProperty(value = "预领料时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date estimateLeaseTime;
/** 费用承担方(01项目03分包) */
@ApiModelProperty(value = "费用承担方(01项目03分包)")
private String costBearingParty;
@ApiModelProperty(value = "协议id")
private Long agreementId;
/** 任务类型(定义数据字典) */
@ApiModelProperty(value = "任务类型(定义数据字典)")
private Integer taskType;
/** 任务状态(定义数据字典) */
@ApiModelProperty(value = "任务状态(定义数据字典)")
private Integer taskStatus;
@Excel(name = "状态")
@ApiModelProperty(value = "任务状态(定义数据字典)")
private String taskStatusName;
@ApiModelProperty(value = "任务当月序号 例如:1 插入及查询时请携带任务类型")
private Integer monthOrder;
@ApiModelProperty(value = "领料人手机号")
private String leasePhone;
@ApiModelProperty(value = "往来单位id")
private Long unitId;
@ApiModelProperty(value = "往来单位")
private String unitName;
@ApiModelProperty(value = "工程id")
private Long projectId;
/**
* 工程名称
*/
@ApiModelProperty(value = "工程名称")
private String projectName;
/**
* 预领料合计数
*/
@ApiModelProperty(value = "预领料合计数")
private BigDecimal preCountNum;
@ApiModelProperty(value = "已出库数量")
private BigDecimal alNum;
@ApiModelProperty(value = "开始时间")
private String startTime;
@ApiModelProperty(value = "结束时间")
private String endTime;
@ApiModelProperty(value = "关键字")
private String keyWord;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "任务状态列表")
private List<Integer> statusList;
@ApiModelProperty(value = "审批人人签名URL")
private String directAuditSignUrl;
/**
* 分包商单位委托书
*/
@ApiModelProperty(value = "分包商单位委托书")
List<BmFileInfo> bmFileInfos;
/**
* 标准配置id
*/
@ApiModelProperty(value = "标准配置id")
private Long configId;
/**
* 是否为领用申请
*/
@ApiModelProperty(value = "是否为领用申请")
private Integer isLease;
@ApiModelProperty(value = "采购申请编号")
private String applyCode;
private Integer isApp;
@ApiModelProperty(value = "供应时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date supplierTime;
@ApiModelProperty(value = "供应地点")
private String supplierPlace;
@ApiModelProperty(value = "公司名称")
private String companyName;
@ApiModelProperty(value = "本流程节点id")
private Integer nodeId;
@ApiModelProperty(value = "下个流程节点id")
private Integer nextNodeId;
@ApiModelProperty(value = "流程配置值")
private String configValue;
@ApiModelProperty(value = "所属记录")
private Integer recordId;
@ApiModelProperty(value = "设备编码")
private String maCode;
@ApiModelProperty(value = "设备id")
private Long maId;
@ApiModelProperty(value = "流程节点签名方式 0:或签 1:会签")
private Integer nodeSignType;
@ApiModelProperty(value = "发布批次")
private String publishTask;
}

View File

@ -15,7 +15,8 @@ public enum LeaseTaskStatusEnum {
LEASE_TASK_TO_PUBLISHED(1, "待发布"),
LEASE_TASK_TO_AUDIT(2, "已终止"),
LEASE_TASK_IN_PROGRESS(3, "出库进行中"),
LEASE_TASK_FINISHED(4, "出库已完成");
LEASE_TASK_FINISHED(4, "出库已完成"),
LEASE_AUDIT_ING(6, "审核中");
private final Integer status;
private final String statusName;

View File

@ -2,6 +2,7 @@ package com.bonus.material.lease.controller;
import cn.hutool.core.convert.Convert;
import com.bonus.common.biz.config.ListPagingUtil;
import com.bonus.common.biz.domain.LeaseRecordInfo;
import com.bonus.common.biz.domain.lease.LeaseApplyInfo;
import com.bonus.common.biz.domain.lease.LeasePublishInfo;
import com.bonus.common.core.utils.ServletUtils;
@ -91,6 +92,20 @@ public class LeaseTaskController extends BaseController {
}
}
/**
* 导出领料记录查询
* @param response
* @param leaseApplyInfo
*/
@ApiOperation(value = "导出领料记录查询")
@PostMapping("/exportLeaseRecord")
public void exportLeaseRecord(HttpServletResponse response, LeaseApplyInfo leaseApplyInfo) {
List<LeaseRecordInfo> list = service.getLeaseRecordList(leaseApplyInfo);
ExcelUtil<LeaseRecordInfo> util = new ExcelUtil<>(LeaseRecordInfo.class);
util.exportExcel(response, list, "领料记录查询数据");
}
/**
* 领用发布查询
* @param leaseApplyInfo

View File

@ -141,4 +141,11 @@ public interface LeaseTaskMapper {
* @return
*/
int getMonthMaxOrderByDate(@Param("year") String year, @Param("month") String month);
/**
* 根据taskId查询状态
* @param taskId
* @return
*/
Integer selectStatusByTaskId(Long taskId);
}

View File

@ -1,6 +1,7 @@
package com.bonus.material.lease.service;
import com.bonus.common.biz.domain.LeaseRecordInfo;
import com.bonus.common.biz.domain.lease.LeaseApplyInfo;
import com.bonus.common.biz.domain.lease.LeasePublishInfo;
import com.bonus.common.core.web.domain.AjaxResult;
@ -128,5 +129,12 @@ public interface ILeaseTaskService {
* @return
*/
List<LeasePublishDetails> getPublishDetails(LeaseApplyInfo leaseApplyInfo);
/**
* 导出领料记录查询
* @param leaseApplyInfo
* @return
*/
List<LeaseRecordInfo> getLeaseRecordList(LeaseApplyInfo leaseApplyInfo);
}

View File

@ -3,6 +3,7 @@ package com.bonus.material.lease.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.bonus.common.biz.constant.MaterialConstants;
import com.bonus.common.biz.domain.BmFileInfo;
import com.bonus.common.biz.domain.LeaseRecordInfo;
import com.bonus.common.biz.domain.lease.LeaseApplyInfo;
import com.bonus.common.biz.domain.lease.LeasePublishInfo;
import com.bonus.common.biz.enums.HttpCodeEnum;
@ -25,16 +26,12 @@ import com.bonus.material.lease.mapper.LeaseApplyInfoMapper;
import com.bonus.material.lease.mapper.LeaseTaskMapper;
import com.bonus.material.lease.service.ILeaseTaskService;
import com.bonus.material.ma.domain.Type;
import com.bonus.material.ma.domain.vo.MaTypeVo;
import com.bonus.material.ma.domain.vo.MaTypeVoLevelTwo;
import com.bonus.material.task.domain.TmTask;
import com.bonus.material.task.domain.TmTaskAgreement;
import com.bonus.material.task.mapper.TmTaskAgreementMapper;
import com.bonus.material.task.mapper.TmTaskMapper;
import com.bonus.material.work.domain.SysWorkflowNode;
import com.bonus.material.work.domain.SysWorkflowRecord;
import com.bonus.material.work.domain.SysWorkflowRecordHistory;
import com.bonus.material.work.domain.SysWorkflowType;
import com.bonus.material.work.mapper.*;
import com.bonus.material.work.service.SysWorkflowRecordService;
import lombok.extern.slf4j.Slf4j;
@ -194,6 +191,16 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService {
leaseApplyInfo.setUserId(userId == 0 ? null : userId);
List<LeaseApplyInfo> list = mapper.selectLeaseApplyInfoList(leaseApplyInfo);
if (!CollectionUtils.isEmpty(list)) {
for (LeaseApplyInfo applyInfo : list) {
// 根据任务id查询sys_workflow_record表看任务是否已经开始修改tm_task表状态为审核中
Integer status = mapper.selectStatusByTaskId(applyInfo.getTaskId());
if (status != null && status == 1) {
applyInfo.setTaskStatus(LeaseTaskStatusEnum.LEASE_AUDIT_ING.getStatus());
applyInfo.setTaskStatusName(LeaseTaskStatusEnum.LEASE_AUDIT_ING.getStatusName());
mapper.updateLeaseTaskStatus(applyInfo.getTaskId(), LeaseTaskStatusEnum.LEASE_AUDIT_ING.getStatus());
}
}
Integer taskStatus = leaseApplyInfo.getTaskStatus();
String keyWord = leaseApplyInfo.getKeyWord();
// 如果关键字不为空进行过滤
if (!StringUtils.isBlank(keyWord)) {
@ -201,6 +208,11 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService {
.filter(item -> containsKeyword(item, keyWord))
.collect(Collectors.toList());
}
if (taskStatus != null) {
list = list.stream()
.filter(item -> item.getTaskStatus().equals(taskStatus))
.collect(Collectors.toList());
}
}
return list;
}
@ -767,6 +779,25 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService {
return list;
}
/**
* 导出领料记录查询
* @param leaseApplyInfo
* @return
*/
@Override
public List<LeaseRecordInfo> getLeaseRecordList(LeaseApplyInfo leaseApplyInfo) {
List<LeaseRecordInfo> leaseRecordInfos = new ArrayList<>();
List<LeaseApplyInfo> list = selectLeaseApplyInfoList(leaseApplyInfo);
if (!CollectionUtils.isEmpty(list)) {
for (LeaseApplyInfo applyInfo : list) {
LeaseRecordInfo leaseRecordInfo = new LeaseRecordInfo();
BeanUtils.copyProperties(applyInfo, leaseRecordInfo);
leaseRecordInfos.add(leaseRecordInfo);
}
}
return leaseRecordInfos;
}
/**
* 生成发布批次任务
* @param thisMonthMaxOrder

View File

@ -385,21 +385,25 @@
case tt.task_status
when 0 then '待审核'
when 1 then '待审核'
when 2 then '审核中'
when 1 then '已完成'
when 3 then '已完成'
when 4 then '已完成'
when 6 then '审核中'
end as taskStatusName,
IFNULL(sum(lad.pre_num),0) as preCountNum,
IFNULL(sum(lad.al_num),0) as alNum,
GROUP_CONCAT(DISTINCT mt1.type_name) AS maTypeNames,
bp.contract_part as contractPart,
sd.dept_name as impUnitName
sd.dept_name as impUnitName,
bai.agreement_code as agreementCode
from
lease_apply_info lai
left join tm_task tt on lai.task_id = tt.task_id
left join lease_apply_details lad on lai.id = lad.parent_id
left join tm_task_agreement tta on lai.task_id = tta.task_id
LEFT JOIN (SELECT parent_id, unit_id, project_id from lease_publish_details
GROUP BY parent_id ) a on a.parent_id = lai.id
LEFT JOIN bm_agreement_info bai on a.unit_id = bai.unit_id
and a.project_id = bai.project_id
left join bm_unit bu on bu.unit_id = lai.unit_id
left join bm_project bp on bp.pro_id = lai.project_id
left join sys_dept sd on sd.dept_id = bp.imp_unit
@ -853,4 +857,10 @@
where
month(create_time) = #{month} and year(create_time) = #{year}
</select>
<select id="selectStatusByTaskId" resultType="java.lang.Integer">
select workflow_status from sys_workflow_record
where
task_id = #{taskId}
</select>
</mapper>