lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java
@@ -15,6 +15,10 @@ String WEEK_MAINTENANCE_CODE_RULE = "WeekMaintenanceCodeRule"; // 维修工åç¼ç è§å String REPAIR_ORDER_CODE_RULE = "RepairOrderCodeRule"; //äºä¿ç¼ç è§å String SECOND_MAINTENANCE_CODE_RULE = "SecondMaintenanceCodeRule"; //ä¸ä¿ç¼ç è§å String THIRD_MAINTENANCE_CODE_RULE = "ThirdMaintenanceCodeRule"; /** * å¤ä»¶è¯·è´åç¶æ 1:å·²å建 2:å·²æäº¤ 3:å·²éè¿ 4:已驳å 5:已宿 */ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/SecondMaintenanceStatusEnum.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package org.jeecg.modules.eam.constant; public enum SecondMaintenanceStatusEnum { WAIT_MAINTENANCE, //å¾ ä¿å » UNDER_MAINTENANCE, //ä¿å »ä¸ WAIT_CONFIRM, //å¾ ç¡®è®¤ WAIT_INITIAL_ACCEPTANCE, // å¾ åéª WAIT_FINAL_ACCEPTANCE, //å¾ ç»éª COMPLETE, //已宿 ABOLISH, //å·²ä½åº EXPIRED, //å·²è¿æ ; public static SecondMaintenanceStatusEnum getInstance(String code) { SecondMaintenanceStatusEnum[] values = SecondMaintenanceStatusEnum.values(); for (SecondMaintenanceStatusEnum value : values) { if (value.name().equals(code)) { return value; } } return null; } } lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/ThirdMaintenanceStatusEnum.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package org.jeecg.modules.eam.constant; public enum ThirdMaintenanceStatusEnum { WAIT_MAINTENANCE, //å¾ ä¿å » UNDER_MAINTENANCE, //ä¿å »ä¸ WAIT_CONFIRM, //å¾ ç¡®è®¤ WAIT_INITIAL_ACCEPTANCE, // å¾ åéª WAIT_FINAL_ACCEPTANCE, //å¾ ç»éª COMPLETE, //已宿 ABOLISH, //å·²ä½åº EXPIRED, //å·²è¿æ ; public static ThirdMaintenanceStatusEnum getInstance(String code) { ThirdMaintenanceStatusEnum[] values = ThirdMaintenanceStatusEnum.values(); for (ThirdMaintenanceStatusEnum value : values) { if (value.name().equals(code)) { return value; } } return null; } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSecondMaintenanceOrderController.java
@@ -1,6 +1,6 @@ package org.jeecg.modules.eam.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; @@ -9,14 +9,22 @@ import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.modules.eam.constant.BusinessCodeConst; import org.jeecg.modules.eam.constant.OrderCreationMethodEnum; import org.jeecg.modules.eam.constant.SecondMaintenanceStatusEnum; import org.jeecg.modules.eam.entity.EamSecondMaintenanceOrder; import org.jeecg.modules.eam.request.EamSecondMaintenanceQuery; import org.jeecg.modules.eam.request.EamSecondMaintenanceRequest; import org.jeecg.modules.eam.service.IEamSecondMaintenanceOrderDetailService; import org.jeecg.modules.eam.service.IEamSecondMaintenanceOrderService; import org.jeecg.modules.system.service.ISysBusinessCodeRuleService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.Arrays; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; /** * @Description: 设å¤äºçº§ä¿å » @@ -27,15 +35,19 @@ @Slf4j @Api(tags="设å¤äºçº§ä¿å »") @RestController @RequestMapping("/eam/eamSecondMaintenanceOrder") @RequestMapping("/eam/secondMaintenanceOrder") public class EamSecondMaintenanceOrderController extends JeecgController<EamSecondMaintenanceOrder, IEamSecondMaintenanceOrderService> { @Autowired private IEamSecondMaintenanceOrderService eamSecondMaintenanceOrderService; @Autowired private ISysBusinessCodeRuleService businessCodeRuleService; @Autowired private IEamSecondMaintenanceOrderDetailService secondMaintenanceOrderDetailService; /** * å页å表æ¥è¯¢ * * @param eamSecondMaintenanceOrder * @param query * @param pageNo * @param pageSize * @param req @@ -44,70 +56,63 @@ @AutoLog(value = "设å¤äºçº§ä¿å »-å页å表æ¥è¯¢") @ApiOperation(value="设å¤äºçº§ä¿å »-å页å表æ¥è¯¢", notes="设å¤äºçº§ä¿å »-å页å表æ¥è¯¢") @GetMapping(value = "/list") public Result<?> queryPageList(EamSecondMaintenanceOrder eamSecondMaintenanceOrder, public Result<?> queryPageList(EamSecondMaintenanceQuery query, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { QueryWrapper<EamSecondMaintenanceOrder> queryWrapper = QueryGenerator.initQueryWrapper(eamSecondMaintenanceOrder, req.getParameterMap()); // QueryWrapper<EamSecondMaintenanceOrder> queryWrapper = QueryGenerator.initQueryWrapper(eamSecondMaintenanceOrder, req.getParameterMap()); Page<EamSecondMaintenanceOrder> page = new Page<EamSecondMaintenanceOrder>(pageNo, pageSize); IPage<EamSecondMaintenanceOrder> pageList = eamSecondMaintenanceOrderService.page(page, queryWrapper); IPage<EamSecondMaintenanceOrder> pageList = eamSecondMaintenanceOrderService.queryPageList(page, query); return Result.OK(pageList); } /** * æ·»å * * @param eamSecondMaintenanceOrder * @param request * @return */ @AutoLog(value = "设å¤äºçº§ä¿å »-æ·»å ") @ApiOperation(value="设å¤äºçº§ä¿å »-æ·»å ", notes="设å¤äºçº§ä¿å »-æ·»å ") @PostMapping(value = "/add") public Result<?> add(@RequestBody EamSecondMaintenanceOrder eamSecondMaintenanceOrder) { eamSecondMaintenanceOrderService.save(eamSecondMaintenanceOrder); public Result<?> add(@RequestBody EamSecondMaintenanceRequest request) { if (request == null) { return Result.error("æ·»å ç对象ä¸è½ä¸ºç©ºï¼"); } if (CollectionUtil.isEmpty(request.getTableDetailList())) { return Result.error("ä¿å »é¡¹ä¸è½ä¸ºç©ºï¼"); } String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.SECOND_MAINTENANCE_CODE_RULE); request.setOrderNum(codeSeq); request.setCreationMethod(OrderCreationMethodEnum.MANUAL.name()); boolean b = eamSecondMaintenanceOrderService.addWeekMaintenance(request); if (!b) { return Result.error("æ·»å 失败ï¼"); } return Result.OK("æ·»å æåï¼"); } /** * ç¼è¾ * * @param eamSecondMaintenanceOrder * @param request * @return */ @AutoLog(value = "设å¤äºçº§ä¿å »-ç¼è¾") @ApiOperation(value="设å¤äºçº§ä¿å »-ç¼è¾", notes="设å¤äºçº§ä¿å »-ç¼è¾") @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) public Result<?> edit(@RequestBody EamSecondMaintenanceOrder eamSecondMaintenanceOrder) { eamSecondMaintenanceOrderService.updateById(eamSecondMaintenanceOrder); public Result<?> edit(@RequestBody EamSecondMaintenanceRequest request) { if (request == null) { return Result.error("æ·»å ç对象ä¸è½ä¸ºç©ºï¼"); } if (CollectionUtil.isEmpty(request.getTableDetailList())) { return Result.error("ä¿å »é¡¹ä¸è½ä¸ºç©ºï¼"); } boolean b = eamSecondMaintenanceOrderService.editWeekMaintenance(request); if (!b) { return Result.error("ç¼è¾å¤±è´¥ï¼"); } 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) { eamSecondMaintenanceOrderService.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.eamSecondMaintenanceOrderService.removeByIds(Arrays.asList(ids.split(","))); return Result.OK("æ¹éå 餿åï¼"); } /** @@ -123,4 +128,90 @@ EamSecondMaintenanceOrder eamSecondMaintenanceOrder = eamSecondMaintenanceOrderService.getById(id); return Result.OK(eamSecondMaintenanceOrder); } /** * éè¿idä½åº * * @param id * @return */ @AutoLog(value = "设å¤äºçº§ä¿å »-ä½åº") @ApiOperation(value = "设å¤äºçº§ä¿å »-ä½åº", notes = "设å¤äºçº§ä¿å »-ä½åº") @DeleteMapping(value = "/abolish") public Result<?> abolish(@RequestParam(name = "id", required = true) String id) { EamSecondMaintenanceOrder entity = eamSecondMaintenanceOrderService.getById(id); if (entity == null) { return Result.error("è¦ä½åºçæ°æ®ä¸åå¨ï¼è¯·å·æ°éè¯ï¼"); } if (!SecondMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) { return Result.error("è¯¥ç¶æçæ°æ®ä¸å 许è¿è¡ä½åºï¼"); } entity.setMaintenanceStatus(SecondMaintenanceStatusEnum.ABOLISH.name()); eamSecondMaintenanceOrderService.updateById(entity); return Result.OK("ä½åºæå!"); } /** * éè¿idé¢å * * @param id * @return */ @AutoLog(value = "设å¤äºçº§ä¿å »-é¢å") @ApiOperation(value = "设å¤äºçº§ä¿å »-é¢å", notes = "设å¤äºçº§ä¿å »-é¢å") @GetMapping(value = "/collect") public Result<?> collect(@RequestParam(name = "id", required = true) String id) { boolean b = eamSecondMaintenanceOrderService.collect(id); if (!b) { Result.OK("é¢å失败!"); } return Result.OK("é¢åæå!"); } /** * éè¿idæ¹éä½åº * * @param ids * @return */ @AutoLog(value = "å¨ä¿å·¥å-æ¹éä½åº") @ApiOperation(value = "å¨ä¿å·¥å-æ¹éä½åº", notes = "å¨ä¿å·¥å-æ¹éä½åº") @DeleteMapping(value = "/abolishBatch") public Result<?> abolishBatch(@RequestParam(name = "ids", required = true) String ids) { List<String> list = Arrays.asList(ids.split(",")); AtomicInteger i = new AtomicInteger(); list.forEach(id -> { EamSecondMaintenanceOrder entity = eamSecondMaintenanceOrderService.getById(id); if (entity != null && SecondMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) { entity.setMaintenanceStatus(SecondMaintenanceStatusEnum.ABOLISH.name()); eamSecondMaintenanceOrderService.updateById(entity); i.getAndIncrement(); } }); return Result.OK("æ¹éä½åºæå " + i.get() + " æ¡å·¥åï¼"); } /** * éè¿idæ¹éé¢å * * @param ids * @return */ @AutoLog(value = "å¨ä¿å·¥å-æ¹éé¢å") @ApiOperation(value = "å¨ä¿å·¥å-æ¹éé¢å", notes = "å¨ä¿å·¥å-æ¹éé¢å") @DeleteMapping(value = "/collectBatch") public Result<?> collectBatch(@RequestParam(name = "ids", required = true) String ids) { List<String> list = Arrays.asList(ids.split(",")); AtomicInteger i = new AtomicInteger(); list.forEach(id -> { EamSecondMaintenanceOrder entity = eamSecondMaintenanceOrderService.getById(id); if (entity != null && SecondMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) { boolean b = eamSecondMaintenanceOrderService.collect(id); if (b) { i.getAndIncrement(); } } }); return Result.OK("æ¹éé¢åæå " + i.get() + " æ¡å·¥åï¼"); } } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSecondMaintenanceOrder.java
@@ -1,14 +1,18 @@ package org.jeecg.modules.eam.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; 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.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; @@ -55,44 +59,63 @@ /**æ åID*/ @Excel(name = "æ åID", width = 15) @ApiModelProperty(value = "æ åID") @Dict(dicCode = "eam_maintenance_standard, standard_name, id") private String standardId; /**计åå¼å§æ¶é´*/ @ApiModelProperty(value = "计åå¼å§æ¶é´") private Date planStartTime; /**计åç»ææ¶é´*/ @ApiModelProperty(value = "计åç»ææ¶é´") private Date planEndTime; /**计åä¿å »æ¥æ*/ @ApiModelProperty(value = "计åä¿å »æ¥æ") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date maintenanceDate; /**å®é å¼å§æ¶é´*/ @ApiModelProperty(value = "å®é å¼å§æ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date actualStartTime; /**å®é ç»ææ¶é´*/ @ApiModelProperty(value = "å®é ç»ææ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date actualEndTime; /**ä¿å »äºº*/ @Excel(name = "ä¿å »äºº", width = 15) @ApiModelProperty(value = "ä¿å »äºº") @Dict(dicCode = "sys_user, realname, username") private String operator; /**ä¿å »ç¶æ*/ @Excel(name = "ä¿å »ç¶æ", width = 15) @ApiModelProperty(value = "ä¿å »ç¶æ") @Dict(dicCode = "second_maintenance_status") private String maintenanceStatus; /**å建æ¹å¼*/ @Excel(name = "å建æ¹å¼", width = 15) @ApiModelProperty(value = "å建æ¹å¼") @Dict(dicCode = "order_creation_method") private String creationMethod; /**设å¤ç®¡çå确认*/ @Excel(name = "设å¤ç®¡çå确认", width = 15) @ApiModelProperty(value = "设å¤ç®¡çå确认") /**ç»´ä¿®ç»é¿ç¡®è®¤*/ @Excel(name = "ç»´ä¿®ç»é¿ç¡®è®¤", width = 15) @ApiModelProperty(value = "ç»´ä¿®ç»é¿ç¡®è®¤") @Dict(dicCode = "sys_user, realname, username") private String confirmUser; /**确认æè§*/ @ApiModelProperty(value = "确认æè§") private String confirmComment; /**确认æ¶é´*/ @ApiModelProperty(value = "确认æ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date confirmTime; /**ç §çæä»¶ids;id以éå·åé*/ @Excel(name = "ç §çæä»¶ids;id以éå·åé", width = 15) @ApiModelProperty(value = "ç §çæä»¶ids;id以éå·åé") /**ä¿å »ä¸ä¼ å¾ç*/ @Excel(name = "ä¿å »ä¸ä¼ å¾ç", width = 15) @ApiModelProperty(value = "ä¿å »ä¸ä¼ å¾ç") private String imageFiles; /**夿³¨*/ @Excel(name = "夿³¨", width = 15) @ApiModelProperty(value = "夿³¨") private String remark; //å表å±ç¤º @TableField(exist = false) private String equipmentCode; @TableField(exist = false) private String equipmentName; } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamSecondMaintenanceOrderDetail.java
@@ -55,10 +55,10 @@ @Excel(name = "ä¿å »é¡¹ç®", width = 15) @ApiModelProperty(value = "ä¿å »é¡¹ç®") private String itemName; /**å项ç®*/ @Excel(name = "å项ç®", width = 15) @ApiModelProperty(value = "å项ç®") private String subItemName; /**é¨ä½*/ @Excel(name = "é¨ä½", width = 15) @ApiModelProperty(value = "é¨ä½") private String itemPart; /**ä¿å »è¦æ±*/ @Excel(name = "ä¿å »è¦æ±", width = 15) @ApiModelProperty(value = "ä¿å »è¦æ±") lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamSecondMaintenanceOrderMapper.java
@@ -1,6 +1,9 @@ package org.jeecg.modules.eam.mapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.jeecg.modules.eam.entity.EamSecondMaintenanceOrder; /** @@ -11,4 +14,11 @@ */ public interface EamSecondMaintenanceOrderMapper extends BaseMapper<EamSecondMaintenanceOrder> { /** * å页æ¥è¯¢ * @param page * @param queryWrapper * @return */ IPage<EamSecondMaintenanceOrder> queryPageList(Page<EamSecondMaintenanceOrder> page, QueryWrapper<EamSecondMaintenanceOrder> queryWrapper); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSecondMaintenanceOrderMapper.xml
@@ -2,4 +2,11 @@ <!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.EamSecondMaintenanceOrderMapper"> <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamSecondMaintenanceOrder"> select wmo.*, e.equipment_code, e.equipment_name from eam_second_maintenance_order wmo inner join eam_equipment e on wmo.equipment_id = e.id ${ew.customSqlSegment} </select> </mapper> lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamSecondMaintenanceQuery.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ 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 EamSecondMaintenanceQuery { private String orderNum; private String equipmentId; @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date maintenanceDateBegin; @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date maintenanceDateEnd; private String maintenanceStatus; private String column; private String order; } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamSecondMaintenanceRequest.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,69 @@ package org.jeecg.modules.eam.request; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import org.jeecg.common.api.vo.FileUploadResult; import org.jeecg.modules.eam.entity.EamSecondMaintenanceOrderDetail; import org.jeecg.modules.flowable.domain.vo.FlowTaskVo; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.util.Date; import java.util.List; @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @ApiModel(value="äºä¿å¯¹è±¡", description="äºä¿") public class EamSecondMaintenanceRequest extends FlowTaskVo implements Serializable { /**主é®*/ @ApiModelProperty(value = "主é®") private String id; /**å·¥åå·*/ @ApiModelProperty(value = "å·¥åå·") private String orderNum; /**设å¤ID*/ @ApiModelProperty(value = "设å¤ID") private String equipmentId; /**æ åID*/ @ApiModelProperty(value = "æ åID") private String standardId; /**ä¿å »æ¥æ*/ @ApiModelProperty(value = "ä¿å »æ¥æ") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") private Date maintenanceDate; /**ä¿å »äºº*/ @ApiModelProperty(value = "ä¿å »äºº") private String operator; /**ä¿å »å¾ç*/ @ApiModelProperty(value = "ä¿å »å¾ç") private String imageFiles; /**ä¿å »å¾ç*/ @ApiModelProperty(value = "ä¿å »å¾ç") private List<FileUploadResult> imageFilesResult; /**夿³¨*/ @ApiModelProperty(value = "夿³¨") private String remark; /**å建æ¹å¼*/ @ApiModelProperty(value = "å建æ¹å¼") private String creationMethod; /**å表 ä¿å »é¡¹æç»*/ @ApiModelProperty(value = "å表 ä¿å »é¡¹æç»") private List<EamSecondMaintenanceOrderDetail> tableDetailList; /**å é¤ ä¿å »é¡¹æç»*/ @ApiModelProperty(value = "å é¤ ä¿å »é¡¹æç»") private List<EamSecondMaintenanceOrderDetail> removeDetailList; //确认æä½ /**确认æè§*/ @ApiModelProperty(value = "确认æè§") private String confirmComment; @ApiModelProperty(value = "确认类å") private String confirmDealType; } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamWeekMaintenanceRequest.java
@@ -19,7 +19,7 @@ @Data @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @ApiModel(value="eam_maintenance_standard对象", description="ä¿å »æ å") @ApiModel(value="å¨ä¿å¯¹è±¡", description="å¨ä¿") public class EamWeekMaintenanceRequest extends FlowTaskVo implements Serializable { /**主é®*/ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSecondMaintenanceOrderService.java
@@ -1,7 +1,11 @@ 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.EamSecondMaintenanceOrder; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.eam.request.EamSecondMaintenanceQuery; import org.jeecg.modules.eam.request.EamSecondMaintenanceRequest; /** * @Description: 设å¤äºçº§ä¿å » @@ -11,4 +15,32 @@ */ public interface IEamSecondMaintenanceOrderService extends IService<EamSecondMaintenanceOrder> { /** * å页æ¥è¯¢ * @param page * @param query * @return */ IPage<EamSecondMaintenanceOrder> queryPageList(Page<EamSecondMaintenanceOrder> page, EamSecondMaintenanceQuery query); /** * æ·»å * @param request * @return */ boolean addWeekMaintenance(EamSecondMaintenanceRequest request); /** * ç¼è¾ * @param request * @return */ boolean editWeekMaintenance(EamSecondMaintenanceRequest request); /** * å·¥åé¢å * @param id * @return */ boolean collect(String id); } lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSecondMaintenanceOrderServiceImpl.java
@@ -1,11 +1,43 @@ package org.jeecg.modules.eam.service.impl; import org.jeecg.modules.eam.entity.EamSecondMaintenanceOrder; import org.jeecg.modules.eam.mapper.EamSecondMaintenanceOrderMapper; import org.jeecg.modules.eam.service.IEamSecondMaintenanceOrderService; import org.springframework.stereotype.Service; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.flowable.engine.TaskService; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.DataBaseConstant; import org.jeecg.common.exception.JeecgBootException; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.eam.constant.BusinessCodeConst; import org.jeecg.modules.eam.constant.SecondMaintenanceStatusEnum; import org.jeecg.modules.eam.constant.WeekMaintenanceStatusEnum; import org.jeecg.modules.eam.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamSecondMaintenanceOrder; import org.jeecg.modules.eam.entity.EamSecondMaintenanceOrderDetail; import org.jeecg.modules.eam.mapper.EamSecondMaintenanceOrderMapper; import org.jeecg.modules.eam.request.EamSecondMaintenanceQuery; import org.jeecg.modules.eam.request.EamSecondMaintenanceRequest; import org.jeecg.modules.eam.service.*; import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService; import org.jeecg.modules.flowable.apithird.service.FlowCommonService; import org.jeecg.modules.flowable.service.IFlowDefinitionService; import org.jeecg.modules.flowable.service.IFlowTaskService; import org.jeecg.modules.system.service.ISysUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.stream.Collectors; /** * @Description: 设å¤äºçº§ä¿å » @@ -15,5 +47,263 @@ */ @Service public class EamSecondMaintenanceOrderServiceImpl extends ServiceImpl<EamSecondMaintenanceOrderMapper, EamSecondMaintenanceOrder> implements IEamSecondMaintenanceOrderService { @Resource private EamSecondMaintenanceOrderMapper eamSecondMaintenanceOrderMapper; @Autowired private IEamSecondMaintenanceOrderDetailService secondMaintenanceOrderDetailService; @Autowired private FlowCommonService flowCommonService; @Autowired private IFlowDefinitionService flowDefinitionService; @Autowired private IFlowMyBusinessService flowMyBusinessService; @Autowired private TaskService taskService; @Autowired private IFlowTaskService flowTaskService; @Autowired private ISysUserService sysUserService; @Autowired private IEamEquipmentService eamEquipmentService; @Autowired private IEamReportRepairService eamReportRepairService; @Autowired private IEamEquipmentExtendService eamEquipmentExtendService; @Override public IPage<EamSecondMaintenanceOrder> queryPageList(Page<EamSecondMaintenanceOrder> page, EamSecondMaintenanceQuery query) { QueryWrapper<EamSecondMaintenanceOrder> queryWrapper = new QueryWrapper<>(); //ç¨æ·æ°æ®æé LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); if (sysUser == null) { return page; } if (StringUtils.isNotBlank(sysUser.getEquipmentIds())) { //éæ©äºè®¾å¤ï¼æ ¹æ®è®¾å¤idè¿æ»¤è®¾å¤ List<String> equipArr = Arrays.asList(sysUser.getEquipmentIds().split(",")); queryWrapper.in("e.equipment_code", equipArr); } else { //没æéæ©è®¾å¤ï¼æ ¹æ®è½¦é´è¿æ»¤è®¾å¤ queryWrapper.exists("select 1 from mdc_user_production t where t.user_id={0} and t.pro_id=e.org_id ", sysUser.getId()); } //æ¥è¯¢æ¡ä»¶è¿æ»¤ if (query != null) { if (StringUtils.isNotBlank(query.getEquipmentId())) { queryWrapper.eq("wmo.equipment_id", query.getEquipmentId()); } if (StringUtils.isNotBlank(query.getOrderNum())) { queryWrapper.like("wmo.order_num", query.getOrderNum()); } if (StringUtils.isNotBlank(query.getMaintenanceStatus())) { queryWrapper.eq("wmo.maintenance_status", query.getMaintenanceStatus()); } if (query.getMaintenanceDateBegin() != null && query.getMaintenanceDateEnd() != null) { queryWrapper.between("wmo.maintenance_date", query.getMaintenanceDateBegin(), query.getMaintenanceDateEnd()); } //æåº 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("wmo." + oConvertUtils.camelToUnderline(column)); } else { queryWrapper.orderByDesc("wmo." + oConvertUtils.camelToUnderline(column)); } } else { queryWrapper.orderByDesc("wmo.create_time"); } } else { queryWrapper.orderByDesc("wmo.create_time"); } return eamSecondMaintenanceOrderMapper.queryPageList(page, queryWrapper); } @Override @Transactional(rollbackFor = Exception.class) public boolean addWeekMaintenance(EamSecondMaintenanceRequest request) { EamEquipment equipment = eamEquipmentService.getById(request.getEquipmentId()); if (equipment == null) { throw new JeecgBootException("设å¤ä¸åå¨ï¼æ·»å 失败ï¼"); } EamSecondMaintenanceOrder order = new EamSecondMaintenanceOrder(); order.setOrderNum(request.getOrderNum()); order.setEquipmentId(request.getEquipmentId()); order.setStandardId(request.getStandardId()); order.setMaintenanceDate(request.getMaintenanceDate()); order.setOperator(request.getOperator()); order.setRemark(request.getRemark()); //ç¶æåå§å order.setMaintenanceStatus(SecondMaintenanceStatusEnum.WAIT_MAINTENANCE.name()); order.setCreationMethod(request.getCreationMethod()); //å 餿 è®° order.setDelFlag(CommonConstant.DEL_FLAG_0); eamSecondMaintenanceOrderMapper.insert(order); //å¤çæç»æ°æ® if (CollectionUtil.isNotEmpty(request.getTableDetailList())) { request.getTableDetailList().forEach(tableDetail -> { tableDetail.setId(null); tableDetail.setOrderId(order.getId()); }); secondMaintenanceOrderDetailService.saveBatch(request.getTableDetailList()); } //夿æ¯å¦åå¨ä¿å »äºº 妿åå¨åå¯å¨æµç¨ if (StringUtils.isNotBlank(order.getOperator())) { //å¯å¨æµç¨ TODO // flowCommonService.initActBusiness("å·¥åå·:" + order.getOrderNum() + ";设å¤ç¼å·: " + equipment.getEquipmentCode() + ";è¿è¡è®¾å¤äºä¿", // order.getId(), "IEamWeekMaintenanceOrderService", "week_maintenance_process", null); // Map<String, Object> variables = new HashMap<>(); // variables.put("dataId", order.getId()); // if (StrUtil.isEmpty(order.getRemark())) { // variables.put("organization", "æ°å¢å¨ä¿å·¥åé»è®¤å¯å¨æµç¨"); // variables.put("comment", "æ°å¢å¨ä¿å·¥åé»è®¤å¯å¨æµç¨"); // } else { // variables.put("organization", order.getRemark()); // variables.put("comment", order.getRemark()); // } // variables.put("proofreading", true); // List<String> usernames = new ArrayList<>(); // usernames.add(order.getOperator()); // variables.put("NextAssignee", usernames); // Result result = flowDefinitionService.startProcessInstanceByKey("week_maintenance_process", variables); // if (result != null) { // //æ´æ°å¨ä¿ç¶æ // order.setMaintenanceStatus(WeekMaintenanceStatusEnum.UNDER_MAINTENANCE.name()); // order.setActualStartTime(new Date()); // eamWeekMaintenanceOrderMapper.updateById(order); // //æ´æ°è®¾å¤ä¿å »ç¶æ // eamEquipmentExtendService.updateEquipmentMaintenanceStatus(order.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name()); // return result.isSuccess(); // } } return true; } @Override @Transactional(rollbackFor = Exception.class) public boolean editWeekMaintenance(EamSecondMaintenanceRequest request) { EamEquipment equipment = eamEquipmentService.getById(request.getEquipmentId()); if (equipment == null) { throw new JeecgBootException("设å¤ä¸åå¨ï¼æ·»å 失败ï¼"); } EamSecondMaintenanceOrder entity = eamSecondMaintenanceOrderMapper.selectById(request.getId()); if (entity == null) { throw new JeecgBootException("ç¼è¾çæ°æ®å·²å é¤ï¼è¯·å·æ°éè¯ï¼"); } if (!WeekMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) { throw new JeecgBootException("åªæå¾ ä¿å »ç¶æçæ°æ®æå¯ç¼è¾ï¼"); } entity.setMaintenanceDate(request.getMaintenanceDate()); entity.setOperator(request.getOperator()); entity.setRemark(request.getRemark()); eamSecondMaintenanceOrderMapper.updateById(entity); //å¤ç详æ if (CollectionUtil.isNotEmpty(request.getTableDetailList())) { List<EamSecondMaintenanceOrderDetail> addList = new ArrayList<>(); List<EamSecondMaintenanceOrderDetail> updateList = new ArrayList<>(); request.getTableDetailList().forEach(tableDetail -> { tableDetail.setOrderId(entity.getId()); if (tableDetail.getId() == null) { addList.add(tableDetail); } else { updateList.add(tableDetail); } }); if (CollectionUtil.isNotEmpty(addList)) { secondMaintenanceOrderDetailService.saveBatch(addList); } if (CollectionUtil.isNotEmpty(updateList)) { secondMaintenanceOrderDetailService.updateBatchById(updateList); } } if (CollectionUtil.isNotEmpty(request.getRemoveDetailList())) { List<String> ids = request.getRemoveDetailList().stream().map(EamSecondMaintenanceOrderDetail::getId).collect(Collectors.toList()); secondMaintenanceOrderDetailService.removeBatchByIds(ids); } //夿æ¯å¦åå¨ä¿å »äºº 妿åå¨åå¯å¨æµç¨ if (StringUtils.isNotBlank(entity.getOperator())) { //å¯å¨æµç¨ TODO // flowCommonService.initActBusiness("å·¥åå·:" + entity.getOrderNum() + ";设å¤ç¼å·: " + equipment.getEquipmentCode() + ";è¿è¡è®¾å¤å¨ä¿", // entity.getId(), "IEamWeekMaintenanceOrderService", "week_maintenance_process", null); // Map<String, Object> variables = new HashMap<>(); // variables.put("dataId", entity.getId()); // if (StrUtil.isEmpty(entity.getRemark())) { // variables.put("organization", "æ°å¢å¨ä¿å·¥åé»è®¤å¯å¨æµç¨"); // variables.put("comment", "æ°å¢å¨ä¿å·¥åé»è®¤å¯å¨æµç¨"); // } else { // variables.put("organization", entity.getRemark()); // variables.put("comment", entity.getRemark()); // } // variables.put("proofreading", true); // List<String> usernames = new ArrayList<>(); // usernames.add(entity.getOperator()); // variables.put("NextAssignee", usernames); // Result result = flowDefinitionService.startProcessInstanceByKey("week_maintenance_process", variables); // if (result != null) { // //æ´æ°å¨ä¿ç¶æ // entity.setMaintenanceStatus(WeekMaintenanceStatusEnum.UNDER_MAINTENANCE.name()); // entity.setActualStartTime(new Date()); // eamWeekMaintenanceOrderMapper.updateById(entity); // //æ´æ°è®¾å¤ä¿å »ç¶æ // eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name()); // return result.isSuccess(); // } } return true; } @Override @Transactional(rollbackFor = Exception.class) public boolean collect(String id) { EamSecondMaintenanceOrder entity = eamSecondMaintenanceOrderMapper.selectById(id); if (entity == null) { throw new JeecgBootException("è¦é¢åçå·¥åä¸åå¨ï¼è¯·å·æ°éè¯ï¼"); } if (!SecondMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) { throw new JeecgBootException("该工åå·²è¿è¡è¿é¢åï¼"); } EamEquipment equipment = eamEquipmentService.getById(entity.getEquipmentId()); if (equipment == null) { throw new JeecgBootException("设å¤ä¸åå¨ï¼æ·»å 失败ï¼"); } LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); if(sysUser == null || !BusinessCodeConst.PCR0001.equals(sysUser.getPost())) { throw new JeecgBootException("䏿¯æä½å·¥ï¼æ æ³é¢åæ¤å·¥åï¼"); } entity.setOperator(sysUser.getUsername()); entity.setMaintenanceStatus(WeekMaintenanceStatusEnum.UNDER_MAINTENANCE.name()); entity.setActualStartTime(new Date()); eamSecondMaintenanceOrderMapper.updateById(entity); // //å¯å¨æµç¨ // flowCommonService.initActBusiness("å·¥åå·:" + entity.getOrderNum() + ";设å¤ç¼å·: " + equipment.getEquipmentCode() + ";è¿è¡è®¾å¤å¨ä¿", // entity.getId(), "IEamWeekMaintenanceOrderService", "week_maintenance_process", null); // Map<String, Object> variables = new HashMap<>(); // variables.put("dataId", entity.getId()); // if (StrUtil.isEmpty(entity.getRemark())) { // variables.put("organization", "æ°å¢å¨ä¿å·¥åé»è®¤å¯å¨æµç¨"); // variables.put("comment", "æ°å¢å¨ä¿å·¥åé»è®¤å¯å¨æµç¨"); // } else { // variables.put("organization", entity.getRemark()); // variables.put("comment", entity.getRemark()); // } // variables.put("proofreading", true); // List<String> usernames = new ArrayList<>(); // usernames.add(entity.getOperator()); // variables.put("NextAssignee", usernames); // Result result = flowDefinitionService.startProcessInstanceByKey("week_maintenance_process", variables); // if (result != null) { // //æ´æ°è®¾å¤ä¿å »ç¶æ // eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name()); // return result.isSuccess(); // } return true; } }