Merge remote-tracking branch 'origin/master'

master
Yangwl 3 months ago
commit 148671da8f

@ -135,14 +135,19 @@ public class MesLineAssistantQtyServiceImpl implements IMesLineAssistantQtyServi
// (-中午休息1.5h)
mesLineAssistant.setPostId("10000150");
BigDecimal monitorHour = mesLineAssistantQtyMapper.getKqHourMaps(mesLineAssistant);
monitorHour = monitorHour.subtract(new BigDecimal("1.5"));
mesLineAssistant.setPostId("10000168");
BigDecimal groupleadeHour = mesLineAssistantQtyMapper.getKqHourMaps(mesLineAssistant);
groupleadeHour = groupleadeHour.subtract(new BigDecimal("1.5"));
mesLineAssistant.setPostId("10000478");
BigDecimal materialHour= mesLineAssistantQtyMapper.getKqHourMaps(mesLineAssistant);
materialHour = materialHour.subtract(new BigDecimal("1.5"));
mesLineAssistant.setPostId("10000271");
BigDecimal pillMgrHour = mesLineAssistantQtyMapper.getKqHourMaps(mesLineAssistant);
pillMgrHour = pillMgrHour.subtract(new BigDecimal("1.5"));
mesLineAssistant.setPostId("10000155");
BigDecimal pillDisHour = mesLineAssistantQtyMapper.getKqHourMaps(mesLineAssistant);
pillDisHour = pillDisHour.subtract(new BigDecimal("1.5"));
BigDecimal allProHours = BigDecimal.ZERO;
for(MesLineAssistantQtyVo assistdto:dtos){
//产品工时(用母单的)

@ -67,7 +67,7 @@
and attr4 = #{attr4}
</if>
</where>
order by create_time
order by product_date desc
</select>
<select id="selectMesLineAssistantQtyById" parameterType="String"

@ -1087,4 +1087,15 @@ public class QcStaticTableController extends BaseController {
}
}
}
@Log(title = "黑蚊香成品分类汇总--表头", businessType = BusinessType.QUERY)
@GetMapping("/getCpDateTitle")
public List<String> getCpDateTitle(QcStaticTable qcStaticTable) {
return qcStaticTableService.getCpDateTitle(qcStaticTable);
}
@Log(title = "黑蚊香成品分类汇总--数据", businessType = BusinessType.QUERY)
@GetMapping("/getCpDefectDate")
public List<Map<String, String>> getCpDefectDate(QcStaticTable qcStaticTable) {
return qcStaticTableService.getCpDefectDate(qcStaticTable);
}
}

@ -346,4 +346,17 @@ public class QuaController extends BaseController {
DynamicDataSourceContextHolder.push(qcCheckTaskIncome.getFactoryCode());
return qcCheckTaskIncomeService.getBatchList(qcCheckTaskIncome);
}
/**当前正在生产的线体,正在运行的订单**/
@PostMapping("/getLineProOrder")
public List<QcCheckTaskIncome> getLineProOrder(@RequestBody QcCheckTaskIncome qcCheckTaskIncome) {
DynamicDataSourceContextHolder.push(qcCheckTaskIncome.getFactoryCode());
return qcCheckTaskIncomeService.getLineProOrder(qcCheckTaskIncome);
}
/**成品抽检提交**/
@PostMapping(value = "/commitCPCJCheck")
public AjaxResult commitCPCJCheck(@RequestBody QcCheckTaskIncome qcCheckTaskIncome) {
DynamicDataSourceContextHolder.push(qcCheckTaskIncome.getFactoryCode());
return toAjax(qcCheckTaskIncomeService.commitCPCJCheck(qcCheckTaskIncome));
}
}

@ -169,4 +169,8 @@ public interface QcCheckTaskIncomeMapper {
int insertBaseFileBatch(@Param("baseFiles")List<BaseFileData> files);
void deleteBaseFileBySourceId(@Param("sourceId") String sourceId);
List<QcCheckTaskIncome> getLineProOrder(QcCheckTaskIncome getLineProOrder);
List<QcCheckTaskDefect> getOrderBatch(String recordId);
}

