diff --git a/src/com/api/salary/web/AttendQuoteController.java b/src/com/api/salary/web/AttendQuoteController.java
new file mode 100644
index 000000000..799720f98
--- /dev/null
+++ b/src/com/api/salary/web/AttendQuoteController.java
@@ -0,0 +1,8 @@
+package com.api.salary.web;
+
+import javax.ws.rs.Path;
+
+@Path("/bs/hrmsalary/attendQuote")
+public class AttendQuoteController extends com.engine.salary.web.AddUpDeductionController{
+
+}
diff --git a/src/com/engine/salary/cmd/datacollection/AddUpDeductionGetDetailListCmd.java b/src/com/engine/salary/cmd/datacollection/AddUpDeductionGetDetailListCmd.java
index 1b0456835..4796b1722 100644
--- a/src/com/engine/salary/cmd/datacollection/AddUpDeductionGetDetailListCmd.java
+++ b/src/com/engine/salary/cmd/datacollection/AddUpDeductionGetDetailListCmd.java
@@ -5,8 +5,10 @@ import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.salary.biz.AddUpDeductionBiz;
+import com.engine.salary.biz.EmployBiz;
import com.engine.salary.component.SalaryWeaTable;
import com.engine.salary.entity.datacollection.AddUpDeduction;
+import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.datacollection.dto.AddUpDeductionRecordDTO;
import com.engine.salary.entity.datacollection.param.AddUpDeductionQueryParam;
import com.engine.salary.exception.SalaryRunTimeException;
@@ -32,6 +34,7 @@ public class AddUpDeductionGetDetailListCmd extends AbstractCommonCommand
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@SalaryTable(pageId = "a4f852o1-e3f9-7841-adn9-7d06e54y6rj8", operates = {
+ @SalaryTableOperate(text = "查看", index = "0"),
+ @SalaryTableOperate(text = "删除", index = "1")
+})
+public class AttendQuoteListDTO {
+
+ @SalaryTableColumn(column = "id", display = false)
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long id;
+
+ @SalaryTableColumn(text = "薪资所属月", width = "10%", column = "salaryYearMonth", transmethod = "com.engine.salary.transmethod.TransMethod.timeToMoth")
+ @JsonFormat(pattern = "yyyy-MM")
+ private Date salaryYearMonth;
+
+ @SalaryTableColumn(text = "关联账套", width = "10%", column = "salarySobName")
+ private String salarySobName;
+
+ @SalaryTableColumn(text = "考勤周期", width = "10%", column = "attendCycle")
+ private String attendCycle;
+
+ @SalaryTableColumn(text = "来源", width = "10%", column = "sourceType")
+ private String sourceType;
+
+ @SalaryTableColumn(text = "薪资周期", width = "10%", column = "salaryCycle")
+ private String salaryCycle;
+
+ @SalaryTableColumn(text = "操作人", width = "10%", column = "creator")
+ private String creator;
+
+ @SalaryTableColumn(text = "备注", width = "10%", column = "description")
+ private String description;
+
+ /**
+ * 薪资核算状态。0:未核算、1:已核算
+ */
+ private Integer salaryAccountingStatus;
+}
diff --git a/src/com/engine/salary/entity/datacollection/dto/OtherDeductionListDTO.java b/src/com/engine/salary/entity/datacollection/dto/OtherDeductionListDTO.java
index a67b85f27..4d59291b5 100644
--- a/src/com/engine/salary/entity/datacollection/dto/OtherDeductionListDTO.java
+++ b/src/com/engine/salary/entity/datacollection/dto/OtherDeductionListDTO.java
@@ -3,12 +3,14 @@ package com.engine.salary.entity.datacollection.dto;
import com.engine.salary.annotation.SalaryTable;
import com.engine.salary.annotation.SalaryTableColumn;
import com.engine.salary.annotation.SalaryTableOperate;
+import com.engine.salary.util.excel.ExcelProperty;
+import com.weaverboot.tools.enumTools.weaComponent.WeaTableTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
-import java.time.LocalDate;
+import java.util.Date;
/**
* 数据采集-其他免税扣除列表
@@ -22,7 +24,7 @@ import java.time.LocalDate;
@Builder
@NoArgsConstructor
@AllArgsConstructor
-@SalaryTable(pageId = "a4f85287-e3f9-6612-adn9-7d06e54y6rj8", operates = {
+@SalaryTable(pageId = "a4f85287-e3f9-6612-adn9-7d06e54y6rj8", tableType = WeaTableTypeEnum.CHECKBOX, operates = {
@SalaryTableOperate(text = "查看明细")
})
public class OtherDeductionListDTO {
@@ -38,45 +40,56 @@ public class OtherDeductionListDTO {
//姓名
@SalaryTableColumn(text = "姓名", width = "10%", column = "username")
+ @ExcelProperty(index = 0)
private String username;
//个税扣缴义务人
@SalaryTableColumn(text = "个税扣缴义务人", width = "10%", column = "taxAgentName")
+ @ExcelProperty(index = 1)
private String taxAgentName;
//部门
@SalaryTableColumn(text = "部门", width = "10%", column = "departmentName")
+ @ExcelProperty(index = 2)
private String departmentName;
//手机号
@SalaryTableColumn(text = "手机号", width = "10%", column = "mobile")
+ @ExcelProperty(index = 3)
private String mobile;
//工号
@SalaryTableColumn(text = "工号", width = "10%", column = "jobNum")
+ @ExcelProperty(index = 4)
private String jobNum;
//证件号码
@SalaryTableColumn(text = "证件号码", width = "10%", column = "idNo")
+ @ExcelProperty(index = 5)
private String idNo;
//入职日期
+ @ExcelProperty(index = 6)
@SalaryTableColumn(text = "入职日期", width = "10%", column = "hiredate", transmethod = "com.engine.salary.transmethod.TransMethod.timeToDate")
- private LocalDate hiredate;
+ private Date hiredate;
//商业健康保险
+ @ExcelProperty(index = 7)
@SalaryTableColumn(text = "商业健康保险", width = "10%", column = "businessHealthyInsurance")
private String businessHealthyInsurance;
//税延养老保险
+ @ExcelProperty(index = 8)
@SalaryTableColumn(text = "税延养老保险", width = "10%", column = "taxDelayEndowmentInsurance")
private String taxDelayEndowmentInsurance;
//其他
+ @ExcelProperty(index = 9)
@SalaryTableColumn(text = "其他", width = "10%", column = "otherDeduction")
private String otherDeduction;
//准予扣除的捐赠额
+ @ExcelProperty(index = 10)
@SalaryTableColumn(text = "准予扣除的捐赠额", width = "10%", column = "deductionAllowedDonation")
private String deductionAllowedDonation;
diff --git a/src/com/engine/salary/entity/datacollection/dto/OtherDeductionRecordDTO.java b/src/com/engine/salary/entity/datacollection/dto/OtherDeductionRecordDTO.java
index f0d437c66..bf3c1bc24 100644
--- a/src/com/engine/salary/entity/datacollection/dto/OtherDeductionRecordDTO.java
+++ b/src/com/engine/salary/entity/datacollection/dto/OtherDeductionRecordDTO.java
@@ -2,6 +2,7 @@ package com.engine.salary.entity.datacollection.dto;
import com.engine.salary.annotation.SalaryTable;
import com.engine.salary.annotation.SalaryTableColumn;
+import com.weaverboot.tools.enumTools.weaComponent.WeaTableTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@@ -21,7 +22,7 @@ import java.util.Date;
@Builder
@NoArgsConstructor
@AllArgsConstructor
-@SalaryTable(pageId = "a4f85287-e3f9-6612-adn9-7d98e54y6rj8")
+@SalaryTable(pageId = "a4f85287-e3f9-6612-adn9-7d98e54y6rj8", tableType = WeaTableTypeEnum.CHECKBOX)
public class OtherDeductionRecordDTO {
//主键id
diff --git a/src/com/engine/salary/entity/datacollection/param/AttendQuoteQueryParam.java b/src/com/engine/salary/entity/datacollection/param/AttendQuoteQueryParam.java
new file mode 100644
index 000000000..4f34680f6
--- /dev/null
+++ b/src/com/engine/salary/entity/datacollection/param/AttendQuoteQueryParam.java
@@ -0,0 +1,29 @@
+package com.engine.salary.entity.datacollection.param;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 数据采集-考勤引用查询参数
+ * Copyright: Copyright (c) 2022
+ * Company: 泛微软件
+ *
+ * @author qiantao
+ * @version 1.0
+ **/
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AttendQuoteQueryParam {
+
+ private Collection ids;
+
+ //薪资所属月
+ private List salaryYearMonth;
+}
diff --git a/src/com/engine/salary/entity/datacollection/po/AttendQuotePO.java b/src/com/engine/salary/entity/datacollection/po/AttendQuotePO.java
new file mode 100644
index 000000000..a2c5fe267
--- /dev/null
+++ b/src/com/engine/salary/entity/datacollection/po/AttendQuotePO.java
@@ -0,0 +1,79 @@
+package com.engine.salary.entity.datacollection.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * 考勤引用表
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AttendQuotePO {
+ /**
+ * 主键
+ */
+ private Long id;
+ /**
+ * 税款所属期
+ */
+ private Date salaryYearMonth;
+ /**
+ * 年份
+ */
+ private Integer year;
+ /**
+ * 月份
+ */
+ private Integer month;
+ /**
+ * 薪资账套表的主键id
+ */
+ private Long salarySobId;
+ /**
+ * 来源。1:引用、2:导入
+ */
+ private Integer sourceType;
+ /**
+ * 薪资核算状态。0:未核算、1:已核算
+ */
+ private Integer salaryAccountingStatus;
+ /**
+ * 考勤周期
+ */
+ private String attendCycle;
+ /**
+ * 薪资周期
+ */
+ private String salaryCycle;
+ /**
+ * 备注
+ */
+ private String description;
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+ /**
+ * 更新时间
+ */
+ private Date updateTime;
+ /**
+ * 创建人
+ */
+ private Long creator;
+ /**
+ * 是否已删除。0:未删除、1:已删除
+ */
+ private Integer deleteType;
+ /**
+ * 租户ID
+ */
+ private String tenantKey;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/entity/salarysob/po/SalarySobPO.java b/src/com/engine/salary/entity/salarysob/po/SalarySobPO.java
new file mode 100644
index 000000000..f7f8d7af8
--- /dev/null
+++ b/src/com/engine/salary/entity/salarysob/po/SalarySobPO.java
@@ -0,0 +1,83 @@
+package com.engine.salary.entity.salarysob.po;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+/**
+ * 薪资帐套表
+ */
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class SalarySobPO {
+ /**
+ * 主键id
+ */
+ private Long id;
+ /**
+ * 名称
+ */
+ private String name;
+ /**
+ * 应税项目。1:正常工资薪金所得
+ */
+ private Integer incomeCategory;
+ /**
+ * 薪资周期。1:上上月、2:上月、3:本月、4:下月
+ */
+ private Integer salaryCycleType;
+ /**
+ * 薪资周期的起始日期
+ */
+ private Integer salaryCycleFromDay;
+ /**
+ * 税款所属期。1:上上月、2:上月、3:本月、4:下月
+ */
+ private Integer taxCycleType;
+ /**
+ * 考勤周期。1:上上月、2:上月、3:本月、4:下月
+ */
+ private Integer attendCycleType;
+ /**
+ * 考勤周期的起始日期
+ */
+ private Integer attendCycleFromDay;
+ /**
+ * 社保福利所属期。1:上上月、2:上月、3:本月、4:下月
+ */
+ private Integer socialSecurityCycleType;
+ /**
+ * 是否禁用。0:正常使用、1:禁用
+ */
+ private Integer disable;
+ /**
+ * 描述
+ */
+ private String description;
+ /**
+ * 创建人
+ */
+ private Long creator;
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+ /**
+ * 更新时间
+ */
+ private Date updateTime;
+ /**
+ * 是否已删除。0:未删除、1:已删除
+ */
+ private Integer deleteType;
+ /**
+ * 租户ID
+ */
+ private String tenantKey;
+
+}
\ No newline at end of file
diff --git a/src/com/engine/salary/init.sql b/src/com/engine/salary/init.sql
index 722803080..2ed3c2277 100644
--- a/src/com/engine/salary/init.sql
+++ b/src/com/engine/salary/init.sql
@@ -4,6 +4,8 @@ alter table hrsa_tax_rate_base modify id bigint auto_increment;
alter table hrsa_tax_rate_detail modify id bigint auto_increment;
alter table hrsa_add_up_deduction modify id bigint auto_increment;
alter table hrsa_add_up_situation modify id bigint auto_increment;
+alter table hrsa_other_deduction modify id bigint auto_increment;
+
diff --git a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml
index fa597bb80..2bc6043fe 100644
--- a/src/com/engine/salary/mapper/datacollection/EmployMapper.xml
+++ b/src/com/engine/salary/mapper/datacollection/EmployMapper.xml
@@ -17,7 +17,7 @@
from hrmresource e
where e.status not in (7)
- AND d.id IN
+ AND e.id IN
#{id}
diff --git a/src/com/engine/salary/service/AttendQuoteService.java b/src/com/engine/salary/service/AttendQuoteService.java
new file mode 100644
index 000000000..96507f1fc
--- /dev/null
+++ b/src/com/engine/salary/service/AttendQuoteService.java
@@ -0,0 +1,44 @@
+package com.engine.salary.service;
+
+import java.util.Map;
+
+public interface AttendQuoteService {
+ /**
+ * 数据采集-考勤引用列表
+ */
+ Map list(Map params);
+
+// /**
+// * 删除数据采集-考勤引用
+// * @param ids
+// * @param employeeId
+// * @param tenantKey
+// * @return
+// */
+// WeaResult delete(Collection ids, Long employeeId, String tenantKey);
+//
+// /**
+// * 获取引用考勤表单
+// * @param currentEmployeeId
+// * @param currentTenantKey
+// * @return
+// */
+// WeaForm getSyncForm(Long currentEmployeeId, String currentTenantKey);
+//
+// /**
+// * 获取薪资周期和考勤周期
+// * @param salaryYearMonth
+// * @param salarySobId
+// * @param currentTenantKey
+// * @return
+// */
+// Map getSalaryCycleAndAttendCycle(YearMonth salaryYearMonth, Long salarySobId, Long currentEmployeeId, String currentTenantKey);
+//
+// /**
+// * 获取薪资账套下拉列表
+// * @param currentEmployeeId
+// * @param currentTenantKey
+// * @return
+// */
+// List> selectSalarySobList(Long currentEmployeeId, String currentTenantKey);
+}
diff --git a/src/com/engine/salary/service/impl/AttendQuoteServiceImpl.java b/src/com/engine/salary/service/impl/AttendQuoteServiceImpl.java
new file mode 100644
index 000000000..f3b724672
--- /dev/null
+++ b/src/com/engine/salary/service/impl/AttendQuoteServiceImpl.java
@@ -0,0 +1,15 @@
+package com.engine.salary.service.impl;
+
+import com.engine.core.impl.Service;
+import com.engine.salary.cmd.datacollection.AttendQuoteListCmd;
+import com.engine.salary.service.AttendQuoteService;
+
+import java.util.Map;
+
+public class AttendQuoteServiceImpl extends Service implements AttendQuoteService {
+
+ @Override
+ public Map list(Map params) {
+ return commandExecutor.execute(new AttendQuoteListCmd(params, user));
+ }
+}
diff --git a/src/com/engine/salary/web/AddUpSituationController.java b/src/com/engine/salary/web/AddUpSituationController.java
index 7cb00e799..efffb1483 100644
--- a/src/com/engine/salary/web/AddUpSituationController.java
+++ b/src/com/engine/salary/web/AddUpSituationController.java
@@ -63,7 +63,17 @@ public class AddUpSituationController {
User user = HrmUserVarify.getUser(request, response);
Map map = ParamUtil.request2Map(request);
map.put("queryParam", queryParam);
- return ResponseResult.run(getService(user)::list, ParamUtil.request2Map(request));
+ return ResponseResult.run(getService(user)::list, map);
+ }
+
+ @POST
+ @Path("/getDetailList")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String getDetailList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody AddUpSituationQueryParam queryParam) {
+ User user = HrmUserVarify.getUser(request, response);
+ Map map = ParamUtil.request2Map(request);
+ map.put("queryParam", queryParam);
+ return ResponseResult.run(getService(user)::getDetailList, map);
}
@@ -250,4 +260,6 @@ public class AddUpSituationController {
return ResponseResult.run(getService(user)::importAddUpSituation, map);
}
+
+
}
diff --git a/src/com/engine/salary/web/AttendQuoteController.java b/src/com/engine/salary/web/AttendQuoteController.java
new file mode 100644
index 000000000..e7aad407f
--- /dev/null
+++ b/src/com/engine/salary/web/AttendQuoteController.java
@@ -0,0 +1,41 @@
+package com.engine.salary.web;
+
+import com.engine.common.util.ParamUtil;
+import com.engine.common.util.ServiceUtil;
+import com.engine.salary.entity.datacollection.param.AttendQuoteQueryParam;
+import com.engine.salary.service.AttendQuoteService;
+import com.engine.salary.service.impl.AttendQuoteServiceImpl;
+import com.engine.salary.util.ResponseResult;
+import io.swagger.v3.oas.annotations.parameters.RequestBody;
+import weaver.hrm.HrmUserVarify;
+import weaver.hrm.User;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.MediaType;
+import java.util.Map;
+
+public class AttendQuoteController {
+
+ private AttendQuoteService getService(User user) {
+ return (AttendQuoteService) ServiceUtil.getService(AttendQuoteServiceImpl.class, user);
+ }
+
+ /**
+ * 考勤数据列表
+ */
+ @GET
+ @Path("/list")
+ @Produces(MediaType.APPLICATION_JSON)
+ public String list(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody AttendQuoteQueryParam queryParam) {
+ User user = HrmUserVarify.getUser(request, response);
+ Map map = ParamUtil.request2Map(request);
+ map.put("queryParam", queryParam);
+ return ResponseResult.run(getService(user)::list, map);
+ }
+
+}