检验方案维护

master
shaoyong 2 years ago
parent c00be3fee0
commit 1ddd59dfd0

@ -1,7 +1,11 @@
package com.op.quality.controller;
import java.io.IOException;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.op.common.security.utils.SecurityUtils;
import com.op.system.api.domain.SysUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -20,6 +24,7 @@ import com.op.common.core.web.controller.BaseController;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.core.utils.poi.ExcelUtil;
import com.op.common.core.web.page.TableDataInfo;
import org.springframework.web.multipart.MultipartFile;
/**
* Controller
@ -62,6 +67,28 @@ public class QcCheckProjectController extends BaseController {
util.exportExcel(response, list, "检验项目维护数据");
}
/**
*
*/
@RequiresPermissions("quality:project:import")
@Log(title = "检验项目维护", businessType = BusinessType.EXPORT)
@PostMapping("/importData")
public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
ExcelUtil<QcCheckProject> util = new ExcelUtil<QcCheckProject>(QcCheckProject.class);
List<QcCheckProject> projectList = util.importExcel(file.getInputStream());
String operName = SecurityUtils.getUsername();
String message = qcCheckProjectService.importCheckProject(projectList, updateSupport, operName);
return success(message);
}
/**
*
*/
@PostMapping("/importTemplate")
public void importTemplate(HttpServletResponse response) throws IOException {
ExcelUtil<QcCheckProject> util = new ExcelUtil<QcCheckProject>(QcCheckProject.class);
util.importTemplateExcel(response, "检测项目");
}
/**
*
*/

@ -0,0 +1,97 @@
package com.op.quality.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.op.common.log.annotation.Log;
import com.op.common.log.enums.BusinessType;
import com.op.common.security.annotation.RequiresPermissions;
import com.op.quality.domain.QcProjectType;
import com.op.quality.service.IQcProjectTypeService;
import com.op.common.core.web.controller.BaseController;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.core.utils.poi.ExcelUtil;
import com.op.common.core.web.page.TableDataInfo;
/**
* Controller
*
* @author Open Platform
* @date 2023-12-27
*/
@RestController
@RequestMapping("/qcProjectType")
public class QcProjectTypeController extends BaseController {
@Autowired
private IQcProjectTypeService qcProjectTypeService;
/**
*
*/
@RequiresPermissions("quality:qcProjectType:list")
@GetMapping("/list")
public TableDataInfo list(QcProjectType qcProjectType) {
startPage();
List<QcProjectType> list = qcProjectTypeService.selectQcProjectTypeList(qcProjectType);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("quality:qcProjectType:export")
@Log(title = "检验方案维护", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, QcProjectType qcProjectType) {
List<QcProjectType> list = qcProjectTypeService.selectQcProjectTypeList(qcProjectType);
ExcelUtil<QcProjectType> util = new ExcelUtil<QcProjectType>(QcProjectType.class);
util.exportExcel(response, list, "检验方案维护数据");
}
/**
*
*/
@RequiresPermissions("quality:qcProjectType:query")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") String id) {
return success(qcProjectTypeService.selectQcProjectTypeById(id));
}
/**
*
*/
@RequiresPermissions("quality:qcProjectType:add")
@Log(title = "检验方案维护", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody QcProjectType qcProjectType) {
return toAjax(qcProjectTypeService.insertQcProjectType(qcProjectType));
}
/**
*
*/
@RequiresPermissions("quality:qcProjectType:edit")
@Log(title = "检验方案维护", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody QcProjectType qcProjectType) {
return toAjax(qcProjectTypeService.updateQcProjectType(qcProjectType));
}
/**
*
*/
@RequiresPermissions("quality:qcProjectType:remove")
@Log(title = "检验方案维护", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids) {
return toAjax(qcProjectTypeService.deleteQcProjectTypeByIds(ids));
}
}

