港湾审批流程
This commit is contained in:
parent
eb5c5c1b26
commit
6c8aded0da
|
|
@ -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.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();
|
||||
}
|
||||
|
|
@ -55,6 +57,15 @@ public class SalaryAcctRecordBO {
|
|||
Map<Long, Boolean> salarySendMap = SalaryEntityUtil.convert2Map(salarySendCheckResult, SalarySendCheckDTO::getSalaryAcctId, SalarySendCheckDTO::isSendFinished);
|
||||
return salaryAcctRecordPOS.stream()
|
||||
.map(salaryAcctRecordPO -> {
|
||||
// 获取审批流程状态
|
||||
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;
|
||||
}
|
||||
SalarySobPO salarySobPO = salarySobMap.get(salaryAcctRecordPO.getSalarySobId());
|
||||
SalaryAcctRecordStatusEnum salaryAcctRecordStatusEnum = SalaryAcctRecordStatusEnum.parseByValue(salaryAcctRecordPO.getStatus());
|
||||
// 只有未归档时可以"核算"、"删除"、"归档"
|
||||
|
|
@ -90,6 +101,7 @@ public class SalaryAcctRecordBO {
|
|||
.accountantName(usernameMap.getOrDefault(salaryAcctRecordPO.getCreator(), StringUtils.EMPTY))
|
||||
.updateTime(SalaryDateUtil.getFormatLocalDateTime(salaryAcctRecordPO.getUpdateTime()))
|
||||
.description(salaryAcctRecordPO.getDescription())
|
||||
.workFlowStatus(workflowStatusEnum.getDefaultLabel())
|
||||
.operate(btnList)
|
||||
.build();
|
||||
}).collect(Collectors.toList());
|
||||
|
|
|
|||
|
|
@ -70,6 +70,9 @@ public class SalaryAcctRecordListDTO {
|
|||
@TableTitle(title = "备注", dataIndex = "description", key = "description")
|
||||
private String description;
|
||||
|
||||
@TableTitle(title = "审批状态", dataIndex = "workFlowStatus", key = "workFlowStatus")
|
||||
private String workFlowStatus;
|
||||
|
||||
@TableTitle(title = "操作", dataIndex = "operate", key = "operate")
|
||||
private List<WeaTableOperate> operate;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,4 +16,7 @@ public class SalaryAcctRecordReAccountParam {
|
|||
|
||||
@DataCheck(require = true, message = "参数错误,薪资核算记录ID不能为空")
|
||||
private Long salaryAcctRecordId;
|
||||
|
||||
// 审批流程id
|
||||
private String approvalRequestId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -124,4 +124,7 @@ public class SalaryAcctRecordPO {
|
|||
|
||||
//税款所属期
|
||||
LocalDateRange taxCycleDateRange;
|
||||
|
||||
// 审批流程id
|
||||
String approvalRequestId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,55 @@
|
|||
package com.engine.salary.enums;
|
||||
|
||||
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,8 @@
|
|||
, t.delete_type
|
||||
, t.tenant_key
|
||||
, t.back_calc_status
|
||||
,t.lock_salary_item_ids
|
||||
, t.lock_salary_item_ids
|
||||
, t.approval_request_id
|
||||
</sql>
|
||||
|
||||
<!-- 查询全部 -->
|
||||
|
|
@ -388,6 +389,9 @@
|
|||
<if test="backCalcStatus != null">
|
||||
back_calc_status=#{backCalcStatus},
|
||||
</if>
|
||||
<if test="approvalRequestId != null">
|
||||
approval_request_id=#{approvalRequestId},
|
||||
</if>
|
||||
</set>
|
||||
WHERE id = #{id} AND delete_type = 0
|
||||
</update>
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package com.engine.salary.service;
|
|||
|
||||
import com.engine.salary.common.LocalDateRange;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordQueryParam;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordReAccountParam;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordSaveParam;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctResultPO;
|
||||
|
|
@ -207,4 +208,6 @@ public interface SalaryAcctRecordService {
|
|||
|
||||
|
||||
List<SalaryAcctRecordPO> listSome(SalaryAcctRecordPO po);
|
||||
|
||||
void setApprovalRequestId(SalaryAcctRecordReAccountParam param);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.engine.salary.service.impl;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.api.formmode.mybatis.util.SqlProxyHandle;
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.core.impl.Service;
|
||||
|
|
@ -7,6 +8,7 @@ import com.engine.salary.common.LocalDateRange;
|
|||
import com.engine.salary.entity.salaryBill.po.SalarySendPO;
|
||||
import com.engine.salary.entity.salaryacct.bo.SalaryAcctRecordBO;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordQueryParam;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordReAccountParam;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordSaveParam;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
||||
|
|
@ -810,4 +812,15 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
|
|||
public List<SalaryAcctRecordPO> listSome(SalaryAcctRecordPO po) {
|
||||
return getSalaryAcctRecordMapper().listSome(po);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setApprovalRequestId(SalaryAcctRecordReAccountParam param) {
|
||||
SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordMapper().getById(param.getSalaryAcctRecordId());
|
||||
if (ObjectUtil.isEmpty(salaryAcctRecordPO)) {
|
||||
throw new SalaryRunTimeException("薪资核算记录不存在或已被删除");
|
||||
}
|
||||
salaryAcctRecordPO.setApprovalRequestId(param.getApprovalRequestId());
|
||||
salaryAcctRecordPO.setUpdateTime(new Date());
|
||||
getSalaryAcctRecordMapper().updateIgnoreNull(salaryAcctRecordPO);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -402,6 +402,14 @@ public class SalaryAcctController {
|
|||
return new ResponseResult<SalaryAcctResultQueryParam, Map<String, Object>>(user).run(getSalaryAcctResultWrapper(user)::sumForWorkflow, param);
|
||||
}
|
||||
|
||||
@POST
|
||||
@Path("/setApprovalRequestId")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public String setApprovalRequestId(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryAcctRecordReAccountParam saveParam) {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return new ResponseResult<SalaryAcctRecordReAccountParam, String>(user).run(getSalaryAcctRecordWrapper(user)::setApprovalRequestId, saveParam);
|
||||
}
|
||||
|
||||
//合计行
|
||||
@POST
|
||||
@Path("/acctresult/sum")
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import com.engine.salary.entity.salaryacct.dto.SalaryAcctEmployeeCountDTO;
|
|||
import com.engine.salary.entity.salaryacct.dto.SalaryAcctRecordFormDTO;
|
||||
import com.engine.salary.entity.salaryacct.dto.SalaryAcctRecordListDTO;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordQueryParam;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordReAccountParam;
|
||||
import com.engine.salary.entity.salaryacct.param.SalaryAcctRecordSaveParam;
|
||||
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
||||
import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO;
|
||||
|
|
@ -23,7 +24,9 @@ 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.*;
|
||||
|
|
@ -90,9 +93,14 @@ public class SalaryAcctRecordWrapper extends Service implements SalaryAcctRecord
|
|||
List<SalaryAcctEmployeeCountDTO> salaryAcctEmployeeCountDTOS = getSalaryAcctEmployeeService(user).countBySalaryAcctRecordId(salaryAcctRecordIds);
|
||||
// 查询工资单的查询情况
|
||||
List<SalarySendCheckDTO> salarySendCheckResult = getSalarySendService(user).getSalarySendCheckResult(salaryAcctRecordIds);
|
||||
// 查询审批流程状态
|
||||
Set<String> requestIds = SalaryEntityUtil.properties(list, SalaryAcctRecordPO::getApprovalRequestId);
|
||||
requestIds.remove(null);
|
||||
// 获取流程状态 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 +124,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
|
||||
|
|
@ -258,4 +279,12 @@ public class SalaryAcctRecordWrapper extends Service implements SalaryAcctRecord
|
|||
public void backCalculate(Long salaryAcctRecordId){
|
||||
getSalaryAcctRecordService(user).backCalculate(salaryAcctRecordId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置审批流程id
|
||||
* @param param
|
||||
*/
|
||||
public void setApprovalRequestId(SalaryAcctRecordReAccountParam param) {
|
||||
getSalaryAcctRecordService(user).setApprovalRequestId(param);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue