Browse Source

合同外费用

zhangyuewww 3 years ago
parent
commit
43e398e022

+ 4 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/constant/NumberConstant.java

@@ -22,6 +22,10 @@ public class NumberConstant {
 	public static final String CONSTANT_PURCHASE = "PURCHASE";
 	public static final String CONSTANT_PURCHASE = "PURCHASE";
 
 
 	public static final String PURCHASE_WAREHOUSING = "采购入库";
 	public static final String PURCHASE_WAREHOUSING = "采购入库";
+
+	public static final String CONSTANT_COST = "COST";
+
+	public static final String CONSTANT_EXE_COST = "EXECOST";
 	private NumberConstant() {
 	private NumberConstant() {
 
 
 	}
 	}

+ 62 - 2
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/NonContractExpensesController.java

@@ -1,9 +1,13 @@
 package com.yh.saas.plugin.yiliangyiyun.controller;
 package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.NonContractExpenses;
+import com.yh.saas.plugin.yiliangyiyun.service.INonContractExpensesService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
 
-import org.springframework.web.bind.annotation.RestController;
+import javax.validation.Valid;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -16,6 +20,62 @@ import org.springframework.web.bind.annotation.RestController;
 @RestController
 @RestController
 @RequestMapping("/nonContractExpenses")
 @RequestMapping("/nonContractExpenses")
 public class NonContractExpensesController {
 public class NonContractExpensesController {
+    @Autowired
+    private INonContractExpensesService nonContractExpensesService;
+
+    /**
+     * 新增合同外费用信息
+     */
+    @PostMapping("/api/addInfo")
+    public String addInfo(@RequestBody @Valid NonContractExpenses nonContractExpenses) {
+        return nonContractExpensesService.addInfo(nonContractExpenses);
+    }
+
+    /**
+     * 编辑
+     */
+    @PostMapping("/editInfo")
+    public String editInfo(@RequestBody NonContractExpenses nonContractExpenses) {
+        return nonContractExpensesService.editInfo(nonContractExpenses);
+    }
+
+    /**
+     * 查看合同外费用信息
+     */
+    @GetMapping("/getInfo")
+    public NonContractExpenses getInfo(@RequestParam String id) {
+        return nonContractExpensesService.getInfo(id);
+    }
+
+    /**
+     * 信息分页列表查询
+     *
+     * @param nonContractExpenses
+     * @return
+     */
+    @GetMapping("/selectInfo")
+    public Page<NonContractExpenses> selectInfo(NonContractExpenses nonContractExpenses) {
+        return nonContractExpensesService.selectInfo(nonContractExpenses);
+    }
+
+    /**
+     * 删除
+     *
+     * @param example
+     * @return
+     */
+    @PostMapping("/deleteInfo")
+    public void deleteInfo(@RequestBody  NonContractExpenses example) {
+        nonContractExpensesService.deleteInfo(example.getId());
+    }
+
+    /**
+     * 付款
+     */
+    @PostMapping("/payment")
+    public String payment(@RequestBody NonContractExpenses nonContractExpenses) {
+        return nonContractExpensesService.payment(nonContractExpenses);
+    }
 
 
 }
 }
 
 

+ 34 - 3
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/NonContractExpenses.java

@@ -1,12 +1,15 @@
 package com.yh.saas.plugin.yiliangyiyun.entity;
 package com.yh.saas.plugin.yiliangyiyun.entity;
 
 
+import com.baomidou.mybatisplus.annotations.TableField;
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.enums.IdType;
 import com.baomidou.mybatisplus.enums.IdType;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.yh.saas.common.support.entity.BaseModel;
 import com.yh.saas.common.support.entity.BaseModel;
 import lombok.Data;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
 
 
 import java.io.Serializable;
 import java.io.Serializable;
 import java.util.Date;
 import java.util.Date;
@@ -37,16 +40,18 @@ public class NonContractExpenses extends BaseModel<NonContractExpenses> {
      */
      */
     private String compId;
     private String compId;
     /**
     /**
-     * 收支类型
+     * 收支类型(1收入2支出)
      */
      */
     private String reexType;
     private String reexType;
     /**
     /**
-     * 收支类型key
+     * 收支类型key(1收入2支出)
      */
      */
     private String reexTypeKey;
     private String reexTypeKey;
     /**
     /**
      * 支付日期
      * 支付日期
      */
      */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
     private Date paymentDate;
     private Date paymentDate;
     /**
     /**
      * 费用金额
      * 费用金额
@@ -69,7 +74,7 @@ public class NonContractExpenses extends BaseModel<NonContractExpenses> {
      */
      */
     private String payee;
     private String payee;
     /**
     /**
-     * 费用类型
+     * 费用类型(1经营费用2仓库费用)
      */
      */
     private String expenseType;
     private String expenseType;
     /**
     /**
@@ -100,6 +105,32 @@ public class NonContractExpenses extends BaseModel<NonContractExpenses> {
      * 审核流id
      * 审核流id
      */
      */
     private String workflowId;
     private String workflowId;
+    /**
+     * 查询类型
+     */
+    @TableField(exist = false)
+    private String searchType;
+    @TableField(exist = false)
+    private String taskId;
+    /**
+     * 模糊查询
+     */
+    @TableField(exist = false)
+    private String searchKeyWord;
+    /**
+     * 开始时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @TableField(exist = false)
+    private Date startDate;
+    /**
+     * 结束时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @TableField(exist = false)
+    private Date endDate;
 
 
 
 
     @Override
     @Override

+ 18 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/NonContractExpensesMapper.java

@@ -3,6 +3,9 @@ package com.yh.saas.plugin.yiliangyiyun.mapper;
 import com.yh.saas.plugin.yiliangyiyun.entity.NonContractExpenses;
 import com.yh.saas.plugin.yiliangyiyun.entity.NonContractExpenses;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 
 
+import java.util.List;
+import java.util.Map;
+
 /**
 /**
  * <p>
  * <p>
  * 合同外费用 Mapper 接口
  * 合同外费用 Mapper 接口
@@ -12,5 +15,20 @@ import com.baomidou.mybatisplus.mapper.BaseMapper;
  * @since 2022-03-03
  * @since 2022-03-03
  */
  */
 public interface NonContractExpensesMapper extends BaseMapper<NonContractExpenses> {
 public interface NonContractExpensesMapper extends BaseMapper<NonContractExpenses> {
+    /**
+     * 根据条件查询合同外费用总数
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getCountByCondition(Map<String, Object> pageView);
+
+    /**
+     * 根据条件查询合同外费用列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<NonContractExpenses> getListByCondition(Map<String, Object> pageView);
 
 
 }
 }

+ 43 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/INonContractExpensesService.java

@@ -1,5 +1,6 @@
 package com.yh.saas.plugin.yiliangyiyun.service;
 package com.yh.saas.plugin.yiliangyiyun.service;
 
 
+import com.baomidou.mybatisplus.plugins.Page;
 import com.yh.saas.plugin.yiliangyiyun.entity.NonContractExpenses;
 import com.yh.saas.plugin.yiliangyiyun.entity.NonContractExpenses;
 import com.baomidou.mybatisplus.service.IService;
 import com.baomidou.mybatisplus.service.IService;
 
 
@@ -12,5 +13,47 @@ import com.baomidou.mybatisplus.service.IService;
  * @since 2022-03-03
  * @since 2022-03-03
  */
  */
 public interface INonContractExpensesService extends IService<NonContractExpenses> {
 public interface INonContractExpensesService extends IService<NonContractExpenses> {
+    /**
+     * 添加
+     *
+     * @param nonContractExpenses
+     */
+    String addInfo(NonContractExpenses nonContractExpenses);
+
+    /**
+     * 编辑
+     *
+     * @param nonContractExpenses
+     */
+    String editInfo(NonContractExpenses nonContractExpenses);
+    /**
+     * 付款
+     *
+     * @param nonContractExpenses
+     */
+    String payment(NonContractExpenses nonContractExpenses);
+
+    /**
+     * 查看
+     *
+     * @param
+     */
+    NonContractExpenses getInfo(String id);
+
+    /**
+     * 信息分页列表查询
+     *
+     * @param nonContractExpenses
+     * @return
+     */
+    Page<NonContractExpenses> selectInfo(NonContractExpenses nonContractExpenses);
+
+    /**
+     * 删除
+     *
+     * @param id
+     */
+    void deleteInfo(String id);
+
 
 
 }
 }

+ 16 - 2
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/ContractCostInfoServiceImpl.java

@@ -7,6 +7,8 @@ import com.google.common.collect.Lists;
 import com.winsea.svc.base.security.util.AuthSecurityUtils;
 import com.winsea.svc.base.security.util.AuthSecurityUtils;
 import com.winsea.svc.base.workflow.entity.Workflow;
 import com.winsea.svc.base.workflow.entity.Workflow;
 import com.yh.saas.common.support.util.IdGenerator;
 import com.yh.saas.common.support.util.IdGenerator;
+import com.yh.saas.plugin.base.service.ICommonBillOperateHisService;
+import com.yh.saas.plugin.yiliangyiyun.constant.NumberConstant;
 import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.entity.*;
 import com.yh.saas.plugin.yiliangyiyun.entity.*;
 import com.yh.saas.plugin.yiliangyiyun.exception.YException;
 import com.yh.saas.plugin.yiliangyiyun.exception.YException;
@@ -40,6 +42,8 @@ public class ContractCostInfoServiceImpl extends ServiceImpl<ContractCostInfoMap
     private IContractManagementInfoService contractManagementInfoService;
     private IContractManagementInfoService contractManagementInfoService;
     @Autowired
     @Autowired
     private IReveExpeInfoService reveExpeInfoService;
     private IReveExpeInfoService reveExpeInfoService;
+    @Autowired
+    private ICommonBillOperateHisService billOperateHisService;
 
 
 
 
     /**
     /**
@@ -74,13 +78,19 @@ public class ContractCostInfoServiceImpl extends ServiceImpl<ContractCostInfoMap
                 .eq("contract_no",contractCostInfo.getContractNo()));
                 .eq("contract_no",contractCostInfo.getContractNo()));
             reveExpeInfo.setExpenseRemarks(remark+"  "+contractCostInfo.getContractNo()+"  "+contractManagementInfo.getBuyer());
             reveExpeInfo.setExpenseRemarks(remark+"  "+contractCostInfo.getContractNo()+"  "+contractManagementInfo.getBuyer());
             reveExpeInfoService.insert(reveExpeInfo);
             reveExpeInfoService.insert(reveExpeInfo);
-
+            this.insert(contractCostInfo);
         }
         }
         //付款
         //付款
         else
         else
         {
         {
             contractCostInfo.setStatusFlag(StatusEnum.PENDING_PAYMENT.getFlag());
             contractCostInfo.setStatusFlag(StatusEnum.PENDING_PAYMENT.getFlag());
             contractCostInfo.setStatus(StatusEnum.PENDING_PAYMENT.getName());
             contractCostInfo.setStatus(StatusEnum.PENDING_PAYMENT.getName());
+            this.insert(contractCostInfo);
+            // 插入操作历史
+            String staffName = this.billOperateHisService.getStaffAndName();
+            // 插入操作历史
+            this.billOperateHisService.saveBillOperateHis(contractCostInfo.getId(), NumberConstant.CONSTANT_COST, staffName, null,
+                    "请款", null, contractCostInfo.getRemark());
             boolean isStartWorkflow = StringUtils.isBlank(contractCostInfo.getWorkflowId());
             boolean isStartWorkflow = StringUtils.isBlank(contractCostInfo.getWorkflowId());
             // 不是退回的单子
             // 不是退回的单子
             if (isStartWorkflow) {
             if (isStartWorkflow) {
@@ -104,7 +114,6 @@ public class ContractCostInfoServiceImpl extends ServiceImpl<ContractCostInfoMap
                 workflowService.activateInstance(contractCostInfo.getWorkflowId(), contractCostInfo.getId());
                 workflowService.activateInstance(contractCostInfo.getWorkflowId(), contractCostInfo.getId());
             }
             }
         }
         }
-        this.insert(contractCostInfo);
         return "ok";
         return "ok";
     }
     }
 
 
@@ -149,6 +158,11 @@ public class ContractCostInfoServiceImpl extends ServiceImpl<ContractCostInfoMap
         reveExpeInfo.setExpenseRemarks(remark+"  "+contractCostInfo.getContractNo()+"  "+contractManagementInfo.getSeller());
         reveExpeInfo.setExpenseRemarks(remark+"  "+contractCostInfo.getContractNo()+"  "+contractManagementInfo.getSeller());
         reveExpeInfoService.insert(reveExpeInfo);
         reveExpeInfoService.insert(reveExpeInfo);
         this.updateById(contractCostInfo);
         this.updateById(contractCostInfo);
+        // 插入操作历史
+        String staffName = this.billOperateHisService.getStaffAndName();
+        // 插入操作历史
+        this.billOperateHisService.saveBillOperateHis(contractCostInfo.getId(), NumberConstant.CONSTANT_COST, staffName, null,
+                "付款", null, "");
         return "ok";
         return "ok";
     }
     }
 
 

+ 183 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/NonContractExpensesServiceImpl.java

@@ -1,10 +1,31 @@
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
 
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.google.common.collect.Lists;
+import com.winsea.svc.base.security.util.AuthSecurityUtils;
+import com.winsea.svc.base.workflow.entity.Workflow;
+import com.yh.saas.common.support.util.IdGenerator;
+import com.yh.saas.plugin.base.service.ICommonBillOperateHisService;
+import com.yh.saas.plugin.yiliangyiyun.constant.NumberConstant;
+import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.entity.NonContractExpenses;
 import com.yh.saas.plugin.yiliangyiyun.entity.NonContractExpenses;
+import com.yh.saas.plugin.yiliangyiyun.entity.ReveExpeInfo;
+import com.yh.saas.plugin.yiliangyiyun.exception.YException;
+import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
 import com.yh.saas.plugin.yiliangyiyun.mapper.NonContractExpensesMapper;
 import com.yh.saas.plugin.yiliangyiyun.mapper.NonContractExpensesMapper;
+import com.yh.saas.plugin.yiliangyiyun.service.INewWorkflowService;
 import com.yh.saas.plugin.yiliangyiyun.service.INonContractExpensesService;
 import com.yh.saas.plugin.yiliangyiyun.service.INonContractExpensesService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.yh.saas.plugin.yiliangyiyun.service.IReveExpeInfoService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -16,5 +37,167 @@ import org.springframework.stereotype.Service;
  */
  */
 @Service
 @Service
 public class NonContractExpensesServiceImpl extends ServiceImpl<NonContractExpensesMapper, NonContractExpenses> implements INonContractExpensesService {
 public class NonContractExpensesServiceImpl extends ServiceImpl<NonContractExpensesMapper, NonContractExpenses> implements INonContractExpensesService {
+    @Autowired
+    private INewWorkflowService workflowService;
+    @Autowired
+    private IReveExpeInfoService reveExpeInfoService;
+    @Autowired
+    private ICommonBillOperateHisService billOperateHisService;
+
+
+    @Override
+    public String addInfo(NonContractExpenses nonContractExpenses) {
+        nonContractExpenses.setId(IdGenerator.generateUUID());
+        //经营费用
+        if("1".equals(nonContractExpenses.getExpenseType())){
+            nonContractExpenses.setPurpose("经营费用");
+        }
+        //仓库费用
+        else{
+            nonContractExpenses.setPurpose(nonContractExpenses.getWarehouseName());
+        }
+        //收款
+        if ("1".equals(nonContractExpenses.getReexTypeKey())){
+            nonContractExpenses.setStatusFlag(StatusEnum.RECEIVED.getFlag());
+            nonContractExpenses.setStatus(StatusEnum.RECEIVED.getName());
+            this.insert(nonContractExpenses);
+            //收款时生成收支明细
+            ReveExpeInfo reveExpeInfo=new ReveExpeInfo();
+            reveExpeInfo.setId(IdGenerator.generateUUID());
+            reveExpeInfo.setCompId(nonContractExpenses.getCompId());
+            //经营费用
+            if("1".equals(nonContractExpenses.getExpenseType())){
+                reveExpeInfo.setReexType("经营收入");
+                reveExpeInfo.setReexTypeKey("3");
+            }
+            //仓库费用
+            else{
+                reveExpeInfo.setReexType("仓库收入");
+                reveExpeInfo.setReexTypeKey("5");
+            }
+            reveExpeInfo.setAmountMoney(nonContractExpenses.getAmountMoney());
+            reveExpeInfo.setExpenseName(nonContractExpenses.getExpenseName());
+            reveExpeInfo.setExpenseRemarks(nonContractExpenses.getRemarks());
+            reveExpeInfoService.insert(reveExpeInfo);
+        }
+        //付款
+        else
+        {
+            nonContractExpenses.setStatusFlag(StatusEnum.PENDING_PAYMENT.getFlag());
+            nonContractExpenses.setStatus(StatusEnum.PENDING_PAYMENT.getName());
+            this.insert(nonContractExpenses);
+            // 插入操作历史
+            String staffName = this.billOperateHisService.getStaffAndName();
+            // 插入操作历史
+            this.billOperateHisService.saveBillOperateHis(nonContractExpenses.getId(), NumberConstant.CONSTANT_EXE_COST, staffName, null,
+                    "请款", null, nonContractExpenses.getRemarks());
+            boolean isStartWorkflow = StringUtils.isBlank(nonContractExpenses.getWorkflowId());
+            // 不是退回的单子
+            if (isStartWorkflow) {
+                Workflow workflow = workflowService
+                        .findLatestWorkflowByBusinessCodeByApp(nonContractExpenses.getCompId(), "EX-CONTRACT-APPROVE");
+                // 没配置审核流程,直接结束并处理信息
+                if (workflow == null) {
+                    throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                }
+                // 开启审核流
+                else {
+                    // 设置状态 已提交审核
+                    nonContractExpenses.setWorkflowId(workflow.getId());
+                    this.updateById(nonContractExpenses);
+                    workflowService.startInstance(workflow.getId(), nonContractExpenses.getId());
+                }
+            }
+            // 退回的单子 再启用
+            else {
+                this.updateById(nonContractExpenses);
+                workflowService.activateInstance(nonContractExpenses.getWorkflowId(), nonContractExpenses.getId());
+            }
+        }
+        return "ok";
+    }
+
+    @Override
+    public String editInfo(NonContractExpenses nonContractExpenses) {
+        this.updateById(nonContractExpenses);
+        return "ok";
+    }
+
+    @Override
+    public String payment(NonContractExpenses nonContractExpenses) {
+        nonContractExpenses.setStatusFlag(StatusEnum.PAID.getFlag());
+        nonContractExpenses.setStatus(StatusEnum.PAID.getName());
+        //付款时生成收支明细
+        ReveExpeInfo reveExpeInfo=new ReveExpeInfo();
+        reveExpeInfo.setId(IdGenerator.generateUUID());
+        reveExpeInfo.setCompId(nonContractExpenses.getCompId());
+        //经营费用
+        if("1".equals(nonContractExpenses.getExpenseType())){
+            reveExpeInfo.setReexType("经营支出");
+            reveExpeInfo.setReexTypeKey("4");
+        }
+        //仓库费用
+        else{
+            reveExpeInfo.setReexType("仓库支出");
+            reveExpeInfo.setReexTypeKey("6");
+        }
+        reveExpeInfo.setAmountMoney(nonContractExpenses.getAmountMoney());
+        reveExpeInfo.setExpenseName(nonContractExpenses.getExpenseName());
+        reveExpeInfo.setExpenseRemarks(nonContractExpenses.getRemarks());
+        reveExpeInfoService.insert(reveExpeInfo);
+        this.updateById(nonContractExpenses);
+        // 插入操作历史
+        String staffName = this.billOperateHisService.getStaffAndName();
+        // 插入操作历史
+        this.billOperateHisService.saveBillOperateHis(nonContractExpenses.getId(), NumberConstant.CONSTANT_EXE_COST, staffName, null,
+                "付款", null, "");
+        return "ok";
+    }
+
+    @Override
+    public NonContractExpenses getInfo(String id) {
+        NonContractExpenses nonContractExpenses=this.selectById(id);
+        return nonContractExpenses;
+    }
+
+    @Override
+    public Page<NonContractExpenses> selectInfo(NonContractExpenses nonContractExpenses) {
+        Map<String, Object> pageView = new HashMap<>();
+        pageView.put("startRecord", (nonContractExpenses.getCurrentPage() - 1)
+                * nonContractExpenses.getPageSize());
+        //  公司ID
+        pageView.put("compId", AuthSecurityUtils.getCurrentUserInfo().getCompId());
+        pageView.put("searchType", nonContractExpenses.getSearchType());
+        pageView.put("searchKeyWord", nonContractExpenses.getSearchKeyWord());
+        pageView.put("startDate", nonContractExpenses.getStartDate());
+        pageView.put("endDate", nonContractExpenses.getEndDate());
+        pageView.put("pageSize", nonContractExpenses.getPageSize());
+        pageView.put("currentPage", nonContractExpenses.getCurrentPage());
+        // 查询服务商总数
+        Integer dataCount = baseMapper.getCountByCondition(pageView);
+        List<NonContractExpenses> dataList = baseMapper.getListByCondition(pageView);
+        if (!CollectionUtils.isEmpty(dataList)) {
+            for (NonContractExpenses nonContractExpenses1:dataList){
+                String taskId = "";
+                // 只有待审核状态才有taskId
+                if (StringUtils.isNotBlank(nonContractExpenses1.getWorkflowId())) {
+                    JSONObject jsonObject = workflowService.getActiveTask(Lists.newArrayList(nonContractExpenses1.getWorkflowId()), nonContractExpenses1.getId());
+                    taskId = jsonObject.getString("taskId");
+                    nonContractExpenses1.setTaskId(taskId);
+                }
+            }
+        }
+        Page<NonContractExpenses> page = new Page<>();
+        page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+        page.setTotal(dataCount == null ? 0 : dataCount);
+        page.setCurrent(nonContractExpenses.getCurrentPage());
+        page.setSize(nonContractExpenses.getPageSize());
+        return page;
+    }
 
 
+    @Override
+    public void deleteInfo(String id) {
+        NonContractExpenses nonContractExpenses=this.selectById(id);
+        this.deleteById(nonContractExpenses.getId());
+    }
 }
 }

+ 78 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/NonContractExpensesMapper.xml

@@ -1,5 +1,82 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?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">
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.yh.saas.plugin.yiliangyiyun.mapper.NonContractExpensesMapper">
 <mapper namespace="com.yh.saas.plugin.yiliangyiyun.mapper.NonContractExpensesMapper">
-
+    <!-- 获得合同外费用总数 -->
+    <select id="getCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        SELECT
+        COUNT(id)
+        FROM non_contract_expenses
+        WHERE
+        comp_id = #{compId}
+        and delete_flag = '0'
+        <if test="searchType != null and searchType != ''">
+            <if test="searchType == 1">
+                AND reex_type_key = '1'
+            </if>
+            <if test="searchType == 2">
+                AND reex_type_key = '2'
+            </if>
+        </if>
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(expense_name) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(purpose) like lower(CONCAT('%',#{searchKeyWord},'%')))
+        </if>
+        <if test="startDate != null">
+            AND (DATE_FORMAT(create_date,"%Y%m%d") &gt;=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+        </if>
+        <if test="endDate != null">
+            AND (DATE_FORMAT(create_date,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+        </if>
+    </select>
+    <!-- 合同外费用列表查询 -->
+    <select id="getListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.NonContractExpenses">
+        SELECT
+        id,
+        reex_type as reexType,
+        purpose,
+        comp_id as compId,
+        expense_name as expenseName,
+        amount_money as amountMoney,
+        expense_type as expenseType,
+        warehouse_name as warehouseName,
+        address_url as addressUrl,
+        payee,
+        remarks,
+        payment_date as paymentDate,
+        status,
+        create_date as createDate,
+        approve_status as approveStatus,
+        workflow_id as workflowId
+        FROM non_contract_expenses
+        WHERE
+        comp_id = #{compId}
+        and delete_flag = '0'
+        <if test="searchType != null and searchType != ''">
+            <if test="searchType == 1">
+                AND reex_type_key = '1'
+            </if>
+            <if test="searchType == 2">
+                AND reex_type_key = '2'
+            </if>
+        </if>
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(expense_name) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(purpose) like lower(CONCAT('%',#{searchKeyWord},'%')))
+        </if>
+        <if test="startDate != null">
+            AND (DATE_FORMAT(create_date,"%Y%m%d") &gt;=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+        </if>
+        <if test="endDate != null">
+            AND (DATE_FORMAT(create_date,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+        </if>
+        ORDER BY update_date DESC
+        <if test="currentPage != null and currentPage != ''">
+            LIMIT ${startRecord}, ${pageSize}
+        </if>
+    </select>
 </mapper>
 </mapper>