lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/MajorPartialRepairStatusEnum.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,12 @@ package org.jeecg.modules.eam.constant; import lombok.Data; public enum MajorPartialRepairStatusEnum { PENDING_SUBMISSION,// å¾ æäº¤ PENDING_CONFIRMATION,// å¾ ç¡®è®¤ CONFIRMED,// 已确认 COMPLETED,// 已宿 INVALIDATED// ä½åº } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMajorPartialRepairController.java
@@ -1,31 +1,35 @@ package org.jeecg.modules.eam.controller; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.*; 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 cn.hutool.core.collection.CollectionUtil; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.eam.constant.MajorPartialRepairStatusEnum; import org.jeecg.modules.eam.entity.EamMajorPartialRepair; import org.jeecg.modules.eam.entity.EamMajorPartialRepairDetail; import org.jeecg.modules.eam.request.EamMajorPartialRepairQuery; import org.jeecg.modules.eam.service.IEamMajorPartialRepairService; import java.util.Date; 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.jeecg.common.system.base.controller.JeecgController; 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; @@ -34,17 +38,18 @@ import com.alibaba.fastjson.JSON; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; /** * @Description: 大修项修 * @Description: eam_major_partial_repair * @Author: jeecg-boot * @Date: 2025-05-13 * @Date: 2025-06-20 * @Version: V1.0 */ @Slf4j @Api(tags="大修项修") @Api(tags="eam_major_partial_repair") @RestController @RequestMapping("/eam/eamMajorPartialRepair") @Slf4j public class EamMajorPartialRepairController extends JeecgController<EamMajorPartialRepair, IEamMajorPartialRepairService> { @Autowired private IEamMajorPartialRepairService eamMajorPartialRepairService; @@ -52,79 +57,198 @@ /** * å页å表æ¥è¯¢ * * @param eamMajorPartialRepair * @param query * @param pageNo * @param pageSize * @param req * @return */ @AutoLog(value = "大修项修-å页å表æ¥è¯¢") @ApiOperation(value="大修项修-å页å表æ¥è¯¢", notes="大修项修-å页å表æ¥è¯¢") //@AutoLog(value = "eam_major_partial_repair-å页å表æ¥è¯¢") @ApiOperation(value="eam_major_partial_repair-å页å表æ¥è¯¢", notes="eam_major_partial_repair-å页å表æ¥è¯¢") @GetMapping(value = "/list") public Result<?> queryPageList(EamMajorPartialRepair eamMajorPartialRepair, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { QueryWrapper<EamMajorPartialRepair> queryWrapper = QueryGenerator.initQueryWrapper(eamMajorPartialRepair, req.getParameterMap()); public Result<IPage<EamMajorPartialRepair>> queryPageList(EamMajorPartialRepairQuery query, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { Page<EamMajorPartialRepair> page = new Page<EamMajorPartialRepair>(pageNo, pageSize); IPage<EamMajorPartialRepair> pageList = eamMajorPartialRepairService.page(page, queryWrapper); IPage<EamMajorPartialRepair> pageList = eamMajorPartialRepairService.queryPageList(page, query); return Result.OK(pageList); } /** * æ·»å * æ·»å * * @param eamMajorPartialRepair * @return */ @AutoLog(value = "大修项修-æ·»å ") @ApiOperation(value="大修项修-æ·»å ", notes="大修项修-æ·»å ") @AutoLog(value = "eam_major_partial_repair-æ·»å ") @ApiOperation(value="eam_major_partial_repair-æ·»å ", notes="eam_major_partial_repair-æ·»å ") //@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:add") @PostMapping(value = "/add") public Result<?> add(@RequestBody EamMajorPartialRepair eamMajorPartialRepair) { eamMajorPartialRepairService.save(eamMajorPartialRepair); public Result<String> add(@RequestBody EamMajorPartialRepair eamMajorPartialRepair) { eamMajorPartialRepairService.saveMajorPartialRepair(eamMajorPartialRepair); return Result.OK("æ·»å æåï¼"); } /** * ç¼è¾ * ç¼è¾ * * @param eamMajorPartialRepair * @return */ @AutoLog(value = "大修项修-ç¼è¾") @ApiOperation(value="大修项修-ç¼è¾", notes="大修项修-ç¼è¾") @AutoLog(value = "eam_major_partial_repair-ç¼è¾") @ApiOperation(value="eam_major_partial_repair-ç¼è¾", notes="eam_major_partial_repair-ç¼è¾") //@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:edit") @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) public Result<?> edit(@RequestBody EamMajorPartialRepair eamMajorPartialRepair) { eamMajorPartialRepairService.updateById(eamMajorPartialRepair); public Result<String> edit(@RequestBody EamMajorPartialRepair eamMajorPartialRepair) { eamMajorPartialRepairService.updateMajorPartialRepair(eamMajorPartialRepair); return Result.OK("ç¼è¾æå!"); } @AutoLog(value = "eam_major_partial_repair-æäº¤") @ApiOperation(value="eam_major_partial_repair-æäº¤", notes="eam_major_partial_repair-æäº¤") //@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:submit") @GetMapping(value = "/submit") public Result<String> submit(@RequestParam("id") String id) { EamMajorPartialRepair majorPartialRepair = eamMajorPartialRepairService.getById(id); if (Objects.isNull(majorPartialRepair)) { return Result.error("è¦æäº¤çç»´ä¿®åä¸åå¨ï¼è¯·å·æ°éè¯ï¼"); } if (!MajorPartialRepairStatusEnum.PENDING_SUBMISSION.name().equals(majorPartialRepair.getRepairStatus())) { return Result.error("è¯¥ç¶æçç»´ä¿®åä¸è½æäº¤ï¼"); } majorPartialRepair.setRepairStatus(MajorPartialRepairStatusEnum.PENDING_CONFIRMATION.name()); eamMajorPartialRepairService.updateById(majorPartialRepair); return Result.OK("æäº¤æå!"); } @AutoLog(value = "eam_major_partial_repair-æ¹éæäº¤") @ApiOperation(value="eam_major_partial_repair-æ¹éæäº¤", notes="eam_major_partial_repair-æ¹éæäº¤") //@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:submit") @GetMapping(value = "/submitBatch") public Result<String> submitBatch(@RequestParam(name="ids") String ids) { List<String> idList = Arrays.asList(ids.split(",")); List<EamMajorPartialRepair> submitList = CollectionUtil.newArrayList(); idList.forEach(id -> { EamMajorPartialRepair majorPartialRepair = eamMajorPartialRepairService.getById(id); if (Objects.nonNull(majorPartialRepair) && MajorPartialRepairStatusEnum.PENDING_SUBMISSION.name().equals(majorPartialRepair.getRepairStatus())) { majorPartialRepair.setRepairStatus(MajorPartialRepairStatusEnum.PENDING_CONFIRMATION.name()); submitList.add(majorPartialRepair); } }); eamMajorPartialRepairService.updateBatchById(submitList); return Result.OK("æ¹éæäº¤ " + submitList.size() + " æ¡ç»´ä¿®å!"); } @AutoLog(value = "eam_major_partial_repair-确认") @ApiOperation(value="eam_major_partial_repair-确认", notes="eam_major_partial_repair-确认") //@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:confirm") @GetMapping(value = "/confirm") public Result<String> confirm(@RequestParam("id") String id) { EamMajorPartialRepair majorPartialRepair = eamMajorPartialRepairService.getById(id); if (Objects.isNull(majorPartialRepair)) { return Result.error("è¦ç¡®è®¤çç»´ä¿®åä¸åå¨ï¼è¯·å·æ°éè¯ï¼"); } if (!MajorPartialRepairStatusEnum.PENDING_CONFIRMATION.name().equals(majorPartialRepair.getRepairStatus())) { return Result.error("è¯¥ç¶æçç»´ä¿®åä¸è½ç¡®è®¤ï¼"); } majorPartialRepair.setRepairStatus(MajorPartialRepairStatusEnum.CONFIRMED.name()); majorPartialRepair.setActualStartTime(new Date()); eamMajorPartialRepairService.updateById(majorPartialRepair); return Result.OK("确认æå!"); } @AutoLog(value = "eam_major_partial_repair-æ¹é确认") @ApiOperation(value="eam_major_partial_repair-æ¹é确认", notes="eam_major_partial_repair-æ¹é确认") //@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:confirm") @GetMapping(value = "/confirmBatch") public Result<String> confirmBatch(@RequestParam(name="ids") String ids) { List<String> idList = Arrays.asList(ids.split(",")); List<EamMajorPartialRepair> confirmList = CollectionUtil.newArrayList(); idList.forEach(id -> { EamMajorPartialRepair majorPartialRepair = eamMajorPartialRepairService.getById(id); if (Objects.nonNull(majorPartialRepair) && MajorPartialRepairStatusEnum.PENDING_CONFIRMATION.name().equals(majorPartialRepair.getRepairStatus())) { majorPartialRepair.setRepairStatus(MajorPartialRepairStatusEnum.CONFIRMED.name()); majorPartialRepair.setActualStartTime(new Date()); confirmList.add(majorPartialRepair); } }); eamMajorPartialRepairService.updateBatchById(confirmList); return Result.OK("æ¹é确认 " + confirmList.size() + " æ¡ç»´ä¿®åï¼"); } @AutoLog(value = "eam_major_partial_repair-ä½åº") @ApiOperation(value="eam_major_partial_repair-ä½åº", notes="eam_major_partial_repair-ä½åº") //@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:repeal") @GetMapping(value = "/repeal") public Result<String> repeal(@RequestParam("id") String id) { EamMajorPartialRepair majorPartialRepair = eamMajorPartialRepairService.getById(id); if (Objects.isNull(majorPartialRepair)) { return Result.error("è¦ä½åºçç»´ä¿®åä¸åå¨ï¼è¯·å·æ°éè¯ï¼"); } if (!MajorPartialRepairStatusEnum.CONFIRMED.name().equals(majorPartialRepair.getRepairStatus())) { return Result.error("è¯¥ç¶æçç»´ä¿®åä¸è½ä½åºï¼"); } majorPartialRepair.setRepairStatus(MajorPartialRepairStatusEnum.INVALIDATED.name()); eamMajorPartialRepairService.updateById(majorPartialRepair); return Result.OK("ä½åºæå!"); } @AutoLog(value = "eam_major_partial_repair-æ¹éä½åº") @ApiOperation(value="eam_major_partial_repair-æ¹éä½åº", notes="eam_major_partial_repair-æ¹éä½åº") //@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:repeal") @GetMapping(value = "/repealBatch") public Result<String> repealBatch(@RequestParam(name="ids") String ids) { List<String> idList = Arrays.asList(ids.split(",")); List<EamMajorPartialRepair> repealList = CollectionUtil.newArrayList(); idList.forEach(id -> { EamMajorPartialRepair majorPartialRepair = eamMajorPartialRepairService.getById(id); if (Objects.nonNull(majorPartialRepair) && MajorPartialRepairStatusEnum.PENDING_SUBMISSION.name().equals(majorPartialRepair.getRepairStatus())) { majorPartialRepair.setRepairStatus(MajorPartialRepairStatusEnum.INVALIDATED.name()); repealList.add(majorPartialRepair); } }); eamMajorPartialRepairService.updateBatchById(repealList); return Result.OK("æ¹éä½åº " + repealList.size() + " æ¡ç»´ä¿®åï¼"); } @AutoLog(value = "eam_major_partial_repair-ç»æå¡«æ¥") @ApiOperation(value="eam_major_partial_repair-ç»æå¡«æ¥", notes="eam_major_partial_repair-ç»æå¡«æ¥") //@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:fillResult") @RequestMapping(value = "/fillResult", method = {RequestMethod.PUT,RequestMethod.POST}) public Result<String> fillResult(@RequestBody List<EamMajorPartialRepairDetail> detailList) { eamMajorPartialRepairService.fillResult(detailList); return Result.OK("ç»æå¡«æ¥æå!"); } /** * éè¿idå é¤ * éè¿idå é¤ * * @param id * @return */ @AutoLog(value = "大修项修-éè¿idå é¤") @ApiOperation(value="大修项修-éè¿idå é¤", notes="大修项修-éè¿idå é¤") @AutoLog(value = "eam_major_partial_repair-éè¿idå é¤") @ApiOperation(value="eam_major_partial_repair-éè¿idå é¤", notes="eam_major_partial_repair-éè¿idå é¤") //@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:delete") @DeleteMapping(value = "/delete") public Result<?> delete(@RequestParam(name="id",required=true) String id) { public Result<String> delete(@RequestParam(name="id",required=true) String id) { eamMajorPartialRepairService.removeById(id); return Result.OK("å 餿å!"); } /** * æ¹éå é¤ * æ¹éå é¤ * * @param ids * @return */ @AutoLog(value = "大修项修-æ¹éå é¤") @ApiOperation(value="大修项修-æ¹éå é¤", notes="大修项修-æ¹éå é¤") @AutoLog(value = "eam_major_partial_repair-æ¹éå é¤") @ApiOperation(value="eam_major_partial_repair-æ¹éå é¤", notes="eam_major_partial_repair-æ¹éå é¤") //@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:deleteBatch") @DeleteMapping(value = "/deleteBatch") public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) { public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { this.eamMajorPartialRepairService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("æ¹éå 餿åï¼"); return Result.OK("æ¹éå 餿å!"); } /** @@ -133,35 +257,40 @@ * @param id * @return */ @AutoLog(value = "大修项修-éè¿idæ¥è¯¢") @ApiOperation(value="大修项修-éè¿idæ¥è¯¢", notes="大修项修-éè¿idæ¥è¯¢") //@AutoLog(value = "eam_major_partial_repair-éè¿idæ¥è¯¢") @ApiOperation(value="eam_major_partial_repair-éè¿idæ¥è¯¢", notes="eam_major_partial_repair-éè¿idæ¥è¯¢") @GetMapping(value = "/queryById") public Result<?> queryById(@RequestParam(name="id",required=true) String id) { public Result<EamMajorPartialRepair> queryById(@RequestParam(name="id",required=true) String id) { EamMajorPartialRepair eamMajorPartialRepair = eamMajorPartialRepairService.getById(id); if(eamMajorPartialRepair==null) { return Result.error("æªæ¾å°å¯¹åºæ°æ®"); } return Result.OK(eamMajorPartialRepair); } /** * 导åºexcel * * @param request * @param eamMajorPartialRepair */ @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, EamMajorPartialRepair eamMajorPartialRepair) { return super.exportXls(request, eamMajorPartialRepair, EamMajorPartialRepair.class, "大修项修"); } /** * 导åºexcel * * @param request * @param eamMajorPartialRepair */ //@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, EamMajorPartialRepair eamMajorPartialRepair) { return super.exportXls(request, eamMajorPartialRepair, EamMajorPartialRepair.class, "eam_major_partial_repair"); } /** * éè¿excelå¯¼å ¥æ°æ® * * @param request * @param response * @return */ @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, EamMajorPartialRepair.class); } /** * éè¿excelå¯¼å ¥æ°æ® * * @param request * @param response * @return */ //@RequiresPermissions("eam_major_partial_repair:importExcel") @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, EamMajorPartialRepair.class); } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamMajorPartialRepairDetailController.java
@@ -3,6 +3,7 @@ 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; @@ -10,22 +11,21 @@ import javax.servlet.http.HttpServletResponse; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.eam.entity.EamMajorPartialRepairDetail; import org.jeecg.modules.eam.service.IEamMajorPartialRepairDetailService; import java.util.Date; 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.jeecg.common.system.base.controller.JeecgController; 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; @@ -34,17 +34,18 @@ import com.alibaba.fastjson.JSON; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.jeecg.common.aspect.annotation.AutoLog; /** * @Description: 大修项修æç»è¡¨ * @Description: eam_major_partial_repair_detail * @Author: jeecg-boot * @Date: 2025-05-13 * @Date: 2025-06-20 * @Version: V1.0 */ @Slf4j @Api(tags="大修项修æç»è¡¨") @Api(tags="eam_major_partial_repair_detail") @RestController @RequestMapping("/eam/eamMajorPartialRepairDetail") @Slf4j public class EamMajorPartialRepairDetailController extends JeecgController<EamMajorPartialRepairDetail, IEamMajorPartialRepairDetailService> { @Autowired private IEamMajorPartialRepairDetailService eamMajorPartialRepairDetailService; @@ -58,10 +59,10 @@ * @param req * @return */ @AutoLog(value = "大修项修æç»è¡¨-å页å表æ¥è¯¢") @ApiOperation(value="大修项修æç»è¡¨-å页å表æ¥è¯¢", notes="大修项修æç»è¡¨-å页å表æ¥è¯¢") //@AutoLog(value = "eam_major_partial_repair_detail-å页å表æ¥è¯¢") @ApiOperation(value="eam_major_partial_repair_detail-å页å表æ¥è¯¢", notes="eam_major_partial_repair_detail-å页å表æ¥è¯¢") @GetMapping(value = "/list") public Result<?> queryPageList(EamMajorPartialRepairDetail eamMajorPartialRepairDetail, public Result<IPage<EamMajorPartialRepairDetail>> queryPageList(EamMajorPartialRepairDetail eamMajorPartialRepairDetail, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { @@ -72,59 +73,63 @@ } /** * æ·»å * æ·»å * * @param eamMajorPartialRepairDetail * @return */ @AutoLog(value = "大修项修æç»è¡¨-æ·»å ") @ApiOperation(value="大修项修æç»è¡¨-æ·»å ", notes="大修项修æç»è¡¨-æ·»å ") @AutoLog(value = "eam_major_partial_repair_detail-æ·»å ") @ApiOperation(value="eam_major_partial_repair_detail-æ·»å ", notes="eam_major_partial_repair_detail-æ·»å ") //@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair_detail:add") @PostMapping(value = "/add") public Result<?> add(@RequestBody EamMajorPartialRepairDetail eamMajorPartialRepairDetail) { public Result<String> add(@RequestBody EamMajorPartialRepairDetail eamMajorPartialRepairDetail) { eamMajorPartialRepairDetailService.save(eamMajorPartialRepairDetail); return Result.OK("æ·»å æåï¼"); } /** * ç¼è¾ * ç¼è¾ * * @param eamMajorPartialRepairDetail * @return */ @AutoLog(value = "大修项修æç»è¡¨-ç¼è¾") @ApiOperation(value="大修项修æç»è¡¨-ç¼è¾", notes="大修项修æç»è¡¨-ç¼è¾") @AutoLog(value = "eam_major_partial_repair_detail-ç¼è¾") @ApiOperation(value="eam_major_partial_repair_detail-ç¼è¾", notes="eam_major_partial_repair_detail-ç¼è¾") //@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair_detail:edit") @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) public Result<?> edit(@RequestBody EamMajorPartialRepairDetail eamMajorPartialRepairDetail) { public Result<String> edit(@RequestBody EamMajorPartialRepairDetail eamMajorPartialRepairDetail) { eamMajorPartialRepairDetailService.updateById(eamMajorPartialRepairDetail); return Result.OK("ç¼è¾æå!"); } /** * éè¿idå é¤ * éè¿idå é¤ * * @param id * @return */ @AutoLog(value = "大修项修æç»è¡¨-éè¿idå é¤") @ApiOperation(value="大修项修æç»è¡¨-éè¿idå é¤", notes="大修项修æç»è¡¨-éè¿idå é¤") @AutoLog(value = "eam_major_partial_repair_detail-éè¿idå é¤") @ApiOperation(value="eam_major_partial_repair_detail-éè¿idå é¤", notes="eam_major_partial_repair_detail-éè¿idå é¤") //@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair_detail:delete") @DeleteMapping(value = "/delete") public Result<?> delete(@RequestParam(name="id",required=true) String id) { public Result<String> delete(@RequestParam(name="id",required=true) String id) { eamMajorPartialRepairDetailService.removeById(id); return Result.OK("å 餿å!"); } /** * æ¹éå é¤ * æ¹éå é¤ * * @param ids * @return */ @AutoLog(value = "大修项修æç»è¡¨-æ¹éå é¤") @ApiOperation(value="大修项修æç»è¡¨-æ¹éå é¤", notes="大修项修æç»è¡¨-æ¹éå é¤") @AutoLog(value = "eam_major_partial_repair_detail-æ¹éå é¤") @ApiOperation(value="eam_major_partial_repair_detail-æ¹éå é¤", notes="eam_major_partial_repair_detail-æ¹éå é¤") //@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair_detail:deleteBatch") @DeleteMapping(value = "/deleteBatch") public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) { public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { this.eamMajorPartialRepairDetailService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("æ¹éå 餿åï¼"); return Result.OK("æ¹éå 餿å!"); } /** @@ -133,35 +138,40 @@ * @param id * @return */ @AutoLog(value = "大修项修æç»è¡¨-éè¿idæ¥è¯¢") @ApiOperation(value="大修项修æç»è¡¨-éè¿idæ¥è¯¢", notes="大修项修æç»è¡¨-éè¿idæ¥è¯¢") //@AutoLog(value = "eam_major_partial_repair_detail-éè¿idæ¥è¯¢") @ApiOperation(value="eam_major_partial_repair_detail-éè¿idæ¥è¯¢", notes="eam_major_partial_repair_detail-éè¿idæ¥è¯¢") @GetMapping(value = "/queryById") public Result<?> queryById(@RequestParam(name="id",required=true) String id) { public Result<EamMajorPartialRepairDetail> queryById(@RequestParam(name="id",required=true) String id) { EamMajorPartialRepairDetail eamMajorPartialRepairDetail = eamMajorPartialRepairDetailService.getById(id); if(eamMajorPartialRepairDetail==null) { return Result.error("æªæ¾å°å¯¹åºæ°æ®"); } return Result.OK(eamMajorPartialRepairDetail); } /** * 导åºexcel * * @param request * @param eamMajorPartialRepairDetail */ @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, EamMajorPartialRepairDetail eamMajorPartialRepairDetail) { return super.exportXls(request, eamMajorPartialRepairDetail, EamMajorPartialRepairDetail.class, "大修项修æç»è¡¨"); } /** * 导åºexcel * * @param request * @param eamMajorPartialRepairDetail */ //@RequiresPermissions("org.jeecg.modules:eam_major_partial_repair_detail:exportXls") @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, EamMajorPartialRepairDetail eamMajorPartialRepairDetail) { return super.exportXls(request, eamMajorPartialRepairDetail, EamMajorPartialRepairDetail.class, "eam_major_partial_repair_detail"); } /** * éè¿excelå¯¼å ¥æ°æ® * * @param request * @param response * @return */ @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, EamMajorPartialRepairDetail.class); } /** * éè¿excelå¯¼å ¥æ°æ® * * @param request * @param response * @return */ //@RequiresPermissions("eam_major_partial_repair_detail:importExcel") @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, EamMajorPartialRepairDetail.class); } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMajorPartialRepair.java
@@ -1,106 +1,135 @@ package org.jeecg.modules.eam.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.util.Date; import java.math.BigDecimal; import java.util.List; import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; 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.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import org.jeecgframework.poi.excel.annotation.Excel; import java.io.Serializable; import java.util.Date; /** * @Description: 大修项修 * @Description: eam_major_partial_repair * @Author: jeecg-boot * @Date: 2025-05-13 * @Date: 2025-06-20 * @Version: V1.0 */ @Data @TableName("eam_major_partial_repair") @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @ApiModel(value="eam_major_partial_repair对象", description="大修项修") @EqualsAndHashCode(callSuper = false) @ApiModel(value="eam_major_partial_repair对象", description="eam_major_partial_repair") public class EamMajorPartialRepair implements Serializable { private static final long serialVersionUID = 1L; /**主é®*/ @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "主é®") private String id; /**å建人*/ @Excel(name = "å建人", width = 15) @ApiModelProperty(value = "å建人") private String createBy; /**å建æ¶é´*/ @ApiModelProperty(value = "å建æ¶é´") private Date createTime; /**æ´æ°äºº*/ @Excel(name = "æ´æ°äºº", width = 15) @ApiModelProperty(value = "æ´æ°äºº") private String updateBy; /**æ´æ°æ¶é´*/ @ApiModelProperty(value = "æ´æ°æ¶é´") private Date updateTime; /**å 餿 è®°*/ @Excel(name = "å 餿 è®°", width = 15) @ApiModelProperty(value = "å 餿 è®°") private Integer delFlag; /**设å¤ID*/ @Excel(name = "设å¤ID", width = 15) @ApiModelProperty(value = "设å¤ID") private String equipmentId; /**维修类å*/ @Excel(name = "维修类å", width = 15) @ApiModelProperty(value = "维修类å") private String repairType; /**计åå¼å§æ¶é´*/ @ApiModelProperty(value = "计åå¼å§æ¶é´") private Date planStartTime; /**计åç»ææ¶é´*/ @ApiModelProperty(value = "计åç»ææ¶é´") private Date planEndTime; private String id; /**ç»´ä¿®ç¼ç */ @Excel(name = "ç»´ä¿®ç¼ç ", width = 15) @Excel(name = "ç»´ä¿®ç¼ç ", width = 20) @ApiModelProperty(value = "ç»´ä¿®ç¼ç ") private String repairCode; /**ç»´ä¿®åç§°*/ @Excel(name = "ç»´ä¿®åç§°", width = 15) @ApiModelProperty(value = "ç»´ä¿®åç§°") private String repairName; private String repairCode; /**项ç®åç§°*/ @Excel(name = "项ç®åç§°", width = 20) @ApiModelProperty(value = "项ç®åç§°") private String repairName; /**ç»´ä¿®ç¶æ*/ @Excel(name = "ç»´ä¿®ç¶æ", width = 15) @ApiModelProperty(value = "ç»´ä¿®ç¶æ") private String repairStatus; @Dict(dicCode = "major_partial_repair_status") private String repairStatus; /**维修类å*/ @Excel(name = "维修类å", width = 15) @ApiModelProperty(value = "维修类å") private String repairType; /**ç³è¯·äºº*/ @Excel(name = "ç³è¯·äºº", width = 15) @ApiModelProperty(value = "ç³è¯·äºº") @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") private String applicant; /**ç³è¯·è½¦é´*/ @Excel(name = "ç³è¯·è½¦é´", width = 15) @ApiModelProperty(value = "ç³è¯·è½¦é´") @Dict(dictTable = "mdc_production", dicText = "production_name", dicCode = "id") private String applicantProduction; /**计åå¼å§æ¥æ*/ @Excel(name = "计åå¼å§æ¥æ", width = 20, format = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "计åå¼å§æ¥æ") private Date planStartDate; /**计åç»ææ¥æ*/ @Excel(name = "计åç»ææ¥æ", width = 20, format = "yyyy/MM/dd") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "计åç»ææ¥æ") private Date planEndDate; /**å®é å¼å§æ¶é´*/ @Excel(name = "å®é å¼å§æ¶é´", width = 20, format = "yyyy/MM/dd HH") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH") @DateTimeFormat(pattern="yyyy-MM-dd HH") @ApiModelProperty(value = "å®é å¼å§æ¶é´") private Date actualStartTime; private Date actualStartTime; /**å®é ç»ææ¶é´*/ @Excel(name = "å®é ç»ææ¶é´", width = 20, format = "yyyy/MM/dd HH") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH") @DateTimeFormat(pattern="yyyy-MM-dd HH") @ApiModelProperty(value = "å®é ç»ææ¶é´") private Date actualEndTime; private Date actualEndTime; /**æ»éé¢*/ @Excel(name = "æ»éé¢", width = 15) @ApiModelProperty(value = "æ»éé¢") private java.math.BigDecimal totalAmount; /**éä»¶*/ @Excel(name = "éä»¶", width = 15) @ApiModelProperty(value = "éä»¶") private String attachment; /**ç»´ä¿®æè¿°*/ @Excel(name = "ç»´ä¿®æè¿°", width = 15) @ApiModelProperty(value = "ç»´ä¿®æè¿°") private String repairDescription; /**ç»´ä¿®æ¹å¼*/ @Excel(name = "ç»´ä¿®æ¹å¼", width = 15) @ApiModelProperty(value = "ç»´ä¿®æ¹å¼") private String repairMethod; /**å§å¤å ¬å¸*/ @Excel(name = "å§å¤å ¬å¸", width = 15) @ApiModelProperty(value = "å§å¤å ¬å¸") private String outsourcedCompany; private BigDecimal totalAmount; /**æ éæè¿°*/ @Excel(name = "æ éæè¿°", width = 50) @ApiModelProperty(value = "æ éæè¿°") private String faultDescription; /**ç³è¯·åå */ @Excel(name = "ç³è¯·åå ", width = 15) @ApiModelProperty(value = "ç³è¯·åå ") private String applicantReason; /**责任人*/ @Excel(name = "责任人", width = 15) @ApiModelProperty(value = "责任人") private String responsiblePerson; @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") private String responsiblePerson; /**夿³¨*/ @Excel(name = "夿³¨", width = 50) @ApiModelProperty(value = "夿³¨") private String remark; /**å建人*/ @ApiModelProperty(value = "å建人") private String createBy; /**å建æ¶é´*/ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "å建æ¶é´") private Date createTime; /**æ´æ°äºº*/ @ApiModelProperty(value = "æ´æ°äºº") private String updateBy; /**æ´æ°æ¶é´*/ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "æ´æ°æ¶é´") private Date updateTime; /**å 餿 è®°*/ @Excel(name = "å 餿 è®°", width = 15) @ApiModelProperty(value = "å 餿 è®°") @TableLogic private Integer delFlag; @TableField(exist = false) @ApiModelProperty(value = "ç»´ä¿®æç»ä¿¡æ¯") private List<EamMajorPartialRepairDetail> eamMajorPartialRepairDetailList; } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMajorPartialRepairDetail.java
@@ -1,62 +1,76 @@ 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.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.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import org.jeecgframework.poi.excel.annotation.Excel; import java.io.Serializable; import java.util.Date; /** * @Description: 大修项修æç»è¡¨ * @Description: eam_major_partial_repair_detail * @Author: jeecg-boot * @Date: 2025-05-13 * @Date: 2025-06-20 * @Version: V1.0 */ @Data @TableName("eam_major_partial_repair_detail") @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @ApiModel(value="eam_major_partial_repair_detail对象", description="大修项修æç»è¡¨") @EqualsAndHashCode(callSuper = false) @ApiModel(value="eam_major_partial_repair_detail对象", description="eam_major_partial_repair_detail") public class EamMajorPartialRepairDetail implements Serializable { private static final long serialVersionUID = 1L; /**主é®*/ @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "主é®") private String id; /**å建人*/ @Excel(name = "å建人", width = 15) @ApiModelProperty(value = "å建人") private String createBy; /**å建æ¶é´*/ @ApiModelProperty(value = "å建æ¶é´") private Date createTime; /**æ´æ°äºº*/ @Excel(name = "æ´æ°äºº", width = 15) @ApiModelProperty(value = "æ´æ°äºº") private String updateBy; /**æ´æ°æ¶é´*/ @ApiModelProperty(value = "æ´æ°æ¶é´") private Date updateTime; /**å 餿 è®°*/ @Excel(name = "å 餿 è®°", width = 15) @ApiModelProperty(value = "å 餿 è®°") private Integer delFlag; /**ç´§æ¥ç¨åº¦*/ @Excel(name = "ç´§æ¥ç¨åº¦", width = 15) @ApiModelProperty(value = "ç´§æ¥ç¨åº¦") private String emergencyDegree; private String id; /**ç»´ä¿®ID*/ @Excel(name = "ç»´ä¿®ID", width = 15) @ApiModelProperty(value = "ç»´ä¿®ID") private String repairId; /**设å¤ID*/ @Excel(name = "设å¤ID", width = 15) @ApiModelProperty(value = "设å¤ID") @Dict(dictTable = "eam_equipment", dicText = "equipment_name", dicCode = "id") private String equipmentId; /**åä»·*/ @Excel(name = "åä»·", width = 15) @ApiModelProperty(value = "åä»·") private BigDecimal unitPrice; /**ç»´ä¿®ç»æ*/ @Excel(name = "ç»´ä¿®ç»æ", width = 15) @ApiModelProperty(value = "ç»´ä¿®ç»æ") private String repairResult; private String repairResult; /**ç»´ä¿®æè¿°*/ @Excel(name = "ç»´ä¿®æè¿°", width = 15) @ApiModelProperty(value = "ç»´ä¿®æè¿°") private String repairDescription; private String repairDescription; /**å建人*/ @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; } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMajorPartialRepairDetailMapper.java
@@ -7,9 +7,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * @Description: 大修项修æç»è¡¨ * @Description: eam_major_partial_repair_detail * @Author: jeecg-boot * @Date: 2025-05-13 * @Date: 2025-06-20 * @Version: V1.0 */ public interface EamMajorPartialRepairDetailMapper extends BaseMapper<EamMajorPartialRepairDetail> { lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamMajorPartialRepairMapper.java
@@ -2,16 +2,23 @@ import java.util.List; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import org.jeecg.modules.eam.entity.EamMajorPartialRepair; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** * @Description: 大修项修 * @Description: eam_major_partial_repair * @Author: jeecg-boot * @Date: 2025-05-13 * @Date: 2025-06-20 * @Version: V1.0 */ public interface EamMajorPartialRepairMapper extends BaseMapper<EamMajorPartialRepair> { IPage<EamMajorPartialRepair> queryPageList(Page<EamMajorPartialRepair> page, @Param(Constants.WRAPPER) Wrapper<EamMajorPartialRepair> queryWrapper); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMajorPartialRepairMapper.xml
@@ -2,4 +2,10 @@ <!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.EamMajorPartialRepairMapper"> <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamMajorPartialRepair"> select t.* from eam_major_partial_repair t ${ew.customSqlSegment} </select> </mapper> lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamMajorPartialRepairQuery.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,30 @@ package org.jeecg.modules.eam.request; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @Data public class EamMajorPartialRepairQuery { /**ç»´ä¿®ç¼ç */ private String repairCode; /**项ç®åç§°*/ private String repairName; /**ç»´ä¿®ç¶æ*/ private String repairStatus; /**维修类å*/ private String repairType; /**计åå¼å§æ¥æ*/ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") private Date planStartDate; /**计åç»ææ¥æ*/ @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") @DateTimeFormat(pattern="yyyy-MM-dd") private Date planEndDate; private String column; private String order; } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMajorPartialRepairDetailService.java
@@ -4,9 +4,9 @@ import com.baomidou.mybatisplus.extension.service.IService; /** * @Description: 大修项修æç»è¡¨ * @Description: eam_major_partial_repair_detail * @Author: jeecg-boot * @Date: 2025-05-13 * @Date: 2025-06-20 * @Version: V1.0 */ public interface IEamMajorPartialRepairDetailService extends IService<EamMajorPartialRepairDetail> { lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamMajorPartialRepairService.java
@@ -1,14 +1,27 @@ package org.jeecg.modules.eam.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.jeecg.modules.eam.entity.EamMajorPartialRepair; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.eam.entity.EamMajorPartialRepairDetail; import org.jeecg.modules.eam.request.EamMajorPartialRepairQuery; import java.util.List; /** * @Description: 大修项修 * @Description: eam_major_partial_repair * @Author: jeecg-boot * @Date: 2025-05-13 * @Date: 2025-06-20 * @Version: V1.0 */ public interface IEamMajorPartialRepairService extends IService<EamMajorPartialRepair> { void saveMajorPartialRepair(EamMajorPartialRepair eamMajorPartialRepair); void fillResult(List<EamMajorPartialRepairDetail> detailList); void updateMajorPartialRepair(EamMajorPartialRepair eamMajorPartialRepair); IPage<EamMajorPartialRepair> queryPageList(Page<EamMajorPartialRepair> page, EamMajorPartialRepairQuery query); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMajorPartialRepairDetailServiceImpl.java
@@ -8,9 +8,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; /** * @Description: 大修项修æç»è¡¨ * @Description: eam_major_partial_repair_detail * @Author: jeecg-boot * @Date: 2025-05-13 * @Date: 2025-06-20 * @Version: V1.0 */ @Service lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamMajorPartialRepairServiceImpl.java
@@ -1,19 +1,135 @@ package org.jeecg.modules.eam.service.impl; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.lang3.StringUtils; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.DataBaseConstant; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.eam.constant.MajorPartialRepairStatusEnum; import org.jeecg.modules.eam.entity.EamMajorPartialRepair; import org.jeecg.modules.eam.entity.EamMajorPartialRepairDetail; import org.jeecg.modules.eam.mapper.EamMajorPartialRepairMapper; import org.jeecg.modules.eam.request.EamMajorPartialRepairQuery; import org.jeecg.modules.eam.service.IEamMajorPartialRepairDetailService; import org.jeecg.modules.eam.service.IEamMajorPartialRepairService; import org.jeecg.modules.system.service.ISysBusinessCodeRuleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.Objects; import java.util.Optional; import java.util.stream.Collectors; /** * @Description: 大修项修 * @Description: eam_major_partial_repair * @Author: jeecg-boot * @Date: 2025-05-13 * @Date: 2025-06-20 * @Version: V1.0 */ @Service public class EamMajorPartialRepairServiceImpl extends ServiceImpl<EamMajorPartialRepairMapper, EamMajorPartialRepair> implements IEamMajorPartialRepairService { @Autowired private ISysBusinessCodeRuleService sysBusinessCodeRuleService; @Autowired private IEamMajorPartialRepairDetailService eamMajorPartialRepairDetailService; @Override @Transactional(rollbackFor = Exception.class) public void saveMajorPartialRepair(EamMajorPartialRepair eamMajorPartialRepair) { BigDecimal totalPrice = eamMajorPartialRepair.getEamMajorPartialRepairDetailList().stream() .map(EamMajorPartialRepairDetail::getUnitPrice).reduce(BigDecimal::add).orElse(BigDecimal.ZERO); eamMajorPartialRepair.setRepairCode(sysBusinessCodeRuleService.generateBusinessCodeSeq("MajorPartialRepairRule")); eamMajorPartialRepair.setTotalAmount(totalPrice); eamMajorPartialRepair.setRepairStatus(MajorPartialRepairStatusEnum.PENDING_SUBMISSION.name()); eamMajorPartialRepair.setDelFlag(CommonConstant.DEL_FLAG_0); save(eamMajorPartialRepair); eamMajorPartialRepair.getEamMajorPartialRepairDetailList().forEach(eamMajorPartialRepairDetail -> { eamMajorPartialRepairDetail.setRepairId(eamMajorPartialRepair.getId()); }); eamMajorPartialRepairDetailService.saveBatch(eamMajorPartialRepair.getEamMajorPartialRepairDetailList()); } @Override @Transactional(rollbackFor = Exception.class) public void updateMajorPartialRepair(EamMajorPartialRepair eamMajorPartialRepair) { eamMajorPartialRepairDetailService.remove(new LambdaQueryWrapper<EamMajorPartialRepairDetail>() .eq(EamMajorPartialRepairDetail::getRepairId, eamMajorPartialRepair.getId())); BigDecimal totalPrice = eamMajorPartialRepair.getEamMajorPartialRepairDetailList().stream() .map(EamMajorPartialRepairDetail::getUnitPrice).reduce(BigDecimal::add).orElse(BigDecimal.ZERO); eamMajorPartialRepair.setTotalAmount(totalPrice); updateById(eamMajorPartialRepair); eamMajorPartialRepair.getEamMajorPartialRepairDetailList().forEach(eamMajorPartialRepairDetail -> { eamMajorPartialRepairDetail.setRepairId(eamMajorPartialRepair.getId()); }); eamMajorPartialRepairDetailService.saveBatch(eamMajorPartialRepair.getEamMajorPartialRepairDetailList()); } @Override public IPage<EamMajorPartialRepair> queryPageList(Page<EamMajorPartialRepair> page, EamMajorPartialRepairQuery query) { QueryWrapper<EamMajorPartialRepair> queryWrapper = Wrappers.query(); if (Objects.nonNull(query)) { if (StringUtils.isNotBlank(query.getRepairCode())) { queryWrapper.like("t.repair_code", query.getRepairCode()); } if (StringUtils.isNotBlank(query.getRepairName())) { queryWrapper.like("t.repair_name", query.getRepairName()); } if (StringUtils.isNotBlank(query.getRepairStatus())) { queryWrapper.eq("t.repair_status", query.getRepairStatus()); } if (StringUtils.isNotBlank(query.getRepairType())) { queryWrapper.like("t.repair_type", query.getRepairType()); } if (query.getPlanStartDate() != null && query.getPlanEndDate() != null) { queryWrapper.between("t.plan_start_date", query.getPlanStartDate(), query.getPlanEndDate()); } //æåº if (StringUtils.isNotBlank(query.getColumn()) && StringUtils.isNotBlank(query.getOrder())) { String column = query.getColumn(); if (column.endsWith(CommonConstant.DICT_TEXT_SUFFIX)) { column = column.substring(0, column.lastIndexOf(CommonConstant.DICT_TEXT_SUFFIX)); } if (DataBaseConstant.SQL_ASC.equalsIgnoreCase(query.getOrder())) { queryWrapper.orderByAsc("t." + oConvertUtils.camelToUnderline(column)); } else { queryWrapper.orderByDesc("t." + oConvertUtils.camelToUnderline(column)); } } else { queryWrapper.orderByDesc("t.create_time"); } } return this.baseMapper.queryPageList(page, queryWrapper); } @Override @Transactional(rollbackFor = Exception.class) public void fillResult(List<EamMajorPartialRepairDetail> detailList) { List<EamMajorPartialRepairDetail> result = CollectionUtil.newArrayList(); detailList.forEach(eamMajorPartialRepairDetail -> { EamMajorPartialRepairDetail detail = new EamMajorPartialRepairDetail(); detail.setId(eamMajorPartialRepairDetail.getId()); detail.setRepairResult(eamMajorPartialRepairDetail.getRepairResult()); detail.setRepairDescription(eamMajorPartialRepairDetail.getRepairDescription()); result.add(detail); }); eamMajorPartialRepairDetailService.updateBatchById(result); String repairId = detailList.get(0).getRepairId(); EamMajorPartialRepair majorPartialRepair = getById(repairId); majorPartialRepair.setRepairStatus(MajorPartialRepairStatusEnum.COMPLETED.name()); majorPartialRepair.setActualEndTime(new Date()); updateById(majorPartialRepair); } } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/LogTable.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,39 @@ package org.jeecg.modules.mdc.entity; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import java.io.Serializable; import java.util.Date; /** * @author Lius * @date 2024/12/18 14:19 */ @Data @TableName("log_table") @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @ApiModel(value = "log_table对象", description = "sqlè®°å½è¡¨") public class LogTable implements Serializable { private static final long serialVersionUID = 953864495681756550L; /** * æä½ç±»åï¼INSERT / UPDATE / DELETEï¼ */ private String action; /** * å建æ¶é´ */ private Date createTime; /** * sqlè®°å½ */ private String sqlLog; } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/job/ImportXmlToDataJob.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,62 @@ package org.jeecg.modules.mdc.job; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.util.DateUtils; import org.jeecg.modules.mdc.service.ILogTableService; import org.jeecg.modules.mdc.util.ThrowableUtil; import org.jeecg.modules.quartz.entity.QuartzJob; import org.jeecg.modules.quartz.entity.SysQuartzLog; import org.jeecg.modules.quartz.service.IQuartzJobService; import org.jeecg.modules.quartz.service.ISysQuartzLogService; import org.jeecg.modules.system.service.ISysAnnouncementService; import org.quartz.Job; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import javax.annotation.Resource; import java.util.Date; import java.util.List; /** * @author Lius * @date 2024/12/19 16:43 */ @Slf4j public class ImportXmlToDataJob implements Job { @Resource private ISysQuartzLogService sysQuartzLogService; @Resource private IQuartzJobService quartzJobService; @Resource private ISysAnnouncementService sysAnnouncementService; @Resource private ILogTableService logTableService; @Override public void execute(JobExecutionContext context) throws JobExecutionException { SysQuartzLog quartzLog = new SysQuartzLog(); quartzLog.setCreateTime(new Date()); List<QuartzJob> byJobClassName = this.quartzJobService.findByJobClassName(this.getClass().getName()); if (byJobClassName != null && !byJobClassName.isEmpty()) { quartzLog.setJobId(byJobClassName.get(0).getId()); } log.info("宿¶å¯¼å ¥sqlæ°æ®ä»»å¡ ImportXmlToDataJob start! æ¶é´:" + DateUtils.now()); long startTime = System.currentTimeMillis(); try { logTableService.importXmlToData(); quartzLog.setIsSuccess(0); } catch (Exception e) { quartzLog.setIsSuccess(-1); quartzLog.setExceptionDetail(ThrowableUtil.getStackTrace(e)); // åéæ¶æ¯éç¥ sysAnnouncementService.jobSendMessage("宿¶å¯¼å ¥sqlæ°æ®ä»»å¡", quartzLog.getExceptionDetail()); } long endTime = System.currentTimeMillis(); quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime))); sysQuartzLogService.save(quartzLog); } } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/LogTableMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,11 @@ package org.jeecg.modules.mdc.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.jeecg.modules.mdc.entity.LogTable; /** * @author Lius * @date 2024/12/18 14:24 */ public interface LogTableMapper extends BaseMapper<LogTable> { } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/LogTableMapper.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.mdc.mapper.LogTableMapper"> </mapper> lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/ILogTableService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ package org.jeecg.modules.mdc.service; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.mdc.entity.LogTable; /** * @author Lius * @date 2024/12/18 14:29 */ public interface ILogTableService extends IService<LogTable> { /** * å¯¼å ¥åæ¥æ°æ®sqlæ§è¡å°æ°æ®åº */ void importXmlToData(); } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/LogTableServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,80 @@ package org.jeecg.modules.mdc.service.impl; import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.file.FileReader; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.modules.mdc.entity.LogTable; import org.jeecg.modules.mdc.mapper.LogTableMapper; import org.jeecg.modules.mdc.service.ILogTableService; import org.jeecg.modules.mdc.util.SqlExecutor; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.File; import java.util.ArrayList; import java.util.List; /** * @author Lius * @date 2024/12/18 14:29 */ @Service @Slf4j public class LogTableServiceImpl extends ServiceImpl<LogTableMapper, LogTable> implements ILogTableService { @Value("${fileService.localFilePath}") private String localFilePath; @Value("${fileService.newFilePath}") private String newFilePath; @Value("${fileService.failedLocFilePath}") private String failedLocFilePath; @Resource private SqlExecutor sqlExecutor; /** * å¯¼å ¥åæ¥æ°æ®sqlæ§è¡å°æ°æ®åº */ @Override @Transactional(rollbackFor = Exception.class) public void importXmlToData() { File[] files = FileUtil.ls(localFilePath); List<String> failedSqlList = new ArrayList<>(); // ç¨äºå卿§è¡å¤±è´¥ç SQL for (File file : files) { if (file.isFile()) { String loFilePath = localFilePath + file.getName(); FileReader fileReader = new FileReader(loFilePath); List<String> sqlList = fileReader.readLines(); log.info("æå读åå°{}æ¡sql,æ§è¡æä½", sqlList.size()); for (String sql : sqlList) { try { sqlExecutor.execute(sql); } catch (Exception e) { failedSqlList.add(sql); } } if (!failedSqlList.isEmpty()) { try { FileUtil.appendLines(failedSqlList, failedLocFilePath, "UTF-8"); } catch (Exception e) { throw new JeecgBootException("æ°æ®åå ¥æä»¶å¤±è´¥ï¼"); } } if (Integer.parseInt(file.getName().substring(file.getName().length() - 10, file.getName().length() - 4)) == 1) { // å é¤å岿件 FileUtil.clean(newFilePath); } // å¤ä»½ FileUtil.move(new File(loFilePath), new File(newFilePath + file.getName()), true); } } } } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/util/SqlExecutor.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,29 @@ package org.jeecg.modules.mdc.util; import org.apache.ibatis.jdbc.SqlRunner; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.springframework.stereotype.Component; import javax.annotation.Resource; /** * @author Lius * @date 2025/1/3 13:26 */ @Component public class SqlExecutor { @Resource private SqlSessionFactory sqlSessionFactory; public void execute(String sql) { try (SqlSession sqlSession = sqlSessionFactory.openSession(true)) { SqlRunner runner = new SqlRunner(sqlSession.getConnection()); runner.run(sql); } catch (Exception e) { // e.printStackTrace(); throw new RuntimeException("Error executing SQL: " + sql, e); } } } lxzn-module-system/lxzn-system-start/src/main/resources/application-dev.yml
@@ -321,3 +321,8 @@ interval: 10000 # çæ§é´é(ms) security: encryption-key: 1234567890abcdef # å è§£å¯ç§é¥ #mdcæä»¶è·¯å¾é ç½® fileService: localFilePath: D:/data/sql/ #æ¬å°æä»¶è·¯å¾ newFilePath: D:/data/bak/ #å¤ä»½æä»¶è·¯å¾ failedLocFilePath: D:/data/failed/failed.sql #失败æä»¶è·¯å¾ lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/InboundOrderServiceImpl.java
@@ -445,7 +445,7 @@ result.put("content","ä¿åæå"); results.add(result); } return results; return results; } @Override lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/ToolsClassifyServiceImpl.java
@@ -247,6 +247,7 @@ .setTypeName(name) .setStatus("1") .setLeafFlag(leafFlag) .setEncodingType("3") .setSeq(seq) .setParentId(toolsClassify.getId()) .setParaTypeFlag(paraTypeFlag); @@ -256,6 +257,7 @@ .setTypeName(name) .setStatus("1") .setLeafFlag(leafFlag) .setEncodingType("3") .setSeq(seq) .setParentId(toolsClassify.getId()) .setParaTypeFlag(paraTypeFlag); @@ -272,6 +274,7 @@ .setTypeName(name) .setStatus("1") .setLeafFlag(leafFlag) .setEncodingType("3") .setSeq(seq) .setParentId("-1") .setParaTypeFlag(paraTypeFlag); @@ -283,6 +286,7 @@ .setParentId("-1") .setSeq(seq) .setLeafFlag(leafFlag) .setEncodingType("3") .setParaTypeFlag(paraTypeFlag); this.save(newToolsClassify); }