This commit is contained in:
parent
7f17c68c9c
commit
e6b4b4c4da
|
|
@ -10,6 +10,7 @@ import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordSaveParam;
|
|||
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
||||
import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO;
|
||||
import com.engine.salary.entity.salarysob.po.SalarySobPO;
|
||||
import com.engine.salary.enums.salaryaccounting.ApprovalWorkflowStatusEnum;
|
||||
import com.engine.salary.enums.salaryaccounting.SalaryAcctRecordStatusEnum;
|
||||
import com.engine.salary.util.SalaryDateUtil;
|
||||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
|
|
@ -45,7 +46,8 @@ public class SalaryAcctRecordBO {
|
|||
List<SalarySobPO> salarySobs,
|
||||
List<DataCollectionEmployee> employeeComInfos,
|
||||
List<SalaryAcctEmployeeCountDTO> salaryAcctEmployeeCountDTOS,
|
||||
List<SalarySendCheckDTO> salarySendCheckResult) {
|
||||
List<SalarySendCheckDTO> salarySendCheckResult,
|
||||
Map<String, String> workflowStatusMap) {
|
||||
if (CollectionUtils.isEmpty(salaryAcctRecordPOS)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
|
@ -57,6 +59,15 @@ public class SalaryAcctRecordBO {
|
|||
.map(salaryAcctRecordPO -> {
|
||||
SalarySobPO salarySobPO = salarySobMap.get(salaryAcctRecordPO.getSalarySobId());
|
||||
SalaryAcctRecordStatusEnum salaryAcctRecordStatusEnum = SalaryAcctRecordStatusEnum.parseByValue(salaryAcctRecordPO.getStatus());
|
||||
// 获取审批流程状态
|
||||
ApprovalWorkflowStatusEnum workflowStatusEnum;
|
||||
if (StringUtils.isBlank(salaryAcctRecordPO.getApprovalRequestId()) || StringUtils.isBlank(workflowStatusMap.get(salaryAcctRecordPO.getApprovalRequestId())) ) {
|
||||
workflowStatusEnum = ApprovalWorkflowStatusEnum.UNAPPROVED;
|
||||
} else if (StringUtils.equals(workflowStatusMap.get(salaryAcctRecordPO.getApprovalRequestId()),"3")) {
|
||||
workflowStatusEnum = ApprovalWorkflowStatusEnum.APPROVED;
|
||||
} else {
|
||||
workflowStatusEnum = ApprovalWorkflowStatusEnum.UNDER_APPROVAL;
|
||||
}
|
||||
// 只有未归档时可以"核算"、"删除"、"归档"
|
||||
// 归档后、工资单全部发放以后可以"查看"、"重新核算"、"回算"
|
||||
// 归档后、申报后可以"查看"、"重新核算"
|
||||
|
|
@ -70,11 +81,15 @@ public class SalaryAcctRecordBO {
|
|||
btnList.add(new WeaTableOperate("归档", null, "2"));
|
||||
} else if (SalaryAcctRecordStatusEnum.ARCHIVED == salaryAcctRecordStatusEnum && ( salarySendMap.get(salaryAcctRecordPO.getId()) ==Boolean.TRUE ) ){
|
||||
btnList.add(new WeaTableOperate("查看", null, "3"));
|
||||
btnList.add(new WeaTableOperate("重新核算", null, "4"));
|
||||
if (workflowStatusEnum != ApprovalWorkflowStatusEnum.APPROVED) {
|
||||
btnList.add(new WeaTableOperate("重新核算", null, "4"));
|
||||
}
|
||||
btnList.add(new WeaTableOperate("回算", null, "5"));
|
||||
} else {
|
||||
btnList.add(new WeaTableOperate("查看", null, "3"));
|
||||
btnList.add(new WeaTableOperate("重新核算", null, "4"));
|
||||
if (workflowStatusEnum != ApprovalWorkflowStatusEnum.APPROVED) {
|
||||
btnList.add(new WeaTableOperate("重新核算", null, "4"));
|
||||
}
|
||||
}
|
||||
return SalaryAcctRecordListDTO.builder()
|
||||
.id(salaryAcctRecordPO.getId())
|
||||
|
|
@ -84,6 +99,7 @@ public class SalaryAcctRecordBO {
|
|||
.status(Optional.ofNullable(salaryAcctRecordStatusEnum)
|
||||
.map(o -> SalaryI18nUtil.getI18nLabel(o.getLabelId(), o.getDefaultLabel()))
|
||||
.orElse(StringUtils.EMPTY))
|
||||
.workflowStatus(workflowStatusEnum.getDefaultLabel())
|
||||
.acctTimes(salaryAcctRecordPO.getAcctTimes())
|
||||
.acctTimesViable(salaryAcctRecordPO.getAcctTimes() >= 1)
|
||||
.backCalcStatus(salaryAcctRecordPO.getBackCalcStatus() == null ? 0 : salaryAcctRecordPO.getBackCalcStatus())
|
||||
|
|
|
|||
|
|
@ -57,6 +57,8 @@ public class SalaryAcctRecordListDTO {
|
|||
@TableTitle(title = "状态", dataIndex = "status", key = "status")
|
||||
private String status;
|
||||
|
||||
@TableTitle(title = "流程状态", dataIndex = "workflowStatus", key = "workflowStatus")
|
||||
private String workflowStatus;
|
||||
|
||||
@TableTitle(title = "核算人数", dataIndex = "employeeSize", key = "employeeSize")
|
||||
private Long employeeSize;
|
||||
|
|
|
|||
|
|
@ -113,6 +113,16 @@ public class SalaryAcctRecordPO {
|
|||
*/
|
||||
private List<Long> lockSalaryItemIds;
|
||||
|
||||
/**
|
||||
* 审核流程请求id
|
||||
*/
|
||||
private String approvalRequestId;
|
||||
|
||||
/**
|
||||
* 审核流程id
|
||||
*/
|
||||
private String approvalWorkflowId;
|
||||
|
||||
//查询条件-------------------------------
|
||||
Collection<Long> ids;
|
||||
|
||||
|
|
|
|||
|
|
@ -143,7 +143,9 @@ public class SalarySobBO {
|
|||
.setAttendCycleFromDay(salarySobPO.getAttendCycleFromDay())
|
||||
.setSocialSecurityCycleType(salarySobPO.getSocialSecurityCycleType())
|
||||
.setTaxAgentId(salarySobPO.getTaxAgentId())
|
||||
.setDescription(salarySobPO.getDescription());
|
||||
.setDescription(salarySobPO.getDescription())
|
||||
.setApprovalUrl(salarySobPO.getApprovalUrl())
|
||||
.setApprovalWorkflowId(salarySobPO.getApprovalWorkflowId());
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import com.engine.salary.enums.sicategory.DeleteTypeEnum;
|
|||
import com.engine.salary.util.SalaryEntityUtil;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.mzlion.core.utils.BeanUtils;
|
||||
import dm.jdbc.util.IdGenerator;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
|
@ -69,6 +70,8 @@ public class SalarySobItemBO {
|
|||
Date now = new Date();
|
||||
// 需要保存的隐藏项目
|
||||
List<SalarySobItemHidePO> needInsertItemHides = new ArrayList<>();
|
||||
// 需要保存的隐藏项目
|
||||
List<WorkflowItemHidePO> needInsertWorkflowItemHides = new ArrayList<>();
|
||||
// 处理薪资账套默认的薪资项目分类
|
||||
Map<Long, Long> salarySobItemGroupIdMap = Maps.newHashMapWithExpectedSize(salarySobDefaultItemGroupPOS.size());
|
||||
List<SalarySobItemGroupPO> salarySobItemGroups = Lists.newArrayListWithExpectedSize(salarySobDefaultItemGroupPOS.size());
|
||||
|
|
@ -129,18 +132,21 @@ public class SalarySobItemBO {
|
|||
.build());
|
||||
|
||||
// 保存薪资项目隐藏信息
|
||||
needInsertItemHides.add(SalarySobItemHidePO.builder()
|
||||
SalarySobItemHidePO salarySobItemHidePO = SalarySobItemHidePO.builder()
|
||||
.id(IdGenerator.generate())
|
||||
.salarySobId(salarySobId)
|
||||
.salaryItemId(salaryItemPO.getId())
|
||||
.isGroup(0)
|
||||
.itemHide(Long.valueOf(salaryItemPO.getHideDefault()== null ? 0 : salaryItemPO.getHideDefault()))
|
||||
.itemHide(Long.valueOf(salaryItemPO.getHideDefault() == null ? 0 : salaryItemPO.getHideDefault()))
|
||||
.creator(employeeId)
|
||||
.createTime(now)
|
||||
.updateTime(now)
|
||||
.deleteType(NumberUtils.INTEGER_ZERO)
|
||||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.build());
|
||||
.build();
|
||||
needInsertItemHides.add(salarySobItemHidePO);
|
||||
// 保存薪资项目是否在审批流程中展示(默认不隐藏)
|
||||
needInsertWorkflowItemHides.add(getWorkflowItemHidePO(salarySobItemHidePO, 0L));
|
||||
}
|
||||
// 处理薪资账套默认的自定义薪资项目(开启了"默认使用")
|
||||
for (int i = 0; i < defaultSalaryItemPOS.size(); i++) {
|
||||
|
|
@ -168,7 +174,7 @@ public class SalarySobItemBO {
|
|||
.deleteType(NumberUtils.INTEGER_ZERO)
|
||||
.build());
|
||||
// 保存薪资项目隐藏信息
|
||||
needInsertItemHides.add(SalarySobItemHidePO.builder()
|
||||
SalarySobItemHidePO salarySobItemHidePO = SalarySobItemHidePO.builder()
|
||||
.id(IdGenerator.generate())
|
||||
.salarySobId(salarySobId)
|
||||
.salaryItemId(salaryItemPO.getId())
|
||||
|
|
@ -179,7 +185,10 @@ public class SalarySobItemBO {
|
|||
.updateTime(now)
|
||||
.deleteType(NumberUtils.INTEGER_ZERO)
|
||||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.build());
|
||||
.build();
|
||||
needInsertItemHides.add(salarySobItemHidePO);
|
||||
// 保存薪资项目是否在审批流程中展示(默认不隐藏)
|
||||
needInsertWorkflowItemHides.add(getWorkflowItemHidePO(salarySobItemHidePO, 0L));
|
||||
}
|
||||
|
||||
// 薪资账套默认的回算薪资项目
|
||||
|
|
@ -207,7 +216,16 @@ public class SalarySobItemBO {
|
|||
}
|
||||
|
||||
return new Result().setNeedInsertSalarySobItems(salarySobItems).setNeedInsertSalarySobItemGroups(salarySobItemGroups)
|
||||
.setNeedInsertSalarySobBackItems(salarySobBackItems).setNeedInsertItemHides(needInsertItemHides);
|
||||
.setNeedInsertSalarySobBackItems(salarySobBackItems).setNeedInsertItemHides(needInsertItemHides)
|
||||
.setNeedInsertWorkflowItemHides(needInsertWorkflowItemHides);
|
||||
}
|
||||
|
||||
public static WorkflowItemHidePO getWorkflowItemHidePO(SalarySobItemHidePO salarySobItemHidePO, Long hideInApprovalWorkflow) {
|
||||
WorkflowItemHidePO workflowItemHidePO = new WorkflowItemHidePO();
|
||||
BeanUtils.copyProperties(salarySobItemHidePO, workflowItemHidePO);
|
||||
workflowItemHidePO.setId(IdGenerator.generate());
|
||||
workflowItemHidePO.setItemHide(hideInApprovalWorkflow);
|
||||
return workflowItemHidePO;
|
||||
}
|
||||
|
||||
@Data
|
||||
|
|
@ -233,5 +251,10 @@ public class SalarySobItemBO {
|
|||
* 需要保存的薪资项目隐藏信息
|
||||
*/
|
||||
List<SalarySobItemHidePO> needInsertItemHides;
|
||||
|
||||
/**
|
||||
* 需要保存的薪资项目在审批流程中的隐藏信息
|
||||
*/
|
||||
List<WorkflowItemHidePO> needInsertWorkflowItemHides;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -94,6 +94,16 @@ public class SalarySobBasicFormDTO {
|
|||
*/
|
||||
private Boolean canEdit;
|
||||
|
||||
/**
|
||||
* 审批流程地址
|
||||
*/
|
||||
private String approvalUrl;
|
||||
|
||||
/**
|
||||
* 审批流程id
|
||||
*/
|
||||
private String approvalWorkflowId;
|
||||
|
||||
/**
|
||||
* 薪资账套详情-薪资周期/考勤周期
|
||||
*
|
||||
|
|
|
|||
|
|
@ -96,4 +96,15 @@ public class SalarySobBasicSaveParam {
|
|||
*/
|
||||
@DataCheck(max = 80, message = "备注不能超过80个字符")
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 审批流程地址
|
||||
*/
|
||||
@DataCheck(max = 200, message = "审批流程地址不能超过200字符")
|
||||
private String approvalUrl;
|
||||
|
||||
/**
|
||||
* 审批流程id
|
||||
*/
|
||||
private String approvalWorkflowId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,9 +73,12 @@ public class SalarySobItemSaveParam {
|
|||
//公式")
|
||||
private Long formulaId;
|
||||
|
||||
//该分类是否隐藏(0不隐藏,1隐藏)
|
||||
//该项目是否隐藏(0不隐藏,1隐藏)
|
||||
private Long itemHide;
|
||||
|
||||
//该项目是否在审批时隐藏(0不隐藏,1隐藏)
|
||||
private Long hideInApprovalWorkflow;
|
||||
|
||||
private Boolean canDelete;
|
||||
|
||||
/**
|
||||
|
|
@ -116,5 +119,8 @@ public class SalarySobItemSaveParam {
|
|||
|
||||
//该分类是否隐藏(0不隐藏,1隐藏)
|
||||
private Long itemHide;
|
||||
|
||||
//该分类是否在审批时隐藏(0不隐藏,1隐藏)
|
||||
private Long hideInApprovalWorkflow;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,6 +69,14 @@ public class SalarySobPO {
|
|||
* 描述
|
||||
*/
|
||||
private String description;
|
||||
/**
|
||||
* 审批流程地址
|
||||
*/
|
||||
private String approvalUrl;
|
||||
/**
|
||||
* 审批流程id
|
||||
*/
|
||||
private String approvalWorkflowId;
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,54 @@
|
|||
package com.engine.salary.entity.salarysob.po;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author Harryxzy
|
||||
* @ClassName workflowItemHidePO
|
||||
* @date 2023/08/28 11:38
|
||||
* @description 在审批流程中隐藏的薪资项目
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class WorkflowItemHidePO {
|
||||
private Long id;
|
||||
|
||||
// 账套id
|
||||
private Long salarySobId;
|
||||
|
||||
// 薪资项目id
|
||||
private Long salaryItemId;
|
||||
|
||||
// 是否是项目组(0不是 1是)
|
||||
private Integer isGroup;
|
||||
|
||||
// 是否隐藏(0不隐藏 1隐藏)
|
||||
private Long itemHide;
|
||||
|
||||
// 创建人
|
||||
private Long creator;
|
||||
|
||||
// 是否已删除。0:未删除、1:已删除
|
||||
private Integer deleteType;
|
||||
|
||||
// 租户
|
||||
private String tenantKey;
|
||||
|
||||
// 创建时间
|
||||
private Date createTime;
|
||||
|
||||
// 更新时间
|
||||
private Date updateTime;
|
||||
|
||||
//主键id集合
|
||||
private Collection<Long> ids;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
package com.engine.salary.enums.salaryaccounting;
|
||||
|
||||
import com.engine.salary.enums.BaseEnum;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 审批流程的状态
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
* <p>Company: 泛微软件</p>
|
||||
*
|
||||
* @author qiantao
|
||||
* @version 1.0
|
||||
**/
|
||||
public enum ApprovalWorkflowStatusEnum implements BaseEnum<Integer> {
|
||||
|
||||
UNAPPROVED(1, "未审批", 0),
|
||||
UNDER_APPROVAL(2, "审批中", 0),
|
||||
APPROVED(3, "已审批", 0),
|
||||
;
|
||||
|
||||
private int value;
|
||||
|
||||
private String defaultLabel;
|
||||
|
||||
private int labelId;
|
||||
|
||||
ApprovalWorkflowStatusEnum(int value, String defaultLabel, int labelId) {
|
||||
this.value = value;
|
||||
this.defaultLabel = defaultLabel;
|
||||
this.labelId = labelId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getLabelId() {
|
||||
return labelId;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDefaultLabel() {
|
||||
return defaultLabel;
|
||||
}
|
||||
|
||||
public static ApprovalWorkflowStatusEnum parseByValue(Integer value) {
|
||||
for (ApprovalWorkflowStatusEnum salaryAcctRecordStatusEnum : ApprovalWorkflowStatusEnum.values()) {
|
||||
if (Objects.equals(salaryAcctRecordStatusEnum.getValue(), value)) {
|
||||
return salaryAcctRecordStatusEnum;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
@ -35,7 +35,9 @@
|
|||
, t.delete_type
|
||||
, t.tenant_key
|
||||
, t.back_calc_status
|
||||
,t.lock_salary_item_ids
|
||||
, t.lock_salary_item_ids
|
||||
, t.approval_request_id
|
||||
, t.approval_workflow_id
|
||||
</sql>
|
||||
|
||||
<!-- 查询全部 -->
|
||||
|
|
|
|||
|
|
@ -42,6 +42,8 @@
|
|||
, t.delete_type
|
||||
, t.tenant_key
|
||||
, t.tax_agent_id
|
||||
, t.approval_url
|
||||
, t.approval_workflow_id
|
||||
</sql>
|
||||
|
||||
<!-- 查询全部 -->
|
||||
|
|
@ -189,6 +191,12 @@
|
|||
<if test="taxAgentId != null">
|
||||
tax_agent_id,
|
||||
</if>
|
||||
<if test="approvalUrl != null">
|
||||
approval_url,
|
||||
</if>
|
||||
<if test="approvalWorkflowId != null">
|
||||
approval_workflow_id,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null">
|
||||
|
|
@ -242,6 +250,12 @@
|
|||
<if test="taxAgentId != null">
|
||||
#{taxAgentId},
|
||||
</if>
|
||||
<if test="approvalUrl != null">
|
||||
#{approvalUrl},
|
||||
</if>
|
||||
<if test="approvalWorkflowId != null">
|
||||
#{approvalWorkflowId},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
|
|
@ -306,6 +320,12 @@
|
|||
<if test="taxAgentId != null">
|
||||
tax_agent_id,
|
||||
</if>
|
||||
<if test="approvalUrl != null">
|
||||
approval_url,
|
||||
</if>
|
||||
<if test="approvalWorkflowId != null">
|
||||
approval_workflow_id,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null">
|
||||
|
|
@ -359,6 +379,12 @@
|
|||
<if test="taxAgentId != null">
|
||||
#{taxAgentId},
|
||||
</if>
|
||||
<if test="approvalUrl != null">
|
||||
#{approvalUrl},
|
||||
</if>
|
||||
<if test="approvalWorkflowId != null">
|
||||
#{approvalWorkflowId},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,84 @@
|
|||
package com.engine.salary.mapper.salarysob;
|
||||
|
||||
import com.engine.salary.entity.salarysob.po.WorkflowItemHidePO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Harryxzy
|
||||
* @ClassName SalarySobItemHideWorkflowMapper
|
||||
* @date 2023/08/28 11:42
|
||||
* @description 薪资项目在审批流程中隐藏
|
||||
*/
|
||||
public interface WorkflowItemHideMapper {
|
||||
|
||||
/**
|
||||
* 查询所有记录
|
||||
*
|
||||
* @return 返回集合,没有返回空List
|
||||
*/
|
||||
List<WorkflowItemHidePO> listAll();
|
||||
|
||||
/**
|
||||
* 条件查询
|
||||
*
|
||||
* @return 返回集合,没有返回空List
|
||||
*/
|
||||
List<WorkflowItemHidePO> listSome(WorkflowItemHidePO salarySobItemHideWorkflow);
|
||||
|
||||
|
||||
/**
|
||||
* 根据主键查询
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 返回记录,没有返回null
|
||||
*/
|
||||
WorkflowItemHidePO getById(Long id);
|
||||
|
||||
/**
|
||||
* 新增,忽略null字段
|
||||
*
|
||||
* @param salarySobItemHideWorkflow 新增的记录
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
int insertIgnoreNull(WorkflowItemHidePO salarySobItemHideWorkflow);
|
||||
|
||||
/**
|
||||
* 修改,修改所有字段
|
||||
*
|
||||
* @param salarySobItemHideWorkflow 修改的记录
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
int update(WorkflowItemHidePO salarySobItemHideWorkflow);
|
||||
|
||||
/**
|
||||
* 修改,忽略null字段
|
||||
*
|
||||
* @param salarySobItemHideWorkflow 修改的记录
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
int updateIgnoreNull(WorkflowItemHidePO salarySobItemHideWorkflow);
|
||||
|
||||
/**
|
||||
* 删除记录
|
||||
*
|
||||
* @param salarySobItemHideWorkflow 待删除的记录
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
int delete(WorkflowItemHidePO salarySobItemHideWorkflow);
|
||||
|
||||
/**
|
||||
* 根据薪资账套id删除记录
|
||||
*
|
||||
* @param salarySobIds 薪资账套id
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
void deleteBySalarySobIds(@Param("salarySobIds") List<Long> salarySobIds);
|
||||
|
||||
/**
|
||||
* 批量插入
|
||||
* @param workflowItemHidePOS
|
||||
*/
|
||||
void batchInsert(List<WorkflowItemHidePO> workflowItemHidePOS);
|
||||
}
|
||||
|
|
@ -0,0 +1,306 @@
|
|||
<?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="com.engine.salary.mapper.salarysob.WorkflowItemHideMapper">
|
||||
<resultMap id="BaseResultMap" type="com.engine.salary.entity.salarysob.po.WorkflowItemHidePO">
|
||||
<result column="id" property="id" />
|
||||
<result column="salary_sob_id" property="salarySobId" />
|
||||
<result column="salary_item_id" property="salaryItemId" />
|
||||
<result column="is_group" property="isGroup" />
|
||||
<result column="item_hide" property="itemHide" />
|
||||
<result column="creator" property="creator" />
|
||||
<result column="delete_type" property="deleteType" />
|
||||
<result column="tenant_key" property="tenantKey" />
|
||||
<result column="create_time" property="createTime" />
|
||||
<result column="update_time" property="updateTime" />
|
||||
</resultMap>
|
||||
|
||||
<!-- 表字段 -->
|
||||
<sql id="baseColumns">
|
||||
t.id
|
||||
, t.salary_sob_id
|
||||
, t.salary_item_id
|
||||
, t.is_group
|
||||
, t.item_hide
|
||||
, t.creator
|
||||
, t.delete_type
|
||||
, t.tenant_key
|
||||
, t.create_time
|
||||
, t.update_time
|
||||
</sql>
|
||||
|
||||
<!-- 查询全部 -->
|
||||
<select id="listAll" resultMap="BaseResultMap">
|
||||
SELECT
|
||||
<include refid="baseColumns" />
|
||||
FROM hrsa_workflow_item_hide t
|
||||
WHERE delete_type = 0
|
||||
</select>
|
||||
|
||||
<!-- 根据主键获取单条记录 -->
|
||||
<select id="getById" resultMap="BaseResultMap" parameterType="Long">
|
||||
SELECT
|
||||
<include refid="baseColumns" />
|
||||
FROM hrsa_workflow_item_hide t
|
||||
WHERE id = #{id} AND delete_type = 0
|
||||
</select>
|
||||
|
||||
<!-- 条件查询 -->
|
||||
<select id="listSome" resultMap="BaseResultMap" parameterType="com.engine.salary.entity.salarysob.po.WorkflowItemHidePO">
|
||||
SELECT
|
||||
<include refid="baseColumns" />
|
||||
FROM hrsa_workflow_item_hide t
|
||||
WHERE delete_type = 0
|
||||
<if test="id != null">
|
||||
AND id = #{id}
|
||||
</if>
|
||||
<if test="salarySobId != null">
|
||||
AND salary_sob_id = #{salarySobId}
|
||||
</if>
|
||||
<if test="salaryItemId != null">
|
||||
AND salary_item_id = #{salaryItemId}
|
||||
</if>
|
||||
<if test="isGroup != null">
|
||||
AND is_group = #{isGroup}
|
||||
</if>
|
||||
<if test="itemHide != null">
|
||||
AND item_hide = #{itemHide}
|
||||
</if>
|
||||
<if test="creator != null">
|
||||
AND creator = #{creator}
|
||||
</if>
|
||||
<if test="deleteType != null">
|
||||
AND delete_type = #{deleteType}
|
||||
</if>
|
||||
<if test="tenantKey != null">
|
||||
AND tenant_key = #{tenantKey}
|
||||
</if>
|
||||
<if test="createTime != null">
|
||||
AND create_time = #{createTime}
|
||||
</if>
|
||||
<if test="updateTime != null">
|
||||
AND update_time = #{updateTime}
|
||||
</if>
|
||||
<if test="ids != null and ids.size()>0">
|
||||
AND id IN
|
||||
<foreach collection="ids" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
ORDER BY id DESC
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 插入不为NULL的字段 -->
|
||||
<insert id="insertIgnoreNull" parameterType="com.engine.salary.entity.salarysob.po.WorkflowItemHidePO">
|
||||
INSERT INTO hrsa_workflow_item_hide
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
|
||||
<if test="id != null">
|
||||
id,
|
||||
</if>
|
||||
<if test="salarySobId != null">
|
||||
salary_sob_id,
|
||||
</if>
|
||||
<if test="salaryItemId != null">
|
||||
salary_item_id,
|
||||
</if>
|
||||
<if test="isGroup != null">
|
||||
is_group,
|
||||
</if>
|
||||
<if test="itemHide != null">
|
||||
item_hide,
|
||||
</if>
|
||||
<if test="creator != null">
|
||||
creator,
|
||||
</if>
|
||||
<if test="deleteType != null">
|
||||
delete_type,
|
||||
</if>
|
||||
<if test="tenantKey != null">
|
||||
tenant_key,
|
||||
</if>
|
||||
<if test="createTime != null">
|
||||
create_time,
|
||||
</if>
|
||||
<if test="updateTime != null">
|
||||
update_time,
|
||||
</if>
|
||||
</trim>
|
||||
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
|
||||
<if test="id != null" >
|
||||
#{id},
|
||||
</if>
|
||||
<if test="salarySobId != null" >
|
||||
#{salarySobId},
|
||||
</if>
|
||||
<if test="salaryItemId != null" >
|
||||
#{salaryItemId},
|
||||
</if>
|
||||
<if test="isGroup != null" >
|
||||
#{isGroup},
|
||||
</if>
|
||||
<if test="itemHide != null" >
|
||||
#{itemHide},
|
||||
</if>
|
||||
<if test="creator != null" >
|
||||
#{creator},
|
||||
</if>
|
||||
<if test="deleteType != null" >
|
||||
#{deleteType},
|
||||
</if>
|
||||
<if test="tenantKey != null" >
|
||||
#{tenantKey},
|
||||
</if>
|
||||
<if test="createTime != null" >
|
||||
#{createTime},
|
||||
</if>
|
||||
<if test="updateTime != null" >
|
||||
#{updateTime},
|
||||
</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<insert id="batchInsert">
|
||||
INSERT INTO hrsa_workflow_item_hide (
|
||||
id,
|
||||
salary_sob_id,
|
||||
salary_item_id,
|
||||
is_group,
|
||||
item_hide,
|
||||
creator,
|
||||
delete_type,
|
||||
tenant_key,
|
||||
create_time,
|
||||
update_time
|
||||
)
|
||||
VALUES
|
||||
<foreach collection="collection" item="item" separator=",">
|
||||
(
|
||||
#{item.id},
|
||||
#{item.salarySobId},
|
||||
#{item.salaryItemId},
|
||||
#{item.isGroup},
|
||||
#{item.itemHide},
|
||||
#{item.creator},
|
||||
#{item.tenantKey},
|
||||
#{item.createTime},
|
||||
#{item.updateTime},
|
||||
0
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<insert id="batchInsert" databaseId="oracle">
|
||||
insert into hrsa_workflow_item_hide (id,salary_sob_id,salary_item_id,is_group,item_hide,
|
||||
creator,tenant_key,create_time,update_time,delete_type)
|
||||
<foreach collection="collection" item="item" separator="union all">
|
||||
select
|
||||
#{item.id,jdbcType=DOUBLE},
|
||||
#{item.salarySobId,jdbcType=DOUBLE},
|
||||
#{item.salaryItemId,jdbcType=DOUBLE},
|
||||
#{item.isGroup,jdbcType=INTEGER},
|
||||
#{item.itemHide,jdbcType=INTEGER},
|
||||
#{item.creator,jdbcType=DOUBLE},
|
||||
#{item.tenantKey,jdbcType=VARCHAR},
|
||||
#{item.createTime,jdbcType=DATE},
|
||||
#{item.updateTime,jdbcType=DATE},
|
||||
0
|
||||
from dual
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<insert id="batchInsert" databaseId="sqlserver">
|
||||
<foreach collection="collection" item="item" separator=";">
|
||||
insert into hrsa_workflow_item_hide (id,salary_sob_id,salary_item_id,is_group,item_hide,
|
||||
creator,tenant_key,create_time,update_time,delete_type)
|
||||
VALUES
|
||||
(
|
||||
#{item.id},
|
||||
#{item.salarySobId},
|
||||
#{item.salaryItemId},
|
||||
#{item.isGroup},
|
||||
#{item.itemHide},
|
||||
#{item.creator},
|
||||
#{item.tenantKey},
|
||||
#{item.createTime},
|
||||
#{item.updateTime},
|
||||
0
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
<!-- 更新,更新全部字段 -->
|
||||
<update id="update" parameterType="com.engine.salary.entity.salarysob.po.WorkflowItemHidePO">
|
||||
UPDATE hrsa_workflow_item_hide
|
||||
<set>
|
||||
salary_sob_id=#{salarySobId},
|
||||
salary_item_id=#{salaryItemId},
|
||||
is_group=#{isGroup},
|
||||
item_hide=#{itemHide},
|
||||
creator=#{creator},
|
||||
delete_type=#{deleteType},
|
||||
tenant_key=#{tenantKey},
|
||||
create_time=#{createTime},
|
||||
update_time=#{updateTime},
|
||||
</set>
|
||||
WHERE id = #{id} AND delete_type = 0
|
||||
</update>
|
||||
|
||||
|
||||
<!-- 更新不为NULL的字段 -->
|
||||
<update id="updateIgnoreNull" parameterType="com.engine.salary.entity.salarysob.po.WorkflowItemHidePO">
|
||||
UPDATE hrsa_workflow_item_hide
|
||||
<set>
|
||||
<if test="salarySobId != null" >
|
||||
salary_sob_id=#{salarySobId},
|
||||
</if>
|
||||
<if test="salaryItemId != null" >
|
||||
salary_item_id=#{salaryItemId},
|
||||
</if>
|
||||
<if test="isGroup != null" >
|
||||
is_group=#{isGroup},
|
||||
</if>
|
||||
<if test="itemHide != null" >
|
||||
item_hide=#{itemHide},
|
||||
</if>
|
||||
<if test="creator != null" >
|
||||
creator=#{creator},
|
||||
</if>
|
||||
<if test="deleteType != null" >
|
||||
delete_type=#{deleteType},
|
||||
</if>
|
||||
<if test="tenantKey != null" >
|
||||
tenant_key=#{tenantKey},
|
||||
</if>
|
||||
<if test="createTime != null" >
|
||||
create_time=#{createTime},
|
||||
</if>
|
||||
<if test="updateTime != null" >
|
||||
update_time=#{updateTime},
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = #{id} AND delete_type = 0
|
||||
</update>
|
||||
|
||||
|
||||
<!-- 根据主键删除记录 -->
|
||||
<delete id="delete" parameterType="com.engine.salary.entity.salarysob.po.WorkflowItemHidePO">
|
||||
UPDATE hrsa_workflow_item_hide
|
||||
SET delete_type=1
|
||||
WHERE id = #{id} AND delete_type = 0
|
||||
</delete>
|
||||
|
||||
<delete id="deleteBySalarySobIds">
|
||||
UPDATE hrsa_workflow_item_hide
|
||||
SET delete_type=1
|
||||
WHERE delete_type = 0
|
||||
<if test="salarySobIds != null and salarySobIds.size()>0">
|
||||
AND salary_sob_id IN
|
||||
<foreach collection="salarySobIds" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</if>
|
||||
</delete>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
package com.engine.salary.service;
|
||||
|
||||
import com.engine.salary.entity.salarysob.po.WorkflowItemHidePO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Harryxzy
|
||||
* @ClassName SalarySobItemHideWorkflowService
|
||||
* @date 2023/08/28 11:45
|
||||
* @description
|
||||
*/
|
||||
public interface WorkflowItemHideService {
|
||||
|
||||
/**
|
||||
* 查询所有记录
|
||||
*
|
||||
* @return 返回集合,没有返回空List
|
||||
*/
|
||||
List<WorkflowItemHidePO> listAll();
|
||||
|
||||
List<WorkflowItemHidePO> listSome(WorkflowItemHidePO po);
|
||||
|
||||
|
||||
/**
|
||||
* 根据主键查询
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 返回记录,没有返回null
|
||||
*/
|
||||
WorkflowItemHidePO getById(Long id);
|
||||
|
||||
|
||||
/**
|
||||
* 新增,忽略null字段
|
||||
*
|
||||
* @param salarySobItemHideWorkflow 新增的记录
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
int insertIgnoreNull(WorkflowItemHidePO salarySobItemHideWorkflow);
|
||||
|
||||
/**
|
||||
* 修改,修改所有字段
|
||||
*
|
||||
* @param salarySobItemHideWorkflow 修改的记录
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
int update(WorkflowItemHidePO salarySobItemHideWorkflow);
|
||||
|
||||
/**
|
||||
* 修改,忽略null字段
|
||||
*
|
||||
* @param salarySobItemHideWorkflow 修改的记录
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
int updateIgnoreNull(WorkflowItemHidePO salarySobItemHideWorkflow);
|
||||
|
||||
/**
|
||||
* 删除记录
|
||||
*
|
||||
* @param salarySobItemHideWorkflow 待删除的记录
|
||||
* @return 返回影响行数
|
||||
*/
|
||||
int delete(WorkflowItemHidePO salarySobItemHideWorkflow);
|
||||
|
||||
/**
|
||||
* 根据薪资账套id删除
|
||||
* @param singletonList
|
||||
*/
|
||||
void deleteBySalarySobIds(List<Long> singletonList);
|
||||
|
||||
/**
|
||||
* 批量插入
|
||||
* @param needInsertWorkflowItemHide
|
||||
*/
|
||||
void batchInsert(List<WorkflowItemHidePO> needInsertWorkflowItemHide);
|
||||
}
|
||||
|
|
@ -10,6 +10,7 @@ import com.engine.salary.constant.SalaryDefaultTenantConstant;
|
|||
import com.engine.salary.entity.salaryformula.ExpressFormula;
|
||||
import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
|
||||
import com.engine.salary.entity.salarysob.bo.SalarySobItemAggregateBO;
|
||||
import com.engine.salary.entity.salarysob.bo.SalarySobItemBO;
|
||||
import com.engine.salary.entity.salarysob.dto.SalarySobItemAggregateDTO;
|
||||
import com.engine.salary.entity.salarysob.dto.SalarySobItemFormDTO;
|
||||
import com.engine.salary.entity.salarysob.param.SalarySobItemSaveParam;
|
||||
|
|
@ -89,9 +90,14 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
|
|||
return (SalarySobBackItemService) ServiceUtil.getService(SalarySobBackItemServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private WorkflowItemHideService getWorkflowItemHideService(User user) {
|
||||
return (WorkflowItemHideService) ServiceUtil.getService(WorkflowItemHideServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private SalarySobDefaultItemMapper getSalarySobDefaultItemMapper() {
|
||||
return MapperProxyFactory.getProxy(SalarySobDefaultItemMapper.class);
|
||||
}
|
||||
|
||||
// private LoggerTemplate salarySobLoggerTemplate;
|
||||
|
||||
@Override
|
||||
|
|
@ -319,9 +325,11 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
|
|||
// getSalarySobItemGroupService(user).deleteBySalarySobIds(Collections.singleton(salarySobId));
|
||||
// 删除薪资项目是否显示
|
||||
deleteItemShowBySalarySobIds(Collections.singleton(salarySobId));
|
||||
|
||||
// 删除薪资项目是否在审批时隐藏
|
||||
getWorkflowItemHideService(user).deleteBySalarySobIds(Collections.singletonList(salarySobId));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 保存项目信息
|
||||
*
|
||||
|
|
@ -354,6 +362,8 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
|
|||
|
||||
// 需要保存的隐藏项目
|
||||
List<SalarySobItemHidePO> needInsertItemShow = new ArrayList<>();
|
||||
// 需要保存的审批流程中隐藏的项目
|
||||
List<WorkflowItemHidePO> needInsertWorkflowItemHide = new ArrayList<>();
|
||||
|
||||
//先保存项目分类获,取分类id
|
||||
Collection<SalarySobItemPO> salarySobItems = new ArrayList<>();
|
||||
|
|
@ -390,7 +400,6 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
|
|||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.build();
|
||||
needInsertItemShow.add(salarySobGroupItemHidePO);
|
||||
// salarySobItemMapper.InsertItemShow(salarySobGroupItemHidePO);
|
||||
|
||||
|
||||
for (SalarySobItemSaveParam.SalarySobItemParam itemParam : itemGroupParam.getItems()) {
|
||||
|
|
@ -428,13 +437,13 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
|
|||
.deleteType(NumberUtils.INTEGER_ZERO)
|
||||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.build();
|
||||
// salarySobItemMapper.InsertItemShow(salarySobItemHidePO);
|
||||
needInsertItemShow.add(salarySobItemHidePO);
|
||||
|
||||
// 保存薪资项目是否在审批流程中展示
|
||||
needInsertWorkflowItemHide.add(SalarySobItemBO.getWorkflowItemHidePO(salarySobItemHidePO, itemParam.getHideInApprovalWorkflow()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//更新分组
|
||||
for (SalarySobItemSaveParam.SalarySobItemGroupParam itemGroupParam : needUpdateGroup) {
|
||||
Long groupId = itemGroupParam.getId();
|
||||
|
|
@ -508,6 +517,9 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
|
|||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.build();
|
||||
needInsertItemShow.add(salarySobItemHidePO);
|
||||
|
||||
// 保存薪资项目是否在审批流程中展示
|
||||
needInsertWorkflowItemHide.add(SalarySobItemBO.getWorkflowItemHidePO(salarySobItemHidePO, itemParam.getHideInApprovalWorkflow()));
|
||||
}
|
||||
//更新
|
||||
for (SalarySobItemSaveParam.SalarySobItemParam itemParam : needUpdateItems) {
|
||||
|
|
@ -528,7 +540,7 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
|
|||
getSalarySobItemMapper().updateIgnoreNull(salarySobItemPO);
|
||||
// 保存薪资项目是否展示
|
||||
Long salarySobItemShowId = IdGenerator.generate();
|
||||
needInsertItemShow.add(SalarySobItemHidePO.builder()
|
||||
SalarySobItemHidePO salarySobItemHidePO = SalarySobItemHidePO.builder()
|
||||
.id(salarySobItemShowId)
|
||||
.salarySobId(salarySobId)
|
||||
.salaryItemId(itemParam.getSalaryItemId())
|
||||
|
|
@ -539,9 +551,12 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
|
|||
.updateTime(now)
|
||||
.deleteType(NumberUtils.INTEGER_ZERO)
|
||||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.build());
|
||||
}
|
||||
.build();
|
||||
needInsertItemShow.add(salarySobItemHidePO);
|
||||
|
||||
// 保存薪资项目是否在审批流程中展示
|
||||
needInsertWorkflowItemHide.add(SalarySobItemBO.getWorkflowItemHidePO(salarySobItemHidePO, itemParam.getHideInApprovalWorkflow()));
|
||||
}
|
||||
|
||||
//删除
|
||||
salarySobItemMapper.deleteByIds(needDeleteItemIds);
|
||||
|
|
@ -597,8 +612,10 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
|
|||
.deleteType(NumberUtils.INTEGER_ZERO)
|
||||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.build();
|
||||
// salarySobItemMapper.InsertItemShow(salarySobItemHidePO);
|
||||
needInsertItemShow.add(salarySobItemHidePO);
|
||||
|
||||
// 保存薪资项目是否在审批流程中展示
|
||||
needInsertWorkflowItemHide.add(SalarySobItemBO.getWorkflowItemHidePO(salarySobItemHidePO, itemParam.getHideInApprovalWorkflow()));
|
||||
}
|
||||
|
||||
for (SalarySobItemSaveParam.SalarySobItemParam itemParam : needUpdateItems) {
|
||||
|
|
@ -629,8 +646,9 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
|
|||
.deleteType(NumberUtils.INTEGER_ZERO)
|
||||
.tenantKey(SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY)
|
||||
.build();
|
||||
// salarySobItemMapper.InsertItemShow(salarySobItemHidePO);
|
||||
needInsertItemShow.add(salarySobItemHidePO);
|
||||
// 保存薪资项目是否在审批流程中展示
|
||||
needInsertWorkflowItemHide.add(SalarySobItemBO.getWorkflowItemHidePO(salarySobItemHidePO, itemParam.getHideInApprovalWorkflow()));
|
||||
}
|
||||
|
||||
if (CollectionUtils.isNotEmpty(needDeleteItemIds)) {
|
||||
|
|
@ -642,8 +660,13 @@ public class SalarySobItemServiceImpl extends Service implements SalarySobItemSe
|
|||
|
||||
// 保存薪资账套的薪资项目隐藏信息
|
||||
batchSaveShow(needInsertItemShow);
|
||||
|
||||
// 保存薪资账套的薪资项目是否在审批流程中隐藏
|
||||
getWorkflowItemHideService(user).batchInsert(needInsertWorkflowItemHide);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private SalaryItemPO checkItemExists(Long salaryItemId, Map<Long, SalaryItemPO> salaryItemsMap) {
|
||||
SalaryItemPO salaryItemPO = salaryItemsMap.get(salaryItemId);
|
||||
if (ObjectUtils.isEmpty(salaryItemPO)){
|
||||
|
|
|
|||
|
|
@ -131,6 +131,10 @@ public class SalarySobServiceImpl extends Service implements SalarySobService {
|
|||
return ServiceUtil.getService(SalarySysConfServiceImpl.class, user);
|
||||
}
|
||||
|
||||
private WorkflowItemHideService getWorkflowItemHideService(User user) {
|
||||
return ServiceUtil.getService(WorkflowItemHideServiceImpl.class, user);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SalarySobPO getById(Long id) {
|
||||
return salarySobMapper.getById(id);
|
||||
|
|
@ -385,6 +389,9 @@ public class SalarySobServiceImpl extends Service implements SalarySobService {
|
|||
.values());
|
||||
salarySobItemService.batchInsertItemShow(list);
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(result.getNeedInsertWorkflowItemHides())) {
|
||||
getWorkflowItemHideService(user).batchInsert(result.getNeedInsertWorkflowItemHides());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -0,0 +1,81 @@
|
|||
package com.engine.salary.service.impl;
|
||||
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.salary.entity.salarysob.po.WorkflowItemHidePO;
|
||||
import com.engine.salary.mapper.salarysob.WorkflowItemHideMapper;
|
||||
import com.engine.salary.service.WorkflowItemHideService;
|
||||
import com.engine.salary.util.db.MapperProxyFactory;
|
||||
import com.google.common.collect.Lists;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @author Harryxzy
|
||||
* @ClassName SalarySobItemHideWorkflowServiceImpl
|
||||
* @date 2023/08/28 11:47
|
||||
* @description
|
||||
*/
|
||||
public class WorkflowItemHideServiceImpl extends Service implements WorkflowItemHideService {
|
||||
|
||||
private WorkflowItemHideMapper getWorkflowItemHideMapper() {
|
||||
return MapperProxyFactory.getProxy(WorkflowItemHideMapper.class);
|
||||
}
|
||||
@Override
|
||||
public List<WorkflowItemHidePO> listAll() {
|
||||
return getWorkflowItemHideMapper().listAll();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<WorkflowItemHidePO> listSome(WorkflowItemHidePO po) {
|
||||
return getWorkflowItemHideMapper().listSome(po);
|
||||
}
|
||||
|
||||
@Override
|
||||
public WorkflowItemHidePO getById(Long id) {
|
||||
return getWorkflowItemHideMapper().getById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertIgnoreNull(WorkflowItemHidePO salarySobItemHideWorkflow) {
|
||||
return getWorkflowItemHideMapper().insertIgnoreNull(salarySobItemHideWorkflow);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int update(WorkflowItemHidePO salarySobItemHideWorkflow) {
|
||||
return getWorkflowItemHideMapper().update(salarySobItemHideWorkflow);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateIgnoreNull(WorkflowItemHidePO salarySobItemHideWorkflow) {
|
||||
return getWorkflowItemHideMapper().updateIgnoreNull(salarySobItemHideWorkflow);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int delete(WorkflowItemHidePO salarySobItemHideWorkflow) {
|
||||
return getWorkflowItemHideMapper().delete(salarySobItemHideWorkflow);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteBySalarySobIds(List<Long> salarySobIds) {
|
||||
if (CollectionUtils.isNotEmpty(salarySobIds)) {
|
||||
List<List<Long>> partition = Lists.partition(salarySobIds, 1000);
|
||||
partition.forEach(getWorkflowItemHideMapper()::deleteBySalarySobIds);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void batchInsert(List<WorkflowItemHidePO> insertList) {
|
||||
if (CollectionUtils.isNotEmpty(insertList)) {
|
||||
//前端可能传重复数据,去重
|
||||
List<WorkflowItemHidePO> list = new ArrayList<>(insertList.stream()
|
||||
.collect(Collectors.toMap(WorkflowItemHidePO::getSalaryItemId, Function.identity(), (oldValue, newValue) -> oldValue))
|
||||
.values());
|
||||
List<List<WorkflowItemHidePO>> partition = Lists.partition(insertList, 1000);
|
||||
partition.forEach(getWorkflowItemHideMapper()::batchInsert);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -23,12 +23,15 @@ import com.engine.salary.util.SalarySobUtil;
|
|||
import com.engine.salary.util.page.PageInfo;
|
||||
import com.engine.salary.wrapper.proxy.SalaryAcctRecordWrapperProxy;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.math.NumberUtils;
|
||||
import weaver.conn.RecordSet;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
* 薪资核算记录
|
||||
* <p>Copyright: Copyright (c) 2022</p>
|
||||
|
|
@ -90,9 +93,12 @@ public class SalaryAcctRecordWrapper extends Service implements SalaryAcctRecord
|
|||
List<SalaryAcctEmployeeCountDTO> salaryAcctEmployeeCountDTOS = getSalaryAcctEmployeeService(user).countBySalaryAcctRecordId(salaryAcctRecordIds);
|
||||
// 查询工资单的查询情况
|
||||
List<SalarySendCheckDTO> salarySendCheckResult = getSalarySendService(user).getSalarySendCheckResult(salaryAcctRecordIds);
|
||||
|
||||
// TODO查询审批流程状态
|
||||
Set<String> requestIds = SalaryEntityUtil.properties(list, SalaryAcctRecordPO::getApprovalRequestId);
|
||||
// 获取流程状态 key:流程请求id value:流程状态
|
||||
Map<String, String> workflowStatusMap = getWorkflowStatusMap(requestIds);
|
||||
// 转换成列表dto
|
||||
List<SalaryAcctRecordListDTO> salaryAcctRecordListDTOS = SalaryAcctRecordBO.convert2ListDTO(list, salarySobPOS, employeeComInfos, salaryAcctEmployeeCountDTOS, salarySendCheckResult);
|
||||
List<SalaryAcctRecordListDTO> salaryAcctRecordListDTOS = SalaryAcctRecordBO.convert2ListDTO(list, salarySobPOS, employeeComInfos, salaryAcctEmployeeCountDTOS, salarySendCheckResult, workflowStatusMap);
|
||||
dtoPage.setList(salaryAcctRecordListDTOS);
|
||||
}
|
||||
// WeaTable<SalaryAcctRecordListDTO> weaTable = SalaryFormatUtil.<SalaryAcctRecordListDTO>getInstance().buildTable(SalaryAcctRecordListDTO.class, dtoPage);
|
||||
|
|
@ -116,6 +122,19 @@ public class SalaryAcctRecordWrapper extends Service implements SalaryAcctRecord
|
|||
return dtoPage;
|
||||
}
|
||||
|
||||
private Map<String, String> getWorkflowStatusMap(Set<String> requestIds) {
|
||||
Map<String, String> resut = new HashMap<>();
|
||||
RecordSet rs = new RecordSet();
|
||||
String sql = "select requestid,currentnodetype from workflow_requestbase where requestid in (" + StringUtils.join(requestIds,",") + ")";
|
||||
rs.execute(sql);
|
||||
while (rs.next()) {
|
||||
int requestid = rs.getInt("requestid");
|
||||
String currentnodetype = rs.getString("currentnodetype");
|
||||
resut.put(String.valueOf(requestid), currentnodetype);
|
||||
}
|
||||
return resut;
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 处理历史数据给薪资项目都增加个默认排序
|
||||
* @return null
|
||||
|
|
|
|||
Loading…
Reference in New Issue