lxzn-boot-base-core/src/main/java/org/jeecg/common/constant/CommonConstant.java
@@ -618,9 +618,4 @@ Integer SHIFT_TYPE_1 = 1; Integer SHIFT_TYPE_2 = 2; /** * æ¥ä¿®ç¶æ */ String REPORT_STATUS = "1"; } lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/ReportRepairEnum.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ package org.jeecg.modules.eam.constant; public enum ReportRepairEnum { WAIT_REPAIR, // å¾ ç»´ä¿® UNDER_REPAIR, // ç»´ä¿®ä¸ WAIT_SPARES, // çå¤ä»¶ WAIT_CONFIRM, // å¾ ç¡®è®¤ COMPLETE, // 已宿 ABOLISH, // å·²ä½åº } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamRepairOrderController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,169 @@ package org.jeecg.modules.eam.controller; import java.util.Arrays; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.eam.constant.BusinessCodeConst; import org.jeecg.modules.eam.constant.ReportRepairEnum; import org.jeecg.modules.eam.entity.EamRepairOrder; import org.jeecg.modules.eam.entity.EamReportRepair; import org.jeecg.modules.eam.service.IEamRepairOrderService; 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.jeecg.modules.eam.service.IEamReportRepairService; import org.jeecg.modules.mdc.util.DateUtils; import org.jeecg.modules.system.service.ISysBusinessCodeRuleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; /** * @Description: 维修工å * @Author: Lius * @Date: 2025-04-03 */ @Slf4j @Api(tags = "维修工å") @RestController @RequestMapping("/eam/eamRepairOrder") public class EamRepairOrderController extends JeecgController<EamRepairOrder, IEamRepairOrderService> { @Resource private IEamRepairOrderService eamRepairOrderService; @Resource private ISysBusinessCodeRuleService businessCodeRuleService; @Resource private IEamReportRepairService eamReportRepairService; /** * å页å表æ¥è¯¢ * * @param eamRepairOrder * @param pageNo * @param pageSize * @return */ @AutoLog(value = "维修工å-å页å表æ¥è¯¢") @ApiOperation(value = "维修工å-å页å表æ¥è¯¢", notes = "维修工å-å页å表æ¥è¯¢") @GetMapping(value = "/list") public Result<?> queryPageList(EamRepairOrder eamRepairOrder, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { Page<EamRepairOrder> page = new Page<EamRepairOrder>(pageNo, pageSize); IPage<EamRepairOrder> pageList = eamRepairOrderService.pageList(page, eamRepairOrder); return Result.OK(pageList); } /** * é¢å * * @param eamRepairOrder * @return */ @AutoLog(value = "维修工å-é¢å") @ApiOperation(value = "维修工å-é¢å", notes = "维修工å-é¢å") @PostMapping(value = "/add") public Result<?> add(@RequestBody EamRepairOrder eamRepairOrder) { if (StringUtils.isBlank(eamRepairOrder.getReportId())) { return Result.error("é¢å失败,è¯·éæ©ç»´ä¿®è®°å½ï¼"); } String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.REPAIR_ORDER_CODE_RULE); eamRepairOrder.setRepairCode(codeSeq); EamReportRepair eamReportRepair = eamReportRepairService.getById(eamRepairOrder.getReportId()); eamRepairOrder.setDelFlag(CommonConstant.DEL_FLAG_0); eamRepairOrder.setEquipmentId(eamReportRepair.getEquipmentId()); eamReportRepair.setReportStatus(ReportRepairEnum.UNDER_REPAIR.name()); eamRepairOrder.setRepairStatus(ReportRepairEnum.UNDER_REPAIR.name()); eamRepairOrder.setActualStartTime(DateUtils.getNow()); LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); eamRepairOrder.setRepairer(user.getRealname()); eamReportRepairService.updateById(eamReportRepair); eamRepairOrderService.save(eamRepairOrder); // TODO å¯å¨æµç¨ return Result.OK("æ·»å æåï¼"); } /** * ç¼è¾ * * @param eamRepairOrder * @return */ @AutoLog(value = "维修工å-ç¼è¾") @ApiOperation(value = "维修工å-ç¼è¾", notes = "维修工å-ç¼è¾") @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) public Result<?> edit(@RequestBody EamRepairOrder eamRepairOrder) { eamRepairOrderService.updateById(eamRepairOrder); return Result.OK("ç¼è¾æå!"); } /** * éè¿idå é¤ * * @param id * @return */ @AutoLog(value = "维修工å-éè¿idå é¤") @ApiOperation(value = "维修工å-éè¿idå é¤", notes = "维修工å-éè¿idå é¤") @DeleteMapping(value = "/delete") public Result<?> delete(@RequestParam(name = "id", required = true) String id) { eamRepairOrderService.removeById(id); return Result.OK("å 餿å!"); } /** * æ¹éå é¤ * * @param ids * @return */ @AutoLog(value = "维修工å-æ¹éå é¤") @ApiOperation(value = "维修工å-æ¹éå é¤", notes = "维修工å-æ¹éå é¤") @DeleteMapping(value = "/deleteBatch") public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { this.eamRepairOrderService.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<?> queryById(@RequestParam(name = "id", required = true) String id) { EamRepairOrder eamRepairOrder = eamRepairOrderService.getById(id); return Result.OK(eamRepairOrder); } /** * 导åºexcel * * @param request * @param eamRepairOrder */ @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, EamRepairOrder eamRepairOrder) { return super.exportXls(request, eamRepairOrder, EamRepairOrder.class, "维修工å"); } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java
@@ -5,10 +5,12 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.modules.eam.constant.ReportRepairEnum; import org.jeecg.modules.eam.entity.EamReportRepair; import org.jeecg.modules.eam.request.EamReportRepairQuery; import org.jeecg.modules.eam.service.IEamReportRepairService; @@ -66,7 +68,7 @@ @ApiOperation(value = "æ éæ¥ä¿®-æ·»å ", notes = "æ éæ¥ä¿®-æ·»å ") @PostMapping(value = "/add") public Result<?> add(@RequestBody EamReportRepair eamReportRepair) { eamReportRepair.setReportStatus(CommonConstant.REPORT_STATUS); eamReportRepair.setReportStatus(ReportRepairEnum.WAIT_REPAIR.name()); eamReportRepair.setDelFlag(CommonConstant.DEL_FLAG_0); eamReportRepairService.save(eamReportRepair); return Result.OK("æ·»å æåï¼"); @@ -87,6 +89,20 @@ } /** * éè¿idä½åº * * @param id * @return */ @AutoLog(value = "æ éæ¥ä¿®-ä½åº") @ApiOperation(value = "æ éæ¥ä¿®-ä½åº", notes = "æ éæ¥ä¿®-ä½åº") @DeleteMapping(value = "/abolish") public Result<?> abolish(@RequestParam(name = "id", required = true) String id) { eamReportRepairService.update(new LambdaUpdateWrapper<EamReportRepair>().set(EamReportRepair::getReportStatus, ReportRepairEnum.ABOLISH.name()).eq(EamReportRepair::getId, id)); return Result.OK("ä½åºæå!"); } /** * éè¿idå é¤ * * @param id lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamRepairOrder.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,128 @@ package org.jeecg.modules.eam.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import org.jeecg.common.aspect.annotation.Dict; import org.jeecg.common.system.base.entity.JeecgEntity; import org.jeecgframework.poi.excel.annotation.Excel; import java.io.Serializable; import java.util.Date; /** * @Description: 维修工å * @Author: Lius * @Date: 2025-04-03 */ @Data @TableName("eam_repair_order") @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @ApiModel(value = "eam_repair_order对象", description = "维修工å") public class EamRepairOrder extends JeecgEntity implements Serializable { private static final long serialVersionUID = -2336763554235629574L; /** * å 餿 è®° */ @Excel(name = "å 餿 è®°", width = 15) @ApiModelProperty(value = "å 餿 è®°") private Integer delFlag; /** * å·¥åç¼å· */ @Excel(name = "å·¥åç¼å·", width = 15) @ApiModelProperty(value = "å·¥åç¼å·") private String repairCode; /** * æ¥ä¿®ID */ @Excel(name = "æ¥ä¿®ID", width = 15) @ApiModelProperty(value = "æ¥ä¿®ID") private String reportId; /** * 设å¤ID */ @Excel(name = "设å¤ID", width = 15) @ApiModelProperty(value = "设å¤ID") @Dict(dictTable = "eam_equipment", dicCode = "id", dicText = "equipment_code") private String equipmentId; /** * ç»´ä¿®ç¶æ */ @Excel(name = "ç»´ä¿®ç¶æ", width = 15) @ApiModelProperty(value = "ç»´ä¿®ç¶æ") private String repairStatus; /** * ç»´ä¿®å¼å§æ¶é´ */ @ApiModelProperty(value = "ç»´ä¿®å¼å§æ¶é´") private Date actualStartTime; /** * ç»´ä¿®ç»ææ¶é´ */ @ApiModelProperty(value = "ç»´ä¿®ç»ææ¶é´") private Date actualEndTime; /** * æ éåå */ @Excel(name = "æ éåå ", width = 15) @ApiModelProperty(value = "æ éåå ") private String faultReason; /** * ç»´ä¿®ç»ææè¿° */ @Excel(name = "ç»´ä¿®ç»ææè¿°", width = 15) @ApiModelProperty(value = "ç»´ä¿®ç»ææè¿°") private String repairDescription; /** * ç»´ä¿®è´è´£äºº */ @Excel(name = "ç»´ä¿®è´è´£äºº", width = 15) @ApiModelProperty(value = "ç»´ä¿®è´è´£äºº") private String repairer; /** * æ¯å¦å§å¤ */ @Excel(name = "æ¯å¦å§å¤", width = 15) @ApiModelProperty(value = "æ¯å¦å§å¤") private String outsourcedFlag; /** * å§å¤ç»´ä¿®æè¿° */ @Excel(name = "å§å¤ç»´ä¿®æè¿°", width = 15) @ApiModelProperty(value = "å§å¤ç»´ä¿®æè¿°") private String outsourcedRepairDescription; /** * å§å¤ç»´ä¿®å¼å§æ¶é´ */ @ApiModelProperty(value = "å§å¤ç»´ä¿®å¼å§æ¶é´") private Date outsourcedStartTime; /** * å§å¤ç»´ä¿®ç»ææ¶é´ */ @ApiModelProperty(value = "å§å¤ç»´ä¿®ç»ææ¶é´") private Date outsourcedEndTime; /** * å§å¤è´è´£äºº */ @Excel(name = "å§å¤è´è´£äºº", width = 15) @ApiModelProperty(value = "å§å¤è´è´£äºº") private String outsourcedPerson; /** * ç §çæä»¶ids;id以éå·åé */ @Excel(name = "ç §çæä»¶ids;id以éå·åé", width = 15) @ApiModelProperty(value = "ç §çæä»¶ids;id以éå·åé") private String imageFiles; @TableField(exist = false) @ApiModelProperty(value = "设å¤åç§°") private String equipmentName; } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamRepairOrderMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,28 @@ package org.jeecg.modules.eam.mapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import org.jeecg.modules.eam.entity.EamRepairOrder; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import java.util.List; /** * @Description: 维修工å * @Author: Lius * @Date: 2025-04-03 */ public interface EamRepairOrderMapper extends BaseMapper<EamRepairOrder> { /** * å页å表 * * @param page * @param eamRepairOrder * @param userId * @param equipmentIds * @return */ IPage<EamRepairOrder> pageList(Page<EamRepairOrder> page, @Param("eamRepairOrder") EamRepairOrder eamRepairOrder, @Param("userId") String userId, @Param("equipmentIds") List<String> equipmentIds); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamRepairOrderMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,42 @@ <?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.EamRepairOrderMapper"> <select id="pageList" resultType="org.jeecg.modules.eam.entity.EamRepairOrder"> SELECT t1.*, t2.equipment_name FROM eam_repair_order t1 LEFT JOIN eam_equipment t2 ON t1.equipment_id = t2.id <where> <choose> <when test="equipmentIds != null and equipmentIds.size() > 0 "> AND t2.equipment_code IN <foreach collection="equipmentIds" item="equipmentId" index="index" open="(" close=")" separator=","> {equipmentId} </foreach> </when> <otherwise> EXISTS ( SELECT 1 FROM mdc_user_production t3 WHERE t3.user_id = #{userId} AND t3.pro_id= t2.org_id ) </otherwise> </choose> <if test="eamRepairOrder.equipmentId != null and eamRepairOrder.equipmentId != ''"> AND t2.equipment_code LIKE CONCAT(CONCAT('%',#{ eamRepairOrder.equipmentId }),'%') </if> <if test="eamRepairOrder.equipmentName != null and eamRepairOrder.equipmentName != ''"> AND t2.equipment_name LIKE CONCAT(CONCAT('%',#{ eamRepairOrder.equipmentName }),'%') </if> <if test="eamRepairOrder.repairStatus != null and eamRepairOrder.repairStatus != ''"> AND t1.repair_status = #{ eamRepairOrder.repairStatus } </if> <if test="eamRepairOrder.repairer != null and eamRepairOrder.repairer != ''"> AND t1.repairer LIKE CONCAT(CONCAT('%',#{ eamRepairOrder.repairer }),'%') </if> <if test="eamRepairOrder.repairCode != null and eamRepairOrder.repairCode != ''"> AND t1.repair_code LIKE CONCAT(CONCAT('%',#{ eamRepairOrder.repairCode }),'%') </if> </where> ORDER BY t1.create_time </select> </mapper> lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamRepairOrderService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ 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.EamRepairOrder; import com.baomidou.mybatisplus.extension.service.IService; /** * @Description: 维修工å * @Author: Lius * @Date: 2025-04-03 */ public interface IEamRepairOrderService extends IService<EamRepairOrder> { /** * å页å表 * @param page * @param eamRepairOrder * @return */ IPage<EamRepairOrder> pageList(Page<EamRepairOrder> page, EamRepairOrder eamRepairOrder); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamRepairOrderServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,48 @@ package org.jeecg.modules.eam.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.eam.entity.EamRepairOrder; import org.jeecg.modules.eam.mapper.EamRepairOrderMapper; import org.jeecg.modules.eam.service.IEamRepairOrderService; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * @Description: 维修工å * @Author: Lius * @Date: 2025-04-03 */ @Service public class EamRepairOrderServiceImpl extends ServiceImpl<EamRepairOrderMapper, EamRepairOrder> implements IEamRepairOrderService { /** * å页å表 * * @param page * @param eamRepairOrder * @return */ @Override public IPage<EamRepairOrder> pageList(Page<EamRepairOrder> page, EamRepairOrder eamRepairOrder) { //ç¨æ·æ°æ®æé LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); if (sysUser == null) { return page; } List<String> equipmentIds = new ArrayList<>(); if (StringUtils.isNotBlank(sysUser.getEquipmentIds())) { //éæ©äºè®¾å¤ï¼æ ¹æ®è®¾å¤idè¿æ»¤è®¾å¤ equipmentIds = Arrays.asList(sysUser.getEquipmentIds().split(",")); } return this.baseMapper.pageList(page, eamRepairOrder, sysUser.getId(), equipmentIds); } }