From 6d21c8f6f4cc834c5d309a9ee5005158a31c0722 Mon Sep 17 00:00:00 2001 From: cuijian <cuijian@xalxzn.com> Date: 星期二, 24 十月 2023 18:45:29 +0800 Subject: [PATCH] 问题修改 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateDetail.java | 19 +++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/OperationCertificateController.java | 7 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateApply.java | 5 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/OperationCertificateDetailMapper.xml | 7 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionProjectController.java | 151 +++++++++++++++++++++++++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/InspectionProjectImportVo.java | 51 ++++++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/OperationCertificateApplyPage.java | 5 + 7 files changed, 232 insertions(+), 13 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionProjectController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionProjectController.java index 8352c39..0639339 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionProjectController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/InspectionProjectController.java @@ -1,14 +1,26 @@ package org.jeecg.modules.eam.controller; +import java.io.IOException; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.Result; +import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.modules.eam.entity.InspectionProject; -import org.jeecg.modules.eam.entity.InspectionProjectCategory; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.common.util.ImportExcelUtil; +import org.jeecg.modules.base.entity.Unit; +import org.jeecg.modules.base.service.IUnitService; +import org.jeecg.modules.eam.entity.*; import org.jeecg.modules.eam.service.IInspectionProjectService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -18,8 +30,18 @@ import org.jeecg.modules.eam.service.IInspectionProjectCategoryService; import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.modules.eam.vo.InspectionProjectImportVo; +import org.jeecg.modules.system.entity.SysDict; +import org.jeecg.modules.system.entity.SysDictItem; +import org.jeecg.modules.system.service.ISysDictItemService; +import org.jeecg.modules.system.service.ISysDictService; +import org.jeecgframework.poi.excel.ExcelImportUtil; +import org.jeecgframework.poi.excel.entity.ImportParams; 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 io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -40,6 +62,12 @@ private IInspectionProjectService inspectionProjectService; @Autowired private IInspectionProjectCategoryService inspectionProjectCategoryService; + @Autowired + private ISysDictService sysDictService; + @Autowired + private ISysDictItemService sysDictItemService; + @Autowired + private IUnitService unitService; /** * 鍒嗛〉鍒楄〃鏌ヨ @@ -212,8 +240,123 @@ */ //@RequiresPermissions("mom_eam_inspection_project:importExcel") @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, InspectionProject.class); + @Transactional(rollbackFor = Exception.class) + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) throws IOException { + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal(); + Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); + // 閿欒淇℃伅 + List<String> errorMessage = new ArrayList<>(); + int successLines = 0, errorLines = 0; + for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { + MultipartFile file = entity.getValue(); + ImportParams params = new ImportParams(); + params.setNeedSave(true); + try { + List<InspectionProjectImportVo> list = ExcelImportUtil.importExcel(file.getInputStream(), InspectionProjectImportVo.class, params); + for (int i = 0; i < list.size(); i++) { + InspectionProjectImportVo inspectionProjectImportVo = list.get(i); + InspectionProject inspectionProject = new InspectionProject(); + InspectionProjectCategory inspectionProjectCategory = inspectionProjectCategoryService.getOne(new QueryWrapper<InspectionProjectCategory>().eq("name", inspectionProjectImportVo.getInspectionProjectCategoryId()), false); + Unit unit = unitService.getOne(new QueryWrapper<Unit>().eq("name",inspectionProjectImportVo.getUnitId()),false); + inspectionProject.setInspectionTool(inspectionProjectImportVo.getInspectionTool()); + if (StringUtils.isBlank(inspectionProjectImportVo.getNum())) { + errorMessage.add("绗�" + (i + 1) + "琛屽鍏ュけ璐�,鍘熷洜:鐐规椤圭洰缂栫爜缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"); + errorLines++; + continue; + }else { + inspectionProject.setNum(inspectionProjectImportVo.getNum()); + } + if(StringUtils.isBlank(inspectionProjectImportVo.getName())){ + errorMessage.add("绗�"+(i+1)+"琛屽鍏ュけ璐�,鍘熷洜:鐐规椤圭洰鍚嶇О缂哄け,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"); + errorLines++; + continue; + }else { + inspectionProject.setNum(inspectionProjectImportVo.getName()); + } + if(StringUtils.isBlank(inspectionProjectImportVo.getTestValueType())){ + errorMessage.add("绗�"+(i+1)+"琛屽鍏ュけ璐�,鍘熷洜:妫�楠屽�肩被鍨嬬己澶�,璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"); + errorLines++; + continue; + }else if(CollectionUtils.isEmpty(sysDictItemService.lambdaQuery().eq(SysDictItem::getDictId,sysDictService.lambdaQuery().eq(SysDict::getDictCode,"test_value_type").one().getId()).eq(SysDictItem::getItemText,inspectionProjectImportVo.getTestValueType()).list())){ + errorMessage.add("绗�" + (i + 1) + "琛屽鍏ュけ璐�,鍘熷洜:妫�楠屽�肩被鍨嬩笉瀛樺湪,璇峰厛缁存姢妫�楠屽�肩被鍨�;"); + errorLines++; + continue; + }else { + inspectionProject.setTestValueType(sysDictItemService.lambdaQuery().eq(SysDictItem::getDictId,sysDictService.lambdaQuery().eq(SysDict::getDictCode,"test_value_type").one().getId()).eq(SysDictItem::getItemText,inspectionProjectImportVo.getInspectionMethod()).one().getItemValue()); + } + if(ObjectUtils.isNull(inspectionProjectCategory)) { + errorMessage.add("绗�"+(i+1)+"琛屽鍏ュけ璐�,鍘熷洜:璇ョ偣妫�椤圭洰鍒嗙被涓嶅瓨鍦紝璇峰厛缁存姢鐐规椤圭洰鍒嗙被;"); + errorLines++; + continue; + }else { + inspectionProject.setInspectionProjectCategoryId(inspectionProjectCategory.getId()); + } + if("鏋氫妇鍨�".equals(inspectionProjectImportVo.getTestValueType())){ + if(ObjectUtils.isNull(inspectionProjectImportVo.getDetectionStandard())){ + errorMessage.add("绗�"+(i+1)+"琛屽鍏ュけ璐�,鍘熷洜:妫�娴嬫爣鍑嗙己澶憋紝璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"); + errorLines++; + continue; + }else { + inspectionProject.setDetectionStandard(inspectionProjectImportVo.getDetectionStandard()); + } + } + if("鏁板�煎瀷".equals(inspectionProjectImportVo.getTestValueType())){ + if(ObjectUtils.isNull(inspectionProjectImportVo.getSurfaceValue())){ + errorMessage.add("绗�"+(i+1)+"琛屽鍏ュけ璐�,鍘熷洜:鍚嶄箟鍊肩己澶憋紝璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"); + errorLines++; + continue; + }else{ + inspectionProject.setSurfaceValue(inspectionProjectImportVo.getSurfaceValue()); + } + if(ObjectUtils.isNull(inspectionProjectImportVo.getUpValue())){ + errorMessage.add("绗�"+(i+1)+"琛屽鍏ュけ璐�,鍘熷洜:涓婂亸宸己澶憋紝璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"); + errorLines++; + continue; + }else{ + inspectionProject.setUpValue(inspectionProjectImportVo.getUpValue()); + } + if(ObjectUtils.isNull(inspectionProjectImportVo.getDownValue())){ + errorMessage.add("绗�"+(i+1)+"琛屽鍏ュけ璐�,鍘熷洜:涓嬪亸宸己澶憋紝璇峰~鍐欏繀濉」鍚庡啀瀵煎叆;"); + errorLines++; + continue; + }else { + inspectionProject.setDownValue(inspectionProjectImportVo.getDownValue()); + } + } + if(CollectionUtils.isEmpty(sysDictItemService.lambdaQuery().eq(SysDictItem::getDictId,sysDictService.lambdaQuery().eq(SysDict::getDictCode,"inspection_method").one().getId()).eq(SysDictItem::getItemText,inspectionProjectImportVo.getInspectionMethod()).list())){ + errorMessage.add("绗�" + (i + 1) + "琛屽鍏ュけ璐�,鍘熷洜:鐐规鏂规硶涓嶅瓨鍦�,璇峰厛缁存姢鐐规鏂规硶;"); + errorLines++; + continue; + }else{ + inspectionProject.setInspectionMethod(sysDictItemService.lambdaQuery().eq(SysDictItem::getDictId,sysDictService.lambdaQuery().eq(SysDict::getDictCode,"inspection_method").one().getId()).eq(SysDictItem::getItemText,inspectionProjectImportVo.getInspectionMethod()).one().getItemValue()); + } + if(ObjectUtils.isNull(unit)){ + errorMessage.add("绗�" + (i + 1) + "琛屽鍏ュけ璐�,鍘熷洜:璁¢噺鍗曚綅涓嶅瓨鍦�,璇峰厛缁存姢璁¢噺鍗曚綅;"); + errorLines++; + continue; + }else { + inspectionProject.setUnitId(unit.getId()); + } + List<InspectionProject> inspectionProjectList = inspectionProjectService.lambdaQuery().eq(InspectionProject::getNum,inspectionProjectImportVo.getNum()).eq(InspectionProject::getDelFlag,CommonConstant.DEL_FLAG_0).list(); + if(CollectionUtils.isEmpty(inspectionProjectList)){ + inspectionProjectService.save(inspectionProject); + successLines++; + } + } + } catch (Exception e) { + errorMessage.add("鍙戠敓寮傚父锛�" + e.getMessage()); + log.error(e.getMessage(), e); + return (Result<?>) errorMessage; + } finally { + try { + file.getInputStream().close(); + } catch (IOException e) { + log.error(e.getMessage(), e); + } + } + } + return ImportExcelUtil.imporReturnRes(errorLines, successLines, errorMessage); } } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/OperationCertificateController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/OperationCertificateController.java index 6f3dd5d..a7628da 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/OperationCertificateController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/OperationCertificateController.java @@ -12,6 +12,7 @@ import org.jeecg.common.util.DateUtils; import org.jeecg.modules.eam.entity.OperationCertificateApplyDetail; +import org.jeecg.modules.eam.service.IdentityService; import org.jeecg.modules.system.service.SysIdentityService; import org.jeecgframework.poi.excel.ExcelImportUtil; import org.jeecgframework.poi.excel.def.NormalExcelConstants; @@ -60,7 +61,7 @@ private IOperationCertificateDetailService operationCertificateDetailService; @Autowired - private SysIdentityService sysIdentityService; + private IdentityService identityService; /** * 鍒嗛〉鍒楄〃鏌ヨ @@ -104,14 +105,14 @@ @PostMapping(value = "/addOperationCertificate") public Result<String> addOperationCertificate(@RequestBody List<OperationCertificateApplyDetail> operationCertificateList) { for(OperationCertificateApplyDetail operationCertificateApplyDetail : operationCertificateList){ - if("Y".equals(operationCertificateApplyDetail.getExaminationConclusion())){ + if("pass".equals(operationCertificateApplyDetail.getExaminationConclusion())){ Date currentDate = new Date(); Calendar c = Calendar.getInstance(); c.setTime(currentDate); c.add(Calendar.YEAR, 1); currentDate = c.getTime(); OperationCertificate operationCertificate = new OperationCertificate(); - operationCertificate.setNum(sysIdentityService.getNumByTypeAndLength("OperationCertificate", 4)); + operationCertificate.setNum(identityService.getNumByTypeAndLength("OperationCertificate", 4)); operationCertificate.setUserId(operationCertificateApplyDetail.getUserId()); operationCertificate.setEquipmentIds(operationCertificateApplyDetail.getEquipmentIds()); operationCertificate.setCurrentCycleScore(12); diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateApply.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateApply.java index 4742e6b..fe1ad59 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateApply.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateApply.java @@ -53,6 +53,11 @@ @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id") @ApiModelProperty(value = "鐢宠浜�") private String applicant; + /**鍔炵悊浜�*/ + @Excel(name = "鍔炵悊浜�", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "id") + @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id") + @ApiModelProperty(value = "鍔炵悊浜�") + private String handlePerson; /**瀹℃牳鐘舵��*/ @Excel(name = "瀹℃牳鐘舵��", width = 15, dicCode = "certificate_apply_status") @Dict(dicCode = "certificate_apply_status") diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateDetail.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateDetail.java index 2fa74d4..5c6678e 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateDetail.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/OperationCertificateDetail.java @@ -1,10 +1,8 @@ package org.jeecg.modules.eam.entity; import java.io.Serializable; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.annotation.TableLogic; + +import com.baomidou.mybatisplus.annotation.*; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; import org.jeecg.common.aspect.annotation.Dict; @@ -76,4 +74,17 @@ @Excel(name = "灞炴�у瓧娈�5", width = 15) @ApiModelProperty(value = "灞炴�у瓧娈�5") private String uda5; + + + @ApiModelProperty(value = "鎵i櫎鍒嗘暟") + @TableField(exist = false) + private Integer deductionScore; + + @ApiModelProperty(value = "鎵e垎椤瑰唴瀹�") + @TableField(exist = false) + private String deductionScoreName; + + @ApiModelProperty(value = "鎵e垎璁惧") + @TableField(exist = false) + private String equipmentName; } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/OperationCertificateDetailMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/OperationCertificateDetailMapper.xml index 6fca9a7..7be6dd5 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/OperationCertificateDetailMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/OperationCertificateDetailMapper.xml @@ -9,8 +9,11 @@ operation_certificate_id = #{mainId} </delete> <select id="selectByMainId" parameterType="java.lang.String" resultType="org.jeecg.modules.eam.entity.OperationCertificateDetail"> - SELECT * - FROM mom_eam_operation_certificate_detail + SELECT t1.*,t3.name equipmentName,t4.deduction_score deductionScore,t4.content deductionScoreName + FROM mom_eam_operation_certificate_detail t1 + left join mom_eam_operation_certificate t2 on t1.operation_certificate_id = t2.id + left join mom_eam_equipment t3 on t3.id = t1.equipment_id + left join mom_eam_base_deduction_item t4 on t4.id = t1.deduction_item WHERE operation_certificate_id = #{mainId} </select> </mapper> diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/InspectionProjectImportVo.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/InspectionProjectImportVo.java new file mode 100644 index 0000000..643baf0 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/InspectionProjectImportVo.java @@ -0,0 +1,51 @@ +package org.jeecg.modules.eam.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.math.BigDecimal; + + +@Data +@Accessors(chain = true) +public class InspectionProjectImportVo { + + @Excel(name= "鐐规椤圭洰鍒嗙被") + private String inspectionProjectCategoryId; + + @Excel(name="鐐规椤圭洰缂栫爜") + private String num; + + @Excel(name = "鐐规椤圭洰鍚嶇О") + private String name; + + @Excel(name = "璁¢噺鍗曚綅",dictTable = "mom_base_unit", dicCode = "id", dicText = "name") + private String unitId; + + @Excel(name = "妫�楠屽�肩被鍨�",dicCode = "test_value_type") + private String testValueType; + + @Excel(name = "鐐规鏂规硶",dicCode = "inspection_method") + private String inspectionMethod; + + @Excel(name = "妫�娴嬫爣鍑�") + private String detectionStandard; + + @Excel(name = "鐐规宸ュ叿") + private String inspectionTool; + + @Excel(name = "鍚嶄箟鍊�") + private BigDecimal surfaceValue; + + @Excel(name = "涓婂亸宸�") + private BigDecimal upValue; + + @Excel(name = "涓嬪亸宸�") + private BigDecimal downValue; + + @Excel(name = "澶囨敞") + private String remark; + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/OperationCertificateApplyPage.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/OperationCertificateApplyPage.java index 53ce328..492791b 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/OperationCertificateApplyPage.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/vo/OperationCertificateApplyPage.java @@ -52,6 +52,11 @@ @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id") @ApiModelProperty(value = "鐢宠浜�") private String applicant; + /**鍔炵悊浜�*/ + @Excel(name = "鍔炵悊浜�", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "id") + @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id") + @ApiModelProperty(value = "鍔炵悊浜�") + private String handlePerson; /**瀹℃牳鐘舵��*/ @Excel(name = "瀹℃牳鐘舵��", width = 15, dicCode = "certificate_apply_status") @Dict(dicCode = "certificate_apply_status") -- Gitblit v1.9.3