originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{
Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
throw new BusinessException(BusinessExceptionEnum.ID_NULL);
});
@@ -96,8 +95,8 @@
@ApiOperation("原始记录导出")
@PostMapping("/export")
- public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) {
-// businessEnvironmentRecordService.environmentExport(request, response);
+ public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) {
+ businessOriginalRecordService.originExport(request, response);
}
@ApiOperation("获取设备")
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
index cf5f125..9637b3a 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
@@ -227,4 +227,5 @@
return meterFileService.querySelectList();
}
+
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
index 83b9856..09a95be 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
@@ -34,6 +34,7 @@
SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"),
EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"),
ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"),
+ ORIGIN_DATA("originData", "originData", "原始记录"),
ADVICE_EXPORT("adviceData", "adviceData", "客户反馈");
ExportEnum(String fileName, String sheetName, String description) {
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
index 56f6602..dfd2c3e 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
@@ -2,11 +2,14 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordResponse;
import com.casic.missiles.model.business.BusinessOriginalRecord;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* Mapper 接口
@@ -21,4 +24,6 @@
Page originListPage(Page page, @Param("request") OriginRecordRequest request);
+ List originExportList(@Param("request") OriginRecordRequest request);
+
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
index 879a43f..b5f43e8 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
@@ -55,9 +55,56 @@
and bor.create_user = #{request.createUser}
-
- ORDER BY mfa.create_time DESC
+ ORDER BY bor.create_time DESC
+
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
new file mode 100644
index 0000000..cc0dac1
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
@@ -0,0 +1,31 @@
+package com.casic.missiles.dto.business.originRecord;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class OriginRecordRequest {
+
+ @ApiModelProperty(value = "原始记录单编号", dataType = "String")
+ private String originalRecordCode;
+
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ private String sampleName;
+
+ @ApiModelProperty(value = "样品型号", dataType = "String")
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "校验类别", dataType = "String")
+ private String calibrationCategory;
+
+ @ApiModelProperty(value = "创建人", dataType = "String")
+ private String createUser;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
new file mode 100644
index 0000000..4c0521d
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
@@ -0,0 +1,93 @@
+package com.casic.missiles.dto.business.originRecord;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import com.alibaba.excel.enums.poi.BorderStyleEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+@ColumnWidth(30)
+@HeadRowHeight(15)
+@ContentRowHeight(20)
+@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN)
+@ExcelIgnoreUnannotated
+public class OriginRecordResponse {
+
+ @ApiModelProperty(value = "记录id", dataType = "Long")
+ private Long id;
+
+ @ApiModelProperty(value = "原始记录编号", dataType = "String")
+ @ExcelProperty(value = "原始记录编号", order = 0)
+ private String originalRecordCode;
+
+ @ApiModelProperty(value = "原始记录名称", dataType = "String")
+ @ExcelProperty(value = "原始记录名称", order = 1)
+ private String originalRecordName;
+
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ @ExcelProperty(value = "样品编号", order = 2)
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ @ExcelProperty(value = "样品名称", order = 3)
+ private String sampleName;
+
+ @ApiModelProperty(value = "样品型号", dataType = "String")
+ @ExcelProperty(value = "型号", order = 5)
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ @ExcelProperty(value = "出厂编号", order = 4)
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "检校类别", dataType = "String")
+ @ExcelProperty(value = "检校类别", order = 6)
+ private String calibrationCategory;
+
+ @ApiModelProperty(value = "检校时间", dataType = "String")
+ private String calibrationTime;
+
+
+ @ApiModelProperty(value = "环境记录单id", dataType = "Long")
+ private Long environmentId;
+
+
+ @ApiModelProperty(value = "检校地点", dataType = "String")
+ private String calibrationPlace;
+
+
+ @ApiModelProperty(value = "委托书id", dataType = "Long")
+ private Long orderId;
+
+
+ @ApiModelProperty(value = "样品id", dataType = "Long")
+ private Long sampleId;
+
+
+ @ApiModelProperty(value = "原始记录模板id", dataType = "Long")
+ private Long templateId;
+
+ @ApiModelProperty(value = "原始记录附件", dataType = "String")
+ private String originalRecordFile;
+
+
+ @ApiModelProperty(value = "备注", dataType = "String")
+ @ExcelProperty(value = "备注", order = 9)
+ private String remark;
+
+ @ApiModelProperty(value = "创建人", dataType = "String")
+ @ExcelProperty(value = "创建人", order = 7)
+ private String createUser;
+
+ @ApiModelProperty(value = "创建时间", dataType = "String")
+ @ExcelProperty(value = "创建时间", order = 8)
+ private String createTime;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java
deleted file mode 100644
index 93ada55..0000000
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles.dto.business.originRercord;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-@ApiModel
-public class OriginRecordRequest {
-
- @ApiModelProperty(value = "原始记录单编号", dataType = "String")
- private String originalRecordCode;
-
- @ApiModelProperty(value = "样品编号", dataType = "String")
- private String sampleNo;
-
- @ApiModelProperty(value = "样品名称", dataType = "String")
- private String sampleName;
-
- @ApiModelProperty(value = "样品型号", dataType = "String")
- private String sampleModel;
-
- @ApiModelProperty(value = "出厂编号", dataType = "String")
- private String manufacturingNo;
-
- @ApiModelProperty(value = "校验类别", dataType = "String")
- private String calibrationCategory;
-
- @ApiModelProperty(value = "创建人", dataType = "String")
- private String createUser;
-}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
index 3b81119..d1754b8 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
@@ -6,10 +6,13 @@
import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation;
import com.casic.missiles.model.equipment.EquipmentFixedAssets;
import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService;
+import com.casic.missiles.service.equipment.IEquipmentFixedAssetsService;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -22,19 +25,39 @@
@Service
public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService {
+ @Resource
+ IEquipmentFixedAssetsService equipmentFixedAssetsService;
+
@Override
public boolean saveBatch(Long originId, List equipmentFixedAssetsList) {
//删除绑定关系
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("original_record_id", originId);
- this.baseMapper.delete(queryWrapper);
+ deleteByOriginId(originId);
//重新绑定
List list = new ArrayList<>();
equipmentFixedAssetsList.forEach(equipmentFixedAssets -> {
BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation();
obj.setEquipmentId(equipmentFixedAssets.getId());
obj.setOriginalRecordId(originId);
+ list.add(obj);
});
return this.saveBatch(list);
}
+
+ @Override
+ public List getEquipmentsByOriginalRecordId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ List list = this.baseMapper.selectList(queryWrapper);
+ if (list != null && list.size() > 0) {
+ return equipmentFixedAssetsService.list(list.stream().map(BusinessOriginalRecordEquipmentRelation::getEquipmentId).collect(Collectors.toList()));
+ }
+ return null;
+ }
+
+ @Override
+ public Boolean deleteByOriginId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ return this.baseMapper.delete(queryWrapper) > 0 ? true : false;
+ }
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
index ca7e8d2..fa5fdee 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -8,8 +8,7 @@
import com.casic.missiles.dto.IdDTO;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.dto.business.environment.EnvironmentListRequest;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.model.business.BusinessEnvironmentRecord;
@@ -34,7 +33,7 @@
* 前端控制器
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@RestController
@@ -57,7 +56,7 @@
@ApiOperation("原始记录详情")
@PostMapping("/detail")
- public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) {
+ public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{
Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
throw new BusinessException(BusinessExceptionEnum.ID_NULL);
});
@@ -96,8 +95,8 @@
@ApiOperation("原始记录导出")
@PostMapping("/export")
- public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) {
-// businessEnvironmentRecordService.environmentExport(request, response);
+ public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) {
+ businessOriginalRecordService.originExport(request, response);
}
@ApiOperation("获取设备")
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
index cf5f125..9637b3a 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
@@ -227,4 +227,5 @@
return meterFileService.querySelectList();
}
+
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
index 83b9856..09a95be 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
@@ -34,6 +34,7 @@
SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"),
EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"),
ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"),
+ ORIGIN_DATA("originData", "originData", "原始记录"),
ADVICE_EXPORT("adviceData", "adviceData", "客户反馈");
ExportEnum(String fileName, String sheetName, String description) {
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
index 56f6602..dfd2c3e 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
@@ -2,11 +2,14 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordResponse;
import com.casic.missiles.model.business.BusinessOriginalRecord;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* Mapper 接口
@@ -21,4 +24,6 @@
Page originListPage(Page page, @Param("request") OriginRecordRequest request);
+ List originExportList(@Param("request") OriginRecordRequest request);
+
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
index 879a43f..b5f43e8 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
@@ -55,9 +55,56 @@
and bor.create_user = #{request.createUser}
-
- ORDER BY mfa.create_time DESC
+ ORDER BY bor.create_time DESC
+
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
new file mode 100644
index 0000000..cc0dac1
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
@@ -0,0 +1,31 @@
+package com.casic.missiles.dto.business.originRecord;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class OriginRecordRequest {
+
+ @ApiModelProperty(value = "原始记录单编号", dataType = "String")
+ private String originalRecordCode;
+
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ private String sampleName;
+
+ @ApiModelProperty(value = "样品型号", dataType = "String")
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "校验类别", dataType = "String")
+ private String calibrationCategory;
+
+ @ApiModelProperty(value = "创建人", dataType = "String")
+ private String createUser;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
new file mode 100644
index 0000000..4c0521d
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
@@ -0,0 +1,93 @@
+package com.casic.missiles.dto.business.originRecord;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import com.alibaba.excel.enums.poi.BorderStyleEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+@ColumnWidth(30)
+@HeadRowHeight(15)
+@ContentRowHeight(20)
+@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN)
+@ExcelIgnoreUnannotated
+public class OriginRecordResponse {
+
+ @ApiModelProperty(value = "记录id", dataType = "Long")
+ private Long id;
+
+ @ApiModelProperty(value = "原始记录编号", dataType = "String")
+ @ExcelProperty(value = "原始记录编号", order = 0)
+ private String originalRecordCode;
+
+ @ApiModelProperty(value = "原始记录名称", dataType = "String")
+ @ExcelProperty(value = "原始记录名称", order = 1)
+ private String originalRecordName;
+
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ @ExcelProperty(value = "样品编号", order = 2)
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ @ExcelProperty(value = "样品名称", order = 3)
+ private String sampleName;
+
+ @ApiModelProperty(value = "样品型号", dataType = "String")
+ @ExcelProperty(value = "型号", order = 5)
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ @ExcelProperty(value = "出厂编号", order = 4)
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "检校类别", dataType = "String")
+ @ExcelProperty(value = "检校类别", order = 6)
+ private String calibrationCategory;
+
+ @ApiModelProperty(value = "检校时间", dataType = "String")
+ private String calibrationTime;
+
+
+ @ApiModelProperty(value = "环境记录单id", dataType = "Long")
+ private Long environmentId;
+
+
+ @ApiModelProperty(value = "检校地点", dataType = "String")
+ private String calibrationPlace;
+
+
+ @ApiModelProperty(value = "委托书id", dataType = "Long")
+ private Long orderId;
+
+
+ @ApiModelProperty(value = "样品id", dataType = "Long")
+ private Long sampleId;
+
+
+ @ApiModelProperty(value = "原始记录模板id", dataType = "Long")
+ private Long templateId;
+
+ @ApiModelProperty(value = "原始记录附件", dataType = "String")
+ private String originalRecordFile;
+
+
+ @ApiModelProperty(value = "备注", dataType = "String")
+ @ExcelProperty(value = "备注", order = 9)
+ private String remark;
+
+ @ApiModelProperty(value = "创建人", dataType = "String")
+ @ExcelProperty(value = "创建人", order = 7)
+ private String createUser;
+
+ @ApiModelProperty(value = "创建时间", dataType = "String")
+ @ExcelProperty(value = "创建时间", order = 8)
+ private String createTime;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java
deleted file mode 100644
index 93ada55..0000000
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles.dto.business.originRercord;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-@ApiModel
-public class OriginRecordRequest {
-
- @ApiModelProperty(value = "原始记录单编号", dataType = "String")
- private String originalRecordCode;
-
- @ApiModelProperty(value = "样品编号", dataType = "String")
- private String sampleNo;
-
- @ApiModelProperty(value = "样品名称", dataType = "String")
- private String sampleName;
-
- @ApiModelProperty(value = "样品型号", dataType = "String")
- private String sampleModel;
-
- @ApiModelProperty(value = "出厂编号", dataType = "String")
- private String manufacturingNo;
-
- @ApiModelProperty(value = "校验类别", dataType = "String")
- private String calibrationCategory;
-
- @ApiModelProperty(value = "创建人", dataType = "String")
- private String createUser;
-}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
index 3b81119..d1754b8 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
@@ -6,10 +6,13 @@
import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation;
import com.casic.missiles.model.equipment.EquipmentFixedAssets;
import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService;
+import com.casic.missiles.service.equipment.IEquipmentFixedAssetsService;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -22,19 +25,39 @@
@Service
public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService {
+ @Resource
+ IEquipmentFixedAssetsService equipmentFixedAssetsService;
+
@Override
public boolean saveBatch(Long originId, List equipmentFixedAssetsList) {
//删除绑定关系
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("original_record_id", originId);
- this.baseMapper.delete(queryWrapper);
+ deleteByOriginId(originId);
//重新绑定
List list = new ArrayList<>();
equipmentFixedAssetsList.forEach(equipmentFixedAssets -> {
BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation();
obj.setEquipmentId(equipmentFixedAssets.getId());
obj.setOriginalRecordId(originId);
+ list.add(obj);
});
return this.saveBatch(list);
}
+
+ @Override
+ public List getEquipmentsByOriginalRecordId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ List list = this.baseMapper.selectList(queryWrapper);
+ if (list != null && list.size() > 0) {
+ return equipmentFixedAssetsService.list(list.stream().map(BusinessOriginalRecordEquipmentRelation::getEquipmentId).collect(Collectors.toList()));
+ }
+ return null;
+ }
+
+ @Override
+ public Boolean deleteByOriginId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ return this.baseMapper.delete(queryWrapper) > 0 ? true : false;
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
index cd44d97..303ae09 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
@@ -1,17 +1,23 @@
package com.casic.missiles.service.Impl.business;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.mapper.business.BusinessOriginalRecordFileRelationMapper;
import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation;
import com.casic.missiles.model.meter.MeterFile;
import com.casic.missiles.service.business.IBusinessOriginalRecordFileRelationService;
+import com.casic.missiles.service.meter.IMeterFileService;
+import liquibase.util.CollectionUtil;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.sql.SQLException;
import java.sql.Wrapper;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -24,12 +30,13 @@
@Service
public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService {
+ @Resource
+ private IMeterFileService meterFileService;
+
@Override
public boolean saveBatch(Long originId, List meterFileList) {
//先删除所有的绑定关系
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("original_record_id", originId);
- this.baseMapper.delete(queryWrapper);
+ deleteByOriginId(originId);
//新写入绑定关系
List list = new ArrayList<>();
meterFileList.forEach(meterFile -> {
@@ -40,4 +47,23 @@
});
return this.saveBatch(list);
}
+
+ @Override
+ public List getFilesByOriginalRecordId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ List list = this.baseMapper.selectList(queryWrapper);
+ if (list != null && list.size() > 0) {
+ return meterFileService.list(list.stream().map(BusinessOriginalRecordFileRelation::getFileId).collect(Collectors.toList()));
+ }
+ return null;
+ }
+
+ @Override
+ public Boolean deleteByOriginId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ return this.baseMapper.delete(queryWrapper) > 0 ? true : false;
+ }
+
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
index ca7e8d2..fa5fdee 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -8,8 +8,7 @@
import com.casic.missiles.dto.IdDTO;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.dto.business.environment.EnvironmentListRequest;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.model.business.BusinessEnvironmentRecord;
@@ -34,7 +33,7 @@
* 前端控制器
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@RestController
@@ -57,7 +56,7 @@
@ApiOperation("原始记录详情")
@PostMapping("/detail")
- public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) {
+ public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{
Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
throw new BusinessException(BusinessExceptionEnum.ID_NULL);
});
@@ -96,8 +95,8 @@
@ApiOperation("原始记录导出")
@PostMapping("/export")
- public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) {
-// businessEnvironmentRecordService.environmentExport(request, response);
+ public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) {
+ businessOriginalRecordService.originExport(request, response);
}
@ApiOperation("获取设备")
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
index cf5f125..9637b3a 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
@@ -227,4 +227,5 @@
return meterFileService.querySelectList();
}
+
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
index 83b9856..09a95be 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
@@ -34,6 +34,7 @@
SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"),
EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"),
ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"),
+ ORIGIN_DATA("originData", "originData", "原始记录"),
ADVICE_EXPORT("adviceData", "adviceData", "客户反馈");
ExportEnum(String fileName, String sheetName, String description) {
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
index 56f6602..dfd2c3e 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
@@ -2,11 +2,14 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordResponse;
import com.casic.missiles.model.business.BusinessOriginalRecord;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* Mapper 接口
@@ -21,4 +24,6 @@
Page originListPage(Page page, @Param("request") OriginRecordRequest request);
+ List originExportList(@Param("request") OriginRecordRequest request);
+
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
index 879a43f..b5f43e8 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
@@ -55,9 +55,56 @@
and bor.create_user = #{request.createUser}
-
- ORDER BY mfa.create_time DESC
+ ORDER BY bor.create_time DESC
+
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
new file mode 100644
index 0000000..cc0dac1
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
@@ -0,0 +1,31 @@
+package com.casic.missiles.dto.business.originRecord;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class OriginRecordRequest {
+
+ @ApiModelProperty(value = "原始记录单编号", dataType = "String")
+ private String originalRecordCode;
+
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ private String sampleName;
+
+ @ApiModelProperty(value = "样品型号", dataType = "String")
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "校验类别", dataType = "String")
+ private String calibrationCategory;
+
+ @ApiModelProperty(value = "创建人", dataType = "String")
+ private String createUser;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
new file mode 100644
index 0000000..4c0521d
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
@@ -0,0 +1,93 @@
+package com.casic.missiles.dto.business.originRecord;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import com.alibaba.excel.enums.poi.BorderStyleEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+@ColumnWidth(30)
+@HeadRowHeight(15)
+@ContentRowHeight(20)
+@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN)
+@ExcelIgnoreUnannotated
+public class OriginRecordResponse {
+
+ @ApiModelProperty(value = "记录id", dataType = "Long")
+ private Long id;
+
+ @ApiModelProperty(value = "原始记录编号", dataType = "String")
+ @ExcelProperty(value = "原始记录编号", order = 0)
+ private String originalRecordCode;
+
+ @ApiModelProperty(value = "原始记录名称", dataType = "String")
+ @ExcelProperty(value = "原始记录名称", order = 1)
+ private String originalRecordName;
+
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ @ExcelProperty(value = "样品编号", order = 2)
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ @ExcelProperty(value = "样品名称", order = 3)
+ private String sampleName;
+
+ @ApiModelProperty(value = "样品型号", dataType = "String")
+ @ExcelProperty(value = "型号", order = 5)
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ @ExcelProperty(value = "出厂编号", order = 4)
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "检校类别", dataType = "String")
+ @ExcelProperty(value = "检校类别", order = 6)
+ private String calibrationCategory;
+
+ @ApiModelProperty(value = "检校时间", dataType = "String")
+ private String calibrationTime;
+
+
+ @ApiModelProperty(value = "环境记录单id", dataType = "Long")
+ private Long environmentId;
+
+
+ @ApiModelProperty(value = "检校地点", dataType = "String")
+ private String calibrationPlace;
+
+
+ @ApiModelProperty(value = "委托书id", dataType = "Long")
+ private Long orderId;
+
+
+ @ApiModelProperty(value = "样品id", dataType = "Long")
+ private Long sampleId;
+
+
+ @ApiModelProperty(value = "原始记录模板id", dataType = "Long")
+ private Long templateId;
+
+ @ApiModelProperty(value = "原始记录附件", dataType = "String")
+ private String originalRecordFile;
+
+
+ @ApiModelProperty(value = "备注", dataType = "String")
+ @ExcelProperty(value = "备注", order = 9)
+ private String remark;
+
+ @ApiModelProperty(value = "创建人", dataType = "String")
+ @ExcelProperty(value = "创建人", order = 7)
+ private String createUser;
+
+ @ApiModelProperty(value = "创建时间", dataType = "String")
+ @ExcelProperty(value = "创建时间", order = 8)
+ private String createTime;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java
deleted file mode 100644
index 93ada55..0000000
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles.dto.business.originRercord;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-@ApiModel
-public class OriginRecordRequest {
-
- @ApiModelProperty(value = "原始记录单编号", dataType = "String")
- private String originalRecordCode;
-
- @ApiModelProperty(value = "样品编号", dataType = "String")
- private String sampleNo;
-
- @ApiModelProperty(value = "样品名称", dataType = "String")
- private String sampleName;
-
- @ApiModelProperty(value = "样品型号", dataType = "String")
- private String sampleModel;
-
- @ApiModelProperty(value = "出厂编号", dataType = "String")
- private String manufacturingNo;
-
- @ApiModelProperty(value = "校验类别", dataType = "String")
- private String calibrationCategory;
-
- @ApiModelProperty(value = "创建人", dataType = "String")
- private String createUser;
-}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
index 3b81119..d1754b8 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
@@ -6,10 +6,13 @@
import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation;
import com.casic.missiles.model.equipment.EquipmentFixedAssets;
import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService;
+import com.casic.missiles.service.equipment.IEquipmentFixedAssetsService;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -22,19 +25,39 @@
@Service
public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService {
+ @Resource
+ IEquipmentFixedAssetsService equipmentFixedAssetsService;
+
@Override
public boolean saveBatch(Long originId, List equipmentFixedAssetsList) {
//删除绑定关系
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("original_record_id", originId);
- this.baseMapper.delete(queryWrapper);
+ deleteByOriginId(originId);
//重新绑定
List list = new ArrayList<>();
equipmentFixedAssetsList.forEach(equipmentFixedAssets -> {
BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation();
obj.setEquipmentId(equipmentFixedAssets.getId());
obj.setOriginalRecordId(originId);
+ list.add(obj);
});
return this.saveBatch(list);
}
+
+ @Override
+ public List getEquipmentsByOriginalRecordId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ List list = this.baseMapper.selectList(queryWrapper);
+ if (list != null && list.size() > 0) {
+ return equipmentFixedAssetsService.list(list.stream().map(BusinessOriginalRecordEquipmentRelation::getEquipmentId).collect(Collectors.toList()));
+ }
+ return null;
+ }
+
+ @Override
+ public Boolean deleteByOriginId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ return this.baseMapper.delete(queryWrapper) > 0 ? true : false;
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
index cd44d97..303ae09 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
@@ -1,17 +1,23 @@
package com.casic.missiles.service.Impl.business;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.mapper.business.BusinessOriginalRecordFileRelationMapper;
import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation;
import com.casic.missiles.model.meter.MeterFile;
import com.casic.missiles.service.business.IBusinessOriginalRecordFileRelationService;
+import com.casic.missiles.service.meter.IMeterFileService;
+import liquibase.util.CollectionUtil;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.sql.SQLException;
import java.sql.Wrapper;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -24,12 +30,13 @@
@Service
public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService {
+ @Resource
+ private IMeterFileService meterFileService;
+
@Override
public boolean saveBatch(Long originId, List meterFileList) {
//先删除所有的绑定关系
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("original_record_id", originId);
- this.baseMapper.delete(queryWrapper);
+ deleteByOriginId(originId);
//新写入绑定关系
List list = new ArrayList<>();
meterFileList.forEach(meterFile -> {
@@ -40,4 +47,23 @@
});
return this.saveBatch(list);
}
+
+ @Override
+ public List getFilesByOriginalRecordId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ List list = this.baseMapper.selectList(queryWrapper);
+ if (list != null && list.size() > 0) {
+ return meterFileService.list(list.stream().map(BusinessOriginalRecordFileRelation::getFileId).collect(Collectors.toList()));
+ }
+ return null;
+ }
+
+ @Override
+ public Boolean deleteByOriginId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ return this.baseMapper.delete(queryWrapper) > 0 ? true : false;
+ }
+
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
index f4fad63..7dda5c3 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
@@ -2,16 +2,17 @@
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.core.base.service.IBaseExportService;
import com.casic.missiles.core.model.auth.AuthUser;
import com.casic.missiles.core.shiro.ShiroKit;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.dto.business.environment.EnvironmentListRequest;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordResponse;
import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.ExportEnum;
import com.casic.missiles.enums.PrefixCodeEnum;
import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper;
@@ -20,13 +21,14 @@
import com.casic.missiles.service.customer.CustomerSampleService;
import com.casic.missiles.utils.DictCodeUtils;
import com.casic.missiles.utils.NumberGeneratorUtil;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
/**
*
@@ -50,7 +52,8 @@
private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService;
@Resource
private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService;
-
+ @Resource
+ private IBaseExportService iBaseExportService;
@Override
public Page originListPage(Page page, OriginRecordRequest request) throws Exception {
@@ -68,7 +71,7 @@
}
@Override
- public BusinessOriginalRecord originalDetail(Long id) {
+ public BusinessOriginalRecord originalDetail(Long id) throws Exception {
BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id);
if (businessOriginalRecord != null) {
//查询样品详情
@@ -83,14 +86,28 @@
if (businessOriginalRecord.getOrderId() != null) {
businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId()));
}
+
+ //查询是否有关联的计量文件
+ businessOriginalRecord.setFileList(originalRecordFileRelationService.getFilesByOriginalRecordId(id));
+ //查询是否有关联的监测设备
+ businessOriginalRecord.setEquipmentInfoList(originalRecordEquipmentRelationService.getEquipmentsByOriginalRecordId(id));
+
+ //字典值转换
+ DictCodeUtils.convertDictCodeToName(businessOriginalRecord);
}
return businessOriginalRecord;
}
+ @Transactional
@Override
public ReturnDTO deleteOriginal(Long id) {
- if (this.baseMapper.deleteById(id) > 0)
+ if (this.baseMapper.deleteById(id) > 0) {
+ //删除计量文件绑定关系
+ originalRecordFileRelationService.deleteByOriginId(id);
+ //删除监测设备绑定关系
+ originalRecordEquipmentRelationService.deleteByOriginId(id);
return ReturnUtil.success();
+ }
throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED);
}
@@ -118,8 +135,14 @@
}
@Override
- public void originalExport(EnvironmentListRequest request, HttpServletResponse response) {
+ public void originExport(OriginRecordRequest request, HttpServletResponse response) {
+ List originExportList = this.baseMapper.originExportList(request);
+ try {
+ iBaseExportService.exportExcel(response, OriginRecordResponse.class, originExportList, ExportEnum.ORIGIN_DATA.getSheetName());
+ } catch (IOException e) {
+ log.error("环境记录单导出出现异常,异常信息为{}", e);
+ }
}
private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) {
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
index ca7e8d2..fa5fdee 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -8,8 +8,7 @@
import com.casic.missiles.dto.IdDTO;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.dto.business.environment.EnvironmentListRequest;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.model.business.BusinessEnvironmentRecord;
@@ -34,7 +33,7 @@
* 前端控制器
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@RestController
@@ -57,7 +56,7 @@
@ApiOperation("原始记录详情")
@PostMapping("/detail")
- public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) {
+ public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{
Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
throw new BusinessException(BusinessExceptionEnum.ID_NULL);
});
@@ -96,8 +95,8 @@
@ApiOperation("原始记录导出")
@PostMapping("/export")
- public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) {
-// businessEnvironmentRecordService.environmentExport(request, response);
+ public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) {
+ businessOriginalRecordService.originExport(request, response);
}
@ApiOperation("获取设备")
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
index cf5f125..9637b3a 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
@@ -227,4 +227,5 @@
return meterFileService.querySelectList();
}
+
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
index 83b9856..09a95be 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
@@ -34,6 +34,7 @@
SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"),
EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"),
ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"),
+ ORIGIN_DATA("originData", "originData", "原始记录"),
ADVICE_EXPORT("adviceData", "adviceData", "客户反馈");
ExportEnum(String fileName, String sheetName, String description) {
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
index 56f6602..dfd2c3e 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
@@ -2,11 +2,14 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordResponse;
import com.casic.missiles.model.business.BusinessOriginalRecord;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* Mapper 接口
@@ -21,4 +24,6 @@
Page originListPage(Page page, @Param("request") OriginRecordRequest request);
+ List originExportList(@Param("request") OriginRecordRequest request);
+
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
index 879a43f..b5f43e8 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
@@ -55,9 +55,56 @@
and bor.create_user = #{request.createUser}
-
- ORDER BY mfa.create_time DESC
+ ORDER BY bor.create_time DESC
+
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
new file mode 100644
index 0000000..cc0dac1
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
@@ -0,0 +1,31 @@
+package com.casic.missiles.dto.business.originRecord;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class OriginRecordRequest {
+
+ @ApiModelProperty(value = "原始记录单编号", dataType = "String")
+ private String originalRecordCode;
+
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ private String sampleName;
+
+ @ApiModelProperty(value = "样品型号", dataType = "String")
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "校验类别", dataType = "String")
+ private String calibrationCategory;
+
+ @ApiModelProperty(value = "创建人", dataType = "String")
+ private String createUser;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
new file mode 100644
index 0000000..4c0521d
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
@@ -0,0 +1,93 @@
+package com.casic.missiles.dto.business.originRecord;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import com.alibaba.excel.enums.poi.BorderStyleEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+@ColumnWidth(30)
+@HeadRowHeight(15)
+@ContentRowHeight(20)
+@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN)
+@ExcelIgnoreUnannotated
+public class OriginRecordResponse {
+
+ @ApiModelProperty(value = "记录id", dataType = "Long")
+ private Long id;
+
+ @ApiModelProperty(value = "原始记录编号", dataType = "String")
+ @ExcelProperty(value = "原始记录编号", order = 0)
+ private String originalRecordCode;
+
+ @ApiModelProperty(value = "原始记录名称", dataType = "String")
+ @ExcelProperty(value = "原始记录名称", order = 1)
+ private String originalRecordName;
+
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ @ExcelProperty(value = "样品编号", order = 2)
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ @ExcelProperty(value = "样品名称", order = 3)
+ private String sampleName;
+
+ @ApiModelProperty(value = "样品型号", dataType = "String")
+ @ExcelProperty(value = "型号", order = 5)
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ @ExcelProperty(value = "出厂编号", order = 4)
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "检校类别", dataType = "String")
+ @ExcelProperty(value = "检校类别", order = 6)
+ private String calibrationCategory;
+
+ @ApiModelProperty(value = "检校时间", dataType = "String")
+ private String calibrationTime;
+
+
+ @ApiModelProperty(value = "环境记录单id", dataType = "Long")
+ private Long environmentId;
+
+
+ @ApiModelProperty(value = "检校地点", dataType = "String")
+ private String calibrationPlace;
+
+
+ @ApiModelProperty(value = "委托书id", dataType = "Long")
+ private Long orderId;
+
+
+ @ApiModelProperty(value = "样品id", dataType = "Long")
+ private Long sampleId;
+
+
+ @ApiModelProperty(value = "原始记录模板id", dataType = "Long")
+ private Long templateId;
+
+ @ApiModelProperty(value = "原始记录附件", dataType = "String")
+ private String originalRecordFile;
+
+
+ @ApiModelProperty(value = "备注", dataType = "String")
+ @ExcelProperty(value = "备注", order = 9)
+ private String remark;
+
+ @ApiModelProperty(value = "创建人", dataType = "String")
+ @ExcelProperty(value = "创建人", order = 7)
+ private String createUser;
+
+ @ApiModelProperty(value = "创建时间", dataType = "String")
+ @ExcelProperty(value = "创建时间", order = 8)
+ private String createTime;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java
deleted file mode 100644
index 93ada55..0000000
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles.dto.business.originRercord;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-@ApiModel
-public class OriginRecordRequest {
-
- @ApiModelProperty(value = "原始记录单编号", dataType = "String")
- private String originalRecordCode;
-
- @ApiModelProperty(value = "样品编号", dataType = "String")
- private String sampleNo;
-
- @ApiModelProperty(value = "样品名称", dataType = "String")
- private String sampleName;
-
- @ApiModelProperty(value = "样品型号", dataType = "String")
- private String sampleModel;
-
- @ApiModelProperty(value = "出厂编号", dataType = "String")
- private String manufacturingNo;
-
- @ApiModelProperty(value = "校验类别", dataType = "String")
- private String calibrationCategory;
-
- @ApiModelProperty(value = "创建人", dataType = "String")
- private String createUser;
-}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
index 3b81119..d1754b8 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
@@ -6,10 +6,13 @@
import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation;
import com.casic.missiles.model.equipment.EquipmentFixedAssets;
import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService;
+import com.casic.missiles.service.equipment.IEquipmentFixedAssetsService;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -22,19 +25,39 @@
@Service
public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService {
+ @Resource
+ IEquipmentFixedAssetsService equipmentFixedAssetsService;
+
@Override
public boolean saveBatch(Long originId, List equipmentFixedAssetsList) {
//删除绑定关系
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("original_record_id", originId);
- this.baseMapper.delete(queryWrapper);
+ deleteByOriginId(originId);
//重新绑定
List list = new ArrayList<>();
equipmentFixedAssetsList.forEach(equipmentFixedAssets -> {
BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation();
obj.setEquipmentId(equipmentFixedAssets.getId());
obj.setOriginalRecordId(originId);
+ list.add(obj);
});
return this.saveBatch(list);
}
+
+ @Override
+ public List getEquipmentsByOriginalRecordId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ List list = this.baseMapper.selectList(queryWrapper);
+ if (list != null && list.size() > 0) {
+ return equipmentFixedAssetsService.list(list.stream().map(BusinessOriginalRecordEquipmentRelation::getEquipmentId).collect(Collectors.toList()));
+ }
+ return null;
+ }
+
+ @Override
+ public Boolean deleteByOriginId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ return this.baseMapper.delete(queryWrapper) > 0 ? true : false;
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
index cd44d97..303ae09 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
@@ -1,17 +1,23 @@
package com.casic.missiles.service.Impl.business;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.mapper.business.BusinessOriginalRecordFileRelationMapper;
import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation;
import com.casic.missiles.model.meter.MeterFile;
import com.casic.missiles.service.business.IBusinessOriginalRecordFileRelationService;
+import com.casic.missiles.service.meter.IMeterFileService;
+import liquibase.util.CollectionUtil;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.sql.SQLException;
import java.sql.Wrapper;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -24,12 +30,13 @@
@Service
public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService {
+ @Resource
+ private IMeterFileService meterFileService;
+
@Override
public boolean saveBatch(Long originId, List meterFileList) {
//先删除所有的绑定关系
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("original_record_id", originId);
- this.baseMapper.delete(queryWrapper);
+ deleteByOriginId(originId);
//新写入绑定关系
List list = new ArrayList<>();
meterFileList.forEach(meterFile -> {
@@ -40,4 +47,23 @@
});
return this.saveBatch(list);
}
+
+ @Override
+ public List getFilesByOriginalRecordId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ List list = this.baseMapper.selectList(queryWrapper);
+ if (list != null && list.size() > 0) {
+ return meterFileService.list(list.stream().map(BusinessOriginalRecordFileRelation::getFileId).collect(Collectors.toList()));
+ }
+ return null;
+ }
+
+ @Override
+ public Boolean deleteByOriginId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ return this.baseMapper.delete(queryWrapper) > 0 ? true : false;
+ }
+
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
index f4fad63..7dda5c3 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
@@ -2,16 +2,17 @@
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.core.base.service.IBaseExportService;
import com.casic.missiles.core.model.auth.AuthUser;
import com.casic.missiles.core.shiro.ShiroKit;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.dto.business.environment.EnvironmentListRequest;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordResponse;
import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.ExportEnum;
import com.casic.missiles.enums.PrefixCodeEnum;
import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper;
@@ -20,13 +21,14 @@
import com.casic.missiles.service.customer.CustomerSampleService;
import com.casic.missiles.utils.DictCodeUtils;
import com.casic.missiles.utils.NumberGeneratorUtil;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
/**
*
@@ -50,7 +52,8 @@
private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService;
@Resource
private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService;
-
+ @Resource
+ private IBaseExportService iBaseExportService;
@Override
public Page originListPage(Page page, OriginRecordRequest request) throws Exception {
@@ -68,7 +71,7 @@
}
@Override
- public BusinessOriginalRecord originalDetail(Long id) {
+ public BusinessOriginalRecord originalDetail(Long id) throws Exception {
BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id);
if (businessOriginalRecord != null) {
//查询样品详情
@@ -83,14 +86,28 @@
if (businessOriginalRecord.getOrderId() != null) {
businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId()));
}
+
+ //查询是否有关联的计量文件
+ businessOriginalRecord.setFileList(originalRecordFileRelationService.getFilesByOriginalRecordId(id));
+ //查询是否有关联的监测设备
+ businessOriginalRecord.setEquipmentInfoList(originalRecordEquipmentRelationService.getEquipmentsByOriginalRecordId(id));
+
+ //字典值转换
+ DictCodeUtils.convertDictCodeToName(businessOriginalRecord);
}
return businessOriginalRecord;
}
+ @Transactional
@Override
public ReturnDTO deleteOriginal(Long id) {
- if (this.baseMapper.deleteById(id) > 0)
+ if (this.baseMapper.deleteById(id) > 0) {
+ //删除计量文件绑定关系
+ originalRecordFileRelationService.deleteByOriginId(id);
+ //删除监测设备绑定关系
+ originalRecordEquipmentRelationService.deleteByOriginId(id);
return ReturnUtil.success();
+ }
throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED);
}
@@ -118,8 +135,14 @@
}
@Override
- public void originalExport(EnvironmentListRequest request, HttpServletResponse response) {
+ public void originExport(OriginRecordRequest request, HttpServletResponse response) {
+ List originExportList = this.baseMapper.originExportList(request);
+ try {
+ iBaseExportService.exportExcel(response, OriginRecordResponse.class, originExportList, ExportEnum.ORIGIN_DATA.getSheetName());
+ } catch (IOException e) {
+ log.error("环境记录单导出出现异常,异常信息为{}", e);
+ }
}
private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) {
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
index d3fa36f..a91de0f 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
@@ -288,6 +288,21 @@
return ReturnUtil.success(this.baseMapper.selectList(wrapper));
}
+
+ /**
+ * 根据ids查设备
+ *
+ * @param ids
+ * @return
+ */
+ @Override
+ public List list(List ids) {
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.in("id", ids);
+ wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE);
+ return this.baseMapper.selectList(wrapper);
+ }
+
/**
* 转换字典code
*
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
index ca7e8d2..fa5fdee 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -8,8 +8,7 @@
import com.casic.missiles.dto.IdDTO;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.dto.business.environment.EnvironmentListRequest;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.model.business.BusinessEnvironmentRecord;
@@ -34,7 +33,7 @@
* 前端控制器
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@RestController
@@ -57,7 +56,7 @@
@ApiOperation("原始记录详情")
@PostMapping("/detail")
- public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) {
+ public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{
Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
throw new BusinessException(BusinessExceptionEnum.ID_NULL);
});
@@ -96,8 +95,8 @@
@ApiOperation("原始记录导出")
@PostMapping("/export")
- public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) {
-// businessEnvironmentRecordService.environmentExport(request, response);
+ public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) {
+ businessOriginalRecordService.originExport(request, response);
}
@ApiOperation("获取设备")
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
index cf5f125..9637b3a 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
@@ -227,4 +227,5 @@
return meterFileService.querySelectList();
}
+
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
index 83b9856..09a95be 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
@@ -34,6 +34,7 @@
SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"),
EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"),
ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"),
+ ORIGIN_DATA("originData", "originData", "原始记录"),
ADVICE_EXPORT("adviceData", "adviceData", "客户反馈");
ExportEnum(String fileName, String sheetName, String description) {
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
index 56f6602..dfd2c3e 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
@@ -2,11 +2,14 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordResponse;
import com.casic.missiles.model.business.BusinessOriginalRecord;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* Mapper 接口
@@ -21,4 +24,6 @@
Page originListPage(Page page, @Param("request") OriginRecordRequest request);
+ List originExportList(@Param("request") OriginRecordRequest request);
+
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
index 879a43f..b5f43e8 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
@@ -55,9 +55,56 @@
and bor.create_user = #{request.createUser}
-
- ORDER BY mfa.create_time DESC
+ ORDER BY bor.create_time DESC
+
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
new file mode 100644
index 0000000..cc0dac1
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
@@ -0,0 +1,31 @@
+package com.casic.missiles.dto.business.originRecord;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class OriginRecordRequest {
+
+ @ApiModelProperty(value = "原始记录单编号", dataType = "String")
+ private String originalRecordCode;
+
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ private String sampleName;
+
+ @ApiModelProperty(value = "样品型号", dataType = "String")
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "校验类别", dataType = "String")
+ private String calibrationCategory;
+
+ @ApiModelProperty(value = "创建人", dataType = "String")
+ private String createUser;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
new file mode 100644
index 0000000..4c0521d
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
@@ -0,0 +1,93 @@
+package com.casic.missiles.dto.business.originRecord;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import com.alibaba.excel.enums.poi.BorderStyleEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+@ColumnWidth(30)
+@HeadRowHeight(15)
+@ContentRowHeight(20)
+@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN)
+@ExcelIgnoreUnannotated
+public class OriginRecordResponse {
+
+ @ApiModelProperty(value = "记录id", dataType = "Long")
+ private Long id;
+
+ @ApiModelProperty(value = "原始记录编号", dataType = "String")
+ @ExcelProperty(value = "原始记录编号", order = 0)
+ private String originalRecordCode;
+
+ @ApiModelProperty(value = "原始记录名称", dataType = "String")
+ @ExcelProperty(value = "原始记录名称", order = 1)
+ private String originalRecordName;
+
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ @ExcelProperty(value = "样品编号", order = 2)
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ @ExcelProperty(value = "样品名称", order = 3)
+ private String sampleName;
+
+ @ApiModelProperty(value = "样品型号", dataType = "String")
+ @ExcelProperty(value = "型号", order = 5)
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ @ExcelProperty(value = "出厂编号", order = 4)
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "检校类别", dataType = "String")
+ @ExcelProperty(value = "检校类别", order = 6)
+ private String calibrationCategory;
+
+ @ApiModelProperty(value = "检校时间", dataType = "String")
+ private String calibrationTime;
+
+
+ @ApiModelProperty(value = "环境记录单id", dataType = "Long")
+ private Long environmentId;
+
+
+ @ApiModelProperty(value = "检校地点", dataType = "String")
+ private String calibrationPlace;
+
+
+ @ApiModelProperty(value = "委托书id", dataType = "Long")
+ private Long orderId;
+
+
+ @ApiModelProperty(value = "样品id", dataType = "Long")
+ private Long sampleId;
+
+
+ @ApiModelProperty(value = "原始记录模板id", dataType = "Long")
+ private Long templateId;
+
+ @ApiModelProperty(value = "原始记录附件", dataType = "String")
+ private String originalRecordFile;
+
+
+ @ApiModelProperty(value = "备注", dataType = "String")
+ @ExcelProperty(value = "备注", order = 9)
+ private String remark;
+
+ @ApiModelProperty(value = "创建人", dataType = "String")
+ @ExcelProperty(value = "创建人", order = 7)
+ private String createUser;
+
+ @ApiModelProperty(value = "创建时间", dataType = "String")
+ @ExcelProperty(value = "创建时间", order = 8)
+ private String createTime;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java
deleted file mode 100644
index 93ada55..0000000
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles.dto.business.originRercord;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-@ApiModel
-public class OriginRecordRequest {
-
- @ApiModelProperty(value = "原始记录单编号", dataType = "String")
- private String originalRecordCode;
-
- @ApiModelProperty(value = "样品编号", dataType = "String")
- private String sampleNo;
-
- @ApiModelProperty(value = "样品名称", dataType = "String")
- private String sampleName;
-
- @ApiModelProperty(value = "样品型号", dataType = "String")
- private String sampleModel;
-
- @ApiModelProperty(value = "出厂编号", dataType = "String")
- private String manufacturingNo;
-
- @ApiModelProperty(value = "校验类别", dataType = "String")
- private String calibrationCategory;
-
- @ApiModelProperty(value = "创建人", dataType = "String")
- private String createUser;
-}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
index 3b81119..d1754b8 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
@@ -6,10 +6,13 @@
import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation;
import com.casic.missiles.model.equipment.EquipmentFixedAssets;
import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService;
+import com.casic.missiles.service.equipment.IEquipmentFixedAssetsService;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -22,19 +25,39 @@
@Service
public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService {
+ @Resource
+ IEquipmentFixedAssetsService equipmentFixedAssetsService;
+
@Override
public boolean saveBatch(Long originId, List equipmentFixedAssetsList) {
//删除绑定关系
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("original_record_id", originId);
- this.baseMapper.delete(queryWrapper);
+ deleteByOriginId(originId);
//重新绑定
List list = new ArrayList<>();
equipmentFixedAssetsList.forEach(equipmentFixedAssets -> {
BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation();
obj.setEquipmentId(equipmentFixedAssets.getId());
obj.setOriginalRecordId(originId);
+ list.add(obj);
});
return this.saveBatch(list);
}
+
+ @Override
+ public List getEquipmentsByOriginalRecordId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ List list = this.baseMapper.selectList(queryWrapper);
+ if (list != null && list.size() > 0) {
+ return equipmentFixedAssetsService.list(list.stream().map(BusinessOriginalRecordEquipmentRelation::getEquipmentId).collect(Collectors.toList()));
+ }
+ return null;
+ }
+
+ @Override
+ public Boolean deleteByOriginId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ return this.baseMapper.delete(queryWrapper) > 0 ? true : false;
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
index cd44d97..303ae09 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
@@ -1,17 +1,23 @@
package com.casic.missiles.service.Impl.business;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.mapper.business.BusinessOriginalRecordFileRelationMapper;
import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation;
import com.casic.missiles.model.meter.MeterFile;
import com.casic.missiles.service.business.IBusinessOriginalRecordFileRelationService;
+import com.casic.missiles.service.meter.IMeterFileService;
+import liquibase.util.CollectionUtil;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.sql.SQLException;
import java.sql.Wrapper;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -24,12 +30,13 @@
@Service
public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService {
+ @Resource
+ private IMeterFileService meterFileService;
+
@Override
public boolean saveBatch(Long originId, List meterFileList) {
//先删除所有的绑定关系
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("original_record_id", originId);
- this.baseMapper.delete(queryWrapper);
+ deleteByOriginId(originId);
//新写入绑定关系
List list = new ArrayList<>();
meterFileList.forEach(meterFile -> {
@@ -40,4 +47,23 @@
});
return this.saveBatch(list);
}
+
+ @Override
+ public List getFilesByOriginalRecordId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ List list = this.baseMapper.selectList(queryWrapper);
+ if (list != null && list.size() > 0) {
+ return meterFileService.list(list.stream().map(BusinessOriginalRecordFileRelation::getFileId).collect(Collectors.toList()));
+ }
+ return null;
+ }
+
+ @Override
+ public Boolean deleteByOriginId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ return this.baseMapper.delete(queryWrapper) > 0 ? true : false;
+ }
+
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
index f4fad63..7dda5c3 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
@@ -2,16 +2,17 @@
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.core.base.service.IBaseExportService;
import com.casic.missiles.core.model.auth.AuthUser;
import com.casic.missiles.core.shiro.ShiroKit;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.dto.business.environment.EnvironmentListRequest;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordResponse;
import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.ExportEnum;
import com.casic.missiles.enums.PrefixCodeEnum;
import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper;
@@ -20,13 +21,14 @@
import com.casic.missiles.service.customer.CustomerSampleService;
import com.casic.missiles.utils.DictCodeUtils;
import com.casic.missiles.utils.NumberGeneratorUtil;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
/**
*
@@ -50,7 +52,8 @@
private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService;
@Resource
private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService;
-
+ @Resource
+ private IBaseExportService iBaseExportService;
@Override
public Page originListPage(Page page, OriginRecordRequest request) throws Exception {
@@ -68,7 +71,7 @@
}
@Override
- public BusinessOriginalRecord originalDetail(Long id) {
+ public BusinessOriginalRecord originalDetail(Long id) throws Exception {
BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id);
if (businessOriginalRecord != null) {
//查询样品详情
@@ -83,14 +86,28 @@
if (businessOriginalRecord.getOrderId() != null) {
businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId()));
}
+
+ //查询是否有关联的计量文件
+ businessOriginalRecord.setFileList(originalRecordFileRelationService.getFilesByOriginalRecordId(id));
+ //查询是否有关联的监测设备
+ businessOriginalRecord.setEquipmentInfoList(originalRecordEquipmentRelationService.getEquipmentsByOriginalRecordId(id));
+
+ //字典值转换
+ DictCodeUtils.convertDictCodeToName(businessOriginalRecord);
}
return businessOriginalRecord;
}
+ @Transactional
@Override
public ReturnDTO deleteOriginal(Long id) {
- if (this.baseMapper.deleteById(id) > 0)
+ if (this.baseMapper.deleteById(id) > 0) {
+ //删除计量文件绑定关系
+ originalRecordFileRelationService.deleteByOriginId(id);
+ //删除监测设备绑定关系
+ originalRecordEquipmentRelationService.deleteByOriginId(id);
return ReturnUtil.success();
+ }
throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED);
}
@@ -118,8 +135,14 @@
}
@Override
- public void originalExport(EnvironmentListRequest request, HttpServletResponse response) {
+ public void originExport(OriginRecordRequest request, HttpServletResponse response) {
+ List originExportList = this.baseMapper.originExportList(request);
+ try {
+ iBaseExportService.exportExcel(response, OriginRecordResponse.class, originExportList, ExportEnum.ORIGIN_DATA.getSheetName());
+ } catch (IOException e) {
+ log.error("环境记录单导出出现异常,异常信息为{}", e);
+ }
}
private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) {
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
index d3fa36f..a91de0f 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
@@ -288,6 +288,21 @@
return ReturnUtil.success(this.baseMapper.selectList(wrapper));
}
+
+ /**
+ * 根据ids查设备
+ *
+ * @param ids
+ * @return
+ */
+ @Override
+ public List list(List ids) {
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.in("id", ids);
+ wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE);
+ return this.baseMapper.selectList(wrapper);
+ }
+
/**
* 转换字典code
*
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java
index e24f67d..2d1d4a7 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java
@@ -118,10 +118,10 @@
String formId = request.getFormId();
ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId());
- if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){
+ if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) {
return returnDTO;
}
- ProcessInstance processInstance = (ProcessInstance)returnDTO.getData();
+ ProcessInstance processInstance = (ProcessInstance) returnDTO.getData();
MeterFile file = new MeterFile();
file.setId(request.getId());
@@ -191,9 +191,9 @@
@Transactional
public ReturnDTO approvalDelete(ApprovalDeleteRequest request) {
ReturnDTO returnDTO = approvalOperateService.delete(request);
- if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){
+ if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) {
//本地删除
- if(meterFileMapper.deleteById(request.getId()) > 0){
+ if (meterFileMapper.deleteById(request.getId()) > 0) {
return ReturnUtil.success();
}
}
@@ -236,16 +236,16 @@
//待审批,该状态维护在flowable中
case ApprovalStatusEnum.TO_BE_APPROVED:
List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId());
- if(!CollectionUtils.isEmpty(toBeApprovedList)){
+ if (!CollectionUtils.isEmpty(toBeApprovedList)) {
businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList());
}
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED);
//DTO根据业务主键补全taskId
approvalList.forEach(approval -> {
toBeApprovedList.forEach(toBeApprovedDTO -> {
- if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){
+ if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) {
approval.setTaskId(toBeApprovedDTO.getTaskId());
}
});
@@ -255,7 +255,7 @@
//审批中,该状态维护在flowable中
case ApprovalStatusEnum.IN_APPROVED:
businessKeys = baseApprovalService.getInApprovedList(request.getFormId());
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED);
}
@@ -263,7 +263,7 @@
//已通过,该状态维护在flowable
case ApprovalStatusEnum.PASSED:
businessKeys = baseApprovalService.getPassedList(request.getFormId());
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED);
}
@@ -272,12 +272,12 @@
case ApprovalStatusEnum.FAILED:
businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝
List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED);
}
List rejectApprovalList = new ArrayList<>();
- if(!CollectionUtils.isEmpty(rejectBusinessKey)){
+ if (!CollectionUtils.isEmpty(rejectBusinessKey)) {
List rejectList = meterFileMapper.selectBatchForApproval(page, request, rejectBusinessKey);
rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT);
}
@@ -287,7 +287,7 @@
//已取消(直接删除实例),该状态维护在flowable
case ApprovalStatusEnum.CANCELED:
businessKeys = baseApprovalService.getCanceledList(request.getFormId());
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED);
}
@@ -297,10 +297,10 @@
//普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消)
case ApprovalStatusEnum.ALL:
List AllApproveList = baseApprovalService.getAllList(request.getFormId());
- if(!CollectionUtils.isEmpty(AllApproveList)){
+ if (!CollectionUtils.isEmpty(AllApproveList)) {
businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList());
}
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList);
}
@@ -310,9 +310,11 @@
}
private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) {
- Map taskMap = new HashMap<>();
+ Map taskMap = new HashMap<>();
approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class);
- allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());});
+ allApproveList.forEach(allApprove -> {
+ taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus());
+ });
//状态补全
approvalList.forEach(approval -> {
approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId()))));
@@ -322,7 +324,7 @@
return approvalList.stream().sorted(Comparator.comparing(FileApprovalListResponse::getCreateTime).reversed()).collect(Collectors.toList());
}
- private List handleApprovalListResponse(List approvalList, List list, String status){
+ private List handleApprovalListResponse(List approvalList, List list, String status) {
approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class);
approvalList.stream().forEach(result -> {
//审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1
@@ -341,8 +343,8 @@
@Override
public ReturnDTO querySelectList() {
QueryWrapper wrapper = new QueryWrapper<>();
- wrapper.eq("effective_status","1");
- wrapper.eq("file_type","10");
+ wrapper.eq("effective_status", "1");
+ wrapper.eq("file_type", "10");
return ReturnUtil.success(this.baseMapper.selectList(wrapper));
}
@@ -374,4 +376,10 @@
wrapper.orderByAsc("effective_status").orderByDesc("create_time");
return wrapper;
}
+
+
+ @Override
+ public List list(List ids) {
+ return this.baseMapper.selectBatchIds(ids);
+ }
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
index ca7e8d2..fa5fdee 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -8,8 +8,7 @@
import com.casic.missiles.dto.IdDTO;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.dto.business.environment.EnvironmentListRequest;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.model.business.BusinessEnvironmentRecord;
@@ -34,7 +33,7 @@
* 前端控制器
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@RestController
@@ -57,7 +56,7 @@
@ApiOperation("原始记录详情")
@PostMapping("/detail")
- public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) {
+ public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{
Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
throw new BusinessException(BusinessExceptionEnum.ID_NULL);
});
@@ -96,8 +95,8 @@
@ApiOperation("原始记录导出")
@PostMapping("/export")
- public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) {
-// businessEnvironmentRecordService.environmentExport(request, response);
+ public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) {
+ businessOriginalRecordService.originExport(request, response);
}
@ApiOperation("获取设备")
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
index cf5f125..9637b3a 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
@@ -227,4 +227,5 @@
return meterFileService.querySelectList();
}
+
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
index 83b9856..09a95be 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
@@ -34,6 +34,7 @@
SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"),
EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"),
ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"),
+ ORIGIN_DATA("originData", "originData", "原始记录"),
ADVICE_EXPORT("adviceData", "adviceData", "客户反馈");
ExportEnum(String fileName, String sheetName, String description) {
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
index 56f6602..dfd2c3e 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
@@ -2,11 +2,14 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordResponse;
import com.casic.missiles.model.business.BusinessOriginalRecord;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* Mapper 接口
@@ -21,4 +24,6 @@
Page originListPage(Page page, @Param("request") OriginRecordRequest request);
+ List originExportList(@Param("request") OriginRecordRequest request);
+
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
index 879a43f..b5f43e8 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
@@ -55,9 +55,56 @@
and bor.create_user = #{request.createUser}
-
- ORDER BY mfa.create_time DESC
+ ORDER BY bor.create_time DESC
+
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
new file mode 100644
index 0000000..cc0dac1
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
@@ -0,0 +1,31 @@
+package com.casic.missiles.dto.business.originRecord;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class OriginRecordRequest {
+
+ @ApiModelProperty(value = "原始记录单编号", dataType = "String")
+ private String originalRecordCode;
+
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ private String sampleName;
+
+ @ApiModelProperty(value = "样品型号", dataType = "String")
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "校验类别", dataType = "String")
+ private String calibrationCategory;
+
+ @ApiModelProperty(value = "创建人", dataType = "String")
+ private String createUser;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
new file mode 100644
index 0000000..4c0521d
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
@@ -0,0 +1,93 @@
+package com.casic.missiles.dto.business.originRecord;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import com.alibaba.excel.enums.poi.BorderStyleEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+@ColumnWidth(30)
+@HeadRowHeight(15)
+@ContentRowHeight(20)
+@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN)
+@ExcelIgnoreUnannotated
+public class OriginRecordResponse {
+
+ @ApiModelProperty(value = "记录id", dataType = "Long")
+ private Long id;
+
+ @ApiModelProperty(value = "原始记录编号", dataType = "String")
+ @ExcelProperty(value = "原始记录编号", order = 0)
+ private String originalRecordCode;
+
+ @ApiModelProperty(value = "原始记录名称", dataType = "String")
+ @ExcelProperty(value = "原始记录名称", order = 1)
+ private String originalRecordName;
+
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ @ExcelProperty(value = "样品编号", order = 2)
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ @ExcelProperty(value = "样品名称", order = 3)
+ private String sampleName;
+
+ @ApiModelProperty(value = "样品型号", dataType = "String")
+ @ExcelProperty(value = "型号", order = 5)
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ @ExcelProperty(value = "出厂编号", order = 4)
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "检校类别", dataType = "String")
+ @ExcelProperty(value = "检校类别", order = 6)
+ private String calibrationCategory;
+
+ @ApiModelProperty(value = "检校时间", dataType = "String")
+ private String calibrationTime;
+
+
+ @ApiModelProperty(value = "环境记录单id", dataType = "Long")
+ private Long environmentId;
+
+
+ @ApiModelProperty(value = "检校地点", dataType = "String")
+ private String calibrationPlace;
+
+
+ @ApiModelProperty(value = "委托书id", dataType = "Long")
+ private Long orderId;
+
+
+ @ApiModelProperty(value = "样品id", dataType = "Long")
+ private Long sampleId;
+
+
+ @ApiModelProperty(value = "原始记录模板id", dataType = "Long")
+ private Long templateId;
+
+ @ApiModelProperty(value = "原始记录附件", dataType = "String")
+ private String originalRecordFile;
+
+
+ @ApiModelProperty(value = "备注", dataType = "String")
+ @ExcelProperty(value = "备注", order = 9)
+ private String remark;
+
+ @ApiModelProperty(value = "创建人", dataType = "String")
+ @ExcelProperty(value = "创建人", order = 7)
+ private String createUser;
+
+ @ApiModelProperty(value = "创建时间", dataType = "String")
+ @ExcelProperty(value = "创建时间", order = 8)
+ private String createTime;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java
deleted file mode 100644
index 93ada55..0000000
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles.dto.business.originRercord;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-@ApiModel
-public class OriginRecordRequest {
-
- @ApiModelProperty(value = "原始记录单编号", dataType = "String")
- private String originalRecordCode;
-
- @ApiModelProperty(value = "样品编号", dataType = "String")
- private String sampleNo;
-
- @ApiModelProperty(value = "样品名称", dataType = "String")
- private String sampleName;
-
- @ApiModelProperty(value = "样品型号", dataType = "String")
- private String sampleModel;
-
- @ApiModelProperty(value = "出厂编号", dataType = "String")
- private String manufacturingNo;
-
- @ApiModelProperty(value = "校验类别", dataType = "String")
- private String calibrationCategory;
-
- @ApiModelProperty(value = "创建人", dataType = "String")
- private String createUser;
-}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
index 3b81119..d1754b8 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
@@ -6,10 +6,13 @@
import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation;
import com.casic.missiles.model.equipment.EquipmentFixedAssets;
import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService;
+import com.casic.missiles.service.equipment.IEquipmentFixedAssetsService;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -22,19 +25,39 @@
@Service
public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService {
+ @Resource
+ IEquipmentFixedAssetsService equipmentFixedAssetsService;
+
@Override
public boolean saveBatch(Long originId, List equipmentFixedAssetsList) {
//删除绑定关系
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("original_record_id", originId);
- this.baseMapper.delete(queryWrapper);
+ deleteByOriginId(originId);
//重新绑定
List list = new ArrayList<>();
equipmentFixedAssetsList.forEach(equipmentFixedAssets -> {
BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation();
obj.setEquipmentId(equipmentFixedAssets.getId());
obj.setOriginalRecordId(originId);
+ list.add(obj);
});
return this.saveBatch(list);
}
+
+ @Override
+ public List getEquipmentsByOriginalRecordId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ List list = this.baseMapper.selectList(queryWrapper);
+ if (list != null && list.size() > 0) {
+ return equipmentFixedAssetsService.list(list.stream().map(BusinessOriginalRecordEquipmentRelation::getEquipmentId).collect(Collectors.toList()));
+ }
+ return null;
+ }
+
+ @Override
+ public Boolean deleteByOriginId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ return this.baseMapper.delete(queryWrapper) > 0 ? true : false;
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
index cd44d97..303ae09 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
@@ -1,17 +1,23 @@
package com.casic.missiles.service.Impl.business;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.mapper.business.BusinessOriginalRecordFileRelationMapper;
import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation;
import com.casic.missiles.model.meter.MeterFile;
import com.casic.missiles.service.business.IBusinessOriginalRecordFileRelationService;
+import com.casic.missiles.service.meter.IMeterFileService;
+import liquibase.util.CollectionUtil;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.sql.SQLException;
import java.sql.Wrapper;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -24,12 +30,13 @@
@Service
public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService {
+ @Resource
+ private IMeterFileService meterFileService;
+
@Override
public boolean saveBatch(Long originId, List meterFileList) {
//先删除所有的绑定关系
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("original_record_id", originId);
- this.baseMapper.delete(queryWrapper);
+ deleteByOriginId(originId);
//新写入绑定关系
List list = new ArrayList<>();
meterFileList.forEach(meterFile -> {
@@ -40,4 +47,23 @@
});
return this.saveBatch(list);
}
+
+ @Override
+ public List getFilesByOriginalRecordId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ List list = this.baseMapper.selectList(queryWrapper);
+ if (list != null && list.size() > 0) {
+ return meterFileService.list(list.stream().map(BusinessOriginalRecordFileRelation::getFileId).collect(Collectors.toList()));
+ }
+ return null;
+ }
+
+ @Override
+ public Boolean deleteByOriginId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ return this.baseMapper.delete(queryWrapper) > 0 ? true : false;
+ }
+
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
index f4fad63..7dda5c3 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
@@ -2,16 +2,17 @@
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.core.base.service.IBaseExportService;
import com.casic.missiles.core.model.auth.AuthUser;
import com.casic.missiles.core.shiro.ShiroKit;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.dto.business.environment.EnvironmentListRequest;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordResponse;
import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.ExportEnum;
import com.casic.missiles.enums.PrefixCodeEnum;
import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper;
@@ -20,13 +21,14 @@
import com.casic.missiles.service.customer.CustomerSampleService;
import com.casic.missiles.utils.DictCodeUtils;
import com.casic.missiles.utils.NumberGeneratorUtil;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
/**
*
@@ -50,7 +52,8 @@
private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService;
@Resource
private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService;
-
+ @Resource
+ private IBaseExportService iBaseExportService;
@Override
public Page originListPage(Page page, OriginRecordRequest request) throws Exception {
@@ -68,7 +71,7 @@
}
@Override
- public BusinessOriginalRecord originalDetail(Long id) {
+ public BusinessOriginalRecord originalDetail(Long id) throws Exception {
BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id);
if (businessOriginalRecord != null) {
//查询样品详情
@@ -83,14 +86,28 @@
if (businessOriginalRecord.getOrderId() != null) {
businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId()));
}
+
+ //查询是否有关联的计量文件
+ businessOriginalRecord.setFileList(originalRecordFileRelationService.getFilesByOriginalRecordId(id));
+ //查询是否有关联的监测设备
+ businessOriginalRecord.setEquipmentInfoList(originalRecordEquipmentRelationService.getEquipmentsByOriginalRecordId(id));
+
+ //字典值转换
+ DictCodeUtils.convertDictCodeToName(businessOriginalRecord);
}
return businessOriginalRecord;
}
+ @Transactional
@Override
public ReturnDTO deleteOriginal(Long id) {
- if (this.baseMapper.deleteById(id) > 0)
+ if (this.baseMapper.deleteById(id) > 0) {
+ //删除计量文件绑定关系
+ originalRecordFileRelationService.deleteByOriginId(id);
+ //删除监测设备绑定关系
+ originalRecordEquipmentRelationService.deleteByOriginId(id);
return ReturnUtil.success();
+ }
throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED);
}
@@ -118,8 +135,14 @@
}
@Override
- public void originalExport(EnvironmentListRequest request, HttpServletResponse response) {
+ public void originExport(OriginRecordRequest request, HttpServletResponse response) {
+ List originExportList = this.baseMapper.originExportList(request);
+ try {
+ iBaseExportService.exportExcel(response, OriginRecordResponse.class, originExportList, ExportEnum.ORIGIN_DATA.getSheetName());
+ } catch (IOException e) {
+ log.error("环境记录单导出出现异常,异常信息为{}", e);
+ }
}
private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) {
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
index d3fa36f..a91de0f 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
@@ -288,6 +288,21 @@
return ReturnUtil.success(this.baseMapper.selectList(wrapper));
}
+
+ /**
+ * 根据ids查设备
+ *
+ * @param ids
+ * @return
+ */
+ @Override
+ public List list(List ids) {
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.in("id", ids);
+ wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE);
+ return this.baseMapper.selectList(wrapper);
+ }
+
/**
* 转换字典code
*
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java
index e24f67d..2d1d4a7 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java
@@ -118,10 +118,10 @@
String formId = request.getFormId();
ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId());
- if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){
+ if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) {
return returnDTO;
}
- ProcessInstance processInstance = (ProcessInstance)returnDTO.getData();
+ ProcessInstance processInstance = (ProcessInstance) returnDTO.getData();
MeterFile file = new MeterFile();
file.setId(request.getId());
@@ -191,9 +191,9 @@
@Transactional
public ReturnDTO approvalDelete(ApprovalDeleteRequest request) {
ReturnDTO returnDTO = approvalOperateService.delete(request);
- if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){
+ if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) {
//本地删除
- if(meterFileMapper.deleteById(request.getId()) > 0){
+ if (meterFileMapper.deleteById(request.getId()) > 0) {
return ReturnUtil.success();
}
}
@@ -236,16 +236,16 @@
//待审批,该状态维护在flowable中
case ApprovalStatusEnum.TO_BE_APPROVED:
List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId());
- if(!CollectionUtils.isEmpty(toBeApprovedList)){
+ if (!CollectionUtils.isEmpty(toBeApprovedList)) {
businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList());
}
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED);
//DTO根据业务主键补全taskId
approvalList.forEach(approval -> {
toBeApprovedList.forEach(toBeApprovedDTO -> {
- if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){
+ if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) {
approval.setTaskId(toBeApprovedDTO.getTaskId());
}
});
@@ -255,7 +255,7 @@
//审批中,该状态维护在flowable中
case ApprovalStatusEnum.IN_APPROVED:
businessKeys = baseApprovalService.getInApprovedList(request.getFormId());
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED);
}
@@ -263,7 +263,7 @@
//已通过,该状态维护在flowable
case ApprovalStatusEnum.PASSED:
businessKeys = baseApprovalService.getPassedList(request.getFormId());
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED);
}
@@ -272,12 +272,12 @@
case ApprovalStatusEnum.FAILED:
businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝
List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED);
}
List rejectApprovalList = new ArrayList<>();
- if(!CollectionUtils.isEmpty(rejectBusinessKey)){
+ if (!CollectionUtils.isEmpty(rejectBusinessKey)) {
List rejectList = meterFileMapper.selectBatchForApproval(page, request, rejectBusinessKey);
rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT);
}
@@ -287,7 +287,7 @@
//已取消(直接删除实例),该状态维护在flowable
case ApprovalStatusEnum.CANCELED:
businessKeys = baseApprovalService.getCanceledList(request.getFormId());
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED);
}
@@ -297,10 +297,10 @@
//普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消)
case ApprovalStatusEnum.ALL:
List AllApproveList = baseApprovalService.getAllList(request.getFormId());
- if(!CollectionUtils.isEmpty(AllApproveList)){
+ if (!CollectionUtils.isEmpty(AllApproveList)) {
businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList());
}
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList);
}
@@ -310,9 +310,11 @@
}
private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) {
- Map taskMap = new HashMap<>();
+ Map taskMap = new HashMap<>();
approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class);
- allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());});
+ allApproveList.forEach(allApprove -> {
+ taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus());
+ });
//状态补全
approvalList.forEach(approval -> {
approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId()))));
@@ -322,7 +324,7 @@
return approvalList.stream().sorted(Comparator.comparing(FileApprovalListResponse::getCreateTime).reversed()).collect(Collectors.toList());
}
- private List handleApprovalListResponse(List approvalList, List list, String status){
+ private List handleApprovalListResponse(List approvalList, List list, String status) {
approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class);
approvalList.stream().forEach(result -> {
//审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1
@@ -341,8 +343,8 @@
@Override
public ReturnDTO querySelectList() {
QueryWrapper wrapper = new QueryWrapper<>();
- wrapper.eq("effective_status","1");
- wrapper.eq("file_type","10");
+ wrapper.eq("effective_status", "1");
+ wrapper.eq("file_type", "10");
return ReturnUtil.success(this.baseMapper.selectList(wrapper));
}
@@ -374,4 +376,10 @@
wrapper.orderByAsc("effective_status").orderByDesc("create_time");
return wrapper;
}
+
+
+ @Override
+ public List list(List ids) {
+ return this.baseMapper.selectBatchIds(ids);
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java
index 84b4522..b9ba892 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation;
import com.casic.missiles.model.equipment.EquipmentFixedAssets;
+import liquibase.pro.packaged.B;
import java.util.List;
@@ -15,5 +16,11 @@
* @since 2023-02-02
*/
public interface IBusinessOriginalRecordEquipmentRelationService extends IService {
+
boolean saveBatch(Long originId, List equipmentFixedAssetsList);
+
+ //根据原始记录单id查询所有关联的检测设备
+ List getEquipmentsByOriginalRecordId(Long originId);
+
+ Boolean deleteByOriginId(Long originId);
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
index ca7e8d2..fa5fdee 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -8,8 +8,7 @@
import com.casic.missiles.dto.IdDTO;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.dto.business.environment.EnvironmentListRequest;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.model.business.BusinessEnvironmentRecord;
@@ -34,7 +33,7 @@
* 前端控制器
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@RestController
@@ -57,7 +56,7 @@
@ApiOperation("原始记录详情")
@PostMapping("/detail")
- public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) {
+ public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{
Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
throw new BusinessException(BusinessExceptionEnum.ID_NULL);
});
@@ -96,8 +95,8 @@
@ApiOperation("原始记录导出")
@PostMapping("/export")
- public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) {
-// businessEnvironmentRecordService.environmentExport(request, response);
+ public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) {
+ businessOriginalRecordService.originExport(request, response);
}
@ApiOperation("获取设备")
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
index cf5f125..9637b3a 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
@@ -227,4 +227,5 @@
return meterFileService.querySelectList();
}
+
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
index 83b9856..09a95be 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
@@ -34,6 +34,7 @@
SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"),
EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"),
ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"),
+ ORIGIN_DATA("originData", "originData", "原始记录"),
ADVICE_EXPORT("adviceData", "adviceData", "客户反馈");
ExportEnum(String fileName, String sheetName, String description) {
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
index 56f6602..dfd2c3e 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
@@ -2,11 +2,14 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordResponse;
import com.casic.missiles.model.business.BusinessOriginalRecord;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* Mapper 接口
@@ -21,4 +24,6 @@
Page originListPage(Page page, @Param("request") OriginRecordRequest request);
+ List originExportList(@Param("request") OriginRecordRequest request);
+
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
index 879a43f..b5f43e8 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
@@ -55,9 +55,56 @@
and bor.create_user = #{request.createUser}
-
- ORDER BY mfa.create_time DESC
+ ORDER BY bor.create_time DESC
+
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
new file mode 100644
index 0000000..cc0dac1
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
@@ -0,0 +1,31 @@
+package com.casic.missiles.dto.business.originRecord;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class OriginRecordRequest {
+
+ @ApiModelProperty(value = "原始记录单编号", dataType = "String")
+ private String originalRecordCode;
+
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ private String sampleName;
+
+ @ApiModelProperty(value = "样品型号", dataType = "String")
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "校验类别", dataType = "String")
+ private String calibrationCategory;
+
+ @ApiModelProperty(value = "创建人", dataType = "String")
+ private String createUser;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
new file mode 100644
index 0000000..4c0521d
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
@@ -0,0 +1,93 @@
+package com.casic.missiles.dto.business.originRecord;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import com.alibaba.excel.enums.poi.BorderStyleEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+@ColumnWidth(30)
+@HeadRowHeight(15)
+@ContentRowHeight(20)
+@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN)
+@ExcelIgnoreUnannotated
+public class OriginRecordResponse {
+
+ @ApiModelProperty(value = "记录id", dataType = "Long")
+ private Long id;
+
+ @ApiModelProperty(value = "原始记录编号", dataType = "String")
+ @ExcelProperty(value = "原始记录编号", order = 0)
+ private String originalRecordCode;
+
+ @ApiModelProperty(value = "原始记录名称", dataType = "String")
+ @ExcelProperty(value = "原始记录名称", order = 1)
+ private String originalRecordName;
+
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ @ExcelProperty(value = "样品编号", order = 2)
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ @ExcelProperty(value = "样品名称", order = 3)
+ private String sampleName;
+
+ @ApiModelProperty(value = "样品型号", dataType = "String")
+ @ExcelProperty(value = "型号", order = 5)
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ @ExcelProperty(value = "出厂编号", order = 4)
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "检校类别", dataType = "String")
+ @ExcelProperty(value = "检校类别", order = 6)
+ private String calibrationCategory;
+
+ @ApiModelProperty(value = "检校时间", dataType = "String")
+ private String calibrationTime;
+
+
+ @ApiModelProperty(value = "环境记录单id", dataType = "Long")
+ private Long environmentId;
+
+
+ @ApiModelProperty(value = "检校地点", dataType = "String")
+ private String calibrationPlace;
+
+
+ @ApiModelProperty(value = "委托书id", dataType = "Long")
+ private Long orderId;
+
+
+ @ApiModelProperty(value = "样品id", dataType = "Long")
+ private Long sampleId;
+
+
+ @ApiModelProperty(value = "原始记录模板id", dataType = "Long")
+ private Long templateId;
+
+ @ApiModelProperty(value = "原始记录附件", dataType = "String")
+ private String originalRecordFile;
+
+
+ @ApiModelProperty(value = "备注", dataType = "String")
+ @ExcelProperty(value = "备注", order = 9)
+ private String remark;
+
+ @ApiModelProperty(value = "创建人", dataType = "String")
+ @ExcelProperty(value = "创建人", order = 7)
+ private String createUser;
+
+ @ApiModelProperty(value = "创建时间", dataType = "String")
+ @ExcelProperty(value = "创建时间", order = 8)
+ private String createTime;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java
deleted file mode 100644
index 93ada55..0000000
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles.dto.business.originRercord;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-@ApiModel
-public class OriginRecordRequest {
-
- @ApiModelProperty(value = "原始记录单编号", dataType = "String")
- private String originalRecordCode;
-
- @ApiModelProperty(value = "样品编号", dataType = "String")
- private String sampleNo;
-
- @ApiModelProperty(value = "样品名称", dataType = "String")
- private String sampleName;
-
- @ApiModelProperty(value = "样品型号", dataType = "String")
- private String sampleModel;
-
- @ApiModelProperty(value = "出厂编号", dataType = "String")
- private String manufacturingNo;
-
- @ApiModelProperty(value = "校验类别", dataType = "String")
- private String calibrationCategory;
-
- @ApiModelProperty(value = "创建人", dataType = "String")
- private String createUser;
-}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
index 3b81119..d1754b8 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
@@ -6,10 +6,13 @@
import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation;
import com.casic.missiles.model.equipment.EquipmentFixedAssets;
import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService;
+import com.casic.missiles.service.equipment.IEquipmentFixedAssetsService;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -22,19 +25,39 @@
@Service
public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService {
+ @Resource
+ IEquipmentFixedAssetsService equipmentFixedAssetsService;
+
@Override
public boolean saveBatch(Long originId, List equipmentFixedAssetsList) {
//删除绑定关系
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("original_record_id", originId);
- this.baseMapper.delete(queryWrapper);
+ deleteByOriginId(originId);
//重新绑定
List list = new ArrayList<>();
equipmentFixedAssetsList.forEach(equipmentFixedAssets -> {
BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation();
obj.setEquipmentId(equipmentFixedAssets.getId());
obj.setOriginalRecordId(originId);
+ list.add(obj);
});
return this.saveBatch(list);
}
+
+ @Override
+ public List getEquipmentsByOriginalRecordId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ List list = this.baseMapper.selectList(queryWrapper);
+ if (list != null && list.size() > 0) {
+ return equipmentFixedAssetsService.list(list.stream().map(BusinessOriginalRecordEquipmentRelation::getEquipmentId).collect(Collectors.toList()));
+ }
+ return null;
+ }
+
+ @Override
+ public Boolean deleteByOriginId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ return this.baseMapper.delete(queryWrapper) > 0 ? true : false;
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
index cd44d97..303ae09 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
@@ -1,17 +1,23 @@
package com.casic.missiles.service.Impl.business;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.mapper.business.BusinessOriginalRecordFileRelationMapper;
import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation;
import com.casic.missiles.model.meter.MeterFile;
import com.casic.missiles.service.business.IBusinessOriginalRecordFileRelationService;
+import com.casic.missiles.service.meter.IMeterFileService;
+import liquibase.util.CollectionUtil;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.sql.SQLException;
import java.sql.Wrapper;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -24,12 +30,13 @@
@Service
public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService {
+ @Resource
+ private IMeterFileService meterFileService;
+
@Override
public boolean saveBatch(Long originId, List meterFileList) {
//先删除所有的绑定关系
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("original_record_id", originId);
- this.baseMapper.delete(queryWrapper);
+ deleteByOriginId(originId);
//新写入绑定关系
List list = new ArrayList<>();
meterFileList.forEach(meterFile -> {
@@ -40,4 +47,23 @@
});
return this.saveBatch(list);
}
+
+ @Override
+ public List getFilesByOriginalRecordId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ List list = this.baseMapper.selectList(queryWrapper);
+ if (list != null && list.size() > 0) {
+ return meterFileService.list(list.stream().map(BusinessOriginalRecordFileRelation::getFileId).collect(Collectors.toList()));
+ }
+ return null;
+ }
+
+ @Override
+ public Boolean deleteByOriginId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ return this.baseMapper.delete(queryWrapper) > 0 ? true : false;
+ }
+
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
index f4fad63..7dda5c3 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
@@ -2,16 +2,17 @@
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.core.base.service.IBaseExportService;
import com.casic.missiles.core.model.auth.AuthUser;
import com.casic.missiles.core.shiro.ShiroKit;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.dto.business.environment.EnvironmentListRequest;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordResponse;
import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.ExportEnum;
import com.casic.missiles.enums.PrefixCodeEnum;
import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper;
@@ -20,13 +21,14 @@
import com.casic.missiles.service.customer.CustomerSampleService;
import com.casic.missiles.utils.DictCodeUtils;
import com.casic.missiles.utils.NumberGeneratorUtil;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
/**
*
@@ -50,7 +52,8 @@
private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService;
@Resource
private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService;
-
+ @Resource
+ private IBaseExportService iBaseExportService;
@Override
public Page originListPage(Page page, OriginRecordRequest request) throws Exception {
@@ -68,7 +71,7 @@
}
@Override
- public BusinessOriginalRecord originalDetail(Long id) {
+ public BusinessOriginalRecord originalDetail(Long id) throws Exception {
BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id);
if (businessOriginalRecord != null) {
//查询样品详情
@@ -83,14 +86,28 @@
if (businessOriginalRecord.getOrderId() != null) {
businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId()));
}
+
+ //查询是否有关联的计量文件
+ businessOriginalRecord.setFileList(originalRecordFileRelationService.getFilesByOriginalRecordId(id));
+ //查询是否有关联的监测设备
+ businessOriginalRecord.setEquipmentInfoList(originalRecordEquipmentRelationService.getEquipmentsByOriginalRecordId(id));
+
+ //字典值转换
+ DictCodeUtils.convertDictCodeToName(businessOriginalRecord);
}
return businessOriginalRecord;
}
+ @Transactional
@Override
public ReturnDTO deleteOriginal(Long id) {
- if (this.baseMapper.deleteById(id) > 0)
+ if (this.baseMapper.deleteById(id) > 0) {
+ //删除计量文件绑定关系
+ originalRecordFileRelationService.deleteByOriginId(id);
+ //删除监测设备绑定关系
+ originalRecordEquipmentRelationService.deleteByOriginId(id);
return ReturnUtil.success();
+ }
throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED);
}
@@ -118,8 +135,14 @@
}
@Override
- public void originalExport(EnvironmentListRequest request, HttpServletResponse response) {
+ public void originExport(OriginRecordRequest request, HttpServletResponse response) {
+ List originExportList = this.baseMapper.originExportList(request);
+ try {
+ iBaseExportService.exportExcel(response, OriginRecordResponse.class, originExportList, ExportEnum.ORIGIN_DATA.getSheetName());
+ } catch (IOException e) {
+ log.error("环境记录单导出出现异常,异常信息为{}", e);
+ }
}
private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) {
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
index d3fa36f..a91de0f 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
@@ -288,6 +288,21 @@
return ReturnUtil.success(this.baseMapper.selectList(wrapper));
}
+
+ /**
+ * 根据ids查设备
+ *
+ * @param ids
+ * @return
+ */
+ @Override
+ public List list(List ids) {
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.in("id", ids);
+ wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE);
+ return this.baseMapper.selectList(wrapper);
+ }
+
/**
* 转换字典code
*
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java
index e24f67d..2d1d4a7 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java
@@ -118,10 +118,10 @@
String formId = request.getFormId();
ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId());
- if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){
+ if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) {
return returnDTO;
}
- ProcessInstance processInstance = (ProcessInstance)returnDTO.getData();
+ ProcessInstance processInstance = (ProcessInstance) returnDTO.getData();
MeterFile file = new MeterFile();
file.setId(request.getId());
@@ -191,9 +191,9 @@
@Transactional
public ReturnDTO approvalDelete(ApprovalDeleteRequest request) {
ReturnDTO returnDTO = approvalOperateService.delete(request);
- if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){
+ if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) {
//本地删除
- if(meterFileMapper.deleteById(request.getId()) > 0){
+ if (meterFileMapper.deleteById(request.getId()) > 0) {
return ReturnUtil.success();
}
}
@@ -236,16 +236,16 @@
//待审批,该状态维护在flowable中
case ApprovalStatusEnum.TO_BE_APPROVED:
List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId());
- if(!CollectionUtils.isEmpty(toBeApprovedList)){
+ if (!CollectionUtils.isEmpty(toBeApprovedList)) {
businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList());
}
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED);
//DTO根据业务主键补全taskId
approvalList.forEach(approval -> {
toBeApprovedList.forEach(toBeApprovedDTO -> {
- if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){
+ if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) {
approval.setTaskId(toBeApprovedDTO.getTaskId());
}
});
@@ -255,7 +255,7 @@
//审批中,该状态维护在flowable中
case ApprovalStatusEnum.IN_APPROVED:
businessKeys = baseApprovalService.getInApprovedList(request.getFormId());
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED);
}
@@ -263,7 +263,7 @@
//已通过,该状态维护在flowable
case ApprovalStatusEnum.PASSED:
businessKeys = baseApprovalService.getPassedList(request.getFormId());
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED);
}
@@ -272,12 +272,12 @@
case ApprovalStatusEnum.FAILED:
businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝
List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED);
}
List rejectApprovalList = new ArrayList<>();
- if(!CollectionUtils.isEmpty(rejectBusinessKey)){
+ if (!CollectionUtils.isEmpty(rejectBusinessKey)) {
List rejectList = meterFileMapper.selectBatchForApproval(page, request, rejectBusinessKey);
rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT);
}
@@ -287,7 +287,7 @@
//已取消(直接删除实例),该状态维护在flowable
case ApprovalStatusEnum.CANCELED:
businessKeys = baseApprovalService.getCanceledList(request.getFormId());
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED);
}
@@ -297,10 +297,10 @@
//普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消)
case ApprovalStatusEnum.ALL:
List AllApproveList = baseApprovalService.getAllList(request.getFormId());
- if(!CollectionUtils.isEmpty(AllApproveList)){
+ if (!CollectionUtils.isEmpty(AllApproveList)) {
businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList());
}
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList);
}
@@ -310,9 +310,11 @@
}
private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) {
- Map taskMap = new HashMap<>();
+ Map taskMap = new HashMap<>();
approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class);
- allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());});
+ allApproveList.forEach(allApprove -> {
+ taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus());
+ });
//状态补全
approvalList.forEach(approval -> {
approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId()))));
@@ -322,7 +324,7 @@
return approvalList.stream().sorted(Comparator.comparing(FileApprovalListResponse::getCreateTime).reversed()).collect(Collectors.toList());
}
- private List handleApprovalListResponse(List approvalList, List list, String status){
+ private List handleApprovalListResponse(List approvalList, List list, String status) {
approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class);
approvalList.stream().forEach(result -> {
//审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1
@@ -341,8 +343,8 @@
@Override
public ReturnDTO querySelectList() {
QueryWrapper wrapper = new QueryWrapper<>();
- wrapper.eq("effective_status","1");
- wrapper.eq("file_type","10");
+ wrapper.eq("effective_status", "1");
+ wrapper.eq("file_type", "10");
return ReturnUtil.success(this.baseMapper.selectList(wrapper));
}
@@ -374,4 +376,10 @@
wrapper.orderByAsc("effective_status").orderByDesc("create_time");
return wrapper;
}
+
+
+ @Override
+ public List list(List ids) {
+ return this.baseMapper.selectBatchIds(ids);
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java
index 84b4522..b9ba892 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation;
import com.casic.missiles.model.equipment.EquipmentFixedAssets;
+import liquibase.pro.packaged.B;
import java.util.List;
@@ -15,5 +16,11 @@
* @since 2023-02-02
*/
public interface IBusinessOriginalRecordEquipmentRelationService extends IService {
+
boolean saveBatch(Long originId, List equipmentFixedAssetsList);
+
+ //根据原始记录单id查询所有关联的检测设备
+ List getEquipmentsByOriginalRecordId(Long originId);
+
+ Boolean deleteByOriginId(Long originId);
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java
index d41c6aa..56e0079 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation;
import com.casic.missiles.model.meter.MeterFile;
+import liquibase.pro.packaged.L;
import java.util.List;
@@ -17,4 +18,9 @@
public interface IBusinessOriginalRecordFileRelationService extends IService {
boolean saveBatch(Long originId, List meterFileList);
+ //根据原始记录单id查询所有关联的计量文件
+ List getFilesByOriginalRecordId(Long originId);
+
+ Boolean deleteByOriginId(Long originId);
+
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
index ca7e8d2..fa5fdee 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -8,8 +8,7 @@
import com.casic.missiles.dto.IdDTO;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.dto.business.environment.EnvironmentListRequest;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.model.business.BusinessEnvironmentRecord;
@@ -34,7 +33,7 @@
* 前端控制器
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@RestController
@@ -57,7 +56,7 @@
@ApiOperation("原始记录详情")
@PostMapping("/detail")
- public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) {
+ public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{
Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
throw new BusinessException(BusinessExceptionEnum.ID_NULL);
});
@@ -96,8 +95,8 @@
@ApiOperation("原始记录导出")
@PostMapping("/export")
- public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) {
-// businessEnvironmentRecordService.environmentExport(request, response);
+ public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) {
+ businessOriginalRecordService.originExport(request, response);
}
@ApiOperation("获取设备")
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
index cf5f125..9637b3a 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
@@ -227,4 +227,5 @@
return meterFileService.querySelectList();
}
+
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
index 83b9856..09a95be 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
@@ -34,6 +34,7 @@
SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"),
EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"),
ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"),
+ ORIGIN_DATA("originData", "originData", "原始记录"),
ADVICE_EXPORT("adviceData", "adviceData", "客户反馈");
ExportEnum(String fileName, String sheetName, String description) {
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
index 56f6602..dfd2c3e 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
@@ -2,11 +2,14 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordResponse;
import com.casic.missiles.model.business.BusinessOriginalRecord;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* Mapper 接口
@@ -21,4 +24,6 @@
Page originListPage(Page page, @Param("request") OriginRecordRequest request);
+ List originExportList(@Param("request") OriginRecordRequest request);
+
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
index 879a43f..b5f43e8 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
@@ -55,9 +55,56 @@
and bor.create_user = #{request.createUser}
-
- ORDER BY mfa.create_time DESC
+ ORDER BY bor.create_time DESC
+
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
new file mode 100644
index 0000000..cc0dac1
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
@@ -0,0 +1,31 @@
+package com.casic.missiles.dto.business.originRecord;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class OriginRecordRequest {
+
+ @ApiModelProperty(value = "原始记录单编号", dataType = "String")
+ private String originalRecordCode;
+
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ private String sampleName;
+
+ @ApiModelProperty(value = "样品型号", dataType = "String")
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "校验类别", dataType = "String")
+ private String calibrationCategory;
+
+ @ApiModelProperty(value = "创建人", dataType = "String")
+ private String createUser;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
new file mode 100644
index 0000000..4c0521d
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
@@ -0,0 +1,93 @@
+package com.casic.missiles.dto.business.originRecord;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import com.alibaba.excel.enums.poi.BorderStyleEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+@ColumnWidth(30)
+@HeadRowHeight(15)
+@ContentRowHeight(20)
+@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN)
+@ExcelIgnoreUnannotated
+public class OriginRecordResponse {
+
+ @ApiModelProperty(value = "记录id", dataType = "Long")
+ private Long id;
+
+ @ApiModelProperty(value = "原始记录编号", dataType = "String")
+ @ExcelProperty(value = "原始记录编号", order = 0)
+ private String originalRecordCode;
+
+ @ApiModelProperty(value = "原始记录名称", dataType = "String")
+ @ExcelProperty(value = "原始记录名称", order = 1)
+ private String originalRecordName;
+
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ @ExcelProperty(value = "样品编号", order = 2)
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ @ExcelProperty(value = "样品名称", order = 3)
+ private String sampleName;
+
+ @ApiModelProperty(value = "样品型号", dataType = "String")
+ @ExcelProperty(value = "型号", order = 5)
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ @ExcelProperty(value = "出厂编号", order = 4)
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "检校类别", dataType = "String")
+ @ExcelProperty(value = "检校类别", order = 6)
+ private String calibrationCategory;
+
+ @ApiModelProperty(value = "检校时间", dataType = "String")
+ private String calibrationTime;
+
+
+ @ApiModelProperty(value = "环境记录单id", dataType = "Long")
+ private Long environmentId;
+
+
+ @ApiModelProperty(value = "检校地点", dataType = "String")
+ private String calibrationPlace;
+
+
+ @ApiModelProperty(value = "委托书id", dataType = "Long")
+ private Long orderId;
+
+
+ @ApiModelProperty(value = "样品id", dataType = "Long")
+ private Long sampleId;
+
+
+ @ApiModelProperty(value = "原始记录模板id", dataType = "Long")
+ private Long templateId;
+
+ @ApiModelProperty(value = "原始记录附件", dataType = "String")
+ private String originalRecordFile;
+
+
+ @ApiModelProperty(value = "备注", dataType = "String")
+ @ExcelProperty(value = "备注", order = 9)
+ private String remark;
+
+ @ApiModelProperty(value = "创建人", dataType = "String")
+ @ExcelProperty(value = "创建人", order = 7)
+ private String createUser;
+
+ @ApiModelProperty(value = "创建时间", dataType = "String")
+ @ExcelProperty(value = "创建时间", order = 8)
+ private String createTime;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java
deleted file mode 100644
index 93ada55..0000000
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles.dto.business.originRercord;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-@ApiModel
-public class OriginRecordRequest {
-
- @ApiModelProperty(value = "原始记录单编号", dataType = "String")
- private String originalRecordCode;
-
- @ApiModelProperty(value = "样品编号", dataType = "String")
- private String sampleNo;
-
- @ApiModelProperty(value = "样品名称", dataType = "String")
- private String sampleName;
-
- @ApiModelProperty(value = "样品型号", dataType = "String")
- private String sampleModel;
-
- @ApiModelProperty(value = "出厂编号", dataType = "String")
- private String manufacturingNo;
-
- @ApiModelProperty(value = "校验类别", dataType = "String")
- private String calibrationCategory;
-
- @ApiModelProperty(value = "创建人", dataType = "String")
- private String createUser;
-}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
index 3b81119..d1754b8 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
@@ -6,10 +6,13 @@
import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation;
import com.casic.missiles.model.equipment.EquipmentFixedAssets;
import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService;
+import com.casic.missiles.service.equipment.IEquipmentFixedAssetsService;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -22,19 +25,39 @@
@Service
public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService {
+ @Resource
+ IEquipmentFixedAssetsService equipmentFixedAssetsService;
+
@Override
public boolean saveBatch(Long originId, List equipmentFixedAssetsList) {
//删除绑定关系
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("original_record_id", originId);
- this.baseMapper.delete(queryWrapper);
+ deleteByOriginId(originId);
//重新绑定
List list = new ArrayList<>();
equipmentFixedAssetsList.forEach(equipmentFixedAssets -> {
BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation();
obj.setEquipmentId(equipmentFixedAssets.getId());
obj.setOriginalRecordId(originId);
+ list.add(obj);
});
return this.saveBatch(list);
}
+
+ @Override
+ public List getEquipmentsByOriginalRecordId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ List list = this.baseMapper.selectList(queryWrapper);
+ if (list != null && list.size() > 0) {
+ return equipmentFixedAssetsService.list(list.stream().map(BusinessOriginalRecordEquipmentRelation::getEquipmentId).collect(Collectors.toList()));
+ }
+ return null;
+ }
+
+ @Override
+ public Boolean deleteByOriginId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ return this.baseMapper.delete(queryWrapper) > 0 ? true : false;
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
index cd44d97..303ae09 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
@@ -1,17 +1,23 @@
package com.casic.missiles.service.Impl.business;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.mapper.business.BusinessOriginalRecordFileRelationMapper;
import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation;
import com.casic.missiles.model.meter.MeterFile;
import com.casic.missiles.service.business.IBusinessOriginalRecordFileRelationService;
+import com.casic.missiles.service.meter.IMeterFileService;
+import liquibase.util.CollectionUtil;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.sql.SQLException;
import java.sql.Wrapper;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -24,12 +30,13 @@
@Service
public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService {
+ @Resource
+ private IMeterFileService meterFileService;
+
@Override
public boolean saveBatch(Long originId, List meterFileList) {
//先删除所有的绑定关系
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("original_record_id", originId);
- this.baseMapper.delete(queryWrapper);
+ deleteByOriginId(originId);
//新写入绑定关系
List list = new ArrayList<>();
meterFileList.forEach(meterFile -> {
@@ -40,4 +47,23 @@
});
return this.saveBatch(list);
}
+
+ @Override
+ public List getFilesByOriginalRecordId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ List list = this.baseMapper.selectList(queryWrapper);
+ if (list != null && list.size() > 0) {
+ return meterFileService.list(list.stream().map(BusinessOriginalRecordFileRelation::getFileId).collect(Collectors.toList()));
+ }
+ return null;
+ }
+
+ @Override
+ public Boolean deleteByOriginId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ return this.baseMapper.delete(queryWrapper) > 0 ? true : false;
+ }
+
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
index f4fad63..7dda5c3 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
@@ -2,16 +2,17 @@
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.core.base.service.IBaseExportService;
import com.casic.missiles.core.model.auth.AuthUser;
import com.casic.missiles.core.shiro.ShiroKit;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.dto.business.environment.EnvironmentListRequest;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordResponse;
import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.ExportEnum;
import com.casic.missiles.enums.PrefixCodeEnum;
import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper;
@@ -20,13 +21,14 @@
import com.casic.missiles.service.customer.CustomerSampleService;
import com.casic.missiles.utils.DictCodeUtils;
import com.casic.missiles.utils.NumberGeneratorUtil;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
/**
*
@@ -50,7 +52,8 @@
private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService;
@Resource
private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService;
-
+ @Resource
+ private IBaseExportService iBaseExportService;
@Override
public Page originListPage(Page page, OriginRecordRequest request) throws Exception {
@@ -68,7 +71,7 @@
}
@Override
- public BusinessOriginalRecord originalDetail(Long id) {
+ public BusinessOriginalRecord originalDetail(Long id) throws Exception {
BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id);
if (businessOriginalRecord != null) {
//查询样品详情
@@ -83,14 +86,28 @@
if (businessOriginalRecord.getOrderId() != null) {
businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId()));
}
+
+ //查询是否有关联的计量文件
+ businessOriginalRecord.setFileList(originalRecordFileRelationService.getFilesByOriginalRecordId(id));
+ //查询是否有关联的监测设备
+ businessOriginalRecord.setEquipmentInfoList(originalRecordEquipmentRelationService.getEquipmentsByOriginalRecordId(id));
+
+ //字典值转换
+ DictCodeUtils.convertDictCodeToName(businessOriginalRecord);
}
return businessOriginalRecord;
}
+ @Transactional
@Override
public ReturnDTO deleteOriginal(Long id) {
- if (this.baseMapper.deleteById(id) > 0)
+ if (this.baseMapper.deleteById(id) > 0) {
+ //删除计量文件绑定关系
+ originalRecordFileRelationService.deleteByOriginId(id);
+ //删除监测设备绑定关系
+ originalRecordEquipmentRelationService.deleteByOriginId(id);
return ReturnUtil.success();
+ }
throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED);
}
@@ -118,8 +135,14 @@
}
@Override
- public void originalExport(EnvironmentListRequest request, HttpServletResponse response) {
+ public void originExport(OriginRecordRequest request, HttpServletResponse response) {
+ List originExportList = this.baseMapper.originExportList(request);
+ try {
+ iBaseExportService.exportExcel(response, OriginRecordResponse.class, originExportList, ExportEnum.ORIGIN_DATA.getSheetName());
+ } catch (IOException e) {
+ log.error("环境记录单导出出现异常,异常信息为{}", e);
+ }
}
private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) {
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
index d3fa36f..a91de0f 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
@@ -288,6 +288,21 @@
return ReturnUtil.success(this.baseMapper.selectList(wrapper));
}
+
+ /**
+ * 根据ids查设备
+ *
+ * @param ids
+ * @return
+ */
+ @Override
+ public List list(List ids) {
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.in("id", ids);
+ wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE);
+ return this.baseMapper.selectList(wrapper);
+ }
+
/**
* 转换字典code
*
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java
index e24f67d..2d1d4a7 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java
@@ -118,10 +118,10 @@
String formId = request.getFormId();
ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId());
- if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){
+ if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) {
return returnDTO;
}
- ProcessInstance processInstance = (ProcessInstance)returnDTO.getData();
+ ProcessInstance processInstance = (ProcessInstance) returnDTO.getData();
MeterFile file = new MeterFile();
file.setId(request.getId());
@@ -191,9 +191,9 @@
@Transactional
public ReturnDTO approvalDelete(ApprovalDeleteRequest request) {
ReturnDTO returnDTO = approvalOperateService.delete(request);
- if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){
+ if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) {
//本地删除
- if(meterFileMapper.deleteById(request.getId()) > 0){
+ if (meterFileMapper.deleteById(request.getId()) > 0) {
return ReturnUtil.success();
}
}
@@ -236,16 +236,16 @@
//待审批,该状态维护在flowable中
case ApprovalStatusEnum.TO_BE_APPROVED:
List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId());
- if(!CollectionUtils.isEmpty(toBeApprovedList)){
+ if (!CollectionUtils.isEmpty(toBeApprovedList)) {
businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList());
}
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED);
//DTO根据业务主键补全taskId
approvalList.forEach(approval -> {
toBeApprovedList.forEach(toBeApprovedDTO -> {
- if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){
+ if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) {
approval.setTaskId(toBeApprovedDTO.getTaskId());
}
});
@@ -255,7 +255,7 @@
//审批中,该状态维护在flowable中
case ApprovalStatusEnum.IN_APPROVED:
businessKeys = baseApprovalService.getInApprovedList(request.getFormId());
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED);
}
@@ -263,7 +263,7 @@
//已通过,该状态维护在flowable
case ApprovalStatusEnum.PASSED:
businessKeys = baseApprovalService.getPassedList(request.getFormId());
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED);
}
@@ -272,12 +272,12 @@
case ApprovalStatusEnum.FAILED:
businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝
List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED);
}
List rejectApprovalList = new ArrayList<>();
- if(!CollectionUtils.isEmpty(rejectBusinessKey)){
+ if (!CollectionUtils.isEmpty(rejectBusinessKey)) {
List rejectList = meterFileMapper.selectBatchForApproval(page, request, rejectBusinessKey);
rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT);
}
@@ -287,7 +287,7 @@
//已取消(直接删除实例),该状态维护在flowable
case ApprovalStatusEnum.CANCELED:
businessKeys = baseApprovalService.getCanceledList(request.getFormId());
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED);
}
@@ -297,10 +297,10 @@
//普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消)
case ApprovalStatusEnum.ALL:
List AllApproveList = baseApprovalService.getAllList(request.getFormId());
- if(!CollectionUtils.isEmpty(AllApproveList)){
+ if (!CollectionUtils.isEmpty(AllApproveList)) {
businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList());
}
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList);
}
@@ -310,9 +310,11 @@
}
private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) {
- Map taskMap = new HashMap<>();
+ Map taskMap = new HashMap<>();
approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class);
- allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());});
+ allApproveList.forEach(allApprove -> {
+ taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus());
+ });
//状态补全
approvalList.forEach(approval -> {
approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId()))));
@@ -322,7 +324,7 @@
return approvalList.stream().sorted(Comparator.comparing(FileApprovalListResponse::getCreateTime).reversed()).collect(Collectors.toList());
}
- private List handleApprovalListResponse(List approvalList, List list, String status){
+ private List handleApprovalListResponse(List approvalList, List list, String status) {
approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class);
approvalList.stream().forEach(result -> {
//审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1
@@ -341,8 +343,8 @@
@Override
public ReturnDTO querySelectList() {
QueryWrapper wrapper = new QueryWrapper<>();
- wrapper.eq("effective_status","1");
- wrapper.eq("file_type","10");
+ wrapper.eq("effective_status", "1");
+ wrapper.eq("file_type", "10");
return ReturnUtil.success(this.baseMapper.selectList(wrapper));
}
@@ -374,4 +376,10 @@
wrapper.orderByAsc("effective_status").orderByDesc("create_time");
return wrapper;
}
+
+
+ @Override
+ public List list(List ids) {
+ return this.baseMapper.selectBatchIds(ids);
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java
index 84b4522..b9ba892 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation;
import com.casic.missiles.model.equipment.EquipmentFixedAssets;
+import liquibase.pro.packaged.B;
import java.util.List;
@@ -15,5 +16,11 @@
* @since 2023-02-02
*/
public interface IBusinessOriginalRecordEquipmentRelationService extends IService {
+
boolean saveBatch(Long originId, List equipmentFixedAssetsList);
+
+ //根据原始记录单id查询所有关联的检测设备
+ List getEquipmentsByOriginalRecordId(Long originId);
+
+ Boolean deleteByOriginId(Long originId);
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java
index d41c6aa..56e0079 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation;
import com.casic.missiles.model.meter.MeterFile;
+import liquibase.pro.packaged.L;
import java.util.List;
@@ -17,4 +18,9 @@
public interface IBusinessOriginalRecordFileRelationService extends IService {
boolean saveBatch(Long originId, List meterFileList);
+ //根据原始记录单id查询所有关联的计量文件
+ List getFilesByOriginalRecordId(Long originId);
+
+ Boolean deleteByOriginId(Long originId);
+
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordService.java
index 55cfd08..7da0b11 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordService.java
@@ -3,8 +3,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.casic.missiles.dto.ReturnDTO;
-import com.casic.missiles.dto.business.environment.EnvironmentListRequest;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
import com.casic.missiles.model.business.BusinessOriginalRecord;
import javax.servlet.http.HttpServletResponse;
@@ -21,7 +20,7 @@
Page originListPage(Page page, OriginRecordRequest request) throws Exception;
- BusinessOriginalRecord originalDetail(Long id);
+ BusinessOriginalRecord originalDetail(Long id) throws Exception;
ReturnDTO deleteOriginal(Long id);
@@ -29,7 +28,7 @@
ReturnDTO addOriginal(BusinessOriginalRecord businessOriginalRecord);
- void originalExport(EnvironmentListRequest request, HttpServletResponse response);
+ void originExport(OriginRecordRequest request, HttpServletResponse response);
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
index ca7e8d2..fa5fdee 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -8,8 +8,7 @@
import com.casic.missiles.dto.IdDTO;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.dto.business.environment.EnvironmentListRequest;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.model.business.BusinessEnvironmentRecord;
@@ -34,7 +33,7 @@
* 前端控制器
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@RestController
@@ -57,7 +56,7 @@
@ApiOperation("原始记录详情")
@PostMapping("/detail")
- public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) {
+ public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{
Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
throw new BusinessException(BusinessExceptionEnum.ID_NULL);
});
@@ -96,8 +95,8 @@
@ApiOperation("原始记录导出")
@PostMapping("/export")
- public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) {
-// businessEnvironmentRecordService.environmentExport(request, response);
+ public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) {
+ businessOriginalRecordService.originExport(request, response);
}
@ApiOperation("获取设备")
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
index cf5f125..9637b3a 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
@@ -227,4 +227,5 @@
return meterFileService.querySelectList();
}
+
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
index 83b9856..09a95be 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
@@ -34,6 +34,7 @@
SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"),
EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"),
ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"),
+ ORIGIN_DATA("originData", "originData", "原始记录"),
ADVICE_EXPORT("adviceData", "adviceData", "客户反馈");
ExportEnum(String fileName, String sheetName, String description) {
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
index 56f6602..dfd2c3e 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
@@ -2,11 +2,14 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordResponse;
import com.casic.missiles.model.business.BusinessOriginalRecord;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* Mapper 接口
@@ -21,4 +24,6 @@
Page originListPage(Page page, @Param("request") OriginRecordRequest request);
+ List originExportList(@Param("request") OriginRecordRequest request);
+
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
index 879a43f..b5f43e8 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
@@ -55,9 +55,56 @@
and bor.create_user = #{request.createUser}
-
- ORDER BY mfa.create_time DESC
+ ORDER BY bor.create_time DESC
+
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
new file mode 100644
index 0000000..cc0dac1
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
@@ -0,0 +1,31 @@
+package com.casic.missiles.dto.business.originRecord;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class OriginRecordRequest {
+
+ @ApiModelProperty(value = "原始记录单编号", dataType = "String")
+ private String originalRecordCode;
+
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ private String sampleName;
+
+ @ApiModelProperty(value = "样品型号", dataType = "String")
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "校验类别", dataType = "String")
+ private String calibrationCategory;
+
+ @ApiModelProperty(value = "创建人", dataType = "String")
+ private String createUser;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
new file mode 100644
index 0000000..4c0521d
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
@@ -0,0 +1,93 @@
+package com.casic.missiles.dto.business.originRecord;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import com.alibaba.excel.enums.poi.BorderStyleEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+@ColumnWidth(30)
+@HeadRowHeight(15)
+@ContentRowHeight(20)
+@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN)
+@ExcelIgnoreUnannotated
+public class OriginRecordResponse {
+
+ @ApiModelProperty(value = "记录id", dataType = "Long")
+ private Long id;
+
+ @ApiModelProperty(value = "原始记录编号", dataType = "String")
+ @ExcelProperty(value = "原始记录编号", order = 0)
+ private String originalRecordCode;
+
+ @ApiModelProperty(value = "原始记录名称", dataType = "String")
+ @ExcelProperty(value = "原始记录名称", order = 1)
+ private String originalRecordName;
+
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ @ExcelProperty(value = "样品编号", order = 2)
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ @ExcelProperty(value = "样品名称", order = 3)
+ private String sampleName;
+
+ @ApiModelProperty(value = "样品型号", dataType = "String")
+ @ExcelProperty(value = "型号", order = 5)
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ @ExcelProperty(value = "出厂编号", order = 4)
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "检校类别", dataType = "String")
+ @ExcelProperty(value = "检校类别", order = 6)
+ private String calibrationCategory;
+
+ @ApiModelProperty(value = "检校时间", dataType = "String")
+ private String calibrationTime;
+
+
+ @ApiModelProperty(value = "环境记录单id", dataType = "Long")
+ private Long environmentId;
+
+
+ @ApiModelProperty(value = "检校地点", dataType = "String")
+ private String calibrationPlace;
+
+
+ @ApiModelProperty(value = "委托书id", dataType = "Long")
+ private Long orderId;
+
+
+ @ApiModelProperty(value = "样品id", dataType = "Long")
+ private Long sampleId;
+
+
+ @ApiModelProperty(value = "原始记录模板id", dataType = "Long")
+ private Long templateId;
+
+ @ApiModelProperty(value = "原始记录附件", dataType = "String")
+ private String originalRecordFile;
+
+
+ @ApiModelProperty(value = "备注", dataType = "String")
+ @ExcelProperty(value = "备注", order = 9)
+ private String remark;
+
+ @ApiModelProperty(value = "创建人", dataType = "String")
+ @ExcelProperty(value = "创建人", order = 7)
+ private String createUser;
+
+ @ApiModelProperty(value = "创建时间", dataType = "String")
+ @ExcelProperty(value = "创建时间", order = 8)
+ private String createTime;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java
deleted file mode 100644
index 93ada55..0000000
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles.dto.business.originRercord;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-@ApiModel
-public class OriginRecordRequest {
-
- @ApiModelProperty(value = "原始记录单编号", dataType = "String")
- private String originalRecordCode;
-
- @ApiModelProperty(value = "样品编号", dataType = "String")
- private String sampleNo;
-
- @ApiModelProperty(value = "样品名称", dataType = "String")
- private String sampleName;
-
- @ApiModelProperty(value = "样品型号", dataType = "String")
- private String sampleModel;
-
- @ApiModelProperty(value = "出厂编号", dataType = "String")
- private String manufacturingNo;
-
- @ApiModelProperty(value = "校验类别", dataType = "String")
- private String calibrationCategory;
-
- @ApiModelProperty(value = "创建人", dataType = "String")
- private String createUser;
-}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
index 3b81119..d1754b8 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
@@ -6,10 +6,13 @@
import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation;
import com.casic.missiles.model.equipment.EquipmentFixedAssets;
import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService;
+import com.casic.missiles.service.equipment.IEquipmentFixedAssetsService;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -22,19 +25,39 @@
@Service
public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService {
+ @Resource
+ IEquipmentFixedAssetsService equipmentFixedAssetsService;
+
@Override
public boolean saveBatch(Long originId, List equipmentFixedAssetsList) {
//删除绑定关系
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("original_record_id", originId);
- this.baseMapper.delete(queryWrapper);
+ deleteByOriginId(originId);
//重新绑定
List list = new ArrayList<>();
equipmentFixedAssetsList.forEach(equipmentFixedAssets -> {
BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation();
obj.setEquipmentId(equipmentFixedAssets.getId());
obj.setOriginalRecordId(originId);
+ list.add(obj);
});
return this.saveBatch(list);
}
+
+ @Override
+ public List getEquipmentsByOriginalRecordId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ List list = this.baseMapper.selectList(queryWrapper);
+ if (list != null && list.size() > 0) {
+ return equipmentFixedAssetsService.list(list.stream().map(BusinessOriginalRecordEquipmentRelation::getEquipmentId).collect(Collectors.toList()));
+ }
+ return null;
+ }
+
+ @Override
+ public Boolean deleteByOriginId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ return this.baseMapper.delete(queryWrapper) > 0 ? true : false;
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
index cd44d97..303ae09 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
@@ -1,17 +1,23 @@
package com.casic.missiles.service.Impl.business;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.mapper.business.BusinessOriginalRecordFileRelationMapper;
import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation;
import com.casic.missiles.model.meter.MeterFile;
import com.casic.missiles.service.business.IBusinessOriginalRecordFileRelationService;
+import com.casic.missiles.service.meter.IMeterFileService;
+import liquibase.util.CollectionUtil;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.sql.SQLException;
import java.sql.Wrapper;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -24,12 +30,13 @@
@Service
public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService {
+ @Resource
+ private IMeterFileService meterFileService;
+
@Override
public boolean saveBatch(Long originId, List meterFileList) {
//先删除所有的绑定关系
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("original_record_id", originId);
- this.baseMapper.delete(queryWrapper);
+ deleteByOriginId(originId);
//新写入绑定关系
List list = new ArrayList<>();
meterFileList.forEach(meterFile -> {
@@ -40,4 +47,23 @@
});
return this.saveBatch(list);
}
+
+ @Override
+ public List getFilesByOriginalRecordId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ List list = this.baseMapper.selectList(queryWrapper);
+ if (list != null && list.size() > 0) {
+ return meterFileService.list(list.stream().map(BusinessOriginalRecordFileRelation::getFileId).collect(Collectors.toList()));
+ }
+ return null;
+ }
+
+ @Override
+ public Boolean deleteByOriginId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ return this.baseMapper.delete(queryWrapper) > 0 ? true : false;
+ }
+
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
index f4fad63..7dda5c3 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
@@ -2,16 +2,17 @@
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.core.base.service.IBaseExportService;
import com.casic.missiles.core.model.auth.AuthUser;
import com.casic.missiles.core.shiro.ShiroKit;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.dto.business.environment.EnvironmentListRequest;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordResponse;
import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.ExportEnum;
import com.casic.missiles.enums.PrefixCodeEnum;
import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper;
@@ -20,13 +21,14 @@
import com.casic.missiles.service.customer.CustomerSampleService;
import com.casic.missiles.utils.DictCodeUtils;
import com.casic.missiles.utils.NumberGeneratorUtil;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
/**
*
@@ -50,7 +52,8 @@
private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService;
@Resource
private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService;
-
+ @Resource
+ private IBaseExportService iBaseExportService;
@Override
public Page originListPage(Page page, OriginRecordRequest request) throws Exception {
@@ -68,7 +71,7 @@
}
@Override
- public BusinessOriginalRecord originalDetail(Long id) {
+ public BusinessOriginalRecord originalDetail(Long id) throws Exception {
BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id);
if (businessOriginalRecord != null) {
//查询样品详情
@@ -83,14 +86,28 @@
if (businessOriginalRecord.getOrderId() != null) {
businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId()));
}
+
+ //查询是否有关联的计量文件
+ businessOriginalRecord.setFileList(originalRecordFileRelationService.getFilesByOriginalRecordId(id));
+ //查询是否有关联的监测设备
+ businessOriginalRecord.setEquipmentInfoList(originalRecordEquipmentRelationService.getEquipmentsByOriginalRecordId(id));
+
+ //字典值转换
+ DictCodeUtils.convertDictCodeToName(businessOriginalRecord);
}
return businessOriginalRecord;
}
+ @Transactional
@Override
public ReturnDTO deleteOriginal(Long id) {
- if (this.baseMapper.deleteById(id) > 0)
+ if (this.baseMapper.deleteById(id) > 0) {
+ //删除计量文件绑定关系
+ originalRecordFileRelationService.deleteByOriginId(id);
+ //删除监测设备绑定关系
+ originalRecordEquipmentRelationService.deleteByOriginId(id);
return ReturnUtil.success();
+ }
throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED);
}
@@ -118,8 +135,14 @@
}
@Override
- public void originalExport(EnvironmentListRequest request, HttpServletResponse response) {
+ public void originExport(OriginRecordRequest request, HttpServletResponse response) {
+ List originExportList = this.baseMapper.originExportList(request);
+ try {
+ iBaseExportService.exportExcel(response, OriginRecordResponse.class, originExportList, ExportEnum.ORIGIN_DATA.getSheetName());
+ } catch (IOException e) {
+ log.error("环境记录单导出出现异常,异常信息为{}", e);
+ }
}
private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) {
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
index d3fa36f..a91de0f 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
@@ -288,6 +288,21 @@
return ReturnUtil.success(this.baseMapper.selectList(wrapper));
}
+
+ /**
+ * 根据ids查设备
+ *
+ * @param ids
+ * @return
+ */
+ @Override
+ public List list(List ids) {
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.in("id", ids);
+ wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE);
+ return this.baseMapper.selectList(wrapper);
+ }
+
/**
* 转换字典code
*
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java
index e24f67d..2d1d4a7 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java
@@ -118,10 +118,10 @@
String formId = request.getFormId();
ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId());
- if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){
+ if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) {
return returnDTO;
}
- ProcessInstance processInstance = (ProcessInstance)returnDTO.getData();
+ ProcessInstance processInstance = (ProcessInstance) returnDTO.getData();
MeterFile file = new MeterFile();
file.setId(request.getId());
@@ -191,9 +191,9 @@
@Transactional
public ReturnDTO approvalDelete(ApprovalDeleteRequest request) {
ReturnDTO returnDTO = approvalOperateService.delete(request);
- if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){
+ if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) {
//本地删除
- if(meterFileMapper.deleteById(request.getId()) > 0){
+ if (meterFileMapper.deleteById(request.getId()) > 0) {
return ReturnUtil.success();
}
}
@@ -236,16 +236,16 @@
//待审批,该状态维护在flowable中
case ApprovalStatusEnum.TO_BE_APPROVED:
List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId());
- if(!CollectionUtils.isEmpty(toBeApprovedList)){
+ if (!CollectionUtils.isEmpty(toBeApprovedList)) {
businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList());
}
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED);
//DTO根据业务主键补全taskId
approvalList.forEach(approval -> {
toBeApprovedList.forEach(toBeApprovedDTO -> {
- if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){
+ if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) {
approval.setTaskId(toBeApprovedDTO.getTaskId());
}
});
@@ -255,7 +255,7 @@
//审批中,该状态维护在flowable中
case ApprovalStatusEnum.IN_APPROVED:
businessKeys = baseApprovalService.getInApprovedList(request.getFormId());
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED);
}
@@ -263,7 +263,7 @@
//已通过,该状态维护在flowable
case ApprovalStatusEnum.PASSED:
businessKeys = baseApprovalService.getPassedList(request.getFormId());
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED);
}
@@ -272,12 +272,12 @@
case ApprovalStatusEnum.FAILED:
businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝
List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED);
}
List rejectApprovalList = new ArrayList<>();
- if(!CollectionUtils.isEmpty(rejectBusinessKey)){
+ if (!CollectionUtils.isEmpty(rejectBusinessKey)) {
List rejectList = meterFileMapper.selectBatchForApproval(page, request, rejectBusinessKey);
rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT);
}
@@ -287,7 +287,7 @@
//已取消(直接删除实例),该状态维护在flowable
case ApprovalStatusEnum.CANCELED:
businessKeys = baseApprovalService.getCanceledList(request.getFormId());
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED);
}
@@ -297,10 +297,10 @@
//普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消)
case ApprovalStatusEnum.ALL:
List AllApproveList = baseApprovalService.getAllList(request.getFormId());
- if(!CollectionUtils.isEmpty(AllApproveList)){
+ if (!CollectionUtils.isEmpty(AllApproveList)) {
businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList());
}
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList);
}
@@ -310,9 +310,11 @@
}
private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) {
- Map taskMap = new HashMap<>();
+ Map taskMap = new HashMap<>();
approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class);
- allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());});
+ allApproveList.forEach(allApprove -> {
+ taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus());
+ });
//状态补全
approvalList.forEach(approval -> {
approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId()))));
@@ -322,7 +324,7 @@
return approvalList.stream().sorted(Comparator.comparing(FileApprovalListResponse::getCreateTime).reversed()).collect(Collectors.toList());
}
- private List handleApprovalListResponse(List approvalList, List list, String status){
+ private List handleApprovalListResponse(List approvalList, List list, String status) {
approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class);
approvalList.stream().forEach(result -> {
//审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1
@@ -341,8 +343,8 @@
@Override
public ReturnDTO querySelectList() {
QueryWrapper wrapper = new QueryWrapper<>();
- wrapper.eq("effective_status","1");
- wrapper.eq("file_type","10");
+ wrapper.eq("effective_status", "1");
+ wrapper.eq("file_type", "10");
return ReturnUtil.success(this.baseMapper.selectList(wrapper));
}
@@ -374,4 +376,10 @@
wrapper.orderByAsc("effective_status").orderByDesc("create_time");
return wrapper;
}
+
+
+ @Override
+ public List list(List ids) {
+ return this.baseMapper.selectBatchIds(ids);
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java
index 84b4522..b9ba892 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordEquipmentRelationService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation;
import com.casic.missiles.model.equipment.EquipmentFixedAssets;
+import liquibase.pro.packaged.B;
import java.util.List;
@@ -15,5 +16,11 @@
* @since 2023-02-02
*/
public interface IBusinessOriginalRecordEquipmentRelationService extends IService {
+
boolean saveBatch(Long originId, List equipmentFixedAssetsList);
+
+ //根据原始记录单id查询所有关联的检测设备
+ List getEquipmentsByOriginalRecordId(Long originId);
+
+ Boolean deleteByOriginId(Long originId);
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java
index d41c6aa..56e0079 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordFileRelationService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation;
import com.casic.missiles.model.meter.MeterFile;
+import liquibase.pro.packaged.L;
import java.util.List;
@@ -17,4 +18,9 @@
public interface IBusinessOriginalRecordFileRelationService extends IService {
boolean saveBatch(Long originId, List meterFileList);
+ //根据原始记录单id查询所有关联的计量文件
+ List getFilesByOriginalRecordId(Long originId);
+
+ Boolean deleteByOriginId(Long originId);
+
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordService.java
index 55cfd08..7da0b11 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/business/IBusinessOriginalRecordService.java
@@ -3,8 +3,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.casic.missiles.dto.ReturnDTO;
-import com.casic.missiles.dto.business.environment.EnvironmentListRequest;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
import com.casic.missiles.model.business.BusinessOriginalRecord;
import javax.servlet.http.HttpServletResponse;
@@ -21,7 +20,7 @@
Page originListPage(Page page, OriginRecordRequest request) throws Exception;
- BusinessOriginalRecord originalDetail(Long id);
+ BusinessOriginalRecord originalDetail(Long id) throws Exception;
ReturnDTO deleteOriginal(Long id);
@@ -29,7 +28,7 @@
ReturnDTO addOriginal(BusinessOriginalRecord businessOriginalRecord);
- void originalExport(EnvironmentListRequest request, HttpServletResponse response);
+ void originExport(OriginRecordRequest request, HttpServletResponse response);
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentFixedAssetsService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentFixedAssetsService.java
index f10f4c8..7cb07bf 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentFixedAssetsService.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/equipment/IEquipmentFixedAssetsService.java
@@ -38,4 +38,6 @@
ReturnDTO addFixedAssetList(List meterFixedAssetsList) throws Exception;
EquipmentFixedAssets getById(Long id) throws Exception;
+
+ List list(List ids);
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
index ca7e8d2..fa5fdee 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessOriginalRecordController.java
@@ -8,8 +8,7 @@
import com.casic.missiles.dto.IdDTO;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.dto.business.environment.EnvironmentListRequest;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
import com.casic.missiles.enums.BusinessExceptionEnum;
import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.model.business.BusinessEnvironmentRecord;
@@ -34,7 +33,7 @@
* 前端控制器
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-02-02
*/
@RestController
@@ -57,7 +56,7 @@
@ApiOperation("原始记录详情")
@PostMapping("/detail")
- public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) {
+ public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{
Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
throw new BusinessException(BusinessExceptionEnum.ID_NULL);
});
@@ -96,8 +95,8 @@
@ApiOperation("原始记录导出")
@PostMapping("/export")
- public void exportOriginal(@RequestBody @Valid EnvironmentListRequest request, HttpServletResponse response) {
-// businessEnvironmentRecordService.environmentExport(request, response);
+ public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) {
+ businessOriginalRecordService.originExport(request, response);
}
@ApiOperation("获取设备")
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
index cf5f125..9637b3a 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/meter/MeterFileController.java
@@ -227,4 +227,5 @@
return meterFileService.querySelectList();
}
+
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
index 83b9856..09a95be 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/ExportEnum.java
@@ -34,6 +34,7 @@
SAMPLE_EXPORT("sampleData", "sampleData", "样本信息"),
EXCHANGE_DATA("exchangeData", "exchangeData", "设备交接单"),
ENVIRONMENT_DATA("environmentData", "environmentData", "环境记录单"),
+ ORIGIN_DATA("originData", "originData", "原始记录"),
ADVICE_EXPORT("adviceData", "adviceData", "客户反馈");
ExportEnum(String fileName, String sheetName, String description) {
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
index 56f6602..dfd2c3e 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessOriginalRecordMapper.java
@@ -2,11 +2,14 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordResponse;
import com.casic.missiles.model.business.BusinessOriginalRecord;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
+import java.util.List;
+
/**
*
* Mapper 接口
@@ -21,4 +24,6 @@
Page originListPage(Page page, @Param("request") OriginRecordRequest request);
+ List originExportList(@Param("request") OriginRecordRequest request);
+
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
index 879a43f..b5f43e8 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessOriginalRecordMapper.xml
@@ -55,9 +55,56 @@
and bor.create_user = #{request.createUser}
-
- ORDER BY mfa.create_time DESC
+ ORDER BY bor.create_time DESC
+
+
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
new file mode 100644
index 0000000..cc0dac1
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordRequest.java
@@ -0,0 +1,31 @@
+package com.casic.missiles.dto.business.originRecord;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+public class OriginRecordRequest {
+
+ @ApiModelProperty(value = "原始记录单编号", dataType = "String")
+ private String originalRecordCode;
+
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ private String sampleName;
+
+ @ApiModelProperty(value = "样品型号", dataType = "String")
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "校验类别", dataType = "String")
+ private String calibrationCategory;
+
+ @ApiModelProperty(value = "创建人", dataType = "String")
+ private String createUser;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
new file mode 100644
index 0000000..4c0521d
--- /dev/null
+++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRecord/OriginRecordResponse.java
@@ -0,0 +1,93 @@
+package com.casic.missiles.dto.business.originRecord;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import com.alibaba.excel.enums.poi.BorderStyleEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel
+@ColumnWidth(30)
+@HeadRowHeight(15)
+@ContentRowHeight(20)
+@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN)
+@ExcelIgnoreUnannotated
+public class OriginRecordResponse {
+
+ @ApiModelProperty(value = "记录id", dataType = "Long")
+ private Long id;
+
+ @ApiModelProperty(value = "原始记录编号", dataType = "String")
+ @ExcelProperty(value = "原始记录编号", order = 0)
+ private String originalRecordCode;
+
+ @ApiModelProperty(value = "原始记录名称", dataType = "String")
+ @ExcelProperty(value = "原始记录名称", order = 1)
+ private String originalRecordName;
+
+ @ApiModelProperty(value = "样品编号", dataType = "String")
+ @ExcelProperty(value = "样品编号", order = 2)
+ private String sampleNo;
+
+ @ApiModelProperty(value = "样品名称", dataType = "String")
+ @ExcelProperty(value = "样品名称", order = 3)
+ private String sampleName;
+
+ @ApiModelProperty(value = "样品型号", dataType = "String")
+ @ExcelProperty(value = "型号", order = 5)
+ private String sampleModel;
+
+ @ApiModelProperty(value = "出厂编号", dataType = "String")
+ @ExcelProperty(value = "出厂编号", order = 4)
+ private String manufacturingNo;
+
+ @ApiModelProperty(value = "检校类别", dataType = "String")
+ @ExcelProperty(value = "检校类别", order = 6)
+ private String calibrationCategory;
+
+ @ApiModelProperty(value = "检校时间", dataType = "String")
+ private String calibrationTime;
+
+
+ @ApiModelProperty(value = "环境记录单id", dataType = "Long")
+ private Long environmentId;
+
+
+ @ApiModelProperty(value = "检校地点", dataType = "String")
+ private String calibrationPlace;
+
+
+ @ApiModelProperty(value = "委托书id", dataType = "Long")
+ private Long orderId;
+
+
+ @ApiModelProperty(value = "样品id", dataType = "Long")
+ private Long sampleId;
+
+
+ @ApiModelProperty(value = "原始记录模板id", dataType = "Long")
+ private Long templateId;
+
+ @ApiModelProperty(value = "原始记录附件", dataType = "String")
+ private String originalRecordFile;
+
+
+ @ApiModelProperty(value = "备注", dataType = "String")
+ @ExcelProperty(value = "备注", order = 9)
+ private String remark;
+
+ @ApiModelProperty(value = "创建人", dataType = "String")
+ @ExcelProperty(value = "创建人", order = 7)
+ private String createUser;
+
+ @ApiModelProperty(value = "创建时间", dataType = "String")
+ @ExcelProperty(value = "创建时间", order = 8)
+ private String createTime;
+
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java
deleted file mode 100644
index 93ada55..0000000
--- a/casic-metering-model/src/main/java/com/casic/missiles/dto/business/originRercord/OriginRecordRequest.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.casic.missiles.dto.business.originRercord;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-@Data
-@ApiModel
-public class OriginRecordRequest {
-
- @ApiModelProperty(value = "原始记录单编号", dataType = "String")
- private String originalRecordCode;
-
- @ApiModelProperty(value = "样品编号", dataType = "String")
- private String sampleNo;
-
- @ApiModelProperty(value = "样品名称", dataType = "String")
- private String sampleName;
-
- @ApiModelProperty(value = "样品型号", dataType = "String")
- private String sampleModel;
-
- @ApiModelProperty(value = "出厂编号", dataType = "String")
- private String manufacturingNo;
-
- @ApiModelProperty(value = "校验类别", dataType = "String")
- private String calibrationCategory;
-
- @ApiModelProperty(value = "创建人", dataType = "String")
- private String createUser;
-}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
index 3b81119..d1754b8 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordEquipmentRelationServiceImpl.java
@@ -6,10 +6,13 @@
import com.casic.missiles.model.business.BusinessOriginalRecordEquipmentRelation;
import com.casic.missiles.model.equipment.EquipmentFixedAssets;
import com.casic.missiles.service.business.IBusinessOriginalRecordEquipmentRelationService;
+import com.casic.missiles.service.equipment.IEquipmentFixedAssetsService;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -22,19 +25,39 @@
@Service
public class BusinessOriginalRecordEquipmentRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordEquipmentRelationService {
+ @Resource
+ IEquipmentFixedAssetsService equipmentFixedAssetsService;
+
@Override
public boolean saveBatch(Long originId, List equipmentFixedAssetsList) {
//删除绑定关系
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("original_record_id", originId);
- this.baseMapper.delete(queryWrapper);
+ deleteByOriginId(originId);
//重新绑定
List list = new ArrayList<>();
equipmentFixedAssetsList.forEach(equipmentFixedAssets -> {
BusinessOriginalRecordEquipmentRelation obj = new BusinessOriginalRecordEquipmentRelation();
obj.setEquipmentId(equipmentFixedAssets.getId());
obj.setOriginalRecordId(originId);
+ list.add(obj);
});
return this.saveBatch(list);
}
+
+ @Override
+ public List getEquipmentsByOriginalRecordId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ List list = this.baseMapper.selectList(queryWrapper);
+ if (list != null && list.size() > 0) {
+ return equipmentFixedAssetsService.list(list.stream().map(BusinessOriginalRecordEquipmentRelation::getEquipmentId).collect(Collectors.toList()));
+ }
+ return null;
+ }
+
+ @Override
+ public Boolean deleteByOriginId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ return this.baseMapper.delete(queryWrapper) > 0 ? true : false;
+ }
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
index cd44d97..303ae09 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordFileRelationServiceImpl.java
@@ -1,17 +1,23 @@
package com.casic.missiles.service.Impl.business;
+import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.casic.missiles.mapper.business.BusinessOriginalRecordFileRelationMapper;
import com.casic.missiles.model.business.BusinessOriginalRecordFileRelation;
import com.casic.missiles.model.meter.MeterFile;
import com.casic.missiles.service.business.IBusinessOriginalRecordFileRelationService;
+import com.casic.missiles.service.meter.IMeterFileService;
+import liquibase.util.CollectionUtil;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.sql.SQLException;
import java.sql.Wrapper;
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
*
@@ -24,12 +30,13 @@
@Service
public class BusinessOriginalRecordFileRelationServiceImpl extends ServiceImpl implements IBusinessOriginalRecordFileRelationService {
+ @Resource
+ private IMeterFileService meterFileService;
+
@Override
public boolean saveBatch(Long originId, List meterFileList) {
//先删除所有的绑定关系
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("original_record_id", originId);
- this.baseMapper.delete(queryWrapper);
+ deleteByOriginId(originId);
//新写入绑定关系
List list = new ArrayList<>();
meterFileList.forEach(meterFile -> {
@@ -40,4 +47,23 @@
});
return this.saveBatch(list);
}
+
+ @Override
+ public List getFilesByOriginalRecordId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ List list = this.baseMapper.selectList(queryWrapper);
+ if (list != null && list.size() > 0) {
+ return meterFileService.list(list.stream().map(BusinessOriginalRecordFileRelation::getFileId).collect(Collectors.toList()));
+ }
+ return null;
+ }
+
+ @Override
+ public Boolean deleteByOriginId(Long originId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("original_record_id", originId);
+ return this.baseMapper.delete(queryWrapper) > 0 ? true : false;
+ }
+
}
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
index f4fad63..7dda5c3 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/business/BusinessOriginalRecordServiceImpl.java
@@ -2,16 +2,17 @@
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.casic.missiles.core.base.service.IBaseExportService;
import com.casic.missiles.core.model.auth.AuthUser;
import com.casic.missiles.core.shiro.ShiroKit;
import com.casic.missiles.dto.ReturnDTO;
import com.casic.missiles.dto.ReturnUtil;
-import com.casic.missiles.dto.business.environment.EnvironmentListRequest;
-import com.casic.missiles.dto.business.originRercord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordRequest;
+import com.casic.missiles.dto.business.originRecord.OriginRecordResponse;
import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.enums.ExportEnum;
import com.casic.missiles.enums.PrefixCodeEnum;
import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.mapper.business.BusinessOriginalRecordMapper;
@@ -20,13 +21,14 @@
import com.casic.missiles.service.customer.CustomerSampleService;
import com.casic.missiles.utils.DictCodeUtils;
import com.casic.missiles.utils.NumberGeneratorUtil;
-import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
/**
*
@@ -50,7 +52,8 @@
private IBusinessOriginalRecordFileRelationService originalRecordFileRelationService;
@Resource
private IBusinessOriginalRecordEquipmentRelationService originalRecordEquipmentRelationService;
-
+ @Resource
+ private IBaseExportService iBaseExportService;
@Override
public Page originListPage(Page page, OriginRecordRequest request) throws Exception {
@@ -68,7 +71,7 @@
}
@Override
- public BusinessOriginalRecord originalDetail(Long id) {
+ public BusinessOriginalRecord originalDetail(Long id) throws Exception {
BusinessOriginalRecord businessOriginalRecord = this.baseMapper.selectById(id);
if (businessOriginalRecord != null) {
//查询样品详情
@@ -83,14 +86,28 @@
if (businessOriginalRecord.getOrderId() != null) {
businessOriginalRecord.setBusinessOrder(businessOrderService.orderDetail(businessOriginalRecord.getOrderId()));
}
+
+ //查询是否有关联的计量文件
+ businessOriginalRecord.setFileList(originalRecordFileRelationService.getFilesByOriginalRecordId(id));
+ //查询是否有关联的监测设备
+ businessOriginalRecord.setEquipmentInfoList(originalRecordEquipmentRelationService.getEquipmentsByOriginalRecordId(id));
+
+ //字典值转换
+ DictCodeUtils.convertDictCodeToName(businessOriginalRecord);
}
return businessOriginalRecord;
}
+ @Transactional
@Override
public ReturnDTO deleteOriginal(Long id) {
- if (this.baseMapper.deleteById(id) > 0)
+ if (this.baseMapper.deleteById(id) > 0) {
+ //删除计量文件绑定关系
+ originalRecordFileRelationService.deleteByOriginId(id);
+ //删除监测设备绑定关系
+ originalRecordEquipmentRelationService.deleteByOriginId(id);
return ReturnUtil.success();
+ }
throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED);
}
@@ -118,8 +135,14 @@
}
@Override
- public void originalExport(EnvironmentListRequest request, HttpServletResponse response) {
+ public void originExport(OriginRecordRequest request, HttpServletResponse response) {
+ List originExportList = this.baseMapper.originExportList(request);
+ try {
+ iBaseExportService.exportExcel(response, OriginRecordResponse.class, originExportList, ExportEnum.ORIGIN_DATA.getSheetName());
+ } catch (IOException e) {
+ log.error("环境记录单导出出现异常,异常信息为{}", e);
+ }
}
private void initBusinessEnvironmentRecord(BusinessOriginalRecord businessOriginalRecord) {
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
index d3fa36f..a91de0f 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/equipment/EquipmentFixedAssetsServiceImpl.java
@@ -288,6 +288,21 @@
return ReturnUtil.success(this.baseMapper.selectList(wrapper));
}
+
+ /**
+ * 根据ids查设备
+ *
+ * @param ids
+ * @return
+ */
+ @Override
+ public List list(List ids) {
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.in("id", ids);
+ wrapper.eq("is_del", MeterDictEnum.DELETE_FALSE);
+ return this.baseMapper.selectList(wrapper);
+ }
+
/**
* 转换字典code
*
diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java
index e24f67d..2d1d4a7 100644
--- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java
+++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/meter/MeterFileServiceImpl.java
@@ -118,10 +118,10 @@
String formId = request.getFormId();
ReturnDTO returnDTO = baseApprovalService.processSubmit(formId, request.getId());
- if(ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()){
+ if (ResponseData.DEFAULT_SUCCESS_CODE != returnDTO.getCode()) {
return returnDTO;
}
- ProcessInstance processInstance = (ProcessInstance)returnDTO.getData();
+ ProcessInstance processInstance = (ProcessInstance) returnDTO.getData();
MeterFile file = new MeterFile();
file.setId(request.getId());
@@ -191,9 +191,9 @@
@Transactional
public ReturnDTO approvalDelete(ApprovalDeleteRequest request) {
ReturnDTO returnDTO = approvalOperateService.delete(request);
- if(ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()){
+ if (ResponseData.DEFAULT_SUCCESS_CODE == returnDTO.getCode()) {
//本地删除
- if(meterFileMapper.deleteById(request.getId()) > 0){
+ if (meterFileMapper.deleteById(request.getId()) > 0) {
return ReturnUtil.success();
}
}
@@ -236,16 +236,16 @@
//待审批,该状态维护在flowable中
case ApprovalStatusEnum.TO_BE_APPROVED:
List toBeApprovedList = baseApprovalService.getToBeApprovedList(request.getFormId());
- if(!CollectionUtils.isEmpty(toBeApprovedList)){
+ if (!CollectionUtils.isEmpty(toBeApprovedList)) {
businessKeys = toBeApprovedList.stream().map(ToBeApprovedDTO::getBusinessKey).collect(Collectors.toList());
}
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.TO_BE_APPROVED);
//DTO根据业务主键补全taskId
approvalList.forEach(approval -> {
toBeApprovedList.forEach(toBeApprovedDTO -> {
- if(String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())){
+ if (String.valueOf(approval.getId()).equals(toBeApprovedDTO.getBusinessKey())) {
approval.setTaskId(toBeApprovedDTO.getTaskId());
}
});
@@ -255,7 +255,7 @@
//审批中,该状态维护在flowable中
case ApprovalStatusEnum.IN_APPROVED:
businessKeys = baseApprovalService.getInApprovedList(request.getFormId());
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.IN_APPROVED);
}
@@ -263,7 +263,7 @@
//已通过,该状态维护在flowable
case ApprovalStatusEnum.PASSED:
businessKeys = baseApprovalService.getPassedList(request.getFormId());
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.PASSED);
}
@@ -272,12 +272,12 @@
case ApprovalStatusEnum.FAILED:
businessKeys = baseApprovalService.getFailedList(request.getFormId()); //未通过-拒绝
List rejectBusinessKey = baseApprovalService.getFailedRejectList(request.getFormId()); //未通过-驳回
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.FAILED);
}
List rejectApprovalList = new ArrayList<>();
- if(!CollectionUtils.isEmpty(rejectBusinessKey)){
+ if (!CollectionUtils.isEmpty(rejectBusinessKey)) {
List rejectList = meterFileMapper.selectBatchForApproval(page, request, rejectBusinessKey);
rejectApprovalList = handleApprovalListResponse(approvalList, rejectList, ApprovalStatusEnum.FAILED_REJECT);
}
@@ -287,7 +287,7 @@
//已取消(直接删除实例),该状态维护在flowable
case ApprovalStatusEnum.CANCELED:
businessKeys = baseApprovalService.getCanceledList(request.getFormId());
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleApprovalListResponse(approvalList, list, ApprovalStatusEnum.CANCELED);
}
@@ -297,10 +297,10 @@
//普通用户获取自己发起的(审批中、已通过、未通过、已取消),管理员获取全部(审批中、已通过、未通过、已取消)
case ApprovalStatusEnum.ALL:
List AllApproveList = baseApprovalService.getAllList(request.getFormId());
- if(!CollectionUtils.isEmpty(AllApproveList)){
+ if (!CollectionUtils.isEmpty(AllApproveList)) {
businessKeys = AllApproveList.stream().map(AllApproveDTO::getBusinessKey).collect(Collectors.toList());
}
- if(!CollectionUtils.isEmpty(businessKeys)){
+ if (!CollectionUtils.isEmpty(businessKeys)) {
list = meterFileMapper.selectBatchForApproval(page, request, businessKeys);
approvalList = handleAllApprovalListResponse(approvalList, list, AllApproveList);
}
@@ -310,9 +310,11 @@
}
private List handleAllApprovalListResponse(List approvalList, List list, List allApproveList) {
- Map taskMap = new HashMap<>();
+ Map taskMap = new HashMap<>();
approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class);
- allApproveList.forEach(allApprove -> {taskMap.put(allApprove.getBusinessKey(),allApprove.getStatus());});
+ allApproveList.forEach(allApprove -> {
+ taskMap.put(allApprove.getBusinessKey(), allApprove.getStatus());
+ });
//状态补全
approvalList.forEach(approval -> {
approval.setApprovalStatusName(dictService.getDictNameByCode(MeterDictEnum.APPROVAL_STATUS, taskMap.get(String.valueOf(approval.getId()))));
@@ -322,7 +324,7 @@
return approvalList.stream().sorted(Comparator.comparing(FileApprovalListResponse::getCreateTime).reversed()).collect(Collectors.toList());
}
- private List handleApprovalListResponse(List approvalList, List list, String status){
+ private List handleApprovalListResponse(List approvalList, List list, String status) {
approvalList = ConvertUtils.sourceToTarget(list, FileApprovalListResponse.class);
approvalList.stream().forEach(result -> {
//审批状态两种获取方式:1、在此处设置,2、在flowable中设置业务状态,暂采取1
@@ -341,8 +343,8 @@
@Override
public ReturnDTO querySelectList() {
QueryWrapper wrapper = new QueryWrapper<>();
- wrapper.eq("effective_status","1");
- wrapper.eq("file_type","10");
+ wrapper.eq("effective_status", "1");
+ wrapper.eq("file_type", "10");
return ReturnUtil.success(this.baseMapper.selectList(wrapper));
}
@@ -374,4 +376,10 @@
wrapper.orderByAsc("effective_status").orderByDesc("create_time");
return wrapper;
}
+
+
+ @Override
+ public List list(List