@ -146,4 +146,15 @@ public interface QcStaticTableMapper {
QcStaticTable getBPHzInfoPC(QcStaticTable qcStaticTable);
@MapKey("ymdms")
Map<String, QcStaticTable> getBPDefectMothPCMap(QcStaticTable qcStaticTable);
List<String> getCpDefects(QcStaticTable qcStaticTable);
@MapKey("ymdms")
Map<String, QcStaticTable> getCpDefectMap(QcStaticTable qcStaticTable);
@MapKey("ymdms")
Map<String, QcStaticTable> getCpDefectTypeMap(QcStaticTable qcStaticTable);
@MapKey("ymdms")
Map<String, QcStaticTable> getCpDefectPCMap(QcStaticTable qcStaticTable);
@MapKey("ymdms")
Map<String, QcStaticTable> getCpSampMap(QcStaticTable qcStaticTable);
List<String> getCpDefectTypes(QcStaticTable qcStaticTable);
}

@ -124,4 +124,7 @@ public interface IQcCheckTaskIncomeService {
List<Map> getCkeckProjectMapList(QcCheckTaskIncome qcCheckTaskIncome);
int submitCheckPics(QcCheckTaskIncome qcCheckTaskIncome);
List<QcCheckTaskIncome> getLineProOrder(QcCheckTaskIncome qcCheckTaskIncome);
int commitCPCJCheck(QcCheckTaskIncome qcCheckTaskIncome);
}

@ -93,4 +93,8 @@ public interface IQcStaticTableService {
List<Map<String, String>> getDefectItemDataPC(QcStaticTable qcStaticTable);
QcStaticTable getDefectItemLinePC(QcStaticTable qcStaticTable);
List<String> getCpDateTitle(QcStaticTable qcStaticTable);
List<Map<String, String>> getCpDefectDate(QcStaticTable qcStaticTable);
}

