From 23855599412c4d61b38d78f0f3abd3430a48b5b1 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期三, 25 六月 2025 11:51:38 +0800
Subject: [PATCH] Merge branch 'mdc_hyjs_master'
---
lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java | 288 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 288 insertions(+), 0 deletions(-)
diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java
new file mode 100644
index 0000000..34253dd
--- /dev/null
+++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/controller/SysPositionController.java
@@ -0,0 +1,288 @@
+package org.jeecg.modules.system.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.ImportExcelUtil;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.system.entity.SysPosition;
+import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
+import org.jeecg.modules.system.service.ISysPositionService;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description: 鑱屽姟琛�
+ * @Author: jeecg-boot
+ * @Date: 2019-09-19
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags = "鑱屽姟琛�")
+@RestController
+@RequestMapping("/sys/position")
+public class SysPositionController {
+
+ @Autowired
+ private ISysPositionService sysPositionService;
+
+ @Autowired
+ private ISysBusinessCodeRuleService sysBusinessCodeRuleService;
+
+ /**
+ * 鍒嗛〉鍒楄〃鏌ヨ
+ *
+ * @param sysPosition
+ * @param pageNo
+ * @param pageSize
+ * @param req
+ * @return
+ */
+ @AutoLog(value = "鑱屽姟琛�-鍒嗛〉鍒楄〃鏌ヨ")
+ @ApiOperation(value = "鑱屽姟琛�-鍒嗛〉鍒楄〃鏌ヨ", notes = "鑱屽姟琛�-鍒嗛〉鍒楄〃鏌ヨ")
+ @GetMapping(value = "/list")
+ public Result<IPage<SysPosition>> queryPageList(SysPosition sysPosition,
+ @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+ @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+ HttpServletRequest req) {
+ Result<IPage<SysPosition>> result = new Result<IPage<SysPosition>>();
+ QueryWrapper<SysPosition> queryWrapper = QueryGenerator.initQueryWrapper(sysPosition, req.getParameterMap());
+ Page<SysPosition> page = new Page<SysPosition>(pageNo, pageSize);
+ IPage<SysPosition> pageList = sysPositionService.page(page, queryWrapper);
+ result.setSuccess(true);
+ result.setResult(pageList);
+ return result;
+ }
+
+ /**
+ * 娣诲姞
+ *
+ * @param sysPosition
+ * @return
+ */
+ @AutoLog(value = "鑱屽姟琛�-娣诲姞")
+ @ApiOperation(value = "鑱屽姟琛�-娣诲姞", notes = "鑱屽姟琛�-娣诲姞")
+ @PostMapping(value = "/add")
+ public Result<SysPosition> add(@RequestBody SysPosition sysPosition) {
+ String codeSeq = sysBusinessCodeRuleService.generateBusinessCodeSeq("PositionCodeRule");
+ sysPosition.setCode(codeSeq);
+ Result<SysPosition> result = new Result<SysPosition>();
+ try {
+ sysPositionService.save(sysPosition);
+ result.success("娣诲姞鎴愬姛锛�");
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ result.error500("鎿嶄綔澶辫触");
+ }
+ return result;
+ }
+
+ /**
+ * 缂栬緫
+ *
+ * @param sysPosition
+ * @return
+ */
+ @AutoLog(value = "鑱屽姟琛�-缂栬緫")
+ @ApiOperation(value = "鑱屽姟琛�-缂栬緫", notes = "鑱屽姟琛�-缂栬緫")
+ @RequestMapping(value = "/edit", method ={RequestMethod.PUT, RequestMethod.POST})
+ public Result<SysPosition> edit(@RequestBody SysPosition sysPosition) {
+ Result<SysPosition> result = new Result<SysPosition>();
+ SysPosition sysPositionEntity = sysPositionService.getById(sysPosition.getId());
+ if (sysPositionEntity == null) {
+ result.error500("鏈壘鍒板搴斿疄浣�");
+ } else {
+ boolean ok = sysPositionService.updateById(sysPosition);
+ //TODO 杩斿洖false璇存槑浠�涔堬紵
+ if (ok) {
+ result.success("淇敼鎴愬姛!");
+ }
+ }
+
+ return result;
+ }
+
+ /**
+ * 閫氳繃id鍒犻櫎
+ *
+ * @param id
+ * @return
+ */
+ @AutoLog(value = "鑱屽姟琛�-閫氳繃id鍒犻櫎")
+ @ApiOperation(value = "鑱屽姟琛�-閫氳繃id鍒犻櫎", notes = "鑱屽姟琛�-閫氳繃id鍒犻櫎")
+ @DeleteMapping(value = "/delete")
+ public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+ try {
+ sysPositionService.removeById(id);
+ } catch (Exception e) {
+ log.error("鍒犻櫎澶辫触", e.getMessage());
+ return Result.error("鍒犻櫎澶辫触!");
+ }
+ return Result.ok("鍒犻櫎鎴愬姛!");
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎
+ *
+ * @param ids
+ * @return
+ */
+ @AutoLog(value = "鑱屽姟琛�-鎵归噺鍒犻櫎")
+ @ApiOperation(value = "鑱屽姟琛�-鎵归噺鍒犻櫎", notes = "鑱屽姟琛�-鎵归噺鍒犻櫎")
+ @DeleteMapping(value = "/deleteBatch")
+ public Result<SysPosition> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+ Result<SysPosition> result = new Result<SysPosition>();
+ if (ids == null || "".equals(ids.trim())) {
+ result.error500("鍙傛暟涓嶈瘑鍒紒");
+ } else {
+ this.sysPositionService.removeByIds(Arrays.asList(ids.split(",")));
+ result.success("鍒犻櫎鎴愬姛!");
+ }
+ return result;
+ }
+
+ /**
+ * 閫氳繃id鏌ヨ
+ *
+ * @param id
+ * @return
+ */
+ @AutoLog(value = "鑱屽姟琛�-閫氳繃id鏌ヨ")
+ @ApiOperation(value = "鑱屽姟琛�-閫氳繃id鏌ヨ", notes = "鑱屽姟琛�-閫氳繃id鏌ヨ")
+ @GetMapping(value = "/queryById")
+ public Result<SysPosition> queryById(@RequestParam(name = "id", required = true) String id) {
+ Result<SysPosition> result = new Result<SysPosition>();
+ SysPosition sysPosition = sysPositionService.getById(id);
+ if (sysPosition == null) {
+ result.error500("鏈壘鍒板搴斿疄浣�");
+ } else {
+ result.setResult(sysPosition);
+ result.setSuccess(true);
+ }
+ return result;
+ }
+
+ /**
+ * 瀵煎嚭excel
+ *
+ * @param request
+ * @param response
+ */
+ @RequestMapping(value = "/exportXls")
+ public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) {
+ // Step.1 缁勮鏌ヨ鏉′欢
+ QueryWrapper<SysPosition> queryWrapper = null;
+ try {
+ String paramsStr = request.getParameter("paramsStr");
+ if (oConvertUtils.isNotEmpty(paramsStr)) {
+ String deString = URLDecoder.decode(paramsStr, "UTF-8");
+ SysPosition sysPosition = JSON.parseObject(deString, SysPosition.class);
+ queryWrapper = QueryGenerator.initQueryWrapper(sysPosition, request.getParameterMap());
+ }
+ } catch (UnsupportedEncodingException e) {
+ e.printStackTrace();
+ }
+
+ //Step.2 AutoPoi 瀵煎嚭Excel
+ ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+ List<SysPosition> pageList = sysPositionService.list(queryWrapper);
+ LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+ //瀵煎嚭鏂囦欢鍚嶇О
+ mv.addObject(NormalExcelConstants.FILE_NAME, "鑱屽姟琛ㄥ垪琛�");
+ mv.addObject(NormalExcelConstants.CLASS, SysPosition.class);
+ mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("鑱屽姟琛ㄥ垪琛ㄦ暟鎹�", "瀵煎嚭浜�:"+user.getRealname(),"瀵煎嚭淇℃伅"));
+ mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
+ return mv;
+ }
+
+ /**
+ * 閫氳繃excel瀵煎叆鏁版嵁
+ *
+ * @param request
+ * @param response
+ * @return
+ */
+ @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+ public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response)throws IOException {
+ MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+ Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+ // 閿欒淇℃伅
+ List<String> errorMessage = new ArrayList<>();
+ int successLines = 0, errorLines = 0;
+ for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+ // 鑾峰彇涓婁紶鏂囦欢瀵硅薄
+ MultipartFile file = entity.getValue();
+ ImportParams params = new ImportParams();
+ params.setTitleRows(2);
+ params.setHeadRows(1);
+ params.setNeedSave(true);
+ try {
+ List<Object> listSysPositions = ExcelImportUtil.importExcel(file.getInputStream(), SysPosition.class, params);
+ List<String> list = ImportExcelUtil.importDateSave(listSysPositions, ISysPositionService.class, errorMessage,CommonConstant.SQL_INDEX_UNIQ_CODE);
+ errorLines+=list.size();
+ successLines+=(listSysPositions.size()-errorLines);
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ return Result.error("鏂囦欢瀵煎叆澶辫触:" + e.getMessage());
+ } finally {
+ try {
+ file.getInputStream().close();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ return ImportExcelUtil.imporReturnRes(errorLines,successLines,errorMessage);
+ }
+
+ /**
+ * 閫氳繃code鏌ヨ
+ *
+ * @param code
+ * @return
+ */
+ @AutoLog(value = "鑱屽姟琛�-閫氳繃code鏌ヨ")
+ @ApiOperation(value = "鑱屽姟琛�-閫氳繃code鏌ヨ", notes = "鑱屽姟琛�-閫氳繃code鏌ヨ")
+ @GetMapping(value = "/queryByCode")
+ public Result<SysPosition> queryByCode(@RequestParam(name = "code", required = true) String code) {
+ Result<SysPosition> result = new Result<SysPosition>();
+ QueryWrapper<SysPosition> queryWrapper = new QueryWrapper<SysPosition>();
+ queryWrapper.eq("code",code);
+ SysPosition sysPosition = sysPositionService.getOne(queryWrapper);
+ if (sysPosition == null) {
+ result.error500("鏈壘鍒板搴斿疄浣�");
+ } else {
+ result.setResult(sysPosition);
+ result.setSuccess(true);
+ }
+ return result;
+ }
+}
--
Gitblit v1.9.3