Merge remote-tracking branch 'origin/master'

# Conflicts:
#	op-modules/op-open/src/main/java/com/op/open/service/OpenService.java
#	op-modules/op-open/src/main/java/com/op/open/service/impl/OpenServiceImpl.java
master
Yangwl 1 year ago
commit 91f358251a

@ -4,10 +4,7 @@ import com.op.common.core.constant.ServiceNameConstants;
import com.op.common.core.web.domain.AjaxResult;
import com.op.system.api.factory.RemoteOpenFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@ -24,6 +21,6 @@ public interface RemoteOpenService {
/**获取流程信息**/
@GetMapping("/openInterface/GetOaNodeInfo")
public AjaxResult GetOaNodeInfo(@RequestParam("requestId") String requestId);
@GetMapping("/openInterface/GetOaNodeInfo/{requestid}")
public AjaxResult GetOaNodeInfo(@PathVariable("requestid") String requestId);
}

@ -0,0 +1,300 @@
package com.op.system.api.domain.quality;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.op.common.core.annotation.Excel;
import com.op.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
/**
* oa
*
* @author Open Platform
* @date 2023-10-31
*/
public class OAInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
//请求id
private String REQUESTID;
//工作流id
private String WORKFLOWID;
//操作节点id
private String NODEID;
//签字类型 0批准 <br>1保存 <br>2提交 <br>3退回 <br>4重新打开 <br>5删除 <br>6激活 <br>7转发 <br>9批注 <br>
// a意见征询 <br>b意见征询回复 <br>e强制归档 <br>h转办 <br>i干预 <br>j转办反馈 <br>s督办 <br>t抄送
private String LOGTYPE;
//操作日期
private String OPERATEDATE;
//操作时间
private String OPERATETIME;
//操作者
private String OPERATOR;
//意见
private String REMARK1;
//客户端ip
private String CLIENTIP;
//操作者类型1人力资源2客户
private String OPERATORTYPE;
//下一节点id
private String DESTNODEID;
//接收人
private String RECEIVEDPERSONS_1;
//显示顺序
private String SHOWORDER;
//代理人
private String AGENTORBYAGENTID;
//代理类型
private String AGENTTYPE;
//日志id
private String LOGID;
//签字信息
private String REMARK;
//相关附件
private String ANNEXDOCIDS;
//日志id
private String REQUESTLOGID;
//操作者部门
private String OPERATORDEPT;
//相关文档
private String SIGNDOCIDS;
//相关流程
private String SIGNWORKFLOWIDS;
//接收者名称
private String RECEIVEDPERSONS;
//是否为手机版本
private String ISMOBILE;
// 手写签批
private String HANDWRITTENSIGN;
//语音附件
private String SPEECHATTACHMENT;
//接收人id
private String RECEIVEDPERSONIDS;
//意见位置
private String REMARKLOCATION;
public String getREQUESTID() {
return REQUESTID;
}
public void setREQUESTID(String REQUESTID) {
this.REQUESTID = REQUESTID;
}
public String getWORKFLOWID() {
return WORKFLOWID;
}
public void setWORKFLOWID(String WORKFLOWID) {
this.WORKFLOWID = WORKFLOWID;
}
public String getNODEID() {
return NODEID;
}
public void setNODEID(String NODEID) {
this.NODEID = NODEID;
}
public String getLOGTYPE() {
return LOGTYPE;
}
public void setLOGTYPE(String LOGTYPE) {
this.LOGTYPE = LOGTYPE;
}
public String getOPERATEDATE() {
return OPERATEDATE;
}
public void setOPERATEDATE(String OPERATEDATE) {
this.OPERATEDATE = OPERATEDATE;
}
public String getOPERATETIME() {
return OPERATETIME;
}
public void setOPERATETIME(String OPERATETIME) {
this.OPERATETIME = OPERATETIME;
}
public String getOPERATOR() {
return OPERATOR;
}
public void setOPERATOR(String OPERATOR) {
this.OPERATOR = OPERATOR;
}
public String getREMARK1() {
return REMARK1;
}
public void setREMARK1(String REMARK1) {
this.REMARK1 = REMARK1;
}
public String getCLIENTIP() {
return CLIENTIP;
}
public void setCLIENTIP(String CLIENTIP) {
this.CLIENTIP = CLIENTIP;
}
public String getOPERATORTYPE() {
return OPERATORTYPE;
}
public void setOPERATORTYPE(String OPERATORTYPE) {
this.OPERATORTYPE = OPERATORTYPE;
}
public String getDESTNODEID() {
return DESTNODEID;
}
public void setDESTNODEID(String DESTNODEID) {
this.DESTNODEID = DESTNODEID;
}
public String getRECEIVEDPERSONS_1() {
return RECEIVEDPERSONS_1;
}
public void setRECEIVEDPERSONS_1(String RECEIVEDPERSONS_1) {
this.RECEIVEDPERSONS_1 = RECEIVEDPERSONS_1;
}
public String getSHOWORDER() {
return SHOWORDER;
}
public void setSHOWORDER(String SHOWORDER) {
this.SHOWORDER = SHOWORDER;
}
public String getAGENTORBYAGENTID() {
return AGENTORBYAGENTID;
}
public void setAGENTORBYAGENTID(String AGENTORBYAGENTID) {
this.AGENTORBYAGENTID = AGENTORBYAGENTID;
}
public String getAGENTTYPE() {
return AGENTTYPE;
}
public void setAGENTTYPE(String AGENTTYPE) {
this.AGENTTYPE = AGENTTYPE;
}
public String getLOGID() {
return LOGID;
}
public void setLOGID(String LOGID) {
this.LOGID = LOGID;
}
public String getREMARK() {
return REMARK;
}
public void setREMARK(String REMARK) {
this.REMARK = REMARK;
}
public String getANNEXDOCIDS() {
return ANNEXDOCIDS;
}
public void setANNEXDOCIDS(String ANNEXDOCIDS) {
this.ANNEXDOCIDS = ANNEXDOCIDS;
}
public String getREQUESTLOGID() {
return REQUESTLOGID;
}
public void setREQUESTLOGID(String REQUESTLOGID) {
this.REQUESTLOGID = REQUESTLOGID;
}
public String getOPERATORDEPT() {
return OPERATORDEPT;
}
public void setOPERATORDEPT(String OPERATORDEPT) {
this.OPERATORDEPT = OPERATORDEPT;
}
public String getSIGNDOCIDS() {
return SIGNDOCIDS;
}
public void setSIGNDOCIDS(String SIGNDOCIDS) {
this.SIGNDOCIDS = SIGNDOCIDS;
}
public String getSIGNWORKFLOWIDS() {
return SIGNWORKFLOWIDS;
}
public void setSIGNWORKFLOWIDS(String SIGNWORKFLOWIDS) {
this.SIGNWORKFLOWIDS = SIGNWORKFLOWIDS;
}
public String getRECEIVEDPERSONS() {
return RECEIVEDPERSONS;
}
public void setRECEIVEDPERSONS(String RECEIVEDPERSONS) {
this.RECEIVEDPERSONS = RECEIVEDPERSONS;
}
public String getISMOBILE() {
return ISMOBILE;
}
public void setISMOBILE(String ISMOBILE) {
this.ISMOBILE = ISMOBILE;
}
public String getHANDWRITTENSIGN() {
return HANDWRITTENSIGN;
}
public void setHANDWRITTENSIGN(String HANDWRITTENSIGN) {
this.HANDWRITTENSIGN = HANDWRITTENSIGN;
}
public String getSPEECHATTACHMENT() {
return SPEECHATTACHMENT;
}
public void setSPEECHATTACHMENT(String SPEECHATTACHMENT) {
this.SPEECHATTACHMENT = SPEECHATTACHMENT;
}
public String getRECEIVEDPERSONIDS() {
return RECEIVEDPERSONIDS;
}
public void setRECEIVEDPERSONIDS(String RECEIVEDPERSONIDS) {
this.RECEIVEDPERSONIDS = RECEIVEDPERSONIDS;
}
public String getREMARKLOCATION() {
return REMARKLOCATION;
}
public void setREMARKLOCATION(String REMARKLOCATION) {
this.REMARKLOCATION = REMARKLOCATION;
}
}

@ -7,6 +7,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
@ -25,7 +26,7 @@ public class RemoteOpenFallbackFactory implements FallbackFactory<RemoteOpenServ
}
@Override
public AjaxResult GetOaNodeInfo(@RequestParam("requestId") String requestId) {
public AjaxResult GetOaNodeInfo(String requestid) {
return AjaxResult.error("获取流程失败"+throwable.getMessage());
}
};

@ -88,6 +88,15 @@ public class MesReportWorkController extends BaseController {
// mesReportWork.setCreateTimeEnd(dateEndStr);//end
// }
List<MesReportWork> list = mesReportWorkService.selectMesReportWorkList_S(mesReportWork);
for(MesReportWork dto:list){
if("1".equals(dto.getUploadStatus())){
dto.setUploadStatus("sap报工成功");
}else if("2".equals(dto.getUploadStatus())){
dto.setUploadStatus("sap报工失败");
}else if("0".equals(dto.getUploadStatus())){
dto.setUploadStatus("待报工sap");
}
}
ExcelUtil<MesReportWork> util = new ExcelUtil<MesReportWork>(MesReportWork.class);
util.exportExcel(response, list, "报工报表数据");
}

