From 2196ba833d88c32dd0e26b526928d313cfea0d80 Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期二, 12 八月 2025 19:23:25 +0800 Subject: [PATCH] update --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceOrderDetailMapper.java | 6 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml | 26 ++ lxzn-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java | 2 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderDetailService.java | 4 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java | 35 +++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceBaseResponse.java | 83 +++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceOrderMapper.java | 8 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderDetailServiceImpl.java | 7 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EamThirdMaintenanceBaseVo.java | 14 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java | 7 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceOrderController.java | 442 ++++++++++++++++++++------------------- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java | 2 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderDetailMapper.xml | 21 + 13 files changed, 439 insertions(+), 218 deletions(-) diff --git a/lxzn-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java b/lxzn-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java index 7924d9c..002235d 100644 --- a/lxzn-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java +++ b/lxzn-boot-base-core/src/main/java/org/jeecg/config/shiro/ShiroConfig.java @@ -143,6 +143,8 @@ filterChainDefinitionMap.put("/eam/eamInspectionOrder/exportInsOrderDetailUserList", "anon"); filterChainDefinitionMap.put("/eam/eamInspectionOrder/exportWeekInsDetailList", "anon"); filterChainDefinitionMap.put("/eam/eamInspectionOrder/exportWeekInsOrderDetailUserList", "anon"); + //璁惧涓変繚瀵煎嚭鎺ュ彛鎺掗櫎 + filterChainDefinitionMap.put("/eam/thirdMaintenanceOrder/exportThirdMaintenanceOrderBaseInfo", "anon"); //璁惧瀹屽ソ鐜囨姤琛ㄦ帓闄� filterChainDefinitionMap.put("/eam/repairOrder/equipmentAvailability", "anon"); //鐢熶骇鏁呴殰闂撮殧鏃堕棿鎶ヨ〃鎺掗櫎 diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceBaseResponse.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceBaseResponse.java new file mode 100644 index 0000000..eb851ff --- /dev/null +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceBaseResponse.java @@ -0,0 +1,83 @@ +package org.jeecg.modules.eam.request; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * @Author: Lius + * @CreateTime: 2025-07-31 + * @Description: 涓変繚宸ュ崟鍩虹淇℃伅瀵煎嚭璇︾粏 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="杩斿洖瀵硅薄", description="涓変繚宸ュ崟鍩虹淇℃伅瀵煎嚭璇︾粏") +public class EamThirdMaintenanceBaseResponse implements Serializable { + + private static final long serialVersionUID = -615083252449625415L; + + @ApiModelProperty(value = "绉讳氦鍗昲f缂栫爜") + private String hfCodeA; + + @ApiModelProperty(value = "楠屾敹鍗昲f缂栫爜") + private String hfCodeB; + + @ApiModelProperty(value = "璁惧鍚嶇О") + private String equipmentName; + + @ApiModelProperty(value = "璁惧鍨嬪彿") + private String equipmentModel; + + @ApiModelProperty(value = "璁惧缂栧彿") + private String equipmentCode; + + @ApiModelProperty(value = "鍗曚綅") + private String factoryName; + + @ApiModelProperty(value = "淇濆吇鏃ユ湡") + private String maintenanceDate; + + @ApiModelProperty(value = "璁惧鍔熻兘鏄惁榻愬;鏄惁") + private String fullyFunctional; + + @ApiModelProperty(value = "璁惧鍔熻兘鏄惁榻愬;鏄惁") + private String runningNormally; + + @ApiModelProperty(value = "闂鎻忚堪") + private String problemDescription; + + @ApiModelProperty(value = "鎿嶄綔浜�") + private String operatorSignature; + + @ApiModelProperty(value = "鍗忓姪鎿嶄綔浜�") + private String assistantOperator; + + @ApiModelProperty(value = "缁翠慨浜虹瀛�") + private String repairmanSignature; + + @ApiModelProperty(value = "鍗忓姪缁翠慨浜�") + private String assistantRepairman; + + @ApiModelProperty(value = "缁翠慨瀹や富浠荤瀛�") + private String repairManagerSignature; + + @ApiModelProperty(value = "璁惧妫�鏌ヤ汉绛惧瓧") + private String inspectorSignature; + + //楠屾敹鍗曞瓧娈� + @ApiModelProperty(value = "璁惧绫诲埆") + private String equipmentCategory; + + @ApiModelProperty(value = "妫�鏌ヤ汉") + private String createBy; + + @ApiModelProperty(value = "妫�鏌ユ棩鏈�") + private String createTime; + + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceOrderController.java index b5be67c..ee7c54a 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceOrderController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceOrderController.java @@ -35,237 +35,247 @@ /** * @Description: 璁惧涓夌骇淇濆吇 * @Author: jeecg-boot - * @Date: 2025-04-29 + * @Date: 2025-04-29 * @Version: V1.0 */ @Slf4j -@Api(tags="璁惧涓夌骇淇濆吇") +@Api(tags = "璁惧涓夌骇淇濆吇") @RestController @RequestMapping("/eam/thirdMaintenanceOrder") public class EamThirdMaintenanceOrderController extends JeecgController<EamThirdMaintenanceOrder, IEamThirdMaintenanceOrderService> { - @Autowired - private IEamThirdMaintenanceOrderService eamThirdMaintenanceOrderService; - @Autowired - private ISysBusinessCodeRuleService businessCodeRuleService; - @Resource - private ObjectMapper objectMapper; - @Resource - private TranslateDictTextUtils translateDictTextUtils; + @Autowired + private IEamThirdMaintenanceOrderService eamThirdMaintenanceOrderService; + @Autowired + private ISysBusinessCodeRuleService businessCodeRuleService; + @Resource + private ObjectMapper objectMapper; + @Resource + private TranslateDictTextUtils translateDictTextUtils; - /** - * 鍒嗛〉鍒楄〃鏌ヨ - * - * @param query - * @param pageNo - * @param pageSize - * @param req - * @return - */ - @AutoLog(value = "璁惧涓夌骇淇濆吇-鍒嗛〉鍒楄〃鏌ヨ") - @ApiOperation(value = "璁惧涓夌骇淇濆吇-鍒嗛〉鍒楄〃鏌ヨ", notes = "璁惧涓夌骇淇濆吇-鍒嗛〉鍒楄〃鏌ヨ") - @GetMapping(value = "/list") - public Result<?> queryPageList(EamThirdMaintenanceQuery query, - @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, - @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, - HttpServletRequest req) { - Page<EamThirdMaintenanceOrder> page = new Page<EamThirdMaintenanceOrder>(pageNo, pageSize); - IPage<EamThirdMaintenanceOrder> pageList = eamThirdMaintenanceOrderService.queryPageList(page, query); - return Result.OK(pageList); - } + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param query + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "璁惧涓夌骇淇濆吇-鍒嗛〉鍒楄〃鏌ヨ") + @ApiOperation(value = "璁惧涓夌骇淇濆吇-鍒嗛〉鍒楄〃鏌ヨ", notes = "璁惧涓夌骇淇濆吇-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<?> queryPageList(EamThirdMaintenanceQuery query, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + Page<EamThirdMaintenanceOrder> page = new Page<EamThirdMaintenanceOrder>(pageNo, pageSize); + IPage<EamThirdMaintenanceOrder> pageList = eamThirdMaintenanceOrderService.queryPageList(page, query); + return Result.OK(pageList); + } - /** - * 鏌ヨ涓変繚宸ュ崟鍩烘湰淇℃伅 - * - * @param id - * @return - */ - @ApiOperation(value = "鏌ヨ涓変繚宸ュ崟鍩烘湰淇℃伅", notes = "鏌ヨ涓変繚宸ュ崟鍩烘湰淇℃伅") - @GetMapping(value = "/selectVoById") - public Result<?> selectVoById(@RequestParam(name = "id") String id) { - return eamThirdMaintenanceOrderService.selectVoById(id); - } + /** + * 鏌ヨ涓変繚宸ュ崟鍩烘湰淇℃伅 + * + * @param id + * @return + */ + @ApiOperation(value = "鏌ヨ涓変繚宸ュ崟鍩烘湰淇℃伅", notes = "鏌ヨ涓変繚宸ュ崟鍩烘湰淇℃伅") + @GetMapping(value = "/selectVoById") + public Result<?> selectVoById(@RequestParam(name = "id") String id) { + return eamThirdMaintenanceOrderService.selectVoById(id); + } - /** - * 娣诲姞 - * - * @param request - * @return - */ - @AutoLog(value = "璁惧涓夌骇淇濆吇-娣诲姞") - @ApiOperation(value = "璁惧涓夌骇淇濆吇-娣诲姞", notes = "璁惧涓夌骇淇濆吇-娣诲姞") - @PostMapping(value = "/add") - public Result<?> add(@RequestBody EamThirdMaintenanceRequest request) { - String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.THIRD_MAINTENANCE_CODE_RULE); - request.setOrderNum(codeSeq); - request.setCreationMethod(OrderCreationMethodEnum.MANUAL.name()); - return eamThirdMaintenanceOrderService.addMaintenance(request); - } + /** + * 娣诲姞 + * + * @param request + * @return + */ + @AutoLog(value = "璁惧涓夌骇淇濆吇-娣诲姞") + @ApiOperation(value = "璁惧涓夌骇淇濆吇-娣诲姞", notes = "璁惧涓夌骇淇濆吇-娣诲姞") + @PostMapping(value = "/add") + public Result<?> add(@RequestBody EamThirdMaintenanceRequest request) { + String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.THIRD_MAINTENANCE_CODE_RULE); + request.setOrderNum(codeSeq); + request.setCreationMethod(OrderCreationMethodEnum.MANUAL.name()); + return eamThirdMaintenanceOrderService.addMaintenance(request); + } - /** - * 缂栬緫 - * - * @param request - * @return - */ - @AutoLog(value = "璁惧涓夌骇淇濆吇-缂栬緫") - @ApiOperation(value = "璁惧涓夌骇淇濆吇-缂栬緫", notes = "璁惧涓夌骇淇濆吇-缂栬緫") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) - public Result<?> edit(@RequestBody EamThirdMaintenanceRequest request) { - if (request == null) { - return Result.error("娣诲姞鐨勫璞′笉鑳戒负绌猴紒"); - } - if (CollectionUtil.isEmpty(request.getTableDetailList())) { - return Result.error("淇濆吇椤逛笉鑳戒负绌猴紒"); - } - boolean b = eamThirdMaintenanceOrderService.editMaintenance(request); - if (!b) { - return Result.error("缂栬緫澶辫触锛�"); - } - return Result.OK("缂栬緫鎴愬姛!"); - } + /** + * 缂栬緫 + * + * @param request + * @return + */ + @AutoLog(value = "璁惧涓夌骇淇濆吇-缂栬緫") + @ApiOperation(value = "璁惧涓夌骇淇濆吇-缂栬緫", notes = "璁惧涓夌骇淇濆吇-缂栬緫") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result<?> edit(@RequestBody EamThirdMaintenanceRequest request) { + if (request == null) { + return Result.error("娣诲姞鐨勫璞′笉鑳戒负绌猴紒"); + } + if (CollectionUtil.isEmpty(request.getTableDetailList())) { + return Result.error("淇濆吇椤逛笉鑳戒负绌猴紒"); + } + boolean b = eamThirdMaintenanceOrderService.editMaintenance(request); + if (!b) { + return Result.error("缂栬緫澶辫触锛�"); + } + 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) { - EamThirdMaintenanceOrder eamThirdMaintenanceOrder = eamThirdMaintenanceOrderService.getById(id); - if (eamThirdMaintenanceOrder == null) { - return Result.error("鏈壘鍒板搴旀暟鎹�"); - } - try { - String json = objectMapper.writeValueAsString(eamThirdMaintenanceOrder); - JSONObject item = JSONObject.parseObject(json, Feature.OrderedField); - translateDictTextUtils.translateField("createBy", eamThirdMaintenanceOrder.getCreateBy(), item, "sys_user,realname,username"); - translateDictTextUtils.translateField("standardId", eamThirdMaintenanceOrder.getStandardId(), item, "eam_maintenance_standard,standard_name,id"); - translateDictTextUtils.translateField("repairman", eamThirdMaintenanceOrder.getRepairman(), item, "sys_user,realname,username"); - translateDictTextUtils.translateField("maintenanceStatus", eamThirdMaintenanceOrder.getMaintenanceStatus(), item, "third_maintenance_status"); - translateDictTextUtils.translateField("creationMethod", eamThirdMaintenanceOrder.getCreationMethod(), item, "order_creation_method"); - translateDictTextUtils.translateField("fullyFunctional", eamThirdMaintenanceOrder.getFullyFunctional(), item, "yn"); - translateDictTextUtils.translateField("runningNormally", eamThirdMaintenanceOrder.getRunningNormally(), item, "yn"); - translateDictTextUtils.translateField("inspector", eamThirdMaintenanceOrder.getInspector(), item, "sys_user,realname,username"); - translateDictTextUtils.translateField("operatorSignature", eamThirdMaintenanceOrder.getOperatorSignature(), item, "sys_user,realname,username"); - translateDictTextUtils.translateField("repairmanSignature", eamThirdMaintenanceOrder.getRepairmanSignature(), item, "sys_user,realname,username"); - translateDictTextUtils.translateField("repairManagerSignature", eamThirdMaintenanceOrder.getRepairManagerSignature(), item, "sys_user,realname,username"); - translateDictTextUtils.translateField("inspectorSignature", eamThirdMaintenanceOrder.getInspectorSignature(), item, "sys_user,realname,username"); - return Result.OK(item); - } catch (JsonProcessingException e) { - return Result.error("鏁版嵁杞瘧澶辫触锛�"); - } - } + /** + * 閫氳繃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) { + EamThirdMaintenanceOrder eamThirdMaintenanceOrder = eamThirdMaintenanceOrderService.getById(id); + if (eamThirdMaintenanceOrder == null) { + return Result.error("鏈壘鍒板搴旀暟鎹�"); + } + try { + String json = objectMapper.writeValueAsString(eamThirdMaintenanceOrder); + JSONObject item = JSONObject.parseObject(json, Feature.OrderedField); + translateDictTextUtils.translateField("createBy", eamThirdMaintenanceOrder.getCreateBy(), item, "sys_user,realname,username"); + translateDictTextUtils.translateField("standardId", eamThirdMaintenanceOrder.getStandardId(), item, "eam_maintenance_standard,standard_name,id"); + translateDictTextUtils.translateField("repairman", eamThirdMaintenanceOrder.getRepairman(), item, "sys_user,realname,username"); + translateDictTextUtils.translateField("maintenanceStatus", eamThirdMaintenanceOrder.getMaintenanceStatus(), item, "third_maintenance_status"); + translateDictTextUtils.translateField("creationMethod", eamThirdMaintenanceOrder.getCreationMethod(), item, "order_creation_method"); + translateDictTextUtils.translateField("fullyFunctional", eamThirdMaintenanceOrder.getFullyFunctional(), item, "yn"); + translateDictTextUtils.translateField("runningNormally", eamThirdMaintenanceOrder.getRunningNormally(), item, "yn"); + translateDictTextUtils.translateField("inspector", eamThirdMaintenanceOrder.getInspector(), item, "sys_user,realname,username"); + translateDictTextUtils.translateField("operatorSignature", eamThirdMaintenanceOrder.getOperatorSignature(), item, "sys_user,realname,username"); + translateDictTextUtils.translateField("repairmanSignature", eamThirdMaintenanceOrder.getRepairmanSignature(), item, "sys_user,realname,username"); + translateDictTextUtils.translateField("repairManagerSignature", eamThirdMaintenanceOrder.getRepairManagerSignature(), item, "sys_user,realname,username"); + translateDictTextUtils.translateField("inspectorSignature", eamThirdMaintenanceOrder.getInspectorSignature(), item, "sys_user,realname,username"); + return Result.OK(item); + } catch (JsonProcessingException e) { + return Result.error("鏁版嵁杞瘧澶辫触锛�"); + } + } - /** - * 閫氳繃id浣滃簾 - * - * @param id - * @return - */ - @AutoLog(value = "璁惧涓夌骇淇濆吇-浣滃簾") - @ApiOperation(value = "璁惧涓夌骇淇濆吇-浣滃簾", notes = "璁惧涓夌骇淇濆吇-浣滃簾") - @DeleteMapping(value = "/abolish") - public Result<?> abolish(@RequestParam(name = "id", required = true) String id) { - EamThirdMaintenanceOrder entity = eamThirdMaintenanceOrderService.getById(id); - if (entity == null) { - return Result.error("瑕佷綔搴熺殑鏁版嵁涓嶅瓨鍦紝璇峰埛鏂伴噸璇曪紒"); - } - if (!ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) { - return Result.error("璇ョ姸鎬佺殑鏁版嵁涓嶅厑璁歌繘琛屼綔搴燂紒"); - } - entity.setMaintenanceStatus(ThirdMaintenanceStatusEnum.ABOLISH.name()); - eamThirdMaintenanceOrderService.updateById(entity); - return Result.OK("浣滃簾鎴愬姛!"); - } + /** + * 閫氳繃id浣滃簾 + * + * @param id + * @return + */ + @AutoLog(value = "璁惧涓夌骇淇濆吇-浣滃簾") + @ApiOperation(value = "璁惧涓夌骇淇濆吇-浣滃簾", notes = "璁惧涓夌骇淇濆吇-浣滃簾") + @DeleteMapping(value = "/abolish") + public Result<?> abolish(@RequestParam(name = "id", required = true) String id) { + EamThirdMaintenanceOrder entity = eamThirdMaintenanceOrderService.getById(id); + if (entity == null) { + return Result.error("瑕佷綔搴熺殑鏁版嵁涓嶅瓨鍦紝璇峰埛鏂伴噸璇曪紒"); + } + if (!ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) { + return Result.error("璇ョ姸鎬佺殑鏁版嵁涓嶅厑璁歌繘琛屼綔搴燂紒"); + } + entity.setMaintenanceStatus(ThirdMaintenanceStatusEnum.ABOLISH.name()); + eamThirdMaintenanceOrderService.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 = eamThirdMaintenanceOrderService.collect(id); - if (!b) { - Result.OK("棰嗗彇澶辫触!"); - } - 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 = eamThirdMaintenanceOrderService.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 -> { - EamThirdMaintenanceOrder entity = eamThirdMaintenanceOrderService.getById(id); - if (entity != null && ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) { - entity.setMaintenanceStatus(ThirdMaintenanceStatusEnum.ABOLISH.name()); - eamThirdMaintenanceOrderService.updateById(entity); - i.getAndIncrement(); - } - }); - return Result.OK("鎵归噺浣滃簾鎴愬姛 " + i.get() + " 鏉″伐鍗曪紒"); - } + /** + * 閫氳繃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 -> { + EamThirdMaintenanceOrder entity = eamThirdMaintenanceOrderService.getById(id); + if (entity != null && ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) { + entity.setMaintenanceStatus(ThirdMaintenanceStatusEnum.ABOLISH.name()); + eamThirdMaintenanceOrderService.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 -> { - EamThirdMaintenanceOrder entity = eamThirdMaintenanceOrderService.getById(id); - if (entity != null && ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) { - boolean b = eamThirdMaintenanceOrderService.collect(id); - if (b) { - 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 -> { + EamThirdMaintenanceOrder entity = eamThirdMaintenanceOrderService.getById(id); + if (entity != null && ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) { + boolean b = eamThirdMaintenanceOrderService.collect(id); + if (b) { + i.getAndIncrement(); + } + } + }); + return Result.OK("鎵归噺棰嗗彇鎴愬姛 " + i.get() + " 鏉″伐鍗曪紒"); + } - /** - * 鎴戠殑寰呭姙锛屽鎵瑰姩浣� - * - * @param request - * @return - */ - @ApiOperation(value = "涓変繚宸ュ崟-鎵ц鎿嶄綔", notes = "涓変繚宸ュ崟-鎵ц鎿嶄綔") - @PutMapping(value = "/approval") - public Result<?> approval(@RequestBody EamThirdMaintenanceRequest request) { - if (request == null) { - return Result.error("瀹℃壒鐨勫璞′笉鑳戒负绌猴紒"); - } - // 妫�鏌ヨ姹傚弬鏁� - if (StrUtil.isBlank(request.getTaskId()) || StrUtil.isBlank(request.getDataId()) || StrUtil.isBlank(request.getInstanceId())) { - return Result.error("瀹℃壒浠诲姟閿欒鎴栦笉瀛樺湪锛�"); - } - EamThirdMaintenanceOrder entity = eamThirdMaintenanceOrderService.approval(request); - if (entity == null) { - return Result.error("鎿嶄綔澶辫触锛�"); - } - return Result.ok("鎿嶄綔鎴愬姛锛�"); - } + /** + * 鎴戠殑寰呭姙锛屽鎵瑰姩浣� + * + * @param request + * @return + */ + @ApiOperation(value = "涓変繚宸ュ崟-鎵ц鎿嶄綔", notes = "涓変繚宸ュ崟-鎵ц鎿嶄綔") + @PutMapping(value = "/approval") + public Result<?> approval(@RequestBody EamThirdMaintenanceRequest request) { + if (request == null) { + return Result.error("瀹℃壒鐨勫璞′笉鑳戒负绌猴紒"); + } + // 妫�鏌ヨ姹傚弬鏁� + if (StrUtil.isBlank(request.getTaskId()) || StrUtil.isBlank(request.getDataId()) || StrUtil.isBlank(request.getInstanceId())) { + return Result.error("瀹℃壒浠诲姟閿欒鎴栦笉瀛樺湪锛�"); + } + EamThirdMaintenanceOrder entity = eamThirdMaintenanceOrderService.approval(request); + if (entity == null) { + return Result.error("鎿嶄綔澶辫触锛�"); + } + return Result.ok("鎿嶄綔鎴愬姛锛�"); + } + + /** + * 瀵煎嚭鑾峰彇宸ュ崟鍩烘湰淇℃伅 + * + * @return + */ + @GetMapping("/exportThirdMaintenanceOrderBaseInfo") + public JSONObject exportThirdMaintenanceOrderBaseInfo(@RequestParam(name = "id", required = true) String id) { + return eamThirdMaintenanceOrderService.exportThirdMaintenanceOrderBaseInfo(id); + } } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceOrderDetailMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceOrderDetailMapper.java index 602e622..0f176c6 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceOrderDetailMapper.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceOrderDetailMapper.java @@ -1,7 +1,12 @@ package org.jeecg.modules.eam.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.MapKey; +import org.apache.ibatis.annotations.Param; import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrderDetail; +import org.jeecg.modules.eam.vo.EamThirdMaintenanceBaseVo; + +import java.util.Map; /** * @Description: 璁惧涓夌骇淇濆吇鏄庣粏 @@ -11,4 +16,5 @@ */ public interface EamThirdMaintenanceOrderDetailMapper extends BaseMapper<EamThirdMaintenanceOrderDetail> { + EamThirdMaintenanceBaseVo selectCreatByAndTimeByOrderId(@Param("id") String id); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceOrderMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceOrderMapper.java index 2a8698d..7308b16 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceOrderMapper.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceOrderMapper.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrder; +import org.jeecg.modules.eam.request.EamThirdMaintenanceBaseResponse; /** * @Description: 璁惧涓夌骇淇濆吇 @@ -24,4 +25,11 @@ * @return */ IPage<EamThirdMaintenanceOrder> queryPageList(Page<EamThirdMaintenanceOrder> page, @Param(Constants.WRAPPER) QueryWrapper<EamThirdMaintenanceOrder> queryWrapper); + + /** + * + * @param id + * @return + */ + EamThirdMaintenanceBaseResponse findThirdMaintenanceBaseInfo(@Param("id") String id); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderDetailMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderDetailMapper.xml index c47774d..e2eee36 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderDetailMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderDetailMapper.xml @@ -2,4 +2,25 @@ <!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.EamThirdMaintenanceOrderDetailMapper"> + <select id="selectCreatByAndTimeByOrderId" resultType="org.jeecg.modules.eam.vo.EamThirdMaintenanceBaseVo"> + SELECT DISTINCT + CASE + + WHEN + update_by IS NOT NULL + AND update_time IS NOT NULL THEN + update_by ELSE create_by + END AS operate_by, + CASE + + WHEN update_by IS NOT NULL + AND update_time IS NOT NULL THEN + FORMAT ( update_time, 'yyyy骞碝M鏈坉d鏃�' ) ELSE FORMAT ( create_time, 'yyyy骞碝M鏈坉d鏃�' ) + END AS operate_time + FROM + eam_third_maintenance_order_detail + WHERE + order_id = #{id} + </select> + </mapper> \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml index e75d5da..c02c296 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml @@ -9,4 +9,30 @@ on wmo.equipment_id = e.id ${ew.customSqlSegment} </select> + + <select id="findThirdMaintenanceBaseInfo" resultType="org.jeecg.modules.eam.request.EamThirdMaintenanceBaseResponse"> + SELECT + t1.hf_code_a, + t1.hf_code_b, + t2.equipment_code, + t2.equipment_name, + t2.equipment_model, + t3.factory_name, + CONVERT ( VARCHAR ( 4 ), YEAR ( TRY_CONVERT ( DATE, t1.maintenance_date ) ) ) + '骞�' + CONVERT ( VARCHAR ( 2 ), MONTH ( TRY_CONVERT ( DATE, t1.maintenance_date ) ) ) + '鏈�' + CONVERT ( VARCHAR ( 2 ), DAY ( TRY_CONVERT ( DATE, t1.maintenance_date ) ) ) + '鏃�' AS maintenance_date, + t1.fully_functional, + t1.running_normally, + t1.problem_description, + t1.operator_signature, + t1.assistant_operator, + t1.repairman_signature, + t1.assistant_repairman, + t1.repair_manager_signature, + t1.inspector_signature, + t2.equipment_category + FROM + eam_third_maintenance_order t1 + LEFT JOIN eam_equipment t2 ON t1.equipment_id = t2.id + LEFT JOIN eam_base_factory t3 ON t3.org_code = SUBSTRING ( t2.factory_org_code , 1, 6 ) + WHERE t1.id = #{id} + </select> </mapper> \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderDetailService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderDetailService.java index ca28016..0430659 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderDetailService.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderDetailService.java @@ -2,6 +2,9 @@ import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrderDetail; import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.eam.vo.EamThirdMaintenanceBaseVo; + +import java.util.Map; /** * @Description: 璁惧涓夌骇淇濆吇鏄庣粏 @@ -11,4 +14,5 @@ */ public interface IEamThirdMaintenanceOrderDetailService extends IService<EamThirdMaintenanceOrderDetail> { + EamThirdMaintenanceBaseVo selectCreatByAndTimeByOrderId(String id); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java index d257494..0577cc5 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java @@ -1,5 +1,6 @@ package org.jeecg.modules.eam.service; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.jeecg.common.api.vo.Result; @@ -81,4 +82,10 @@ */ List<EamThirdMaintenanceOrder> selectUnCompletedThirdMaintenanceOrderList(); + /** + * 鑾峰彇宸ュ崟鍩烘湰淇℃伅 + * @param id 宸ュ崟id + * @return + */ + JSONObject exportThirdMaintenanceOrderBaseInfo(String id); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java index 931ffcd..46d2c9a 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java @@ -439,8 +439,6 @@ if (eamWeekInsDetailUserResponseList == null || eamWeekInsDetailUserResponseList.isEmpty()) { return result; } - // 浣跨敤AtomicInteger浣滀负璁℃暟鍣紝浠�1寮�濮� - AtomicInteger counter = new AtomicInteger(1); Map<Integer, EamWeekInsDetailUserResponse> groupMap = eamWeekInsDetailUserResponseList .stream() .collect(Collectors.toMap( diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderDetailServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderDetailServiceImpl.java index a078a3a..c6dd7fc 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderDetailServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderDetailServiceImpl.java @@ -3,9 +3,12 @@ import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrderDetail; import org.jeecg.modules.eam.mapper.EamThirdMaintenanceOrderDetailMapper; import org.jeecg.modules.eam.service.IEamThirdMaintenanceOrderDetailService; +import org.jeecg.modules.eam.vo.EamThirdMaintenanceBaseVo; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.Map; /** * @Description: 璁惧涓夌骇淇濆吇鏄庣粏 @@ -16,4 +19,8 @@ @Service public class EamThirdMaintenanceOrderDetailServiceImpl extends ServiceImpl<EamThirdMaintenanceOrderDetailMapper, EamThirdMaintenanceOrderDetail> implements IEamThirdMaintenanceOrderDetailService { + @Override + public EamThirdMaintenanceBaseVo selectCreatByAndTimeByOrderId(String id) { + return this.baseMapper.selectCreatByAndTimeByOrderId(id); + } } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java index a24b6e6..a1e1fd8 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java @@ -3,6 +3,7 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -25,9 +26,11 @@ import org.jeecg.modules.eam.constant.*; import org.jeecg.modules.eam.entity.*; import org.jeecg.modules.eam.mapper.EamThirdMaintenanceOrderMapper; +import org.jeecg.modules.eam.request.EamThirdMaintenanceBaseResponse; import org.jeecg.modules.eam.request.EamThirdMaintenanceQuery; import org.jeecg.modules.eam.request.EamThirdMaintenanceRequest; import org.jeecg.modules.eam.service.*; +import org.jeecg.modules.eam.vo.EamThirdMaintenanceBaseVo; import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness; import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService; import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI; @@ -38,6 +41,7 @@ import org.jeecg.modules.system.entity.BaseFactoryUser; import org.jeecg.modules.system.service.IBaseFactoryService; import org.jeecg.modules.system.service.IBaseFactoryUserService; +import org.jeecg.modules.system.service.ISysDictService; import org.jeecg.modules.system.service.ISysUserService; import org.jeecg.modules.system.vo.UserSelector; import org.springframework.beans.BeanUtils; @@ -91,6 +95,8 @@ private IEamThirdMaintenanceOrderDetailService eamThirdMaintenanceOrderDetailService; @Resource private IEamThirdMaintenanceSpareService eamThirdMaintenanceSpareService; + @Resource + private ISysDictService sysDictService; @Override public IPage<EamThirdMaintenanceOrder> queryPageList(Page<EamThirdMaintenanceOrder> page, EamThirdMaintenanceQuery query) { @@ -407,6 +413,35 @@ } /** + * 鑾峰彇宸ュ崟鍩烘湰淇℃伅 + * + * @param id 宸ュ崟id + * @return + */ + @Override + public JSONObject exportThirdMaintenanceOrderBaseInfo(String id) { + // 鍒涘缓缁撴灉瀵硅薄 + JSONObject result = new JSONObject(); + EamThirdMaintenanceBaseResponse eamThirdMaintenanceBaseResponse = eamThirdMaintenanceOrderMapper.findThirdMaintenanceBaseInfo(id); + if (eamThirdMaintenanceBaseResponse == null) { + return result; + } + eamThirdMaintenanceBaseResponse.setOperatorSignature(sysDictService.queryTableDictTextByKey("sys_user", "realname", "username", eamThirdMaintenanceBaseResponse.getOperatorSignature()) + "," + eamThirdMaintenanceBaseResponse.getAssistantOperator()); + eamThirdMaintenanceBaseResponse.setRepairmanSignature(sysDictService.queryTableDictTextByKey("sys_user", "realname", "username", eamThirdMaintenanceBaseResponse.getRepairmanSignature()) + "," + eamThirdMaintenanceBaseResponse.getAssistantRepairman()); + eamThirdMaintenanceBaseResponse.setRepairManagerSignature(sysDictService.queryTableDictTextByKey("sys_user", "realname", "username", eamThirdMaintenanceBaseResponse.getRepairManagerSignature())); + eamThirdMaintenanceBaseResponse.setInspectorSignature(sysDictService.queryTableDictTextByKey("sys_user", "realname", "username", eamThirdMaintenanceBaseResponse.getInspectorSignature())); + eamThirdMaintenanceBaseResponse.setEquipmentCategory(sysDictService.queryDictTextByKey("equipment_category", eamThirdMaintenanceBaseResponse.getEquipmentCategory())); + //妫�鏌ヤ汉鍜屾鏌ユ椂闂� + EamThirdMaintenanceBaseVo vo = eamThirdMaintenanceOrderDetailService.selectCreatByAndTimeByOrderId(id); + if (vo != null) { + eamThirdMaintenanceBaseResponse.setCreateBy(sysDictService.queryTableDictTextByKey("sys_user", "realname", "username", vo.getOperateBy())); + eamThirdMaintenanceBaseResponse.setCreateTime(vo.getOperateTime()); + } + result.put("data",Collections.singletonList(eamThirdMaintenanceBaseResponse)); + return result; + } + + /** * 璁剧疆娴佺▼鍙橀噺 */ private void setupProcessVariables(EamThirdMaintenanceRequest request, EamThirdMaintenanceOrder order, LoginUser user, EamEquipment equipment) { diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EamThirdMaintenanceBaseVo.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EamThirdMaintenanceBaseVo.java new file mode 100644 index 0000000..4e4fd9e --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/EamThirdMaintenanceBaseVo.java @@ -0,0 +1,14 @@ +package org.jeecg.modules.eam.vo; + +import lombok.Data; + +/** + * @Author: Lius + * @CreateTime: 2025-08-01 + * @Description: + */ +@Data +public class EamThirdMaintenanceBaseVo { + private String operateBy; + private String operateTime; +} -- Gitblit v1.9.3