Compare commits

...

2 Commits

Author SHA1 Message Date
姜玉琦 86a8a6a93c Merge branch 'dev' of http://62.234.3.186:3000/sxyanzhu/jhprjv2 into dev 2023-09-01 02:28:19 +08:00
姜玉琦 33dbca81b8 提交代码 2023-09-01 02:28:11 +08:00
13 changed files with 652 additions and 51 deletions

View File

@ -21,6 +21,10 @@ public enum PublicStateEnum {
VIDEO_OFFLINE("2", "离线"),
VIDEO_UNKNOWN("3", "未知"),
/**********************************视频设备***************************************/
/**********************************材料进场取样复试***************************************/
CHECK_STATE_SJ("1", "送检中"),
/**********************************材料进场取样复试***************************************/
COMZGS("1","子公司状态标识");
private final String code;

View File

@ -27,6 +27,54 @@
/>
</el-select>
</el-form-item>
<el-form-item label="材料名称" prop="materialName">
<el-input
v-model="queryParams.materialName"
placeholder="请输入材料名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="使用部位" prop="usePosition">
<el-input
v-model="queryParams.usePosition"
placeholder="请输入使用部位"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="取样数量" prop="sampleNum">
<el-input
v-model="queryParams.sampleNum"
placeholder="请输入取样数量"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="取样人名称" prop="sampleUserName">
<el-input
v-model="queryParams.sampleUserName"
placeholder="请输入取样人名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="见证人名称" prop="witnessUserName">
<el-input
v-model="queryParams.witnessUserName"
placeholder="请输入见证人名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="实验室名称" prop="laboratoryName">
<el-input
v-model="queryParams.laboratoryName"
placeholder="请输入实验室名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="送检时间">
<el-date-picker
v-model="daterangeCheckTime"
@ -47,12 +95,14 @@
/>
</el-form-item>
<el-form-item label="检测结果" prop="detectionResult">
<el-input
v-model="queryParams.detectionResult"
placeholder="请输入检测结果"
clearable
@keyup.enter.native="handleQuery"
/>
<el-select v-model="queryParams.detectionResult" placeholder="请选择检测结果" clearable>
<el-option
v-for="dict in dict.type.project_checking_result"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
@ -116,13 +166,35 @@
<dict-tag :options="dict.type.check_detection_check_type" :value="scope.row.checkType"/>
</template>
</el-table-column>
<el-table-column label="材料名称" align="center" prop="materialName" />
<el-table-column label="使用部位" align="center" prop="usePosition" />
<el-table-column label="取样数量" align="center" prop="sampleNum" />
<el-table-column label="提供合格证" align="center" prop="qualifiedFlag">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_yes_no" :value="scope.row.qualifiedFlag"/>
</template>
</el-table-column>
<el-table-column label="代表数量" align="center" prop="represenNum" />
<el-table-column label="取样人" align="center" prop="sampleUser" />
<el-table-column label="取样人名称" align="center" prop="sampleUserName" />
<el-table-column label="见证人" align="center" prop="witnessUser" />
<el-table-column label="见证人名称" align="center" prop="witnessUserName" />
<el-table-column label="实验室名称" align="center" prop="laboratoryName" />
<el-table-column label="送检时间" align="center" prop="checkTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.checkTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="送检状态" align="center" prop="checkState" />
<el-table-column label="检测结果" align="center" prop="detectionResult" />
<el-table-column label="送检状态" align="center" prop="checkState">
<template slot-scope="scope">
<dict-tag :options="dict.type.check_detection_check_type" :value="scope.row.checkState"/>
</template>
</el-table-column>
<el-table-column label="检测结果" align="center" prop="detectionResult">
<template slot-scope="scope">
<dict-tag :options="dict.type.project_checking_result" :value="scope.row.detectionResult"/>
</template>
</el-table-column>
<el-table-column label="检测报告" align="center" prop="detectionFile" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
@ -172,6 +244,43 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="材料名称" prop="materialName">
<el-input v-model="form.materialName" placeholder="请输入材料名称" />
</el-form-item>
<el-form-item label="使用部位" prop="usePosition">
<el-input v-model="form.usePosition" placeholder="请输入使用部位" />
</el-form-item>
<el-form-item label="取样数量" prop="sampleNum">
<el-input v-model="form.sampleNum" placeholder="请输入取样数量" />
</el-form-item>
<el-form-item label="提供合格证" prop="qualifiedFlag">
<el-select v-model="form.qualifiedFlag" placeholder="请选择提供合格证">
<el-option
v-for="dict in dict.type.sys_yes_no"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="代表数量" prop="represenNum">
<el-input v-model="form.represenNum" placeholder="请输入代表数量" />
</el-form-item>
<el-form-item label="取样人" prop="sampleUser">
<el-input v-model="form.sampleUser" placeholder="请输入取样人" />
</el-form-item>
<el-form-item label="取样人名称" prop="sampleUserName">
<el-input v-model="form.sampleUserName" placeholder="请输入取样人名称" />
</el-form-item>
<el-form-item label="见证人" prop="witnessUser">
<el-input v-model="form.witnessUser" placeholder="请输入见证人" />
</el-form-item>
<el-form-item label="见证人名称" prop="witnessUserName">
<el-input v-model="form.witnessUserName" placeholder="请输入见证人名称" />
</el-form-item>
<el-form-item label="实验室名称" prop="laboratoryName">
<el-input v-model="form.laboratoryName" placeholder="请输入实验室名称" />
</el-form-item>
<el-form-item label="送检时间" prop="checkTime">
<el-date-picker clearable
v-model="form.checkTime"
@ -184,7 +293,14 @@
<el-input v-model="form.checkState" placeholder="请输入送检状态" />
</el-form-item>
<el-form-item label="检测结果" prop="detectionResult">
<el-input v-model="form.detectionResult" placeholder="请输入检测结果" />
<el-select v-model="form.detectionResult" placeholder="请选择检测结果">
<el-option
v-for="dict in dict.type.project_checking_result"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="检测报告" prop="detectionFile">
<file-upload v-model="form.detectionFile"/>
@ -206,7 +322,7 @@ import { listCheckDetection, getCheckDetection, delCheckDetection, addCheckDetec
export default {
name: "CheckDetection",
dicts: ['check_detection_check_type'],
dicts: ['sys_yes_no', 'project_checking_result', 'check_detection_check_type'],
data() {
return {
//
@ -236,10 +352,15 @@ export default {
projectId: null,
deptId: null,
checkType: null,
materialName: null,
usePosition: null,
sampleNum: null,
sampleUserName: null,
witnessUserName: null,
laboratoryName: null,
checkTime: null,
checkState: null,
detectionResult: null,
detectionFile: null,
},
//
form: {},
@ -278,6 +399,16 @@ export default {
projectId: null,
deptId: null,
checkType: null,
materialName: null,
usePosition: null,
sampleNum: null,
qualifiedFlag: null,
represenNum: null,
sampleUser: null,
sampleUserName: null,
witnessUser: null,
witnessUserName: null,
laboratoryName: null,
checkTime: null,
checkState: null,
detectionResult: null,

View File

@ -449,18 +449,16 @@ export default {
this.form.alterationFiles = fileUrls;
},
onlyFile() {
if (this.form.contractBrand && this.form.useBrand) {
if (this.form.contractBrand != this.form.useBrand) {
this.isOnly = true;
this.rules.alterationFiles[0].required = true;
} else {
this.isOnly = false;
this.form.alterationFiles = null;
this.rules.alterationFiles[0].required = false;
}
if (
this.form.contractBrand &&
this.form.useBrand &&
this.form.contractBrand.indexOf(this.form.useBrand) == -1
) {
this.isOnly = true;
this.rules.alterationFiles[0].required = true;
} else {
this.isOnly = false;
this.form.alterationFiles = null;
this.alterationFiles = null;
this.rules.alterationFiles[0].required = false;
}
},

View File

@ -369,14 +369,12 @@ export default {
if (
this.form.contractBrand &&
this.form.useBrand &&
this.form.contractBrand != this.form.useBrand
this.form.contractBrand.indexOf(this.form.useBrand) == -1
) {
console.log("qqqq");
//this.isOnly = true;
this.isOnly = true;
this.rules.alterationFiles[0].required = true;
} else {
console.log("qqqq22222");
//this.isOnly = false;
this.isOnly = false;
this.alterationFiles = null;
this.rules.alterationFiles[0].required = false;
}

View File

@ -0,0 +1,111 @@
package com.ruoyi.web.project.controller;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.enums.PublicStateEnum;
import com.ruoyi.system.service.ISysDictDataService;
import com.yanzhu.jh.project.domain.SurProjectCheckDetection;
import com.yanzhu.jh.project.service.ISurProjectCheckDetectionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @version : V1.0
* @ClassName: ProjectCheckDetectionController
* @Description:
* @Auther: JiangYuQi
* @Date: 2020/7/7 18:03
*/
@RestController
@RequestMapping("/wechat/projectDetection")
public class ProjectDetectionController extends BaseController {
@Autowired
ISysDictDataService sysDictDataService;
@Autowired
private ISurProjectCheckDetectionService surProjectCheckDetectionService;
/**
*
* @param surProjectCheckDetection
* @return
*/
@GetMapping("/list")
public AjaxResult list(SurProjectCheckDetection surProjectCheckDetection){
if(surProjectCheckDetection.getDeptId()==0){
surProjectCheckDetection.setDeptId(null);
}
return success(surProjectCheckDetectionService.selectSurProjectCheckDetectionList(surProjectCheckDetection));
}
/**
*
* @param surProjectCheckDetection
* @return
*/
@GetMapping("/queryCount")
public AjaxResult queryCount(SurProjectCheckDetection surProjectCheckDetection){
if(surProjectCheckDetection.getDeptId()==0){
surProjectCheckDetection.setDeptId(null);
}
return success(surProjectCheckDetectionService.queryGroupCount(surProjectCheckDetection));
}
/**
*
* @param id
* @return
*/
@GetMapping("/info")
public AjaxResult info(Long id){
return success(surProjectCheckDetectionService.selectSurProjectCheckDetectionById(id));
}
/**
*
* @param surProjectCheckDetection
* @return
*/
@PostMapping("/add")
@Log(title = "取样复试", businessType = BusinessType.INSERT)
public AjaxResult add(@RequestBody SurProjectCheckDetection surProjectCheckDetection){
return success(surProjectCheckDetectionService.insertSurProjectCheckDetection(surProjectCheckDetection));
}
/**
*
* @param surProjectCheckDetection
* @return
*/
@PostMapping("/edit")
@Log(title = "取样复试", businessType = BusinessType.UPDATE)
public AjaxResult edit(@RequestBody SurProjectCheckDetection surProjectCheckDetection){
return success(surProjectCheckDetectionService.updateSurProjectCheckDetection(surProjectCheckDetection));
}
/**
*
*/
@Log(title = "取样复试", businessType = BusinessType.DELETE)
@GetMapping("/remove")
public AjaxResult remove(@RequestParam Long id)
{
return toAjax(surProjectCheckDetectionService.deleteSurProjectCheckDetectionById(id));
}
/**
*
* @return
*/
@GetMapping("/queryType")
public AjaxResult queryType(){
SysDictData dictData = new SysDictData();
dictData.setDictType("check_detection_check_type");
dictData.setStatus(PublicStateEnum.OK.getCode());
return success(sysDictDataService.selectDictDataList(dictData));
}
}

View File

@ -53,7 +53,7 @@ public class ProjectMaterialSealController extends BaseController {
*/
@PostMapping("/add")
@Log(title = "材料封样", businessType = BusinessType.INSERT)
public AjaxResult addTrain(@RequestBody SurProjectMaterialSeal surProjectMaterialSeal){
public AjaxResult add(@RequestBody SurProjectMaterialSeal surProjectMaterialSeal){
return success(surProjectMaterialSealService.insertSurProjectMaterialSeal(surProjectMaterialSeal));
}

View File

@ -25,7 +25,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
* Controller
*
* @author JiangYuQi
* @date 2023-08-26
* @date 2023-08-31
*/
@RestController
@RequestMapping("/project/checkDetection")

View File

@ -11,7 +11,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
* sur_project_check_detection
*
* @author JiangYuQi
* @date 2023-08-26
* @date 2023-08-31
*/
public class SurProjectCheckDetection extends BaseEntity
{
@ -32,6 +32,46 @@ public class SurProjectCheckDetection extends BaseEntity
@Excel(name = "送检类型")
private String checkType;
/** 材料名称 */
@Excel(name = "材料名称")
private String materialName;
/** 使用部位 */
@Excel(name = "使用部位")
private String usePosition;
/** 取样数量 */
@Excel(name = "取样数量")
private String sampleNum;
/** 提供合格证 */
@Excel(name = "提供合格证")
private String qualifiedFlag;
/** 代表数量 */
@Excel(name = "代表数量")
private String represenNum;
/** 取样人 */
@Excel(name = "取样人")
private String sampleUser;
/** 取样人名称 */
@Excel(name = "取样人名称")
private String sampleUserName;
/** 见证人 */
@Excel(name = "见证人")
private String witnessUser;
/** 见证人名称 */
@Excel(name = "见证人名称")
private String witnessUserName;
/** 实验室名称 */
@Excel(name = "实验室名称")
private String laboratoryName;
/** 送检时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "送检时间", width = 30, dateFormat = "yyyy-MM-dd")
@ -49,6 +89,14 @@ public class SurProjectCheckDetection extends BaseEntity
@Excel(name = "检测报告")
private String detectionFile;
/** 数据状态 */
@Excel(name = "数据状态")
private String isDel;
private String checkTypeName;
private String projectName;
private String deptName;
public void setId(Long id)
{
this.id = id;
@ -85,6 +133,96 @@ public class SurProjectCheckDetection extends BaseEntity
{
return checkType;
}
public void setMaterialName(String materialName)
{
this.materialName = materialName;
}
public String getMaterialName()
{
return materialName;
}
public void setUsePosition(String usePosition)
{
this.usePosition = usePosition;
}
public String getUsePosition()
{
return usePosition;
}
public void setSampleNum(String sampleNum)
{
this.sampleNum = sampleNum;
}
public String getSampleNum()
{
return sampleNum;
}
public void setQualifiedFlag(String qualifiedFlag)
{
this.qualifiedFlag = qualifiedFlag;
}
public String getQualifiedFlag()
{
return qualifiedFlag;
}
public void setRepresenNum(String represenNum)
{
this.represenNum = represenNum;
}
public String getRepresenNum()
{
return represenNum;
}
public void setSampleUser(String sampleUser)
{
this.sampleUser = sampleUser;
}
public String getSampleUser()
{
return sampleUser;
}
public void setSampleUserName(String sampleUserName)
{
this.sampleUserName = sampleUserName;
}
public String getSampleUserName()
{
return sampleUserName;
}
public void setWitnessUser(String witnessUser)
{
this.witnessUser = witnessUser;
}
public String getWitnessUser()
{
return witnessUser;
}
public void setWitnessUserName(String witnessUserName)
{
this.witnessUserName = witnessUserName;
}
public String getWitnessUserName()
{
return witnessUserName;
}
public void setLaboratoryName(String laboratoryName)
{
this.laboratoryName = laboratoryName;
}
public String getLaboratoryName()
{
return laboratoryName;
}
public void setCheckTime(Date checkTime)
{
this.checkTime = checkTime;
@ -122,6 +260,38 @@ public class SurProjectCheckDetection extends BaseEntity
return detectionFile;
}
public String getProjectName() {
return projectName;
}
public void setProjectName(String projectName) {
this.projectName = projectName;
}
public String getDeptName() {
return deptName;
}
public void setDeptName(String deptName) {
this.deptName = deptName;
}
public String getIsDel() {
return isDel;
}
public void setIsDel(String isDel) {
this.isDel = isDel;
}
public String getCheckTypeName() {
return checkTypeName;
}
public void setCheckTypeName(String checkTypeName) {
this.checkTypeName = checkTypeName;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@ -129,6 +299,16 @@ public class SurProjectCheckDetection extends BaseEntity
.append("projectId", getProjectId())
.append("deptId", getDeptId())
.append("checkType", getCheckType())
.append("materialName", getMaterialName())
.append("usePosition", getUsePosition())
.append("sampleNum", getSampleNum())
.append("qualifiedFlag", getQualifiedFlag())
.append("represenNum", getRepresenNum())
.append("sampleUser", getSampleUser())
.append("sampleUserName", getSampleUserName())
.append("witnessUser", getWitnessUser())
.append("witnessUserName", getWitnessUserName())
.append("laboratoryName", getLaboratoryName())
.append("checkTime", getCheckTime())
.append("checkState", getCheckState())
.append("detectionResult", getDetectionResult())

View File

@ -1,13 +1,15 @@
package com.yanzhu.jh.project.mapper;
import java.util.List;
import java.util.Map;
import com.yanzhu.jh.project.domain.SurProjectCheckDetection;
/**
* Mapper
*
* @author JiangYuQi
* @date 2023-08-26
* @date 2023-08-31
*/
public interface SurProjectCheckDetectionMapper
{
@ -59,5 +61,20 @@ public interface SurProjectCheckDetectionMapper
*/
public int deleteSurProjectCheckDetectionByIds(Long[] ids);
/**
*
*
* @param where
* @return
*/
public List<SurProjectCheckDetection> groupByCheckType(SurProjectCheckDetection where);
/**
*
*
* @param surProjectCheckDetection
* @return
*/
public List<Map<String,Object>> queryGroupCount(SurProjectCheckDetection surProjectCheckDetection);
}

View File

@ -1,13 +1,15 @@
package com.yanzhu.jh.project.service;
import java.util.List;
import java.util.Map;
import com.yanzhu.jh.project.domain.SurProjectCheckDetection;
/**
* Service
*
* @author JiangYuQi
* @date 2023-08-26
* @date 2023-08-31
*/
public interface ISurProjectCheckDetectionService
{
@ -59,5 +61,19 @@ public interface ISurProjectCheckDetectionService
*/
public int deleteSurProjectCheckDetectionById(Long id);
/**
*
*
* @param where
* @return
*/
public List<SurProjectCheckDetection> groupByCheckType(SurProjectCheckDetection where);
/**
*
*
* @param surProjectCheckDetection
* @return
*/
public Map<String,Object> queryGroupCount(SurProjectCheckDetection surProjectCheckDetection);
}

View File

@ -1,6 +1,10 @@
package com.yanzhu.jh.project.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.ruoyi.common.enums.PublicStateEnum;
import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -12,7 +16,7 @@ import com.ruoyi.common.utils.SecurityUtils;
* Service
*
* @author JiangYuQi
* @date 2023-08-26
* @date 2023-08-31
*/
@Service
public class SurProjectCheckDetectionServiceImpl implements ISurProjectCheckDetectionService
@ -53,7 +57,11 @@ public class SurProjectCheckDetectionServiceImpl implements ISurProjectCheckDete
@Override
public int insertSurProjectCheckDetection(SurProjectCheckDetection surProjectCheckDetection)
{
surProjectCheckDetection.setCreateBy(SecurityUtils.getUsername());
surProjectCheckDetection.setCheckState(PublicStateEnum.CHECK_STATE_SJ.getCode());
surProjectCheckDetection.setIsDel(PublicStateEnum.OK.getCode());
if(surProjectCheckDetection.getCreateBy()==null){
surProjectCheckDetection.setCreateBy(SecurityUtils.getUsername());
}
surProjectCheckDetection.setCreateTime(DateUtils.getNowDate());
return surProjectCheckDetectionMapper.insertSurProjectCheckDetection(surProjectCheckDetection);
}
@ -67,7 +75,9 @@ public class SurProjectCheckDetectionServiceImpl implements ISurProjectCheckDete
@Override
public int updateSurProjectCheckDetection(SurProjectCheckDetection surProjectCheckDetection)
{
surProjectCheckDetection.setUpdateBy(SecurityUtils.getUsername());
if(surProjectCheckDetection.getUpdateBy()==null){
surProjectCheckDetection.setUpdateBy(SecurityUtils.getUsername());
}
surProjectCheckDetection.setUpdateTime(DateUtils.getNowDate());
return surProjectCheckDetectionMapper.updateSurProjectCheckDetection(surProjectCheckDetection);
}
@ -96,8 +106,31 @@ public class SurProjectCheckDetectionServiceImpl implements ISurProjectCheckDete
return surProjectCheckDetectionMapper.deleteSurProjectCheckDetectionById(id);
}
/**
*
*
* @param where
* @return
*/
@Override
public List<SurProjectCheckDetection> groupByCheckType(SurProjectCheckDetection where) {
return surProjectCheckDetectionMapper.groupByCheckType(where);
}
/**
*
*
* @param surProjectCheckDetection
* @return
*/
public Map<String,Object> queryGroupCount(SurProjectCheckDetection surProjectCheckDetection){
List<Map<String, Object>> dataList = surProjectCheckDetectionMapper.queryGroupCount(surProjectCheckDetection);
Map<String, Object> dataMap = new HashMap<>();
if(dataList!=null && dataList.size()>0){
for(Map<String, Object> map:dataList){
dataMap.put("check"+map.get("check_state"),map.get("total"));
}
}
return dataMap;
}
}

View File

@ -55,9 +55,11 @@ public class SurProjectMaterialSealServiceImpl implements ISurProjectMaterialSea
@Override
public int insertSurProjectMaterialSeal(SurProjectMaterialSeal surProjectMaterialSeal)
{
if(surProjectMaterialSeal.getCreateBy()==null){
surProjectMaterialSeal.setCreateBy(SecurityUtils.getUsername());
}
surProjectMaterialSeal.setIsDel(PublicStateEnum.OK.getCode());
surProjectMaterialSeal.setMainImage(surProjectMaterialSeal.getImageUrls().split(",")[0]);
surProjectMaterialSeal.setCreateBy(SecurityUtils.getUsername());
surProjectMaterialSeal.setCreateTime(DateUtils.getNowDate());
return surProjectMaterialSealMapper.insertSurProjectMaterialSeal(surProjectMaterialSeal);
}

View File

@ -3,16 +3,30 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yanzhu.jh.project.mapper.SurProjectCheckDetectionMapper">
<resultMap type="SurProjectCheckDetection" id="SurProjectCheckDetectionResult">
<result property="id" column="id" />
<result property="projectId" column="project_id" />
<result property="projectName" column="projectName" />
<result property="deptId" column="dept_id" />
<result property="deptName" column="dept_name" />
<result property="checkType" column="check_type" />
<result property="checkTypeName" column="check_type_name" />
<result property="materialName" column="material_name" />
<result property="usePosition" column="use_position" />
<result property="sampleNum" column="sample_num" />
<result property="qualifiedFlag" column="qualified_flag" />
<result property="represenNum" column="represen_num" />
<result property="sampleUser" column="sample_user" />
<result property="sampleUserName" column="sample_user_name" />
<result property="witnessUser" column="witness_user" />
<result property="witnessUserName" column="witness_user_name" />
<result property="laboratoryName" column="laboratory_name" />
<result property="checkTime" column="check_time" />
<result property="checkState" column="check_state" />
<result property="detectionResult" column="detection_result" />
<result property="detectionFile" column="detection_file" />
<result property="isDel" column="is_del" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
@ -21,57 +35,139 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectSurProjectCheckDetectionVo">
select id, project_id, dept_id, check_type, check_time, check_state, detection_result, detection_file, create_by, create_time, update_by, update_time, remark from sur_project_check_detection
select spcd.id, spcd.project_id, sp.projectName, spcd.dept_id, sd.dept_name, spcd.check_type, sdd.dict_label as check_type_name, spcd.material_name, spcd.use_position, spcd.sample_num, spcd.qualified_flag, spcd.represen_num, spcd.sample_user, spcd.sample_user_name, spcd.witness_user, spcd.witness_user_name, spcd.laboratory_name, spcd.check_time, spcd.check_state, spcd.detection_result, spcd.detection_file, spcd.create_by, spcd.create_time, spcd.is_del, spcd.update_by, spcd.update_time, spcd.remark from sur_project_check_detection spcd
left join sur_project sp on spcd.project_id = sp.id
left join sys_dept sd on sd.dept_id = spcd.dept_id
left join sys_dict_data sdd on sdd.dict_type = 'check_detection_check_type' and sdd.dict_value = spcd.check_type
</sql>
<select id="selectSurProjectCheckDetectionList" parameterType="SurProjectCheckDetection" resultMap="SurProjectCheckDetectionResult">
<include refid="selectSurProjectCheckDetectionVo"/>
<where>
<if test="projectId != null "> and project_id = #{projectId}</if>
<if test="deptId != null "> and dept_id = #{deptId}</if>
<if test="checkType != null and checkType != ''"> and check_type = #{checkType}</if>
<if test="params.beginCheckTime != null and params.beginCheckTime != '' and params.endCheckTime != null and params.endCheckTime != ''"> and check_time between #{params.beginCheckTime} and #{params.endCheckTime}</if>
<if test="checkState != null and checkState != ''"> and check_state = #{checkState}</if>
<if test="detectionResult != null and detectionResult != ''"> and detection_result = #{detectionResult}</if>
<if test="detectionFile != null and detectionFile != ''"> and detection_file = #{detectionFile}</if>
<!--监理单位/总包公司/分包单位-->
<if test='nowRole == "5" or nowRole == "6" or nowRole == "7"'> left join sur_project_unit_info spui on spui.projectId = sp.id</if>
<!--普通用户查询项目人员-->
<if test='nowRole == "99"'> left join sur_project_userinfo spu on spu.project_id = sp.id</if>
<where>
and spcd.is_del='0'
<if test="projectId != null "> and spcd.project_id = #{projectId}</if>
<if test="deptId != null "> and spcd.dept_id = #{deptId}</if>
<if test="checkType != null and checkType != ''"> and spcd.check_type = #{checkType}</if>
<if test="materialName != null and materialName != ''"> and spcd.material_name like concat('%', #{materialName}, '%')</if>
<if test="usePosition != null and usePosition != ''"> and spcd.use_position like concat('%', #{usePosition}, '%')</if>
<if test="sampleNum != null and sampleNum != ''"> and spcd.sample_num = #{sampleNum}</if>
<if test="isDel != null and isDel != ''"> and spcd.is_del = #{isDel}</if>
<if test="sampleUserName != null and sampleUserName != ''"> and spcd.sample_user_name like concat('%', #{sampleUserName}, '%')</if>
<if test="witnessUserName != null and witnessUserName != ''"> and spcd.witness_user_name like concat('%', #{witnessUserName}, '%')</if>
<if test="laboratoryName != null and laboratoryName != ''"> and spcd.laboratory_name like concat('%', #{laboratoryName}, '%')</if>
<if test="params.beginCheckTime != null and params.beginCheckTime != '' and params.endCheckTime != null and params.endCheckTime != ''"> and spcd.check_time between #{params.beginCheckTime} and #{params.endCheckTime}</if>
<if test="checkState != null and checkState != ''"> and spcd.check_state = #{checkState}</if>
<if test="detectionResult != null and detectionResult != ''"> and spcd.detection_result = #{detectionResult}</if>
<!-- 查询条件-项目部门 -->
<if test="projectDeptId != null "> and sp.deptId = #{projectDeptId}</if>
<!--子部门数据-->
<if test='nowRole == "4"'> and (sp.deptId = #{nowDept} or spm.quality_user=#{nowUserName} or spm.supervise_user=#{nowUserName})</if>
<!--监理单位/总包公司/分包单位查询当前关联数据-->
<if test='nowRole == "5" or nowRole == "6" or nowRole == "7"'> and (spui.unitId = #{nowDept} or spm.quality_user=#{nowUserName} or spm.supervise_user=#{nowUserName})</if>
<!--普通用户查询项目人员-->
<if test='nowRole == "99"'> and spu.is_del=0 and (spu.user_id = #{nowUser} or spm.quality_user=#{nowUserName} or spm.supervise_user=#{nowUserName})</if>
<if test='activeName == "sjz"'> and spcd.check_state = '1'</if>
<if test='activeName == "ywc"'> and spcd.check_state = '2'</if>
</where>
order by spcd.check_time desc
</select>
<select id="queryGroupCount" parameterType="SurProjectCheckDetection" resultType="map">
select spcd.check_state, count(1) as total from sur_project_check_detection spcd
left join sur_project sp on spcd.project_id = sp.id
left join sys_dept sd on sd.dept_id = spcd.dept_id
<!--监理单位/总包公司/分包单位-->
<if test='nowRole == "5" or nowRole == "6" or nowRole == "7"'> left join sur_project_unit_info spui on spui.projectId = sp.id</if>
<!--普通用户查询项目人员-->
<if test='nowRole == "99"'> left join sur_project_userinfo spu on spu.project_id = sp.id</if>
<where>
and spcd.is_del='0'
<if test="projectId != null "> and spcd.project_id = #{projectId}</if>
<if test="deptId != null "> and spcd.dept_id = #{deptId}</if>
<if test="checkType != null and checkType != ''"> and spcd.check_type = #{checkType}</if>
<if test="materialName != null and materialName != ''"> and spcd.material_name like concat('%', #{materialName}, '%')</if>
<if test="usePosition != null and usePosition != ''"> and spcd.use_position like concat('%', #{usePosition}, '%')</if>
<if test="sampleNum != null and sampleNum != ''"> and spcd.sample_num = #{sampleNum}</if>
<if test="isDel != null and isDel != ''"> and spcd.is_del = #{isDel}</if>
<if test="sampleUserName != null and sampleUserName != ''"> and spcd.sample_user_name like concat('%', #{sampleUserName}, '%')</if>
<if test="witnessUserName != null and witnessUserName != ''"> and spcd.witness_user_name like concat('%', #{witnessUserName}, '%')</if>
<if test="laboratoryName != null and laboratoryName != ''"> and spcd.laboratory_name like concat('%', #{laboratoryName}, '%')</if>
<if test="params.beginCheckTime != null and params.beginCheckTime != '' and params.endCheckTime != null and params.endCheckTime != ''"> and spcd.check_time between #{params.beginCheckTime} and #{params.endCheckTime}</if>
<if test="checkState != null and checkState != ''"> and spcd.check_state = #{checkState}</if>
<if test="detectionResult != null and detectionResult != ''"> and spcd.detection_result = #{detectionResult}</if>
<!-- 查询条件-项目部门 -->
<if test="projectDeptId != null "> and sp.deptId = #{projectDeptId}</if>
<!--子部门数据-->
<if test='nowRole == "4"'> and (sp.deptId = #{nowDept} or spm.quality_user=#{nowUserName} or spm.supervise_user=#{nowUserName})</if>
<!--监理单位/总包公司/分包单位查询当前关联数据-->
<if test='nowRole == "5" or nowRole == "6" or nowRole == "7"'> and (spui.unitId = #{nowDept} or spm.quality_user=#{nowUserName} or spm.supervise_user=#{nowUserName})</if>
<!--普通用户查询项目人员-->
<if test='nowRole == "99"'> and spu.is_del=0 and (spu.user_id = #{nowUser} or spm.quality_user=#{nowUserName} or spm.supervise_user=#{nowUserName})</if>
GROUP BY check_state
</where>
</select>
<select id="selectSurProjectCheckDetectionById" parameterType="Long" resultMap="SurProjectCheckDetectionResult">
<include refid="selectSurProjectCheckDetectionVo"/>
where id = #{id}
where spcd.id = #{id}
</select>
<insert id="insertSurProjectCheckDetection" parameterType="SurProjectCheckDetection" useGeneratedKeys="true" keyProperty="id">
insert into sur_project_check_detection
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="projectId != null">project_id,</if>
<if test="deptId != null">dept_id,</if>
<if test="checkType != null">check_type,</if>
<if test="materialName != null">material_name,</if>
<if test="usePosition != null">use_position,</if>
<if test="sampleNum != null">sample_num,</if>
<if test="qualifiedFlag != null">qualified_flag,</if>
<if test="represenNum != null">represen_num,</if>
<if test="sampleUser != null">sample_user,</if>
<if test="sampleUserName != null">sample_user_name,</if>
<if test="witnessUser != null">witness_user,</if>
<if test="witnessUserName != null">witness_user_name,</if>
<if test="laboratoryName != null">laboratory_name,</if>
<if test="checkTime != null">check_time,</if>
<if test="checkState != null">check_state,</if>
<if test="detectionResult != null">detection_result,</if>
<if test="detectionFile != null">detection_file,</if>
<if test="isDel != null">is_del,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="remark != null">remark,</if>
</trim>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="projectId != null">#{projectId},</if>
<if test="deptId != null">#{deptId},</if>
<if test="checkType != null">#{checkType},</if>
<if test="materialName != null">#{materialName},</if>
<if test="usePosition != null">#{usePosition},</if>
<if test="sampleNum != null">#{sampleNum},</if>
<if test="qualifiedFlag != null">#{qualifiedFlag},</if>
<if test="represenNum != null">#{represenNum},</if>
<if test="sampleUser != null">#{sampleUser},</if>
<if test="sampleUserName != null">#{sampleUserName},</if>
<if test="witnessUser != null">#{witnessUser},</if>
<if test="witnessUserName != null">#{witnessUserName},</if>
<if test="laboratoryName != null">#{laboratoryName},</if>
<if test="checkTime != null">#{checkTime},</if>
<if test="checkState != null">#{checkState},</if>
<if test="detectionResult != null">#{detectionResult},</if>
<if test="detectionFile != null">#{detectionFile},</if>
<if test="isDel != null">#{isDel},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="remark != null">#{remark},</if>
</trim>
</trim>
</insert>
<update id="updateSurProjectCheckDetection" parameterType="SurProjectCheckDetection">
@ -80,10 +176,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="projectId != null">project_id = #{projectId},</if>
<if test="deptId != null">dept_id = #{deptId},</if>
<if test="checkType != null">check_type = #{checkType},</if>
<if test="materialName != null">material_name = #{materialName},</if>
<if test="usePosition != null">use_position = #{usePosition},</if>
<if test="sampleNum != null">sample_num = #{sampleNum},</if>
<if test="qualifiedFlag != null">qualified_flag = #{qualifiedFlag},</if>
<if test="represenNum != null">represen_num = #{represenNum},</if>
<if test="sampleUser != null">sample_user = #{sampleUser},</if>
<if test="sampleUserName != null">sample_user_name = #{sampleUserName},</if>
<if test="witnessUser != null">witness_user = #{witnessUser},</if>
<if test="witnessUserName != null">witness_user_name = #{witnessUserName},</if>
<if test="laboratoryName != null">laboratory_name = #{laboratoryName},</if>
<if test="checkTime != null">check_time = #{checkTime},</if>
<if test="checkState != null">check_state = #{checkState},</if>
<if test="detectionResult != null">detection_result = #{detectionResult},</if>
<if test="detectionFile != null">detection_file = #{detectionFile},</if>
<if test="isDel != null">is_del = #{isDel},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
@ -98,16 +205,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete>
<delete id="deleteSurProjectCheckDetectionByIds" parameterType="String">
delete from sur_project_check_detection where id in
delete from sur_project_check_detection where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<select id="groupByCheckType" parameterType="SurProjectCheckDetection" resultMap="SurProjectCheckDetectionResult">
SELECT 1 id,COUNT(1) project_id,'送检数' check_type
FROM sur_project_check_detection WHERE check_type= #{checkType}
and is_del='0'
<if test="deptId !=null and deptId>0">
and project_id IN (SELECT id FROM sur_project WHERE deptid=#{deptId})
</if>
@ -119,6 +228,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
SELECT 2 id,COUNT(1) project_id,'待检数' check_type
FROM sur_project_check_detection WHERE check_type= #{checkType} AND check_state='1'
and is_del='0'
<if test="deptId !=null and deptId>0">
and project_id IN (SELECT id FROM sur_project WHERE deptid=#{deptId})
</if>
@ -130,6 +240,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
SELECT 3 id,COUNT(1) project_id,'合格数' check_type
FROM sur_project_check_detection WHERE check_type= #{checkType} AND detection_result='1'
and is_del='0'
<if test="deptId !=null and deptId>0">
and project_id IN (SELECT id FROM sur_project WHERE deptid=#{deptId})
</if>