@ -0,0 +1,97 @@
package com.op.quality.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.op.common.log.annotation.Log;
import com.op.common.log.enums.BusinessType;
import com.op.common.security.annotation.RequiresPermissions;
import com.op.quality.domain.QcSampleRule;
import com.op.quality.service.IQcSampleRuleService;
import com.op.common.core.web.controller.BaseController;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.core.utils.poi.ExcelUtil;
import com.op.common.core.web.page.TableDataInfo;
/**
* Controller
*
* @author Open Platform
* @date 2023-12-28
*/
@RestController
@RequestMapping("/qcSampleRule")
public class QcSampleRuleController extends BaseController {
@Autowired
private IQcSampleRuleService qcSampleRuleService;
/**
*
*/
@RequiresPermissions("quality:qcSampleRule:list")
@GetMapping("/list")
public TableDataInfo list(QcSampleRule qcSampleRule) {
startPage();
List<QcSampleRule> list = qcSampleRuleService.selectQcSampleRuleList(qcSampleRule);
return getDataTable(list);
}
/**
*
*/
@RequiresPermissions("quality:qcSampleRule:export")
@Log(title = "来料抽样规则", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, QcSampleRule qcSampleRule) {
List<QcSampleRule> list = qcSampleRuleService.selectQcSampleRuleList(qcSampleRule);
ExcelUtil<QcSampleRule> util = new ExcelUtil<QcSampleRule>(QcSampleRule.class);
util.exportExcel(response, list, "来料抽样规则数据");
}
/**
*
*/
@RequiresPermissions("quality:qcSampleRule:query")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") String id) {
return success(qcSampleRuleService.selectQcSampleRuleById(id));
}
/**
*
*/
@RequiresPermissions("quality:qcSampleRule:add")
@Log(title = "来料抽样规则", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody QcSampleRule qcSampleRule) {
return toAjax(qcSampleRuleService.insertQcSampleRule(qcSampleRule));
}
/**
*
*/
@RequiresPermissions("quality:qcSampleRule:edit")
@Log(title = "来料抽样规则", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody QcSampleRule qcSampleRule) {
return toAjax(qcSampleRuleService.updateQcSampleRule(qcSampleRule));
}
/**
*
*/
@RequiresPermissions("quality:qcSampleRule:remove")
@Log(title = "来料抽样规则", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable String[] ids) {
return toAjax(qcSampleRuleService.deleteQcSampleRuleByIds(ids));
}
}