@ -1456,4 +1456,196 @@ public class QcCheckTaskIncomeServiceImpl<QcCheckUnqualifiedService> implements
}
return qcCheckTaskIncomeMapper.insertBaseFileBatch(files);
}
@Override
@DS("#header.poolName")
public List<QcCheckTaskIncome> getLineProOrder(QcCheckTaskIncome getLineProOrder) {
List<QcCheckTaskIncome> dtos = qcCheckTaskIncomeMapper.getLineProOrder(getLineProOrder);
for(QcCheckTaskIncome dto:dtos){
List<QcCheckTaskDefect> defects = qcCheckTaskIncomeMapper.getOrderBatch(dto.getRecordId());
dto.setDefects(defects);
}
return dtos;
}
@Override
//@Transactional(rollbackFor = Exception.class)
public int commitCPCJCheck(QcCheckTaskIncome qcCheckTaskIncome) {
logger.info("质检提交参数:"+JSONObject.toJSONString(qcCheckTaskIncome));
List<QcCheckTaskDetail> details = qcCheckTaskIncome.getQcCheckTaskDetails();
Date nowTime = DateUtils.getNowDate();
String factoryCode = qcCheckTaskIncome.getFactoryCode();
String updateBy = qcCheckTaskIncome.getUpdateBy();
String belongId = IdUtils.fastSimpleUUID();
String checkType = qcCheckTaskIncome.getCheckType();
qcCheckTaskIncome.setFactoryCode(qcCheckTaskIncome.getFactoryCode().replace("ds_",""));
//默认合格
String result=null;
if(StringUtils.isBlank(qcCheckTaskIncome.getCheckResult())){
result = "Y";
for(QcCheckTaskDetail detail:details){
if("N".equals(detail.getStatus())){
result = "N";//不合格
break;
}
}
}else{
//有最终判定的情况
result = qcCheckTaskIncome.getCheckResult();
}
int n = 0;
QcCheckTaskIncome qcCheckTask = new QcCheckTaskIncome();
qcCheckTask.setUpdateBy(updateBy);
qcCheckTask.setRecordId(belongId);
qcCheckTask.setCheckStatus("2");//检测状态0待检测1检测中2检测完成
qcCheckTask.setUpdateTime(nowTime);
qcCheckTask.setCheckTime(nowTime);
qcCheckTask.setRemark(qcCheckTaskIncome.getRemark());
qcCheckTask.setCheckResult(result);//检验结果Y合格 N不合格
qcCheckTask.setIncomeBatchNo(qcCheckTaskIncome.getIncomeBatchNo());
BigDecimal noOkQquality = new BigDecimal("0");
String[] defectQualitys0 = details.get(0).getDefectQualitys().split(",");;
for(int m=0;m<defectQualitys0.length;m++){
noOkQquality = noOkQquality.add(new BigDecimal(defectQualitys0[m]));
}
qcCheckTask.setNoOkQuality(noOkQquality);
qcCheckTask.setSampleQuality(qcCheckTaskIncome.getSampleQuality());
qcCheckTask.setCheckManCode(qcCheckTaskIncome.getUpdateBy());
qcCheckTask.setCheckManName(qcCheckTaskIncome.getUpdateByName());
//BigDecimal sampleQuality = new BigDecimal("0");
for(QcCheckTaskDetail detail:details){
detail.setUpdateTime(nowTime);
//sampleQuality = sampleQuality.add(new BigDecimal(detail.getSampleQuality().equals("")?"0":detail.getSampleQuality()));
//上传附件
if (StringUtils.isNotEmpty(detail.getFileListStr())) {
//qmsFileMapper.clearBaseFileBatch(detail.getRecordId());//清理
String[] ids = detail.getFileListStr().split(",");
List<BaseFileData> files = new ArrayList<>();
BaseFileData file = null;
for (String id : ids) {
file = new BaseFileData();
file.setFileId(IdUtils.fastSimpleUUID());
file.setFileName(id.split("&fileName=")[1]);
file.setFileAddress(id);
file.setSourceId(belongId);
file.setCreateBy(updateBy);
file.setCreateTime(nowTime);
files.add(file);
}
/**base_file**/
n = qmsFileMapper.insertBaseFileBatch(files);
System.out.println("base_file:"+n);
}
}
/**qc_check_task**/
String bpDD = DateUtils.parseDateToStr(DateUtils.YYYYMMDD, DateUtils.getNowDate());
int liushuiNum = qcCheckTaskIncomeMapper.getTodayMaxNum(qcCheckTaskIncome);
String liushuiStr = String.format("%04d", liushuiNum);
qcCheckTask.setCheckNo(bpDD+liushuiStr);
n = qcCheckTaskIncomeMapper.insertQcCheckTaskIncome(qcCheckTask);
logger.info("qc_check_task:"+n);
/**qc_check_task_defect**/
n=qcCheckTaskIncomeMapper.deleteQcCheckTaskDefects(belongId);
logger.info("清理qc_check_task_defect:"+n);
List<QcCheckTaskDefect> defects = new ArrayList<>();
QcCheckTaskDefect defect = null;
for(QcCheckTaskDetail detail:details){
if(StringUtils.isNotBlank(detail.getDefectCodes())){
String[] defectCodes = detail.getDefectCodes().split(",");
String[] defectNames = detail.getDefectNames().split(",");
String[] defectQualitys = detail.getDefectQualitys().split(",");
if(StringUtils.isBlank(detail.getClassTypeCodes())){
detail.setClassTypeCodes(",");//为了防止前端不选缺陷描述
}
String[] classIds = detail.getClassTypeCodes().split(",");
for(int d=0;d<defectCodes.length;d++){
defect = new QcCheckTaskDefect();
defect.setDefectCode(defectCodes[d]);
defect.setDefectSubclass(defectNames[d].split(":")[0]);
defect.setNoOkQuality(new BigDecimal(defectQualitys[d]));
if(d < classIds.length){
defect.setClassId(classIds[d]);
}else{
defect.setClassId("");
}
defect.setRecordId(IdUtils.fastSimpleUUID());
defect.setCreateTime(nowTime);
defect.setCreateBy(updateBy);
defect.setFactoryCode(factoryCode);
defect.setBelongTo(belongId);
defects.add(defect);
}
}
}
if(!CollectionUtils.isEmpty(defects)){
n= qcCheckTaskIncomeMapper.addQcCheckTaskDefects(defects);
logger.info("qc_check_task_defect:"+n);
}
// if("material".equals(qcCheckTaskIncome.getTypeCode())){
// qcCheckTaskIncome.setCheckResult(result.equals("Y")?"1":"2");
// qcCheckUnqualifiedMapper.updateQualityStatus(qcCheckTaskIncome);
// }else if("produce".equals(qcCheckTaskIncome.getTypeCode())){
// if("checkTypeSC".equals(qcCheckTaskIncome.getCheckType())){
// /**pro_order_workorder_batch-->qc_status->2**/
// qcCheckTaskIncome.setStatus("2");
// qcCheckTaskIncome.setCheckResult(result);
// qcCheckUnqualifiedMapper.updateWorkOrderBatchStatus(qcCheckTaskIncome);
// }
// if("checkTypeSC".equals(qcCheckTaskIncome.getCheckType())&&"N".equals(result)){
// QcCheckTaskIncome recheck = new QcCheckTaskIncome();
// recheck.setOldBelongTo(belongId);
//
// recheck.setCreateBy(updateBy);
// recheck.setCreateTime(nowTime);
// //首件不合格触发复检
// recheck.setRecordId(IdUtils.fastSimpleUUID());
// recheck.setBelongTo(recheck.getRecordId());
//
// n = qcCheckUnqualifiedMapper.repeatCheckTask(recheck);
// logger.info("复检表qc_check_task:" + n);
//
//// n = qcCheckUnqualifiedMapper.repeatCheckTaskDefect(recheck);
//// logger.info("复检表qc_check_task_defect:" + n);
//
// n = qcCheckUnqualifiedMapper.repeatCheckTaskDetail(recheck);
// logger.info("复检表qc_check_task_detail:" + n);
//
// n = qcCheckUnqualifiedMapper.repeatCheckTaskUser(recheck);
// logger.info("复检表qc_check_task_user:" + n);
//
// }
// }else if("product".equals(qcCheckTaskIncome.getTypeCode())){
// /**wms_product_put-->check_status->1**/
// qcCheckTaskIncome.setStatus("2");
// qcCheckUnqualifiedMapper.updatePutStatus(qcCheckTaskIncome);
// }
//
// //不合格处理
// if("N".equals(result)) {
// QcCheckUnqualified unqualified = new QcCheckUnqualified();
// unqualified.setId(IdUtils.fastSimpleUUID());
// unqualified.setTaskId(belongId);
// unqualified.setCreateTime(DateUtils.getNowDate());
// unqualified.setCreateBy(updateBy);
// unqualified.setFactoryCode(factoryCode);
// unqualified.setType(checkType);
// n = qcCheckUnqualifiedMapper.insertQcCheckUnqualified(unqualified);
// logger.info("qc_check_unqualified:" + n);
// if("1".equals(qcCheckTaskIncome.getStartOA())){
// this.setOaFunc(unqualified,qcCheckTaskIncome);
// }
// //发送企业微信
// this.sendWX(qcCheckTaskIncome);
// }
return 1 ;
}
}

