From d40c3ccad0e5264fefd33264254564dead8c80df Mon Sep 17 00:00:00 2001 From: qushaowei <qushaowei@163.com> Date: 星期一, 06 十一月 2023 11:44:36 +0800 Subject: [PATCH] 单据名称增加单据来源 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/SysFileName.java | 97 ++++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/ISysFileNameService.java | 23 ++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/SysFileNameVo.java | 15 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/SysFileNameMapper.java | 28 ++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderMapper.xml | 87 +++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IDailyMaintenanceOrderService.java | 4 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceStoveExempt.java | 10 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/SysFileNameServiceImpl.java | 30 ++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionInspectionController.java | 8 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PrecisionInspection.java | 6 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/SysFileNameMapper.xml | 5 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/DailyMaintenanceOrderServiceImpl.java | 6 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java | 16 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceThreeAcceptanceController.java | 5 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceThreeAcceptance.java | 3 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/DailyMaintenanceOrderMapper.java | 2 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/DailyMaintenanceOrder.java | 16 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/SysFileNameController.java | 251 ++++++++++++++++++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceStoveExemptMapper.xml | 5 19 files changed, 598 insertions(+), 19 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java index 65ecaef..ce8d82b 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java @@ -37,6 +37,7 @@ import lombok.extern.slf4j.Slf4j; +import org.jeecg.modules.eam.vo.SysFileNameVo; import org.jeecg.modules.system.entity.SysUser; import org.jeecg.modules.system.service.ISysUserService; import org.jeecgframework.poi.excel.ExcelImportUtil; @@ -106,6 +107,9 @@ @Autowired private IMaintenanceStoveExemptService maintenanceStoveExemptService; + + @Autowired + private ISysFileNameService sysFileNameService; /** @@ -214,7 +218,7 @@ */ @GetMapping("getDailyMaintenanceOrder3List") public Result<?> getDailyMaintenanceOrder3List(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) { - IPage<Map<String, Object>> dailyMaintenanceOrderList = dailyMaintenanceOrderService.getDailyMaintenanceOrderList(pageNo, pageSize, params); + IPage<Map<String, Object>> dailyMaintenanceOrderList = dailyMaintenanceOrderService.getDailyMaintenanceOrder3List(pageNo, pageSize, params); List<Map<String, Object>> records = dailyMaintenanceOrderList.getRecords(); for (Map<String, Object> record : records) { String id = (String) record.get("id"); @@ -708,8 +712,10 @@ void createMaintenanceStoveExempt(DailyMaintenanceOrder dailyMaintenanceOrder){ + List<SysFileNameVo> sysFileName = sysFileNameService.getSysFileName("20"); MaintenanceStoveExempt maintenanceStoveExempt = new MaintenanceStoveExempt(); maintenanceStoveExempt.setMaintenanceOrderId(dailyMaintenanceOrder.getId()); + maintenanceStoveExempt.setReceipts(sysFileName.get(0).getReceipts()); maintenanceStoveExemptService.save(maintenanceStoveExempt); } @@ -733,9 +739,11 @@ String userId = sysUser.getId(); String orderId = dailyMaintenanceOrder.getId(); + String maintenanceOrderUda3 = dailyMaintenanceOrder.getMaintenanceOrderUda3(); DailyMaintenanceOrder maintenanceOrder = dailyMaintenanceOrderService.getById(orderId); String equipmentId = maintenanceOrder.getEquipmentId(); String confirmStatus = maintenanceOrder.getConfirmStatus(); + String orderUda3 = maintenanceOrder.getMaintenanceOrderUda3(); List<FinishTransferOrder> finishTransferOrders = finishTransferOrderService.lambdaQuery() .eq(FinishTransferOrder::getMaintenanceOrderId, orderId) @@ -746,12 +754,18 @@ finishTransferOrder.setRepairDirectorUser(userId); finishTransferOrderService.updateById(finishTransferOrder); + if(StringUtils.isBlank(orderUda3)){ + maintenanceOrder.setMaintenanceOrderUda3(maintenanceOrderUda3); + } maintenanceOrder.setConfirmStatus("1"); dailyMaintenanceOrderService.updateById(maintenanceOrder); }else{ finishTransferOrder.setEquipmentInspectorUser(userId); finishTransferOrderService.updateById(finishTransferOrder); + if(StringUtils.isBlank(orderUda3)){ + maintenanceOrder.setMaintenanceOrderUda3(maintenanceOrderUda3); + } maintenanceOrder.setConfirmStatus("2"); maintenanceOrder.setStatus("8"); dailyMaintenanceOrderService.updateById(maintenanceOrder); diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceThreeAcceptanceController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceThreeAcceptanceController.java index 871e94f..addae2c 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceThreeAcceptanceController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceThreeAcceptanceController.java @@ -11,6 +11,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; @@ -102,6 +103,7 @@ String userId = sysUser.getId(); String maintenanceOrderId = maintenanceThreeAcceptance.getMaintenanceOrderId(); String equipmentId = maintenanceThreeAcceptance.getEquipmentId(); + String receipts = maintenanceThreeAcceptance.getReceipts(); int maintenanceCycle = Integer.parseInt(maintenanceThreeAcceptance.getMaintenanceCycle()); List<MaintenanceThreeAcceptance> maintenanceThreeAcceptances = maintenanceThreeAcceptance.getMaintenanceThreeAcceptances(); String checkStatus = "1";//涓夌骇淇濆吇楠屾敹鐘舵�侊紙1閫氳繃锛�2鏈�氳繃锛� @@ -117,6 +119,9 @@ } DailyMaintenanceOrder maintenanceOrder = dailyMaintenanceOrderService.getById(maintenanceOrderId); + if(StringUtils.isBlank(maintenanceOrder.getMaintenanceOrderUda5())){ + maintenanceOrder.setMaintenanceOrderUda5(receipts); + } maintenanceOrder.setInspectUser(sysUser.getRealname()); maintenanceOrder.setNotPassReason(maintenanceThreeAcceptance.getNotPassReason()); maintenanceOrder.setCheckStatus(checkStatus); diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionInspectionController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionInspectionController.java index 797eb38..b6375ac 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionInspectionController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionInspectionController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -203,8 +204,10 @@ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String userId = sysUser.getId(); + String receipts = precisionInspection.getReceipts();//绮惧害妫�楠屽崟鍗曟嵁id PrecisionInspection preInspection = precisionInspectionService.getById(precisionInspection.getId()); DailyMaintenanceOrder maintenanceOrder = dailyMaintenanceOrderService.getById(preInspection.getMaintenanceOrderId()); + String maintenanceOrderUda4 = maintenanceOrder.getMaintenanceOrderUda4(); Equipment equipment = equipmentService.getById(maintenanceOrder.getEquipmentId()); String precisionInspectionStatus = maintenanceOrder.getPrecisionInspectionStatus(); @@ -243,8 +246,11 @@ equipment.setTechnologyStatus(precisionInspection.getJudgmentResult()); } - preInspection.setRemark(precisionInspection.getRemark()); + if(StringUtils.isBlank(maintenanceOrderUda4)){ + maintenanceOrder.setMaintenanceOrderUda4(receipts); + } dailyMaintenanceOrderService.updateById(maintenanceOrder); + preInspection.setRemark(precisionInspection.getRemark()); precisionInspectionService.updateById(preInspection); equipmentService.updateById(equipment); return Result.OK("瀹℃壒鎴愬姛!"); diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/SysFileNameController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/SysFileNameController.java new file mode 100644 index 0000000..4923d61 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/SysFileNameController.java @@ -0,0 +1,251 @@ +package org.jeecg.modules.eam.controller; + +import java.math.BigDecimal; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.eam.entity.MaintenanceCycle; +import org.jeecg.modules.eam.entity.SysFileName; +import org.jeecg.modules.eam.model.DepartVo; +import org.jeecg.modules.eam.service.ISysFileNameService; + +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.modules.eam.vo.SysFileNameVo; +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.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import com.alibaba.fastjson.JSON; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.jeecg.common.aspect.annotation.AutoLog; + + /** + * @Description: 鏂囦欢鍚嶇О绠$悊 + * @Author: jeecg-boot + * @Date: 2023-11-03 + * @Version: V1.0 + */ +@Api(tags="鏂囦欢鍚嶇О绠$悊") +@RestController +@RequestMapping("/eam/sysFileName") +@Slf4j +public class SysFileNameController extends JeecgController<SysFileName, ISysFileNameService> { + @Autowired + private ISysFileNameService sysFileNameService; + + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param sysFileName + * @param pageNo + * @param pageSize + * @param req + * @return + */ + //@AutoLog(value = "鏂囦欢鍚嶇О绠$悊-鍒嗛〉鍒楄〃鏌ヨ") + @ApiOperation(value="鏂囦欢鍚嶇О绠$悊-鍒嗛〉鍒楄〃鏌ヨ", notes="鏂囦欢鍚嶇О绠$悊-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<IPage<SysFileName>> queryPageList(SysFileName sysFileName, + @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + if(StringUtils.isBlank(sysFileName.getVersionStatus())){ + sysFileName.setVersionStatus("2"); + } + QueryWrapper<SysFileName> queryWrapper = QueryGenerator.initQueryWrapper(sysFileName, req.getParameterMap()); + Page<SysFileName> page = new Page<SysFileName>(pageNo, pageSize); + IPage<SysFileName> pageList = sysFileNameService.page(page, queryWrapper); + return Result.OK(pageList); + } + + /** + * 娣诲姞 + * + * @param sysFileName + * @return + */ + @AutoLog(value = "鏂囦欢鍚嶇О绠$悊-娣诲姞") + @ApiOperation(value="鏂囦欢鍚嶇О绠$悊-娣诲姞", notes="鏂囦欢鍚嶇О绠$悊-娣诲姞") + //@RequiresPermissions("org.jeecg.modules.mdc:sys_file_name:add") + @PostMapping(value = "/add") + public Result<String> add(@RequestBody SysFileName sysFileName) { + sysFileNameService.save(sysFileName); + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + /** + * 缂栬緫 + * + * @param sysFileName + * @return + */ + @AutoLog(value = "鏂囦欢鍚嶇О绠$悊-缂栬緫") + @ApiOperation(value="鏂囦欢鍚嶇О绠$悊-缂栬緫", notes="鏂囦欢鍚嶇О绠$悊-缂栬緫") + //@RequiresPermissions("org.jeecg.modules.mdc:sys_file_name:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) + public Result<String> edit(@RequestBody SysFileName sysFileName) { + sysFileNameService.updateById(sysFileName); + return Result.OK("缂栬緫鎴愬姛!"); + } + + + /** + * 鐗堟湰鍗囩骇 + * qsw 2023-11-3 + */ + @PostMapping(value = "/revise") + public Result<String> revise(@RequestBody SysFileName sysFileName) { + sysFileName.setId(""); + boolean b = sysFileNameService.save(sysFileName); + if(b){ + return Result.OK("鐗堟湰鍗囩骇鎴愬姛锛�"); + }else{ + return Result.error("鐗堟湰鍗囩骇澶辫触锛�"); + } + } + + /** + * 鍗囩増 + * qsw 2023-11-3 + */ + @RequestMapping("/getReviseVersion") + public Result<?> getReviseVersion(@RequestBody SysFileName sysFileName) { + List<SysFileName> sysFileNames = sysFileNameService.lambdaQuery() + .eq(SysFileName::getName, sysFileName.getName()) + .orderByDesc(SysFileName::getVersion) + .list(); + String version = sysFileNames.get(0).getVersion(); + BigDecimal versionB = new BigDecimal(version); + BigDecimal versionCode = versionB.add(new BigDecimal(1)); + return Result.ok(versionCode.toString()); + } + + /** + * 鐗堟湰鐢熸晥 + * qsw 2023-7-26 + */ + @RequestMapping(value = "/versionTakeEffect", method = {RequestMethod.PUT,RequestMethod.POST}) + @Transactional(rollbackFor = { Exception.class }) + public Result<String> versionTakeEffect(@RequestBody SysFileName sysFileName) { + List<SysFileName> sysFileNames = sysFileNameService.lambdaQuery() + .eq(SysFileName::getName, sysFileName.getName()).list(); + for (SysFileName fileName : sysFileNames) { + fileName.setVersionStatus("3"); + sysFileNameService.updateById(fileName); + } + boolean b = sysFileNameService.updateById(sysFileName); + if (b){ + return Result.OK("鐢熸晥鎴愬姛!"); + }else{ + return Result.error("鐢熸晥澶辫触!"); + } + } + + /** + * 閫氳繃鍗曟嵁绫诲瀷鑾峰彇鍗曟嵁缂栫爜 + * qsw 2023-11-3 + */ + @GetMapping("getSysFileName") + public Result<?> getSysFileName(@RequestParam(name="name",required=true) String name) { + List<SysFileNameVo> sysFileName = sysFileNameService.getSysFileName(name); + return Result.ok(sysFileName); + } + + /** + * 閫氳繃id鍒犻櫎 + * + * @param id + * @return + */ + @AutoLog(value = "鏂囦欢鍚嶇О绠$悊-閫氳繃id鍒犻櫎") + @ApiOperation(value="鏂囦欢鍚嶇О绠$悊-閫氳繃id鍒犻櫎", notes="鏂囦欢鍚嶇О绠$悊-閫氳繃id鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules.mdc:sys_file_name:delete") + @DeleteMapping(value = "/delete") + public Result<String> delete(@RequestParam(name="id",required=true) String id) { + sysFileNameService.removeById(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @AutoLog(value = "鏂囦欢鍚嶇О绠$悊-鎵归噺鍒犻櫎") + @ApiOperation(value="鏂囦欢鍚嶇О绠$悊-鎵归噺鍒犻櫎", notes="鏂囦欢鍚嶇О绠$悊-鎵归噺鍒犻櫎") + //@RequiresPermissions("org.jeecg.modules.mdc:sys_file_name:deleteBatch") + @DeleteMapping(value = "/deleteBatch") + public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { + this.sysFileNameService.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<SysFileName> queryById(@RequestParam(name="id",required=true) String id) { + SysFileName sysFileName = sysFileNameService.getById(id); + if(sysFileName==null) { + return Result.error("鏈壘鍒板搴旀暟鎹�"); + } + return Result.OK(sysFileName); + } + + /** + * 瀵煎嚭excel + * + * @param request + * @param sysFileName + */ + //@RequiresPermissions("org.jeecg.modules.mdc:sys_file_name:exportXls") + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, SysFileName sysFileName) { + return super.exportXls(request, sysFileName, SysFileName.class, "鏂囦欢鍚嶇О绠$悊"); + } + + /** + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ + //@RequiresPermissions("sys_file_name:importExcel") + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, SysFileName.class); + } + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/DailyMaintenanceOrder.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/DailyMaintenanceOrder.java index 511a059..93b92a4 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/DailyMaintenanceOrder.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/DailyMaintenanceOrder.java @@ -94,17 +94,17 @@ @Excel(name = "澶囩敤瀛楁2", width = 15) @ApiModelProperty(value = "澶囩敤瀛楁2") private String maintenanceOrderUda2; - /**澶囩敤瀛楁3*/ - @Excel(name = "澶囩敤瀛楁3", width = 15) - @ApiModelProperty(value = "澶囩敤瀛楁3") + /**浜岀骇淇濆吇瀹屽伐绉讳氦鍗曞崟鎹紪鐮乮d*/ + @Excel(name = "浜岀骇淇濆吇瀹屽伐绉讳氦鍗曞崟鎹紪鐮乮d", width = 15) + @ApiModelProperty(value = "浜岀骇淇濆吇瀹屽伐绉讳氦鍗曞崟鎹紪鐮乮d") private String maintenanceOrderUda3; /**澶囩敤瀛楁4*/ - @Excel(name = "澶囩敤瀛楁4", width = 15) - @ApiModelProperty(value = "澶囩敤瀛楁4") + @Excel(name = "涓夌骇淇濆吇绮惧害妫�楠屽崟鍗曟嵁缂栫爜id", width = 15) + @ApiModelProperty(value = "涓夌骇淇濆吇绮惧害妫�楠屽崟鍗曟嵁缂栫爜id") private String maintenanceOrderUda4; - /**澶囩敤瀛楁5*/ - @Excel(name = "澶囩敤瀛楁5", width = 15) - @ApiModelProperty(value = "澶囩敤瀛楁5") + /**涓夌骇淇濆吇楠屾敹鍗曞崟鎹紪鐮乮d*/ + @Excel(name = "涓夌骇淇濆吇楠屾敹鍗曞崟鎹紪鐮乮d", width = 15) + @ApiModelProperty(value = "涓夌骇淇濆吇楠屾敹鍗曞崟鎹紪鐮乮d") private String maintenanceOrderUda5; /**鍒涘缓绫诲瀷锛�1鎵嬪姩鍒涘缓锛�2鑷姩鍒涘缓锛�*/ @Excel(name = "鍒涘缓绫诲瀷锛�1鎵嬪姩鍒涘缓锛�2鑷姩鍒涘缓锛�", width = 15) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceStoveExempt.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceStoveExempt.java index 7ada840..7f43b4e 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceStoveExempt.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceStoveExempt.java @@ -50,12 +50,16 @@ @Excel(name = "浠〃宸�", width = 15) @ApiModelProperty(value = "浠〃宸�") private java.lang.String meterUser; - /**闂椤�*/ - @Excel(name = "闂椤�", width = 15) + + /**闂椤�*/ + @Excel(name = "闂椤�", width = 15) @ApiModelProperty(value = "闂椤�") private java.lang.String sort; - + /**鐐夋俯鍧囧寑鎬�20鏉℃鍗曟嵁id*/ + @Excel(name = "鐐夋俯鍧囧寑鎬�20鏉℃鍗曟嵁id", width = 15) + @ApiModelProperty(value = "鐐夋俯鍧囧寑鎬�20鏉℃鍗曟嵁id") + private java.lang.String receipts; /**缁撴灉1*/ @Excel(name = "缁撴灉1", width = 15) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceThreeAcceptance.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceThreeAcceptance.java index 591b44a..f548424 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceThreeAcceptance.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/MaintenanceThreeAcceptance.java @@ -77,4 +77,7 @@ @TableField(exist = false) private String equipmentId; + + @TableField(exist = false) + private String receipts; } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PrecisionInspection.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PrecisionInspection.java index b8210be..79a45b8 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PrecisionInspection.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/PrecisionInspection.java @@ -126,6 +126,12 @@ @ApiModelProperty(value = "璁惧妫�楠屽憳绛惧瓧锛堢洊绔狅級") private String equipmentInspectorSignUser; + /** + * 鍗曟嵁id + */ + @TableField(exist = false) + private String receipts; + @TableField(exist = false) private List<PrecisionInspectionDetail> precisionInspectionDetailList; } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/SysFileName.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/SysFileName.java new file mode 100644 index 0000000..0766efe --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/SysFileName.java @@ -0,0 +1,97 @@ +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.*; +import lombok.Data; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.jeecg.common.system.base.entity.JeecgEntity; +import org.springframework.format.annotation.DateTimeFormat; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecg.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + * @Description: 鏂囦欢鍚嶇О绠$悊 + * @Author: jeecg-boot + * @Date: 2023-11-03 + * @Version: V1.0 + */ +@Data +@TableName("sys_file_name") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="sys_file_name瀵硅薄", description="鏂囦欢鍚嶇О绠$悊") +public class SysFileName extends JeecgEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /**鏂囦欢缂栧彿*/ + @Excel(name = "鏂囦欢缂栧彿", width = 15) + @ApiModelProperty(value = "鏂囦欢缂栧彿") + private java.lang.String num; + /**鏂囦欢鍚嶇О*/ + @Excel(name = "鏂囦欢鍚嶇О", width = 15) + @ApiModelProperty(value = "鏂囦欢鍚嶇О") + @Dict(dicCode = "sys_file_name") + private java.lang.String name; + /**鏂囦欢绫诲瀷*/ + @Excel(name = "鏂囦欢绫诲瀷", width = 15) + @ApiModelProperty(value = "鏂囦欢绫诲瀷") + private java.lang.String type; + /**鏂囦欢鍦板潃*/ + @Excel(name = "鏂囦欢鍦板潃", width = 15) + @ApiModelProperty(value = "鏂囦欢鍦板潃") + private java.lang.String fileUrl; + /**灞炴�у瓧娈�1*/ + @Excel(name = "灞炴�у瓧娈�1", width = 15) + @ApiModelProperty(value = "灞炴�у瓧娈�1") + private java.lang.String uda1; + /**灞炴�у瓧娈�2*/ + @Excel(name = "灞炴�у瓧娈�2", width = 15) + @ApiModelProperty(value = "灞炴�у瓧娈�2") + private java.lang.String uda2; + /**灞炴�у瓧娈�3*/ + @Excel(name = "灞炴�у瓧娈�3", width = 15) + @ApiModelProperty(value = "灞炴�у瓧娈�3") + private java.lang.String uda3; + /**灞炴�у瓧娈�4*/ + @Excel(name = "灞炴�у瓧娈�4", width = 15) + @ApiModelProperty(value = "灞炴�у瓧娈�4") + private java.lang.String uda4; + /**灞炴�у瓧娈�5*/ + @Excel(name = "灞炴�у瓧娈�5", width = 15) + @ApiModelProperty(value = "灞炴�у瓧娈�5") + private java.lang.String uda5; + + /**鎵�灞為儴闂�*/ + @ApiModelProperty(value = "鎵�灞為儴闂�") + private java.lang.String sysOrgCode; + + /**鐗堟湰*/ + @Excel(name = "鐗堟湰", width = 15) + @ApiModelProperty(value = "鐗堟湰") + private String version; + /**鐗堟湰鐘舵��*/ + @Excel(name = "鐗堟湰鐘舵��", width = 15) + @ApiModelProperty(value = "鐗堟湰鐘舵��") + @Dict(dicCode = "version_status") + private String versionStatus; + + @TableField(exist = false) + private String receipts; + + @TableField(exist = false) + private String receiptsNum; + + @TableField(exist = false) + private String receiptsName; + + @TableField(exist = false) + private String maintenanceOrderUda3; +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/DailyMaintenanceOrderMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/DailyMaintenanceOrderMapper.java index 24f94a8..a2279a3 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/DailyMaintenanceOrderMapper.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/DailyMaintenanceOrderMapper.java @@ -24,6 +24,8 @@ IPage<Map<String, Object>> getDailyMaintenanceOrderList(IPage<Map> pageData, @Param("params") Map<String,Object> params); + IPage<Map<String, Object>> getDailyMaintenanceOrder3List(IPage<Map> pageData, @Param("params") Map<String,Object> params); + List<MaintenanceCycleVo> getMaintenanceCycleByStandardId(@Param("maintenanceStandardId")String maintenanceStandardId); //鏍规嵁淇濆吇鏍囧噯,淇濆吇鍛ㄦ湡鑾峰彇淇濆吇鏍囧噯涓嬪搴旂殑淇濆吇椤圭洰 锛堟墜鍔ㄧ敓鎴愭棩甯镐繚鍏诲伐鍗曪級 diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/SysFileNameMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/SysFileNameMapper.java new file mode 100644 index 0000000..a331e6f --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/SysFileNameMapper.java @@ -0,0 +1,28 @@ +package org.jeecg.modules.eam.mapper; + +import java.util.List; + +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.jeecg.modules.eam.entity.SysFileName; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.eam.model.DepartVo; +import org.jeecg.modules.eam.vo.SysFileNameVo; + +/** + * @Description: 鏂囦欢鍚嶇О绠$悊 + * @Author: jeecg-boot + * @Date: 2023-11-03 + * @Version: V1.0 + */ +public interface SysFileNameMapper extends BaseMapper<SysFileName> { + + + /** + * 閫氳繃鍗曟嵁绫诲瀷鑾峰彇鍗曟嵁缂栫爜 + * qsw 2023-11-3 + */ + @Select("select t1.id as receipts,t1.id as maintenanceOrderUda3,t1.num as receiptsNum,t2.item_text as receiptsName,t1.num as receiptsNum2,t2.item_text as receiptsName2 from sys_file_name t1 left join (SELECT * FROM v_sys_dict WHERE dict_code = 'sys_file_name') t2 on t2.item_value = t1.name where t1.version_status = '2' and t1.name =#{name}") + List<SysFileNameVo> getSysFileName(@Param("name")String name); + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderMapper.xml index acc64f2..3e44ae1 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderMapper.xml @@ -46,7 +46,6 @@ t1.status, t5.item_text as statusName, t1.num, - t1.num as technologyStatusVerificationBill, t4.id as maintenanceCycleId, t4.maintenance_type as maintenanceType, t10.item_text as maintenanceTypeName, @@ -82,11 +81,9 @@ t1.remark, t1.description, t1.precision_inspection_status as precisionInspectionStatus, - t1.stove_exempt_status as stoveExemptStatus, - t1.inspect_user as inspectUser, - t1.inspect_date as inspectDate, - t12.item_text as checkStatusName, - t1.not_pass_reason as notPassReason + t1.maintenance_order_uda3 as receipts, + t12.num as receiptsNum, + t13.item_text as receiptsName FROM mom_eam_daily_maintenance_order t1 LEFT JOIN mom_eam_maintenance_standard t2 ON t1.maintenance_standard_id = t2.id @@ -99,7 +96,85 @@ left join sys_user t8 on t1.maintenance_user_id = t8.id left join ( SELECT * FROM v_sys_dict WHERE dict_code = 'assign_mode' ) t9 on t9.item_value = t2.assign_mode left join (SELECT * FROM v_sys_dict WHERE dict_code = 'maintenance_type') t10 on t10.item_value = t4.maintenance_type + left join sys_file_name t12 on t1.maintenance_order_uda3 = t12.id + left join (SELECT * FROM v_sys_dict WHERE dict_code = 'sys_file_name') t13 on t13.item_value = t12.name + WHERE t1.del_flag = 0 and t2.del_flag = 0 and t3.del_flag = 0 and t4.del_flag = 0 and t4.maintenance_type =#{params.maintenanceType} + <if test="params.num != null and params.num != ''"> + and t1.num like concat('%',#{params.num},'%') + </if> + ORDER BY t1.create_time desc + </select> + + <select id="getDailyMaintenanceOrder3List" parameterType="Map" resultType="Map"> + SELECT + t1.id, + t1.status, + t5.item_text as statusName, + t1.num, + t1.num as technologyStatusVerificationBill, + t4.id as maintenanceCycleId, + t4.maintenance_type as maintenanceType, + t10.item_text as maintenanceTypeName, + t4.cycle as maintenanceCycle, + concat(t4.code, '/', t4.name) as maintenanceCycleName, + t3.id as equipmentId, + t3.num as equipmentNum, + t3.name as equipmentName, + t3.model as equipmentModel, + t3.specification, + t3.technology_status as technologyStatus, + t3.precision_parameters as precisionParameters, + t11.id as equipmentCategoryId, + t11.name as equipmentCategoryName, + t2.id as maintenanceStandardId, + t2.num as maintenanceStandardNum, + t2.assign_mode assignMode, + t3.team_id teamId, + t3.use_id as useId, + t6.depart_name as departName, + t7.name as teamName, + DATEADD(DAY,-30,t1.plan_start_time) as yellowWarningTime, + DATEADD(DAY,-7,t1.plan_start_time) as redWarningTime, + CONVERT(varchar(100), GETDATE(), 20) AS currentDateTime, + t1.plan_start_time as planStartTime, + t1.plan_end_time as planEndTime, + t1.actual_start_time as actualStartTime, + t1.actual_end_time as actualEndTime, + t8.realname as maintenanceUserName, + t9.item_text as assignModeName, + t1.create_by as createBy, + t1.create_time as createTime, + t1.remark, + t1.description, + t1.precision_inspection_status as precisionInspectionStatus, + t1.stove_exempt_status as stoveExemptStatus, + t1.inspect_user as inspectUser, + t1.inspect_date as inspectDate, + t12.item_text as checkStatusName, + t1.not_pass_reason as notPassReason, + t1.maintenance_order_uda5 as receipts, + t13.num as receiptsNum, + t14.item_text as receiptsName, + t1.maintenance_order_uda4 as receipts2, + t15.num as receiptsNum2, + t16.item_text as receiptsName2 + FROM + mom_eam_daily_maintenance_order t1 + LEFT JOIN mom_eam_maintenance_standard t2 ON t1.maintenance_standard_id = t2.id + left join mom_eam_equipment t3 on t1.equipment_id = t3.id + left join mom_eam_equipment_category t11 on t3.equipment_category_id = t11.id + left join mom_eam_maintenance_cycle t4 on t1.maintenance_cycle_id = t4.id + LEFT JOIN ( SELECT * FROM v_sys_dict WHERE dict_code = 'daily_maintenance_order_status' ) t5 on t5.item_value = t1.status + left join sys_depart t6 on t3.use_id = t6.id + left join mom_base_team t7 on t7.id = t3.team_id + left join sys_user t8 on t1.maintenance_user_id = t8.id + left join ( SELECT * FROM v_sys_dict WHERE dict_code = 'assign_mode' ) t9 on t9.item_value = t2.assign_mode + left join (SELECT * FROM v_sys_dict WHERE dict_code = 'maintenance_type') t10 on t10.item_value = t4.maintenance_type left join (SELECT * FROM v_sys_dict WHERE dict_code = 'check_status') t12 on t12.item_value = t1.check_status + left join sys_file_name t13 on t1.maintenance_order_uda5 = t13.id + left join (SELECT * FROM v_sys_dict WHERE dict_code = 'sys_file_name') t14 on t14.item_value = t13.name + left join sys_file_name t15 on t1.maintenance_order_uda4 = t15.id + left join (SELECT * FROM v_sys_dict WHERE dict_code = 'sys_file_name') t16 on t16.item_value = t15.name WHERE t1.del_flag = 0 and t2.del_flag = 0 and t3.del_flag = 0 and t4.del_flag = 0 and t4.maintenance_type =#{params.maintenanceType} <if test="params.num != null and params.num != ''"> and t1.num like concat('%',#{params.num},'%') diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceStoveExemptMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceStoveExemptMapper.xml index e39158d..2f836e6 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceStoveExemptMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/MaintenanceStoveExemptMapper.xml @@ -31,12 +31,17 @@ ISNULL( t1.result_20, 0 ) AS result_20, ISNULL( t1.result_21, 0 ) AS result_21, ISNULL( t1.result_22, 0 ) AS result_22, + t1.receipts, + t5.num as receiptsNum, + t6.item_text as receiptsName, t1.update_time as updateTime FROM mom_eam_maintenance_stove_exempt t1 LEFT JOIN sys_user t2 ON t1.repair_director_user = t2.id LEFT JOIN sys_user t3 ON t1.maintenance_user = t3.id LEFT JOIN sys_user t4 ON t1.meter_user = t4.id + left join sys_file_name t5 on t1.receipts = t5.id + left join (SELECT * FROM v_sys_dict WHERE dict_code = 'sys_file_name') t6 on t6.item_value = t5.name where t1.del_flag = '0' and t1.maintenance_order_id = #{maintenanceOrderId} </select> </mapper> \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/SysFileNameMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/SysFileNameMapper.xml new file mode 100644 index 0000000..a9efd0d --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/SysFileNameMapper.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="org.jeecg.modules.eam.mapper.SysFileNameMapper"> + +</mapper> \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IDailyMaintenanceOrderService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IDailyMaintenanceOrderService.java index 7e3cda7..e10a2dc 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IDailyMaintenanceOrderService.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IDailyMaintenanceOrderService.java @@ -20,6 +20,10 @@ //鑾峰彇鏃ュ父淇濆吇宸ュ崟 IPage<Map<String, Object>> getDailyMaintenanceOrderList(Integer pageNo, Integer pageSize, Map<String, Object> params); + + //鑾峰彇3淇濅繚鍏诲伐鍗� + IPage<Map<String, Object>> getDailyMaintenanceOrder3List(Integer pageNo, Integer pageSize, Map<String, Object> params); + List<MaintenanceCycleVo> getMaintenanceCycleByStandardId(String maintenanceStandardId); //鏍规嵁淇濆吇鏍囧噯,淇濆吇鍛ㄦ湡鑾峰彇淇濆吇鏍囧噯涓嬪搴旂殑淇濆吇椤圭洰 锛堟墜鍔ㄧ敓鎴愭棩甯镐繚鍏诲伐鍗曪級 diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/ISysFileNameService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/ISysFileNameService.java new file mode 100644 index 0000000..ef2efa0 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/ISysFileNameService.java @@ -0,0 +1,23 @@ +package org.jeecg.modules.eam.service; + +import org.jeecg.modules.eam.entity.SysFileName; +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.eam.model.DepartVo; +import org.jeecg.modules.eam.vo.SysFileNameVo; + +import java.util.List; + +/** + * @Description: 鏂囦欢鍚嶇О绠$悊 + * @Author: jeecg-boot + * @Date: 2023-11-03 + * @Version: V1.0 + */ +public interface ISysFileNameService extends IService<SysFileName> { + + /** + * 閫氳繃鍗曟嵁绫诲瀷鑾峰彇鍗曟嵁缂栫爜 + * qsw 2023-11-3 + */ + List<SysFileNameVo> getSysFileName(String name); +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/DailyMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/DailyMaintenanceOrderServiceImpl.java index b615ab1..4bac73c 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/DailyMaintenanceOrderServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/DailyMaintenanceOrderServiceImpl.java @@ -30,6 +30,12 @@ } @Override + public IPage<Map<String, Object>> getDailyMaintenanceOrder3List(Integer pageNo, Integer pageSize, Map<String, Object> params) { + IPage<Map> pageData = new Page<Map>(pageNo, pageSize); + return super.getBaseMapper().getDailyMaintenanceOrder3List(pageData,params); + } + + @Override public List<MaintenanceCycleVo> getMaintenanceCycleByStandardId(String maintenanceStandardId) { return this.baseMapper.getMaintenanceCycleByStandardId(maintenanceStandardId); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/SysFileNameServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/SysFileNameServiceImpl.java new file mode 100644 index 0000000..a1e0a63 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/SysFileNameServiceImpl.java @@ -0,0 +1,30 @@ +package org.jeecg.modules.eam.service.impl; + +import org.jeecg.modules.eam.entity.SysFileName; +import org.jeecg.modules.eam.mapper.SysFileNameMapper; +import org.jeecg.modules.eam.service.ISysFileNameService; +import org.jeecg.modules.eam.vo.SysFileNameVo; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.List; + +/** + * @Description: 鏂囦欢鍚嶇О绠$悊 + * @Author: jeecg-boot + * @Date: 2023-11-03 + * @Version: V1.0 + */ +@Service +public class SysFileNameServiceImpl extends ServiceImpl<SysFileNameMapper, SysFileName> implements ISysFileNameService { + + /** + * 閫氳繃鍗曟嵁绫诲瀷鑾峰彇鍗曟嵁缂栫爜 + * qsw 2023-11-3 + */ + @Override + public List<SysFileNameVo> getSysFileName(String name) { + return this.baseMapper.getSysFileName(name); + } +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/SysFileNameVo.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/SysFileNameVo.java new file mode 100644 index 0000000..6dff912 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/SysFileNameVo.java @@ -0,0 +1,15 @@ +package org.jeecg.modules.eam.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import lombok.Data; + +@Data +public class SysFileNameVo { + + private String receipts; + private String receiptsNum; + private String receiptsName; + private String receiptsNum2; + private String receiptsName2; + private String maintenanceOrderUda3; +} -- Gitblit v1.9.3