数据推送

This commit is contained in:
钱涛 2024-11-20 17:03:41 +08:00
parent e4e3fb4bec
commit dd77a2f11b
6 changed files with 113 additions and 12 deletions

View File

@ -0,0 +1,62 @@
package com.engine.salary.entity.push.dto;
import com.engine.salary.annotation.TableTitle;
import com.engine.salary.enums.push.PushItemFieldEnum;
import com.engine.salary.enums.salaryformula.SalarySQLReferenceEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 数据推送配置明细
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PushSettingItemDTO {
private Long id;
/**
* 设置id
*/
private Long settingId;
/**
* 项目
*/
private String item;
/**
* 项目名
*/
@TableTitle(title = "项目名", dataIndex = "itemName", key = "itemName")
private String itemName;
/**
* 项目类型
* @see SalarySQLReferenceEnum
*/
private String source;
private String sourceName;
/**
* 数据库字段
*/
@TableTitle(title = "数据库字段", dataIndex = "fieldName", key = "fieldName")
private String fieldName;
/**
* 字段类型
* @see PushItemFieldEnum
*/
private PushItemFieldEnum fieldType;
@TableTitle(title = "字段类型", dataIndex = "fieldTypeName", key = "fieldTypeName")
private String fieldTypeName;
}

View File

