From db0079a1818d5971c08443c92d87b2983b03e169 Mon Sep 17 00:00:00 2001 From: mashuai Date: Fri, 7 Mar 2025 15:25:02 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=86=E7=94=A8=E8=AE=B0=E5=BD=95=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E9=A1=B5=E9=9D=A2=E8=81=94=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/biz/domain/LeaseRecordInfo.java | 291 ++++++++++++++++++ .../common/biz/enums/LeaseTaskStatusEnum.java | 3 +- .../lease/controller/LeaseTaskController.java | 15 + .../lease/mapper/LeaseTaskMapper.java | 7 + .../lease/service/ILeaseTaskService.java | 8 + .../service/impl/LeaseTaskServiceImpl.java | 39 ++- .../mapper/material/lease/LeaseTaskMapper.xml | 18 +- 7 files changed, 372 insertions(+), 9 deletions(-) create mode 100644 bonus-common-biz/src/main/java/com/bonus/common/biz/domain/LeaseRecordInfo.java diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/LeaseRecordInfo.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/LeaseRecordInfo.java new file mode 100644 index 00000000..5d1c6eeb --- /dev/null +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/domain/LeaseRecordInfo.java @@ -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; + + /** 1:1级审批,2:2级审批 */ + @ApiModelProperty(value = "1:1级审批,2:2级审批") + 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 statusList; + + @ApiModelProperty(value = "审批人人签名URL") + private String directAuditSignUrl; + + /** + * 分包商单位委托书 + */ + @ApiModelProperty(value = "分包商单位委托书") + List 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; +} diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/LeaseTaskStatusEnum.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/LeaseTaskStatusEnum.java index 8f10b6a4..07904636 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/LeaseTaskStatusEnum.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/enums/LeaseTaskStatusEnum.java @@ -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; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseTaskController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseTaskController.java index 56f70389..02159ee7 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseTaskController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/controller/LeaseTaskController.java @@ -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 list = service.getLeaseRecordList(leaseApplyInfo); + ExcelUtil util = new ExcelUtil<>(LeaseRecordInfo.class); + util.exportExcel(response, list, "领料记录查询数据"); + + } + /** * 领用发布查询 * @param leaseApplyInfo diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseTaskMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseTaskMapper.java index 1add9fe3..ee272373 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseTaskMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/mapper/LeaseTaskMapper.java @@ -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); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseTaskService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseTaskService.java index 69b5f79e..63f78877 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseTaskService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/ILeaseTaskService.java @@ -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 getPublishDetails(LeaseApplyInfo leaseApplyInfo); + + /** + * 导出领料记录查询 + * @param leaseApplyInfo + * @return + */ + List getLeaseRecordList(LeaseApplyInfo leaseApplyInfo); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java index 81bc1662..4dae2e7e 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/lease/service/impl/LeaseTaskServiceImpl.java @@ -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 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 getLeaseRecordList(LeaseApplyInfo leaseApplyInfo) { + List leaseRecordInfos = new ArrayList<>(); + List 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 diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml index 0dd74e61..a24cdce9 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/lease/LeaseTaskMapper.xml @@ -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} + +