@ -133,15 +133,15 @@ public class MesReportWorkServiceImpl implements IMesReportWorkService {
@DS("#header.poolName")
public List<MesReportWork> getReportWorkHzList(MesReportWork mesReportWork) {
List<MesReportWork> dtos = mesReportWorkMapper.getReportWorkHzList(mesReportWork);
for(MesReportWork dto:dtos){
if("1".equals(dto.getUploadStatus())){
dto.setUploadStatus("sap报工成功");
}else if("2".equals(dto.getUploadStatus())){
dto.setUploadStatus("sap报工失败");
}else if("0".equals(dto.getUploadStatus())){
dto.setUploadStatus("待报工sap");
}
}
// for(MesReportWork dto:dtos){
// if("1".equals(dto.getUploadStatus())){
// dto.setUploadStatus("sap报工成功");
// }else if("2".equals(dto.getUploadStatus())){
// dto.setUploadStatus("sap报工失败");
// }else if("0".equals(dto.getUploadStatus())){
// dto.setUploadStatus("待报工sap");
// }
// }
return dtos;
}

@ -38,6 +38,7 @@ public class MesUnitPriceServiceImpl implements IMesUnitPriceService {
* @return unitPrice
*/
@Override
@DS("#header.poolName")
public MesUnitPrice selectMesUnitPriceByPicId(String picId) {
return mesUnitPriceMapper.selectMesUnitPriceByPicId(picId);
}
@ -73,6 +74,7 @@ public class MesUnitPriceServiceImpl implements IMesUnitPriceService {
* @return
*/
@Override
@DS("#header.poolName")
public int updateMesUnitPrice(MesUnitPrice mesUnitPrice) {
mesUnitPrice.setUpdateTime(DateUtils.getNowDate());
return mesUnitPriceMapper.updateMesUnitPrice(mesUnitPrice);

@ -493,7 +493,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
shift_code shiftCode,
sum(quantity_feedback) quantityFeedback,
sum(work_time) workTime,
sum(use_man) useMan,
use_man useMan,
upload_status uploadStatus,
upload_time uploadTime,
upload_msg uploadMsg,
@ -507,7 +507,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="machineName != null and machineName != ''"> and machine_name like concat('%', #{machineName}, '%')</if>
<if test="uploadStatus != null and uploadStatus != ''"> and upload_status = #{uploadStatus}</if>
group by workorder_code, product_code,product_name,machine_code,machine_name,shift_code
,upload_status,unit
,upload_status,unit,use_man
,upload_time,upload_msg
) mrw
left join pro_order_workorder pow on mrw.workorderCode = pow.workorder_code

@ -1,14 +1,12 @@
package com.op.open.controller;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.StringUtils;
import com.op.common.core.web.controller.BaseController;
import com.op.common.core.web.domain.AjaxResult;
import com.op.open.service.OpenService;
import com.op.system.api.RemoteQualityService;
import com.op.system.api.domain.device.EquRepairOrderDTO;
import com.op.system.api.domain.dto.WCSDTO;
import com.op.system.api.domain.mes.MesReportWorkDTO;
import com.op.system.api.domain.quality.QcCheckTaskDTO;
import com.op.system.api.domain.quality.QcCheckTaskProduceDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -90,23 +88,18 @@ public class OpenController extends BaseController {
if(StringUtils.isBlank(qcCheckTaskProduce.getOrderNo())){
return error("[orderNo]不能为空");
}
if(StringUtils.isBlank(qcCheckTaskProduce.getMaterialName())){
return error("[materialName]不能为空");
}
if(StringUtils.isBlank(qcCheckTaskProduce.getMaterialCode())){
return error("[materialCode]不能为空");
}
if(StringUtils.isBlank(qcCheckTaskProduce.getCheckType())){
return error("[checkType]不能为空");
}
if(StringUtils.isBlank(qcCheckTaskProduce.getFactoryCode())){
return error("[factoryCode]不能为空");
}
//添加检测任务
return toAjax(openService.insertQcCheckTaskProduce(qcCheckTaskProduce));
}
@ -147,12 +140,12 @@ public class OpenController extends BaseController {
/**
*
* @param requestId
* @param requestid
* @return
*/
@GetMapping("/GetOaNodeInfo")
public AjaxResult GetOaNodeInfo(@RequestParam("requestId") String requestId) {
return openService.GetOaNodeInfo(requestId);
@GetMapping("/GetOaNodeInfo/{requestid}")
public AjaxResult GetOaNodeInfo(@PathVariable("requestid") String requestid) {
return openService.GetOaNodeInfo(requestid);
}
/**

@ -362,6 +362,7 @@ public class OpenServiceImpl implements OpenService {
user.setCreateTime(nowDate);
}
}
/**qc_check_task_user**/
int m = openMapper.addCheckUsers(users);
logger.info("检查人新增" + m + "成功");
@ -392,6 +393,8 @@ public class OpenServiceImpl implements OpenService {
qcCheckTaskProduce.setIncomeTime(qcCheckTaskProduce.getProduceDate());
qcCheckTaskProduce.setSupplierCode(qcCheckTaskProduce.getCarCode());
qcCheckTaskProduce.setSupplierName(qcCheckTaskProduce.getCarName());
qcCheckTaskProduce.setCheckManName(null);
qcCheckTaskProduce.setCheckManCode(null);
openMapper.insertQcCheckTaskProduce(qcCheckTaskProduce);
/**qc_check_task_detail**/
for (QcCheckTaskDetailDTO item : items) {
@ -414,6 +417,8 @@ public class OpenServiceImpl implements OpenService {
String requestName = paramMap.get("requestName").toString();
String workflowId = paramMap.get("workflowId").toString();
String mainObject = paramMap.get("mainObject").toString();
// Building the postData string using StringBuilder
StringBuilder postDataBuilder = new StringBuilder();
postDataBuilder.append("user=").append(user)
@ -427,7 +432,7 @@ public class OpenServiceImpl implements OpenService {
}
String postData = postDataBuilder.toString();
String result = HttpUtils.sendPostOA(oa_url, postData);
System.out.println(result);
logger.info(result);
//返回示例{"result":"0","info":"成功","requestid":"2193799"}
Map resultMap=JSONObject.parseObject(result);
if (resultMap.get("result").equals(Constants.LOGIN_SUCCESS_STATUS)){

@ -133,7 +133,7 @@ public interface ProOrderWorkorderMapper {
List<ProOrderWorkorder> selectProOrderWorkerderByWorkerIds(String[] ids);
public void updateWorkOrderCodeSap(ProOrderWorkorder oworkSap);
public int updateWorkOrderCodeSap(ProOrderWorkorder oworkSap);
/**
* code

@ -288,7 +288,7 @@ public class ProOrderServiceImpl implements IProOrderService {
BigDecimal newSapQuantityNum = new BigDecimal(proOrder.getQuantity())
.subtract(new BigDecimal(proOrder.getQuantitySplit()));
sapChange.setQuantity(newSapQuantityNum.toString());//母订单新数量
logger.info("母订单"+proOrder.getOrderCode()+
logger.info("【成品订单拆分】母订单"+proOrder.getOrderCode()+
"订单数量变更:修改前"+proOrder.getQuantity()+","+
",已拆数量"+proOrder.getQuantitySplit()+","+
"给sap汇报数量"+newSapQuantityNum.toString());
@ -302,7 +302,7 @@ public class ProOrderServiceImpl implements IProOrderService {
workOrder.setBelongWorkOrder(belongWorkOrder);
workOrder.setProdType("LJ01");
// 将工单信息更新至数据库
// 将工单信息更新至数据库/**pro_order_workorder**/
proOrderWorkorderMapper.insertProOrderWorkorder(workOrder);
// 生成批次表信息并更新至数据库
setBatch(workBatch, splitOrderDTO.getFormFields(), workOrder.getWorkorderId(), conver);
@ -940,7 +940,7 @@ public class ProOrderServiceImpl implements IProOrderService {
// 拆分中
proOrder.setStatus("o1");
}
// 更新订单表
// 更新订单表/**pro_order**/
proOrderMapper.updateOrder(proOrder);
// 生成对应的工单表
// 生成id

@ -320,8 +320,10 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService {
R<List<Map<String, String>>> r = remoteSapService.SapCreateOrder(sapList);
logger.info("sap工单回传" + r.getMsg());
if (500 == r.getCode()) {
logger.error("sap工单回传(sap订单创建)" + r.getMsg());
logger.error("工单派发sap工单回传(sap订单创建失败)" + r.getMsg());
return 0;
}else{
logger.info("工单派发sap工单回传(sap订单创建成功)" + JSONObject.toJSONString(r));
}
List<Map<String, String>> returnMaps = r.getData();
List<String> returnCodes = new ArrayList<>();
@ -339,27 +341,23 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService {
oworkSap.setWorkorderId(wcodes.get(m));//工单编码
oworkSap.setUpdateTime(updateTime);
/**pro_order_workorder**/
proOrderWorkorderMapper.updateWorkOrderCodeSap(oworkSap);
int n = proOrderWorkorderMapper.updateWorkOrderCodeSap(oworkSap);
logger.info("工单派发pro_order_workorder"+n);
}
}
//测试
// List<String> returnCodes = new ArrayList<>();
// returnCodes.add("000100305879");
// returnCodes.add("000100305878");
//获取领料单
this.getMesPrepare(returnCodes,wcodes);
//关闭母子订单//订单的订单编码
SapCloseOrderQuery sapCloseOrderQuery = new SapCloseOrderQuery();
sapCloseOrderQuery.setLeadOrder(ordercodes.get(0));
sapCloseOrderQuery.setOrder(ordercodes.get(1));
R closeR= remoteSapService.sapCloseOrder(sapCloseOrderQuery);
logger.info(whiteOrder.getWorkorderCode()+"下发工单后关闭母订单"+sapCloseOrderQuery.getLeadOrder()+":"+
sapCloseOrderQuery.getOrder()+":"+
closeR.getCode()+","+
closeR.getMsg()+","+
closeR.getData());
// //关闭母子订单//订单的订单编码(关闭订单暂时隐藏)
// SapCloseOrderQuery sapCloseOrderQuery = new SapCloseOrderQuery();
// sapCloseOrderQuery.setLeadOrder(ordercodes.get(0));
// sapCloseOrderQuery.setOrder(ordercodes.get(1));
// R closeR= remoteSapService.sapCloseOrder(sapCloseOrderQuery);
// logger.info(whiteOrder.getWorkorderCode()+"下发工单后关闭母订单"+sapCloseOrderQuery.getLeadOrder()+":"+
// sapCloseOrderQuery.getOrder()+":"+
// closeR.getCode()+","+
// closeR.getMsg()+","+
// closeR.getData());
//下达工单
String[] idsArrayAll = (String[])wids.toArray(new String[wids.size()]);
proOrderWorkorderMapper.downWorkorders(idsArrayAll);

@ -39,7 +39,7 @@ public class QcCheckReportInventoryController extends BaseController {
/**
*
*/
@RequiresPermissions("quality:incomeReport:list")
@RequiresPermissions("quality:inventoryReport:list")
@GetMapping("/list")
public TableDataInfo list(QcCheckReportIncome qcCheckReportIncome) {
@ -66,7 +66,7 @@ public class QcCheckReportInventoryController extends BaseController {
/**
*
*/
@RequiresPermissions("quality:incomeReport:export")
@RequiresPermissions("quality:inventoryReport:export")
@Log(title = "来料检验", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, QcCheckReportIncome qcCheckReportIncome) {
@ -94,7 +94,7 @@ public class QcCheckReportInventoryController extends BaseController {
/**
*
*/
@RequiresPermissions("quality:incomeReport:query")
@RequiresPermissions("quality:inventoryReport:query")
@GetMapping(value = "/{recordId}")
public AjaxResult getInfo(@PathVariable("recordId") String recordId) {
return success(qcCheckReportInventoryService.selectQcCheckReportIncomeByRecordId(recordId));
@ -103,7 +103,6 @@ public class QcCheckReportInventoryController extends BaseController {
/**
*
*/
@RequiresPermissions("quality:incomeReport:add")
@Log(title = "来料检验", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody QcCheckReportIncome qcCheckReportIncome) {
@ -117,7 +116,6 @@ public class QcCheckReportInventoryController extends BaseController {
/**
*
*/
@RequiresPermissions("quality:incomeReport:edit")
@Log(title = "来料检验", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody QcCheckReportIncome qcCheckReportIncome) {
@ -127,7 +125,6 @@ public class QcCheckReportInventoryController extends BaseController {
/**
*
*/
@RequiresPermissions("quality:incomeReport:remove")
@Log(title = "来料检验", businessType = BusinessType.DELETE)
@DeleteMapping("/{recordIds}")
public AjaxResult remove(@PathVariable String[] recordIds) {

@ -40,15 +40,15 @@ public class QcCheckReportProduceController extends BaseController {
@GetMapping("/list")
public TableDataInfo list(QcCheckReportIncome qcCheckReportIncome) {
//默认时间范围T 00:00:00~T+1 00:00:00
if(StringUtils.isEmpty(qcCheckReportIncome.getCheckTimeStart())){
qcCheckReportIncome.setCheckTimeStart(DateUtils.getDate()+" 00:00:00");//start
LocalDate date = LocalDate.now();
LocalDate dateEnd = date.plusDays(1);
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String dateEndStr = dtf.format(dateEnd)+" 00:00:00";
qcCheckReportIncome.setCheckTimeEnd(dateEndStr);//end
}
// //默认时间范围T 00:00:00~T+1 00:00:00
// if(StringUtils.isEmpty(qcCheckReportIncome.getCheckTimeStart())){
// qcCheckReportIncome.setCheckTimeStart(DateUtils.getDate()+" 00:00:00");//start
// LocalDate date = LocalDate.now();
// LocalDate dateEnd = date.plusDays(1);
// DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
// String dateEndStr = dtf.format(dateEnd)+" 00:00:00";
// qcCheckReportIncome.setCheckTimeEnd(dateEndStr);//end
// }
startPage();
List<QcCheckReportIncome> list = qcCheckReportProduceService.selectQcCheckReportIncomeList(qcCheckReportIncome);
@ -63,15 +63,15 @@ public class QcCheckReportProduceController extends BaseController {
@PostMapping("/export")
public void export(HttpServletResponse response, QcCheckReportIncome qcCheckReportIncome) {
//默认时间范围T 00:00:00~T+1 00:00:00
if(StringUtils.isEmpty(qcCheckReportIncome.getIncomeTimeStart())){
qcCheckReportIncome.setIncomeTimeStart(DateUtils.getDate()+" 00:00:00");//start
LocalDate date = LocalDate.now();
LocalDate dateEnd = date.plusDays(1);
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String dateEndStr = dtf.format(dateEnd)+" 00:00:00";
qcCheckReportIncome.setIncomeTimeEnd(dateEndStr);//end
}
// //默认时间范围T 00:00:00~T+1 00:00:00
// if(StringUtils.isEmpty(qcCheckReportIncome.getIncomeTimeStart())){
// qcCheckReportIncome.setIncomeTimeStart(DateUtils.getDate()+" 00:00:00");//start
// LocalDate date = LocalDate.now();
// LocalDate dateEnd = date.plusDays(1);
// DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
// String dateEndStr = dtf.format(dateEnd)+" 00:00:00";
// qcCheckReportIncome.setIncomeTimeEnd(dateEndStr);//end
// }
// if(StringUtils.isEmpty(qcCheckReportIncome.getCheckTimeStart())){
// qcCheckReportIncome.setCheckTimeStart(qcCheckReportIncome.getIncomeTimeStart());//start
@ -181,4 +181,15 @@ public class QcCheckReportProduceController extends BaseController {
QcCheckTaskProduce dto = qcCheckReportProduceService.getProduceReportXJ(qcCheckTaskProduce);
return dto;
}
// 生产过程报告任务详情
@PostMapping("/getTaskInfo")
public QcCheckReportIncome getTaskInfo(@RequestBody QcCheckReportIncome qcCheckReportIncome) {
QcCheckReportIncome dto = qcCheckReportProduceService.getTaskInfo(qcCheckReportIncome);
return dto;
}
@PostMapping("/submitConfirm")
public AjaxResult submitConfirm(@RequestBody QcCheckReportIncome qcCheckReportIncome) {
return toAjax(qcCheckReportProduceService.submitConfirm(qcCheckReportIncome));
}
}

@ -135,6 +135,34 @@ public class QcCheckTaskIncomeController extends BaseController {
public AjaxResult createIncomeTask(@RequestBody QcCheckTaskIncomeDTO qcCheckTaskIncome0) {
QcCheckTaskIncome qcCheckTaskIncome = new QcCheckTaskIncome();
BeanUtils.copyProperties(qcCheckTaskIncome0,qcCheckTaskIncome);
if(StringUtils.isBlank(qcCheckTaskIncome.getOrderNo())){
return error("[orderNo]不能为空");
}
if(StringUtils.isBlank(qcCheckTaskIncome.getMaterialName())){
return error("[materialName]不能为空");
}
if(StringUtils.isBlank(qcCheckTaskIncome.getMaterialCode())){
return error("[materialCode]不能为空");
}
if(StringUtils.isBlank(qcCheckTaskIncome.getCheckType())){
return error("[checkType]不能为空");
}
if(StringUtils.isBlank(qcCheckTaskIncome.getFactoryCode())){
return error("[factoryCode]不能为空");
}
if(StringUtils.isBlank(qcCheckTaskIncome.getSupplierCode())){
return error("[supplierCode]不能为空");
}
if(StringUtils.isBlank(qcCheckTaskIncome.getSupplierName())){
return error("[supplierName]不能为空");
}
if(qcCheckTaskIncome.getIncomeTime()==null){
return error("[incomeTime]不能为空");
}
logger.info("来料检验任务生成开始================================");
logger.info("来料检验任务生成参数:"+ JSONObject.toJSONString(qcCheckTaskIncome));
int r = qcCheckTaskIncomeService.insertQcCheckTaskIncome(qcCheckTaskIncome);
if(r>0){
return toAjax(r);
@ -273,4 +301,16 @@ public class QcCheckTaskIncomeController extends BaseController {
public List<QcCheckTaskIncome> getBatchList(@RequestBody QcCheckTaskIncome qcCheckTaskIncome) {
return qcCheckTaskIncomeService.getBatchList(qcCheckTaskIncome);
}
/**
*
* @param
* @return
*/
@GetMapping("/getCkeckProjectXJList")
public TableDataInfo getCkeckProjectXJList(QcCheckTaskIncome qcCheckTaskIncome) {
startPage();
List<QcCheckTaskIncome> list = qcCheckTaskIncomeService.getCkeckProjectXJList(qcCheckTaskIncome);
return getDataTable(list);
}
}

@ -1,12 +1,9 @@
package com.op.quality.controller;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.op.common.core.utils.DateUtils;
import org.apache.commons.lang.StringUtils;
import com.op.system.api.domain.quality.OAInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@ -120,4 +117,14 @@ public class QcCheckUnqualifiedController extends BaseController {
public AjaxResult remove(@PathVariable String[] ids) {
return toAjax(qcCheckUnqualifiedService.deleteQcCheckUnqualifiedByIds(ids));
}
/**
* oa
*/
@RequiresPermissions("quality:unqualified:list")
@GetMapping("/getOAInfoList")
public List<OAInfo> getOAInfoList(QcCheckUnqualified qcCheckUnqualified) {
List<OAInfo> list = qcCheckUnqualifiedService.getOAInfoList(qcCheckUnqualified);
return list;
}
}

@ -23,7 +23,7 @@ import com.op.common.core.web.page.TableDataInfo;
/**
* Controller
*
*
* @author materialGroup
* @date 2023-10-16
*/
@ -36,7 +36,7 @@ public class QcMaterialGroupController extends BaseController {
/**
*
*/
@RequiresPermissions("quality:materialGroup:list")
//@RequiresPermissions("quality:materialGroup:list")
@GetMapping("/list")
public TableDataInfo list(QcMaterialGroup qcMaterialGroup) {
startPage();
@ -55,7 +55,7 @@ public class QcMaterialGroupController extends BaseController {
/**
*
*/
@RequiresPermissions("quality:materialGroup:export")
//@RequiresPermissions("quality:materialGroup:export")
@Log(title = "物料组", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, QcMaterialGroup qcMaterialGroup) {
@ -67,7 +67,7 @@ public class QcMaterialGroupController extends BaseController {
/**
*
*/
@RequiresPermissions("quality:materialGroup:query")
//@RequiresPermissions("quality:materialGroup:query")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") String id) {
return success(qcMaterialGroupService.selectQcMaterialGroupById(id));
@ -86,7 +86,7 @@ public class QcMaterialGroupController extends BaseController {
/**
*
*/
@RequiresPermissions("quality:materialGroup:edit")
//@RequiresPermissions("quality:materialGroup:edit")
@Log(title = "物料组", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody QcMaterialGroup qcMaterialGroup) {

@ -126,6 +126,97 @@ public class QcCheckReportIncome extends BaseEntity {
private String checkType;//小类
private String checkName;
private String createTimeStr;
private List<BaseFile> files;
private List<String> fileUrls;
private String reason;
private String productType;
private String confirm;
private String confirmManCode;
private String confirmManName;
private String confirmRemark;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date confirmTime;
private Boolean myself;
public Boolean getMyself() {
return myself;
}
public void setMyself(Boolean myself) {
this.myself = myself;
}
public Date getConfirmTime() {
return confirmTime;
}
public void setConfirmTime(Date confirmTime) {
this.confirmTime = confirmTime;
}
public String getConfirmRemark() {
return confirmRemark;
}
public void setConfirmRemark(String confirmRemark) {
this.confirmRemark = confirmRemark;
}
public String getConfirm() {
return confirm;
}
public void setConfirm(String confirm) {
this.confirm = confirm;
}
public String getConfirmManCode() {
return confirmManCode;
}
public void setConfirmManCode(String confirmManCode) {
this.confirmManCode = confirmManCode;
}
public String getConfirmManName() {
return confirmManName;
}
public void setConfirmManName(String confirmManName) {
this.confirmManName = confirmManName;
}
public String getReason() {
return reason;
}
public void setReason(String reason) {
this.reason = reason;
}
public String getProductType() {
return productType;
}
public void setProductType(String productType) {
this.productType = productType;
}
public List<String> getFileUrls() {
return fileUrls;
}
public void setFileUrls(List<String> fileUrls) {
this.fileUrls = fileUrls;
}
public List<BaseFile> getFiles() {
return files;
}
public void setFiles(List<BaseFile> files) {
this.files = files;
}
public String getCreateTimeStr() {
return createTimeStr;

@ -98,6 +98,15 @@ public class QcCheckTaskDetail extends BaseEntity {
private String checkType;
private String fileListStr;
private List<BaseFile> files;
private List<String> fileUrls;
public List<String> getFileUrls() {
return fileUrls;
}
public void setFileUrls(List<String> fileUrls) {
this.fileUrls = fileUrls;
}
@Override
public String getRemark() {

@ -142,6 +142,24 @@ public class QcCheckTaskIncome extends BaseEntity {
private String remark;
private String belongTo;
private String oldBelongTo;
private String noOkQualityNames;
private String noOkQualityVals;
public String getNoOkQualityNames() {
return noOkQualityNames;
}
public void setNoOkQualityNames(String noOkQualityNames) {
this.noOkQualityNames = noOkQualityNames;
}
public String getNoOkQualityVals() {
return noOkQualityVals;
}
public void setNoOkQualityVals(String noOkQualityVals) {
this.noOkQualityVals = noOkQualityVals;
}
public String getOldBelongTo() {
return oldBelongTo;

@ -150,6 +150,42 @@ public class QcCheckTaskProduce extends BaseEntity {
private String checkName;
private List<QcStaticTable> checkInfos;
private List<QcCheckTaskDefect> defects;
private String reason;
private String productType;
private String confirmManCode;
private String confirmManName;
public String getConfirmManCode() {
return confirmManCode;
}
public void setConfirmManCode(String confirmManCode) {
this.confirmManCode = confirmManCode;
}
public String getConfirmManName() {
return confirmManName;
}
public void setConfirmManName(String confirmManName) {
this.confirmManName = confirmManName;
}
public String getReason() {
return reason;
}
public void setReason(String reason) {
this.reason = reason;
}
public String getProductType() {
return productType;
}
public void setProductType(String productType) {
this.productType = productType;
}
public List<QcCheckTaskDefect> getDefects() {
return defects;

@ -2,6 +2,8 @@ package com.op.quality.domain;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
@ -112,6 +114,7 @@ public class QcCheckTaskWarehousing extends BaseEntity {
/** 删除标识1删除0正常 */
private String delFlag;
private List<QcCheckTaskDefect> defects;
private String incomeTimeStart;
private String incomeTimeEnd;
@ -122,6 +125,41 @@ public class QcCheckTaskWarehousing extends BaseEntity {
private String orderType;
private BigDecimal noOkQuality;
private BigDecimal sampleQuality;
private BigDecimal aNoOkquality;
private BigDecimal bNoOkquality;
private BigDecimal cNoOkquality;
public BigDecimal getaNoOkquality() {
return aNoOkquality;
}
public void setaNoOkquality(BigDecimal aNoOkquality) {
this.aNoOkquality = aNoOkquality;
}
public BigDecimal getbNoOkquality() {
return bNoOkquality;
}
public void setbNoOkquality(BigDecimal bNoOkquality) {
this.bNoOkquality = bNoOkquality;
}
public BigDecimal getcNoOkquality() {
return cNoOkquality;
}
public void setcNoOkquality(BigDecimal cNoOkquality) {
this.cNoOkquality = cNoOkquality;
}
public List<QcCheckTaskDefect> getDefects() {
return defects;
}
public void setDefects(List<QcCheckTaskDefect> defects) {
this.defects = defects;
}
public BigDecimal getSampleQuality() {
return sampleQuality;

@ -73,4 +73,12 @@ public interface QcCheckReportIncomeMapper {
List<QcCheckTaskDetail> getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail);
QcCheckTaskProduce getTopInfo(QcCheckTaskProduce qcCheckTaskProduce);
QcCheckReportIncome getTaskInfo(QcCheckReportIncome qcCheckReportIncome);
int submitConfirm(QcCheckReportIncome qcCheckReportIncome);
QcCheckReportIncome getXJTaskInfo(QcCheckReportIncome qcCheckReportIncome);
QcCheckReportIncome getLastXJTaskInfo(QcCheckReportIncome qcCheckReportIncome);
}

@ -98,4 +98,8 @@ public interface QcCheckTaskIncomeMapper {
List<QcCheckTaskDefect> getDefectType(QcCheckTaskDetail qcCheckTaskDetail);
QcCheckTaskIncome getTaskInfo(String recordId);
int deleteQcCheckTaskDefects(String belongId);
List<QcCheckTaskIncome> getCkeckTaskXJList(QcCheckTaskIncome qcCheckTaskIncome);
}

@ -2,12 +2,13 @@ package com.op.quality.mapper;
import java.util.List;
import com.op.quality.domain.QcCheckTaskIncome;
import com.op.quality.domain.QcSampleRule;
import org.apache.ibatis.annotations.Mapper;
/**
* Mapper
*
*
* @author Open Platform
* @date 2023-12-28
*/
@ -15,7 +16,7 @@ import org.apache.ibatis.annotations.Mapper;
public interface QcSampleRuleMapper {
/**
*
*
*
* @param id
* @return
*/
@ -23,7 +24,7 @@ public interface QcSampleRuleMapper {
/**
*
*
*
* @param qcSampleRule
* @return
*/
@ -31,7 +32,7 @@ public interface QcSampleRuleMapper {
/**
*
*
*
* @param qcSampleRule
* @return
*/
@ -39,7 +40,7 @@ public interface QcSampleRuleMapper {
/**
*
*
*
* @param qcSampleRule
* @return
*/
@ -47,7 +48,7 @@ public interface QcSampleRuleMapper {
/**
*
*
*
* @param id
* @return
*/
@ -55,9 +56,11 @@ public interface QcSampleRuleMapper {
/**
*
*
*
* @param ids
* @return
*/
public int deleteQcSampleRuleByIds(String[] ids);
String getSampNum(QcCheckTaskIncome qcCheckTaskIncome);
}

@ -71,4 +71,8 @@ public interface IQcCheckReportProduceService {
List<QcCheckTaskDetail> getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail);
QcCheckTaskProduce getProduceReportXJ(QcCheckTaskProduce qcCheckTaskProduce);
QcCheckReportIncome getTaskInfo(QcCheckReportIncome qcCheckReportIncome);
int submitConfirm(QcCheckReportIncome qcCheckReportIncome);
}

@ -87,4 +87,6 @@ public interface IQcCheckTaskIncomeService {
List<QcCheckTaskIncome> getBatchList(QcCheckTaskIncome qcCheckTaskIncome);
List<QcCheckTaskIncome> getProductWorkOrder(QcCheckTaskIncome qcCheckTaskIncome);
List<QcCheckTaskIncome> getCkeckProjectXJList(QcCheckTaskIncome qcCheckTaskIncome);
}

@ -1,18 +1,20 @@
package com.op.quality.service;
import java.util.List;
import com.op.system.api.domain.quality.OAInfo;
import com.op.quality.domain.QcCheckUnqualified;
/**
* Service
*
*
* @author Open Platform
* @date 2023-10-31
*/
public interface IQcCheckUnqualifiedService {
/**
*
*
*
* @param id
* @return
*/
@ -20,7 +22,7 @@ public interface IQcCheckUnqualifiedService {
/**
*
*
*
* @param qcCheckUnqualified
* @return
*/
@ -28,7 +30,7 @@ public interface IQcCheckUnqualifiedService {
/**
*
*
*
* @param qcCheckUnqualified
* @return
*/
@ -36,7 +38,7 @@ public interface IQcCheckUnqualifiedService {
/**
*
*
*
* @param qcCheckUnqualified
* @return
*/
@ -44,7 +46,7 @@ public interface IQcCheckUnqualifiedService {
/**
*
*
*
* @param ids
* @return
*/
@ -52,9 +54,11 @@ public interface IQcCheckUnqualifiedService {
/**
*
*
*
* @param id
* @return
*/
public int deleteQcCheckUnqualifiedById(String id);
List<OAInfo> getOAInfoList(QcCheckUnqualified qcCheckUnqualified);
}

@ -39,7 +39,8 @@ public class QcCheckReportIncomeServiceImpl implements IQcCheckReportIncomeServi
@Autowired
private QcCheckTaskDetailMapper qcCheckTaskDetailMapper;
@Autowired
private QMSFileMapper qmsFileMapper;
/**
*
*
@ -192,7 +193,15 @@ public class QcCheckReportIncomeServiceImpl implements IQcCheckReportIncomeServi
@Override
@DS("#header.poolName")
public List<QcCheckTaskDetail> getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail) {
return qcCheckReportIncomeMapper.getCkeckProjectList(qcCheckTaskDetail);
List<QcCheckTaskDetail> dtos = qcCheckReportIncomeMapper.getCkeckProjectList(qcCheckTaskDetail);
for(QcCheckTaskDetail dto:dtos){
List<BaseFile> files = qmsFileMapper.getBaseFileBatch(dto.getRecordId());
if (!CollectionUtils.isEmpty(files)) {
dto.setFiles(files);
}
}
return dtos;
}
@Override

@ -9,6 +9,8 @@ import com.op.quality.mapper.*;
import com.op.quality.service.IQcCheckReportProduceService;
import com.op.quality.service.IQcStaticTableService;
import com.op.system.api.domain.SysUser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@ -27,6 +29,7 @@ import java.util.List;
*/
@Service
public class QcCheckReportProduceServiceImpl implements IQcCheckReportProduceService {
protected Logger logger = LoggerFactory.getLogger(getClass());
@Autowired
private QcCheckReportIncomeMapper qcCheckReportIncomeMapper;
@Autowired
@ -51,7 +54,8 @@ public class QcCheckReportProduceServiceImpl implements IQcCheckReportProduceSer
@Override
@DS("#header.poolName")
public QcCheckReportIncome selectQcCheckReportIncomeByRecordId(String recordId) {
return qcCheckReportIncomeMapper.selectQcCheckReportIncomeByRecordId(recordId);
QcCheckReportIncome dto= qcCheckReportIncomeMapper.selectQcCheckReportIncomeByRecordId(recordId);
return dto;
}
/**
@ -208,4 +212,50 @@ public class QcCheckReportProduceServiceImpl implements IQcCheckReportProduceSer
return produce;
}
@Override
@DS("#header.poolName")
public QcCheckReportIncome getTaskInfo(QcCheckReportIncome qcCheckReportIncome) {
QcCheckReportIncome taskInfo = null;
if("checkTypeSC".equals(qcCheckReportIncome.getCheckType())){
taskInfo = qcCheckReportIncomeMapper.getTaskInfo(qcCheckReportIncome);
}else if("checkTypeSCXJ".equals(qcCheckReportIncome.getCheckType())){
taskInfo = qcCheckReportIncomeMapper.getXJTaskInfo(qcCheckReportIncome);
//最后一条巡检记录得确认人当最终确认人
QcCheckReportIncome lastData = qcCheckReportIncomeMapper.getLastXJTaskInfo(qcCheckReportIncome);
if(lastData!=null ){
taskInfo.setConfirmManCode(lastData.getConfirmManCode());
taskInfo.setConfirmManName(lastData.getConfirmManName());
taskInfo.setConfirm(lastData.getConfirm());
taskInfo.setConfirmTime(lastData.getConfirmTime());
taskInfo.setConfirmRemark(lastData.getConfirmRemark());
}
if(SecurityUtils.getUsername().equals(taskInfo.getConfirmManCode())){
taskInfo.setMyself(true);
}else{
taskInfo.setMyself(false);
}
}
return taskInfo;
}
@Override
@DS("#header.poolName")
public int submitConfirm(QcCheckReportIncome qcCheckReportIncome) {
Date nowTime = DateUtils.getNowDate();
String nowManCode = SecurityUtils.getUsername();
String nowManName = SecurityUtils.getLoginUser().getSysUser().getNickName();
if("checkTypeSC".equals(qcCheckReportIncome.getCheckType())||"checkTypeSCXJ".equals(qcCheckReportIncome.getCheckType())){
qcCheckReportIncome.setConfirmManCode(nowManCode);
qcCheckReportIncome.setConfirmManName(nowManName);
qcCheckReportIncome.setConfirmTime(nowTime);
/**qc_check_task**/
int n = qcCheckReportIncomeMapper.submitConfirm(qcCheckReportIncome);
logger.info("qc_check_task【二次确认】"+qcCheckReportIncome.getCheckType()+":"+n);
return n;
}
return 0;
}
}

@ -106,11 +106,13 @@ public class QcCheckTaskDefectServiceImpl implements IQcCheckTaskDefectService {
}
@Override
@DS("#header.poolName")
public int deleteQcCheckTaskDefectByBelongTo(String belongTo) {
return qcCheckTaskDefectMapper.deleteQcCheckTaskDefectByBelongTo(belongTo);
}
@Override
@DS("#header.poolName")
public List<QcCheckTaskDefect> selectDefectByBelongTo(String belongTo) {
return qcCheckTaskDefectMapper.selectDefectByBelongTo(belongTo);
}

@ -2,6 +2,8 @@ package com.op.quality.service.impl;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
import com.alibaba.fastjson2.JSONObject;
import com.alibaba.fastjson2.JSONArray;
import com.baomidou.dynamic.datasource.annotation.DS;
@ -14,6 +16,7 @@ import com.op.common.core.web.domain.AjaxResult;
import com.op.common.security.utils.SecurityUtils;
import com.op.quality.domain.*;
import com.op.quality.mapper.*;
import com.op.quality.service.IQcCheckTaskDefectService;
import com.op.quality.service.IQcCheckTaskProduceService;
import com.op.quality.service.IQcCheckTaskUserService;
import com.op.system.api.RemoteOpenService;
@ -73,6 +76,15 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
@Autowired
private QMSFileMapper qmsFileMapper;
@Autowired
private IQcCheckTaskDefectService qcCheckTaskDefectService;
@Autowired
private QcSampleRuleMapper qcSampleRuleMapper;
@Autowired
private QcCheckTaskDefectMapper qcCheckTaskDefectMapper;
/**
*
*
@ -91,6 +103,11 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
if (qcCheckTaskUser != null && StringUtils.isNotBlank(qcCheckTaskUser.getManCodes())) {
qcCheckTaskIncome.setCheckManCode(qcCheckTaskUser.getManCodes());
}
//获取不良品检验信息
List<QcCheckTaskDefect> qcCheckTaskDefectList = qcCheckTaskDefectService.selectDefectByBelongTo(recordId);
if (!CollectionUtils.isEmpty(qcCheckTaskDefectList)) {
qcCheckTaskIncome.setDefects(qcCheckTaskDefectList);
}
return qcCheckTaskIncome;
}
@ -210,6 +227,23 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
int m=qcCheckTaskIncomeMapper.addCheckUsers(users);
logger.info("检查人新增"+m+"成功");
}
/** 不良品数据插入 */
BigDecimal noOkQuality = new BigDecimal(0);
List<QcCheckTaskDefect> defectList = qcCheckTaskIncome.getDefects();
if (!CollectionUtils.isEmpty(defectList)) {
for (QcCheckTaskDefect defect : defectList) {
defect.setBelongTo(beLongId);
qcCheckTaskDefectService.insertQcCheckTaskDefect(defect);
noOkQuality = noOkQuality.add(defect.getNoOkQuality()==null?new BigDecimal("0"):defect.getNoOkQuality());
}
}
qcCheckTaskIncome.setNoOkQuality(noOkQuality);
/**qc_sample_rule**/
String sampNum = qcSampleRuleMapper.getSampNum(qcCheckTaskIncome);
if(StringUtils.isNotBlank(sampNum)){
qcCheckTaskIncome.setSampleQuality(new BigDecimal(sampNum));
}
/**qc_check_task**/
qcCheckTaskIncomeMapper.insertQcCheckTaskIncome(qcCheckTaskIncome);
/**qc_check_task_detail**/
@ -252,6 +286,21 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
qcCheckTaskUserList.add(qcCheckTaskUser);
}
qcCheckTaskUserService.updateQcCheckTaskUser(qcCheckTaskUserList);
/** 不良品数据修改 **/
BigDecimal noOkQuality = new BigDecimal(0);
List<QcCheckTaskDefect> defectList = qcCheckTaskIncome.getDefects();
String belongTo = qcCheckTaskIncome.getRecordId();
//不是空执行下一步,空不做操作
if (!CollectionUtils.isEmpty(defectList)) {
qcCheckTaskDefectService.deleteQcCheckTaskDefectByBelongTo(belongTo);
for (QcCheckTaskDefect defect : defectList) {
defect.setBelongTo(belongTo);
qcCheckTaskDefectService.insertQcCheckTaskDefect(defect);
noOkQuality = noOkQuality.add(defect.getNoOkQuality()==null?new BigDecimal("0"):defect.getNoOkQuality());
}
}
qcCheckTaskIncome.setNoOkQuality(noOkQuality);
return qcCheckTaskIncomeMapper.updateQcCheckTaskIncome(qcCheckTaskIncome);
}
@ -307,7 +356,16 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
@Override
@DS("#header.poolName")
public List<QcCheckTaskDetail> getCkeckProjectList(QcCheckTaskDetail qcCheckTaskDetail) {
return qcCheckTaskIncomeMapper.getCkeckProjectList(qcCheckTaskDetail);
List<QcCheckTaskDetail> dtos = qcCheckTaskIncomeMapper.getCkeckProjectList(qcCheckTaskDetail);
for(QcCheckTaskDetail detail:dtos){
List<BaseFile> files = qmsFileMapper.getBaseFileBatch(detail.getRecordId());
if (!CollectionUtils.isEmpty(files)) {
List<String> urls = files.stream().map(BaseFile::getFileAddress).collect(Collectors.toList());
detail.setFiles(files);
detail.setFileUrls(urls);
}
}
return dtos;
}
@Override
@ -440,15 +498,15 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
@DS("#header.poolName")
public List<QcCheckTaskIncome> getWorkOrder(QcCheckTaskIncome qcCheckTaskIncome) {
List<QcCheckTaskIncome> dtos = qcCheckUnqualifiedMapper.getWorkOrder(qcCheckTaskIncome);
for(QcCheckTaskIncome dto:dtos){
String statusName = "";
if("w5".equals(dto.getStatus())){
statusName = "质检完成";
}else{
statusName = "质检未完成";
}
dto.setStatus(statusName);
}
// for(QcCheckTaskIncome dto:dtos){
// String statusName = "";
// if("w5".equals(dto.getStatus())){
// statusName = "质检完成";
// }else{
// statusName = "质检未完成";
// }
// dto.setStatus(statusName);
// }
return dtos;
}
@ -474,6 +532,41 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
return dtos;
}
@Override
@DS("#header.poolName")
public List<QcCheckTaskIncome> getCkeckProjectXJList(QcCheckTaskIncome qcCheckTaskIncome) {
List<QcCheckTaskIncome> dtos = qcCheckTaskIncomeMapper.getCkeckTaskXJList(qcCheckTaskIncome);
for(QcCheckTaskIncome dto:dtos){
//不良分类
QcCheckTaskDefect defectqo = new QcCheckTaskDefect();
defectqo.setBelongTo(dto.getRecordId());
List<QcCheckTaskDefect> defects = qcCheckTaskDefectMapper.selectQcCheckTaskDefectList(defectqo);
if(!CollectionUtils.isEmpty(defects)){
List<String> names = defects.stream().map(QcCheckTaskDefect::getDefectSubclass).collect(Collectors.toList());
dto.setNoOkQualityNames(names.toString());
List<BigDecimal> vals = defects.stream().map(QcCheckTaskDefect::getNoOkQuality).collect(Collectors.toList());
dto.setNoOkQualityVals(vals.toString());
}
//检测项列表
QcCheckTaskDetail detailqo = new QcCheckTaskDetail();
detailqo.setBelongTo(dto.getRecordId());
List<QcCheckTaskDetail> qcCheckTaskDetails = qcCheckTaskDetailMapper.selectQcCheckTaskDetailList(detailqo);
if(!CollectionUtils.isEmpty(qcCheckTaskDetails)){
for(QcCheckTaskDetail qcCheckTaskDetail:qcCheckTaskDetails){
List<BaseFile> files = qmsFileMapper.getBaseFileBatch(qcCheckTaskDetail.getRecordId());
if (!CollectionUtils.isEmpty(files)) {
List<String> urls = files.stream().map(BaseFile::getFileAddress).collect(Collectors.toList());
qcCheckTaskDetail.setFiles(files);
qcCheckTaskDetail.setFileUrls(urls);
}
}
dto.setQcCheckTaskDetails(qcCheckTaskDetails);
}
}
return dtos;
}
@Override
@Transactional(rollbackFor = Exception.class)
public int commitCheckResults(QcCheckTaskIncome qcCheckTaskIncome) {
@ -547,6 +640,8 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
logger.info("更新qc_check_task_detail:"+n);
/**qc_check_task_defect**/
n=qcCheckTaskIncomeMapper.deleteQcCheckTaskDefects(belongId);
logger.info("清理qc_check_task_defect:"+n);
n= qcCheckTaskIncomeMapper.addQcCheckTaskDefects(defects);
logger.info("qc_check_task_defect:"+n);

@ -1,5 +1,6 @@
package com.op.quality.service.impl;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -13,6 +14,7 @@ import com.op.common.core.utils.uuid.IdUtils;
import com.op.common.security.utils.SecurityUtils;
import com.op.quality.domain.*;
import com.op.quality.mapper.*;
import com.op.quality.service.IQcCheckTaskDefectService;
import com.op.quality.service.IQcCheckTaskUserService;
import com.op.system.api.domain.quality.QcUserMaterialDTO;
import org.slf4j.Logger;
@ -52,6 +54,8 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin
private IQcCheckTaskUserService qcCheckTaskUserService;
@Autowired
private QcCheckTaskIncomeMapper qcCheckTaskIncomeMapper;
@Autowired
private IQcCheckTaskDefectService qcCheckTaskDefectService;
/**
*
@ -71,6 +75,11 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin
if (qcCheckTaskUser != null && StringUtils.isNotBlank(qcCheckTaskUser.getManCodes())) {
checkTaskWarehousing.setCheckManCode(qcCheckTaskUser.getManCodes());
}
//获取不良品检验信息
List<QcCheckTaskDefect> qcCheckTaskDefectList = qcCheckTaskDefectService.selectDefectByBelongTo(recordId);
if (!CollectionUtils.isEmpty(qcCheckTaskDefectList)) {
checkTaskWarehousing.setDefects(qcCheckTaskDefectList);
}
return checkTaskWarehousing;
}
@ -188,6 +197,18 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin
int m=qcCheckTaskIncomeMapper.addCheckUsers(users);
logger.info("检查人新增"+m+"成功");
}
/** 不良品数据插入 */
BigDecimal noOkQuality = new BigDecimal(0);
List<QcCheckTaskDefect> defectList = qcCheckTaskWarehousing.getDefects();
if (!CollectionUtils.isEmpty(defectList)) {
for (QcCheckTaskDefect defect : defectList) {
defect.setBelongTo(beLongId);
qcCheckTaskDefectService.insertQcCheckTaskDefect(defect);
noOkQuality = noOkQuality.add(defect.getNoOkQuality()==null?new BigDecimal("0"):defect.getNoOkQuality());
}
}
qcCheckTaskWarehousing.setNoOkQuality(noOkQuality);
/**qc_check_task**/
int n = qcCheckTaskWarehousingMapper.insertQcCheckTaskWarehousing(qcCheckTaskWarehousing);
logger.info("qc_check_task:"+n+"成功");
@ -231,6 +252,20 @@ public class QcCheckTaskWarehousingServiceImpl implements IQcCheckTaskWarehousin
qcCheckTaskUserList.add(qcCheckTaskUser);
}
qcCheckTaskUserService.updateQcCheckTaskUser(qcCheckTaskUserList);
/** 不良品数据修改 **/
BigDecimal noOkQuality = new BigDecimal(0);
List<QcCheckTaskDefect> defectList = qcCheckTaskWarehousing.getDefects();
String belongTo = qcCheckTaskWarehousing.getRecordId();
//不是空执行下一步,空不做操作
if (!CollectionUtils.isEmpty(defectList)) {
qcCheckTaskDefectService.deleteQcCheckTaskDefectByBelongTo(belongTo);
for (QcCheckTaskDefect defect : defectList) {
defect.setBelongTo(belongTo);
qcCheckTaskDefectService.insertQcCheckTaskDefect(defect);
noOkQuality = noOkQuality.add(defect.getNoOkQuality()==null?new BigDecimal("0"):defect.getNoOkQuality());
}
}
qcCheckTaskWarehousing.setNoOkQuality(noOkQuality);
return qcCheckTaskWarehousingMapper.updateQcCheckTaskWarehousing(qcCheckTaskWarehousing);
}

@ -1,16 +1,14 @@
package com.op.quality.service.impl;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.utils.DateUtils;
import com.op.common.core.web.domain.AjaxResult;
import com.op.common.security.utils.SecurityUtils;
import com.op.quality.domain.QcCheckProject;
import com.op.system.api.domain.quality.OAInfo;
import com.op.quality.domain.QcCheckTaskIncome;
import com.op.quality.mapper.QcCheckTaskIncomeMapper;
import com.op.system.api.RemoteOpenService;
@ -100,6 +98,7 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService
oaR = this.createLLOA(taskIfo);
}else if("produce".equals(taskIfo.getTypeCode())){
//ZL0030-品质异常流程
oaR = this.createProduceOA(taskIfo);
}else if("product".equals(taskIfo.getTypeCode())) {
//ZL0020-成品检验控制流程
oaR = this.createProductOA(taskIfo);
@ -109,10 +108,13 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService
/**qc_check_unqualified**/
qcCheckUnqualified.setRequestid(oaR.get("data").toString());
qcCheckUnqualified.setStartOaStatus("1");
qcCheckUnqualified.setStatus("1");
qcCheckUnqualified.setStartTime(nowTime);
int m = qcCheckUnqualifiedMapper.updateQcCheckUnqualified(qcCheckUnqualified);
return m;
}else{
qcCheckUnqualified.setStartOaStatus("2");
qcCheckUnqualified.setStartTime(nowTime);
qcCheckUnqualified.setStartOaMsg(oaR.get("msg").toString());
qcCheckUnqualifiedMapper.updateQcCheckUnqualified(qcCheckUnqualified);
return 0;
@ -146,6 +148,20 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService
return qcCheckUnqualifiedMapper.deleteQcCheckUnqualifiedById(id);
}
@Override
@DS("#header.poolName")
public List<OAInfo> getOAInfoList(QcCheckUnqualified qcCheckUnqualified) {
logger.info("查看流程Id"+ qcCheckUnqualified.getTaskId());
AjaxResult oaR = remoteOpenService.GetOaNodeInfo(qcCheckUnqualified.getTaskId());
logger.info("流程Id 26235:"+ JSONObject.toJSONString(oaR));
List<OAInfo> infoList = new ArrayList<>();
if((int)oaR.get("code")==200){
infoList=JSONArray.parseArray(oaR.get("msg").toString(),OAInfo.class);
}
return infoList;
}
/*OA
* CQ OEMCM LLLB 01MATNR MAKTX suppliernum
* supplier CHARG comeQty testDate JYBH
@ -199,14 +215,14 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService
//发起来料检验OA流程
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("user","999999");//提交人工号qcCheckTaskIncome.getUpdateBy()
paramMap.put("user",SecurityUtils.getUsername());//提交人工号qcCheckTaskIncome.getUpdateBy()
paramMap.put("requestLevel",0);//流程紧急度
paramMap.put("requestName","ZL0020-成品检验控制流程");//流程名称
paramMap.put("workflowId",26234);//该流程对应的唯- workFlowld
StringBuffer mainObject = new StringBuffer();
mainObject.append("{");
mainObject.append("\"SSCJ\":"+detailInfo.getSupplierName());//所属车间
mainObject.append("\"SSCJ\":"+"\""+detailInfo.getSupplierName()+"\"");//所属车间
mainObject.append(",\"ZRPSN\":"+"\""+SecurityUtils.getUsername()+"\"");//报检人
mainObject.append(",\"OEM\":"+"\""+detailInfo.getFactoryCode()+"\"");//OEM厂名
mainObject.append(",\"DH\":"+"\""+detailInfo.getOrderNo()+"\"");//单号
@ -223,19 +239,90 @@ public class QcCheckUnqualifiedServiceImpl implements IQcCheckUnqualifiedService
detailObject.append("{\"PRONAME\":\""+detailInfo.getMaterialName()+"\"},");//产品名称
detailObject.append("{\"SCCODE\":\""+detailInfo.getIncomeBatchNo()+"\"},");//批次号
detailObject.append("{\"SCTOTAL\":\""+detailInfo.getQuality()+"\"},");//数量
detailObject.append("{\"BJDATE\":\""+detailInfo.getCreateTime()+"\"},");//报检日期
detailObject.append("{\"BJDATE\":\""+DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",detailInfo.getCreateTime())+"\"},");//报检日期
detailObject.append("{\"JYCODE\":\""+detailInfo.getCheckNo()+"\"},");// 检验编号
detailObject.append("{\"JYDATE\":\""+detailInfo.getCheckTime()+"\"},");// 检验日期
detailObject.append("{\"JYDATE\":\""+DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",detailInfo.getCheckTime())+"\"},");// 检验日期
detailObject.append("{\"JYRESULT\":\""+(detailInfo.getCheckResult().equals("Y")?"0":"2")+"\"},");//检验结果0合格 2不合格
detailObject.append("{\"CPCYS\":\""+detailInfo.getQuality()+"\"},");// 产品抽样数PC
detailObject.append("{\"JYBHGMS\":\""+task.getRemark()+"\"}");// 不合格情况描述
detailObject.append("]}");
paramMap.put("mainObject",detailObject.toString());
paramMap.put("details",detailObject.toString());
logger.info("流程Id 26234:"+ JSONObject.toJSONString(paramMap));
AjaxResult oaR = remoteOpenService.OAInspection(paramMap);
logger.info("流程Id 26234:"+ JSONObject.toJSONString(oaR));
return oaR;
}
/**
{
"user": "999999",
"requestLevel": "0", 0
"requestName": "ZL0030-品质异常流程-智能制造-2024-01-17产品名称:榄菊高级型蚊香(60装)",
"workflowId": "26256",
"mainObject": "{
"CPMC":"榄菊高级型蚊香(60装)", *
"CPBM":"10101000115", *
"SQBM":"0", * 0
"SQR":"15930", *: 15930
"SQSJ":"2024-01-17", *:
"SCCJ":"162", * 162
"SCPH":"240555a", *
"SCSL":500, *
"FXDD":"测试地点", *
"FXRQ":"2024-01-17", *:
"BH":"202401170002", * +
"YCFW":"1", * 1
"PZYCMS":"测试异常描述", *
"Notes":"测试备注",
"SFXYZG":"1", * 1 0
"PGZG":"", QCSFXYZG"是",QC
"PGZR":"660", * 660
"SFGYSWT":"1" * 1 0
}"
}
* @param task
* @return
*/
private AjaxResult createProduceOA(QcCheckUnqualified task){
QcCheckTaskIncome detailInfo = qcCheckTaskIncomeMapper.getTaskInfo(task.getTaskId());
//发起来料检验OA流程
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("user",SecurityUtils.getUsername());//提交人工号
paramMap.put("requestLevel",0);//流程紧急度
paramMap.put("requestName","ZL0030-品质异常流程-智能制造-"+DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",detailInfo.getIncomeTime())+"(产品名称:"+detailInfo.getMaterialName()+"");//流程名称
paramMap.put("workflowId",26256);//该流程对应的唯- workFlowld
StringBuffer mainObject = new StringBuffer();
mainObject.append("{");
mainObject.append("\"CPMC\":"+detailInfo.getMaterialName());//产品名称
mainObject.append(",\"CPBM\":"+detailInfo.getMaterialCode());//产品编码
//mainObject.append(",\"SQBM\":"+"\"0\"");//0品质保障部
mainObject.append(",\"SQR\":"+"\""+SecurityUtils.getUsername()+"\"");//申请人:默认当前用户
mainObject.append(",\"SQSJ\":"+"\""+detailInfo.getSupplierCode()+"\"");//申请时间
mainObject.append(",\"SCCJ\":"+"\""+detailInfo.getSupplierName()+"\"");//所属车间
mainObject.append(",\"SCPH\":"+"\""+detailInfo.getIncomeBatchNo()+"\"");//生产批号
mainObject.append(",\"SCSL\":"+"\""+detailInfo.getQuality()+"\"");//生产数量
mainObject.append(",\"FXDD\":"+"\""+detailInfo.getCheckLoc()+"\"");//发现地点
mainObject.append(",\"FXRQ\":"+"\""+DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss",detailInfo.getCheckTime())+"\"");//发现日期
mainObject.append(",\"BH\":"+"\""+detailInfo.getCheckNo()+"\"");//编号:流水号 年月日+四位流水号
mainObject.append(",\"YCFW\":"+"\"1\"");//*异常范围:下拉框榄菊所有工厂 1代表小榄工厂
mainObject.append(",\"PZYCMS\":"+"\""+detailInfo.getRemark()+"\"");//品质异常描述
mainObject.append(",\"Notes\":"+"\"\"");//测试备注
mainObject.append(",\"SFXYZG\":"+"\"1\"");//*是否需要主管审核 1否 0是
mainObject.append(",\"SFXYZG\":"+"\"1\"");//*是否需要主管审核 1否 0是
mainObject.append(",\"PGZG\":"+"\""+detailInfo.getRemark()+"\"");//QC主管SFXYZG字段为"是",则此项选择QC主管信息
mainObject.append(",\"PGZR\":"+"\"660\"");//质量主管 660朱继新
mainObject.append(",\"SFGYSWT\":"+"\"1\"");//*是否供应商问题 1非供应商问题 0是供应商问题
mainObject.append("}");
paramMap.put("mainObject",mainObject.toString());
logger.info("流程Id 26256:"+ JSONObject.toJSONString(paramMap));
AjaxResult oaR = remoteOpenService.OAInspection(paramMap);
logger.info("流程Id 26256:"+ JSONObject.toJSONString(oaR));
return oaR;
}
}

@ -113,6 +113,7 @@ public class QcMaterialGroupDetailServiceImpl implements IQcMaterialGroupDetailS
}
@Override
@DS("#header.poolName")
public boolean validationGroupDetailData(String materialCode) {
return qcMaterialGroupDetailMapper.validationGroupDetailData(materialCode).size() > 0;
}

@ -8,7 +8,10 @@ import java.util.*;
import java.util.stream.Collectors;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.utils.StringUtils;
import com.op.quality.domain.BaseFile;
import com.op.quality.domain.QcCheckTaskDetail;
import com.op.quality.domain.QcCheckType;
import com.op.quality.mapper.QMSFileMapper;
import com.op.system.api.domain.quality.ChartDTO;
import com.op.system.api.domain.quality.ChartSeriesDTO;
import com.op.system.api.domain.quality.FactoryDto;
@ -29,7 +32,8 @@ import org.springframework.util.CollectionUtils;
public class QcStaticTableServiceImpl implements IQcStaticTableService {
@Autowired
private QcStaticTableMapper qcStaticTableMapper;
@Autowired
private QMSFileMapper qmsFileMapper;
/**
*
*
@ -172,96 +176,192 @@ public class QcStaticTableServiceImpl implements IQcStaticTableService {
private void getDataFromMap(Map<String,QcStaticTable> detailMap,QcStaticTable project){
String keystr = project.getProjectId()+"08";
QcStaticTable detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn080090(detail.getStatus());
if(detail!=null&&StringUtils.isNotBlank(detail.getRemark())){
project.setColumn080090(detail.getRemark());
List<BaseFile> files = qmsFileMapper.getBaseFileBatch(detail.getRecordId());
if (!CollectionUtils.isEmpty(files)) {
List<String> pics = files.stream().map(BaseFile::getFileAddress).collect(Collectors.toList());
String picurls = pics.stream().collect(Collectors.joining(","));
project.setColumn080090(project.getColumn080090()+","+picurls);
}
}else if(detail!=null&&StringUtils.isNotBlank(detail.getStatus())){
project.setColumn080090(detail.getStatus().equals("Y")?"✓":"✘");
}else{
project.setColumn080090("-");
}
keystr = project.getProjectId()+"09";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn090100(detail.getStatus());
if(detail!=null && StringUtils.isNotBlank(detail.getRemark())){
project.setColumn090100(detail.getRemark());
List<BaseFile> files = qmsFileMapper.getBaseFileBatch(detail.getRecordId());
if (!CollectionUtils.isEmpty(files)) {
List<String> pics = files.stream().map(BaseFile::getFileAddress).collect(Collectors.toList());
String picurls = pics.stream().collect(Collectors.joining(","));
project.setColumn090100(project.getColumn090100()+","+picurls);
}
}else if(detail!=null&&StringUtils.isNotBlank(detail.getStatus())){
project.setColumn090100(detail.getStatus().equals("Y")?"✓":"✘");
}else{
project.setColumn090100("-");
}
keystr = project.getProjectId()+"10";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn100110(detail.getStatus());
if(detail!=null && StringUtils.isNotBlank(detail.getRemark())){
project.setColumn100110(detail.getRemark());
List<BaseFile> files = qmsFileMapper.getBaseFileBatch(detail.getRecordId());
if (!CollectionUtils.isEmpty(files)) {
List<String> pics = files.stream().map(BaseFile::getFileAddress).collect(Collectors.toList());
String picurls = pics.stream().collect(Collectors.joining(","));
project.setColumn100110(project.getColumn100110()+","+picurls);
}
}else if(detail!=null&&StringUtils.isNotBlank(detail.getStatus())){
project.setColumn100110(detail.getStatus().equals("Y")?"✓":"✘");
}else{
project.setColumn100110("-");
}
keystr = project.getProjectId()+"11";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn110120(detail.getStatus());
if(detail!=null && StringUtils.isNotBlank(detail.getRemark())){
project.setColumn110120(detail.getRemark());
List<BaseFile> files = qmsFileMapper.getBaseFileBatch(detail.getRecordId());
if (!CollectionUtils.isEmpty(files)) {
List<String> pics = files.stream().map(BaseFile::getFileAddress).collect(Collectors.toList());
String picurls = pics.stream().collect(Collectors.joining(","));
project.setColumn110120(project.getColumn110120()+","+picurls);
}
}else if(detail!=null&&detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn110120(detail.getStatus().equals("Y")?"✓":"✘");
}else{
project.setColumn110120("-");
}
keystr = project.getProjectId()+"12";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn123133(detail.getStatus());
if(detail!=null && StringUtils.isNotBlank(detail.getRemark())){
project.setColumn123133(detail.getRemark());
List<BaseFile> files = qmsFileMapper.getBaseFileBatch(detail.getRecordId());
if (!CollectionUtils.isEmpty(files)) {
List<String> pics = files.stream().map(BaseFile::getFileAddress).collect(Collectors.toList());
String picurls = pics.stream().collect(Collectors.joining(","));
project.setColumn123133(project.getColumn123133()+","+picurls);
}
}else if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn123133(detail.getStatus().equals("Y")?"✓":"✘");
}else{
project.setColumn123133("-");
}
keystr = project.getProjectId()+"13";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn133143(detail.getStatus());
if(detail!=null && StringUtils.isNotBlank(detail.getRemark())){
project.setColumn133143(detail.getRemark());
List<BaseFile> files = qmsFileMapper.getBaseFileBatch(detail.getRecordId());
if (!CollectionUtils.isEmpty(files)) {
List<String> pics = files.stream().map(BaseFile::getFileAddress).collect(Collectors.toList());
String picurls = pics.stream().collect(Collectors.joining(","));
project.setColumn133143(project.getColumn133143()+","+picurls);
}
}else if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn133143(detail.getStatus().equals("Y")?"✓":"✘");
}else{
project.setColumn133143("-");
}
keystr = project.getProjectId()+"14";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn143153(detail.getStatus());
if(detail!=null && StringUtils.isNotBlank(detail.getRemark())){
project.setColumn143153(detail.getRemark());
List<BaseFile> files = qmsFileMapper.getBaseFileBatch(detail.getRecordId());
if (!CollectionUtils.isEmpty(files)) {
List<String> pics = files.stream().map(BaseFile::getFileAddress).collect(Collectors.toList());
String picurls = pics.stream().collect(Collectors.joining(","));
project.setColumn143153(project.getColumn143153()+","+picurls);
}
}else if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn143153(detail.getStatus().equals("Y")?"✓":"✘");
}else{
project.setColumn143153("-");
}
keystr = project.getProjectId()+"15";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn153163(detail.getStatus());
if(detail!=null && StringUtils.isNotBlank(detail.getRemark())){
project.setColumn153163(detail.getRemark());
List<BaseFile> files = qmsFileMapper.getBaseFileBatch(detail.getRecordId());
if (!CollectionUtils.isEmpty(files)) {
List<String> pics = files.stream().map(BaseFile::getFileAddress).collect(Collectors.toList());
String picurls = pics.stream().collect(Collectors.joining(","));
project.setColumn153163(project.getColumn153163()+","+picurls);
}
}else if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn153163(detail.getStatus().equals("Y")?"✓":"✘");
}else{
project.setColumn153163("-");
}
keystr = project.getProjectId()+"16";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn163173(detail.getStatus());
if(detail!=null && StringUtils.isNotBlank(detail.getRemark())){
project.setColumn163173(detail.getRemark());
List<BaseFile> files = qmsFileMapper.getBaseFileBatch(detail.getRecordId());
if (!CollectionUtils.isEmpty(files)) {
List<String> pics = files.stream().map(BaseFile::getFileAddress).collect(Collectors.toList());
String picurls = pics.stream().collect(Collectors.joining(","));
project.setColumn163173(project.getColumn163173()+","+picurls);
}
}else if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn163173(detail.getStatus().equals("Y")?"✓":"✘");
}else{
project.setColumn163173("-");
}
keystr = project.getProjectId()+"18";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn180190(detail.getStatus());
if(detail!=null && StringUtils.isNotBlank(detail.getRemark())){
project.setColumn180190(detail.getRemark());
List<BaseFile> files = qmsFileMapper.getBaseFileBatch(detail.getRecordId());
if (!CollectionUtils.isEmpty(files)) {
List<String> pics = files.stream().map(BaseFile::getFileAddress).collect(Collectors.toList());
String picurls = pics.stream().collect(Collectors.joining(","));
project.setColumn180190(project.getColumn180190()+","+picurls);
}
}else if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn180190(detail.getStatus().equals("Y")?"✓":"✘");
}else{
project.setColumn180190("-");
}
keystr = project.getProjectId()+"19";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn190200(detail.getStatus());
if(detail!=null && StringUtils.isNotBlank(detail.getRemark())){
project.setColumn190200(detail.getRemark());
List<BaseFile> files = qmsFileMapper.getBaseFileBatch(detail.getRecordId());
if (!CollectionUtils.isEmpty(files)) {
List<String> pics = files.stream().map(BaseFile::getFileAddress).collect(Collectors.toList());
String picurls = pics.stream().collect(Collectors.joining(","));
project.setColumn190200(project.getColumn190200()+","+picurls);
}
}else if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn190200(detail.getStatus().equals("Y")?"✓":"✘");
}else{
project.setColumn190200("-");
}
keystr = project.getProjectId()+"20";
detail = detailMap.get(keystr);
if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn200210(detail.getStatus());
if(detail!=null && StringUtils.isNotBlank(detail.getRemark())){
project.setColumn200210(detail.getRemark());
List<BaseFile> files = qmsFileMapper.getBaseFileBatch(detail.getRecordId());
if (!CollectionUtils.isEmpty(files)) {
List<String> pics = files.stream().map(BaseFile::getFileAddress).collect(Collectors.toList());
String picurls = pics.stream().collect(Collectors.joining(","));
project.setColumn200210(project.getColumn200210()+","+picurls);
}
}else if(detail!=null && StringUtils.isNotBlank(detail.getStatus())){
project.setColumn200210(detail.getStatus().equals("Y")?"✓":"✘");
}else{
project.setColumn200210("-");
}

@ -36,14 +36,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="sampleQuality" column="sample_quality" />
<result property="checkName" column="check_name" />
<result property="checkType" column="check_type"/>
<result property="reason" column="reason" />
<result property="productType" column="product_type"/>
</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,sample_quality,
check_time, check_result, status, check_type, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time,
factory_code, del_flag from qc_check_task
factory_code, del_flag,reason,product_type
from qc_check_task
</sql>
<select id="selectQcCheckReportIncomeList" parameterType="QcCheckReportIncome" resultMap="QcCheckReportIncomeResult">
@ -164,9 +166,58 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
) t
left join pro_order_workorder pow on pow.workorder_code = t.orderNo
left join base_equipment be on be.equipment_code = pow.workorder_name
where pow.del_flag = '0' and be.del_flag ='0'
</select>
<insert id="insertQcCheckReportIncome" parameterType="QcCheckReportIncome">
<select id="getTaskInfo" resultType="com.op.quality.domain.QcCheckReportIncome">
select record_id recordId, check_no checkNo, income_batch_no incomeBatchNo,
order_no orderNo, material_code materialCode, material_name materialName,
quality, unit, supplier_code supplierCode, supplier_name supplierName,
income_time incomeTime, check_loc checkLoc, check_status checkStatus,
check_man_code checkManCode, check_man_name checkManName, check_time checkTime,
check_result checkResult,create_by createBy, create_time createTime,
check_type checkType,sample_quality sampleQuality,noOk_quality noOkQuality,
reason,product_type productType,
confirm,
confirm_man_code confirmManCode,
confirm_man_name confirmManName,
confirm_remark confirmRemark,
confirm_time confirmTime
from qc_check_task where record_id = #{recordId}
</select>
<select id="getXJTaskInfo" resultType="com.op.quality.domain.QcCheckReportIncome">
SELECT
c.check_type checkType,
c.quality,
c.unit,
c.order_no orderNo,
c.supplier_name supplierName,
c.supplier_code supplierCode,
c.material_name materialName,
c.material_code materialCode,
c.income_time incomeTime
FROM
qc_check_task c
where c.check_type='checkTypeSCXJ' and c.order_no = #{orderNo}
GROUP BY
c.order_no,c.supplier_name,c.supplier_code,c.material_name,
c.material_code,c.income_time,
c.check_type,
c.quality,c.unit
</select>
<select id="getLastXJTaskInfo" resultType="com.op.quality.domain.QcCheckReportIncome">
SELECT
top 1
c.confirm,
c.confirm_man_code confirmManCode,
c.confirm_man_name confirmManName,
c.confirm_remark confirmRemark,
c.confirm_time confirmTime
FROM
qc_check_task c
where c.check_type='checkTypeSCXJ' and c.order_no = #{orderNo}
order by c.create_time desc
</select>
<insert id="insertQcCheckReportIncome" parameterType="QcCheckReportIncome">
insert into qc_check_task
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="recordId != null">record_id,</if>
@ -263,8 +314,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim>
where record_id = #{recordId}
</update>
<update id="submitConfirm">
update qc_check_task
set confirm = #{confirm},
confirm_man_code = #{confirmManCode},
confirm_man_name = #{confirmManName},
confirm_remark = #{confirmRemark},
confirm_time = #{confirmTime}
<where>
<if test="recordId != null">
and record_id = #{recordId}
</if>
<if test="orderNo != null">
and order_no = #{orderNo}
</if>
</where>
</update>
<delete id="deleteQcCheckReportIncomeByRecordId" parameterType="String">
<delete id="deleteQcCheckReportIncomeByRecordId" parameterType="String">
delete from qc_check_task where record_id = #{recordId}
</delete>

@ -54,6 +54,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="attr3 != null and attr3 != ''"> and attr3 = #{attr3}</if>
<if test="attr4 != null and attr4 != ''"> and attr4 = #{attr4}</if>
<if test="factoryCode != null and factoryCode != ''"> and factory_code = #{factoryCode}</if>
and del_flag = '0'
</where>
</select>

@ -35,13 +35,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="factoryCode" column="factory_code" />
<result property="delFlag" column="del_flag" />
<result property="checkType" column="check_type" />
<result property="sampleQuality" column="sample_quality" />
</resultMap>
<sql id="selectQcCheckTaskIncomeVo">
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, check_time, check_result, status, attr1, attr2, attr3, attr4, create_by,
create_time, update_by, update_time, factory_code, del_flag , check_type,noOk_quality
create_time, update_by, update_time, factory_code, del_flag , check_type,sample_quality, noOk_quality
from qc_check_task
</sql>
@ -51,7 +52,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
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.create_by,qct.create_time, qct.update_by, qct.update_time,qct.check_type,qct.noOk_quality,
qct.type_code
qct.sample_quality, qct.type_code
from qc_check_task qct
<where>
<if test="checkNo != null and checkNo != ''"> and qct.check_no = #{checkNo}</if>
@ -310,6 +311,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{recordId}
</foreach>
</delete>
<delete id="deleteQcCheckTaskDefects">
delete from qc_check_task_defect where belong_to = #{belongId}
</delete>
<select id="selectQcCheckTaskCheckNoByRecordIds" parameterType="String" resultMap="QcCheckTaskIncomeResult">
select check_no from qc_check_task where record_id in
@ -356,13 +360,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
qct.create_time createTime,
qct.check_no checkNo,
qct.check_time checkTime,
qct.check_result checkResult
qct.check_result checkResult,
qct.income_time incomeTime,
qct.check_loc checkLoc
from qc_check_task qct
left join pro_order_workorder pow on pow.workorder_code = qct.order_no
where qct.record_id = #{recordId}
</select>
<select id="getCkeckTaskXJList" resultType="com.op.quality.domain.QcCheckTaskIncome">
select
record_id recordId,
check_no checkNo,
income_batch_no incomeBatchNo,
check_status checkStatus,
check_man_code checkManCode,
check_man_name checkManName,
check_time checkTime,
check_result checkResult,
create_time createTime,
check_loc checkLoc,
sample_quality sampleQuality
from qc_check_task
where del_flag = '0' and check_type = 'checkTypeSCXJ' and order_no = #{orderNo}
</select>
<insert id="addCheckUsers">
<insert id="addCheckUsers">
insert into qc_check_task_user(
record_id,belong_to,check_no,
check_man_code,check_man_name,

@ -37,7 +37,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="checkName" column="check_name" />
<result property="checkType" column="check_type"/>
<result property="noOkQuality" column="noOk_quality"/>
<result property="reason" column="reason" />
<result property="productType" column="product_type" />
</resultMap>
<resultMap type="QcCheckReportIncome" id="QcCheckReportIncomeResult">
@ -73,6 +74,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="checkName" column="check_name" />
<result property="checkType" column="check_type"/>
<result property="createTimeStr" column="createTimeStr" />
<result property="confirm" column="confirm" />
<result property="confirmManCode" column="confirm_man_code" />
<result property="confirmManName" column="confirm_man_name" />
<result property="confirmManName" column="confirm_remark" />
</resultMap>
<sql id="selectQcCheckTaskProduceVo">
@ -81,7 +86,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
check_man_code, check_man_name, check_time, check_result, status, attr1,
attr2, attr3, attr4, create_by, create_time, update_by, update_time,
factory_code, del_flag , check_type,sample_quality,noOk_quality,
aNoOkquality,bNoOkquality,cNoOkquality
aNoOkquality,bNoOkquality,cNoOkquality,reason,product_type
from qc_check_task
</sql>
@ -205,6 +210,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="delFlag != null">del_flag,</if>
<if test="checkType != null">check_type,</if>
<if test="typeCode != null">type_code,</if>
<if test="reason != null">reason,</if>
<if test="productType != null">product_type,</if>
<if test="confirmManCode != null">confirm_man_code,</if>
<if test="confirmManName != null">confirm_man_name,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="recordId != null">#{recordId},</if>
@ -242,6 +251,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="delFlag != null">#{delFlag},</if>
<if test="checkType != null">#{checkType},</if>
<if test="typeCode != null">#{typeCode},</if>
<if test="reason != null">#{reason},</if>
<if test="productType != null">#{productType},</if>
<if test="confirmManCode != null">#{confirmManCode},</if>
<if test="confirmManName != null">#{confirmManName},</if>
</trim>
</insert>
@ -280,6 +293,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<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="reason != null">reason = #{reason},</if>
<if test="productType != null">product_type = #{productType},</if>
<if test="confirmManCode != null">confirm_man_code = #{confirmManCode},</if>
<if test="confirmManName != null">confirm_man_name = #{confirmManName},</if>
</trim>
where record_id = #{recordId}
</update>
@ -307,7 +324,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
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_time, qct.check_result, qct.check_type,'首件检验' check_name,
CONVERT(varchar(10),qct.create_time, 120) createTimeStr
CONVERT(varchar(10),qct.create_time, 120) createTimeStr,
qct.confirm,qct.confirm_man_name
from qc_check_task qct
<where>
<if test="checkNo != null and checkNo != ''"> and qct.check_no = #{checkNo}</if>
@ -333,7 +351,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
'','','',
qct.order_no, qct.material_code, qct.material_name, qct.quality, qct.unit,
qct.supplier_code, qct.supplier_name, qct.income_time,'','',
'','', qct.check_type,'巡检检验' check_name,CONVERT(varchar(10),qct.create_time, 120) createTimeStr
'','', qct.check_type,'巡检检验' check_name,CONVERT(varchar(10),qct.create_time, 120) createTimeStr,
qct.confirm,qct.confirm_man_name
from qc_check_task qct
<where>
<if test="checkNo != null and checkNo != ''"> and qct.check_no = #{checkNo}</if>
@ -355,7 +374,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and qct.check_type = 'checkTypeSCXJ'
</where>
GROUP BY qct.order_no, qct.material_code, qct.material_name, qct.quality, qct.unit,
qct.supplier_code, qct.supplier_name, qct.income_time, qct.check_type,CONVERT(varchar(10),qct.create_time, 120)
qct.supplier_code, qct.supplier_name, qct.income_time, qct.check_type,CONVERT(varchar(10),qct.create_time, 120),
qct.confirm,qct.confirm_man_name
) t
where 1=1
<if test="checkType != null ">

@ -34,6 +34,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="factoryCode" column="factory_code" />
<result property="delFlag" column="del_flag" />
<result property="checkType" column="check_type" />
<result property="sampleQuality" column="sample_quality" />
</resultMap>
<sql id="selectQcCheckTaskWarehousingVo">
@ -41,7 +42,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
material_name, quality, unit, supplier_code, supplier_name,
income_time, check_loc, check_status, check_man_code, check_man_name,
check_time, check_result, status, create_by,
create_time, update_by, update_time, check_type
create_time, update_by, update_time, check_type, sample_quality, noOk_quality
from qc_check_task
</sql>
@ -50,8 +51,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
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.create_by,qct.create_time, qct.update_by, qct.update_time,qct.check_type,
q.type_code
qct.create_by,qct.create_time, qct.update_by, qct.update_time,qct.check_type, qct.sample_quality,
qct.noOk_quality, q.type_code
from qc_check_task qct
left join qc_check_type q on q.id = qct.check_type
<where>
@ -202,9 +203,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="sampleQuality != null">sample_quality = #{sampleQuality},</if>
<if test="noOkQuality != null">noOk_quality = #{noOkQuality},</if>
<if test="aNoOkquality != null">aNoOkquality = #{aNoOkquality},</if>
<if test="bNoOkquality != null">bNoOkquality = #{bNoOkquality},</if>
<if test="cNoOkquality != null">cNoOkquality = #{cNoOkquality},</if>
</trim>
where record_id = #{recordId}
</update>

@ -31,8 +31,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectQcCheckUnqualifiedList" parameterType="QcCheckUnqualified" resultType="com.op.quality.domain.QcCheckUnqualified">
select qcu.id,qcu.task_id taskId,qcu.status,qcu.next_node_code nextNodeCode,qcu.next_node_name nextNodeName,qcu.remark,
qcu.create_time createTime,
qct.check_type checkType,qtn.check_name checkName,qct.check_no checkNo,qct.income_batch_no incomeBatchNo,qct.order_no orderNo,
qcu.create_time createTime,qcu.start_oa_status startOaStatus,qcu.start_oa_msg startOaMsg,qcu.requestid requestid,
qcu.start_time startTime,
qct.check_type checkType,qtn.check_name checkName,qct.check_no checkNo,qct.income_batch_no incomeBatchNo,qct.order_no orderNo,
qct.material_code materialCode,qct.material_name materialName,qct.quality,qct.unit,qct.supplier_code supplierCode,
qct.supplier_name supplierName,qct.income_time incomeTime,qct.check_loc checkLoc,qct.check_status checkStatus,
qct.check_man_code checkManCode,qct.sample_quality sampleQuality,qct.noOk_quality noOkQuality,
@ -190,7 +191,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
check_type,noOk_quality,sample_quality,type_code,order_type
)
select
#{recordId},check_no,income_batch_no ,order_no ,
#{recordId},concat(check_no,FORMAT(GETDATE(),'HHmmss')),income_batch_no ,order_no ,
material_code,material_name,quality ,unit ,
supplier_code,supplier_name,income_time,
'0',
@ -261,7 +262,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="factoryCode != null and factoryCode != ''">factory_code = #{factoryCode},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="updateBy != null">start_man_code = #{startManCode},</if>
<if test="startTime != null">start_time = #{startTime},</if>
<if test="requestid != null">requestid = #{requestid},</if>
<if test="startOaStatus != null">start_oa_status = #{startOaStatus},</if>
<if test="startOaMsg != null">start_oa_msg = #{startOaMsg},</if>

@ -3,7 +3,7 @@
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" />
@ -26,7 +26,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectQcSampleRuleList" parameterType="QcSampleRule" resultMap="QcSampleRuleResult">
<include refid="selectQcSampleRuleVo"/>
<where>
<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>
@ -36,13 +36,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<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">
<select id="getSampNum" resultType="java.lang.String">
select sample_quality
from qc_sample_rule
where end_value>= #{quality} and #{quality}>=start_value and del_flag = '0'
and check_type = #{checkType}
</select>
<insert id="insertQcSampleRule" parameterType="QcSampleRule">
insert into qc_sample_rule
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
@ -100,9 +106,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete>
<delete id="deleteQcSampleRuleByIds" parameterType="String">
delete from qc_sample_rule where id in
delete from qc_sample_rule where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>
</mapper>

@ -130,8 +130,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
order by qctp.sort
</select>
<select id="getProjectDetail" resultType="com.op.quality.domain.QcStaticTable">
select qctd.project_id projectId,
select qctd.record_id recordId,
qctd.project_id projectId,
qctd.status,
qctd.remark,
CONVERT(VARCHAR(5),qctd.create_time, 108),
concat(qctd.project_id,
case when '09:00'>= CONVERT(VARCHAR(5),qctd.create_time, 108) and CONVERT(VARCHAR(5),qctd.create_time, 108)> '08:00' then '08'

@ -55,6 +55,16 @@ public class BaseEquipmentController extends BaseController {
return getDataTable(list);
}
/**
*
*/
@GetMapping("/getEquipmentListByCategory")
public TableDataInfo selectBaseEquipmentListByCategory(BaseEquipment baseEquipment) {
startPage();
List<BaseEquipment> list = baseEquipmentService.selectEquipmentListByCategory(baseEquipment);
return getDataTable(list);
}
/**
*
*/
@ -267,5 +277,4 @@ public class BaseEquipmentController extends BaseController {
List<BaseEquipment> list = baseEquipmentService.selectBYRecordsList(baseEquipment);
return getDataTable(list);
}
}

@ -126,4 +126,7 @@ public interface BaseEquipmentMapper {
//查询保养记录
List<BaseEquipment> selectBYRecordsList(BaseEquipment baseEquipment);
//查询辅助设备
List<BaseEquipment> selectEquipmentListByCategory(BaseEquipment baseEquipment);
}

@ -89,4 +89,7 @@ public interface IBaseEquipmentService {
//查看保养记录
List<BaseEquipment> selectBYRecordsList(BaseEquipment baseEquipment);
//辅助设备列表
List<BaseEquipment> selectEquipmentListByCategory(BaseEquipment baseEquipment);
}

@ -130,6 +130,18 @@ public class BaseEquipmentServiceImpl implements IBaseEquipmentService {
return baseEquipmentMapper.selectBaseEquipmentList(baseEquipment);
}
/**
*
*
* @param baseEquipment
* @return
*/
@Override
@DS("#header.poolName")
public List<BaseEquipment> selectEquipmentListByCategory(BaseEquipment baseEquipment) {
return baseEquipmentMapper.selectEquipmentListByCategory(baseEquipment);
}
/**
*
*
@ -347,7 +359,6 @@ public class BaseEquipmentServiceImpl implements IBaseEquipmentService {
baseEquipmentMapper.bindAuxiliaryEquipment(equBindAuxiliaryEquipment);
}
}
return list;
}
@ -360,6 +371,13 @@ public class BaseEquipmentServiceImpl implements IBaseEquipmentService {
@Override
@DS("#header.poolName")
public int deleteBaseEquipmentByEquipmentIds(Long[] equipmentIds) {
for(long equipmentId:equipmentIds){
BaseEquipment list = baseEquipmentMapper.selectBaseEquipmentByEquipmentId(equipmentId);
//删除备件信息
baseEquipmentMapper.deleteEquSpareEquipmentByCode(list.getEquipmentCode());
//删除辅助设备
baseEquipmentMapper.deleteAuxiliaryEquipmentByCode(list.getEquipmentCode());
}
return baseEquipmentMapper.deleteBaseEquipmentByEquipmentIds(equipmentIds);
}
@ -372,6 +390,11 @@ public class BaseEquipmentServiceImpl implements IBaseEquipmentService {
@Override
@DS("#header.poolName")
public int deleteBaseEquipmentByEquipmentId(Long equipmentId) {
BaseEquipment list = baseEquipmentMapper.selectBaseEquipmentByEquipmentId(equipmentId);
//删除备件信息
baseEquipmentMapper.deleteEquSpareEquipmentByCode(list.getEquipmentCode());
//删除辅助设备
baseEquipmentMapper.deleteAuxiliaryEquipmentByCode(list.getEquipmentCode());
return baseEquipmentMapper.deleteBaseEquipmentByEquipmentId(equipmentId);
}

@ -46,7 +46,7 @@ import javax.servlet.http.HttpServletRequest;
/**
* Service
*
*s
* @author Open Platform
* @date 2023-07-06
*/
@ -543,7 +543,6 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
wmsOdsMateStorageNewsSnMapper.updatekdd(wmsOdsEmStorageNews);//库存调整
wmsOdsMateStorageNewsSn.setUserDefined1("1");
wmsOdsMateStorageNewsSnMapper.updateWmsOdsMateStorageNewsSn(wmsOdsMateStorageNewsSn);//库存明细
}
return null;
}
@ -565,8 +564,9 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
// List<OdsProcureOutOrder> orderList1=odsProcureOutOrderMapper.selectOdsProcureOutOrderListByIds(orderList);
List<OdsProcureOutOrder> orderList1=odsProcureOutOrderMapper.selectOdsProcureOutOrderListByu1(orderList);
//查询这个地方先暂时去掉Order_Status = '3' 条件
List<SapMaterialPosting> sapMaterialPostingList=new ArrayList<>();
//List<SapMaterialPosting> sapMaterialPostingList=new ArrayList<>();
List<OdsProcureOutOrder> orderList2=new ArrayList<>();
List<Map<String, Object>> mapList=new ArrayList<>();
List<SapBackflushMPQuery> sapMaterialPostingFCList=new ArrayList<>();//反冲
List<OdsProcureOutOrder> orderList2FC=new ArrayList<>();//反冲
for (OdsProcureOutOrder odsProcureOutOrder:
@ -584,24 +584,23 @@ public class OdsProcureOrderServiceImpl implements IOdsProcureOrderService {
sapMaterialPostingFCList.add(sapBackflushMPQuery);
orderList2FC.add(odsProcureOutOrder);
}else {
SapMaterialPosting sapMaterialPosting =new SapMaterialPosting();
sapMaterialPosting.setAufnr(odsProcureOutOrder.getProduceCode());//订单号
sapMaterialPosting.setBwart("261"); //移动类型
sapMaterialPosting.setPlant(odsProcureOutOrder.getSiteCode()); //工厂
Map<String, Object> map=new HashMap<>();
map.put("AUFNR", odsProcureOutOrder.getProduceCode());
map.put("PLANT", odsProcureOutOrder.getSiteCode());
String lgort= baseWarehouseMapper.selectByCode(odsProcureOutOrder.getLocCode());
sapMaterialPosting.setLgort(lgort);//库存地点
sapMaterialPosting.setMatnr(odsProcureOutOrder.getMaterialCode());//物料号
sapMaterialPosting.setQuantity(odsProcureOutOrder.getOutNumber().toString()); //数量
sapMaterialPosting.setMeins(odsProcureOutOrder.getUnit()); //基本计量单位
sapMaterialPosting.setBatch(odsProcureOutOrder.getUserDefined2()); //批号
sapMaterialPostingList.add(sapMaterialPosting);
map.put("LGORT", lgort);
map.put("MATNR", odsProcureOutOrder.getMaterialCode());
map.put("QUANTITY", odsProcureOutOrder.getOutNumber().toString());
map.put("MEINS", odsProcureOutOrder.getUnit());
mapList.add(map);
orderList2.add(odsProcureOutOrder);
}
}
if (sapMaterialPostingList.size()>0){//非反冲过账
R result= remoteSapService.sapMaterialPosting(sapMaterialPostingList);
if (mapList.size()>0){//非反冲过账
SapMaterialPosting sapMaterialPosting =new SapMaterialPosting();
sapMaterialPosting.setPostingType("261");
sapMaterialPosting.setMapList(mapList);
R result= remoteSapService.sapMaterialPosting(sapMaterialPosting);
OdsProcureOutOrder order =new OdsProcureOutOrder();
int code= result.getCode();
String msg= result.getMsg();

@ -228,6 +228,13 @@
</where>
</select>
<select id="selectEquipmentListByCategory" parameterType="BaseEquipment" resultMap="BaseEquipmentResult">
<include refid="selectBaseEquipmentVo"/>
where equipment_code != #{equipmentCode}
and equipment_category = #{equipmentCategory}
and del_flag ='0'
</select>
<select id="selectBaseEquipmentByEquipmentId" parameterType="Long" resultMap="BaseEquipmentResult">
<include refid="selectBaseEquipmentVo"/>
where equipment_id = #{equipmentId}

Loading…
Cancel
Save