数据推送列表

This commit is contained in:
钱涛 2024-11-19 09:37:43 +08:00
parent 37b9d20faa
commit 9eb6a83f7b
8 changed files with 218 additions and 23 deletions

View File

@ -1,6 +1,7 @@
package com.engine.salary.entity.push.dto;
import com.engine.salary.entity.push.po.PushSettingItemPO;
import com.engine.hrmelog.annotation.ElogTransform;
import com.engine.salary.annotation.TableTitle;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -17,23 +18,44 @@ import java.util.List;
@AllArgsConstructor
public class PushSettingDTO {
private String sql;
@ElogTransform(name = "")
private Long id;
@TableTitle(title = "任务名称", key = "name", dataIndex = "name")
private String name;
/**
* 是否启用0否 1是
*/
@TableTitle(title = "是否启用", key = "able", dataIndex = "able")
private Integer able;
/**
* 薪资帐套集合
*/
@TableTitle(title = "薪资帐套集合", key = "salarySobNames", dataIndex = "salarySobNames")
private List<String> salarySobNames;
private List<Long> salarySobIds;
/**
* 建模id
*/
@TableTitle(title = "建模id", key = "modeId", dataIndex = "modeId")
private Integer modeId;
/**
* 模块名称
*/
@TableTitle(title = "模块名称", key = "modeName", dataIndex = "modeName")
private String modeName;
/**
* 数据库表
*/
@TableTitle(title = "数据库表名", key = "tableName", dataIndex = "tableName")
private String tableName;
private List<PushSettingItemPO> items;
}

View File

@ -0,0 +1,22 @@
package com.engine.salary.entity.push.param;
import com.engine.salary.common.BaseQueryParam;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 数据推送配置
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PushSettingItemQueryParam extends BaseQueryParam {
private Long settingId;
}

View File

@ -0,0 +1,28 @@
package com.engine.salary.entity.push.param;
import com.engine.salary.common.BaseQueryParam;
import com.engine.salary.util.valid.DataCheck;
import com.engine.salary.util.valid.ValidTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 数据推送配置
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PushSettingQueryParam extends BaseQueryParam {
/**
* 任务名称
*/
@DataCheck(require = true, type = ValidTypeEnum.STRING, max = 50, labelId = 86185, message = "任务名称为空")
private String name;
}

View File

