@@ -123,7 +87,7 @@ export default {
computed: {
...mapGetters(["dept"]),
},
- mounted() {},
+ mounted() { },
methods: {
doOk() {
diff --git a/ruoyi-ui/src/views/project/unitpay/dayPay.vue b/ruoyi-ui/src/views/project/unitpay/dayPay.vue
new file mode 100644
index 00000000..f9b77a2c
--- /dev/null
+++ b/ruoyi-ui/src/views/project/unitpay/dayPay.vue
@@ -0,0 +1,141 @@
+
+
+
请选择日期:
+
+
+
搜索
+
+
+
+
+
+
+
+
+
+
+ {{
+ row.workerGender == 1 ? "女" : "男"
+ }}
+
+
+
+
+
+
+ {{(row.pay/100.0).toFixed(2)}}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-ui/src/views/project/unitpay/index.vue b/ruoyi-ui/src/views/project/unitpay/index.vue
index 4513d8d6..ecf9f8ef 100644
--- a/ruoyi-ui/src/views/project/unitpay/index.vue
+++ b/ruoyi-ui/src/views/project/unitpay/index.vue
@@ -2,60 +2,26 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
搜索
@@ -65,46 +31,20 @@
- 新增
+ 新增
- 修改
+ 修改
- 删除
+ 删除
- 导出
+ 导出
@@ -122,31 +62,16 @@
- 修改
- 删除
+ 修改
+ 删除
-
-
+
+
@@ -314,7 +239,7 @@ export default {
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
- this.single = selection.length!==1
+ this.single = selection.length !== 1
this.multiple = !selection.length
},
/** 新增按钮操作 */
@@ -356,12 +281,12 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
- this.$modal.confirm('是否确认删除劳资管理编号为"' + ids + '"的数据项?').then(function() {
+ this.$modal.confirm('是否确认删除劳资管理编号为"' + ids + '"的数据项?').then(function () {
return delUnitpay(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
- }).catch(() => {});
+ }).catch(() => { });
},
/** 导出按钮操作 */
handleExport() {
diff --git a/ruoyi-ui/src/views/project/unitpay/monthPay.vue b/ruoyi-ui/src/views/project/unitpay/monthPay.vue
new file mode 100644
index 00000000..998a2cb6
--- /dev/null
+++ b/ruoyi-ui/src/views/project/unitpay/monthPay.vue
@@ -0,0 +1,146 @@
+
+
+
请选择月份:
+
+
+
搜索
+
+
+
+
+
+
+
+
+
+
+ {{
+ row.workerGender == 1 ? "女" : "男"
+ }}
+
+
+
+
+
+
+
+ {{(row.pay/100.0).toFixed(2)}}
+
+ {{(row.unitPay/100.0).toFixed(2)}}*{{row.days}}={{(row.pay/100.0).toFixed(2)}}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-ui/src/views/project/unitpay/paySetting.vue b/ruoyi-ui/src/views/project/unitpay/paySetting.vue
new file mode 100644
index 00000000..f44cbc90
--- /dev/null
+++ b/ruoyi-ui/src/views/project/unitpay/paySetting.vue
@@ -0,0 +1,89 @@
+
+
+
+ 保存
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-ui/src/views/project/unitpay/unitpayDrawer.vue b/ruoyi-ui/src/views/project/unitpay/unitpayDrawer.vue
new file mode 100644
index 00000000..1c757ecf
--- /dev/null
+++ b/ruoyi-ui/src/views/project/unitpay/unitpayDrawer.vue
@@ -0,0 +1,90 @@
+
+
+
+
+ {{ title + " 【劳务实名管理】" }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/controller/SurProjectAttendanceUnitpayController.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/controller/SurProjectAttendanceUnitpayController.java
index e3c211b6..192f1a18 100644
--- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/controller/SurProjectAttendanceUnitpayController.java
+++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/controller/SurProjectAttendanceUnitpayController.java
@@ -1,7 +1,15 @@
package com.yanzhu.jh.project.controller;
+import java.util.Date;
import java.util.List;
+import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse;
+
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.StrUtil;
+import com.ruoyi.common.utils.DateUtils;
+import com.yanzhu.jh.project.domain.SurProjectAttendanceData;
+import com.yanzhu.jh.project.service.ISurProjectAttendanceDataService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -33,16 +41,73 @@ public class SurProjectAttendanceUnitpayController extends BaseController
{
@Autowired
private ISurProjectAttendanceUnitpayService surProjectAttendanceUnitpayService;
-
+ @Autowired
+ private ISurProjectAttendanceDataService surProjectAttendanceDataService;
/**
* 查询劳资管理列表
*/
@PreAuthorize("@ss.hasPermi('project:unitpay:list')")
@GetMapping("/list")
- public TableDataInfo list(SurProjectAttendanceUnitpay surProjectAttendanceUnitpay)
+ public AjaxResult list(SurProjectAttendanceUnitpay surProjectAttendanceUnitpay)
{
- startPage();
List list = surProjectAttendanceUnitpayService.selectSurProjectAttendanceUnitpayList(surProjectAttendanceUnitpay);
+ List iniList=surProjectAttendanceUnitpayService.initList(surProjectAttendanceUnitpay);
+ for(SurProjectAttendanceUnitpay it :iniList){
+ List tmpList= list.stream().filter(item->StrUtil.equals(it.getWorkTypeName(),item.getWorkTypeName()) && StrUtil.equals(it.getGroupName(),item.getGroupName())).collect(Collectors.toList());
+ if(tmpList.isEmpty()){
+ it.setUnitPay(0l);
+ list.add(it);
+ }
+ }
+ return success(list);
+ }
+ /**
+ * 查询劳资管理列表
+ */
+ @PreAuthorize("@ss.hasPermi('project:unitpay:list')")
+ @GetMapping("/listByDay")
+ public TableDataInfo listByDay(SurProjectAttendanceData attWhere)
+ {
+ attWhere.setAttendanceOutTime(attWhere.getAttendanceOutTime());
+ startPage();
+ String tmp=attWhere.getAttendanceTime();
+ if(StrUtil.isNotEmpty(tmp)){
+ int year= DateUtil.parse(tmp).year();
+ attWhere.setYear(year);
+ }
+ List list = surProjectAttendanceDataService.selectSurProjectAttendanceDataListByDate(attWhere);
+ SurProjectAttendanceUnitpay payWhere=new SurProjectAttendanceUnitpay();
+ payWhere.setCfgId(attWhere.getCfgid());
+ List payList= surProjectAttendanceUnitpayService.selectSurProjectAttendanceUnitpayList(payWhere);
+ for(SurProjectAttendanceData it :list){
+ it.setDays(1l);
+ it.setPay(surProjectAttendanceUnitpayService.getPay(payList,it));
+ }
+
+ return getDataTable(list);
+ }
+
+ @PreAuthorize("@ss.hasPermi('project:unitpay:list')")
+ @GetMapping("/listByMonth")
+ public TableDataInfo listByMonth(SurProjectAttendanceData attWhere)
+ {
+ Date dt=DateUtil.parse(attWhere.getAttendanceTime());
+ attWhere.setAttendanceTime( DateUtil.formatDate(DateUtil.beginOfMonth(dt)) );
+ attWhere.setAttendanceOutTime( DateUtil.formatDate(DateUtil.endOfMonth(dt)));
+ startPage();
+ String tmp=attWhere.getAttendanceTime();
+ if(StrUtil.isNotEmpty(tmp)){
+ int year= DateUtil.parse(tmp).year();
+ attWhere.setYear(year);
+ }
+ List list = surProjectAttendanceDataService.selectSurProjectAttendanceDataListByMonth(attWhere);
+ SurProjectAttendanceUnitpay payWhere=new SurProjectAttendanceUnitpay();
+ payWhere.setCfgId(attWhere.getCfgid());
+ List payList= surProjectAttendanceUnitpayService.selectSurProjectAttendanceUnitpayList(payWhere);
+ for(SurProjectAttendanceData it :list){
+ it.setPay(surProjectAttendanceUnitpayService.getPay(payList,it));
+ }
+
return getDataTable(list);
}
@@ -63,7 +128,7 @@ public class SurProjectAttendanceUnitpayController extends BaseController
* 获取劳资管理详细信息
*/
@PreAuthorize("@ss.hasPermi('project:unitpay:query')")
- @GetMapping(value = "/{id}")
+ @GetMapping(value = "/one/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(surProjectAttendanceUnitpayService.selectSurProjectAttendanceUnitpayById(id));
@@ -75,9 +140,9 @@ public class SurProjectAttendanceUnitpayController extends BaseController
@PreAuthorize("@ss.hasPermi('project:unitpay:add')")
@Log(title = "劳资管理", businessType = BusinessType.INSERT)
@PostMapping
- public AjaxResult add(@RequestBody SurProjectAttendanceUnitpay surProjectAttendanceUnitpay)
+ public AjaxResult add(@RequestBody List datas)
{
- return toAjax(surProjectAttendanceUnitpayService.insertSurProjectAttendanceUnitpay(surProjectAttendanceUnitpay));
+ return toAjax(surProjectAttendanceUnitpayService.addSurProjectAttendanceUnitpaies(datas));
}
/**
diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceData.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceData.java
index ef0789d5..34f2a7ed 100644
--- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceData.java
+++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceData.java
@@ -145,6 +145,42 @@ public class SurProjectAttendanceData extends BaseEntity
}
+ /**
+ * 天数
+ */
+ private long days;
+
+ public long getDays() {
+ return days;
+ }
+
+ public void setDays(long days) {
+ this.days = days;
+ }
+
+ public long getPay() {
+ return pay;
+ }
+
+ public void setPay(long pay) {
+ this.pay = pay;
+ }
+
+ public Long getUnitPay() {
+ return unitPay;
+ }
+
+ public void setUnitPay(Long unitPay) {
+ this.unitPay = unitPay;
+ }
+
+ private Long unitPay;
+
+ /**
+ * 工资
+ */
+ private long pay;
+
private Long projectId;
@Excel(name = "项目名称")
private String projectName;
diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceUnitpay.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceUnitpay.java
index b98adf95..00b52da3 100644
--- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceUnitpay.java
+++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectAttendanceUnitpay.java
@@ -119,6 +119,8 @@ public class SurProjectAttendanceUnitpay extends BaseEntity
return isDel;
}
+ private int year;
+
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@@ -137,4 +139,12 @@ public class SurProjectAttendanceUnitpay extends BaseEntity
.append("updateTime", getUpdateTime())
.toString();
}
+
+ public int getYear() {
+ return year;
+ }
+
+ public void setYear(int year) {
+ this.year = year;
+ }
}
diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceDataMapper.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceDataMapper.java
index 94aad3cd..18e72e99 100644
--- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceDataMapper.java
+++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceDataMapper.java
@@ -132,4 +132,8 @@ public interface SurProjectAttendanceDataMapper
public List attendanceDataList(SurProjectAttendanceData where);
public List groupTodayCompanyTypeId(SurProjectAttendanceData where);
+
+ List selectSurProjectAttendanceDataListByMonth(SurProjectAttendanceData attWhere);
+
+ List selectSurProjectAttendanceDataListByDate(SurProjectAttendanceData attWhere);
}
diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceUnitpayMapper.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceUnitpayMapper.java
index 040143c5..13f53a66 100644
--- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceUnitpayMapper.java
+++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectAttendanceUnitpayMapper.java
@@ -58,4 +58,6 @@ public interface SurProjectAttendanceUnitpayMapper
* @return 结果
*/
public int deleteSurProjectAttendanceUnitpayByIds(Long[] ids);
+
+ List initList(SurProjectAttendanceUnitpay surProjectAttendanceUnitpay);
}
diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectAttendanceDataService.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectAttendanceDataService.java
index 7cd7393a..54ba2925 100644
--- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectAttendanceDataService.java
+++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectAttendanceDataService.java
@@ -138,4 +138,8 @@ public interface ISurProjectAttendanceDataService
* @param addList
*/
void addList(List addList);
+
+ List selectSurProjectAttendanceDataListByMonth(SurProjectAttendanceData attWhere);
+
+ List selectSurProjectAttendanceDataListByDate(SurProjectAttendanceData attWhere);
}
diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectAttendanceUnitpayService.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectAttendanceUnitpayService.java
index 43fdbcbb..c1a48705 100644
--- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectAttendanceUnitpayService.java
+++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectAttendanceUnitpayService.java
@@ -1,6 +1,8 @@
package com.yanzhu.jh.project.service;
import java.util.List;
+
+import com.yanzhu.jh.project.domain.SurProjectAttendanceData;
import com.yanzhu.jh.project.domain.SurProjectAttendanceUnitpay;
/**
@@ -58,4 +60,10 @@ public interface ISurProjectAttendanceUnitpayService
* @return 结果
*/
public int deleteSurProjectAttendanceUnitpayById(Long id);
+
+ Long getPay(List payList, SurProjectAttendanceData it);
+
+ List initList(SurProjectAttendanceUnitpay surProjectAttendanceUnitpay);
+
+ int addSurProjectAttendanceUnitpaies(List datas);
}
diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceDataServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceDataServiceImpl.java
index f52bd972..18d75c3b 100644
--- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceDataServiceImpl.java
+++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceDataServiceImpl.java
@@ -517,4 +517,14 @@ public class SurProjectAttendanceDataServiceImpl implements ISurProjectAttendanc
}
}
+ @Override
+ public List selectSurProjectAttendanceDataListByMonth(SurProjectAttendanceData attWhere) {
+ return surProjectAttendanceDataMapper.selectSurProjectAttendanceDataListByMonth(attWhere);
+ }
+
+ @Override
+ public List selectSurProjectAttendanceDataListByDate(SurProjectAttendanceData attWhere) {
+ return surProjectAttendanceDataMapper.selectSurProjectAttendanceDataListByDate(attWhere);
+ }
+
}
diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceUnitpayServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceUnitpayServiceImpl.java
index eb4d05d4..783bc90c 100644
--- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceUnitpayServiceImpl.java
+++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAttendanceUnitpayServiceImpl.java
@@ -1,7 +1,14 @@
package com.yanzhu.jh.project.service.impl;
+import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
+
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.StrUtil;
import com.ruoyi.common.utils.DateUtils;
+import com.yanzhu.jh.project.domain.SurProjectAttendanceData;
+import com.yanzhu.jh.project.mapper.SurProjectAttendanceDataMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.yanzhu.jh.project.mapper.SurProjectAttendanceUnitpayMapper;
@@ -20,6 +27,7 @@ public class SurProjectAttendanceUnitpayServiceImpl implements ISurProjectAttend
@Autowired
private SurProjectAttendanceUnitpayMapper surProjectAttendanceUnitpayMapper;
+
/**
* 查询劳资管理
*
@@ -95,4 +103,48 @@ public class SurProjectAttendanceUnitpayServiceImpl implements ISurProjectAttend
{
return surProjectAttendanceUnitpayMapper.deleteSurProjectAttendanceUnitpayById(id);
}
+
+ @Override
+ public Long getPay(List payList, SurProjectAttendanceData it) {
+ for(SurProjectAttendanceUnitpay pay : payList){
+ if(StrUtil.equals(pay.getGroupName(),it.getGroupName()) && StrUtil.equals(pay.getWorkTypeName(),it.getWorkTypeName())){
+ it.setUnitPay(pay.getUnitPay());
+ return it.getDays()*pay.getUnitPay();
+ }
+ }
+ return 0l;
+ }
+
+ @Override
+ public List initList(SurProjectAttendanceUnitpay surProjectAttendanceUnitpay) {
+ int year= DateUtil.parse(DateUtil.now()).year();
+ surProjectAttendanceUnitpay.setYear(year);
+ return surProjectAttendanceUnitpayMapper.initList(surProjectAttendanceUnitpay);
+ }
+
+ @Override
+ public int addSurProjectAttendanceUnitpaies(List datas) {
+ if(datas.size()==0){
+ return 0;
+ }
+ Long cfgId= datas.get(0).getCfgId();
+ SurProjectAttendanceUnitpay where=new SurProjectAttendanceUnitpay();
+ where.setCfgId(cfgId);
+ List olds=surProjectAttendanceUnitpayMapper.selectSurProjectAttendanceUnitpayList(where);
+ List addIds=new ArrayList<>();
+ for(SurProjectAttendanceUnitpay it : datas){
+ if(it.getId()!=null){
+ surProjectAttendanceUnitpayMapper.updateSurProjectAttendanceUnitpay(it);
+ addIds.add(it.getId());
+ }else{
+ surProjectAttendanceUnitpayMapper.insertSurProjectAttendanceUnitpay(it);
+ }
+ }
+ for(SurProjectAttendanceUnitpay it : olds){
+ if(!addIds.contains(it.getId())){
+ surProjectAttendanceUnitpayMapper.deleteSurProjectAttendanceUnitpayById(it.getId());
+ }
+ }
+ return datas.size();
+ }
}
diff --git a/yanzhu-jh/src/main/resources/mapper/project/SurProjectAttendanceDataMapper.xml b/yanzhu-jh/src/main/resources/mapper/project/SurProjectAttendanceDataMapper.xml
index 9f1d3f9d..b292cce1 100644
--- a/yanzhu-jh/src/main/resources/mapper/project/SurProjectAttendanceDataMapper.xml
+++ b/yanzhu-jh/src/main/resources/mapper/project/SurProjectAttendanceDataMapper.xml
@@ -42,6 +42,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
@@ -450,7 +451,67 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from sys_dept sd
where sd.dept_name = #{deptName}
-
+
+