From 345821ca954fc16b8a015e5726fd845334a12956 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 11 八月 2023 15:44:21 +0800
Subject: [PATCH] 1.0.2

---
 server/src/main/java/doumeemes/dao/business/model/WorkPlans.java                 |    4 
 server/src/main/java/doumeemes/dao/business/SalaryParamMapper.java               |   12 +
 server/src/main/java/doumeemes/dao/business/vo/WorkPlansVO.java                  |    4 
 server/src/main/java/doumeemes/service/business/impl/SalaryParamServiceImpl.java |  157 +++++++++++++++
 server/src/main/java/doumeemes/service/business/SalaryParamService.java          |   97 +++++++++
 server/src/main/java/doumeemes/api/business/SalaryParamController.java           |   90 +++++++++
 server/src/main/java/doumeemes/api/ext/SalaryParamExtController.java             |   90 +++++++++
 server/src/main/java/doumeemes/dao/business/model/SalaryParam.java               |   89 ++++++++
 server/src/main/resources/mappers/WorkPlansExtMapper.xml                         |    4 
 9 files changed, 547 insertions(+), 0 deletions(-)

diff --git a/server/src/main/java/doumeemes/api/business/SalaryParamController.java b/server/src/main/java/doumeemes/api/business/SalaryParamController.java
new file mode 100644
index 0000000..db825bd
--- /dev/null
+++ b/server/src/main/java/doumeemes/api/business/SalaryParamController.java
@@ -0,0 +1,90 @@
+package doumeemes.api.business;
+
+import doumeemes.api.BaseController;
+import doumeemes.core.annotation.excel.ExcelExporter;
+import doumeemes.core.annotation.pr.PreventRepeat;
+import doumeemes.core.model.ApiResponse;
+import doumeemes.core.model.PageWrap;
+import doumeemes.core.model.PageData;
+import doumeemes.dao.business.model.SalaryParam;
+import doumeemes.service.business.SalaryParamService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;    
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import javax.servlet.http.HttpServletResponse;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/08/11 15:29
+ */
+@Api(tags = "璁剧疆绫�-缁╂晥宸ヨ祫閰嶇疆琛�")
+@RestController
+@RequestMapping("/business/salaryParam")
+public class SalaryParamController extends BaseController {
+
+    @Autowired
+    private SalaryParamService salaryParamService;
+
+    @PreventRepeat
+    @ApiOperation("鏂板缓")
+    @PostMapping("/create")
+    @RequiresPermissions("business:salaryparam:create")
+    public ApiResponse create(@RequestBody SalaryParam salaryParam) {
+        return ApiResponse.success(salaryParamService.create(salaryParam));
+    }
+
+    @ApiOperation("鏍规嵁ID鍒犻櫎")
+    @GetMapping("/delete/{id}")
+    @RequiresPermissions("business:salaryparam:delete")
+    public ApiResponse deleteById(@PathVariable Integer id) {
+        salaryParamService.deleteById(id);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鎵归噺鍒犻櫎")
+    @GetMapping("/delete/batch")
+    @RequiresPermissions("business:salaryparam:delete")
+    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+        String [] idArray = ids.split(",");
+        List<Integer> idList = new ArrayList<>();
+        for (String id : idArray) {
+            idList.add(Integer.valueOf(id));
+        }
+        salaryParamService.deleteByIdInBatch(idList);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鏍规嵁ID淇敼")
+    @PostMapping("/updateById")
+    @RequiresPermissions("business:salaryparam:update")
+    public ApiResponse updateById(@RequestBody SalaryParam salaryParam) {
+        salaryParamService.updateById(salaryParam);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鍒嗛〉鏌ヨ")
+    @PostMapping("/page")
+    @RequiresPermissions("business:salaryparam:query")
+    public ApiResponse<PageData<SalaryParam>> findPage (@RequestBody PageWrap<SalaryParam> pageWrap) {
+        return ApiResponse.success(salaryParamService.findPage(pageWrap));
+    }
+
+    @ApiOperation("瀵煎嚭Excel")
+    @PostMapping("/exportExcel")
+    @RequiresPermissions("business:salaryparam:exportExcel")
+    public void exportExcel (@RequestBody PageWrap<SalaryParam> pageWrap, HttpServletResponse response) {
+        ExcelExporter.build(SalaryParam.class).export(salaryParamService.findPage(pageWrap).getRecords(), "璁剧疆绫�-缁╂晥宸ヨ祫閰嶇疆琛�", response);
+    }
+
+    @ApiOperation("鏍规嵁ID鏌ヨ")
+    @GetMapping("/{id}")
+    @RequiresPermissions("business:salaryparam:query")
+    public ApiResponse findById(@PathVariable Integer id) {
+        return ApiResponse.success(salaryParamService.findById(id));
+    }
+}
diff --git a/server/src/main/java/doumeemes/api/ext/SalaryParamExtController.java b/server/src/main/java/doumeemes/api/ext/SalaryParamExtController.java
new file mode 100644
index 0000000..dbd285c
--- /dev/null
+++ b/server/src/main/java/doumeemes/api/ext/SalaryParamExtController.java
@@ -0,0 +1,90 @@
+package doumeemes.api.ext;
+
+import doumeemes.api.BaseController;
+import doumeemes.core.annotation.excel.ExcelExporter;
+import doumeemes.core.annotation.pr.PreventRepeat;
+import doumeemes.core.model.ApiResponse;
+import doumeemes.core.model.PageData;
+import doumeemes.core.model.PageWrap;
+import doumeemes.dao.business.model.SalaryParam;
+import doumeemes.service.business.SalaryParamService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/08/11 15:29
+ */
+@Api(tags = "璁剧疆绫�-缁╂晥宸ヨ祫閰嶇疆琛�")
+@RestController
+@RequestMapping("/ext/salaryParam")
+public class SalaryParamExtController extends BaseController {
+
+    @Autowired
+    private SalaryParamService salaryParamService;
+
+    @PreventRepeat
+    @ApiOperation("鏂板缓")
+    @PostMapping("/create")
+    @RequiresPermissions("business:salaryparam:create")
+    public ApiResponse create(@RequestBody SalaryParam salaryParam) {
+        return ApiResponse.success(salaryParamService.create(salaryParam));
+    }
+
+    @ApiOperation("鏍规嵁ID鍒犻櫎")
+    @GetMapping("/delete/{id}")
+    @RequiresPermissions("business:salaryparam:delete")
+    public ApiResponse deleteById(@PathVariable Integer id) {
+        salaryParamService.deleteById(id);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鎵归噺鍒犻櫎")
+    @GetMapping("/delete/batch")
+    @RequiresPermissions("business:salaryparam:delete")
+    public ApiResponse deleteByIdInBatch(@RequestParam String ids) {
+        String [] idArray = ids.split(",");
+        List<Integer> idList = new ArrayList<>();
+        for (String id : idArray) {
+            idList.add(Integer.valueOf(id));
+        }
+        salaryParamService.deleteByIdInBatch(idList);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鏍规嵁ID淇敼")
+    @PostMapping("/updateById")
+    @RequiresPermissions("business:salaryparam:update")
+    public ApiResponse updateById(@RequestBody SalaryParam salaryParam) {
+        salaryParamService.updateById(salaryParam);
+        return ApiResponse.success(null);
+    }
+
+    @ApiOperation("鍒嗛〉鏌ヨ")
+    @PostMapping("/page")
+    @RequiresPermissions("business:salaryparam:query")
+    public ApiResponse<PageData<SalaryParam>> findPage (@RequestBody PageWrap<SalaryParam> pageWrap) {
+        return ApiResponse.success(salaryParamService.findPage(pageWrap));
+    }
+
+    @ApiOperation("瀵煎嚭Excel")
+    @PostMapping("/exportExcel")
+    @RequiresPermissions("business:salaryparam:exportExcel")
+    public void exportExcel (@RequestBody PageWrap<SalaryParam> pageWrap, HttpServletResponse response) {
+        ExcelExporter.build(SalaryParam.class).export(salaryParamService.findPage(pageWrap).getRecords(), "璁剧疆绫�-缁╂晥宸ヨ祫閰嶇疆琛�", response);
+    }
+
+    @ApiOperation("鏍规嵁ID鏌ヨ")
+    @GetMapping("/{id}")
+    @RequiresPermissions("business:salaryparam:query")
+    public ApiResponse findById(@PathVariable Integer id) {
+        return ApiResponse.success(salaryParamService.findById(id));
+    }
+}
diff --git a/server/src/main/java/doumeemes/dao/business/SalaryParamMapper.java b/server/src/main/java/doumeemes/dao/business/SalaryParamMapper.java
new file mode 100644
index 0000000..846be1b
--- /dev/null
+++ b/server/src/main/java/doumeemes/dao/business/SalaryParamMapper.java
@@ -0,0 +1,12 @@
+package doumeemes.dao.business;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import doumeemes.dao.business.model.SalaryParam;
+
+/**
+ * @author 姹熻箘韫�
+ * @date 2023/08/11 15:29
+ */
+public interface SalaryParamMapper extends BaseMapper<SalaryParam> {
+
+}
diff --git a/server/src/main/java/doumeemes/dao/business/model/SalaryParam.java b/server/src/main/java/doumeemes/dao/business/model/SalaryParam.java
new file mode 100644
index 0000000..e686ebc
--- /dev/null
+++ b/server/src/main/java/doumeemes/dao/business/model/SalaryParam.java
@@ -0,0 +1,89 @@
+package doumeemes.dao.business.model;
+
+import doumeemes.core.annotation.excel.ExcelColumn;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.Date;
+
+/**
+ * 璁剧疆绫�-缁╂晥宸ヨ祫閰嶇疆琛�
+ * @author 姹熻箘韫�
+ * @date 2023/08/11 15:29
+ */
+@Data
+@ApiModel("璁剧疆绫�-缁╂晥宸ヨ祫閰嶇疆琛�")
+@TableName("`salary_param`")
+public class SalaryParam {
+
+    @ApiModelProperty(value = "涓婚敭", example = "1")
+    @ExcelColumn(name="涓婚敭")
+    private Integer id;
+
+    @ApiModelProperty(value = "鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�", example = "1")
+    @ExcelColumn(name="鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�")
+    private Byte deleted;
+
+    @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鍒涘缓浜虹紪鐮�")
+    private Integer createUser;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @ExcelColumn(name="鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createTime;
+
+    @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1")
+    @ExcelColumn(name="鏇存柊浜虹紪鐮�")
+    private Integer updateUser;
+
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
+    @ExcelColumn(name="鏇存柊鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date updateTime;
+
+    @ApiModelProperty(value = "澶囨敞")
+    @ExcelColumn(name="澶囨敞")
+    private String remark;
+
+    @ApiModelProperty(value = "涓荤粍缁囩紪鐮侊紙鍏宠仈department琛ㄦ牴缁勭粐锛�", example = "1")
+    @ExcelColumn(name="涓荤粍缁囩紪鐮侊紙鍏宠仈department琛ㄦ牴缁勭粐锛�")
+    private Integer rootDepartId;
+
+    @ApiModelProperty(value = "宸ュ巶缂栫爜锛堝叧鑱攄epartment琛級", example = "1")
+    @ExcelColumn(name="宸ュ巶缂栫爜锛堝叧鑱攄epartment琛級")
+    private Integer departId;
+
+    @ApiModelProperty(value = "宸ュ簭缂栫爜锛堝叧鑱攑rocedure琛級", example = "1")
+    @ExcelColumn(name="宸ュ簭缂栫爜锛堝叧鑱攑rocedure琛級")
+    private Integer procedureId;
+
+    @ApiModelProperty(value = "bom缂栫爜锛堝叧鑱攂om琛級", example = "1")
+    @ExcelColumn(name="bom缂栫爜锛堝叧鑱攂om琛級")
+    private Integer bomId;
+
+    @ApiModelProperty(value = "宸ヨ祫鍗曚环锛堝厓)", example = "1")
+    @ExcelColumn(name="宸ヨ祫鍗曚环锛堝厓)")
+    private Integer salary;
+
+    @ApiModelProperty(value = "鏍囧噯鏁伴噺", example = "1")
+    @ExcelColumn(name="鏍囧噯鏁伴噺")
+    private Integer num;
+
+    @ApiModelProperty(value = "鏍囧噯鏃堕暱锛堢锛�")
+    @ExcelColumn(name="鏍囧噯鏃堕暱锛堢锛�")
+    private String times;
+
+    @ApiModelProperty(value = "涓嶈壇鍝佹槸鍚﹁鍏� 0鍚� 1鏄�", example = "1")
+    @ExcelColumn(name="涓嶈壇鍝佹槸鍚﹁鍏� 0鍚� 1鏄�")
+    private Integer unqualified;
+
+    @ApiModelProperty(value = "璁′环鏂瑰紡 0璁′欢 1璁℃椂", example = "1")
+    @ExcelColumn(name="璁′环鏂瑰紡 0璁′欢 1璁℃椂")
+    private Integer type;
+
+}
diff --git a/server/src/main/java/doumeemes/dao/business/model/WorkPlans.java b/server/src/main/java/doumeemes/dao/business/model/WorkPlans.java
index 883ece0..7fec7be 100644
--- a/server/src/main/java/doumeemes/dao/business/model/WorkPlans.java
+++ b/server/src/main/java/doumeemes/dao/business/model/WorkPlans.java
@@ -65,6 +65,10 @@
     @Excel(name="璁″垝鏃ユ湡",orderNum ="1",format = "yyyy-MM-dd")
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planDate;
+    @ApiModelProperty(value = "璁″垝寮�濮嬫棩鏈�")
+    @Excel(name="璁″垝寮�濮嬫棩鏈�",orderNum ="1",format = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date startDate;
 
     @ApiModelProperty(value = "浜у搧鍚嶇О" )
     @TableField(exist = false)
diff --git a/server/src/main/java/doumeemes/dao/business/vo/WorkPlansVO.java b/server/src/main/java/doumeemes/dao/business/vo/WorkPlansVO.java
index 8f3c4bc..57e4141 100644
--- a/server/src/main/java/doumeemes/dao/business/vo/WorkPlansVO.java
+++ b/server/src/main/java/doumeemes/dao/business/vo/WorkPlansVO.java
@@ -71,6 +71,10 @@
     @ExcelColumn(name="璁″垝鏃ユ湡",index = 3,width =15)
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date planDate;
+    @ApiModelProperty(value = "璁″垝寮�濮嬫棩鏈�")
+    @ExcelColumn(name="璁″垝寮�濮嬫棩鏈�",index = 3,width =15)
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date startDate;
 
     @ApiModelProperty(value = "鐗╂枡缂栫爜锛堝叧鑱攎aterial_distribute琛級", example = "1")
     private Integer materialId;
diff --git a/server/src/main/java/doumeemes/service/business/SalaryParamService.java b/server/src/main/java/doumeemes/service/business/SalaryParamService.java
new file mode 100644
index 0000000..1e89246
--- /dev/null
+++ b/server/src/main/java/doumeemes/service/business/SalaryParamService.java
@@ -0,0 +1,97 @@
+package doumeemes.service.business;
+
+import doumeemes.core.model.PageData;
+import doumeemes.core.model.PageWrap;
+import doumeemes.dao.business.model.SalaryParam;
+import java.util.List;
+
+/**
+ * 璁剧疆绫�-缁╂晥宸ヨ祫閰嶇疆琛⊿ervice瀹氫箟
+ * @author 姹熻箘韫�
+ * @date 2023/08/11 15:29
+ */
+public interface SalaryParamService {
+
+    /**
+     * 鍒涘缓
+     * 
+     * @param salaryParam 瀹炰綋瀵硅薄
+     * @return Integer
+     */
+    Integer create(SalaryParam salaryParam);
+
+    /**
+     * 涓婚敭鍒犻櫎
+     *
+     * @param id 涓婚敭
+     */
+    void deleteById(Integer id);
+
+    /**
+     * 鍒犻櫎
+     *
+     * @param salaryParam 瀹炰綋瀵硅薄
+     */
+    void delete(SalaryParam salaryParam);
+
+    /**
+     * 鎵归噺涓婚敭鍒犻櫎
+     *
+     * @param ids 涓婚敭闆�
+     */
+    void deleteByIdInBatch(List<Integer> ids);
+
+    /**
+     * 涓婚敭鏇存柊
+     *
+     * @param salaryParam 瀹炰綋瀵硅薄
+     */
+    void updateById(SalaryParam salaryParam);
+
+    /**
+     * 鎵归噺涓婚敭鏇存柊
+     *
+     * @param salaryParams 瀹炰綋闆�
+     */
+    void updateByIdInBatch(List<SalaryParam> salaryParams);
+
+    /**
+     * 涓婚敭鏌ヨ
+     *
+     * @param id 涓婚敭
+     * @return SalaryParam
+     */
+    SalaryParam findById(Integer id);
+
+    /**
+     * 鏉′欢鏌ヨ鍗曟潯璁板綍
+     *
+     * @param salaryParam 瀹炰綋瀵硅薄
+     * @return SalaryParam
+     */
+    SalaryParam findOne(SalaryParam salaryParam);
+
+    /**
+     * 鏉′欢鏌ヨ
+     *
+     * @param salaryParam 瀹炰綋瀵硅薄
+     * @return List<SalaryParam>
+     */
+    List<SalaryParam> findList(SalaryParam salaryParam);
+  
+    /**
+     * 鍒嗛〉鏌ヨ
+     *
+     * @param pageWrap 鍒嗛〉瀵硅薄
+     * @return PageData<SalaryParam>
+     */
+    PageData<SalaryParam> findPage(PageWrap<SalaryParam> pageWrap);
+
+    /**
+     * 鏉′欢缁熻
+     *
+     * @param salaryParam 瀹炰綋瀵硅薄
+     * @return long
+     */
+    long count(SalaryParam salaryParam);
+}
diff --git a/server/src/main/java/doumeemes/service/business/impl/SalaryParamServiceImpl.java b/server/src/main/java/doumeemes/service/business/impl/SalaryParamServiceImpl.java
new file mode 100644
index 0000000..c36de3a
--- /dev/null
+++ b/server/src/main/java/doumeemes/service/business/impl/SalaryParamServiceImpl.java
@@ -0,0 +1,157 @@
+package doumeemes.service.business.impl;
+
+import doumeemes.core.model.PageData;
+import doumeemes.core.model.PageWrap;
+import doumeemes.core.utils.Utils;
+import doumeemes.dao.business.SalaryParamMapper;
+import doumeemes.dao.business.model.SalaryParam;
+import doumeemes.service.business.SalaryParamService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+/**
+ * 璁剧疆绫�-缁╂晥宸ヨ祫閰嶇疆琛⊿ervice瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2023/08/11 15:29
+ */
+@Service
+public class SalaryParamServiceImpl implements SalaryParamService {
+
+    @Autowired
+    private SalaryParamMapper salaryParamMapper;
+
+    @Override
+    public Integer create(SalaryParam salaryParam) {
+        salaryParamMapper.insert(salaryParam);
+        return salaryParam.getId();
+    }
+
+    @Override
+    public void deleteById(Integer id) {
+        salaryParamMapper.deleteById(id);
+    }
+
+    @Override
+    public void delete(SalaryParam salaryParam) {
+        UpdateWrapper<SalaryParam> deleteWrapper = new UpdateWrapper<>(salaryParam);
+        salaryParamMapper.delete(deleteWrapper);
+    }
+
+    @Override
+    public void deleteByIdInBatch(List<Integer> ids) {
+        if (CollectionUtils.isEmpty(ids)) {
+            return;
+        }
+        salaryParamMapper.deleteBatchIds(ids);
+    }
+
+    @Override
+    public void updateById(SalaryParam salaryParam) {
+        salaryParamMapper.updateById(salaryParam);
+    }
+
+    @Override
+    public void updateByIdInBatch(List<SalaryParam> salaryParams) {
+        if (CollectionUtils.isEmpty(salaryParams)) {
+            return;
+        }
+        for (SalaryParam salaryParam: salaryParams) {
+            this.updateById(salaryParam);
+        }
+    }
+
+    @Override
+    public SalaryParam findById(Integer id) {
+        return salaryParamMapper.selectById(id);
+    }
+
+    @Override
+    public SalaryParam findOne(SalaryParam salaryParam) {
+        QueryWrapper<SalaryParam> wrapper = new QueryWrapper<>(salaryParam);
+        return salaryParamMapper.selectOne(wrapper);
+    }
+
+    @Override
+    public List<SalaryParam> findList(SalaryParam salaryParam) {
+        QueryWrapper<SalaryParam> wrapper = new QueryWrapper<>(salaryParam);
+        return salaryParamMapper.selectList(wrapper);
+    }
+  
+    @Override
+    public PageData<SalaryParam> findPage(PageWrap<SalaryParam> pageWrap) {
+        IPage<SalaryParam> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        QueryWrapper<SalaryParam> queryWrapper = new QueryWrapper<>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        if (pageWrap.getModel().getId() != null) {
+            queryWrapper.lambda().eq(SalaryParam::getId, pageWrap.getModel().getId());
+        }
+        if (pageWrap.getModel().getDeleted() != null) {
+            queryWrapper.lambda().eq(SalaryParam::getDeleted, pageWrap.getModel().getDeleted());
+        }
+        if (pageWrap.getModel().getCreateUser() != null) {
+            queryWrapper.lambda().eq(SalaryParam::getCreateUser, pageWrap.getModel().getCreateUser());
+        }
+        if (pageWrap.getModel().getCreateTime() != null) {
+            queryWrapper.lambda().ge(SalaryParam::getCreateTime, Utils.Date.getStart(pageWrap.getModel().getCreateTime()));
+            queryWrapper.lambda().le(SalaryParam::getCreateTime, Utils.Date.getEnd(pageWrap.getModel().getCreateTime()));
+        }
+        if (pageWrap.getModel().getUpdateUser() != null) {
+            queryWrapper.lambda().eq(SalaryParam::getUpdateUser, pageWrap.getModel().getUpdateUser());
+        }
+        if (pageWrap.getModel().getUpdateTime() != null) {
+            queryWrapper.lambda().ge(SalaryParam::getUpdateTime, Utils.Date.getStart(pageWrap.getModel().getUpdateTime()));
+            queryWrapper.lambda().le(SalaryParam::getUpdateTime, Utils.Date.getEnd(pageWrap.getModel().getUpdateTime()));
+        }
+        if (pageWrap.getModel().getRemark() != null) {
+            queryWrapper.lambda().eq(SalaryParam::getRemark, pageWrap.getModel().getRemark());
+        }
+        if (pageWrap.getModel().getRootDepartId() != null) {
+            queryWrapper.lambda().eq(SalaryParam::getRootDepartId, pageWrap.getModel().getRootDepartId());
+        }
+        if (pageWrap.getModel().getDepartId() != null) {
+            queryWrapper.lambda().eq(SalaryParam::getDepartId, pageWrap.getModel().getDepartId());
+        }
+        if (pageWrap.getModel().getProcedureId() != null) {
+            queryWrapper.lambda().eq(SalaryParam::getProcedureId, pageWrap.getModel().getProcedureId());
+        }
+        if (pageWrap.getModel().getBomId() != null) {
+            queryWrapper.lambda().eq(SalaryParam::getBomId, pageWrap.getModel().getBomId());
+        }
+        if (pageWrap.getModel().getSalary() != null) {
+            queryWrapper.lambda().eq(SalaryParam::getSalary, pageWrap.getModel().getSalary());
+        }
+        if (pageWrap.getModel().getNum() != null) {
+            queryWrapper.lambda().eq(SalaryParam::getNum, pageWrap.getModel().getNum());
+        }
+        if (pageWrap.getModel().getTimes() != null) {
+            queryWrapper.lambda().eq(SalaryParam::getTimes, pageWrap.getModel().getTimes());
+        }
+        if (pageWrap.getModel().getUnqualified() != null) {
+            queryWrapper.lambda().eq(SalaryParam::getUnqualified, pageWrap.getModel().getUnqualified());
+        }
+        if (pageWrap.getModel().getType() != null) {
+            queryWrapper.lambda().eq(SalaryParam::getType, pageWrap.getModel().getType());
+        }
+        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
+            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
+                queryWrapper.orderByDesc(sortData.getProperty());
+            } else {
+                queryWrapper.orderByAsc(sortData.getProperty());
+            }
+        }
+        return PageData.from(salaryParamMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public long count(SalaryParam salaryParam) {
+        QueryWrapper<SalaryParam> wrapper = new QueryWrapper<>(salaryParam);
+        return salaryParamMapper.selectCount(wrapper);
+    }
+}
diff --git a/server/src/main/resources/mappers/WorkPlansExtMapper.xml b/server/src/main/resources/mappers/WorkPlansExtMapper.xml
index 2d7aac8..7200c4b 100644
--- a/server/src/main/resources/mappers/WorkPlansExtMapper.xml
+++ b/server/src/main/resources/mappers/WorkPlansExtMapper.xml
@@ -26,6 +26,7 @@
       `workPlans`.`ORIGIN`,
       `workPlans`.`PLAN_CODE`,
       `workPlans`.`PLAN_DATE`,
+      `workPlans`.`START_DATE`,
       `workPlans`.`MATERIAL_ID`,
       `workPlans`.`UNIT_ID`,
       `workPlans`.`NUM`,
@@ -76,6 +77,9 @@
       <if test="planDate != null">
         AND `workPlans`.`PLAN_DATE` = #{planDate}
       </if>
+      <if test="startDate != null">
+        AND `workPlans`.`START_DATE` = #{startDate}
+      </if>
       <if test="materialId != null">
         AND `workPlans`.`MATERIAL_ID` = #{materialId}
       </if>

--
Gitblit v1.9.3