diff --git a/src/com/engine/salary/entity/push/dto/PushSettingItemDTO.java b/src/com/engine/salary/entity/push/dto/PushSettingItemDTO.java new file mode 100644 index 000000000..a45d4635f --- /dev/null +++ b/src/com/engine/salary/entity/push/dto/PushSettingItemDTO.java @@ -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; + +} \ 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 ed1321e07..ad7f97da1 100644 --- a/src/com/engine/salary/entity/push/po/PushSettingItemPO.java +++ b/src/com/engine/salary/entity/push/po/PushSettingItemPO.java @@ -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; /** diff --git a/src/com/engine/salary/service/PushService.java b/src/com/engine/salary/service/PushService.java index 793cba42c..41ba368e4 100644 --- a/src/com/engine/salary/service/PushService.java +++ b/src/com/engine/salary/service/PushService.java @@ -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 itemList(PushSettingItemQueryParam param); + /** + * 推送明细列表 + * + * @param param + * @return + */ + PageInfo 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 recodes); diff --git a/src/com/engine/salary/service/impl/PushServiceImpl.java b/src/com/engine/salary/service/impl/PushServiceImpl.java index 3fc12a381..62e21f181 100644 --- a/src/com/engine/salary/service/impl/PushServiceImpl.java +++ b/src/com/engine/salary/service/impl/PushServiceImpl.java @@ -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 itemList(PushSettingItemQueryParam param) { + public PageInfo itemList(PushSettingItemQueryParam param) { List pushSettingItemPOS = getPushSettingItemMapper().listSome(PushSettingItemPO.builder().settingId(param.getSettingId()).build()); - return new PageInfo(pushSettingItemPOS, PushSettingItemPO.class); + + List 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 salaryAcctEmployeePOS = getSalaryAcctEmployeeService(user).listBySalaryAcctRecordId(salaryAcctRecordPO.getId()); List salaryItemPOS = getSalaryItemService(user).listAll(); diff --git a/src/com/engine/salary/web/PushController.java b/src/com/engine/salary/web/PushController.java index b55ac876d..616a9f656 100644 --- a/src/com/engine/salary/web/PushController.java +++ b/src/com/engine/salary/web/PushController.java @@ -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>(user).run(getPushWrapper(user)::itemList, param); + return new ResponseResult>(user).run(getPushWrapper(user)::itemList, param); } diff --git a/src/com/engine/salary/wrapper/PushWrapper.java b/src/com/engine/salary/wrapper/PushWrapper.java index 6de0c1e73..c2b42bf65 100644 --- a/src/com/engine/salary/wrapper/PushWrapper.java +++ b/src/com/engine/salary/wrapper/PushWrapper.java @@ -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 itemList(PushSettingItemQueryParam param) { + public PageInfo itemList(PushSettingItemQueryParam param) { return getPushService(user).itemList(param); }