@ -215,13 +215,16 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin
qcCheckTaskWarehousing.setCheckManName("");
qcCheckTaskWarehousing.setCheckManCode("");
/**qc_user_material取默认检查人**/
List<QcUserMaterialDTO> users = qcCheckTaskIncomeMapper.getUserByCheckType(qcCheckTaskWarehousing.getCheckType());
QcCheckTaskIncome qcCheckTaskIncome = new QcCheckTaskIncome();
qcCheckTaskIncome.setCheckType(qcCheckTaskWarehousing.getCheckType());
qcCheckTaskIncome.setMaterialCode(qcCheckTaskWarehousing.getMaterialCode());
qcCheckTaskIncome.setCheckLoc(qcCheckTaskWarehousing.getCheckLoc());
List<QcUserMaterialDTO> users = qcCheckTaskIncomeMapper.getCheckUserBelongLine(qcCheckTaskIncome);
if(CollectionUtils.isEmpty(users)){
QcUserMaterialDTO dto0 = new QcUserMaterialDTO();
dto0.setUserCode("mobile");
dto0.setUserName("手持测试用户");
users.add(dto0);
}else{
users = qcCheckTaskIncomeMapper.getUserByCheckType(qcCheckTaskWarehousing.getCheckType());
}
if(!CollectionUtils.isEmpty(users)){
for(QcUserMaterialDTO user:users){
user.setId(IdUtils.fastSimpleUUID());
user.setBelongTo(beLongId);
@ -231,6 +234,7 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin
user.setCreateTime(nowDate);
}
}
/**qc_check_task_user**/
int m=qcCheckTaskIncomeMapper.addCheckUsers(users);
logger.info("检查人新增"+m+"成功");

