zenglf
2023-10-18 e8a215989fdd9dd6f24f46bf51f60174a1088b5b
操作证管理 操作证申请、操作证计分规则提交
已添加30个文件
已修改1个文件
1945 ■■■■■ 文件已修改
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DeductionItemController.java 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/OperationCertificateApplyController.java 265 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/OperationCertificateController.java 265 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/DeductionItem.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificate.java 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateApply.java 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateApplyDetail.java 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateDetail.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/DeductionItemMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/OperationCertificateApplyDetailMapper.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/OperationCertificateApplyMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/OperationCertificateDetailMapper.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/OperationCertificateMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DeductionItemMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/OperationCertificateApplyDetailMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/OperationCertificateApplyMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/OperationCertificateDetailMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/OperationCertificateMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IDeductionItemService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IOperationCertificateApplyDetailService.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IOperationCertificateApplyService.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IOperationCertificateDetailService.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IOperationCertificateService.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/DeductionItemServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/OperationCertificateApplyDetailServiceImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/OperationCertificateApplyServiceImpl.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/OperationCertificateDetailServiceImpl.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/OperationCertificateServiceImpl.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/OperationCertificateApplyPage.java 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/OperationCertificatePage.java 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-start/src/main/resources/application-dev.yml 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DeductionItemController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,177 @@
package org.jeecg.modules.eam.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.eam.entity.DeductionItem;
import org.jeecg.modules.eam.service.IDeductionItemService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
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.jeecg.common.system.base.controller.JeecgController;
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 com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
 /**
 * @Description: æ“ä½œè®¡åˆ†è§„则
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
@Api(tags="操作计分规则")
@RestController
@RequestMapping("/eam/deductionItem")
@Slf4j
public class DeductionItemController extends JeecgController<DeductionItem, IDeductionItemService> {
    @Autowired
    private IDeductionItemService deductionItemService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param deductionItem
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "操作计分规则-分页列表查询")
    @ApiOperation(value="操作计分规则-分页列表查询", notes="操作计分规则-分页列表查询")
    @GetMapping(value = "/list")
    public Result<IPage<DeductionItem>> queryPageList(DeductionItem deductionItem,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<DeductionItem> queryWrapper = QueryGenerator.initQueryWrapper(deductionItem, req.getParameterMap());
        Page<DeductionItem> page = new Page<DeductionItem>(pageNo, pageSize);
        IPage<DeductionItem> pageList = deductionItemService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     *   æ·»åŠ 
     *
     * @param deductionItem
     * @return
     */
    @AutoLog(value = "操作计分规则-添加")
    @ApiOperation(value="操作计分规则-添加", notes="操作计分规则-添加")
    //@RequiresPermissions("org.jeecg.modules.mdc:mom_eam_base_deduction_item:add")
    @PostMapping(value = "/add")
    public Result<String> add(@RequestBody DeductionItem deductionItem) {
        deductionItemService.save(deductionItem);
        return Result.OK("添加成功!");
    }
    /**
     *  ç¼–辑
     *
     * @param deductionItem
     * @return
     */
    @AutoLog(value = "操作计分规则-编辑")
    @ApiOperation(value="操作计分规则-编辑", notes="操作计分规则-编辑")
    //@RequiresPermissions("org.jeecg.modules.mdc:mom_eam_base_deduction_item:edit")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<String> edit(@RequestBody DeductionItem deductionItem) {
        deductionItemService.updateById(deductionItem);
        return Result.OK("编辑成功!");
    }
    /**
     *   é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "操作计分规则-通过id删除")
    @ApiOperation(value="操作计分规则-通过id删除", notes="操作计分规则-通过id删除")
    //@RequiresPermissions("org.jeecg.modules.mdc:mom_eam_base_deduction_item:delete")
    @DeleteMapping(value = "/delete")
    public Result<String> delete(@RequestParam(name="id",required=true) String id) {
        deductionItemService.removeById(id);
        return Result.OK("删除成功!");
    }
    /**
     *  æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "操作计分规则-批量删除")
    @ApiOperation(value="操作计分规则-批量删除", notes="操作计分规则-批量删除")
    //@RequiresPermissions("org.jeecg.modules.mdc:mom_eam_base_deduction_item:deleteBatch")
    @DeleteMapping(value = "/deleteBatch")
    public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        this.deductionItemService.removeByIds(Arrays.asList(ids.split(",")));
        return Result.OK("批量删除成功!");
    }
    /**
     * é€šè¿‡id查询
     *
     * @param id
     * @return
     */
    //@AutoLog(value = "操作计分规则-通过id查询")
    @ApiOperation(value="操作计分规则-通过id查询", notes="操作计分规则-通过id查询")
    @GetMapping(value = "/queryById")
    public Result<DeductionItem> queryById(@RequestParam(name="id",required=true) String id) {
        DeductionItem deductionItem = deductionItemService.getById(id);
        if(deductionItem==null) {
            return Result.error("未找到对应数据");
        }
        return Result.OK(deductionItem);
    }
    /**
    * å¯¼å‡ºexcel
    *
    * @param request
    * @param deductionItem
    */
    //@RequiresPermissions("org.jeecg.modules.mdc:mom_eam_base_deduction_item:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, DeductionItem deductionItem) {
        return super.exportXls(request, deductionItem, DeductionItem.class, "操作计分规则");
    }
    /**
      * é€šè¿‡excel导入数据
    *
    * @param request
    * @param response
    * @return
    */
    //@RequiresPermissions("mom_eam_base_deduction_item:importExcel")
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
        return super.importExcel(request, response, DeductionItem.class);
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/OperationCertificateApplyController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,265 @@
package org.jeecg.modules.eam.controller;
import java.io.UnsupportedEncodingException;
import java.io.IOException;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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.jeecg.common.system.vo.LoginUser;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.eam.entity.OperationCertificateApplyDetail;
import org.jeecg.modules.eam.entity.OperationCertificateApply;
import org.jeecg.modules.eam.vo.OperationCertificateApplyPage;
import org.jeecg.modules.eam.service.IOperationCertificateApplyService;
import org.jeecg.modules.eam.service.IOperationCertificateApplyDetailService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
 /**
 * @Description: æ“ä½œè¯ç”³è¯·è¡¨
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
@Api(tags="操作证申请表")
@RestController
@RequestMapping("/eam/operationCertificateApply")
@Slf4j
public class OperationCertificateApplyController {
    @Autowired
    private IOperationCertificateApplyService operationCertificateApplyService;
    @Autowired
    private IOperationCertificateApplyDetailService operationCertificateApplyDetailService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param operationCertificateApply
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "操作证申请表-分页列表查询")
    @ApiOperation(value="操作证申请表-分页列表查询", notes="操作证申请表-分页列表查询")
    @GetMapping(value = "/list")
    public Result<IPage<OperationCertificateApply>> queryPageList(OperationCertificateApply operationCertificateApply,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<OperationCertificateApply> queryWrapper = QueryGenerator.initQueryWrapper(operationCertificateApply, req.getParameterMap());
        Page<OperationCertificateApply> page = new Page<OperationCertificateApply>(pageNo, pageSize);
        IPage<OperationCertificateApply> pageList = operationCertificateApplyService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     *   æ·»åŠ 
     *
     * @param operationCertificateApplyPage
     * @return
     */
    @AutoLog(value = "操作证申请表-添加")
    @ApiOperation(value="操作证申请表-添加", notes="操作证申请表-添加")
    //@RequiresPermissions("org.jeecg.modules.mdc:mom_eam_operation_certificate_apply:add")
    @PostMapping(value = "/add")
    public Result<String> add(@RequestBody OperationCertificateApplyPage operationCertificateApplyPage) {
        OperationCertificateApply operationCertificateApply = new OperationCertificateApply();
        BeanUtils.copyProperties(operationCertificateApplyPage, operationCertificateApply);
        operationCertificateApplyService.saveMain(operationCertificateApply, operationCertificateApplyPage.getOperationCertificateApplyDetailList());
        return Result.OK("添加成功!");
    }
    /**
     *  ç¼–辑
     *
     * @param operationCertificateApplyPage
     * @return
     */
    @AutoLog(value = "操作证申请表-编辑")
    @ApiOperation(value="操作证申请表-编辑", notes="操作证申请表-编辑")
    //@RequiresPermissions("org.jeecg.modules.mdc:mom_eam_operation_certificate_apply:edit")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<String> edit(@RequestBody OperationCertificateApplyPage operationCertificateApplyPage) {
        OperationCertificateApply operationCertificateApply = new OperationCertificateApply();
        BeanUtils.copyProperties(operationCertificateApplyPage, operationCertificateApply);
        OperationCertificateApply operationCertificateApplyEntity = operationCertificateApplyService.getById(operationCertificateApply.getId());
        if(operationCertificateApplyEntity==null) {
            return Result.error("未找到对应数据");
        }
        operationCertificateApplyService.updateMain(operationCertificateApply, operationCertificateApplyPage.getOperationCertificateApplyDetailList());
        return Result.OK("编辑成功!");
    }
    /**
     *   é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "操作证申请表-通过id删除")
    @ApiOperation(value="操作证申请表-通过id删除", notes="操作证申请表-通过id删除")
    //@RequiresPermissions("org.jeecg.modules.mdc:mom_eam_operation_certificate_apply:delete")
    @DeleteMapping(value = "/delete")
    public Result<String> delete(@RequestParam(name="id",required=true) String id) {
        operationCertificateApplyService.delMain(id);
        return Result.OK("删除成功!");
    }
    /**
     *  æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "操作证申请表-批量删除")
    @ApiOperation(value="操作证申请表-批量删除", notes="操作证申请表-批量删除")
    //@RequiresPermissions("org.jeecg.modules.mdc:mom_eam_operation_certificate_apply:deleteBatch")
    @DeleteMapping(value = "/deleteBatch")
    public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        this.operationCertificateApplyService.delBatchMain(Arrays.asList(ids.split(",")));
        return Result.OK("批量删除成功!");
    }
    /**
     * é€šè¿‡id查询
     *
     * @param id
     * @return
     */
    //@AutoLog(value = "操作证申请表-通过id查询")
    @ApiOperation(value="操作证申请表-通过id查询", notes="操作证申请表-通过id查询")
    @GetMapping(value = "/queryById")
    public Result<OperationCertificateApply> queryById(@RequestParam(name="id",required=true) String id) {
        OperationCertificateApply operationCertificateApply = operationCertificateApplyService.getById(id);
        if(operationCertificateApply==null) {
            return Result.error("未找到对应数据");
        }
        return Result.OK(operationCertificateApply);
    }
    /**
     * é€šè¿‡id查询
     *
     * @param id
     * @return
     */
    //@AutoLog(value = "操作证申请明细表通过主表ID查询")
    @ApiOperation(value="操作证申请明细表主表ID查询", notes="操作证申请明细表-通主表ID查询")
    @GetMapping(value = "/queryOperationCertificateApplyDetailByMainId")
    public Result<List<OperationCertificateApplyDetail>> queryOperationCertificateApplyDetailListByMainId(@RequestParam(name="id",required=true) String id) {
        List<OperationCertificateApplyDetail> operationCertificateApplyDetailList = operationCertificateApplyDetailService.selectByMainId(id);
        return Result.OK(operationCertificateApplyDetailList);
    }
    /**
    * å¯¼å‡ºexcel
    *
    * @param request
    * @param operationCertificateApply
    */
    //@RequiresPermissions("org.jeecg.modules.mdc:mom_eam_operation_certificate_apply:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, OperationCertificateApply operationCertificateApply) {
      // Step.1 ç»„装查询条件查询数据
      QueryWrapper<OperationCertificateApply> queryWrapper = QueryGenerator.initQueryWrapper(operationCertificateApply, request.getParameterMap());
      LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
      //配置选中数据查询条件
      String selections = request.getParameter("selections");
      if(oConvertUtils.isNotEmpty(selections)) {
         List<String> selectionList = Arrays.asList(selections.split(","));
         queryWrapper.in("id",selectionList);
      }
      //Step.2 èŽ·å–å¯¼å‡ºæ•°æ®
      List<OperationCertificateApply> operationCertificateApplyList = operationCertificateApplyService.list(queryWrapper);
      // Step.3 ç»„装pageList
      List<OperationCertificateApplyPage> pageList = new ArrayList<OperationCertificateApplyPage>();
      for (OperationCertificateApply main : operationCertificateApplyList) {
          OperationCertificateApplyPage vo = new OperationCertificateApplyPage();
          BeanUtils.copyProperties(main, vo);
          List<OperationCertificateApplyDetail> operationCertificateApplyDetailList = operationCertificateApplyDetailService.selectByMainId(main.getId());
          vo.setOperationCertificateApplyDetailList(operationCertificateApplyDetailList);
          pageList.add(vo);
      }
      // Step.4 AutoPoi å¯¼å‡ºExcel
      ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
      mv.addObject(NormalExcelConstants.FILE_NAME, "操作证申请表列表");
      mv.addObject(NormalExcelConstants.CLASS, OperationCertificateApplyPage.class);
      mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("操作证申请表数据", "导出人:"+sysUser.getRealname(), "操作证申请表"));
      mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
      return mv;
    }
    /**
    * é€šè¿‡excel导入数据
    *
    * @param request
    * @param response
    * @return
    */
    //@RequiresPermissions("org.jeecg.modules.mdc:mom_eam_operation_certificate_apply:importExcel")
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
      MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
      Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
      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<OperationCertificateApplyPage> list = ExcelImportUtil.importExcel(file.getInputStream(), OperationCertificateApplyPage.class, params);
              for (OperationCertificateApplyPage page : list) {
                  OperationCertificateApply po = new OperationCertificateApply();
                  BeanUtils.copyProperties(page, po);
                  operationCertificateApplyService.saveMain(po, page.getOperationCertificateApplyDetailList());
              }
              return Result.OK("文件导入成功!数据行数:" + list.size());
          } catch (Exception e) {
              log.error(e.getMessage(),e);
              return Result.error("文件导入失败:"+e.getMessage());
          } finally {
              try {
                  file.getInputStream().close();
              } catch (IOException e) {
                  e.printStackTrace();
              }
          }
      }
      return Result.OK("文件导入失败!");
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/OperationCertificateController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,265 @@
package org.jeecg.modules.eam.controller;
import java.io.UnsupportedEncodingException;
import java.io.IOException;
import java.net.URLDecoder;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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.jeecg.common.system.vo.LoginUser;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.eam.entity.OperationCertificateDetail;
import org.jeecg.modules.eam.entity.OperationCertificate;
import org.jeecg.modules.eam.vo.OperationCertificatePage;
import org.jeecg.modules.eam.service.IOperationCertificateService;
import org.jeecg.modules.eam.service.IOperationCertificateDetailService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
 /**
 * @Description: æ“ä½œè¯ä¹¦ç®¡ç†
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
@Api(tags="操作证书管理")
@RestController
@RequestMapping("/eam/operationCertificate")
@Slf4j
public class OperationCertificateController {
    @Autowired
    private IOperationCertificateService operationCertificateService;
    @Autowired
    private IOperationCertificateDetailService operationCertificateDetailService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param operationCertificate
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    //@AutoLog(value = "操作证书管理-分页列表查询")
    @ApiOperation(value="操作证书管理-分页列表查询", notes="操作证书管理-分页列表查询")
    @GetMapping(value = "/list")
    public Result<IPage<OperationCertificate>> queryPageList(OperationCertificate operationCertificate,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<OperationCertificate> queryWrapper = QueryGenerator.initQueryWrapper(operationCertificate, req.getParameterMap());
        Page<OperationCertificate> page = new Page<OperationCertificate>(pageNo, pageSize);
        IPage<OperationCertificate> pageList = operationCertificateService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     *   æ·»åŠ 
     *
     * @param operationCertificatePage
     * @return
     */
    @AutoLog(value = "操作证书管理-添加")
    @ApiOperation(value="操作证书管理-添加", notes="操作证书管理-添加")
    //@RequiresPermissions("org.jeecg.modules.mdc:mom_eam_operation_certificate:add")
    @PostMapping(value = "/add")
    public Result<String> add(@RequestBody OperationCertificatePage operationCertificatePage) {
        OperationCertificate operationCertificate = new OperationCertificate();
        BeanUtils.copyProperties(operationCertificatePage, operationCertificate);
        operationCertificateService.saveMain(operationCertificate, operationCertificatePage.getOperationCertificateDetailList());
        return Result.OK("添加成功!");
    }
    /**
     *  ç¼–辑
     *
     * @param operationCertificatePage
     * @return
     */
    @AutoLog(value = "操作证书管理-编辑")
    @ApiOperation(value="操作证书管理-编辑", notes="操作证书管理-编辑")
    //@RequiresPermissions("org.jeecg.modules.mdc:mom_eam_operation_certificate:edit")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<String> edit(@RequestBody OperationCertificatePage operationCertificatePage) {
        OperationCertificate operationCertificate = new OperationCertificate();
        BeanUtils.copyProperties(operationCertificatePage, operationCertificate);
        OperationCertificate operationCertificateEntity = operationCertificateService.getById(operationCertificate.getId());
        if(operationCertificateEntity==null) {
            return Result.error("未找到对应数据");
        }
        operationCertificateService.updateMain(operationCertificate, operationCertificatePage.getOperationCertificateDetailList());
        return Result.OK("编辑成功!");
    }
    /**
     *   é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "操作证书管理-通过id删除")
    @ApiOperation(value="操作证书管理-通过id删除", notes="操作证书管理-通过id删除")
    //@RequiresPermissions("org.jeecg.modules.mdc:mom_eam_operation_certificate:delete")
    @DeleteMapping(value = "/delete")
    public Result<String> delete(@RequestParam(name="id",required=true) String id) {
        operationCertificateService.delMain(id);
        return Result.OK("删除成功!");
    }
    /**
     *  æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "操作证书管理-批量删除")
    @ApiOperation(value="操作证书管理-批量删除", notes="操作证书管理-批量删除")
    //@RequiresPermissions("org.jeecg.modules.mdc:mom_eam_operation_certificate:deleteBatch")
    @DeleteMapping(value = "/deleteBatch")
    public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
        this.operationCertificateService.delBatchMain(Arrays.asList(ids.split(",")));
        return Result.OK("批量删除成功!");
    }
    /**
     * é€šè¿‡id查询
     *
     * @param id
     * @return
     */
    //@AutoLog(value = "操作证书管理-通过id查询")
    @ApiOperation(value="操作证书管理-通过id查询", notes="操作证书管理-通过id查询")
    @GetMapping(value = "/queryById")
    public Result<OperationCertificate> queryById(@RequestParam(name="id",required=true) String id) {
        OperationCertificate operationCertificate = operationCertificateService.getById(id);
        if(operationCertificate==null) {
            return Result.error("未找到对应数据");
        }
        return Result.OK(operationCertificate);
    }
    /**
     * é€šè¿‡id查询
     *
     * @param id
     * @return
     */
    //@AutoLog(value = "操作证管理明细通过主表ID查询")
    @ApiOperation(value="操作证管理明细主表ID查询", notes="操作证管理明细-通主表ID查询")
    @GetMapping(value = "/queryOperationCertificateDetailByMainId")
    public Result<List<OperationCertificateDetail>> queryOperationCertificateDetailListByMainId(@RequestParam(name="id",required=true) String id) {
        List<OperationCertificateDetail> operationCertificateDetailList = operationCertificateDetailService.selectByMainId(id);
        return Result.OK(operationCertificateDetailList);
    }
    /**
    * å¯¼å‡ºexcel
    *
    * @param request
    * @param operationCertificate
    */
    //@RequiresPermissions("org.jeecg.modules.mdc:mom_eam_operation_certificate:exportXls")
    @RequestMapping(value = "/exportXls")
    public ModelAndView exportXls(HttpServletRequest request, OperationCertificate operationCertificate) {
      // Step.1 ç»„装查询条件查询数据
      QueryWrapper<OperationCertificate> queryWrapper = QueryGenerator.initQueryWrapper(operationCertificate, request.getParameterMap());
      LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
      //配置选中数据查询条件
      String selections = request.getParameter("selections");
      if(oConvertUtils.isNotEmpty(selections)) {
         List<String> selectionList = Arrays.asList(selections.split(","));
         queryWrapper.in("id",selectionList);
      }
      //Step.2 èŽ·å–å¯¼å‡ºæ•°æ®
      List<OperationCertificate> operationCertificateList = operationCertificateService.list(queryWrapper);
      // Step.3 ç»„装pageList
      List<OperationCertificatePage> pageList = new ArrayList<OperationCertificatePage>();
      for (OperationCertificate main : operationCertificateList) {
          OperationCertificatePage vo = new OperationCertificatePage();
          BeanUtils.copyProperties(main, vo);
          List<OperationCertificateDetail> operationCertificateDetailList = operationCertificateDetailService.selectByMainId(main.getId());
          vo.setOperationCertificateDetailList(operationCertificateDetailList);
          pageList.add(vo);
      }
      // Step.4 AutoPoi å¯¼å‡ºExcel
      ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
      mv.addObject(NormalExcelConstants.FILE_NAME, "操作证书管理列表");
      mv.addObject(NormalExcelConstants.CLASS, OperationCertificatePage.class);
      mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("操作证书管理数据", "导出人:"+sysUser.getRealname(), "操作证书管理"));
      mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
      return mv;
    }
    /**
    * é€šè¿‡excel导入数据
    *
    * @param request
    * @param response
    * @return
    */
    //@RequiresPermissions("org.jeecg.modules.mdc:mom_eam_operation_certificate:importExcel")
    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
      MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
      Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
      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<OperationCertificatePage> list = ExcelImportUtil.importExcel(file.getInputStream(), OperationCertificatePage.class, params);
              for (OperationCertificatePage page : list) {
                  OperationCertificate po = new OperationCertificate();
                  BeanUtils.copyProperties(page, po);
                  operationCertificateService.saveMain(po, page.getOperationCertificateDetailList());
              }
              return Result.OK("文件导入成功!数据行数:" + list.size());
          } catch (Exception e) {
              log.error(e.getMessage(),e);
              return Result.error("文件导入失败:"+e.getMessage());
          } finally {
              try {
                  file.getInputStream().close();
              } catch (IOException e) {
                  e.printStackTrace();
              }
          }
      }
      return Result.OK("文件导入失败!");
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/DeductionItem.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
package org.jeecg.modules.eam.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.common.system.base.entity.JeecgEntity;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * @Description: æ“ä½œè®¡åˆ†è§„则
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
@Data
@TableName("mom_eam_base_deduction_item")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="mom_eam_base_deduction_item对象", description="操作计分规则")
public class DeductionItem extends JeecgEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    /**编号*/
    @Excel(name = "编号", width = 15)
    @ApiModelProperty(value = "编号")
    private String num;
    /**内容*/
    @Excel(name = "内容", width = 15)
    @ApiModelProperty(value = "内容")
    private String content;
    /**分数*/
    @Excel(name = "分数", width = 15)
    @ApiModelProperty(value = "分数")
    private Integer deductionScore;
    /**创建人*/
    /**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private String sysOrgCode;
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificate.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,112 @@
package org.jeecg.modules.eam.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.base.entity.JeecgEntity;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
 * @Description: æ“ä½œè¯ä¹¦ç®¡ç†
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
@ApiModel(value="mom_eam_operation_certificate对象", description="操作证书管理")
@Data
@TableName("mom_eam_operation_certificate")
public class OperationCertificate  extends JeecgEntity implements Serializable {
    private static final long serialVersionUID = 1L;
    /**操作证编号*/
    @Excel(name = "操作证编号", width = 15)
    @ApiModelProperty(value = "操作证编号")
    private String num;
    /**用户ID*/
    @Excel(name = "用户ID", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @ApiModelProperty(value = "用户ID")
    private String userId;
    /**发证日期*/
    @Excel(name = "发证日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "发证日期")
    private Date issueDate;
    /**开始时间*/
    @Excel(name = "开始时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "开始时间")
    private Date startTime;
    /**结束时间*/
    @Excel(name = "结束时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "结束时间")
    private Date endTime;
    /**当前周期分数*/
    @Excel(name = "当前周期分数", width = 15)
    @ApiModelProperty(value = "当前周期分数")
    private Integer currentCycleScore;
    /**设备ids*/
    @Excel(name = "设备ids", width = 15, dictTable = "mom_eam_equipment", dicText = "num", dicCode = "id")
    @Dict(dictTable = "mom_eam_equipment", dicText = "num", dicCode = "id")
    @ApiModelProperty(value = "设备ids")
    private String equipmentIds;
    /**备注*/
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
    /**租户ID*/
    @Excel(name = "租户ID", width = 15)
    @ApiModelProperty(value = "租户ID")
    private String tenantId;
    /**删除标志*/
    @Excel(name = "删除标志", width = 15)
    @ApiModelProperty(value = "删除标志")
    @TableLogic
    private Integer delFlag = CommonConstant.DEL_FLAG_0;
    /**状态*/
    @Excel(name = "状态", width = 15, dicCode = "certificate_status")
    @Dict(dicCode = "certificate_status")
    @ApiModelProperty(value = "状态")
    private String status   ;
    /**enterpriseId*/
    @Excel(name = "enterpriseId", width = 15)
    @ApiModelProperty(value = "enterpriseId")
    private String enterpriseId;
    /**属性字段1*/
    @Excel(name = "属性字段1", width = 15)
    @ApiModelProperty(value = "属性字段1")
    private String uda1;
    /**属性字段2*/
    @Excel(name = "属性字段2", width = 15)
    @ApiModelProperty(value = "属性字段2")
    private String uda2;
    /**属性字段3*/
    @Excel(name = "属性字段3", width = 15)
    @ApiModelProperty(value = "属性字段3")
    private String uda3;
    /**属性字段4*/
    @Excel(name = "属性字段4", width = 15)
    @ApiModelProperty(value = "属性字段4")
    private String uda4;
    /**属性字段5*/
    @Excel(name = "属性字段5", width = 15)
    @ApiModelProperty(value = "属性字段5")
    private String uda5;
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateApply.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,100 @@
package org.jeecg.modules.eam.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.base.entity.JeecgEntity;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
 * @Description: æ“ä½œè¯ç”³è¯·è¡¨
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
@ApiModel(value="mom_eam_operation_certificate_apply对象", description="操作证申请表")
@Data
@TableName("mom_eam_operation_certificate_apply")
public class OperationCertificateApply extends JeecgEntity  implements Serializable {
    private static final long serialVersionUID = 1L;
    /**申请单编号*/
    @Excel(name = "申请单编号", width = 15)
    @ApiModelProperty(value = "申请单编号")
    private String num;
    /**类型*/
    @Excel(name = "类型", width = 15, dicCode = "apply_type")
    @Dict(dicCode = "apply_type")
    @ApiModelProperty(value = "类型")
    private String type;
    /**所在单位*/
    @Excel(name = "所在单位", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    @ApiModelProperty(value = "所在单位")
    private String departId;
    /**申请单位联系电话*/
    @Excel(name = "申请单位联系电话", width = 15)
    @ApiModelProperty(value = "申请单位联系电话")
    private String contactNumber;
    /**申请人*/
    @Excel(name = "申请人", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "id")
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id")
    @ApiModelProperty(value = "申请人")
    private String applicant;
    /**审核状态*/
    @Excel(name = "审核状态", width = 15, dicCode = "certificate_apply_status")
    @Dict(dicCode = "certificate_apply_status")
    @ApiModelProperty(value = "审核状态")
    private String auditStatus;
    /**备注*/
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
    /**租户ID*/
    @Excel(name = "租户ID", width = 15)
    @ApiModelProperty(value = "租户ID")
    private String tenantId;
    /**删除标志*/
    @Excel(name = "删除标志", width = 15)
    @ApiModelProperty(value = "删除标志")
    @TableLogic
    private Integer delFlag = CommonConstant.DEL_FLAG_0;
    /**状态*/
    @Excel(name = "状态", width = 15, dicCode = "certificate_status")
    @Dict(dicCode = "certificate_status")
    @ApiModelProperty(value = "状态")
    private String status ;
    /**属性字段1*/
    @Excel(name = "属性字段1", width = 15)
    @ApiModelProperty(value = "属性字段1")
    private String uda1;
    /**属性字段2*/
    @Excel(name = "属性字段2", width = 15)
    @ApiModelProperty(value = "属性字段2")
    private String uda2;
    /**属性字段3*/
    @Excel(name = "属性字段3", width = 15)
    @ApiModelProperty(value = "属性字段3")
    private String uda3;
    /**属性字段4*/
    @Excel(name = "属性字段4", width = 15)
    @ApiModelProperty(value = "属性字段4")
    private String uda4;
    /**属性字段5*/
    @Excel(name = "属性字段5", width = 15)
    @ApiModelProperty(value = "属性字段5")
    private String uda5;
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateApplyDetail.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,103 @@
package org.jeecg.modules.eam.entity;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.base.entity.JeecgEntity;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.UnsupportedEncodingException;
/**
 * @Description: æ“ä½œè¯ç”³è¯·æ˜Žç»†è¡¨
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
@ApiModel(value="mom_eam_operation_certificate_apply_detail对象", description="操作证申请明细表")
@Data
@TableName("mom_eam_operation_certificate_apply_detail")
public class OperationCertificateApplyDetail extends JeecgEntity  implements Serializable {
    private static final long serialVersionUID = 1L;
    /**操作证申请表ID*/
    @ApiModelProperty(value = "操作证申请表ID")
    private String operationCertificateApplyId;
    /**用户ID*/
    @Excel(name = "用户ID", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @ApiModelProperty(value = "用户ID")
    private String userId;
    /**设备ID*/
    @Excel(name = "设备ID", width = 15, dictTable = "mom_eam_equipment", dicText = "num", dicCode = "id ")
    @ApiModelProperty(value = "设备ID")
    private String equipmentIds;
    /**上岗证号*/
    @Excel(name = "上岗证号", width = 15)
    @ApiModelProperty(value = "上岗证号")
    private String appointmentCardNum;
    /**补办原因*/
    @Excel(name = "补办原因", width = 15)
    @ApiModelProperty(value = "补办原因")
    private String replaceReason;
    /**备注*/
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
    /**理论成绩*/
    @Excel(name = "理论成绩", width = 15)
    @ApiModelProperty(value = "理论成绩")
    private Integer theoreticalResults;
    /**实操成绩*/
    @Excel(name = "实操成绩", width = 15)
    @ApiModelProperty(value = "实操成绩")
    private Integer actualPerformance;
    /**考试结论*/
    @Excel(name = "考试结论", width = 15)
    @ApiModelProperty(value = "考试结论")
    @Dict(dicCode="examinationConclusion")
    private String examinationConclusion;
    /**租户ID*/
    @Excel(name = "租户ID", width = 15)
    @ApiModelProperty(value = "租户ID")
    private String tenantId;
    /**删除标志*/
    @Excel(name = "删除标志", width = 15)
    @ApiModelProperty(value = "删除标志")
    @TableLogic
    private Integer delFlag = CommonConstant.DEL_FLAG_0;
    /**状态*/
    @Excel(name = "状态", width = 15)
    @ApiModelProperty(value = "状态")
    private String  status  = CommonConstant.STATUS_1;
    /**属性字段1*/
    @Excel(name = "属性字段1", width = 15)
    @ApiModelProperty(value = "属性字段1")
    private String uda1;
    /**属性字段2*/
    @Excel(name = "属性字段2", width = 15)
    @ApiModelProperty(value = "属性字段2")
    private String uda2;
    /**属性字段3*/
    @Excel(name = "属性字段3", width = 15)
    @ApiModelProperty(value = "属性字段3")
    private String uda3;
    /**属性字段4*/
    @Excel(name = "属性字段4", width = 15)
    @ApiModelProperty(value = "属性字段4")
    private String uda4;
    /**属性字段5*/
    @Excel(name = "属性字段5", width = 15)
    @ApiModelProperty(value = "属性字段5")
    private String uda5;
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateDetail.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,71 @@
package org.jeecg.modules.eam.entity;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.common.system.base.entity.JeecgEntity;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.UnsupportedEncodingException;
/**
 * @Description: æ“ä½œè¯ç®¡ç†æ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
@ApiModel(value="mom_eam_operation_certificate_detail对象", description="操作证管理明细")
@Data
@TableName("mom_eam_operation_certificate_detail")
public class OperationCertificateDetail  extends JeecgEntity  implements Serializable {
    private static final long serialVersionUID = 1L;
    /**证书ID*/
    @ApiModelProperty(value = "证书ID")
    private String operationCertificateId;
    /**类型*/
    @Excel(name = "类型", width = 15)
    @ApiModelProperty(value = "类型")
    private String type;
    /**设备id*/
    @Excel(name = "设备id", width = 15)
    @ApiModelProperty(value = "设备id")
    private String equipmentId;
    /**扣分项*/
    @Excel(name = "扣分项", width = 15)
    @ApiModelProperty(value = "扣分项")
    private String deductionItem;
    /**扣分周期*/
    @Excel(name = "扣分周期", width = 15)
    @ApiModelProperty(value = "扣分周期")
    private String period;
    /**属性字段1*/
    @Excel(name = "属性字段1", width = 15)
    @ApiModelProperty(value = "属性字段1")
    private String uda1;
    /**属性字段2*/
    @Excel(name = "属性字段2", width = 15)
    @ApiModelProperty(value = "属性字段2")
    private String uda2;
    /**属性字段3*/
    @Excel(name = "属性字段3", width = 15)
    @ApiModelProperty(value = "属性字段3")
    private String uda3;
    /**属性字段4*/
    @Excel(name = "属性字段4", width = 15)
    @ApiModelProperty(value = "属性字段4")
    private String uda4;
    /**属性字段5*/
    @Excel(name = "属性字段5", width = 15)
    @ApiModelProperty(value = "属性字段5")
    private String uda5;
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/DeductionItemMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package org.jeecg.modules.eam.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.eam.entity.DeductionItem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: æ“ä½œè®¡åˆ†è§„则
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
public interface DeductionItemMapper extends BaseMapper<DeductionItem> {
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/OperationCertificateApplyDetailMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
package org.jeecg.modules.eam.mapper;
import java.util.List;
import org.jeecg.modules.eam.entity.OperationCertificateApplyDetail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/**
 * @Description: æ“ä½œè¯ç”³è¯·æ˜Žç»†è¡¨
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
public interface OperationCertificateApplyDetailMapper extends BaseMapper<OperationCertificateApplyDetail> {
    /**
     * é€šè¿‡ä¸»è¡¨id删除子表数据
     *
     * @param mainId ä¸»è¡¨id
     * @return boolean
     */
    public boolean deleteByMainId(@Param("mainId") String mainId);
  /**
   * é€šè¿‡ä¸»è¡¨id查询子表数据
   *
   * @param mainId ä¸»è¡¨id
   * @return List<OperationCertificateApplyDetail>
   */
    public List<OperationCertificateApplyDetail> selectByMainId(@Param("mainId") String mainId);
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/OperationCertificateApplyMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package org.jeecg.modules.eam.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.eam.entity.OperationCertificateApply;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: æ“ä½œè¯ç”³è¯·è¡¨
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
public interface OperationCertificateApplyMapper extends BaseMapper<OperationCertificateApply> {
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/OperationCertificateDetailMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
package org.jeecg.modules.eam.mapper;
import java.util.List;
import org.jeecg.modules.eam.entity.OperationCertificateDetail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
/**
 * @Description: æ“ä½œè¯ç®¡ç†æ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
public interface OperationCertificateDetailMapper extends BaseMapper<OperationCertificateDetail> {
    /**
     * é€šè¿‡ä¸»è¡¨id删除子表数据
     *
     * @param mainId ä¸»è¡¨id
     * @return boolean
     */
    public boolean deleteByMainId(@Param("mainId") String mainId);
  /**
   * é€šè¿‡ä¸»è¡¨id查询子表数据
   *
   * @param mainId ä¸»è¡¨id
   * @return List<OperationCertificateDetail>
   */
    public List<OperationCertificateDetail> selectByMainId(@Param("mainId") String mainId);
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/OperationCertificateMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package org.jeecg.modules.eam.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.eam.entity.OperationCertificate;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: æ“ä½œè¯ä¹¦ç®¡ç†
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
public interface OperationCertificateMapper extends BaseMapper<OperationCertificate> {
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DeductionItemMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.eam.mapper.DeductionItemMapper">
</mapper>
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/OperationCertificateApplyDetailMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.eam.mapper.OperationCertificateApplyDetailMapper">
    <delete id="deleteByMainId" parameterType="java.lang.String">
        DELETE
        FROM  mom_eam_operation_certificate_apply_detail
        WHERE
             operation_certificate_apply_id = #{mainId}     </delete>
    <select id="selectByMainId" parameterType="java.lang.String" resultType="org.jeecg.modules.eam.entity.OperationCertificateApplyDetail">
        SELECT *
        FROM  mom_eam_operation_certificate_apply_detail
        WHERE
             operation_certificate_apply_id = #{mainId}     </select>
</mapper>
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/OperationCertificateApplyMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.eam.mapper.OperationCertificateApplyMapper">
</mapper>
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/OperationCertificateDetailMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.eam.mapper.OperationCertificateDetailMapper">
    <delete id="deleteByMainId" parameterType="java.lang.String">
        DELETE
        FROM  mom_eam_operation_certificate_detail
        WHERE
             operation_certificate_id = #{mainId}     </delete>
    <select id="selectByMainId" parameterType="java.lang.String" resultType="org.jeecg.modules.eam.entity.OperationCertificateDetail">
        SELECT *
        FROM  mom_eam_operation_certificate_detail
        WHERE
             operation_certificate_id = #{mainId}     </select>
</mapper>
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/OperationCertificateMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.eam.mapper.OperationCertificateMapper">
</mapper>
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IDeductionItemService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
package org.jeecg.modules.eam.service;
import org.jeecg.modules.eam.entity.DeductionItem;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * @Description: æ“ä½œè®¡åˆ†è§„则
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
public interface IDeductionItemService extends IService<DeductionItem> {
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IOperationCertificateApplyDetailService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
package org.jeecg.modules.eam.service;
import org.jeecg.modules.eam.entity.OperationCertificateApplyDetail;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
 * @Description: æ“ä½œè¯ç”³è¯·æ˜Žç»†è¡¨
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
public interface IOperationCertificateApplyDetailService extends IService<OperationCertificateApplyDetail> {
    /**
     * é€šè¿‡ä¸»è¡¨id查询子表数据
     *
     * @param mainId ä¸»è¡¨id
     * @return List<OperationCertificateApplyDetail>
     */
    public List<OperationCertificateApplyDetail> selectByMainId(String mainId);
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IOperationCertificateApplyService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,48 @@
package org.jeecg.modules.eam.service;
import org.jeecg.modules.eam.entity.OperationCertificateApplyDetail;
import org.jeecg.modules.eam.entity.OperationCertificateApply;
import com.baomidou.mybatisplus.extension.service.IService;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
/**
 * @Description: æ“ä½œè¯ç”³è¯·è¡¨
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
public interface IOperationCertificateApplyService extends IService<OperationCertificateApply> {
    /**
     * æ·»åŠ ä¸€å¯¹å¤š
     *
     * @param operationCertificateApply
     * @param operationCertificateApplyDetailList
     */
    public void saveMain(OperationCertificateApply operationCertificateApply,List<OperationCertificateApplyDetail> operationCertificateApplyDetailList) ;
    /**
     * ä¿®æ”¹ä¸€å¯¹å¤š
     *
   * @param operationCertificateApply
   * @param operationCertificateApplyDetailList
     */
    public void updateMain(OperationCertificateApply operationCertificateApply,List<OperationCertificateApplyDetail> operationCertificateApplyDetailList);
    /**
     * åˆ é™¤ä¸€å¯¹å¤š
     *
     * @param id
     */
    public void delMain (String id);
    /**
     * æ‰¹é‡åˆ é™¤ä¸€å¯¹å¤š
     *
     * @param idList
     */
    public void delBatchMain (Collection<? extends Serializable> idList);
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IOperationCertificateDetailService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,22 @@
package org.jeecg.modules.eam.service;
import org.jeecg.modules.eam.entity.OperationCertificateDetail;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
 * @Description: æ“ä½œè¯ç®¡ç†æ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
public interface IOperationCertificateDetailService extends IService<OperationCertificateDetail> {
    /**
     * é€šè¿‡ä¸»è¡¨id查询子表数据
     *
     * @param mainId ä¸»è¡¨id
     * @return List<OperationCertificateDetail>
     */
    public List<OperationCertificateDetail> selectByMainId(String mainId);
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IOperationCertificateService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,48 @@
package org.jeecg.modules.eam.service;
import org.jeecg.modules.eam.entity.OperationCertificateDetail;
import org.jeecg.modules.eam.entity.OperationCertificate;
import com.baomidou.mybatisplus.extension.service.IService;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
/**
 * @Description: æ“ä½œè¯ä¹¦ç®¡ç†
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
public interface IOperationCertificateService extends IService<OperationCertificate> {
    /**
     * æ·»åŠ ä¸€å¯¹å¤š
     *
     * @param operationCertificate
     * @param operationCertificateDetailList
     */
    public void saveMain(OperationCertificate operationCertificate,List<OperationCertificateDetail> operationCertificateDetailList) ;
    /**
     * ä¿®æ”¹ä¸€å¯¹å¤š
     *
   * @param operationCertificate
   * @param operationCertificateDetailList
     */
    public void updateMain(OperationCertificate operationCertificate,List<OperationCertificateDetail> operationCertificateDetailList);
    /**
     * åˆ é™¤ä¸€å¯¹å¤š
     *
     * @param id
     */
    public void delMain (String id);
    /**
     * æ‰¹é‡åˆ é™¤ä¸€å¯¹å¤š
     *
     * @param idList
     */
    public void delBatchMain (Collection<? extends Serializable> idList);
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/DeductionItemServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package org.jeecg.modules.eam.service.impl;
import org.jeecg.modules.eam.entity.DeductionItem;
import org.jeecg.modules.eam.mapper.DeductionItemMapper;
import org.jeecg.modules.eam.service.IDeductionItemService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
 * @Description: æ“ä½œè®¡åˆ†è§„则
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
@Service
public class DeductionItemServiceImpl extends ServiceImpl<DeductionItemMapper, DeductionItem> implements IDeductionItemService {
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/OperationCertificateApplyDetailServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
package org.jeecg.modules.eam.service.impl;
import org.jeecg.modules.eam.entity.OperationCertificateApplyDetail;
import org.jeecg.modules.eam.mapper.OperationCertificateApplyDetailMapper;
import org.jeecg.modules.eam.service.IOperationCertificateApplyDetailService;
import org.springframework.stereotype.Service;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
/**
 * @Description: æ“ä½œè¯ç”³è¯·æ˜Žç»†è¡¨
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
@Service
public class OperationCertificateApplyDetailServiceImpl extends ServiceImpl<OperationCertificateApplyDetailMapper, OperationCertificateApplyDetail> implements IOperationCertificateApplyDetailService {
    @Autowired
    private OperationCertificateApplyDetailMapper operationCertificateApplyDetailMapper;
    @Override
    public List<OperationCertificateApplyDetail> selectByMainId(String mainId) {
        return operationCertificateApplyDetailMapper.selectByMainId(mainId);
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/OperationCertificateApplyServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,77 @@
package org.jeecg.modules.eam.service.impl;
import org.jeecg.modules.eam.entity.OperationCertificateApply;
import org.jeecg.modules.eam.entity.OperationCertificateApplyDetail;
import org.jeecg.modules.eam.mapper.OperationCertificateApplyDetailMapper;
import org.jeecg.modules.eam.mapper.OperationCertificateApplyMapper;
import org.jeecg.modules.eam.service.IOperationCertificateApplyService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import java.io.Serializable;
import java.util.List;
import java.util.Collection;
/**
 * @Description: æ“ä½œè¯ç”³è¯·è¡¨
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
@Service
public class OperationCertificateApplyServiceImpl extends ServiceImpl<OperationCertificateApplyMapper, OperationCertificateApply> implements IOperationCertificateApplyService {
    @Autowired
    private OperationCertificateApplyMapper operationCertificateApplyMapper;
    @Autowired
    private OperationCertificateApplyDetailMapper operationCertificateApplyDetailMapper;
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void saveMain(OperationCertificateApply operationCertificateApply, List<OperationCertificateApplyDetail> operationCertificateApplyDetailList) {
        operationCertificateApplyMapper.insert(operationCertificateApply);
        if(operationCertificateApplyDetailList!=null && operationCertificateApplyDetailList.size()>0) {
            for(OperationCertificateApplyDetail entity:operationCertificateApplyDetailList) {
                //外键设置
                entity.setOperationCertificateApplyId(operationCertificateApply.getId());
                operationCertificateApplyDetailMapper.insert(entity);
            }
        }
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void updateMain(OperationCertificateApply operationCertificateApply,List<OperationCertificateApplyDetail> operationCertificateApplyDetailList) {
        operationCertificateApplyMapper.updateById(operationCertificateApply);
        //1.先删除子表数据
        operationCertificateApplyDetailMapper.deleteByMainId(operationCertificateApply.getId());
        //2.子表数据重新插入
        if(operationCertificateApplyDetailList!=null && operationCertificateApplyDetailList.size()>0) {
            for(OperationCertificateApplyDetail entity:operationCertificateApplyDetailList) {
                //外键设置
                entity.setOperationCertificateApplyId(operationCertificateApply.getId());
                operationCertificateApplyDetailMapper.insert(entity);
            }
        }
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void delMain(String id) {
        operationCertificateApplyDetailMapper.deleteByMainId(id);
        operationCertificateApplyMapper.deleteById(id);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void delBatchMain(Collection<? extends Serializable> idList) {
        for(Serializable id:idList) {
            operationCertificateApplyDetailMapper.deleteByMainId(id.toString());
            operationCertificateApplyMapper.deleteById(id);
        }
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/OperationCertificateDetailServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
package org.jeecg.modules.eam.service.impl;
import org.jeecg.modules.eam.entity.OperationCertificateDetail;
import org.jeecg.modules.eam.mapper.OperationCertificateDetailMapper;
import org.jeecg.modules.eam.service.IOperationCertificateDetailService;
import org.springframework.stereotype.Service;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
/**
 * @Description: æ“ä½œè¯ç®¡ç†æ˜Žç»†
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
@Service
public class OperationCertificateDetailServiceImpl extends ServiceImpl<OperationCertificateDetailMapper, OperationCertificateDetail> implements IOperationCertificateDetailService {
    @Autowired
    private OperationCertificateDetailMapper operationCertificateDetailMapper;
    @Override
    public List<OperationCertificateDetail> selectByMainId(String mainId) {
        return operationCertificateDetailMapper.selectByMainId(mainId);
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/OperationCertificateServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,77 @@
package org.jeecg.modules.eam.service.impl;
import org.jeecg.modules.eam.entity.OperationCertificate;
import org.jeecg.modules.eam.entity.OperationCertificateDetail;
import org.jeecg.modules.eam.mapper.OperationCertificateDetailMapper;
import org.jeecg.modules.eam.mapper.OperationCertificateMapper;
import org.jeecg.modules.eam.service.IOperationCertificateService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import java.io.Serializable;
import java.util.List;
import java.util.Collection;
/**
 * @Description: æ“ä½œè¯ä¹¦ç®¡ç†
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
@Service
public class OperationCertificateServiceImpl extends ServiceImpl<OperationCertificateMapper, OperationCertificate> implements IOperationCertificateService {
    @Autowired
    private OperationCertificateMapper operationCertificateMapper;
    @Autowired
    private OperationCertificateDetailMapper operationCertificateDetailMapper;
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void saveMain(OperationCertificate operationCertificate, List<OperationCertificateDetail> operationCertificateDetailList) {
        operationCertificateMapper.insert(operationCertificate);
        if(operationCertificateDetailList!=null && operationCertificateDetailList.size()>0) {
            for(OperationCertificateDetail entity:operationCertificateDetailList) {
                //外键设置
                entity.setOperationCertificateId(operationCertificate.getId());
                operationCertificateDetailMapper.insert(entity);
            }
        }
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void updateMain(OperationCertificate operationCertificate,List<OperationCertificateDetail> operationCertificateDetailList) {
        operationCertificateMapper.updateById(operationCertificate);
        //1.先删除子表数据
        operationCertificateDetailMapper.deleteByMainId(operationCertificate.getId());
        //2.子表数据重新插入
        if(operationCertificateDetailList!=null && operationCertificateDetailList.size()>0) {
            for(OperationCertificateDetail entity:operationCertificateDetailList) {
                //外键设置
                entity.setOperationCertificateId(operationCertificate.getId());
                operationCertificateDetailMapper.insert(entity);
            }
        }
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void delMain(String id) {
        operationCertificateDetailMapper.deleteByMainId(id);
        operationCertificateMapper.deleteById(id);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public void delBatchMain(Collection<? extends Serializable> idList) {
        for(Serializable id:idList) {
            operationCertificateDetailMapper.deleteByMainId(id.toString());
            operationCertificateMapper.deleteById(id);
        }
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/OperationCertificateApplyPage.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,117 @@
package org.jeecg.modules.eam.vo;
import java.util.List;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.modules.eam.entity.OperationCertificateApply;
import org.jeecg.modules.eam.entity.OperationCertificateApplyDetail;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelEntity;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
 * @Description: æ“ä½œè¯ç”³è¯·è¡¨
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
@Data
@ApiModel(value="mom_eam_operation_certificate_applyPage对象", description="操作证申请表")
public class OperationCertificateApplyPage {
    /**主键ID*/
    @ApiModelProperty(value = "主键ID")
    private String id;
    /**申请单编号*/
    @Excel(name = "申请单编号", width = 15)
    @ApiModelProperty(value = "申请单编号")
    private String num;
    /**类型*/
    @Excel(name = "类型", width = 15, dicCode = "apply_type")
    @Dict(dicCode = "apply_type")
    @ApiModelProperty(value = "类型")
    private String type;
    /**所在单位*/
    @Excel(name = "所在单位", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    @ApiModelProperty(value = "所在单位")
    private String departId;
    /**申请单位联系电话*/
    @Excel(name = "申请单位联系电话", width = 15)
    @ApiModelProperty(value = "申请单位联系电话")
    private String contactNumber;
    /**申请人*/
    @Excel(name = "申请人", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "id")
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id")
    @ApiModelProperty(value = "申请人")
    private String applicant;
    /**审核状态*/
    @Excel(name = "审核状态", width = 15, dicCode = "certificate_apply_status")
    @Dict(dicCode = "certificate_apply_status")
    @ApiModelProperty(value = "审核状态")
    private String auditStatus;
    /**备注*/
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**租户ID*/
    @Excel(name = "租户ID", width = 15)
    @ApiModelProperty(value = "租户ID")
    private String tenantId;
    /**删除标识*/
    @Excel(name = "删除标识", width = 15)
    @ApiModelProperty(value = "删除标识")
    private Integer delFlag = CommonConstant.DEL_FLAG_0;
    /**状态*/
    @Excel(name = "状态", width = 15)
    @ApiModelProperty(value = "状态")
    private String status ;
    /**属性字段1*/
    @Excel(name = "属性字段1", width = 15)
    @ApiModelProperty(value = "属性字段1")
    private String uda1;
    /**属性字段2*/
    @Excel(name = "属性字段2", width = 15)
    @ApiModelProperty(value = "属性字段2")
    private String uda2;
    /**属性字段3*/
    @Excel(name = "属性字段3", width = 15)
    @ApiModelProperty(value = "属性字段3")
    private String uda3;
    /**属性字段4*/
    @Excel(name = "属性字段4", width = 15)
    @ApiModelProperty(value = "属性字段4")
    private String uda4;
    /**属性字段5*/
    @Excel(name = "属性字段5", width = 15)
    @ApiModelProperty(value = "属性字段5")
    private String uda5;
    @ExcelCollection(name="操作证申请明细表")
    @ApiModelProperty(value = "操作证申请明细表")
    private List<OperationCertificateApplyDetail> operationCertificateApplyDetailList;
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/OperationCertificatePage.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,130 @@
package org.jeecg.modules.eam.vo;
import java.util.List;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.modules.eam.entity.OperationCertificate;
import org.jeecg.modules.eam.entity.OperationCertificateDetail;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelEntity;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
 * @Description: æ“ä½œè¯ä¹¦ç®¡ç†
 * @Author: jeecg-boot
 * @Date:   2023-10-17
 * @Version: V1.0
 */
@Data
@ApiModel(value="mom_eam_operation_certificatePage对象", description="操作证书管理")
public class OperationCertificatePage {
    /**id*/
    @ApiModelProperty(value = "id")
    private String id;
    /**操作证编号*/
    @Excel(name = "操作证编号", width = 15)
    @ApiModelProperty(value = "操作证编号")
    private String num;
    /**用户ID*/
    @Excel(name = "用户ID", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @ApiModelProperty(value = "用户ID")
    private String userId;
    /**发证日期*/
    @Excel(name = "发证日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "发证日期")
    private Date issueDate;
    /**开始时间*/
    @Excel(name = "开始时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "开始时间")
    private Date startTime;
    /**结束时间*/
    @Excel(name = "结束时间", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "结束时间")
    private Date endTime;
    /**当前周期分数*/
    @Excel(name = "当前周期分数", width = 15)
    @ApiModelProperty(value = "当前周期分数")
    private Integer currentCycleScore;
    /**设备ids*/
    @Excel(name = "设备ids", width = 15, dictTable = "mom_eam_equipment", dicText = "num", dicCode = "id")
    @Dict(dictTable = "mom_eam_equipment", dicText = "num", dicCode = "id")
    @ApiModelProperty(value = "设备ids")
    private String equipmentIds;
    /**备注*/
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**租户ID*/
    @Excel(name = "租户ID", width = 15)
    @ApiModelProperty(value = "租户ID")
    private String tenantId;
    /**删除标志*/
    @Excel(name = "删除标志", width = 15)
    @ApiModelProperty(value = "删除标志")
    private Integer delFlag = CommonConstant.DEL_FLAG_0;
    /**状态*/
    @Excel(name = "状态", width = 15, dicCode = "certificate_status")
    @Dict(dicCode = "certificate_status")
    @ApiModelProperty(value = "状态")
    private String status ;
    /**enterpriseId*/
    @Excel(name = "enterpriseId", width = 15)
    @ApiModelProperty(value = "enterpriseId")
    private String enterpriseId;
    /**属性字段1*/
    @Excel(name = "属性字段1", width = 15)
    @ApiModelProperty(value = "属性字段1")
    private String uda1;
    /**属性字段2*/
    @Excel(name = "属性字段2", width = 15)
    @ApiModelProperty(value = "属性字段2")
    private String uda2;
    /**属性字段3*/
    @Excel(name = "属性字段3", width = 15)
    @ApiModelProperty(value = "属性字段3")
    private String uda3;
    /**属性字段4*/
    @Excel(name = "属性字段4", width = 15)
    @ApiModelProperty(value = "属性字段4")
    private String uda4;
    /**属性字段5*/
    @Excel(name = "属性字段5", width = 15)
    @ApiModelProperty(value = "属性字段5")
    private String uda5;
    @ExcelCollection(name="操作证管理明细")
    @ApiModelProperty(value = "操作证管理明细")
    private List<OperationCertificateDetail> operationCertificateDetailList;
}
lxzn-module-system/lxzn-system-start/src/main/resources/application-dev.yml
@@ -133,10 +133,15 @@
      datasource:
        master:
#          url: jdbc:sqlserver://192.168.0.29:1433;databasename=LXZN_TEST_430
          url: jdbc:sqlserver://30036q420j.yicp.fun:11047;databasename=LXZN_TEST_430
#          url: jdbc:sqlserver://30036q420j.yicp.fun:11047;databasename=LXZN_TEST_430
#          url: jdbc:sqlserver://localhost:1433;databasename=LXZN_TEST_430
#          url: jdbc:sqlserver://192.168.0.118:1433;databasename=LXZN_TEST_430
          url: jdbc:sqlserver://192.168.0.118:1433;databasename=EAM_430_TEST
#          url: jdbc:sqlserver://30036q420j.yicp.fun:11047;databasename=EAM_430_TEST
          username: sa
#          password: LXZN@1688
          password: 123
#          password: 123456
          driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
          #url: jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
          #username: root
@@ -179,7 +184,8 @@
  # ç­¾åå¯†é’¥ä¸²(前后端要一致,正式发布请自行修改)
  signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a
  # ç­¾åæ‹¦æˆªæŽ¥å£
  signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys
#  signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys
  signUrls: /sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys
  #local、minio、alioss
  uploadType: local
  # å‰ç«¯è®¿é—®åœ°å€