diff --git a/src/com/engine/salary/entity/push/dto/PushSettingDTO.java b/src/com/engine/salary/entity/push/dto/PushSettingDTO.java index ed4e7006c..68f0be9b5 100644 --- a/src/com/engine/salary/entity/push/dto/PushSettingDTO.java +++ b/src/com/engine/salary/entity/push/dto/PushSettingDTO.java @@ -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 salarySobNames; + private List 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 items; - } \ No newline at end of file diff --git a/src/com/engine/salary/entity/push/param/PushSettingItemQueryParam.java b/src/com/engine/salary/entity/push/param/PushSettingItemQueryParam.java new file mode 100644 index 000000000..a24bc3b40 --- /dev/null +++ b/src/com/engine/salary/entity/push/param/PushSettingItemQueryParam.java @@ -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; + + + +} \ No newline at end of file diff --git a/src/com/engine/salary/entity/push/param/PushSettingQueryParam.java b/src/com/engine/salary/entity/push/param/PushSettingQueryParam.java new file mode 100644 index 000000000..8d0a96e10 --- /dev/null +++ b/src/com/engine/salary/entity/push/param/PushSettingQueryParam.java @@ -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; + + +} \ No newline at end of file diff --git a/src/com/engine/salary/entity/push/po/PushSettingItemPO.java b/src/com/engine/salary/entity/push/po/PushSettingItemPO.java index 97693097d..ed1321e07 100644 --- a/src/com/engine/salary/entity/push/po/PushSettingItemPO.java +++ b/src/com/engine/salary/entity/push/po/PushSettingItemPO.java @@ -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; /** diff --git a/src/com/engine/salary/service/PushService.java b/src/com/engine/salary/service/PushService.java index a544947ea..793cba42c 100644 --- a/src/com/engine/salary/service/PushService.java +++ b/src/com/engine/salary/service/PushService.java @@ -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 settingList(PushSettingQueryParam param); + + /** * 保存推送配置 * @param param */ PushSettingPO save(PushSettingSaveParam param); + void delete(Long id); + + PageInfo itemList(PushSettingItemQueryParam param); + /** * 保存明细配置 * @param param */ PushSettingItemPO saveItem(PushSettingItemSaveParam param); + void deleteItem(Long id); + /** * 推送一条核算记录下的所有数据 * @param salarySobId * @return */ - List pushOneRecord(Long salarySobId); + void pushOneRecord(Long salarySobId); // void push(List recodes); diff --git a/src/com/engine/salary/service/impl/PushServiceImpl.java b/src/com/engine/salary/service/impl/PushServiceImpl.java index d6199d647..b100ec26e 100644 --- a/src/com/engine/salary/service/impl/PushServiceImpl.java +++ b/src/com/engine/salary/service/impl/PushServiceImpl.java @@ -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 settingList(PushSettingQueryParam param) { + List pushSettingPOS = getPushSettingMapper().listAll(); + + List 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 itemList(PushSettingItemQueryParam param) { + List pushSettingItemPOS = getPushSettingItemMapper().listSome(PushSettingItemPO.builder().settingId(param.getSettingId()).build()); + return new PageInfo(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 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; - } diff --git a/src/com/engine/salary/web/PushController.java b/src/com/engine/salary/web/PushController.java index 5811d3d2b..b55ac876d 100644 --- a/src/com/engine/salary/web/PushController.java +++ b/src/com/engine/salary/web/PushController.java @@ -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>(user).run(getPushWrapper(user)::settingList, param); + } + @POST @Path("/setting/save") @Produces(MediaType.APPLICATION_JSON) @@ -42,19 +48,59 @@ public class PushController { return new ResponseResult(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(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>(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(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(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(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(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(user).run(getPushWrapper(user)::push, param); } diff --git a/src/com/engine/salary/wrapper/PushWrapper.java b/src/com/engine/salary/wrapper/PushWrapper.java index c459be943..6de0c1e73 100644 --- a/src/com/engine/salary/wrapper/PushWrapper.java +++ b/src/com/engine/salary/wrapper/PushWrapper.java @@ -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 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 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()); } + + }