@ -1988,6 +1988,103 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
return dto;
}
@Override
@DS("#header.poolName")
public List<String> getCpDateTitle(QcStaticTable qcStaticTable) {
//获取不良种类
List<String> titles = qcStaticTableMapper.getCpDefects(qcStaticTable);
titles.add("抽样总数");
List<String> abctitles = qcStaticTableMapper.getCpDefectTypes(qcStaticTable);
titles.addAll(abctitles);
titles.add("不良总数");
titles.add("不良率");
titles.add("抽检批数");
titles.add("不合格批数");
titles.add("不合格批次率");
return titles;
}
@Override
@DS("#header.poolName")
public List<Map<String, String>> getCpDefectDate(QcStaticTable qcStaticTable) {
List<Map<String, String>> dtos = new ArrayList<>();
//获取不良项目
List<String> bpDefects = qcStaticTableMapper.getCpDefects(qcStaticTable);
//获取不良类别
List<String> abctitles = qcStaticTableMapper.getCpDefectTypes(qcStaticTable);
//获取时间
List<String> days = getDaysOfMonth(Integer.parseInt(qcStaticTable.getYearMonth().split("-")[0]),
Integer.parseInt(qcStaticTable.getYearMonth().split("-")[1]));
//不良项目map
Map<String,QcStaticTable> defectMaps = qcStaticTableMapper.getCpDefectMap(qcStaticTable);
//抽样分类map
Map<String,QcStaticTable> abcMaps = qcStaticTableMapper.getCpDefectTypeMap(qcStaticTable);
//批次map
Map<String,QcStaticTable> pcMaps = qcStaticTableMapper.getCpDefectPCMap(qcStaticTable);
//抽样总数map
Map<String,QcStaticTable> sampMaps = qcStaticTableMapper.getCpSampMap(qcStaticTable);
Map<String,String> dto1= null;
for(String ymd:days){
dto1= new HashMap<>();
dto1.put("dataType",ymd);
for(int i=0;i<bpDefects.size();i++){
String defectName = bpDefects.get(i)+ymd;
QcStaticTable defectMap = defectMaps.get(defectName);
if(defectMap!=null){
dto1.put("dataTitle"+i,defectMap.getNoOkQty().replace(".00",""));
}
}
//抽样总数
String sampKey = ymd;
QcStaticTable sampMap = sampMaps.get(sampKey);
if(sampMap!=null){
dto1.put("dataTitle"+bpDefects.size(),sampMap.getSampleQty().replace(".00",""));
}
//ABC类
BigDecimal noOkQty = BigDecimal.ZERO;
for(int i=0;i<abctitles.size();i++){
String defectName = abctitles.get(i)+ymd;
QcStaticTable abcMap = abcMaps.get(defectName);
if(abcMap!=null){
dto1.put("dataTitle"+(bpDefects.size()+1+i),abcMap.getNoOkQty().replace(".00",""));
noOkQty = noOkQty.add(new BigDecimal(abcMap.getNoOkQty()));
}
}
//不良总数
dto1.put("dataTitle"+(abctitles.size()+bpDefects.size()+1),noOkQty.toString());
//不良率
BigDecimal nookRate = BigDecimal.ZERO;
if(sampMap!=null && new BigDecimal(sampMap.getSampleQty()).compareTo(BigDecimal.ZERO)!=0){
nookRate = noOkQty
.multiply(new BigDecimal("100"))
.divide(new BigDecimal(sampMap.getSampleQty()),2,BigDecimal.ROUND_HALF_UP);
}
dto1.put("dataTitle"+(abctitles.size()+bpDefects.size()+2),nookRate+"%");
//抽检批数//不合格批数//不合格批次率
QcStaticTable pcMap = pcMaps.get(sampKey);
BigDecimal nookPcRate = BigDecimal.ZERO;
if(pcMap!=null){
dto1.put("dataTitle"+(abctitles.size()+bpDefects.size()+3),pcMap.getSampleQty().replace(".00",""));
dto1.put("dataTitle"+(abctitles.size()+bpDefects.size()+4),pcMap.getNoOkQty().replace(".00",""));
if(pcMap!=null && new BigDecimal(pcMap.getSampleQty()).compareTo(BigDecimal.ZERO)!=0){
nookPcRate = new BigDecimal(pcMap.getNoOkQty())
.multiply(new BigDecimal("100"))
.divide(new BigDecimal(pcMap.getSampleQty()),2,BigDecimal.ROUND_HALF_UP);
dto1.put("dataTitle"+(abctitles.size()+bpDefects.size()+5),nookPcRate+"%");
}
}else{
dto1.put("dataTitle"+(abctitles.size()+bpDefects.size()+3),"0");
dto1.put("dataTitle"+(abctitles.size()+bpDefects.size()+4),"0");
dto1.put("dataTitle"+(abctitles.size()+bpDefects.size()+5),"0%");
}
dtos.add(dto1);
}
return dtos;
}
protected Map<String,String> getHJRow(List<Map<String, String>> dtos,int days){
Map<String,String> dto2 = new HashMap<>();
dto2.put("dataType","合计");

@ -903,6 +903,26 @@
where qum.material_code = #{checkType} and qum.del_flag = '0'
and qum.attr2 like concat ('%',#{checkLoc},'%')
</select>
<select id="getLineProOrder" resultType="com.op.quality.domain.QcCheckTaskIncome">
select pow.workorder_id recordId,
pow.workorder_name checkLoc,
pow.workorder_code orderNo,
be.equipment_name checkLocName,
pow.product_code materialCode,
pow.product_name materialName
from pro_order_workorder pow
left join base_equipment be on be.equipment_code = pow.workorder_name and be.equipment_type_code = 'equ_type_bzx'
where pow.status = 'w2'
and pow.product_date = CONVERT(varchar(10),GETDATE(), 120)
and pow.parent_order = '0'
and pow.del_flag = '0'
</select>
<select id="getOrderBatch" resultType="com.op.quality.domain.QcCheckTaskDefect">
select batch_code attr1
from pro_order_workorder_batch
where workorder_id = #{recordId}
and del_flag = '0'
</select>
<!--批量更新原始表-->
<update id="updateIncomeBatchList">

@ -457,6 +457,7 @@
select
pow.factory_code factoryCode,
pow.workorder_code workorderCode,
pow.workorder_name checkLoc,
pow.product_code materialCode,
pow.product_name materialName,
pow.quantity_split quality,

@ -166,7 +166,7 @@
STRING_AGG(check_man_name,',') AS 'manNames',
belong_to
from qc_check_task_user
where belong_to = #{belongTo}
where belong_to = #{belongTo} and del_flag = '0'
group by belong_to
</select>

@ -433,10 +433,10 @@
and qct.order_no = #{orderNo}
</if>
<if test="materialCode != null ">
and qct.material_code = #{materialCode}
and (qct.material_code like concat('%',#{materialCode},'%') or qct.material_name like concat('%',#{materialCode},'%'))
</if>
<if test="supplierCode != null ">
and qct.supplier_code = #{supplierCode}
and (qct.supplier_code like concat('%',#{supplierCode},'%') or qct.supplier_name like concat('%',#{materialCode},'%'))
</if>
) t
@ -468,10 +468,10 @@
and qct.order_no = #{orderNo}
</if>
<if test="materialCode != null ">
and qct.material_code = #{materialCode}
and (qct.material_code like concat('%',#{materialCode},'%') or qct.material_name like concat('%',#{materialCode},'%'))
</if>
<if test="supplierCode != null ">
and qct.supplier_code = #{supplierCode}
and (qct.supplier_code like concat('%',#{supplierCode},'%') or qct.supplier_name like concat('%',#{materialCode},'%'))
</if>
) q
GROUP BY q.material_code, q.ymdms,q.rule_name,q.project_no
@ -1327,4 +1327,77 @@
and bp.product_group_name ='白坯' and bp.del_flag = '0' and bp.product_desc_zh like '%白坯%'
) t
</select>
<select id="getCpDefects" resultType="java.lang.String">
select qdtc.class_name
from qc_defect_type qdt
left join qc_defect_type_class qdtc on qdtc.defect_id = qdt.defect_id
where qdt.defect_type = #{checkType} and qdt.del_flag = '0' and qdtc.del_flag = '0'
order by qdtc.sort
</select>
<select id="getCpDefectTypes" resultType="java.lang.String">
select qdt.defect_subclass
from qc_defect_type qdt
where qdt.defect_type = #{checkType} and qdt.del_flag = '0'
order by qdt.defect_subclass
</select>
<select id="getCpDefectMap" resultType="com.op.quality.domain.QcStaticTable">
select t.ymdms,sum(t.noOk_quality) noOkQty
from (
select
concat(qdtc.class_name,CONVERT(varchar(10),qct.create_time, 120)) ymdms,
qctd.defect_code,
qctd.defect_subclass,
qctd.class_id,
qdtc.class_name,
qctd.noOk_quality
from qc_check_task qct
left join qc_check_task_defect qctd on qct.record_id = qctd.belong_to
left join qc_defect_type_class qdtc on qdtc.id = qctd.class_id
where qct.del_flag = '0' and qdtc.class_name is not null --and qct.check_type ='checkTypeSC'
and CONVERT(varchar(7),qct.create_time, 120) = #{yearMonth}
) t group by t.ymdms
</select>
<select id="getCpDefectTypeMap" resultType="com.op.quality.domain.QcStaticTable">
select t.ymdms,sum(t.noOk_quality) noOkQty
from (
select
concat(qctd.defect_subclass,CONVERT(varchar(10),qct.create_time, 120)) ymdms,
qctd.defect_code,
qctd.defect_subclass,
qctd.class_id,
qdtc.class_name,
qctd.noOk_quality
from qc_check_task qct
left join qc_check_task_defect qctd on qct.record_id = qctd.belong_to
left join qc_defect_type_class qdtc on qdtc.id = qctd.class_id
where qct.del_flag = '0' and qdtc.class_name is not null --and qct.check_type ='checkTypeSC'
and CONVERT(varchar(7),qct.create_time, 120) = #{yearMonth}
) t group by t.ymdms
</select>
<select id="getCpDefectPCMap" resultType="com.op.quality.domain.QcStaticTable">
select t.ymdms,
SUM(CASE WHEN t.check_result = 'N' THEN 1 ELSE 0 END) noOkQty,
count(0) sampleQty
from (
select
CONVERT(varchar(10),qct.create_time, 120) ymdms,
check_result
from qc_check_task qct
where qct.del_flag = '0' --and qct.check_type ='checkTypeSC'
and CONVERT(varchar(7),qct.create_time, 120) = #{yearMonth}
) t group by t.ymdms
</select>
<select id="getCpSampMap" resultType="com.op.quality.domain.QcStaticTable">
select t.ymdms,
sum(t.sample_quality) sampleQty
from (
select
CONVERT(varchar(10),qct.create_time, 120) ymdms,
sample_quality
from qc_check_task qct
where qct.del_flag = '0' --and qct.check_type ='checkTypeSC'
and CONVERT(varchar(7),qct.create_time, 120) = #{yearMonth}
) t group by t.ymdms
</select>
</mapper>

Loading…
Cancel
Save