Prechádzať zdrojové kódy

fix:单次任务解除合同时不可见

ly 11 mesiacov pred
rodič
commit
9af33cb88f

+ 117 - 0
src/main/java/cn/ezhizao/project/business/onwork/controller/BizOnceworkDetailController.java

@@ -0,0 +1,117 @@
+package cn.ezhizao.project.business.onwork.controller;
+
+import java.util.List;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import cn.ezhizao.framework.aspectj.lang.annotation.Log;
+import cn.ezhizao.framework.aspectj.lang.enums.BusinessType;
+import cn.ezhizao.project.business.onwork.domain.BizOnceworkDetail;
+import cn.ezhizao.project.business.onwork.service.IBizOnceworkDetailService;
+import cn.ezhizao.framework.web.controller.BaseController;
+import cn.ezhizao.framework.web.domain.AjaxResult;
+import cn.ezhizao.common.utils.poi.ExcelUtil;
+import cn.ezhizao.framework.web.page.TableDataInfo;
+
+/**
+ * 单次任务进度详情Controller
+ *
+ * @author ruoyi
+ * @date 2024-10-31
+ */
+@RestController
+@RequestMapping("/business/onceWorkDetail")
+public class BizOnceworkDetailController extends BaseController
+{
+    @Resource
+    private IBizOnceworkDetailService bizOnceworkDetailService;
+
+    /**
+     * 查询单次任务进度详情列表
+     */
+    @PreAuthorize("@ss.hasPermi('business:detail:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(BizOnceworkDetail bizOnceworkDetail) throws NoSuchFieldException, IllegalAccessException
+    {
+        setTenantId(bizOnceworkDetail);
+        startPage();
+        List<BizOnceworkDetail> list = bizOnceworkDetailService.getList(bizOnceworkDetail);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出单次任务进度详情列表
+     */
+    @PreAuthorize("@ss.hasPermi('business:detail:export')")
+    @Log(title = "单次任务进度详情", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, BizOnceworkDetail bizOnceworkDetail) throws NoSuchFieldException, IllegalAccessException
+    {
+        setTenantId(bizOnceworkDetail);
+        List<BizOnceworkDetail> list = bizOnceworkDetailService.getList(bizOnceworkDetail);
+        ExcelUtil<BizOnceworkDetail> util = new ExcelUtil<BizOnceworkDetail>(BizOnceworkDetail.class);
+        util.exportExcel(response, list, "单次任务进度详情数据");
+    }
+
+    /**
+     * 获取单次任务进度详情详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('business:detail:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(bizOnceworkDetailService.getById(id));
+    }
+
+    /**
+     * 新增单次任务进度详情
+     */
+    @PreAuthorize("@ss.hasPermi('business:detail:add')")
+    @Log(title = "单次任务进度详情", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody BizOnceworkDetail bizOnceworkDetail) throws NoSuchFieldException, IllegalAccessException
+    {
+        setTenantId(bizOnceworkDetail);
+        return toAjax(bizOnceworkDetailService.save(bizOnceworkDetail));
+    }
+
+    /**
+     * 修改单次任务进度详情
+     */
+    @PreAuthorize("@ss.hasPermi('business:detail:edit')")
+    @Log(title = "单次任务进度详情", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody BizOnceworkDetail bizOnceworkDetail) throws NoSuchFieldException, IllegalAccessException
+    {
+        setTenantId(bizOnceworkDetail);
+        return toAjax(bizOnceworkDetailService.updateById(bizOnceworkDetail));
+    }
+
+    /**
+     * 删除单次任务进度详情
+     */
+    @PreAuthorize("@ss.hasPermi('business:detail:remove')")
+    @Log(title = "单次任务进度详情", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable List<Long> ids)
+    {
+        return toAjax(bizOnceworkDetailService.removeBatchByIds(ids));
+    }
+    @PreAuthorize("@ss.hasPermi('business:detail:remove')")
+    @Log(title = "单次任务添加", businessType = BusinessType.INSERT)
+    @RequestMapping("/addOnWorkDetail")
+    public AjaxResult addOnWorkDetail(@RequestBody BizOnceworkDetail bizOnceworkDetail){
+        bizOnceworkDetail.setUserName(getUsername());
+        bizOnceworkDetail.setTenantId(getTenantId());
+        bizOnceworkDetail.setUserId(getUserId());
+        return success(bizOnceworkDetailService.save(bizOnceworkDetail));
+    }
+}

+ 47 - 0
src/main/java/cn/ezhizao/project/business/onwork/domain/BizOnceworkDetail.java

@@ -0,0 +1,47 @@
+package cn.ezhizao.project.business.onwork.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import cn.ezhizao.framework.web.domain.BaseEntity;
+import lombok.Data;
+import io.swagger.annotations.ApiModelProperty;
+import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
+
+import java.util.Date;
+
+/**
+ * 单次任务进度详情对象 biz_oncework_detail
+ *
+ * @author ruoyi
+ * @date 2024-10-31
+ */
+@Data
+@TableName(value = "biz_oncework_detail")
+public class BizOnceworkDetail extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 单次任务外键 */
+    @ApiModelProperty(value = "${comment}")
+    private Long workOrderId;
+
+    /** 记录日期 */
+    @Excel(name = "记录日期")
+    @ApiModelProperty(value = "记录日期")
+    private Date recordDate;
+
+    /** 记录详情 */
+    @Excel(name = "记录详情")
+    @ApiModelProperty(value = "记录详情")
+    private String recordDetail;
+
+    /** 操作人id */
+    @ApiModelProperty(value = "记录详情")
+    private Long userId;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private String userName;
+
+    private Long tenantId;
+}

+ 29 - 0
src/main/java/cn/ezhizao/project/business/onwork/mapper/BizOnceworkDetailMapper.java

@@ -0,0 +1,29 @@
+package cn.ezhizao.project.business.onwork.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import cn.ezhizao.project.business.onwork.domain.BizOnceworkDetail;
+
+/**
+ * 单次任务进度详情Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-10-31
+ */
+public interface BizOnceworkDetailMapper extends BaseMapper<BizOnceworkDetail>
+{
+    /**
+     * 查询单次任务进度详情列表
+     *
+     * @param bizOnceworkDetail 单次任务进度详情
+     * @return 单次任务进度详情集合
+     */
+    public List<BizOnceworkDetail> getList(BizOnceworkDetail bizOnceworkDetail);
+
+    /**
+     * 物理删除
+     * @param bizOnceworkDetail
+     * @return 删除结果
+    */
+    public int physicalDelete(BizOnceworkDetail bizOnceworkDetail);
+}

+ 30 - 0
src/main/java/cn/ezhizao/project/business/onwork/service/IBizOnceworkDetailService.java

@@ -0,0 +1,30 @@
+package cn.ezhizao.project.business.onwork.service;
+
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.IService;
+import cn.ezhizao.project.business.onwork.domain.BizOnceworkDetail;
+
+/**
+ * 单次任务进度详情Service接口
+ *
+ * @author ruoyi
+ * @date 2024-10-31
+ */
+public interface IBizOnceworkDetailService extends IService<BizOnceworkDetail>
+{
+    /**
+     * 查询单次任务进度详情列表
+     *
+     * @param bizOnceworkDetail 单次任务进度详情
+     * @return 单次任务进度详情集合
+     */
+    public List<BizOnceworkDetail> getList(BizOnceworkDetail bizOnceworkDetail);
+
+    /**
+     * 物理删除
+     * @param bizOnceworkDetail
+     * @return 删除结果
+     */
+    public int physicalDelete(BizOnceworkDetail bizOnceworkDetail);
+
+}

+ 43 - 0
src/main/java/cn/ezhizao/project/business/onwork/service/impl/BizOnceworkDetailServiceImpl.java

@@ -0,0 +1,43 @@
+package cn.ezhizao.project.business.onwork.service.impl;
+
+import java.util.List;
+import javax.annotation.Resource;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import cn.ezhizao.project.business.onwork.mapper.BizOnceworkDetailMapper;
+import cn.ezhizao.project.business.onwork.domain.BizOnceworkDetail;
+import cn.ezhizao.project.business.onwork.service.IBizOnceworkDetailService;
+
+/**
+ * 单次任务进度详情Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-10-31
+ */
+@Service
+public class BizOnceworkDetailServiceImpl  extends ServiceImpl<BizOnceworkDetailMapper, BizOnceworkDetail> implements IBizOnceworkDetailService
+{
+    @Resource
+    private BizOnceworkDetailMapper bizOnceworkDetailMapper;
+
+    /**
+     * 查询单次任务进度详情列表
+     *
+     * @param bizOnceworkDetail 单次任务进度详情
+     * @return 单次任务进度详情
+     */
+    @Override
+    public List<BizOnceworkDetail> getList(BizOnceworkDetail bizOnceworkDetail)
+    {
+        return bizOnceworkDetailMapper.getList(bizOnceworkDetail);
+    }
+
+    /**
+     * 物理删除
+     * @param bizOnceworkDetail
+     * @return 删除结果
+     */
+    @Override
+    public int physicalDelete(BizOnceworkDetail bizOnceworkDetail){ return bizOnceworkDetailMapper.physicalDelete(bizOnceworkDetail); };
+
+}

+ 208 - 0
src/main/java/cn/ezhizao/project/business/workOrder/domain/BizCollection.java

@@ -0,0 +1,208 @@
+package cn.ezhizao.project.business.workOrder.domain;
+
+import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
+import cn.ezhizao.framework.web.domain.BaseEntity;
+import cn.ezhizao.project.system.domain.SysFileStorage;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.sql.Date;
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 朱汕
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("collection 收款")
+public class BizCollection extends BaseEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "收款流水号")
+    private String flowNo;
+
+
+    @ApiModelProperty(value = "收款流水号")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Timestamp formDate;
+
+    @ApiModelProperty(value = "服务公司id")
+    private Long subsidiaryId;
+
+    @ApiModelProperty(value = "服务公司")
+    private String subsidiary;
+
+
+    @ApiModelProperty(value = "服务公司账号")
+    private String subsidiaryBankAccount;
+
+    @ApiModelProperty(value = "服务公司开户行")
+    private String subsidiaryBankName;
+
+    @ApiModelProperty(value = "客户 Id")
+    private Long companyId;
+
+
+    @ApiModelProperty(value = "应收金额")
+    private BigDecimal amount;
+
+    @ApiModelProperty(value = "到账日期")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Timestamp arriveDate;
+
+    @ApiModelProperty(value = "到账时间")
+    private String arriveTime;
+
+    @ApiModelProperty(value = "审核状态")
+    private Byte status;
+
+    @TableField(exist = false)
+    private String statusStr;
+    @ApiModelProperty(value = "到款状态")
+    private Byte arriveStatus;
+    @TableField(exist = false)
+    private String arriveStatusStr;
+    @ApiModelProperty(value = "付款名称")
+    private String applyName;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "实收金额")
+    private BigDecimal trueAmount;
+
+    @ApiModelProperty(value = "付款账号")
+    private String appyAccount;
+
+
+    @TableField(exist = false)
+    private List<SysFileStorage> files = new ArrayList<>();
+
+    @ApiModelProperty("审核时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Timestamp verifyDate;
+
+    @ApiModelProperty("审核意见")
+    private String verifyComment;
+
+    @TableField(exist = false)
+    @ApiModelProperty("客户名称")
+    private String customerName;
+
+    @ApiModelProperty("合同id")
+    private Long contractId;
+
+
+    @ApiModelProperty(value = "申请人")
+    private Long applierId;
+
+
+    @TableField(exist = false)
+    private String applierDept;
+
+    @ApiModelProperty("新签/续签")
+    private Integer isNew;
+
+    @ApiModelProperty("项目/非项目")
+    private Integer isProject;
+
+    @ApiModelProperty("项目名称")
+    private String projectName;
+
+    @ApiModelProperty("项目编号")
+    private String projectNo;
+
+    @ApiModelProperty("项目主体名称")
+    private String projectMainName;
+
+    @ApiModelProperty("账套外键")
+    private Long tenantId;
+    @ApiModelProperty("审核状态")
+    private Integer verifyStatus;
+
+    @TableField(exist = false)
+    private BigDecimal paymentAmount;
+
+    @TableField(exist = false)
+    private BigDecimal nonpaymentAmount;
+
+    @TableField(exist = false)
+    private BigDecimal contractAmount;
+    @TableField(exist = false)
+    private boolean nonpayment;
+    @TableField(exist = false)
+    private Date startDate;
+    @TableField(exist = false)
+    private Date endDate;
+
+    @TableField(exist = false)
+    private String orderRemark;
+
+    /**
+     * 导出数据
+     */
+
+    @Excel(name = "客户名称", width = 35)
+    @ApiModelProperty(value = "客户名称")
+    private String companyName;
+
+    @Excel(name = "合同编号")
+    @ApiModelProperty("合同单号")
+    @TableField(exist = false)
+    private String contractNo;
+
+    @Excel(name = "实际付款时间", width = 20, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty("确认到账时间")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Timestamp actuallyDate;
+
+    @Excel(name = "收款金额")
+    @ApiModelProperty(value = "收款金额")
+    private BigDecimal arriveAmount;
+
+    @Excel(name = "申请人")
+    @TableField(exist = false)
+    private String applierName;
+
+    @Excel(name = "审核状态")
+    @TableField(exist = false)
+    private String statusName;
+
+    @Excel(name = "支付状态")
+    @TableField(exist = false)
+    private String arriveStatusName;
+    @ApiModelProperty(value = "服务公司账户")
+    @Excel(name = "收款账户")
+    private String subsidiaryName;
+    @Excel(name = "备注")
+    @ApiModelProperty(value = "备注")
+    private String remark;
+
+    @TableField(exist = false)
+    private List<String> dateFilter;
+
+    @TableField(exist = false)
+    private List<SysFileStorage> evidenceFiles;
+    @TableField(exist = false)
+    private String boss;
+    @TableField(exist = false)
+    private String party;
+    private Long verifyId;
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+
+}

+ 4 - 0
src/main/java/cn/ezhizao/project/business/workOrder/domain/BizRecordStatusVo.java

@@ -0,0 +1,4 @@
+package cn.ezhizao.project.business.workOrder.domain;
+
+public class BizRecordStatusVo {
+}

+ 32 - 0
src/main/resources/mybatis/business/BizOnceworkDetailMapper.xml

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.ezhizao.project.business.onwork.mapper.BizOnceworkDetailMapper">
+
+    <resultMap type="cn.ezhizao.project.business.onwork.domain.BizOnceworkDetail" id="BizOnceworkDetailResult">
+        <id column="id" property="id"/>
+    </resultMap>
+
+
+    <select id="getList" parameterType="BizOnceworkDetail" resultMap="BizOnceworkDetailResult">
+        SELECT * FROM biz_oncework_detail
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            deleted = 0
+            <if test="recordDate != null "> AND record_date = #{recordDate}</if>
+            <if test="workOrderId != null "> AND work_order_id = #{workOrderId}</if>
+            <if test="recordDetail != null  and recordDetail != ''"> AND record_detail = #{recordDetail}</if>
+            <if test="userName != null  and userName != ''"> AND user_name like concat('%', #{userName}, '%')</if>
+        </trim>
+    </select>
+
+    <delete id="physicalDelete">
+        DELETE FROM biz_oncework_detail
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            <if test="id != null">
+                id = #{id} AND
+            </if>
+       <!-- 删除条件为其他外键可以在这里加 -->
+        </trim>
+    </delete>
+</mapper>

+ 4 - 0
src/main/resources/mybatis/business/BizWorkOrderMapper.xml

@@ -43,6 +43,7 @@
         left join sys_user t8 on t7.handler_id = t8.user_id
         left join biz_entrust t9 on t9.work_order_id = t1.id and t9.deleted = 0
         left join biz_tenant t10 on t10.id = t9.from_tenant_id
+        LEFT JOIN biz_archive_input t11 ON t11.id = t1.contract_id
         <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
             t1.deleted = 0
             <if test="id != null ">AND t1.id = #{id}</if>
@@ -53,6 +54,9 @@
                 and eb.work_order_id = t1.id
                 )
             </if>
+            <if test="contractId != null ">
+                and t11.dissolution = 1
+            </if>
             <if test="taskTypeName != null">
                 AND (CONCAT( t3.name,"-", t4.name) LIKE concat('%', #{taskTypeName}, '%') OR t1.remark LIKE concat('%',#{taskTypeName}, '%')
                 OR CONCAT(t3.name,"-",t6.alter_type,"-",t4.name) LIKE concat('%', #{taskTypeName}, '%'))