@ -1,7 +1,7 @@
package com.engine.salary.entity.push.po;
import com.engine.hrmelog.annotation.ElogTransform;
import com.engine.salary.annotation.TableTitle;
import com.engine.salary.enums.push.PushItemFieldEnum;
import com.engine.salary.enums.salaryformula.SalarySQLReferenceEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -34,14 +34,12 @@ public class PushSettingItemPO {
* 项目
*/
@ElogTransform(name = "项目")
@TableTitle(title = "项目", dataIndex = "item", key = "item")
private String item;
/**
* 项目名
*/
@ElogTransform(name = "项目名")
@TableTitle(title = "项目名", dataIndex = "itemName", key = "itemName")
private String itemName;
/**
@ -49,21 +47,19 @@ public class PushSettingItemPO {
* @see SalarySQLReferenceEnum
*/
@ElogTransform(name = "项目类型")
@TableTitle(title = "项目类型", dataIndex = "source", key = "source")
private String source;
/**
* 数据库字段
*/
@ElogTransform(name = "数据库字段")
@TableTitle(title = "数据库字段", dataIndex = "fieldName", key = "fieldName")
private String fieldName;
/**
* 字段类型
* @see PushItemFieldEnum
*/
@ElogTransform(name = "字段类型")
@TableTitle(title = "字段类型", dataIndex = "fieldType", key = "fieldType")
private Integer fieldType;
/**

View File

@ -1,6 +1,7 @@
package com.engine.salary.service;
import com.engine.salary.entity.push.dto.PushSettingDTO;
import com.engine.salary.entity.push.dto.PushSettingItemDTO;
import com.engine.salary.entity.push.param.PushSettingItemQueryParam;
import com.engine.salary.entity.push.param.PushSettingItemSaveParam;
import com.engine.salary.entity.push.param.PushSettingQueryParam;
@ -13,6 +14,7 @@ public interface PushService {
/**
* 推送任务列表
*
* @param param
* @return
*/
@ -21,28 +23,47 @@ public interface PushService {
/**
* 保存推送配置
*
* @param param
*/
PushSettingPO save(PushSettingSaveParam param);
/**
* 删除推送配置
*
* @param id
*/
void delete(Long id);
PageInfo<PushSettingItemPO> itemList(PushSettingItemQueryParam param);
/**
* 推送明细列表
*
* @param param
* @return
*/
PageInfo<PushSettingItemDTO> itemList(PushSettingItemQueryParam param);
/**
* 保存明细配置
*
* @param param
*/
PushSettingItemPO saveItem(PushSettingItemSaveParam param);
/**
* 删除明细配置
*
* @param id
*/
void deleteItem(Long id);
/**
* 推送一条核算记录下的所有数据
*
* @param salarySobId
* @return
*/
void pushOneRecord(Long salarySobId);
void pushOneRecord(Long salarySobId);
// void push(List<Long> recodes);

View File

@ -6,6 +6,7 @@ import com.engine.core.impl.Service;
import com.engine.salary.constant.SalaryDefaultTenantConstant;
import com.engine.salary.entity.datacollection.DataCollectionEmployee;
import com.engine.salary.entity.push.dto.PushSettingDTO;
import com.engine.salary.entity.push.dto.PushSettingItemDTO;
import com.engine.salary.entity.push.param.PushSettingItemQueryParam;
import com.engine.salary.entity.push.param.PushSettingItemSaveParam;
import com.engine.salary.entity.push.param.PushSettingQueryParam;
@ -21,6 +22,7 @@ import com.engine.salary.entity.salaryitem.po.SalaryItemPO;
import com.engine.salary.entity.salarysob.dto.SalarySobCycleDTO;
import com.engine.salary.entity.salarysob.po.SalarySobPO;
import com.engine.salary.enums.push.PushItemFieldEnum;
import com.engine.salary.enums.salaryformula.SalarySQLReferenceEnum;
import com.engine.salary.exception.SalaryRunTimeException;
import com.engine.salary.mapper.push.PushSettingItemMapper;
import com.engine.salary.mapper.push.PushSettingMapper;
@ -158,9 +160,23 @@ public class PushServiceImpl extends Service implements PushService {
}
@Override
public PageInfo<PushSettingItemPO> itemList(PushSettingItemQueryParam param) {
public PageInfo<PushSettingItemDTO> itemList(PushSettingItemQueryParam param) {
List<PushSettingItemPO> pushSettingItemPOS = getPushSettingItemMapper().listSome(PushSettingItemPO.builder().settingId(param.getSettingId()).build());
return new PageInfo<PushSettingItemPO>(pushSettingItemPOS, PushSettingItemPO.class);
List<PushSettingItemDTO> list = pushSettingItemPOS.stream().map(po -> PushSettingItemDTO.builder()
.id(po.getId())
.settingId(po.getSettingId())
.item(po.getItem())
.itemName(po.getItemName())
.source(po.getSource())
.sourceName(SalarySQLReferenceEnum.parseByValue(po.getSource()).getDefaultLabel())
.fieldName(po.getFieldName())
.fieldType(PushItemFieldEnum.parseByValue(po.getFieldType()))
.fieldTypeName(PushItemFieldEnum.parseByValue(po.getFieldType()).getDefaultLabel())
.build()
).collect(Collectors.toList());
return new PageInfo<>(list, PushSettingItemDTO.class);
}
@Override
@ -217,6 +233,10 @@ public class PushServiceImpl extends Service implements PushService {
SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordService(user).getById(salaryAcctRecordId);
if (salaryAcctRecordPO == null) {
throw new SalaryRunTimeException("核算记录不存在!");
}
//查询核算人员
List<SalaryAcctEmployeePO> salaryAcctEmployeePOS = getSalaryAcctEmployeeService(user).listBySalaryAcctRecordId(salaryAcctRecordPO.getId());
List<SalaryItemPO> salaryItemPOS = getSalaryItemService(user).listAll();

View File

@ -2,6 +2,7 @@ package com.engine.salary.web;
import com.engine.common.util.ServiceUtil;
import com.engine.salary.entity.push.dto.PushSettingDTO;
import com.engine.salary.entity.push.dto.PushSettingItemDTO;
import com.engine.salary.entity.push.param.*;
import com.engine.salary.entity.push.po.PushSettingItemPO;
import com.engine.salary.entity.push.po.PushSettingPO;
@ -61,7 +62,7 @@ public class PushController {
@Produces(MediaType.APPLICATION_JSON)
public String itemList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody PushSettingItemQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<PushSettingItemQueryParam, PageInfo<PushSettingItemPO>>(user).run(getPushWrapper(user)::itemList, param);
return new ResponseResult<PushSettingItemQueryParam, PageInfo<PushSettingItemDTO>>(user).run(getPushWrapper(user)::itemList, param);
}

View File

@ -3,6 +3,7 @@ package com.engine.salary.wrapper;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.entity.push.dto.PushSettingDTO;
import com.engine.salary.entity.push.dto.PushSettingItemDTO;
import com.engine.salary.entity.push.param.*;
import com.engine.salary.entity.push.po.PushSettingItemPO;
import com.engine.salary.entity.push.po.PushSettingPO;
@ -31,7 +32,7 @@ public class PushWrapper extends Service {
getPushService(user).delete(id);
}
public PageInfo<PushSettingItemPO> itemList(PushSettingItemQueryParam param) {
public PageInfo<PushSettingItemDTO> itemList(PushSettingItemQueryParam param) {
return getPushService(user).itemList(param);
}