@ -1,6 +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.salaryformula.SalarySQLReferenceEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
@ -33,12 +34,14 @@ 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;
/**
@ -46,18 +49,21 @@ 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;
/**
* 字段类型
*/
@ElogTransform(name = "字段类型")
@TableTitle(title = "字段类型", dataIndex = "fieldType", key = "fieldType")
private Integer fieldType;
/**

View File

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

View File

@ -1,11 +1,14 @@
package com.engine.salary.service.impl;
import cn.hutool.core.util.StrUtil;
import com.engine.common.util.ServiceUtil;
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.param.PushSettingItemQueryParam;
import com.engine.salary.entity.push.param.PushSettingItemSaveParam;
import com.engine.salary.entity.push.param.PushSettingQueryParam;
import com.engine.salary.entity.push.param.PushSettingSaveParam;
import com.engine.salary.entity.push.po.PushSettingItemPO;
import com.engine.salary.entity.push.po.PushSettingPO;
@ -26,6 +29,8 @@ import com.engine.salary.sys.enums.TaxDeclarationFunctionEnum;
import com.engine.salary.util.SalaryEntityUtil;
import com.engine.salary.util.db.IdGenerator;
import com.engine.salary.util.db.MapperProxyFactory;
import com.engine.salary.util.page.PageInfo;
import com.engine.salary.util.page.SalaryPageUtil;
import com.engine.salary.util.valid.ValidUtil;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
@ -75,6 +80,24 @@ public class PushServiceImpl extends Service implements PushService {
return ServiceUtil.getService(SalaryAcctResultServiceImpl.class, user);
}
@Override
public PageInfo<PushSettingDTO> settingList(PushSettingQueryParam param) {
List<PushSettingPO> pushSettingPOS = getPushSettingMapper().listAll();
List<PushSettingDTO> list = pushSettingPOS.stream()
.filter(po -> StrUtil.isNotBlank(param.getName()) && po.getName().contains(param.getName())).map(
po -> PushSettingDTO.builder()
.id(po.getId())
.tableName(po.getTableName())
.modeName(po.getModeName())
.modeId(po.getModeId())
.able(po.getAble())
.salarySobIds(po.getSalarySobIds())
// .salarySobNames(po.getSalarySobNames())
.build()).collect(Collectors.toList());
return SalaryPageUtil.buildPage(param.getCurrent(), param.getPageSize(), list, PushSettingDTO.class);
}
@Override
public PushSettingPO save(PushSettingSaveParam param) {
ValidUtil.doValidator(param);
@ -121,6 +144,18 @@ public class PushServiceImpl extends Service implements PushService {
return po;
}
@Override
public void delete(Long id) {
getPushSettingMapper().delete(PushSettingPO.builder().id(id).build());
getPushSettingItemMapper().delete(PushSettingItemPO.builder().settingId(id).build());
}
@Override
public PageInfo<PushSettingItemPO> itemList(PushSettingItemQueryParam param) {
List<PushSettingItemPO> pushSettingItemPOS = getPushSettingItemMapper().listSome(PushSettingItemPO.builder().settingId(param.getSettingId()).build());
return new PageInfo<PushSettingItemPO>(pushSettingItemPOS, PushSettingItemPO.class);
}
@Override
public PushSettingItemPO saveItem(PushSettingItemSaveParam param) {
ValidUtil.doValidator(param);
@ -166,7 +201,12 @@ public class PushServiceImpl extends Service implements PushService {
}
@Override
public List<PushSettingDTO> pushOneRecord(Long salaryAcctRecordId) {
public void deleteItem(Long id) {
getPushSettingItemMapper().delete(PushSettingItemPO.builder().id(id).build());
}
@Override
public void pushOneRecord(Long salaryAcctRecordId) {
SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordService(user).getById(salaryAcctRecordId);
@ -242,8 +282,8 @@ public class PushServiceImpl extends Service implements PushService {
add(modeId);
add(1);
add(0);
add(String.format("'%s'",currDate));
add(String.format("'%s'",currTime));
add(String.format("'%s'", currDate));
add(String.format("'%s'", currTime));
}};
for (PushSettingItemPO item : pushSettingItemPOS) {
//数据库字段
@ -274,8 +314,6 @@ public class PushServiceImpl extends Service implements PushService {
}
});
return null;
}

View File

@ -1,12 +1,12 @@
package com.engine.salary.web;
import com.engine.common.util.ServiceUtil;
import com.engine.salary.entity.push.param.PushParam;
import com.engine.salary.entity.push.param.PushSettingItemSaveParam;
import com.engine.salary.entity.push.param.PushSettingSaveParam;
import com.engine.salary.entity.push.dto.PushSettingDTO;
import com.engine.salary.entity.push.param.*;
import com.engine.salary.entity.push.po.PushSettingItemPO;
import com.engine.salary.entity.push.po.PushSettingPO;
import com.engine.salary.util.ResponseResult;
import com.engine.salary.util.page.PageInfo;
import com.engine.salary.wrapper.PushWrapper;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
import weaver.hrm.HrmUserVarify;
@ -14,9 +14,7 @@ import weaver.hrm.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.*;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
@ -34,6 +32,14 @@ public class PushController {
return ServiceUtil.getService(PushWrapper.class, user);
}
@POST
@Path("/setting/list")
@Produces(MediaType.APPLICATION_JSON)
public String settingList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody PushSettingQueryParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<PushSettingQueryParam, PageInfo<PushSettingDTO>>(user).run(getPushWrapper(user)::settingList, param);
}
@POST
@Path("/setting/save")
@Produces(MediaType.APPLICATION_JSON)
@ -42,19 +48,59 @@ public class PushController {
return new ResponseResult<PushSettingSaveParam, PushSettingPO>(user).run(getPushWrapper(user)::save, param);
}
@GET
@Path("/setting/delete")
@Produces(MediaType.APPLICATION_JSON)
public String deleteSetting(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "id") Long id) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<Long, String>(user).run(getPushWrapper(user)::delete, id);
}
@POST
@Path("/item/list")
@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);
}
@POST
@Path("/item/save")
@Produces(MediaType.APPLICATION_JSON)
public String saveitem(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody PushSettingItemSaveParam param) {
public String saveItem(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody PushSettingItemSaveParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<PushSettingItemSaveParam, PushSettingItemPO>(user).run(getPushWrapper(user)::saveItem, param);
}
@GET
@Path("/item/delete")
@Produces(MediaType.APPLICATION_JSON)
public String deleteItem(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam(value = "id") Long id) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<Long, String>(user).run(getPushWrapper(user)::deleteItem, id);
}
@POST
@Path("/push")
@Produces(MediaType.APPLICATION_JSON)
public String saveitem(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody PushParam param) {
public String push(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody PushParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<PushParam, String>(user).run(getPushWrapper(user)::push, param);
}
@POST
@Path("/push/list")
@Produces(MediaType.APPLICATION_JSON)
public String pushList(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody PushParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<PushParam, String>(user).run(getPushWrapper(user)::push, param);
}
@POST
@Path("/push/detail")
@Produces(MediaType.APPLICATION_JSON)
public String pushDetail(@Context HttpServletRequest request, @Context HttpServletResponse response, @RequestBody PushParam param) {
User user = HrmUserVarify.getUser(request, response);
return new ResponseResult<PushParam, String>(user).run(getPushWrapper(user)::push, param);
}

View File

@ -2,13 +2,13 @@ package com.engine.salary.wrapper;
import com.engine.common.util.ServiceUtil;
import com.engine.core.impl.Service;
import com.engine.salary.entity.push.param.PushParam;
import com.engine.salary.entity.push.param.PushSettingItemSaveParam;
import com.engine.salary.entity.push.param.PushSettingSaveParam;
import com.engine.salary.entity.push.dto.PushSettingDTO;
import com.engine.salary.entity.push.param.*;
import com.engine.salary.entity.push.po.PushSettingItemPO;
import com.engine.salary.entity.push.po.PushSettingPO;
import com.engine.salary.service.PushService;
import com.engine.salary.service.impl.PushServiceImpl;
import com.engine.salary.util.page.PageInfo;
import weaver.hrm.User;
@ -18,16 +18,34 @@ public class PushWrapper extends Service {
return ServiceUtil.getService(PushServiceImpl.class, user);
}
public PageInfo<PushSettingDTO> settingList(PushSettingQueryParam param) {
return getPushService(user).settingList(param);
}
public PushSettingPO save(PushSettingSaveParam param) {
return getPushService(user).save(param);
}
public void delete(Long id) {
getPushService(user).delete(id);
}
public PageInfo<PushSettingItemPO> itemList(PushSettingItemQueryParam param) {
return getPushService(user).itemList(param);
}
public PushSettingItemPO saveItem(PushSettingItemSaveParam param) {
return getPushService(user).saveItem(param);
}
public void deleteItem(Long id) {
getPushService(user).deleteItem(id);
}
public void push(PushParam pushParam) {
getPushService(user).pushOneRecord(pushParam.getSalaryAcctRecordId());
}
}