提交 9f94213a authored 作者: 艾庆国's avatar 艾庆国

承运优化需求-添加模板

上级 9861ff28
...@@ -43,4 +43,19 @@ public enum ResultEnum implements com.msl.common.enums.ResultEnum { ...@@ -43,4 +43,19 @@ public enum ResultEnum implements com.msl.common.enums.ResultEnum {
; ;
private final int code; private final int code;
private final String msg; private final String msg;
@Getter
@AllArgsConstructor
public enum TemplateEnum implements com.msl.common.enums.ResultEnum {
EXPORT_TEMPLATE_NULL(11201, "导出模板不存在"),
EXPORT_DATA_NOT_EXIST(11202, "导出数据不存在"),
EXPORT_TEMPLATE_NAME_EXIST(11203, "模板名称已存在"),
EXPORT_TEMPLATE_NUM_LIMIT(11204, "模板数量已达上限"),
;
private final int code;
private final String msg;
}
} }
package com.clx.performance.enums.export;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum FunctionCodeEnum {
PERFORMANCE_PROGRESS("performance_progress", "履约进度表", 0),
;
private final String code;
private final String name;
private final Integer needCoalBlendingBaseFlag;
public static Integer getByCode(String functionCode) {
for (FunctionCodeEnum value : values()) {
if (value.getCode().equals(functionCode)) {
return value.getNeedCoalBlendingBaseFlag();
}
}
return null;
}
}
package com.clx.performance.param.pc.export;
import io.swagger.annotations.ApiParam;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
public class ListExportTemplateParam {
@ApiParam("功能code集合")
private List<String> functionCodes;
}
package com.clx.performance.param.pc.export;
import com.msl.common.base.OperateParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
@Getter
@Setter
public class SaveExportTemplateParam extends OperateParam {
@ApiModelProperty(value = "用户编码", hidden = true)
private Long userNo;
@ApiModelProperty(value = "公司编码", hidden = true)
private Long companyNo;
@ApiModelProperty("所属功能code")
@NotBlank(message = "所属功能code不能为空")
private String exportFunctionCode;
@ApiModelProperty("名称")
@NotBlank(message = "名称不能为空")
private String name;
@ApiModelProperty("描述")
private String remark;
@ApiModelProperty("是否默认")
private Integer defaultFlag;
}
package com.clx.performance.param.pc.export;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotNull;
@Getter
@Setter
public class UpdateTemplateDefaultFlagParam {
@ApiModelProperty("模板id")
@NotNull(message = "模板id不能为空")
private Integer id;
}
package com.clx.performance.param.pc.export;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotNull;
import java.util.List;
@Getter
@Setter
public class UpdateTemplateFieldsParam {
@ApiModelProperty("模板id")
@NotNull(message = "模板id不能为空")
private Integer id;
@ApiModelProperty("模板字段id列表")
private List<Integer> fieldIds;
}
package com.clx.performance.param.pc.export;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Getter
@Setter
public class UpdateTemplateNameParam {
@ApiModelProperty("模板id")
@NotNull(message = "模板id不能为空")
private Integer id;
@ApiModelProperty("模板名称")
@NotBlank(message = "模板名称不能为空")
private String name;
}
package com.clx.performance.vo.pc.export;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
@Getter
@Setter
public class ExportFieldVo implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("字段id")
private Integer id;
@ApiModelProperty("功能code")
private String exportFunctionCode;
@ApiModelProperty("字段code")
private String code;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("是否必选 1是,0否")
private Integer required;
@ApiModelProperty("排序字段")
private Integer sort;
@ApiModelProperty("描述")
private String remark;
}
package com.clx.performance.vo.pc.export;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
public class ExportTemplateDetailVo {
private static final long serialVersionUID = 1L;
@ApiModelProperty("模板id")
private Integer id;
@ApiModelProperty("功能code")
private String exportFunctionCode;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("描述")
private String remark;
@ApiModelProperty("是否默认,1是,0否")
private Integer defaultFlag;
@ApiModelProperty("创建时间")
private String createTime;
@ApiModelProperty("修改时间")
private String modifiedTime;
@ApiModelProperty("字段列表")
private List<ExportFieldVo> fields;
}
package com.clx.performance.vo.pc.export;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
@Getter
@Setter
public class ExportTemplateVo implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("模板id")
private Integer id;
@ApiModelProperty("功能code")
private String exportFunctionCode;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("描述")
private String remark;
@ApiModelProperty("是否默认,1是,0否")
private Integer defaultFlag;
}
package com.clx.performance.controller.pc.export;
import com.clx.performance.param.pc.export.*;
import com.clx.performance.service.export.ExportFieldService;
import com.clx.performance.vo.pc.export.ExportFieldVo;
import com.clx.performance.vo.pc.export.ExportTemplateDetailVo;
import com.clx.performance.vo.pc.export.ExportTemplateVo;
import com.msl.common.result.Result;
import com.msl.user.utils.TokenUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
import java.util.List;
@RequestMapping("/template")
@Api(tags = "导出相关配置管理")
@Validated
public class TemplateController {
@Autowired
private ExportFieldService exportFieldService;
@GetMapping("/listTemplateByFunctionCodes")
@ApiOperation(value = "列表查询登陆用户某功能下的模板", notes = "<br>by 艾庆国")
@Validated
public Result<List<ExportTemplateVo>> listTemplateByFunctionCodes(@ApiParam("功能code") @NotBlank(message = "功能code不能为空") String functionCode) {
return Result.ok(exportFieldService.listUserFunctionTemplate(TokenUtil.getLoginUserInfo().getUserNo(), functionCode));
}
@PostMapping("/listTemplateByFunctionCodes")
@ApiOperation(value = "列表查询登陆用户某些功能下的模板", notes = "<br>by 艾庆国")
public Result<List<ExportTemplateVo>> listTemplateByFunctionCodes(@RequestBody ListExportTemplateParam param) {
return Result.ok(exportFieldService.listUserFunctionsTemplate(TokenUtil.getLoginUserInfo().getUserNo(), param.getFunctionCodes()));
}
@PostMapping("/saveTemplate")
@ApiOperation(value = "新增模板", notes = "<br>by wanglq")
public Result<Integer> saveTemplate(@Validated @RequestBody SaveExportTemplateParam param) {
return Result.ok(exportFieldService.saveTemplate(param));
}
@DeleteMapping("/deleteTemplate")
@ApiOperation(value = "删除模板", notes = "<br>by wanglq")
public Result<Void> deleteTemplate(@ApiParam("模板id") @RequestParam("id") Integer id) {
exportFieldService.deleteTemplate(id);
return Result.ok();
}
@PostMapping("/updateTemplateName")
@ApiOperation(value = "修改模板名称", notes = "<br>by wanglq")
public Result<Void> updateTemplateName(@Validated @RequestBody UpdateTemplateNameParam param) {
exportFieldService.updateTemplateName(param.getId(), param.getName());
return Result.ok();
}
@PostMapping("/updateTemplateDefaultFlag")
@ApiOperation(value = "设置默认模板", notes = "<br>by wanglq")
public Result<Integer> updateTemplateDefaultFlag(@Validated @RequestBody UpdateTemplateDefaultFlagParam param) {
exportFieldService.updateTemplateDefaultFlag(param.getId());
return Result.ok();
}
@PostMapping("/updateTemplateFields")
@ApiOperation(value = "修改模板下的字段列表", notes = "<br>by wanglq")
public Result<Integer> updateTemplateFields(@Validated @RequestBody UpdateTemplateFieldsParam param) {
exportFieldService.updateTemplateFields(param.getId(), param.getFieldIds());
return Result.ok();
}
@GetMapping("/getTemplateDetail")
@ApiOperation(value = "获取模板详情", notes = "<br>by wanglq")
public Result<ExportTemplateDetailVo> getTemplateDetail(@ApiParam("模板id") Integer id) {
return Result.ok(exportFieldService.getTemplateDetail(id).orNull());
}
@GetMapping("/listFieldByTemplate")
@ApiOperation(value = "查询模板下的所有字段", notes = "<br>by wanglq")
public Result<List<ExportFieldVo>> listFieldByTemplate(@ApiParam("模板id") @RequestParam Integer id,
@ApiParam("date") @RequestParam(required = false) String date) {
return Result.ok(exportFieldService.listFieldByTemplateAndDate(id, date));
}
@GetMapping("/listFieldByTemplateAndDate")
@ApiOperation(value = "查询某天模板下的所有字段", notes = "<br>by wanglq")
public Result<List<ExportFieldVo>> listFieldByTemplateAndDate(@ApiParam("模板id") @RequestParam Integer id,
@RequestParam String date) {
return Result.ok(exportFieldService.listFieldByTemplateAndDate(id, date));
}
@GetMapping("/listFieldByFunctionCode")
@ApiOperation(value = "查询功能下的所有字段", notes = "<br>by wanglq")
public Result<List<ExportFieldVo>> listFieldByFunctionCode(@ApiParam("功能code") String functionCode,
String date) {
return Result.ok(exportFieldService.listFieldByFunctionCodeWithBase(functionCode, date));
}
}
package com.clx.performance.dao.export;
import com.clx.performance.mapper.export.ExportFieldMapper;
import com.clx.performance.model.export.ExportField;
import com.msl.common.dao.BaseDao;
import java.util.List;
public interface ExportFieldDao extends BaseDao<ExportFieldMapper, ExportField, Integer> {
/**
* 查询模板下的所有字段
*
* @param templateId 字段id
* @return
*/
List<ExportField> listFieldByTemplate(Integer templateId);
/**
* 查询功能下的所有字段
*
* @param functionCode 功能code
* @return 字段列表
*/
List<ExportField> listFieldByFunctionCode(String functionCode);
/**
* 查询公司该功能下的所有字段
*
* @param functionCode 功能code
* @return 字段列表
*/
List<ExportField> listFieldByFunctionCode(String functionCode, Long companyNo);
/**
* 查询功能下的所有必填字段
*
* @param functionCode 功能code
* @return 字段列表
*/
List<ExportField> listRequiredFieldByFunctionCode(String functionCode);
}
package com.clx.performance.dao.export;
import com.clx.performance.mapper.export.ExportFunctionMapper;
import com.clx.performance.model.export.ExportFunction;
import com.msl.common.dao.BaseDao;
public interface ExportFunctionDao extends BaseDao<ExportFunctionMapper, ExportFunction, Integer> {
}
package com.clx.performance.dao.export;
import com.clx.performance.mapper.export.ExportTemplateMapper;
import com.clx.performance.model.export.ExportTemplate;
import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao;
import java.util.List;
public interface ExportTemplateDao extends BaseDao<ExportTemplateMapper, ExportTemplate, Integer> {
/**
* 根据功能code查询某用户下的模板列表
*
* @param userNo 用户编码
* @param functionCode 功能code
* @return
*/
List<ExportTemplate> listUserFunctionTemplate(Long userNo, String functionCode);
/**
* 根据名称查询用户在某功能下的模板
*
* @param userNo 用户编码
* @param functionCode 功能code
* @param name 模板名称
* @return
*/
Optional<ExportTemplate> getUserFunctionTemplateByName(Long userNo, String functionCode, String name);
/**
* 根据功能code集合查询某用户下的模板列表
*
* @param userNo 用户编码
* @param functionCodes 功能code集合
* @return
*/
List<ExportTemplate> listUserFunctionsTemplate(Long userNo, List<String> functionCodes);
/**
* 根据id查询模板
*
* @param id 模板id
* @return
*/
Optional<ExportTemplate> getById(Integer id);
/**
* 新增模板
*
* @param template 待新增模板数据
*/
void saveTemplate(ExportTemplate template);
/**
* 删除模板
*
* @param id 模板id
*/
void deleteTemplate(Integer id);
/**
* 修改模板名称
*
* @param id 模板id
* @param name 模板名称
*/
void updateTemplateName(Integer id, String name);
/**
* 去除用户在某个功能下的默认模板
*
* @param userNo 用户编码
* @param functionCode 功能code
*/
void updateTemplateNotDefault(Long userNo, String functionCode);
/**
* 设置模板为默认模板
*
* @param templateId 默认模板
*/
void updateTemplateDefault(Integer templateId);
/**
* 统计用户在某个功能下的模板数量
*
* @param userNo 用户编码
* @param functionCode 功能code
*/
long countUserFunctionTemplate(Long userNo, String functionCode);
}
package com.clx.performance.dao.export;
import com.clx.performance.mapper.export.ExportTemplateFieldMapper;
import com.clx.performance.model.export.ExportTemplateField;
import com.msl.common.dao.BaseDao;
public interface ExportTemplateFieldDao extends BaseDao<ExportTemplateFieldMapper, ExportTemplateField, Integer> {
/**
* 删除模板下的所有字段
*
* @param id 模板id
*/
void deleteTemplateFields(Integer id);
}
package com.clx.performance.dao.export;
import com.clx.performance.mapper.export.ExtendExportFieldMapper;
import com.clx.performance.model.export.ExtendExportField;
import com.msl.common.dao.BaseDao;
import java.util.List;
public interface ExtendExportFieldDao extends BaseDao<ExtendExportFieldMapper, ExtendExportField, Integer> {
/**
* 根据功能code查询字段
*
* @param code 功能code
* @param companyNo companyNo
* @return List
*/
List<ExtendExportField> listFieldByFunctionCode(String code, Long companyNo, String date);
/**
* 删除
*
* @param code code
* @param operateCompanyNo operateCompanyNo
*/
void delete(String code, Long operateCompanyNo, String date);
}
package com.clx.performance.dao.impl.export;
import com.clx.performance.dao.export.ExportFieldDao;
import com.clx.performance.mapper.export.ExportFieldMapper;
import com.clx.performance.model.export.ExportField;
import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl;
import com.msl.common.enums.WhetherEnum;
import org.springframework.stereotype.Repository;
import java.util.Collections;
import java.util.List;
@Repository
public class ExportFieldDaoImpl extends BaseDaoImpl<ExportFieldMapper, ExportField, Integer> implements ExportFieldDao {
/**
* 查询模板下的所有字段
*
* @param templateId 模板id
* @return 模板字段列表
*/
@Override
public List<ExportField> listFieldByTemplate(Integer templateId) {
return Optional.ofNullable(templateId).map(baseMapper::listFieldByTemplate).orElse(Collections.emptyList());
}
/**
* 查询功能下的所有字段
*
* @param functionCode 功能code
* @return 字段列表
*/
@Override
public List<ExportField> listFieldByFunctionCode(String functionCode) {
return Optional.ofNullable(functionCode)
.map(code -> lQrWrapper().eq(ExportField::getExportFunctionCode, functionCode)
.orderByAsc(ExportField::getSort))
.map(super::list)
.orElse(Collections.emptyList());
}
/**
* 查询公司该功能下的所有字段
*
* @param functionCode 功能code
* @param companyNo companyNo
* @return 字段列表
*/
@Override
public List<ExportField> listFieldByFunctionCode(String functionCode, Long companyNo) {
return Optional.ofNullable(functionCode)
.map(code -> lQrWrapper().eq(ExportField::getExportFunctionCode, functionCode)
.eq(ExportField::getCompanyNo, companyNo)
.orderByAsc(ExportField::getSort))
.map(super::list)
.orElse(Collections.emptyList());
}
/**
* 查询功能下的所有必填字段
*
* @param functionCode 功能code
* @return 字段列表
*/
@Override
public List<ExportField> listRequiredFieldByFunctionCode(String functionCode) {
return Optional.ofNullable(functionCode)
.map(code -> lQrWrapper().eq(ExportField::getExportFunctionCode, functionCode)
.eq(ExportField::getRequired, WhetherEnum.get(true))
.orderByAsc(ExportField::getSort))
.map(super::list)
.orElse(Collections.emptyList());
}
}
package com.clx.performance.dao.impl.export;
import com.clx.performance.dao.export.ExportFunctionDao;
import com.clx.performance.mapper.export.ExportFunctionMapper;
import com.clx.performance.model.export.ExportFunction;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
@Repository
public class ExportFunctionDaoImpl extends BaseDaoImpl<ExportFunctionMapper, ExportFunction, Integer> implements ExportFunctionDao {
}
package com.clx.performance.dao.impl.export;
import com.clx.performance.dao.export.ExportTemplateDao;
import com.clx.performance.mapper.export.ExportTemplateMapper;
import com.clx.performance.model.export.ExportTemplate;
import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl;
import com.msl.common.enums.WhetherEnum;
import com.msl.user.utils.TokenUtil;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
import java.util.Collections;
import java.util.List;
@Repository
public class ExportTemplateDaoImpl extends BaseDaoImpl<ExportTemplateMapper, ExportTemplate, Integer> implements ExportTemplateDao {
/**
* 根据功能code集合查询某用户下的模板列表
*
* @param userNo 用户编码
* @param functionCode 功能code
* @return
*/
@Override
public List<ExportTemplate> listUserFunctionTemplate(Long userNo, String functionCode) {
if (userNo == null || StringUtils.isBlank(functionCode)) {
return Collections.emptyList();
}
return list(lQrWrapper().eq(ExportTemplate::getUserNo, userNo)
.eq(ExportTemplate::getExportFunctionCode, functionCode)
.orderByDesc(ExportTemplate :: getId));
}
/**
* 根据名称查询用户在某功能下的模板
*
* @param userNo 用户编码
* @param functionCode 功能code
* @param name 模板名称
* @return
*/
@Override
public Optional<ExportTemplate> getUserFunctionTemplateByName(Long userNo, String functionCode, String name) {
return Optional.ofNullable(userNo)
.filter(no -> StringUtils.isNoneBlank(functionCode, name))
.map(no -> lQrWrapper().eq(ExportTemplate::getUserNo, no)
.eq(ExportTemplate::getExportFunctionCode, functionCode)
.eq(ExportTemplate::getName, name))
.map(super::getOne);
}
/**
* 根据功能code集合查询某用户下的模板列表
*
* @param userNo 用户编码
* @param functionCodes 功能code集合
* @return
*/
@Override
public List<ExportTemplate> listUserFunctionsTemplate(Long userNo, List<String> functionCodes) {
if (userNo == null || CollectionUtils.isEmpty(functionCodes)) {
return Collections.emptyList();
}
return list(lQrWrapper().eq(ExportTemplate::getUserNo, userNo)
.in(ExportTemplate::getExportFunctionCode, functionCodes));
}
/**
* 根据id查询模板
*
* @param id 模板id
* @return
*/
@Override
public Optional<ExportTemplate> getById(Integer id) {
return Optional.ofNullable(id).map(super::getById);
}
/**
* 新增模板
*
* @param template 待新增模板数据
* @return 模板id
*/
@Override
public void saveTemplate(ExportTemplate template) {
save(template);
}
/**
* 删除模板
*
* @param id 模板id
* @return 模板id
*/
@Override
public void deleteTemplate(Integer id) {
Optional.ofNullable(id).ifPresent(super::removeById);
}
/**
* 修改模板名称
*
* @param id 模板id
* @param name 模板名称
* @return 模板id
*/
@Override
public void updateTemplateName(Integer id, String name) {
update(lUdWrapper().set(ExportTemplate::getName, name)
.eq(ExportTemplate::getId, id));
}
/**
* 去除用户在某个功能下的默认模板
*
* @param userNo 用户编码
* @param functionCode 功能code
*/
@Override
public void updateTemplateNotDefault(Long userNo, String functionCode) {
update(lUdWrapper().set(ExportTemplate::getDefaultFlag, WhetherEnum.get(false))
.eq(ExportTemplate::getUserNo, userNo)
.eq(ExportTemplate::getExportFunctionCode, functionCode)
.eq(ExportTemplate::getCompanyNo, TokenUtil.getLoginUserInfo().getCompanyNo()));
}
/**
* 设置模板为默认模板
*
* @param templateId 默认模板
*/
@Override
public void updateTemplateDefault(Integer templateId) {
update(lUdWrapper().set(ExportTemplate::getDefaultFlag, WhetherEnum.get(true))
.eq(ExportTemplate::getId, templateId));
}
/**
* 统计用户在某个功能下的模板数量
*
* @param userNo 用户编码
* @param functionCode 功能code
*/
@Override
public long countUserFunctionTemplate(Long userNo, String functionCode) {
return Optional.ofNullable(userNo)
.filter(no -> StringUtils.isNotBlank(functionCode))
.map(no -> lQrWrapper().eq(ExportTemplate::getUserNo, no)
.eq(ExportTemplate::getExportFunctionCode, functionCode))
.map(baseMapper::selectCount)
.orElse(0L);
}
}
package com.clx.performance.dao.impl.export;
import com.clx.performance.dao.export.ExportTemplateFieldDao;
import com.clx.performance.mapper.export.ExportTemplateFieldMapper;
import com.clx.performance.model.export.ExportTemplateField;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
@Repository
public class ExportTemplateFieldDaoImpl extends BaseDaoImpl<ExportTemplateFieldMapper, ExportTemplateField, Integer> implements ExportTemplateFieldDao {
/**
* 删除模板下的字段
*
* @param id 模板id
*/
@Override
public void deleteTemplateFields(Integer id) {
remove(lQrWrapper().eq(ExportTemplateField::getExportTemplateId, id));
}
}
package com.clx.performance.dao.impl.export;
import com.clx.performance.dao.export.ExtendExportFieldDao;
import com.clx.performance.mapper.export.ExtendExportFieldMapper;
import com.clx.performance.model.export.ExtendExportField;
import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
import java.util.Collections;
import java.util.List;
@Repository
public class ExtendExportFieldDaoImpl extends BaseDaoImpl<ExtendExportFieldMapper, ExtendExportField, Integer> implements ExtendExportFieldDao {
/**
* 根据功能code查询字段
*
* @param code 功能code
* @param companyNo companyNo
* @return List
*/
@Override
public List<ExtendExportField> listFieldByFunctionCode(String code, Long companyNo, String date) {
return Optional.ofBlank(code)
.map(c -> list(lQrWrapper().eq(ExtendExportField::getExportFunctionCode, c)
.eq(ExtendExportField::getCompanyNo, companyNo)
.eq(ExtendExportField::getDate, date)
.orderByAsc(ExtendExportField::getSort))).orElse(Collections.emptyList());
}
/**
* 删除
*
* @param code code
* @param operateCompanyNo operateCompanyNo
*/
@Override
public void delete(String code, Long operateCompanyNo, String date) {
Optional.ofBlank(code)
.peek(
c -> baseMapper.delete(lQrWrapper().eq(ExtendExportField::getExportFunctionCode, code)
.eq(ExtendExportField::getDate, date)
.eq(ExtendExportField::getCompanyNo, operateCompanyNo))
);
}
}
package com.clx.performance.mapper.export;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.export.ExportField;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
public interface ExportFieldMapper extends BaseMapper<ExportField> {
/**
* 查询模板下的字段
*
* @param templateId 模板id
* @return List
*/
@Select("SELECT ef.id,ef.name,ef.code,ef.required,etf.sort,ef.remark,ef.export_function_code exportFunctionCode " +
"FROM export_template_field etf INNER JOIN export_field ef ON ef.id = etf.export_field_id " +
"WHERE etf.export_template_id = #{templateId} order by sort")
List<ExportField> listFieldByTemplate(@Param("templateId") Integer templateId);
}
package com.clx.performance.mapper.export;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.export.ExportFunction;
public interface ExportFunctionMapper extends BaseMapper<ExportFunction> {
}
package com.clx.performance.mapper.export;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.export.ExportTemplateField;
public interface ExportTemplateFieldMapper extends BaseMapper<ExportTemplateField> {
}
package com.clx.performance.mapper.export;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.export.ExportTemplate;
public interface ExportTemplateMapper extends BaseMapper<ExportTemplate> {
}
package com.clx.performance.mapper.export;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.export.ExtendExportField;
public interface ExtendExportFieldMapper extends BaseMapper<ExtendExportField> {
}
package com.clx.performance.model.export;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
@Getter
@Setter
@Accessors(chain = true)
@TableName("export_field")
public class ExportField implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("user_no")
@ApiModelProperty("用户编码")
private Long userNo;
@TableField("company_no")
@ApiModelProperty("公司编码")
private Long companyNo;
@TableField("export_function_code")
@ApiModelProperty("功能code")
private String exportFunctionCode;
@TableField("name")
@ApiModelProperty("字段名称")
private String name;
@TableField("code")
@ApiModelProperty("字段code,用于映射真实数据字段")
private String code;
@TableField("required")
@ApiModelProperty("是否必填:1是,0否")
private Integer required;
@TableField("sort")
@ApiModelProperty("排序字段")
private Integer sort;
@TableField("remark")
@ApiModelProperty("字段描述")
private String remark;
@Override
@KeyColumn("id")
public Integer gainKey() {
return this.id;
}
}
package com.clx.performance.model.export;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
@Getter
@Setter
@Accessors(chain = true)
@TableName("export_function")
public class ExportFunction implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("user_no")
@ApiModelProperty("用户编码")
private Long userNo;
@TableField("company_no")
@ApiModelProperty("公司编码")
private Long companyNo;
@TableField("code")
@ApiModelProperty("功能code")
private String code;
@TableField("name")
@ApiModelProperty("功能名称")
private String name;
@TableField("remark")
@ApiModelProperty("功能描述")
private String remark;
@Override
@KeyColumn("id")
public Integer gainKey() {
return this.id;
}
}
package com.clx.performance.model.export;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
@Getter
@Setter
@Accessors(chain = true)
@TableName("export_template")
public class ExportTemplate implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("user_no")
@ApiModelProperty("用户编码")
private Long userNo;
@TableField("company_no")
@ApiModelProperty("公司编码")
private Long companyNo;
@TableField("export_function_code")
@ApiModelProperty("功能code")
private String exportFunctionCode;
@TableField("name")
@ApiModelProperty("模板名称")
private String name;
@TableField("remark")
@ApiModelProperty("描述")
private String remark;
@TableField("default_flag")
@ApiModelProperty("是否默认:1是,0否")
private Integer defaultFlag;
@Override
@KeyColumn("id")
public Integer gainKey() {
return this.id;
}
}
package com.clx.performance.model.export;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
@Getter
@Setter
@Accessors(chain = true)
@TableName("export_template_field")
public class ExportTemplateField implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("user_no")
@ApiModelProperty("用户编码")
private Long userNo;
@TableField("company_no")
@ApiModelProperty("公司编码")
private Long companyNo;
@TableField("export_template_id")
@ApiModelProperty("导出模板id")
private Integer exportTemplateId;
@TableField("export_field_id")
@ApiModelProperty("导出字段id")
private Integer exportFieldId;
@TableField("sort")
@ApiModelProperty("排序字段")
private Integer sort;
@Override
@KeyColumn("id")
public Integer gainKey() {
return this.id;
}
}
package com.clx.performance.model.export;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import java.time.LocalDate;
@Getter
@Setter
@Accessors(chain = true)
@TableName("extend_export_field")
public class ExtendExportField implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("date")
@ApiModelProperty("日期")
private LocalDate date;
@TableField("user_no")
@ApiModelProperty("用户编码")
private Long userNo;
@TableField("company_no")
@ApiModelProperty("公司编码")
private Long companyNo;
@TableField("export_function_code")
@ApiModelProperty("功能code")
private String exportFunctionCode;
@TableField("name")
@ApiModelProperty("字段名称")
private String name;
@TableField("code")
@ApiModelProperty("字段code,用于映射真实数据字段")
private String code;
@TableField("required")
@ApiModelProperty("是否必填:1是,0否")
private Integer required;
@TableField("sort")
@ApiModelProperty("排序字段")
private Integer sort;
@TableField("remark")
@ApiModelProperty("字段描述")
private String remark;
@Override
@KeyColumn("id")
public Integer gainKey() {
return this.id;
}
}
package com.clx.performance.service.export;
import com.clx.performance.param.pc.export.SaveExportTemplateParam;
import com.clx.performance.vo.pc.export.ExportFieldVo;
import com.clx.performance.vo.pc.export.ExportTemplateDetailVo;
import com.clx.performance.vo.pc.export.ExportTemplateVo;
import com.msl.common.base.Optional;
import java.util.List;
public interface ExportFieldService {
/**
* 查询用户某功能下的模板列表
*
* @param userNo 用户编码
* @param functionCode 功能code
* @return 模板列表
*/
List<ExportTemplateVo> listUserFunctionTemplate(Long userNo, String functionCode);
/**
* 查询用户某些功能下的模板列表
*
* @param userNo 用户编码
* @param functionCodes 功能code集合
* @return 模板列表
*/
List<ExportTemplateVo> listUserFunctionsTemplate(Long userNo, List<String> functionCodes);
/**
* 根据id获取模板详情
*
* @param id 模板id
* @return 模板详情
*/
Optional<ExportTemplateDetailVo> getTemplateDetail(Integer id);
/**
* 查询模板下的所有字段
*
* @param templateId 模板id
* @return 模板字段列表
*/
List<ExportFieldVo> listFieldByTemplate(Integer templateId);
/**
* 查询模板下的所有字段
*
* @param templateId 模板id
* @return 模板字段列表
*/
List<ExportFieldVo> listFieldByTemplateAndDate(Integer templateId, String date);
/**
* 新增模板
*
* @param param 模板参数
* @return 模板id
*/
Integer saveTemplate(SaveExportTemplateParam param);
/**
* 删除模板
*
* @param id 模板id
*/
void deleteTemplate(Integer id);
/**
* 修改模板名称
*
* @param templateId 模板id
* @param name 模板名称
*/
void updateTemplateName(Integer templateId, String name);
/**
* 设置默认模板
*
* @param templateId 模板id
*/
void updateTemplateDefaultFlag(Integer templateId);
/**
* 修改模板的字段列表
*
* @param id 模板id
* @param fieldIds 字段列表
*/
void updateTemplateFields(Integer id, List<Integer> fieldIds);
/**
* 查询功能下的所有字段
*
* @param functionCode 功能code
* @return 字段列表
*/
List<ExportFieldVo> listFieldByFunctionCode(String functionCode);
/**
* 查询功能下的所有字段
*
* @param functionCode 功能code
* @return 字段列表
*/
List<ExportFieldVo> listFieldByFunctionCodeWithBase(String functionCode, String date);
}
package com.clx.performance.service.export;
public interface ExportFunctionService {
}
package com.clx.performance.service.export;
public interface ExportTemplateFieldService {
}
package com.clx.performance.service.export;
public interface ExportTemplateService {
}
package com.clx.performance.service.export;
import com.clx.performance.model.export.ExtendExportField;
import java.util.List;
public interface ExtendExportFieldService {
/**
* 根据功能code查询字段
*
* @param code 功能code
* @param companyNo companyNo
* @return List
*/
List<ExtendExportField> listFieldByFunctionCode(String code, Long companyNo, String date);
// /**
// * 设置基准的模板
// *
// * @param baseList baseList
// */
// void setBase(List<CoalBlendingBase> baseList, BlendingBaseParam param);
}
package com.clx.performance.struct.export;
import com.clx.performance.model.export.ExportField;
import com.clx.performance.model.export.ExtendExportField;
import com.clx.performance.vo.pc.export.ExportFieldVo;
import com.msl.common.utils.DateUtils;
import org.mapstruct.IterableMapping;
import org.mapstruct.Mapper;
import org.mapstruct.Named;
import java.util.List;
//@Mapper(componentModel = "spring", imports = {DateUtils.class, BlendingBaseParam.class, FunctionCodeEnum.class, WhetherEnum.class})
@Mapper(componentModel = "spring", imports = {DateUtils.class})
public interface ExportFieldStruct {
ExportFieldVo convert(ExportField field);
@Named("convertExtend")
ExportFieldVo convertExtend(ExtendExportField field);
List<ExportFieldVo> convert(List<ExportField> fields);
@IterableMapping(qualifiedByName = "convertExtend")
List<ExportFieldVo> convertExtendList(List<ExtendExportField> fields);
// List<ExtendExportField> convertToFieldList(List<CoalBlendingBase> baseList, @Context BlendingBaseParam param);
//
// @Mapping(target = "exportFunctionCode", expression = "java(FunctionCodeEnum.COAL_BLENDING.getCode())")
// @Mapping(target = "code", source = "base.baseId")
// @Mapping(target = "sort", expression = "java(base.getId() - Integer.MAX_VALUE)")
// @Mapping(target = "name", source = "base.name")
// @Mapping(target = "date", expression = "java(DateUtils.parseDate(param.getDate()).orNull())")
// @Mapping(target = "userNo", expression = "java(param.getOperateUserNo())")
// @Mapping(target = "companyNo", expression = "java(param.getOperateCompanyNo())")
// @Mapping(target = "required", expression = "java(WhetherEnum.TRUE.getCode())")
// ExtendExportField convertToField(CoalBlendingBase base, @Context BlendingBaseParam param);
}
package com.clx.performance.struct.export;
import com.clx.performance.model.export.ExportTemplate;
import com.clx.performance.param.pc.export.SaveExportTemplateParam;
import com.clx.performance.vo.pc.export.ExportFieldVo;
import com.clx.performance.vo.pc.export.ExportTemplateDetailVo;
import com.clx.performance.vo.pc.export.ExportTemplateVo;
import com.msl.common.utils.DateStructUtil;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import java.util.List;
@Mapper(componentModel = "spring", uses = DateStructUtil.class)
public interface ExportTemplateStruct {
ExportTemplateVo convert(ExportTemplate template);
List<ExportTemplateVo> convert(List<ExportTemplate> list);
@Mapping(target = "fields", source = "fields")
ExportTemplateDetailVo convert(ExportTemplate template, List<ExportFieldVo> fields);
ExportTemplate convert(SaveExportTemplateParam param);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论