@ -52,16 +52,27 @@ public class QcCheckProject extends BaseEntity {
/** 工厂编码 */
@Excel(name = "工厂编码")
private String factoryCode;
@Excel(name = "抽样方案")
private String samplePlan;
@Excel(name = "合格判定")
private String judge;
@Excel(name = "缺陷等级")
private String defectLevel;
@Excel(name = "检验方案类型")
private String projectType;
private String materialCode;
private String typeCode;
private String groupId;
public String getProjectType() {
return projectType;
}
public void setProjectType(String projectType) {
this.projectType = projectType;
}
public String getMaterialCode() {
return materialCode;
}

@ -115,6 +115,9 @@ public class QcCheckReportIncome extends BaseEntity {
/** 删除标识1删除0正常 */
private String delFlag;
@Excel(name = "抽样数量")
private BigDecimal sampleQuality;
private String incomeTimeStart;
private String incomeTimeEnd;
private String checkTimeStart;
@ -122,6 +125,13 @@ public class QcCheckReportIncome extends BaseEntity {
private String typeCode;//大类
private String checkType;//小类
public BigDecimal getSampleQuality() {
return sampleQuality;
}
public void setSampleQuality(BigDecimal sampleQuality) {
this.sampleQuality = sampleQuality;
}
public String getCheckType() {
return checkType;

@ -0,0 +1,97 @@
package com.op.quality.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.op.common.core.annotation.Excel;
import com.op.common.core.web.domain.BaseEntity;
/**
* qc_project_type
*
* @author Open Platform
* @date 2023-12-27
*/
public class QcProjectType extends BaseEntity {
private static final long serialVersionUID = 1L;
/** id */
private String id;
/** 检测项方案编号 */
@Excel(name = "检测项方案编号")
private String projectTypeCode;
/** 检测项方案名称 */
@Excel(name = "检测项方案名称")
private String projectTypeName;
/** 预留字段1 */
@Excel(name = "预留字段1")
private String attr1;
/** 工厂编码 */
@Excel(name = "工厂编码")
private String factoryCode;
/** 删除标识1删除0正常 */
private String delFlag;
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setProjectTypeCode(String projectTypeCode) {
this.projectTypeCode = projectTypeCode;
}
public String getProjectTypeCode() {
return projectTypeCode;
}
public void setProjectTypeName(String projectTypeName) {
this.projectTypeName = projectTypeName;
}
public String getProjectTypeName() {
return projectTypeName;
}
public void setAttr1(String attr1) {
this.attr1 = attr1;
}
public String getAttr1() {
return attr1;
}
public void setFactoryCode(String factoryCode) {
this.factoryCode = factoryCode;
}
public String getFactoryCode() {
return factoryCode;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
public String getDelFlag() {
return delFlag;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("projectTypeCode", getProjectTypeCode())
.append("projectTypeName", getProjectTypeName())
.append("attr1", getAttr1())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("factoryCode", getFactoryCode())
.append("delFlag", getDelFlag())
.toString();
}
}

@ -0,0 +1,137 @@
package com.op.quality.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.op.common.core.annotation.Excel;
import com.op.common.core.web.domain.BaseEntity;
/**
* qc_sample_rule
*
* @author Open Platform
* @date 2023-12-28
*/
public class QcSampleRule extends BaseEntity {
private static final long serialVersionUID = 1L;
/** id */
private String id;
/** 开始值 */
@Excel(name = "开始值")
private Long startValue;
/** 检测项方案名称 */
@Excel(name = "结束值")
private Long endValue;
/** 预留字段1 */
@Excel(name = "预留字段1")
private String attr1;
/** 工厂编码 */
@Excel(name = "工厂编码")
private String factoryCode;
/** 删除标识1删除0正常 */
private String delFlag;
/** 抽样数量 */
@Excel(name = "抽样数量")
private Long sampleQuality;
/** 小节点 */
@Excel(name = "小节点")
private String checkType;
/** 大节点 */
@Excel(name = "大节点")
private String typeCode;
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public Long getStartValue() {
return startValue;
}
public void setStartValue(Long startValue) {
this.startValue = startValue;
}
public Long getEndValue() {
return endValue;
}
public void setEndValue(Long endValue) {
this.endValue = endValue;
}
public void setAttr1(String attr1) {
this.attr1 = attr1;
}
public String getAttr1() {
return attr1;
}
public void setFactoryCode(String factoryCode) {
this.factoryCode = factoryCode;
}
public String getFactoryCode() {
return factoryCode;
}
public void setDelFlag(String delFlag) {
this.delFlag = delFlag;
}
public String getDelFlag() {
return delFlag;
}
public void setSampleQuality(Long sampleQuality) {
this.sampleQuality = sampleQuality;
}
public Long getSampleQuality() {
return sampleQuality;
}
public void setCheckType(String checkType) {
this.checkType = checkType;
}
public String getCheckType() {
return checkType;
}
public void setTypeCode(String typeCode) {
this.typeCode = typeCode;
}
public String getTypeCode() {
return typeCode;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("start", getStartValue())
.append("end", getEndValue())
.append("attr1", getAttr1())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("factoryCode", getFactoryCode())
.append("delFlag", getDelFlag())
.append("sampleQuality", getSampleQuality())
.append("checkType", getCheckType())
.append("typeCode", getTypeCode())
.toString();
}
}

@ -4,6 +4,7 @@ import java.util.List;
import com.op.quality.domain.QcCheckProject;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* Mapper
@ -63,4 +64,7 @@ public interface QcCheckProjectMapper {
public QcCheckProject selectSerialNumber();
public QcCheckProject selectCheckProjectByRuleName(@Param("ruleName") String ruleName,
@Param("projectType") String projectType);
}

@ -0,0 +1,63 @@
package com.op.quality.mapper;
import java.util.List;
import com.op.quality.domain.QcProjectType;
import org.apache.ibatis.annotations.Mapper;
/**
* Mapper
*
* @author Open Platform
* @date 2023-12-27
*/
@Mapper
public interface QcProjectTypeMapper {
/**
*
*
* @param id
* @return
*/
public QcProjectType selectQcProjectTypeById(String id);
/**
*
*
* @param qcProjectType
* @return
*/
public List<QcProjectType> selectQcProjectTypeList(QcProjectType qcProjectType);
/**
*
*
* @param qcProjectType
* @return
*/
public int insertQcProjectType(QcProjectType qcProjectType);
/**
*
*
* @param qcProjectType
* @return
*/
public int updateQcProjectType(QcProjectType qcProjectType);
/**
*
*
* @param id
* @return
*/
public int deleteQcProjectTypeById(String id);
/**
*
*
* @param ids
* @return
*/
public int deleteQcProjectTypeByIds(String[] ids);
}

@ -0,0 +1,63 @@
package com.op.quality.mapper;
import java.util.List;
import com.op.quality.domain.QcSampleRule;
import org.apache.ibatis.annotations.Mapper;
/**
* Mapper
*
* @author Open Platform
* @date 2023-12-28
*/
@Mapper
public interface QcSampleRuleMapper {
/**
*
*
* @param id
* @return
*/
public QcSampleRule selectQcSampleRuleById(String id);
/**
*
*
* @param qcSampleRule
* @return
*/
public List<QcSampleRule> selectQcSampleRuleList(QcSampleRule qcSampleRule);
/**
*
*
* @param qcSampleRule
* @return
*/
public int insertQcSampleRule(QcSampleRule qcSampleRule);
/**
*
*
* @param qcSampleRule
* @return
*/
public int updateQcSampleRule(QcSampleRule qcSampleRule);
/**
*
*
* @param id
* @return
*/
public int deleteQcSampleRuleById(String id);
/**
*
*
* @param ids
* @return
*/
public int deleteQcSampleRuleByIds(String[] ids);
}

@ -57,4 +57,10 @@ public interface IQcCheckProjectService {
* @return
*/
public int deleteQcCheckProjectById(String id);
/**
*
*
* @return
*/
public String importCheckProject(List<QcCheckProject> projectList, Boolean isUpdateSupport, String operName);
}

@ -0,0 +1,60 @@
package com.op.quality.service;
import java.util.List;
import com.op.quality.domain.QcProjectType;
/**
* Service
*
* @author Open Platform
* @date 2023-12-27
*/
public interface IQcProjectTypeService {
/**
*
*
* @param id
* @return
*/
public QcProjectType selectQcProjectTypeById(String id);
/**
*
*
* @param qcProjectType
* @return
*/
public List<QcProjectType> selectQcProjectTypeList(QcProjectType qcProjectType);
/**
*
*
* @param qcProjectType
* @return
*/
public int insertQcProjectType(QcProjectType qcProjectType);
/**
*
*
* @param qcProjectType
* @return
*/
public int updateQcProjectType(QcProjectType qcProjectType);
/**
*
*
* @param ids
* @return
*/
public int deleteQcProjectTypeByIds(String[] ids);
/**
*
*
* @param id
* @return
*/
public int deleteQcProjectTypeById(String id);
}

@ -0,0 +1,60 @@
package com.op.quality.service;
import java.util.List;
import com.op.quality.domain.QcSampleRule;
/**
* Service
*
* @author Open Platform
* @date 2023-12-28
*/
public interface IQcSampleRuleService {
/**
*
*
* @param id
* @return
*/
public QcSampleRule selectQcSampleRuleById(String id);
/**
*
*
* @param qcSampleRule
* @return
*/
public List<QcSampleRule> selectQcSampleRuleList(QcSampleRule qcSampleRule);
/**
*
*
* @param qcSampleRule
* @return
*/
public int insertQcSampleRule(QcSampleRule qcSampleRule);
/**
*
*
* @param qcSampleRule
* @return
*/
public int updateQcSampleRule(QcSampleRule qcSampleRule);
/**
*
*
* @param ids
* @return
*/
public int deleteQcSampleRuleByIds(String[] ids);
/**
*
*
* @param id
* @return
*/
public int deleteQcSampleRuleById(String id);
}

@ -3,19 +3,26 @@ package com.op.quality.service.impl;
import java.util.List;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.exception.ServiceException;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.StringUtils;
import com.op.common.core.utils.bean.BeanValidators;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.common.security.utils.SecurityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.op.quality.mapper.QcCheckProjectMapper;
import com.op.quality.domain.QcCheckProject;
import com.op.quality.service.IQcCheckProjectService;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Validator;
/**
* Service
@ -25,9 +32,14 @@ import javax.servlet.http.HttpServletRequest;
*/
@Service
public class QcCheckProjectServiceImpl implements IQcCheckProjectService {
private static final Logger log = LoggerFactory.getLogger(QcCheckProject.class);
@Autowired
private QcCheckProjectMapper qcCheckProjectMapper;
@Autowired
protected Validator validator;
/**
*
*
@ -113,6 +125,60 @@ public class QcCheckProjectServiceImpl implements IQcCheckProjectService {
return qcCheckProjectMapper.deleteQcCheckProjectById(id);
}
@Override
@DS("#header.poolName")
public String importCheckProject(List<QcCheckProject> projectList, Boolean isUpdateSupport, String operName) {
if (CollectionUtils.isEmpty(projectList)) {
throw new ServiceException("导入的检测项目数据为空!");
}
int successNum = 0;
int failproNum = 0;
StringBuilder successMsg = new StringBuilder();
StringBuilder failproMsg = new StringBuilder();
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName";
String factoryCode = request.getHeader(key.substring(8)).replace("ds_", "");
for (QcCheckProject project : projectList) {
try {
QcCheckProject pro = qcCheckProjectMapper.selectCheckProjectByRuleName(project.getRuleName(),project.getProjectType());
if (ObjectUtils.isEmpty(pro)) {
BeanValidators.validateWithException(validator, project);
project.setId(IdUtils.fastSimpleUUID());
project.setCreateTime(DateUtils.getNowDate());
project.setCreateBy(operName);
project.setFactoryCode(factoryCode);
qcCheckProjectMapper.insertQcCheckProject(project);
successNum++;
successMsg.append("<br/>" + successNum + "。检测项目" + project.getRuleName()+ "导入成功");
} else if (isUpdateSupport) {
BeanValidators.validateWithException(validator, project);
project.setId(pro.getId());
project.setUpdateTime(DateUtils.getNowDate());
project.setUpdateBy(operName);
qcCheckProjectMapper.updateQcCheckProject(project);
successNum++;
successMsg.append("<br/>" + successNum + "。检测项目[" + project.getRuleName()+ "]更新成功");
}else {
failproNum++;
failproMsg.append("<br/>" + failproNum + "。检测项目[" + project.getRuleName()+ "]已存在");
}
}catch (Exception e) {
failproNum++;
String msg = "<br/>" + failproNum + "、检测项目[" + project.getRuleName() + "]导入失败";
failproMsg.append(msg + e.getMessage());
log.error(msg, e);
}
}
if (failproNum > 0) {
failproMsg.insert(0, "很抱歉,导入失败!共" + failproNum + " 条数据格式不正确,错误如下:");
throw new ServiceException(failproMsg.toString());
} else {
successMsg.insert(0, "恭喜您,数据已全部导入成功! 共" + successNum + " 条,数据如下:");
}
return successMsg.toString();
}
private String getOrderNum() {
String orderNum = "";
String now = DateUtils.getDate();

@ -0,0 +1,109 @@
package com.op.quality.service.impl;
import java.util.List;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.op.quality.mapper.QcProjectTypeMapper;
import com.op.quality.domain.QcProjectType;
import com.op.quality.service.IQcProjectTypeService;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* Service
*
* @author Open Platform
* @date 2023-12-27
*/
@Service
public class QcProjectTypeServiceImpl implements IQcProjectTypeService {
@Autowired
private QcProjectTypeMapper qcProjectTypeMapper;
/**
*
*
* @param id
* @return
*/
@Override
@DS("#header.poolName")
public QcProjectType selectQcProjectTypeById(String id) {
return qcProjectTypeMapper.selectQcProjectTypeById(id);
}
/**
*
*
* @param qcProjectType
* @return
*/
@Override
@DS("#header.poolName")
public List<QcProjectType> selectQcProjectTypeList(QcProjectType qcProjectType) {
return qcProjectTypeMapper.selectQcProjectTypeList(qcProjectType);
}
/**
*
*
* @param qcProjectType
* @return
*/
@Override
@DS("#header.poolName")
public int insertQcProjectType(QcProjectType qcProjectType) {
qcProjectType.setId(IdUtils.fastSimpleUUID());
qcProjectType.setCreateBy(SecurityUtils.getUsername());
qcProjectType.setCreateTime(DateUtils.getNowDate());
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName";
qcProjectType.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_",""));
return qcProjectTypeMapper.insertQcProjectType(qcProjectType);
}
/**
*
*
* @param qcProjectType
* @return
*/
@Override
@DS("#header.poolName")
public int updateQcProjectType(QcProjectType qcProjectType) {
qcProjectType.setUpdateTime(DateUtils.getNowDate());
qcProjectType.setUpdateBy(SecurityUtils.getUsername());
return qcProjectTypeMapper.updateQcProjectType(qcProjectType);
}
/**
*
*
* @param ids
* @return
*/
@Override
@DS("#header.poolName")
public int deleteQcProjectTypeByIds(String[] ids) {
return qcProjectTypeMapper.deleteQcProjectTypeByIds(ids);
}
/**
*
*
* @param id
* @return
*/
@Override
@DS("#header.poolName")
public int deleteQcProjectTypeById(String id) {
return qcProjectTypeMapper.deleteQcProjectTypeById(id);
}
}

@ -0,0 +1,109 @@
package com.op.quality.service.impl;
import java.util.List;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.uuid.IdUtils;
import com.op.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.op.quality.mapper.QcSampleRuleMapper;
import com.op.quality.domain.QcSampleRule;
import com.op.quality.service.IQcSampleRuleService;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* Service
*
* @author Open Platform
* @date 2023-12-28
*/
@Service
public class QcSampleRuleServiceImpl implements IQcSampleRuleService {
@Autowired
private QcSampleRuleMapper qcSampleRuleMapper;
/**
*
*
* @param id
* @return
*/
@Override
@DS("#header.poolName")
public QcSampleRule selectQcSampleRuleById(String id) {
return qcSampleRuleMapper.selectQcSampleRuleById(id);
}
/**
*
*
* @param qcSampleRule
* @return
*/
@Override
@DS("#header.poolName")
public List<QcSampleRule> selectQcSampleRuleList(QcSampleRule qcSampleRule) {
return qcSampleRuleMapper.selectQcSampleRuleList(qcSampleRule);
}
/**
*
*
* @param qcSampleRule
* @return
*/
@Override
@DS("#header.poolName")
public int insertQcSampleRule(QcSampleRule qcSampleRule) {
qcSampleRule.setCreateTime(DateUtils.getNowDate());
qcSampleRule.setId(IdUtils.fastSimpleUUID());
qcSampleRule.setCreateBy(SecurityUtils.getUsername());
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName";
qcSampleRule.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_",""));
return qcSampleRuleMapper.insertQcSampleRule(qcSampleRule);
}
/**
*
*
* @param qcSampleRule
* @return
*/
@Override
@DS("#header.poolName")
public int updateQcSampleRule(QcSampleRule qcSampleRule) {
qcSampleRule.setUpdateTime(DateUtils.getNowDate());
qcSampleRule.setUpdateBy(SecurityUtils.getUsername());
return qcSampleRuleMapper.updateQcSampleRule(qcSampleRule);
}
/**
*
*
* @param ids
* @return
*/
@Override
@DS("#header.poolName")
public int deleteQcSampleRuleByIds(String[] ids) {
return qcSampleRuleMapper.deleteQcSampleRuleByIds(ids);
}
/**
*
*
* @param id
* @return
*/
@Override
@DS("#header.poolName")
public int deleteQcSampleRuleById(String id) {
return qcSampleRuleMapper.deleteQcSampleRuleById(id);
}
}

@ -23,13 +23,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="samplePlan" column="sample_plan" />
<result property="judge" column="judge" />
<result property="defectLevel" column="defect_level" />
<result property="projectType" column="project_type" />
</resultMap>
<sql id="selectQcCheckProjectVo">
select id, order_num, rule_name, property_code, check_mode, check_tool, unit_code, check_standard,
attr1, create_by, create_time, update_by, update_time, factory_code, del_flag,sample_plan,
judge,defect_level
judge,defect_level,project_type
from qc_check_project
</sql>
@ -46,6 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="attr1 != null and attr1 != ''"> and attr1 = #{attr1}</if>
<if test="factoryCode != null and factoryCode != ''"> and factory_code = #{factoryCode}</if>
<if test="judge != null and judge != ''"> and judge = #{judge}</if>
<if test="projectType != null and projectType != ''">project_type = #{projectType}</if>
</where>
order by create_time
</select>
@ -76,6 +78,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="samplePlan != null">sample_plan,</if>
<if test="judge != null">judge,</if>
<if test="defectLevel != null">defect_level,</if>
<if test="projectType != null">project_type,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
@ -97,6 +100,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="samplePlan != null">#{samplePlan},</if>
<if test="judge != null">#{judge},</if>
<if test="defectLevel != null">#{defectLevel},</if>
<if test="projectType != null">#{projectType},</if>
</trim>
</insert>
@ -120,6 +124,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="samplePlan != null">sample_plan = #{samplePlan},</if>
<if test="judge != null">judge = #{judge},</if>
<if test="defectLevel != null">defect_level = #{defectLevel},</if>
<if test="projectType != null">project_type = #{projectType},</if>
</trim>
where id = #{id}
</update>
@ -141,4 +146,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
WHERE CONVERT(varchar(10),create_time, 120) = CONVERT(varchar(10),GETDATE(), 120)
</select>
<select id="selectCheckProjectByRuleName" resultMap="QcCheckProjectResult">
<include refid="selectQcCheckProjectVo"/>
where rule_name = #{ruleName} and project_type = #{projectType}
</select>
</mapper>

@ -33,11 +33,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="updateTime" column="update_time" />
<result property="factoryCode" column="factory_code" />
<result property="delFlag" column="del_flag" />
<result property="sampleQuality" column="sample_quality" />
</resultMap>
<sql id="selectQcCheckReportIncomeVo">
select record_id, check_no, income_batch_no, order_no, material_code, material_name, quality, unit,
supplier_code, supplier_name, income_time, check_loc, check_status, check_man_code, check_man_name,
supplier_code, supplier_name, income_time, check_loc, check_status, check_man_code, check_man_name,sample_quality,
check_time, check_result, status, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time,
factory_code, del_flag from qc_check_task
</sql>
@ -46,7 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select qct.record_id, qct.check_no, qct.income_batch_no,
qct.order_no, qct.material_code, qct.material_name, qct.quality, qct.unit,
qct.supplier_code, qct.supplier_name, qct.income_time, qct.check_loc, qct.check_status,
qct.check_man_code, qct.check_man_name,qct.check_time, qct.check_result, qct.status,
qct.check_man_code, qct.check_man_name,qct.check_time, qct.check_result, qct.status,qct.sample_quality,
qct.create_by,qct.create_time, qct.update_by, qct.update_time,qct.check_type,
q.type_code
from qc_check_task qct
@ -132,7 +133,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
td.update_time updateTime,
qctp.upper_diff upperDiff,
qctp.down_diff downDiff,
qctp.sample
qctp.sample,
qctp.sample_num sampleNum
from qc_check_task_detail td
left join qc_check_type_project qctp on td.type_project_id = qctp.id
where td.belong_to = #{recordId}

@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.op.quality.mapper.QcProjectTypeMapper">
<resultMap type="QcProjectType" id="QcProjectTypeResult">
<result property="id" column="id" />
<result property="projectTypeCode" column="project_type_code" />
<result property="projectTypeName" column="project_type_name" />
<result property="attr1" column="attr1" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="factoryCode" column="factory_code" />
<result property="delFlag" column="del_flag" />
</resultMap>
<sql id="selectQcProjectTypeVo">
select id, project_type_code, project_type_name, attr1, create_by, create_time, update_by, update_time, factory_code, del_flag from qc_project_type
</sql>
<select id="selectQcProjectTypeList" parameterType="QcProjectType" resultMap="QcProjectTypeResult">
<include refid="selectQcProjectTypeVo"/>
<where>
<if test="projectTypeCode != null and projectTypeCode != ''"> and project_type_code = #{projectTypeCode}</if>
<if test="projectTypeName != null and projectTypeName != ''"> and project_type_name like concat('%', #{projectTypeName}, '%')</if>
<if test="attr1 != null and attr1 != ''"> and attr1 = #{attr1}</if>
<if test="factoryCode != null and factoryCode != ''"> and factory_code = #{factoryCode}</if>
</where>
</select>
<select id="selectQcProjectTypeById" parameterType="String" resultMap="QcProjectTypeResult">
<include refid="selectQcProjectTypeVo"/>
where id = #{id}
</select>
<insert id="insertQcProjectType" parameterType="QcProjectType">
insert into qc_project_type
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="projectTypeCode != null">project_type_code,</if>
<if test="projectTypeName != null">project_type_name,</if>
<if test="attr1 != null">attr1,</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="factoryCode != null and factoryCode != ''">factory_code,</if>
<if test="delFlag != null">del_flag,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="projectTypeCode != null">#{projectTypeCode},</if>
<if test="projectTypeName != null">#{projectTypeName},</if>
<if test="attr1 != null">#{attr1},</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="factoryCode != null and factoryCode != ''">#{factoryCode},</if>
<if test="delFlag != null">#{delFlag},</if>
</trim>
</insert>
<update id="updateQcProjectType" parameterType="QcProjectType">
update qc_project_type
<trim prefix="SET" suffixOverrides=",">
<if test="projectTypeCode != null">project_type_code = #{projectTypeCode},</if>
<if test="projectTypeName != null">project_type_name = #{projectTypeName},</if>
<if test="attr1 != null">attr1 = #{attr1},</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>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="factoryCode != null and factoryCode != ''">factory_code = #{factoryCode},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteQcProjectTypeById" parameterType="String">
delete from qc_project_type where id = #{id}
</delete>
<delete id="deleteQcProjectTypeByIds" parameterType="String">
delete from qc_project_type where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.op.quality.mapper.QcSampleRuleMapper">
<resultMap type="QcSampleRule" id="QcSampleRuleResult">
<result property="id" column="id" />
<result property="startValue" column="start_value" />
<result property="endValue" column="end_value" />
<result property="attr1" column="attr1" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="factoryCode" column="factory_code" />
<result property="delFlag" column="del_flag" />
<result property="sampleQuality" column="sample_quality" />
<result property="checkType" column="check_type" />
<result property="typeCode" column="type_code" />
</resultMap>
<sql id="selectQcSampleRuleVo">
select id, start_value, end_value, attr1, create_by, create_time, update_by, update_time, factory_code, del_flag, sample_quality, check_type, type_code from qc_sample_rule
</sql>
<select id="selectQcSampleRuleList" parameterType="QcSampleRule" resultMap="QcSampleRuleResult">
<include refid="selectQcSampleRuleVo"/>
<where>
<if test="startValue != null "> and start_value = #{startValue}</if>
<if test="endValue != null "> and end_value = #{endValue}</if>
<if test="attr1 != null and attr1 != ''"> and attr1 = #{attr1}</if>
<if test="factoryCode != null and factoryCode != ''"> and factory_code = #{factoryCode}</if>
<if test="sampleQuality != null "> and sample_quality = #{sampleQuality}</if>
<if test="checkType != null and checkType != ''"> and check_type = #{checkType}</if>
<if test="typeCode != null and typeCode != ''"> and type_code = #{typeCode}</if>
</where>
</select>
<select id="selectQcSampleRuleById" parameterType="String" resultMap="QcSampleRuleResult">
<include refid="selectQcSampleRuleVo"/>
where id = #{id}
</select>
<insert id="insertQcSampleRule" parameterType="QcSampleRule">
insert into qc_sample_rule
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="startValue != null">start_value,</if>
<if test="endValue != null">end_value,</if>
<if test="attr1 != null">attr1,</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="factoryCode != null and factoryCode != ''">factory_code,</if>
<if test="delFlag != null">del_flag,</if>
<if test="sampleQuality != null">sample_quality,</if>
<if test="checkType != null">check_type,</if>
<if test="typeCode != null">type_code,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="startValue != null">#{startValue},</if>
<if test="endValue != null">#{endValue},</if>
<if test="attr1 != null">#{attr1},</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="factoryCode != null and factoryCode != ''">#{factoryCode},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="sampleQuality != null">#{sampleQuality},</if>
<if test="checkType != null">#{checkType},</if>
<if test="typeCode != null">#{typeCode},</if>
</trim>
</insert>
<update id="updateQcSampleRule" parameterType="QcSampleRule">
update qc_sample_rule
<trim prefix="SET" suffixOverrides=",">
<if test="startValue != null">start_value = #{startValue},</if>
<if test="endValue != null">end_value = #{endValue},</if>
<if test="attr1 != null">attr1 = #{attr1},</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>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="factoryCode != null and factoryCode != ''">factory_code = #{factoryCode},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="sampleQuality != null">sample_quality = #{sampleQuality},</if>
<if test="checkType != null">check_type = #{checkType},</if>
<if test="typeCode != null">type_code = #{typeCode},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteQcSampleRuleById" parameterType="String">
delete from qc_sample_rule where id = #{id}
</delete>
<delete id="deleteQcSampleRuleByIds" parameterType="String">
delete from qc_sample_rule where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>
Loading…
Cancel
Save