ids;
+}
diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessSiteExecutiveInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessSiteExecutiveInfo.java
index ec99721..f96a510 100644
--- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessSiteExecutiveInfo.java
+++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessSiteExecutiveInfo.java
@@ -3,10 +3,13 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.casic.missiles.model.equipment.EquipmentFixedAssets;
+import com.casic.missiles.model.meter.MeterStaff;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
+import java.util.List;
/**
*
@@ -116,4 +119,11 @@
@TableField("update_time")
private String updateTime;
+ @TableField(exist = false)
+ @ApiModelProperty(value = "携带仪器设备", dataType = "List")
+ private List equipmentInfoList;
+
+ @TableField(exist = false)
+ @ApiModelProperty(value = "现场测试、校准或检定人员", dataType = "List")
+ private List meterStaffList;
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java
index 5b36a79..68929b2 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveInfoController.java
@@ -1,14 +1,17 @@
package com.casic.missiles.controller.business;
+import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.casic.missiles.core.base.controller.ExportController;
import com.casic.missiles.core.page.PageFactory;
import com.casic.missiles.core.page.PageInfoBT;
-import com.casic.missiles.dto.ReturnDTO;
-import com.casic.missiles.dto.ReturnUtil;
+import com.casic.missiles.dto.*;
import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListRequest;
-import com.casic.missiles.exception.BusinessException;
import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse;
+import com.casic.missiles.dto.flowable.ApprovalDeleteRequest;
+import com.casic.missiles.enums.BusinessExceptionEnum;
+import com.casic.missiles.exception.BusinessException;
+import com.casic.missiles.model.business.BusinessSiteExecutiveInfo;
import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
import com.casic.missiles.service.business.IBusinessSiteExecutiveInfoService;
import com.casic.missiles.utils.DictCodeUtils;
@@ -16,21 +19,20 @@
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
+import java.util.Objects;
/**
*
* 现场检测表 前端控制器
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-03-25
*/
@Api(tags = "现场检测接口")
@@ -53,44 +55,95 @@
page.setRecords(responseList);
return ReturnUtil.success(super.packForBT(page));
}
-/*
+
@ApiOperation("现场检测审批保存(保存至草稿箱)")
@PostMapping("/save")
@ResponseBody
-
-
- @ApiOperation("现场检测编辑")
- @PostMapping("/draftUpdate")
- @ResponseBody
+ public ReturnDTO save(@RequestBody @Valid BusinessSiteExecutiveInfo siteExecutiveInfo, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return ReturnUtil.success(siteExecutiveInfoService.saveSiteExecutiveInfo(siteExecutiveInfo));
+ }
@ApiOperation("现场检测提交(未调用过保存接口保存至草稿箱需先调用保存接口,再调用该接口)")
@PostMapping("/submit")
@ResponseBody
+ public ReturnDTO siteExecutiveInfoSubmit(@RequestBody @Valid BaseApprovalSubmitRequest request, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return siteExecutiveInfoService.siteExecutiveInfoSubmit(request);
+ }
- @ApiOperation("现场检测删除(草稿也调用该接口)")
- @PostMapping("/delete")
+ /**
+ * 审批操作-编辑
+ * 驳回的流程放置在未通过列表中,实现进行编辑后自动审核通过发起人节点
+ */
+ @ApiOperation("未通过现场检测编辑(驳回后的现场检测重新编辑,仅未通过列表中的编辑按钮可调用)")
+ @PostMapping("/failUpdate")
@ResponseBody
+ public ReturnDTO failUpdate(@RequestBody @Valid BusinessSiteExecutiveInfo siteExecutiveInfo, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(siteExecutiveInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return siteExecutiveInfoService.failUpdate(siteExecutiveInfo);
+ }
+
+ /**
+ * 草稿箱文件编辑
+ */
+ @ApiOperation("草稿箱文件更新")
+ @PostMapping("/draftUpdate")
+ @ResponseBody
+ public ReturnDTO draftUpdate(@RequestBody @Valid BusinessSiteExecutiveInfo siteExecutiveInfo, BindingResult bindingResult) {
+ Assert.isFalse(Objects.isNull(siteExecutiveInfo.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return siteExecutiveInfoService.draftUpdate(siteExecutiveInfo);
+
+ }
@ApiOperation("现场检测批量删除")
@PostMapping("/batchDelete")
@ResponseBody
-
+ public ReturnDTO siteExecutiveBatchDelete(@RequestBody @Valid IdsDTO idsDTO) {
+ Assert.isFalse(CollectionUtils.isEmpty(idsDTO.getIds()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return siteExecutiveInfoService.deleteBatchSiteExecutive(idsDTO.getIds());
+ }
@ApiOperation("现场检测详情")
@PostMapping("/detail")
@ResponseBody
+ public ReturnDTO supplierDetail(@RequestBody @Valid IdDTO idDTO) {
+ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+ throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+ });
+ return ReturnUtil.success(siteExecutiveInfoService.siteExecutiveInfoDetail(idDTO.getId()));
+ }
-
+ /**
+ * 删除(发起者或具有删除权限的用户可以删除,已通过/未通过状态不可删除)
+ * 前端控制按钮权限
+ */
@ApiOperation("审批操作-删除")
@PostMapping("/approval/operate/delete")
@ResponseBody
-
-
- @ApiOperation("未通过现场检测编辑(驳回后的现场检测重新编辑,仅未通过列表中的编辑按钮可调用)")
- @PostMapping("/failUpdate")
- @ResponseBody
- */
+ public ReturnDTO delete(@RequestBody @Valid ApprovalDeleteRequest request, BindingResult bindingResult) {
+ if (bindingResult.hasErrors()) {
+ throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+ }
+ return siteExecutiveInfoService.approvalDelete(request);
+ }
}
diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java
index afb98d8..79d3d6f 100644
--- a/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java
+++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/business/BusinessSiteExecutiveLogController.java
@@ -1,18 +1,100 @@
package com.casic.missiles.controller.business;
+import cn.hutool.core.lang.Assert;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.casic.missiles.core.page.PageFactory;
+import com.casic.missiles.core.page.PageInfoBT;
+import com.casic.missiles.dto.IdDTO;
+import com.casic.missiles.dto.ReturnDTO;
+import com.casic.missiles.dto.ReturnUtil;
+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.BusinessOriginalRecord;
+import com.casic.missiles.model.business.BusinessSiteExecutiveLog;
+import com.casic.missiles.model.exception.enums.CoreExceptionEnum;
+import com.casic.missiles.service.business.IBusinessOriginalRecordService;
+import com.casic.missiles.service.business.IBusinessSiteExecutiveLogService;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.validation.BindingResult;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.Objects;
+
/**
*
* 现场检测记录表 前端控制器
*
*
- * @author wangpeng
+ * @author zt
* @since 2023-03-25
*/
@RestController
@RequestMapping("/business/siteExecutive/log")
public class BusinessSiteExecutiveLogController {
+ @Resource
+ private IBusinessSiteExecutiveLogService siteExecutiveLogService;
+
+// @ApiOperation("现场检测记录表查询")
+// @PostMapping("/listPage")
+// public ReturnDTO> originalListPage(@RequestBody @Valid OriginRecordRequest request, BindingResult bindingResult) throws Exception {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// Page page = PageFactory.defaultPage();
+// return ReturnUtil.success(super.packForBT(siteExecutiveLogService.originListPage(page, request)));
+// }
+//
+//
+// @ApiOperation("现场检测记录表详情")
+// @PostMapping("/detail")
+// public ReturnDTO originalDetail(@RequestBody @Valid IdDTO idDTO) throws Exception{
+// Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+// throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+// });
+// return ReturnUtil.success(businessOriginalRecordService.originalDetail(idDTO.getId()));
+// }
+//
+// @ApiOperation("现场检测记录表更新")
+// @PostMapping("/update")
+// public ReturnDTO updateOriginal(@RequestBody @Valid BusinessOriginalRecord businessOriginalRecord, BindingResult bindingResult) {
+// Assert.isFalse(Objects.isNull(businessOriginalRecord.getId()), () -> {
+// throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+// });
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return ReturnUtil.success(businessOriginalRecordService.updateOriginal(businessOriginalRecord));
+// }
+
+// @ApiOperation("现场检测记录表新增")
+// @PostMapping("/add")
+// public ReturnDTO addOriginal(@RequestBody @Valid BusinessSiteExecutiveLog businessSiteExecutiveLog, BindingResult bindingResult) {
+// Assert.isFalse(bindingResult.hasErrors(), () -> {
+// throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage());
+// });
+// return ReturnUtil.success(siteExecutiveLogService.addOriginal(businessSiteExecutiveLog));
+// }
+
+// @ApiOperation("现场检测记录表删除")
+// @PostMapping("/delete")
+// public ReturnDTO deleteOriginal(@RequestBody @Valid IdDTO idDTO) {
+// Assert.isFalse(Objects.isNull(idDTO.getId()), () -> {
+// throw new BusinessException(BusinessExceptionEnum.ID_NULL);
+// });
+// return ReturnUtil.success(siteExecutiveLogService.deleteOriginal(idDTO.getId()));
+// }
+//
+// @ApiOperation("现场检测记录表导出")
+// @PostMapping("/export")
+// public void exportOriginal(@RequestBody @Valid OriginRecordRequest request, HttpServletResponse response) {
+// siteExecutiveLogService.originExport(request, response);
+// }
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
index 2cc4a24..fe155b8 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/BusinessExceptionEnum.java
@@ -61,6 +61,7 @@
AGAIN_PRINT_SUBMIT_FAILED(2414, "再次打印提交处理失败"),
LOGIN_USER_NOT_STAFF(2415, "登录用户非计量人员"),
CERTIFICATE_REPORT_SUBMIT_FAILED(3401, "证书报告提交处理失败"),
+ SITE_EXECUTIVE__SUBMIT_FAILED(3402, "现场检测审核提交处理失败"),
FAIL_READ_EPC_TID(2416, "标签信息读取失败,请重新操作"),
READ_WRITER_NOT_CONNECTED(2417, "标签信息读取失败,请连接读写器"),
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java
index 09270ca..2d56cf5 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/PrefixCodeEnum.java
@@ -51,6 +51,8 @@
String OUTSOURCER_PREFIX = "fbf";
//分包项目
String OUTSOURCE_PROJECT_PREFIX = "fbxm";
+ //现场检测
+ String SITE_EXECUTIVE_PREFIX = "xcjc";
//下载中心
String DOWNLOAD_NO = "xzzx";
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java
index 7e2475d..142ba8d 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/business/MonitorCodeEnum.java
@@ -43,7 +43,7 @@
public static MonitorCodeEnum getByCode(String code) {
try {
for (MonitorCodeEnum temp : values()) {
- if (temp.code .equals(code)) {
+ if (temp.code.equals(code)) {
return temp;
}
}
diff --git a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java
index c2af7d9..1d34512 100644
--- a/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java
+++ b/casic-metering-common/src/main/java/com/casic/missiles/enums/meter/MeterDictEnum.java
@@ -46,4 +46,7 @@
//证书类型
String CERTIFICATION_CLASS= "certificationClass";
+ //现场检测-任务来源
+ String TASK_SOURCE= "taskSource";
+
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
index 947f383..9cbeac6 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessCertificateReportMapper.java
@@ -5,18 +5,13 @@
import com.casic.missiles.dto.business.certificate.CertificateMonitorResponse;
import com.casic.missiles.dto.business.certificate.CertificateReportApprovalRequest;
import com.casic.missiles.dto.business.certificate.CertificateReportResponse;
-import com.casic.missiles.dto.business.print.CertificateListRequest;
-import com.casic.missiles.dto.business.print.CertificateListResponse;
import com.casic.missiles.dto.customer.CertificationResponse;
import com.casic.missiles.dto.customer.sample.CustomerSampleIdRequest;
-import com.casic.missiles.dto.meter.TraceSupplierApprovalListRequest;
-import com.casic.missiles.dto.meter.TraceSupplierApprovalListResponse;
import com.casic.missiles.model.business.BusinessCertificateReport;
-import com.casic.missiles.model.meter.MeterTraceSupplier;
import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
import java.util.List;
-import org.apache.ibatis.annotations.Select;
/**
*
@@ -41,4 +36,11 @@
BusinessCertificateReport detailById( @Param("id") Long id);
+ @Select("SELECT count(id) from business_certificate_report where approval_status =4 and certificate_report_code = #{sampleId} and order_id=#{orderId}")
+ Long selectSampleCertifications(Long sampleId,Long orderId);
+
+ @Select("SELECT IFNULL(sum(require_certifications),0) FROM business_lab_executive_info blei where blei.measure_status = 4 and blei.sample_id = #{sampleId} and blei.order_id = #{orderId}")
+ Long selectSampleCertificationAlls(Long sampleId,Long orderId);
+
+
}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoEquipmentRelationMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoEquipmentRelationMapper.java
new file mode 100644
index 0000000..2841ed1
--- /dev/null
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoEquipmentRelationMapper.java
@@ -0,0 +1,16 @@
+package com.casic.missiles.mapper.business;
+
+import com.casic.missiles.model.business.BusinessSiteExecutiveInfoEquipmentRelation;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ *
+ * Mapper 接口
+ *
+ *
+ * @author wangpeng
+ * @since 2023-04-03
+ */
+public interface BusinessSiteExecutiveInfoEquipmentRelationMapper extends BaseMapper {
+
+}
diff --git a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java
index 7c98c55..34605b0 100644
--- a/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java
+++ b/casic-metering-dao/src/main/java/com/casic/missiles/mapper/business/BusinessSiteExecutiveInfoMapper.java
@@ -6,6 +6,7 @@
import com.casic.missiles.model.business.BusinessSiteExecutiveInfo;
import com.casic.missiles.dto.business.siteExecutive.SiteExecutiveApprovalListResponse;
import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
import java.util.List;
@@ -22,4 +23,7 @@
List selectDraftListForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request);
List selectBatchForApproval(Page page, @Param("request") SiteExecutiveApprovalListRequest request, @Param("businessKeys") List businessKeys);
+
+ @Select("SELECT IFNULL(max(RIGHT(site_executive_no, 12)), 0) from business_site_executive_info")
+ Long selectMaxCode();
}
diff --git a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml
index 45758ed..3f77383 100644
--- a/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml
+++ b/casic-metering-dao/src/main/resources/mapper/business/BusinessCertificateReportMapper.xml
@@ -239,7 +239,7 @@