二开,标记功能

This commit is contained in:
钱涛 2025-06-18 14:54:04 +08:00
parent a8c6e8e59e
commit 26f1d5b0b3
19 changed files with 112 additions and 2 deletions

View File

@ -0,0 +1,3 @@
alter table hrsa_salary_acct_emp add mark_items varchar2(4000) NULL;
/

View File

@ -0,0 +1,3 @@
alter table hrsa_salary_acct_emp add mark_items varchar2(4000) NULL;
/

View File

@ -0,0 +1,3 @@
alter table hrsa_salary_acct_emp add mark_items varchar2(4000) NULL;
/

View File

@ -0,0 +1 @@
ALTER TABLE hrsa_salary_acct_emp ADD COLUMN mark_items varchar(4000);

View File

@ -0,0 +1,2 @@
alter table hrsa_salary_acct_emp add mark_items varchar2(4000) NULL
/

View File

@ -0,0 +1 @@
alter table hrsa_salary_acct_emp add mark_items varchar(4000);

View File

@ -0,0 +1,2 @@
ALTER TABLE hrsa_salary_acct_emp ADD mark_items varchar(4000)
GO

View File

@ -0,0 +1,3 @@
alter table hrsa_salary_acct_emp add mark_items varchar2(4000) NULL;
/

View File

