weaver-hrm-salary/src/com/engine/salary/service/impl/SIAccountServiceImpl.java

593 lines
28 KiB
Java
Raw Normal View History

2022-04-11 19:07:35 +08:00
package com.engine.salary.service.impl;
2022-04-12 19:29:19 +08:00
import com.api.browser.bean.SearchConditionGroup;
import com.api.browser.bean.SearchConditionItem;
2022-04-18 20:24:43 +08:00
import com.api.browser.bean.SearchConditionOption;
2022-04-16 16:43:33 +08:00
import com.cloudstore.eccom.pc.table.*;
2022-04-11 19:07:35 +08:00
import com.cloudstore.eccom.result.WeaResultMsg;
2022-04-12 10:24:21 +08:00
import com.engine.common.util.ServiceUtil;
2022-04-11 19:07:35 +08:00
import com.engine.core.impl.Service;
import com.engine.salary.biz.SIAccountBiz;
2022-04-16 16:43:33 +08:00
import com.engine.salary.biz.SIArchivesBiz;
2022-04-11 19:07:35 +08:00
import com.engine.salary.component.SalaryWeaTable;
2022-04-12 19:29:19 +08:00
import com.engine.salary.constant.SalaryDefaultTenantConstant;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.salaryarchive.dto.SalaryArchiveListDTO;
2022-04-11 19:07:35 +08:00
import com.engine.salary.entity.siaccount.bo.InsuranceAccountBO;
import com.engine.salary.entity.siaccount.dto.InsuranceAccountBatchListDTO;
2022-04-15 19:01:09 +08:00
import com.engine.salary.entity.siaccount.dto.InsuranceAccountTabDTO;
2022-04-18 20:24:43 +08:00
import com.engine.salary.entity.siaccount.dto.InsuranceAccountViewListDTO;
2022-04-15 13:17:25 +08:00
import com.engine.salary.entity.siaccount.param.*;
2022-04-11 19:07:35 +08:00
import com.engine.salary.entity.siaccount.po.InsuranceAccountBatchPO;
2022-04-12 10:24:21 +08:00
import com.engine.salary.entity.siaccount.po.InsuranceAccountDetailPO;
2022-04-15 13:17:25 +08:00
import com.engine.salary.entity.siaccount.po.InsuranceAccountInspectPO;
2022-04-16 16:43:33 +08:00
import com.engine.salary.entity.siarchives.po.InsuranceArchivesEmployeePO;
import com.engine.salary.enums.UserStatusEnum;
2022-04-12 19:29:19 +08:00
import com.engine.salary.enums.siaccount.BillStatusEnum;
2022-04-15 13:17:25 +08:00
import com.engine.salary.enums.siaccount.InspectStatusEnum;
2022-04-12 19:29:19 +08:00
import com.engine.salary.enums.siaccount.PaymentStatusEnum;
2022-04-18 20:24:43 +08:00
import com.engine.salary.enums.siaccount.ProjectTypeEnum;
2022-04-12 19:29:19 +08:00
import com.engine.salary.mapper.datacollection.EmployMapper;
2022-04-14 11:54:16 +08:00
import com.engine.salary.mapper.siaccount.InsuranceAccountBatchMapper;
2022-04-12 19:29:19 +08:00
import com.engine.salary.mapper.siaccount.InsuranceAccountDetailMapper;
2022-04-15 13:17:25 +08:00
import com.engine.salary.mapper.siaccount.InsuranceAccountInspectMapper;
2022-04-12 19:29:19 +08:00
import com.engine.salary.service.ColumnBuildService;
2022-04-12 10:24:21 +08:00
import com.engine.salary.service.RecordsBuildService;
2022-04-11 19:07:35 +08:00
import com.engine.salary.service.SIAccountService;
import java.util.*;
2022-04-12 19:29:19 +08:00
import java.util.stream.Collectors;
2022-04-11 19:07:35 +08:00
2022-04-12 19:29:19 +08:00
import com.engine.salary.util.SalaryDateUtil;
2022-04-14 11:54:16 +08:00
import com.engine.salary.util.SalaryFormItemUtil;
2022-04-15 19:01:09 +08:00
import com.engine.salary.util.SalaryI18nUtil;
2022-04-12 19:29:19 +08:00
import com.engine.salary.util.db.MapperProxyFactory;
2022-04-11 19:07:35 +08:00
import com.engine.salary.util.page.PageInfo;
2022-04-18 20:24:43 +08:00
import com.engine.salary.util.page.PageUtil;
2022-04-14 11:54:16 +08:00
import com.engine.salary.util.valid.ValidUtil;
2022-04-12 19:29:19 +08:00
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
2022-04-12 10:24:21 +08:00
import weaver.hrm.User;
2022-04-11 19:07:35 +08:00
/**
* @Author weaver_cl
* @Description: TODO
* @Date 2022/4/11
* @Version V1.0
**/
public class SIAccountServiceImpl extends Service implements SIAccountService {
private SIAccountBiz siAccountBiz = new SIAccountBiz();
2022-04-16 16:43:33 +08:00
private SIArchivesBiz siArchivesBiz = new SIArchivesBiz();
2022-04-12 10:24:21 +08:00
public RecordsBuildService getService(User user) {
return ServiceUtil.getService(RecordsBuildServiceImpl.class,user);
}
2022-04-12 19:29:19 +08:00
public ColumnBuildService getColumnBuildService(User user) {
return ServiceUtil.getService(ColumnBuildServiceImpl.class,user);
}
2022-04-11 19:07:35 +08:00
@Override
public Map<String, Object> listPage(InsuranceAccountBatchParam queryParam) {
Long employeeId = (long)user.getUID();
Map<String,Object> datas = new HashMap<>();
//福利台账列表
PageInfo<InsuranceAccountBatchPO> pageInfo = siAccountBiz.listPage(queryParam,employeeId);
Collection<InsuranceAccountBatchPO> insuranceAccountBatchPOS = pageInfo.getList();
List<InsuranceAccountBatchListDTO> insuranceAccountBatchListDTOS = InsuranceAccountBO.buildAccountBatchDTOList(insuranceAccountBatchPOS);
PageInfo<InsuranceAccountBatchListDTO> pageInfos = new PageInfo<>(insuranceAccountBatchListDTOS,InsuranceAccountBatchListDTO.class);
pageInfos.setTotal(insuranceAccountBatchListDTOS.size());
pageInfos.setPageNum(queryParam.getCurrent());
pageInfos.setPageSize(queryParam.getPageSize());
2022-04-12 19:29:19 +08:00
List<Map<Integer,List<Permission>>> operatesPermission = new ArrayList<>();
2022-04-11 19:07:35 +08:00
SalaryWeaTable<InsuranceAccountBatchListDTO> table = new SalaryWeaTable<>(user, InsuranceAccountBatchListDTO.class);
//table.getColumns().get(0).setFixed("left");
2022-04-12 19:29:19 +08:00
// for (int i = 0; i < insuranceAccountBatchListDTOS.size(); i++) {
// InsuranceAccountBatchListDTO insuranceAccountBatchListDTO = insuranceAccountBatchListDTOS.get(i);
// if (Objects.equals(insuranceAccountBatchListDTO.getBillStatus(), BillStatusEnum.ARCHIVED.getDefaultLabel())) {
// table.getOperates().getOperate().get(i).getIndex();
//
// resultTable.getOperatesPermission().get(i).get(0).setVisible(false);
// resultTable.getOperatesPermission().get(i).get(1).setVisible(false);
// resultTable.getOperatesPermission().get(i).get(2).setVisible(false);
// resultTable.getOperatesPermission().get(i).get(3).setVisible(false);
// resultTable.getOperates().get(4).setOuter(true);
// }
// if (Objects.equals(insuranceAccountBatchListDTO.getBillStatus(), BillStatusEnum.NOT_ARCHIVED.getDefaultLabel())) {
// resultTable.getOperatesPermission().get(i).get(4).setVisible(false);
// List<InsuranceAccountInspectPO> insuranceAccountInspectPOS = siAccountInspectService.listByBillMonth(insuranceAccountBatchListDTO.getBillMonth(), tenantKey);
// if (CollectionUtils.isEmpty(insuranceAccountInspectPOS)) {
// resultTable.getOperatesPermission().get(i).get(2).setVisible(false);
// }
// }
// }
2022-04-11 19:07:35 +08:00
WeaResultMsg result = new WeaResultMsg(false);
result.putAll(table.makeDataResult());
result.success();
datas.put("pageInfo", pageInfos);
2022-04-12 19:29:19 +08:00
datas.put("operatesPermission",operatesPermission);
2022-04-11 19:07:35 +08:00
//datas.put("dataKey",result.getResultMap());
return datas;
// WeaTable<InsuranceAccountBatchListDTO> resultTable = FormatManager.<InsuranceAccountBatchListDTO>getInstance()
// .genTable(InsuranceAccountBatchListDTO.class, insuranceAccountBatchListDTOPage);
//
// resultTable.getOperates().forEach(e -> {
// if (e.getIndex() == 0) {
// e.setOuter(true);
// }
// });
2022-04-12 19:29:19 +08:00
2022-04-11 19:07:35 +08:00
// resultTable.setModule("hrmsalary");
// resultTable.getColumns().get(0).setFixed("left");
// return WeaResult.success(resultTable);
}
@Override
2022-04-12 10:24:21 +08:00
public Map<String, Object> listCommonPage(InsuranceAccountDetailParam queryParam) {
2022-04-11 19:07:35 +08:00
Long employeeId = (long)user.getUID();
Map<String,Object> datas = new HashMap<>();
2022-04-12 10:24:21 +08:00
//正常缴纳列表
PageInfo<InsuranceAccountDetailPO> pageInfo = siAccountBiz.listCommonPage(queryParam);
List<InsuranceAccountDetailPO> insuranceAccountDetailPOS = pageInfo.getList();
//数据组装
List<Map<String, Object>> records = getService(user).buildCommonRecords(insuranceAccountDetailPOS, employeeId);
2022-04-15 19:01:09 +08:00
PageInfo<Map<String, Object>> pageInfos = new PageInfo<>(records);
2022-04-12 19:29:19 +08:00
pageInfos.setTotal(records.size());
pageInfos.setPageNum(queryParam.getCurrent());
pageInfos.setPageSize(queryParam.getPageSize());
//动态列组装
List<WeaTableColumn> weaTableColumn = getColumnBuildService(user).buildCommonColumnsWithStyle(insuranceAccountDetailPOS, employeeId, SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY, false);
SalaryWeaTable<InsuranceAccountDetailPO> table = new SalaryWeaTable<>(user, SalaryArchiveListDTO.class);
table.setColumns(weaTableColumn);
WeaResultMsg result = new WeaResultMsg(false);
result.putAll(table.makeDataResult());
result.success();
datas.put("pageInfo", pageInfos);
datas.put("dataKey",result.getResultMap());
return datas;
}
2022-04-16 16:43:33 +08:00
2022-04-12 19:29:19 +08:00
@Override
public Map<String, Object> listCommonPageByName(InsuranceAccountDetailParam queryParam) {
//增加查询参数userName
if (StringUtils.isNotBlank(queryParam.getUserName())) {
List<DataCollectionEmployee> employeeIdsByUserName = MapperProxyFactory.getProxy(EmployMapper.class).getEmployeeIdsByUserName(queryParam.getUserName());
List<Long> employeeIds = employeeIdsByUserName.stream().map(DataCollectionEmployee::getEmployeeId).collect(Collectors.toList());
queryParam.setEmployeeIds(employeeIds);
}
return listCommonPage(queryParam);
}
@Override
public Map<String, Object> listSupplementaryPage(InsuranceAccountDetailParam queryParam) {
Long employeeId = (long)user.getUID();
Map<String,Object> datas = new HashMap<>();
2022-04-15 19:01:09 +08:00
//补缴缴纳列表
2022-04-12 19:29:19 +08:00
queryParam.setPaymentStatus(PaymentStatusEnum.REPAIR.getValue());
2022-04-18 20:24:43 +08:00
PageUtil.start(queryParam.getCurrent(), queryParam.getPageSize());
2022-04-12 19:29:19 +08:00
List<InsuranceAccountDetailPO> list = MapperProxyFactory.getProxy(InsuranceAccountDetailMapper.class).list(queryParam);
PageInfo<InsuranceAccountDetailPO> pageInfo = new PageInfo<>(list,InsuranceAccountDetailPO.class);
List<InsuranceAccountDetailPO> insuranceAccountDetailPOS = pageInfo.getList();
//数据组装
List<Map<String, Object>> records = getService(user).buildCommonRecords(insuranceAccountDetailPOS, employeeId);
PageInfo<Map<String, Object>> pageInfos = new PageInfo<Map<String, Object>>(records);
pageInfos.setTotal(records.size());
pageInfos.setPageNum(queryParam.getCurrent());
pageInfos.setPageSize(queryParam.getPageSize());
2022-04-12 10:24:21 +08:00
2022-04-12 19:29:19 +08:00
//动态列组装
List<WeaTableColumn> weaTableColumn = getColumnBuildService(user).buildCommonColumnsWithStyle(insuranceAccountDetailPOS, employeeId, SalaryDefaultTenantConstant.DEFAULT_TENANT_KEY, false);
2022-04-12 10:24:21 +08:00
2022-04-12 19:29:19 +08:00
SalaryWeaTable<InsuranceAccountDetailPO> table = new SalaryWeaTable<>(user, SalaryArchiveListDTO.class);
table.setColumns(weaTableColumn);
WeaResultMsg result = new WeaResultMsg(false);
result.putAll(table.makeDataResult());
result.success();
datas.put("pageInfo", pageInfos);
datas.put("dataKey",result.getResultMap());
2022-04-12 10:24:21 +08:00
return datas;
2022-04-11 19:07:35 +08:00
}
2022-04-12 10:24:21 +08:00
2022-04-16 16:43:33 +08:00
2022-04-12 19:29:19 +08:00
@Override
public Map<String, Object> supplementaryByNameList(InsuranceAccountDetailParam queryParam) {
//增加查询参数userName
if (StringUtils.isNotBlank(queryParam.getUserName())) {
List<DataCollectionEmployee> employeeIdsByUserName = MapperProxyFactory.getProxy(EmployMapper.class).getEmployeeIdsByUserName(queryParam.getUserName());
List<Long> employeeIds = employeeIdsByUserName.stream().map(DataCollectionEmployee::getEmployeeId).collect(Collectors.toList());
queryParam.setEmployeeIds(employeeIds);
}
return listSupplementaryPage(queryParam);
}
@Override
public Map<String, Object> getForm(Map<String, Object> params) {
2022-04-14 11:54:16 +08:00
Map<String, Object> apidatas = new HashMap<>();
2022-04-12 19:29:19 +08:00
//条件组
List<SearchConditionGroup> addGroups = new ArrayList<>();
List<SearchConditionItem> conditionItems = new ArrayList<>();
2022-04-14 11:54:16 +08:00
SearchConditionItem datePickerItem = SalaryFormItemUtil.datePickerItem(user, 2, 16, true, 1, "账单月份", "billMonth");
String minDate = SalaryDateUtil.getYearMonth(-1, 0);
String maxDate = SalaryDateUtil.getYearMonth(0, 6);
datePickerItem.getOtherParams().put("minDate",minDate);
datePickerItem.getOtherParams().put("maxDate",maxDate);
InsuranceAccountBatchParam queryParam = InsuranceAccountBatchParam.builder().startTime(minDate).endTime(maxDate).build();
List<InsuranceAccountBatchPO> billMonthList = MapperProxyFactory.getProxy(InsuranceAccountBatchMapper.class).list(queryParam);
if (CollectionUtils.isEmpty(billMonthList)) {
datePickerItem.getOtherParams().put("disabledData", Collections.emptyList());
} else {
datePickerItem.getOtherParams().put("disabledData", billMonthList.stream().map(InsuranceAccountBatchPO::getBillMonth).collect(Collectors.toList()));
}
datePickerItem.getOtherParams().put("type", "month");
datePickerItem.getOtherParams().put("format", "YYYY-MM");
datePickerItem.getOtherParams().put("showFormat", "YYYY-MM");
conditionItems.add(datePickerItem);
2022-04-12 19:29:19 +08:00
2022-04-14 11:54:16 +08:00
SearchConditionItem textareaItem = SalaryFormItemUtil.textareaItem(user, 2, 16, true, 1, 60, "备注", "remarks");
conditionItems.add(textareaItem);
addGroups.add(new SearchConditionGroup("常用条件",true,conditionItems));
apidatas.put("billMonth", SalaryDateUtil.getYearMonth(0, 0));
apidatas.put("condition",addGroups);
return apidatas;
}
@Override
2022-04-15 13:17:25 +08:00
public void save(AccountParam param) {
2022-04-14 11:54:16 +08:00
Long employeeId = (long)user.getUID();
2022-04-15 13:17:25 +08:00
String lastName = user.getLastname();
2022-04-14 11:54:16 +08:00
ValidUtil.doValidator(param);
2022-04-15 13:17:25 +08:00
siAccountBiz.save(true,param,employeeId,lastName);
}
@Override
public void commonAccount(SaveCommonAccountParam param) {
Long employeeId = (long)user.getUID();
ValidUtil.doValidator(param);
siAccountBiz.saveCommonAccount(param,employeeId);
}
@Override
public void delete(AccountParam accountParam) {
Long employeeId = (long)user.getUID();
siAccountBiz.delete(accountParam,employeeId);
}
@Override
public void saveCommonAccount(SaveCommonAccountParam accountParam) {
Long employeeId = (long)user.getUID();
siAccountBiz.saveCommonAccount(accountParam,employeeId);
}
@Override
public void saveSupplementaryAccount(SaveSupplementaryAccountParam saveSupplementaryAccountParam) {
Long employeeId = (long)user.getUID();
siAccountBiz.saveSupplementaryAccount(saveSupplementaryAccountParam,employeeId);
}
@Override
public void deleteCommonAccount(SaveCommonAccountParam param) {
Long employeeId = (long)user.getUID();
siAccountBiz.deleteCommonAccount(param,employeeId);
}
@Override
public void deleteSummplementaryAccount(List<SupplementAccountBaseParam> supplementAccountBaseParams) {
Long employeeId = (long)user.getUID();
siAccountBiz.deleteSupplementaryAccount(supplementAccountBaseParams,employeeId);
}
@Override
public void file(AccountParam accountParam) {
Long employeeId = (long)user.getUID();
String billMonth = accountParam.getBillMonth();
siAccountBiz.file(billMonth,employeeId);
}
@Override
public void unconfirmed(Collection<Long> ids) {
List<InsuranceAccountInspectPO> insuranceAccountInspectPOS = MapperProxyFactory.getProxy(InsuranceAccountInspectMapper.class).getByInspectStatusAndIds(InspectStatusEnum.COMFORED.getValue(),ids);
if (CollectionUtils.isNotEmpty(insuranceAccountInspectPOS)) {
MapperProxyFactory.getProxy(InsuranceAccountDetailMapper.class).batchUnConfirmedInspectDetails(insuranceAccountInspectPOS.stream().map(InsuranceAccountInspectPO::getId).collect(Collectors.toList()));
}
}
@Override
public Map<String, Boolean> buttonCheck(String billMonth) {
Map<String, Boolean> result = new HashMap<>();
List<InsuranceAccountInspectPO> list = MapperProxyFactory.getProxy(InsuranceAccountInspectMapper.class).getByInspectStatusAndBillMonth(InspectStatusEnum.IGNORE.getValue(),billMonth);
if (CollectionUtils.isEmpty(list)) {
result.put("displayFlag", false);
return result;
}
result.put("displayFlag", true);
return result;
2022-04-12 19:29:19 +08:00
}
2022-04-15 19:01:09 +08:00
@Override
public void ignore(Collection<Long> ids) {
List<InsuranceAccountInspectPO> insuranceAccountInspectPOS = MapperProxyFactory.getProxy(InsuranceAccountInspectMapper.class).getByInspectStatusAndIds(InspectStatusEnum.IGNORE.getValue(),ids);
if (CollectionUtils.isNotEmpty(insuranceAccountInspectPOS)) {
MapperProxyFactory.getProxy(InsuranceAccountDetailMapper.class).batchIgnoreInspectDetails(insuranceAccountInspectPOS.stream().map(InsuranceAccountInspectPO::getId).collect(Collectors.toList()));
}
}
@Override
public InsuranceAccountTabDTO tabList(String billMonth) {
InsuranceAccountTabDTO insuranceAccountTabDTO = InsuranceAccountTabDTO.builder().build();
InsuranceAccountBatchPO insuranceAccountBatchPO = MapperProxyFactory.getProxy(InsuranceAccountBatchMapper.class).getByBillMonth(billMonth);
boolean isShow = false;
if (insuranceAccountBatchPO == null || insuranceAccountBatchPO.getBillStatus() == BillStatusEnum.NOT_ARCHIVED.getValue()) {
isShow = true;
}
if (insuranceAccountBatchPO != null) {
insuranceAccountTabDTO.setRemarks(insuranceAccountBatchPO.getRemarks());
}
List<Map<String, Object>> tabList = new ArrayList<>();
Map<String, Object> common = new HashMap<>();
common.put("id", "1");
common.put("content", SalaryI18nUtil.getI18nLabel( 92265, "正常缴纳"));
tabList.add(common);
if (isShow) {
Map<String, Object> change = new HashMap<>();
change.put("id", "2");
change.put("content", SalaryI18nUtil.getI18nLabel( 100509, "异动清单"));
tabList.add(change);
}
Map<String, Object> repair = new HashMap<>();
repair.put("id", "3");
repair.put("content", SalaryI18nUtil.getI18nLabel(92267, "补缴"));
tabList.add(repair);
Map<String, Object> overView = new HashMap<>();
overView.put("id", "4");
overView.put("content", SalaryI18nUtil.getI18nLabel( 99927, "总览"));
tabList.add(overView);
insuranceAccountTabDTO.setTabList(tabList);
insuranceAccountTabDTO.setShow(isShow);
insuranceAccountTabDTO.setBillMonth(billMonth);
return insuranceAccountTabDTO;
}
2022-04-16 16:43:33 +08:00
@Override
public Map<String, Object> changeList(InsuranceAccountDetailParam param) {
Map<String,Object> datas = new HashMap<>();
Long employeeId = (long)user.getUID();
List<InsuranceArchivesEmployeePO> insuranceArchivesEmployeePOS = MapperProxyFactory.getProxy(InsuranceAccountDetailMapper.class).changeList(param.getUserName(), param.getCurrent(), param.getPageSize());
List<Map<String, Object>> records = siArchivesBiz.buildTableData(insuranceArchivesEmployeePOS);
PageInfo<Map<String, Object>> pageInfos = new PageInfo<>(records);
pageInfos.setTotal(records.size());
pageInfos.setPageNum(param.getCurrent());
pageInfos.setPageSize(param.getPageSize());
List<WeaTableColumn> weaTableColumns = siArchivesBiz.buildWeaTableColumns(insuranceArchivesEmployeePOS, employeeId);
WeaTable table = new WeaTable();
table.setPageUID(UUID.randomUUID().toString());
table.setColumns(weaTableColumns);
table.setTableType(WeaTableType.CHECKBOX);
WeaTableOperates weaTableOperates = new WeaTableOperates();
WeaTableOperate weaTableOperate = new WeaTableOperate();
weaTableOperate.setIndex("0");
weaTableOperate.setText("移除");
WeaTableOperate weaTableOperate1 = new WeaTableOperate();
weaTableOperate1.setIndex("1");
weaTableOperate1.setText("添加");
table.setOperates(weaTableOperates);
List<List<Permission>> permissions = new ArrayList<>();
for (int i = 0; i < records.size(); i++) {
List<Permission> permission = new ArrayList<>();
if (UserStatusEnum.DEPARTURE.getDescription().equals(records.get(i).get("status"))) {
permission.add(new Permission(true, false));
permission.add(new Permission(false, false));
permissions.add(permission);
}
if (UserStatusEnum.DEPARTURE.getDescription().equals(records.get(i).get("status"))) {
permission.add(new Permission(false, false));
permission.add(new Permission(true, false));
permissions.add(permission);
}
}
WeaResultMsg result = new WeaResultMsg(false);
result.putAll(table.makeDataResult());
result.success();
datas.put("permissions",permissions);
datas.put("pageInfo", pageInfos);
datas.put("dataKey",result.getResultMap());
return datas;
}
@Override
public void accountInspect(InspectAccountParam param) {
Long employeeId = (long)user.getUID();
ValidUtil.doValidator(param);
siAccountBiz.accountInspect(param.getIds(),param.getBillMonth(),employeeId);
}
@Override
public Map<String, Object> getInspectTable(InsuranceAccountDetailParam param) {
Map<String,Object> datas = new HashMap<>();
List<InsuranceAccountInspectPO> insuranceAccountInspectPOS = MapperProxyFactory.getProxy(InsuranceAccountInspectMapper.class).getByBillMonth(param.getBillMonth());
List<Map<String, Object>> records = getService(user).buildInspectRecords(insuranceAccountInspectPOS);
PageInfo<Map<String, Object>> pageInfos = new PageInfo<>(records);
pageInfos.setTotal(records.size());
pageInfos.setPageNum(param.getCurrent());
pageInfos.setPageSize(param.getPageSize());
List<WeaTableColumn> weaTableColumns = getColumnBuildService(user).buildInspectColumns(insuranceAccountInspectPOS);
WeaTable table = new WeaTable();
table.setPageUID(UUID.randomUUID().toString());
table.setColumns(weaTableColumns);
table.setTableType(WeaTableType.CHECKBOX);
WeaTableOperates weaTableOperates = new WeaTableOperates();
WeaTableOperate weaTableOperate = new WeaTableOperate();
weaTableOperate.setIndex("0");
weaTableOperate.setText("忽略");
WeaTableOperate weaTableOperate1 = new WeaTableOperate();
weaTableOperate1.setIndex("1");
weaTableOperate1.setText("重置");
table.setOperates(weaTableOperates);
List<List<Permission>> permissions = new ArrayList<>();
for (int i = 0; i < records.size(); i++) {
List<Permission> permission = new ArrayList<>();
Permission permissionCheckBox = new Permission();
if (InspectStatusEnum.IGNORE.getValue() == records.get(i).get("inspectStatus")) {
permissionCheckBox.setVisible(true);
permissionCheckBox.setDisabled(false);
permission.add(new Permission(true, false));
permission.add(new Permission(false, true));
permissions.add(permission);
}
if (InspectStatusEnum.COMFORED.getValue() == records.get(i).get("inspectStatus")) {
permissionCheckBox.setVisible(true);
permissionCheckBox.setDisabled(true);
permission.add(new Permission(false, true));
permission.add(new Permission(true, false));
permissions.add(permission);
}
}
WeaResultMsg result = new WeaResultMsg(false);
result.putAll(table.makeDataResult());
result.success();
datas.put("permissions",permissions);
datas.put("pageInfo", pageInfos);
datas.put("dataKey",result.getResultMap());
return datas;
}
2022-04-18 20:24:43 +08:00
@Override
public Map<String, Object> getCommonForm(Map<String, Object> params) {
Map<String, Object> apidatas = new HashMap<>();
//条件组
List<SearchConditionGroup> addGroups = new ArrayList<>();
List<SearchConditionItem> conditionItems = new ArrayList<>();
List<SearchConditionItem> conditionItem = new ArrayList<>();
SearchConditionItem includes = SalaryFormItemUtil.browserItem(user, 18, 6, 2, true, "对象", "require", "17", "includes");
conditionItems.add(includes);
SearchConditionItem excludes = SalaryFormItemUtil.browserItem(user, 18, 6, 2, true, "选择人员", "require", "17", "excludes");
conditionItem.add(excludes);
addGroups.add(new SearchConditionGroup("人员范围",true,conditionItems));
addGroups.add(new SearchConditionGroup("人员范围排除",true,conditionItem));
apidatas.put("condition",addGroups);
return apidatas;
}
@Override
public Map<String, Object> getSupplementaryForm(Map<String, Object> params) {
Map<String, Object> apidatas = new HashMap<>();
//条件组
List<SearchConditionGroup> addGroups = new ArrayList<>();
List<SearchConditionItem> condition = new ArrayList<>();
List<SearchConditionItem> conditionItems = new ArrayList<>();
List<SearchConditionItem> conditionItem = new ArrayList<>();
SearchConditionItem billMonthList = SalaryFormItemUtil.datePickerItem(user, 2, 16, true, 2, "账单月份", "billMonth");
billMonthList.setMultiple(true);
billMonthList.getOtherParams().put("type", "months");
billMonthList.getOtherParams().put("format", "YYYY-MM");
billMonthList.getOtherParams().put("showFormat", "YYYY-MM");
billMonthList.setMultiple(true);
condition.add(billMonthList);
SearchConditionItem billProjects = SalaryFormItemUtil.checkboxItem(user,18,6,3,true,"补缴项目","projects");
billProjects.setOptions(buildBillProjectsOptions());
billMonthList.setMultiple(false);
condition.add(billProjects);
SearchConditionItem includes = SalaryFormItemUtil.browserItem(user, 18, 6, 3, true, "对象", "require", "17", "includes");
conditionItems.add(includes);
SearchConditionItem excludes = SalaryFormItemUtil.browserItem(user, 18, 6, 2, true, "选择人员", "require", "17", "excludes");
conditionItem.add(excludes);
addGroups.add(new SearchConditionGroup("基础信息",true,condition));
addGroups.add(new SearchConditionGroup("人员范围",true,conditionItems));
addGroups.add(new SearchConditionGroup("人员范围排除",true,conditionItem));
apidatas.put("condition",addGroups);
return apidatas;
}
@Override
public PageInfo<InsuranceAccountViewListDTO> overView(InsuranceAccountDetailParam queryParam) {
PageInfo<InsuranceAccountViewListDTO> pageInfos = siAccountBiz.overView(queryParam);
pageInfos.setPageNum(queryParam.getCurrent());
pageInfos.setPageSize(queryParam.getPageSize());
return pageInfos;
}
public List<SearchConditionOption> buildBillProjectsOptions() {
List<SearchConditionOption> options = new ArrayList<>();
options.add(new SearchConditionOption(String.valueOf(ProjectTypeEnum.ALL.getValue()),
SalaryI18nUtil.getI18nLabel( ProjectTypeEnum.ALL.getLabelId(), ProjectTypeEnum.ALL.getDefaultLabel())));
options.add(new SearchConditionOption(String.valueOf(ProjectTypeEnum.SOCIAL.getValue()),
SalaryI18nUtil.getI18nLabel( ProjectTypeEnum.SOCIAL.getLabelId(), ProjectTypeEnum.SOCIAL.getDefaultLabel())));
options.add(new SearchConditionOption(String.valueOf(ProjectTypeEnum.FUND.getValue()),
SalaryI18nUtil.getI18nLabel( ProjectTypeEnum.FUND.getLabelId(), ProjectTypeEnum.FUND.getDefaultLabel())));
options.add(new SearchConditionOption(String.valueOf(ProjectTypeEnum.OTHER.getValue()),
SalaryI18nUtil.getI18nLabel( ProjectTypeEnum.OTHER.getLabelId(), ProjectTypeEnum.OTHER.getDefaultLabel())));
options.add(new SearchConditionOption(String.valueOf(ProjectTypeEnum.ENDOWMENT_INSURANCE.getValue()),
SalaryI18nUtil.getI18nLabel( ProjectTypeEnum.ENDOWMENT_INSURANCE.getLabelId(), ProjectTypeEnum.ENDOWMENT_INSURANCE.getDefaultLabel())));
options.add(new SearchConditionOption(String.valueOf(ProjectTypeEnum.MEDICAL_INSURANCE.getValue()),
SalaryI18nUtil.getI18nLabel( ProjectTypeEnum.MEDICAL_INSURANCE.getLabelId(), ProjectTypeEnum.MEDICAL_INSURANCE.getDefaultLabel())));
return options;
}
2022-04-12 10:24:21 +08:00
2022-04-11 19:07:35 +08:00
}