Merge remote-tracking branch 'origin/master'

master
mengjiao 1 year ago
commit 61996ec9b9

@ -127,8 +127,13 @@ public class MesReportWorkController extends BaseController {
*/
@RequiresPermissions("mes:reportWork:edit")
@PutMapping("/reportSap")
public R reportSap(@RequestBody MesReportWork mesReportWork) {
return mesReportWorkService.reportSap(mesReportWork);
public AjaxResult reportSap(@RequestBody MesReportWork mesReportWork) {
R r = mesReportWorkService.reportSap(mesReportWork);
if(r.getCode()==200){
return AjaxResult.success();
}else{
return AjaxResult.error("报工失败:"+r.getMsg());
}
}
/**

@ -4,6 +4,7 @@ import java.util.HashMap;
import java.util.List;
import com.op.common.core.domain.R;
import com.op.common.core.web.domain.AjaxResult;
import com.op.mes.domain.*;
import com.op.mes.domain.dto.LineChartDto;
import com.op.mes.domain.dto.SysFactoryDto;

@ -344,7 +344,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
// mesReportWorkMapper.updateOrderWorkStatus(rworkVo);
// }
}
return R.fail("子单报工失败");
return sapRson;
}
/**
@ -363,6 +363,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
* @return
*/
private R reportHzToSap(MesReportWork workOrder){
Date nowTime = DateUtils.getNowDate();
SapRFW sapRFW = new SapRFW();
sapRFW.setAufnr(workOrder.getWorkorderCodeSap());//虚拟工单号
sapRFW.setGamng(workOrder.getQuantityFeedback().toString());//报工数量
@ -402,12 +403,11 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
} else {
workOrder.setUploadStatus("2");
workOrder.setUploadMsg(r.getMsg());
return r;
}
workOrder.setUploadTime(DateUtils.getNowDate());
workOrder.setUploadTime(nowTime);
mesReportWorkMapper.updateSyncSapStatus(workOrder);
return R.ok();
return r;
}

@ -481,7 +481,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
mrw.workTime,mrw.useMan,mrw.uploadStatus,mrw.unit,
pow.order_code orderCode,pow.quantity_split quantity,
pow.workorder_code_sap workorderCodeSap,
pow.product_date productDate
pow.product_date productDate,
mrw.uploadTime,
mrw.uploadMsg
from (
select workorder_code workorderCode,
product_code productCode,
@ -493,7 +495,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
sum(work_time) workTime,
sum(use_man) useMan,
upload_status uploadStatus,
<!--,upload_time uploadTime,-->
upload_time uploadTime,
upload_msg uploadMsg,
unit
from mes_report_work
where del_flag = '0' and parent_order = '0'
@ -505,7 +508,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<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_time-->
,upload_time,upload_msg
) mrw
left join pro_order_workorder pow on mrw.workorderCode = pow.workorder_code
<where>

@ -139,6 +139,17 @@ public class QcCheckTaskIncome extends BaseEntity {
private String updateByName;
private String fileList;
private List<BaseFile> files;
private String remark;
@Override
public String getRemark() {
return remark;
}
@Override
public void setRemark(String remark) {
this.remark = remark;
}
public List<BaseFile> getFiles() {
return files;

@ -96,4 +96,6 @@ public interface QcCheckTaskIncomeMapper {
List<QcCheckTaskDefect> getCkeckDefectList(QcCheckTaskDetail qcCheckTaskDetail);
List<QcCheckTaskDefect> getDefectType(QcCheckTaskDetail qcCheckTaskDetail);
QcCheckTaskIncome getTaskInfo(String recordId);
}

@ -391,6 +391,7 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
qcCheckTaskIncome.setUpdateBy(SecurityUtils.getUsername());
AjaxResult oaR = new AjaxResult();
if("material".equals(qcCheckTaskIncome.getTypeCode())) {
qcCheckTaskIncome.setRecordId(qcCheckTaskIncome.getRecordId());//检验任务主表id
oaR = this.createLLOA(qcCheckTaskIncome);
}else if("produce".equals(qcCheckTaskIncome.getTypeCode())){
oaR = this.createProduceOA(qcCheckTaskIncome);
@ -417,6 +418,9 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
* memo PZGLBZG QC
*/
private AjaxResult createLLOA(QcCheckTaskIncome qcCheckTaskIncome){
QcCheckTaskIncome detailInfo = qcCheckTaskIncomeMapper.getTaskInfo(qcCheckTaskIncome.getRecordId());
//发起来料检验OA流程
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("user",qcCheckTaskIncome.getUpdateBy());//提交人工号
@ -428,13 +432,13 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
mainObject.append("{");
mainObject.append("\"CQ\":"+qcCheckTaskIncome.getFactoryCode());//厂区
mainObject.append(",\"LLLB\":"+0);//来料类别【0、1】
mainObject.append(",\"MATNR\":"+"\""+qcCheckTaskIncome.getMaterialCode()+"\"");//物料编码
mainObject.append(",\"MAKTX\":"+"\""+qcCheckTaskIncome.getMaterialName()+"\"");//物料名称
mainObject.append(",\"suppliernum\":"+"\""+qcCheckTaskIncome.getSupplierCode()+"\"");//供应商编码
mainObject.append(",\"supplier\":"+"\""+qcCheckTaskIncome.getSupplierName()+"\"");//供应商名称
mainObject.append(",\"CHARG\":"+"\""+qcCheckTaskIncome.getIncomeBatchNo()+"\"");//生产批号
mainObject.append(",\"comeQty\":"+"\""+qcCheckTaskIncome.getQuality()+"\"");//来料数量
//mainObject.append(",\"memo\":"+"\""+qcCheckTaskIncome.getQuality0()+"\"");//不合格情况描述
mainObject.append(",\"MATNR\":"+"\""+detailInfo.getMaterialCode()+"\"");//物料编码
mainObject.append(",\"MAKTX\":"+"\""+detailInfo.getMaterialName()+"\"");//物料名称
mainObject.append(",\"suppliernum\":"+"\""+detailInfo.getSupplierCode()+"\"");//供应商编码
mainObject.append(",\"supplier\":"+"\""+detailInfo.getSupplierName()+"\"");//供应商名称
mainObject.append(",\"CHARG\":"+"\""+detailInfo.getIncomeBatchNo()+"\"");//生产批号
mainObject.append(",\"comeQty\":"+"\""+detailInfo.getQuality()+"\"");//来料数量
mainObject.append(",\"memo\":"+"\""+detailInfo.getRemark()+"\"");//不合格情况描述
mainObject.append("}");
paramMap.put("mainObject",mainObject.toString());
@ -456,6 +460,9 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
* BJDATE JYCODE JYDATE JYRESULT0 2
* PROCODEBAK BZ CPCYS PCJYBHGMS */
private AjaxResult createProduceOA(QcCheckTaskIncome qcCheckTaskIncome){
QcCheckTaskIncome detailInfo = qcCheckTaskIncomeMapper.getTaskInfo(qcCheckTaskIncome.getRecordId());
//发起来料检验OA流程
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("user",qcCheckTaskIncome.getUpdateBy());//提交人工号qcCheckTaskIncome.getUpdateBy()
@ -465,11 +472,11 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
StringBuffer mainObject = new StringBuffer();
mainObject.append("{");
mainObject.append("\"SSCJ\":"+qcCheckTaskIncome.getSupplierName());//所属车间
mainObject.append("\"SSCJ\":"+detailInfo.getSupplierName());//所属车间
mainObject.append(",\"ZRPSN\":"+"\""+qcCheckTaskIncome.getUpdateBy()+"\"");//报检人
mainObject.append(",\"OEM\":"+"\""+qcCheckTaskIncome.getFactoryCode()+"\"");//OEM厂名
mainObject.append(",\"DH\":"+"\""+qcCheckTaskIncome.getWorkorderCodeSap()+"\"");//单号
//mainObject.append(",\"MEMO01\":"+"\""+qcCheckTaskIncome.getRemarks()+"\"");//不合格情况描述
mainObject.append(",\"MEMO01\":"+"\""+detailInfo.getRemark()+"\"");//不合格情况描述
mainObject.append("}");
@ -640,8 +647,10 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
//发起来料检验OA流程
AjaxResult oaR = new AjaxResult();
if("material".equals(qcCheckTaskIncome.getTypeCode())) {
qcCheckTaskIncome.setRecordId(belongId);//检验任务主表id
oaR = this.createLLOA(qcCheckTaskIncome);
}else if("produce".equals(qcCheckTaskIncome.getTypeCode())){
qcCheckTaskIncome.setRecordId(belongId);//检验任务主表id
oaR = this.createProduceOA(qcCheckTaskIncome);
}else if("product".equals(qcCheckTaskIncome.getTypeCode())) {
//TODO;不走OA
@ -650,9 +659,9 @@ public class QcCheckTaskIncomeServiceImpl implements IQcCheckTaskIncomeService {
if((oaR.get("code").toString()).equals("200")){
/**qc_check_unqualified**/
unqualified.setRequestid(oaR.get("data").toString());
n = qcCheckUnqualifiedMapper.insertQcCheckUnqualified(unqualified);
logger.info("qc_check_unqualified:" + n);
}
n = qcCheckUnqualifiedMapper.insertQcCheckUnqualified(unqualified);
logger.info("qc_check_unqualified:" + n);
}
return n ;
}

@ -191,18 +191,7 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService
qcCheckTaskProduce.setCheckManCode("");
/**qc_user_material取默认检查人**/
List<QcUserMaterialDTO> users = qcCheckTaskIncomeMapper.getUserByMaterial(qcCheckTaskProduce.getMaterialCode());
if(CollectionUtils.isEmpty(users)){
QcUserMaterialDTO dto0 = new QcUserMaterialDTO();
dto0.setId(IdUtils.fastSimpleUUID());
dto0.setBelongTo(beLongId);
dto0.setCheckNo(qcCheckTaskProduce.getCheckNo());
dto0.setCreateBy(createBy);
dto0.setFactoryCode(factoryCode);
dto0.setCreateTime(nowDate);
dto0.setUserCode("mobile");
dto0.setUserName("手持测试用户");
users.add(dto0);
}else{
if(!CollectionUtils.isEmpty(users)){
for(QcUserMaterialDTO user:users){
user.setId(IdUtils.fastSimpleUUID());
user.setBelongTo(beLongId);
@ -211,9 +200,9 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService
user.setFactoryCode(factoryCode);
user.setCreateTime(nowDate);
}
int m=qcCheckTaskIncomeMapper.addCheckUsers(users);
logger.info("检查人新增"+m+"成功");
}
int m=qcCheckTaskIncomeMapper.addCheckUsers(users);
logger.info("检查人新增"+m+"成功");
}
/**qc_check_task**/
qcCheckTaskProduceMapper.insertQcCheckTaskProduce(qcCheckTaskProduce);

@ -123,6 +123,11 @@ public class QcProCheckServiceImpl implements QcProCheckService {
public List<QcCheckTaskIncome> getCheckTaskList(QcCheckTaskIncome qcCheckTaskIncome) {
DynamicDataSourceContextHolder.push(qcCheckTaskIncome.getFactoryCode());
List<QcCheckTaskIncome> dtos = qcProCheckMapper.getCheckTaskList(qcCheckTaskIncome);
for(QcCheckTaskIncome dto:dtos){
if(StringUtils.isEmpty(dto.getWorkorderCodeSap())){
dto.setWorkorderCodeSap(dto.getOrderNo());
}
}
return dtos;
}

@ -137,7 +137,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
qctp.sample
from qc_check_task_detail td
left join qc_check_type_project qctp on td.type_project_id = qctp.id
where td.belong_to = #{belongTo} and td.del_flag='0' and qctp.del_flag = '0'
where td.belong_to = #{belongTo} and td.del_flag='0' and qctp.del_flag = '0' and td.rule_name is not null
</select>
<select id="getQcUnitList" resultType="com.op.system.api.domain.SysDictData">
select dict_label dictLabel,
@ -341,6 +341,33 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where qct.order_code = #{checkType} and qdt.del_flag = '0'
order by qdt.defect_code
</select>
<select id="getTaskInfo" resultType="com.op.quality.domain.QcCheckTaskIncome">
select
qct.material_code materialCode,
qct.material_name materialName,
qct.supplier_code supplierCode,
qct.supplier_name supplierName,
qct.income_batch_no incomeBatchNo,
qct.quality,
t.remark
from qc_check_task qct
left join(
SELECT
belong_to,
STUFF(
(SELECT ';' + rule_name+':'+actual_value
FROM qc_check_task_detail
WHERE belong_to = qctd.belong_to
FOR xml path('')
),1,1,''
) remark
FROM qc_check_task_detail qctd where qctd.del_flag = '0' and belong_to=#{recordId}
GROUP by qctd.belong_to
) t on qct.record_id = t.belong_to
where qct.record_id = #{recordId}
</select>
<insert id="addCheckUsers">
insert into qc_check_task_user(
record_id,belong_to,check_no,

@ -100,7 +100,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from wms_raw_order_in wroi
left join base_supplier bs on bs.supplier_code = wroi.supply_code
where wroi.active_flag = '1' and wroi.quality_status = '0'
<if test="orderNo != null">and wroi.order_no like concat like ('%',#{orderNo})</if>
<if test="orderNo != null">and wroi.order_no like concat ('%',#{orderNo},'%')</if>
</select>
<select id="getWorkOrder" resultType="com.op.quality.domain.QcCheckTaskIncome">
select
@ -114,7 +114,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
status
from pro_order_workorder
where status != 'w5' and parent_order != '0' and workorder_code_sap is not null
<if test="orderNo != null">and workorder_code_sap like concat like ('%',#{orderNo})</if>
<if test="orderNo != null">and workorder_code_sap like concat ('%',#{orderNo},'%')</if>
order by product_date desc
</select>
<select id="getProductWorkOrder" resultType="com.op.quality.domain.QcCheckTaskIncome">

@ -256,12 +256,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
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.check_type,
qct.noOk_quality,qct.aNoOkquality,qct.bNoOkquality,qct.cNoOkquality,qct.sample_quality
,pow.workorder_code_sap workorderCodeSap
<if test='checkType=="checkTypeSCXJ" or checkType=="checkTypeSC"'>
,pow.workorder_code_sap workorderCodeSap
</if>
from qc_check_task qct
left join qc_check_task_user qctu on qctu.belong_to = qct.record_id
left join pro_order_workorder pow on pow.workorder_code = qct.order_no
<if test='checkType=="checkTypeSCXJ" or checkType=="checkTypeSC"'>
left join pro_order_workorder pow on pow.workorder_code = qct.order_no
</if>
<where>
and qct.del_flag = '0' and pow.del_flag = '0'
and qct.del_flag = '0'
<if test='checkType=="checkTypeSCXJ" or checkType=="checkTypeSC"'>
and pow.del_flag = '0'
</if>
<if test="checkType != null and checkType != ''"> and qct.check_type = #{checkType}</if>
<if test="checkManCode != null and checkManCode != ''"> and qctu.check_man_code = #{checkManCode}</if>
<if test="checkStatus != null and checkStatus != ''"> and qct.check_status in (${checkStatus})</if>

Loading…
Cancel
Save