@ -330,6 +330,7 @@ public class SalaryAcctResultBO {
map.put("id", e.getId());
//锁定数据
map.put("lockItems", e.getLockItems() != null ? e.getLockItems().stream().filter(Objects::nonNull).map(Object::toString).collect(Collectors.toList()) : new ArrayList<>());
map.put("markItems", e.getMarkItems() != null ? e.getMarkItems().stream().filter(Objects::nonNull).map(Object::toString).collect(Collectors.toList()) : new ArrayList<>());
//人员id
map.put("employeeId", e.getEmployeeId());
// 个税扣缴义务人

View File

@ -0,0 +1,34 @@
package com.engine.salary.entity.salaryacct.param;
import com.engine.salary.enums.salaryaccounting.LockStatusEnum;
import com.engine.salary.util.valid.DataCheck;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 薪资数据单元格标记
* <p>Copyright: Copyright (c) 2024</p>
* <p>Company: 泛微软件</p>
*
* @author qiantao
* @version 1.0
**/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class SalaryAcctResultMarkParam {
//标记状态
@DataCheck(require = true,message = "标记状态不能为空")
private LockStatusEnum lockStatus;
//薪资核算人员Id
@DataCheck(require = true,message = "薪资核算人员不能为空")
private Long acctEmpId;
//薪资项目的Id
@DataCheck(require = true,message = "薪资项目不能为空")
private Long salaryItemId;
}

View File

@ -158,6 +158,9 @@ public class SalaryAcctEmployeePO {
//锁定的项目
private List<Long> lockItems;
//标记的项目
private List<Long> markItems;
/**
* 主次账号 0/null主账号 1次账号

View File

@ -126,4 +126,5 @@ public interface SalaryAcctEmployeeMapper {
void updateIgnoreNull(@Param("salaryAcctEmployeePO")SalaryAcctEmployeePO salaryAcctEmployeePO);
void lock(SalaryAcctEmployeePO salaryAcctEmployeePO);
void mark(SalaryAcctEmployeePO salaryAcctEmployeePO);
}

View File

@ -26,6 +26,7 @@
<result column="jobcall_id" property="jobcallId"/>
<result column="status" property="status"/>
<result column="lock_items" property="lockItems" typeHandler="com.engine.salary.handle.SalaryListTypeHandler"/>
<result column="mark_items" property="markItems" typeHandler="com.engine.salary.handle.SalaryListTypeHandler"/>
<result column="account_type" property="accountType"/>
</resultMap>
@ -62,6 +63,7 @@
t.jobcall_id,
t.status,
t.lock_items,
t.mark_items,
t.account_type
</sql>
@ -1032,6 +1034,7 @@
<result column="jobcall_id" property="jobcallId"/>
<result column="status" property="status"/>
<result column="lock_items" property="lockItems" typeHandler="com.engine.salary.handle.SalaryListTypeHandler"/>
<result column="mark_items" property="markItems" typeHandler="com.engine.salary.handle.SalaryListTypeHandler"/>
<result column="account_type" property="accountType"/>
</resultMap>
@ -1062,6 +1065,7 @@
, t.jobcall_id
, t.status
, t.lock_items
, t.mark_items
, t.account_type
</sql>
@ -1247,4 +1251,14 @@
WHERE id = #{id} AND delete_type = 0
</update>
<update id="mark" parameterType="com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO">
UPDATE hrsa_salary_acct_emp
<set>
mark_items =
#{markItems, jdbcType=ARRAY, typeHandler=com.engine.salary.handle.SalaryListTypeHandler},
</set>
WHERE id = #{id} AND delete_type = 0
</update>
</mapper>

View File

@ -270,4 +270,5 @@ public interface SalaryAcctEmployeeService {
void updateIgnoreNull(SalaryAcctEmployeePO salaryAcctEmployeePO);
void lock(SalaryAcctEmployeePO salaryAcctEmployeePO);
void mark(SalaryAcctEmployeePO salaryAcctEmployeePO);
}

View File

@ -164,6 +164,7 @@ public interface SalaryAcctResultService {
* @param param
*/
void lock(SalaryAcctResultLockParam param);
void mark(SalaryAcctResultMarkParam param);
/**

View File

@ -16,8 +16,8 @@ import com.engine.salary.entity.salaryacct.po.SalaryAcctEmployeePO;
import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveDataDTO;
import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO;
import com.engine.salary.entity.salarysob.po.SalarySobItemPO;
import com.engine.salary.entity.salarysob.param.SalarySobQueryParam;
import com.engine.salary.entity.salarysob.po.SalarySobItemPO;
import com.engine.salary.entity.salarysob.po.SalarySobPO;
import com.engine.salary.entity.taxagent.param.TaxAgentQueryParam;
import com.engine.salary.entity.taxagent.po.TaxAgentPO;
@ -31,7 +31,6 @@ import com.engine.salary.mapper.salarysob.SobTaxLinkMapper;
import com.engine.salary.mapper.sys.SalarySysConfMapper;
import com.engine.salary.report.entity.param.SalaryStatisticsReportDataQueryParam;
import com.engine.salary.service.*;
import com.engine.salary.sys.constant.SalarySysConstant;
import com.engine.salary.service.auth.AuthService;
import com.engine.salary.service.auth.AuthServiceImpl;
import com.engine.salary.sys.constant.SalarySysConstant;
@ -870,4 +869,9 @@ public class SalaryAcctEmployeeServiceImpl extends Service implements SalaryAcct
public void lock(SalaryAcctEmployeePO salaryAcctEmployeePO) {
getSalaryAcctEmployeeMapper().lock(salaryAcctEmployeePO);
}
@Override
public void mark(SalaryAcctEmployeePO salaryAcctEmployeePO) {
getSalaryAcctEmployeeMapper().mark(salaryAcctEmployeePO);
}
}

View File

@ -1050,6 +1050,29 @@ public class SalaryAcctResultServiceImpl extends Service implements SalaryAcctRe
getSalaryAcctEmployeeService(user).lock(salaryAcctEmployeePO);
}
@Override
public void mark(SalaryAcctResultMarkParam param) {
ValidUtil.doValidator(param);
SalaryAcctEmployeePO salaryAcctEmployeePO = getSalaryAcctEmployeeService(user).getById(param.getAcctEmpId());
if (salaryAcctEmployeePO == null) {
return;
}
List<Long> markItemIds = salaryAcctEmployeePO.getMarkItems() == null ? new ArrayList<>() : salaryAcctEmployeePO.getMarkItems();
Long salaryItemId = param.getSalaryItemId();
if (param.getLockStatus() == LockStatusEnum.LOCK) {
markItemIds.add(salaryItemId);
} else {
markItemIds.removeIf(salaryItemId::equals);
}
salaryAcctEmployeePO.setLockItems(Lists.newArrayList(new HashSet(markItemIds)));
getSalaryAcctEmployeeService(user).mark(salaryAcctEmployeePO);
}
@Override
public void updateLockStatusByParam(SalaryAcctResultUpdateLockStatusParam updateParam) {
List<SalaryAcctEmployeePO> salaryAcctEmployees = getSalaryAcctEmployeeService(user).listBySalaryAcctRecordId(updateParam.getSalaryAcctRecordId());

View File

@ -463,6 +463,13 @@ public class SalaryAcctController {
return new ResponseResult<SalaryAcctResultSaveParam, String>(user).run(getSalaryAcctResultWrapper(user)::save, param);
}
@POST
@Path("/acctresult/mark")
@Produces(MediaType.APPLICATION_JSON)
public String mark(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody SalaryAcctResultMarkParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<SalaryAcctResultMarkParam, String>(user).run(getSalaryAcctResultWrapper(user)::mark, param);
}
@POST
@Path("/acctresult/lock")

View File

@ -193,6 +193,9 @@ public class SalaryAcctResultWrapper extends Service implements SalaryAcctResult
getSalaryAcctResultService(user).save(saveParam);
}
public void mark(SalaryAcctResultMarkParam param) {
getSalaryAcctResultService(user).mark(param);
}
public void lock(SalaryAcctResultLockParam param) {
getSalaryAcctResultService(user).lock(param);