diff --git a/src/main/java/cn/palmte/work/controller/backend/AccountController.java b/src/main/java/cn/palmte/work/controller/backend/AccountController.java index 78669a6..fa2a17c 100644 --- a/src/main/java/cn/palmte/work/controller/backend/AccountController.java +++ b/src/main/java/cn/palmte/work/controller/backend/AccountController.java @@ -220,20 +220,14 @@ public class AccountController extends BaseController { model.put("keywords", keywords); } - /** - * 导出 - * @param keywords - * @param model - * @param response - * @throws IOException - */ @RequestMapping("/export") - public void export(@RequestParam(value = "keywords",required = false) String keywords,Map model, - HttpServletResponse response) throws IOException { - // 初始化参数 - ConcurrentHashMap searchInfo = getSearchInfo(keywords,model); - downloadHeader(response , Utils.generateExcelName("人员信息")); - accountService.exportExcel(response,searchInfo); + public void export(@RequestParam(value = "keywords",required = false) String keywords, HttpServletResponse httpServletResponse) throws IOException { + Map searchInfo = getSearchInfo(keywords); + downloadHeader(httpServletResponse , Utils.generateExcelName("人员信息"), "application/octet-stream"); + String[] headers = {"工号", "手机号码", "姓名", "常驻地", "一级部门", "直接主管", "职位", "所属角色", "公司邮件地址"}; + String[] exportColumns = {"empCode", "telephone", "workLocation", "deptName", "directManager", "positionName", "roleName", "companyEmail"}; + ExportUtils.exportToExcel(headers, exportColumns, 1, 10000, + httpServletResponse.getOutputStream(), (pN, pS) -> accountService.getAdminList(searchInfo, pN, pS).getList()); } /** diff --git a/src/main/java/cn/palmte/work/controller/backend/ProfitMarginConfigController.java b/src/main/java/cn/palmte/work/controller/backend/ProfitMarginConfigController.java new file mode 100644 index 0000000..b12f2d7 --- /dev/null +++ b/src/main/java/cn/palmte/work/controller/backend/ProfitMarginConfigController.java @@ -0,0 +1,44 @@ +package cn.palmte.work.controller.backend; + +import cn.palmte.work.model.ProfitMarginConfig; +import cn.palmte.work.model.ProfitMarginConfigRepository; +import cn.palmte.work.service.ProfitMarginConfigService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; + +import java.util.Map; + +@Controller +@RequestMapping("/profitMarginConfig") +public class ProfitMarginConfigController extends BaseController{ + + @Autowired + private ProfitMarginConfigService profitMarginConfigService; + + @Autowired + private ProfitMarginConfigRepository profitMarginConfigRepository; + + /** + * 跳转到编辑页面 + */ + @RequestMapping("/edit") + public String edit(Map model) { + ProfitMarginConfig profitMarginConfig = profitMarginConfigRepository.findOne(1); + model.put("profitMarginConfig", profitMarginConfig); + return "/admin/profit_marfin_config_input"; + } + + @PostMapping(value = "/save") + public String save(ProfitMarginConfig profitMarginConfig,Map model){ + try { + profitMarginConfigService.saveOrUpdate(profitMarginConfig); + } catch (Exception e) { + model.put("errorMessage", e.getMessage()); + return "/common/error"; + } + return "redirect:/profitMarginConfig/edit"; + } +} diff --git a/src/main/java/cn/palmte/work/model/AdminRepositoryCustom.java b/src/main/java/cn/palmte/work/model/AdminRepositoryCustom.java index b52aec4..9ad45b5 100644 --- a/src/main/java/cn/palmte/work/model/AdminRepositoryCustom.java +++ b/src/main/java/cn/palmte/work/model/AdminRepositoryCustom.java @@ -4,6 +4,7 @@ import cn.palmte.work.model.SysRole; import top.jfunc.common.db.bean.Page; import java.util.List; +import java.util.Map; import java.util.concurrent.ConcurrentHashMap; public interface AdminRepositoryCustom { @@ -30,7 +31,7 @@ public interface AdminRepositoryCustom { * @param pageNum * @return */ - Page getAdminList(ConcurrentHashMap searchInfo, int pageSize, int pageNum); + Page getAdminList(Map searchInfo, int pageSize, int pageNum); /** * 根据用户ID查询用户信息 diff --git a/src/main/java/cn/palmte/work/model/AdminRepositoryImpl.java b/src/main/java/cn/palmte/work/model/AdminRepositoryImpl.java index 3534054..bea066d 100644 --- a/src/main/java/cn/palmte/work/model/AdminRepositoryImpl.java +++ b/src/main/java/cn/palmte/work/model/AdminRepositoryImpl.java @@ -116,7 +116,7 @@ public class AdminRepositoryImpl implements AdminRepositoryCustom { } @Override - public Page getAdminList(ConcurrentHashMap searchInfo, int pageSize, int pageNum) { + public Page getAdminList(Map searchInfo, int pageSize, int pageNum) { Page page = new Page(pageNum, pageSize); int thisPage = (pageNum - 1) * pageSize; String sql = getSelect() + getSqlExceptSelect(searchInfo) + " limit " + thisPage + "," + pageSize; @@ -158,7 +158,7 @@ public class AdminRepositoryImpl implements AdminRepositoryCustom { return select; } - public String getSqlExceptSelect(ConcurrentHashMap searchInfo) { + public String getSqlExceptSelect(Map searchInfo) { StringBuffer sqlExceptSelect = new StringBuffer(" from sys_user u LEFT JOIN sys_user_role ur on u.id = ur.user_id LEFT JOIN sys_role r on r.id = ur.role_id "); Admin admin = InterfaceUtil.getAdmin(); diff --git a/src/main/java/cn/palmte/work/model/ProfitMarginConfig.java b/src/main/java/cn/palmte/work/model/ProfitMarginConfig.java new file mode 100644 index 0000000..ec8f6e3 --- /dev/null +++ b/src/main/java/cn/palmte/work/model/ProfitMarginConfig.java @@ -0,0 +1,51 @@ +package cn.palmte.work.model; + +import org.hibernate.annotations.GenericGenerator; + +import javax.persistence.*; + +/** + * 利润率配置 + */ +@Entity +@Table(name = "profit_margin_config") +public class ProfitMarginConfig { + + /** + * id + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @GenericGenerator(name = "persistenceGenerator", strategy = "increment") + private Integer id; + + @Column(name = "year_profit_margin") + private String yearProfitMargin; + + @Column(name = "threshold_value") + private String thresholdValue; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getYearProfitMargin() { + return yearProfitMargin; + } + + public void setYearProfitMargin(String yearProfitMargin) { + this.yearProfitMargin = yearProfitMargin; + } + + public String getThresholdValue() { + return thresholdValue; + } + + public void setThresholdValue(String thresholdValue) { + this.thresholdValue = thresholdValue; + } +} \ No newline at end of file diff --git a/src/main/java/cn/palmte/work/model/ProfitMarginConfigRepository.java b/src/main/java/cn/palmte/work/model/ProfitMarginConfigRepository.java new file mode 100644 index 0000000..cb97941 --- /dev/null +++ b/src/main/java/cn/palmte/work/model/ProfitMarginConfigRepository.java @@ -0,0 +1,7 @@ +package cn.palmte.work.model; + +import org.springframework.data.jpa.repository.JpaRepository; + +public interface ProfitMarginConfigRepository extends JpaRepository { + +} diff --git a/src/main/java/cn/palmte/work/service/AccountService.java b/src/main/java/cn/palmte/work/service/AccountService.java index cfa3725..5dfa6dd 100644 --- a/src/main/java/cn/palmte/work/service/AccountService.java +++ b/src/main/java/cn/palmte/work/service/AccountService.java @@ -55,7 +55,7 @@ public class AccountService { @Autowired private UserPositionRepository userPositionRepository; - public Page getAdminList(ConcurrentHashMap searchInfo, int pageSize, int pageNum) { + public Page getAdminList(Map searchInfo, int pageSize, int pageNum) { Page adminList = adminRepositoryImpl.getAdminList(searchInfo, pageSize, pageNum); return adminList; } @@ -255,13 +255,6 @@ public class AccountService { return false; } - public void exportExcel(HttpServletResponse response, ConcurrentHashMap searchInfo) throws IOException { - String[] headers = {"工号", "手机号码", "姓名", "常驻地", "一级部门", "直接主管", "职位", "所属角色", "公司邮件地址"}; - String[] exportColumns = {"empCode", "telephone", "workLocation", "deptName", "directManager", "positionName", "roleName", "companyEmail"}; - ExportUtils.exportToExcel(headers, exportColumns, 1, 5000, - response.getOutputStream(), (pN, pS) -> getAdminList(searchInfo, pN, pS).getList()); - } - public ResponseMsg check(Collection maps) { diff --git a/src/main/java/cn/palmte/work/service/ProfitMarginConfigService.java b/src/main/java/cn/palmte/work/service/ProfitMarginConfigService.java new file mode 100644 index 0000000..20ebf42 --- /dev/null +++ b/src/main/java/cn/palmte/work/service/ProfitMarginConfigService.java @@ -0,0 +1,21 @@ +package cn.palmte.work.service; + +import cn.palmte.work.model.ProfitMarginConfig; +import cn.palmte.work.model.ProfitMarginConfigRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class ProfitMarginConfigService { + + @Autowired + private ProfitMarginConfigRepository profitMarginConfigRepository; + + + public void saveOrUpdate(ProfitMarginConfig profitMarginConfig) { + ProfitMarginConfig obj = profitMarginConfigRepository.findOne(1); + obj.setThresholdValue(profitMarginConfig.getThresholdValue()); + obj.setYearProfitMargin(profitMarginConfig.getYearProfitMargin()); + profitMarginConfigRepository.saveAndFlush(obj); + } +} diff --git a/src/main/resources/static/img/logo.png b/src/main/resources/static/img/logo.png index 49b1e27..c794266 100644 Binary files a/src/main/resources/static/img/logo.png and b/src/main/resources/static/img/logo.png differ diff --git a/src/main/resources/templates/admin/profit_marfin_config_input.ftl b/src/main/resources/templates/admin/profit_marfin_config_input.ftl new file mode 100644 index 0000000..d36d5f6 --- /dev/null +++ b/src/main/resources/templates/admin/profit_marfin_config_input.ftl @@ -0,0 +1,155 @@ +<#assign base=request.contextPath /> +<#import "../common/defaultLayout.ftl" as defaultLayout> +<@defaultLayout.layout> + + + +
+
+
+
配置管理 /项目利润率配置
+
+
+ +
+
    +
  • + +
  • +
+
+
+ + + +
+
+ * + 项目贡献利润率阀值: +
+
+ +

注:请注意保留小数点后两位

+
+
+
+ +
+
+ * + 项目年利润率: +
+
+ +

注:请注意保留小数点后两位

+
+
+
+
+
+
+ + +
+ + <#----> +
+
+
+
+ + + + + + + + + + + + + + + + + +