|
@@ -23,6 +23,7 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.util.Date;
|
|
|
import java.util.LinkedList;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -121,8 +122,8 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
//查询作业明细详情
|
|
|
ApsProcessOperationProcessEquDo equDo = apsProcessOperationProcessEquDao.selectById(processequid);
|
|
|
|
|
|
- //更新设备的待报工记录ID
|
|
|
- apsProcessOperationProcessEquDao.updateEquByCancelRecord(recordId, equDo.getProcessdeviceid());
|
|
|
+// //更新设备的待报工记录ID
|
|
|
+// apsProcessOperationProcessEquDao.updateEquByCancelRecord(recordId, equDo.getProcessdeviceid());
|
|
|
|
|
|
//作业明细的作业状态
|
|
|
/**
|
|
@@ -174,6 +175,15 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
|
|
|
apsProcessOperationProcessEquDao.updateById(apsProcessOperationProcessEquDo);
|
|
|
|
|
|
+ //如果没有输入批次号,取消开工需要还原
|
|
|
+ if (ObjectUtil.isEmpty(recordsDo.getBatchnumber())) {
|
|
|
+ //如果开工时间是当前月,需要取消流水号
|
|
|
+ if (DateUtil.month(recordsDo.getStartworktime()) == DateUtil.month(DateUtil.date())) {
|
|
|
+ //轧机/熔炉 对应炉号 流水号配置表中的值-1, 如果是铸轧,需要减去 输出物料的单卷数合计
|
|
|
+ this.cancelNumber(equDo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//更新其余信息
|
|
|
CommonUpdateProductionStatusReq commonUpdateProductionStatusReq = new CommonUpdateProductionStatusReq();
|
|
|
commonUpdateProductionStatusReq.setProcessOperationEquId(equDo.getId());
|
|
@@ -182,6 +192,29 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
return R.ok();
|
|
|
}
|
|
|
|
|
|
+ private void cancelNumber(ApsProcessOperationProcessEquDo equDo) {
|
|
|
+ //炉号-1
|
|
|
+ //加工设备ID
|
|
|
+ String processdeviceid = equDo.getProcessdeviceid();
|
|
|
+ //在流水表中的 标识
|
|
|
+ String moduleCode = "aps_report_output_heat_" + processdeviceid;
|
|
|
+ apsProcessOperationProcessEquDao.updateSerialNumber(moduleCode, 1);
|
|
|
+
|
|
|
+ //查询坯料计划
|
|
|
+ ApsBlankOrderDo apsBlankOrderDo = apsBlankOrderService.getById(equDo.getBlankid());
|
|
|
+ if (ObjectUtil.isNotEmpty(apsBlankOrderDo.getBlanktype()) && apsBlankOrderDo.getBlanktype().equals("铸轧")) {
|
|
|
+ //查询 工序作业明细对应的 输出物料
|
|
|
+ List<ApsProcessOperationOutMaterDo> list = apsProcessOperationOutMaterService.list(new QueryWrapper<ApsProcessOperationOutMaterDo>().lambda().eq(ApsProcessOperationOutMaterDo::getMainid, equDo.getProcessid()));
|
|
|
+ //合计需要减的值
|
|
|
+ int needCancelValue = 0;
|
|
|
+ for (ApsProcessOperationOutMaterDo apsProcessOperationOutMaterDo : list) {
|
|
|
+ needCancelValue += apsProcessOperationOutMaterDo.getOutval();
|
|
|
+ }
|
|
|
+ apsProcessOperationProcessEquDao.updateSerialNumber("aps_report_output_" + processdeviceid, needCancelValue);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional
|
|
|
public R startReport(StartRePortReq req) {
|
|
@@ -196,26 +229,57 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
//查询订单的详情
|
|
|
ApsProductionOrderDo apsProductionOrderDo = apsProductionOrderService.getById(apsBlankOrderDo.getProductionorderid());
|
|
|
|
|
|
- //根据设备ID查询对应车间代号和设备代号
|
|
|
- OrganizationCodeAndDeviceCodeVo organizationCodeAndDeviceCodeVo = this.baseMapper.selectOrganizationCodeAndDeviceCode(apsProcessOperationProcessEquDo.getProcessdeviceid());
|
|
|
- if (ObjectUtil.isEmpty(organizationCodeAndDeviceCodeVo) || ObjectUtil.isEmpty(organizationCodeAndDeviceCodeVo.getDeviceCode()) || ObjectUtil.isEmpty(organizationCodeAndDeviceCodeVo.getOrganizationCode())) {
|
|
|
- return R.error("未找到对应的车间代号和设备代号");
|
|
|
- }
|
|
|
- //设备的待加工ID
|
|
|
- String waitReportId = organizationCodeAndDeviceCodeVo.getWaitReportId();
|
|
|
- //如果工序作业加工设备已有其他作业状态为已开工,错误提示:该设备当前加工中的作业还未报工,不能开工新的作业
|
|
|
- if (ObjectUtil.isNotEmpty(waitReportId)) {
|
|
|
- //查询当前报工的工序作业明细详情
|
|
|
- ApsReportRecordsDo apsReportRecordsDo = this.getById(waitReportId);
|
|
|
- String processequid = apsReportRecordsDo.getProcessequid();
|
|
|
- ApsProcessOperationProcessEquDo doingProcessEqu = apsProcessOperationProcessEquService.getById(processequid);
|
|
|
- //计划开工时间不相等,表示不是合并工序
|
|
|
- if (doingProcessEqu.getPlanstartdate().compareTo(apsProcessOperationProcessEquDo.getPlanstartdate()) != 0) {
|
|
|
+ if (ObjectUtil.isEmpty(req.getInputBatchNumber())) {
|
|
|
+ //根据设备ID查询对应车间代号和设备代号
|
|
|
+ OrganizationCodeAndDeviceCodeVo organizationCodeAndDeviceCodeVo = this.baseMapper.selectOrganizationCodeAndDeviceCode(apsProcessOperationProcessEquDo.getProcessdeviceid());
|
|
|
+ if (ObjectUtil.isEmpty(organizationCodeAndDeviceCodeVo) || ObjectUtil.isEmpty(organizationCodeAndDeviceCodeVo.getDeviceCode()) || ObjectUtil.isEmpty(organizationCodeAndDeviceCodeVo.getOrganizationCode())) {
|
|
|
+ return R.error("未找到对应的车间代号和设备代号");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 如果工序作业明细加工设备已有其他作业明细正在加工(待报工记录ID不为空),
|
|
|
+ * 并且(不是排程合并作业,或者与工序作业明细不是同一排程合并作业),
|
|
|
+ * 则错误提示:该设备当前加工中的作业还未报工,不能开工新的作业
|
|
|
+ */
|
|
|
+ //当前工序作业明细的加工设备ID
|
|
|
+ String processdeviceid = apsProcessOperationProcessEquDo.getProcessdeviceid();
|
|
|
+ //当前工序作业明细的ID
|
|
|
+ String apsProcessOperationProcessEquDoId = apsProcessOperationProcessEquDo.getId();
|
|
|
+ //查询当前工序作业的作业明细的 加工设备 对应的其他工序作业的作业明细 并且待报工记录ID不为空
|
|
|
+ List<ApsProcessOperationProcessEquDo> list = apsProcessOperationProcessEquDao.selectOtherDeviceList(processdeviceid, apsProcessOperationProcessEquDoId);
|
|
|
+// List<ApsProcessOperationProcessEquDo> list = apsProcessOperationProcessEquService.list(
|
|
|
+// new QueryWrapper<ApsProcessOperationProcessEquDo>().lambda()
|
|
|
+// .eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, processdeviceid)//当前工序作业的作业明细的 加工设备
|
|
|
+// .ne(ApsProcessOperationProcessEquDo::getId, apsProcessOperationProcessEquDoId)//对应的其他工序作业的作业明细
|
|
|
+// .isNotNull(ApsProcessOperationProcessEquDo::getWaitreportid)//待报工记录ID不为空
|
|
|
+// );
|
|
|
+ //存在已使用,判断是否是合并作业 (计划开工时间相同)
|
|
|
+ if (ObjectUtil.isNotEmpty(list)) {
|
|
|
+ //已开工的作业明细的计划开工时间
|
|
|
+ Date planstartdate = list.get(0).getPlanstartdate();
|
|
|
+ //开工时间不用
|
|
|
+ if (planstartdate.compareTo(apsProcessOperationProcessEquDo.getPlanstartdate()) != 0) {
|
|
|
return R.error("该设备当前加工中的作业还未报工,不能开工新的作业");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
+// //设备的待加工ID
|
|
|
+// String waitReportId = organizationCodeAndDeviceCodeVo.getWaitReportId();
|
|
|
+// //如果工序作业加工设备已有其他作业状态为已开工,错误提示:该设备当前加工中的作业还未报工,不能开工新的作业
|
|
|
+// if (ObjectUtil.isNotEmpty(waitReportId)) {
|
|
|
+// String oldWaitReportId = waitReportId.split(",")[0];
|
|
|
+// //查询当前报工的工序作业明细详情
|
|
|
+// ApsReportRecordsDo apsReportRecordsDo = this.getById(oldWaitReportId);
|
|
|
+// String processequid = apsReportRecordsDo.getProcessequid();
|
|
|
+// ApsProcessOperationProcessEquDo doingProcessEqu = apsProcessOperationProcessEquService.getById(processequid);
|
|
|
+// //计划开工时间不相等,表示不是合并工序
|
|
|
+// if (doingProcessEqu.getPlanstartdate().compareTo(apsProcessOperationProcessEquDo.getPlanstartdate()) != 0) {
|
|
|
+// return R.error("该设备当前加工中的作业还未报工,不能开工新的作业");
|
|
|
+// }
|
|
|
+// }
|
|
|
+
|
|
|
+
|
|
|
//获取当前用户相关信息
|
|
|
SysUserVo currentUser = CXCommonUtils.getCurrentUser();
|
|
|
String tenantId = currentUser.getOrganizationDoList().get(0).getFullpid().split(",")[1];
|
|
@@ -260,9 +324,9 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
apsReportRecordsDo.setCheckstatus("待检验");
|
|
|
//设备参数
|
|
|
apsReportRecordsDo.setDeviceparm(equparames);
|
|
|
+ //注意事项
|
|
|
+ apsReportRecordsDo.setAttention(apsProcessOperationDo.getRemark());
|
|
|
|
|
|
- //保存主表
|
|
|
- this.save(apsReportRecordsDo);
|
|
|
|
|
|
//=================更新工序作业明细的报工ID、已开工卷数============
|
|
|
//将报工记录ID存入工序作业的设备子表中
|
|
@@ -293,12 +357,12 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
//===============更新工序作业==================
|
|
|
this.baseMapper.updateProcessActualStartDate(apsProcessOperationDo.getId());
|
|
|
|
|
|
- //=============更新设备的报工记录ID=============
|
|
|
- String newWaitReportId = "";
|
|
|
- if (ObjectUtil.isNotEmpty(waitReportId)) {
|
|
|
- newWaitReportId = waitReportId + "," + apsReportRecordsDo.getId();
|
|
|
- }
|
|
|
- this.baseMapper.updateDeviceWaitReportId(newWaitReportId, apsProcessOperationProcessEquDo.getProcessdeviceid());
|
|
|
+// //=============更新设备的报工记录ID=============
|
|
|
+// String newWaitReportId = "";
|
|
|
+// if (ObjectUtil.isNotEmpty(waitReportId)) {
|
|
|
+// newWaitReportId = waitReportId + "," + apsReportRecordsDo.getId();
|
|
|
+// }
|
|
|
+// this.baseMapper.updateDeviceWaitReportId(newWaitReportId, apsProcessOperationProcessEquDo.getProcessdeviceid());
|
|
|
|
|
|
//==========输入物料有批次号==============
|
|
|
if (ObjectUtil.isNotEmpty(req.getInputBatchNumber())) {
|
|
@@ -324,17 +388,55 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
}
|
|
|
|
|
|
//==========输出物料子表信息============
|
|
|
- InsertMyReportOutputReq req2 = new InsertMyReportOutputReq();
|
|
|
- req2.setProcessId(apsProcessOperationDo.getId());
|
|
|
- req2.setIfBlankProcess(apsProcessOperationDo.getIfblankprocess());
|
|
|
- req2.setBlankType(apsBlankOrderDo.getBlanktype());
|
|
|
- req2.setMainId(apsReportRecordsDo.getId());
|
|
|
- req2.setLevel(apsProcessOperationDo.getLevel());
|
|
|
- R r = apsReportOutputService.insertMyReportOutputWithOutBatchNumber(req2);
|
|
|
+// InsertMyReportOutputReq req2 = new InsertMyReportOutputReq();
|
|
|
+// req2.setProcessId(apsProcessOperationDo.getId());
|
|
|
+// req2.setIfBlankProcess(apsProcessOperationDo.getIfblankprocess());
|
|
|
+// req2.setBlankType(apsBlankOrderDo.getBlanktype());
|
|
|
+// req2.setMainId(apsReportRecordsDo.getId());
|
|
|
+// req2.setLevel(apsProcessOperationDo.getLevel());
|
|
|
+// R r = apsReportOutputService.insertMyReportOutputWithOutBatchNumber(req2);
|
|
|
+// if (!r.getCode().equals("200")) {
|
|
|
+// return R.error(r.getMsg());
|
|
|
+// }
|
|
|
+ //============保存(报工)时,生成炉号和批次号=============
|
|
|
+ //获取设备/炉 的炉号(每月、每个设备/炉 更新)
|
|
|
+ String heatNumber;//初始化炉号
|
|
|
+ //调用通用接口生成炉号
|
|
|
+ SysSerialVo vo = new SysSerialVo();
|
|
|
+ vo.setModulecode("aps_report_output_heat_" + apsProcessOperationProcessEquDo.getProcessdeviceid());
|
|
|
+ vo.setRuleTemplateStr("@{serialNumber:#000}");
|
|
|
+ vo.setResetrule("date:yyyyMM");
|
|
|
+ vo.setIfautomaticreset("y");
|
|
|
+ vo.setInitValue(1L);
|
|
|
+ Map<String, Object> codeData = cxAdminFeginClient.getSerialNumberCode(vo).getData();
|
|
|
+ heatNumber = codeData.get("code").toString();
|
|
|
+
|
|
|
+ apsReportRecordsDo.setHeatnumber(heatNumber);
|
|
|
+ //保存主表
|
|
|
+ this.save(apsReportRecordsDo);
|
|
|
+
|
|
|
+ OrganizationCodeAndDeviceCodeVo organizationCodeAndDeviceCodeVo = this.baseMapper.selectOrganizationCodeAndDeviceCode(apsProcessOperationProcessEquDo.getProcessdeviceid());
|
|
|
+
|
|
|
+ InsertMyReportOutputReq insertMyReportOutputReq = new InsertMyReportOutputReq();
|
|
|
+ insertMyReportOutputReq.setMainId(apsReportRecordsDo.getId());
|
|
|
+ insertMyReportOutputReq.setProcessId(apsProcessOperationDo.getId());
|
|
|
+ insertMyReportOutputReq.setIfBlankProcess(apsProcessOperationDo.getIfblankprocess());
|
|
|
+ insertMyReportOutputReq.setDeviceId(apsProcessOperationProcessEquDo.getProcessdeviceid());
|
|
|
+ insertMyReportOutputReq.setMark(organizationCodeAndDeviceCodeVo.getOrganizationCode());
|
|
|
+ insertMyReportOutputReq.setYearCode((DateUtil.year(DateUtil.date()) % 100) + "");
|
|
|
+ insertMyReportOutputReq.setMonthCode(SaveConstans.MONTH_CODE_LIST.get(DateUtil.month(DateUtil.date())));
|
|
|
+ insertMyReportOutputReq.setEquipmentCode(organizationCodeAndDeviceCodeVo.getDeviceCode());
|
|
|
+ insertMyReportOutputReq.setHeatNumber(heatNumber);
|
|
|
+ insertMyReportOutputReq.setInputBatchNumber(apsReportRecordsDo.getBatchnumber());
|
|
|
+ insertMyReportOutputReq.setBlankType(apsBlankOrderDo.getBlanktype());
|
|
|
+ insertMyReportOutputReq.setLevel(apsProcessOperationDo.getLevel());
|
|
|
+
|
|
|
+ R r = apsReportOutputService.insertMyReportOutput(insertMyReportOutputReq);
|
|
|
if (!r.getCode().equals("200")) {
|
|
|
- return R.error(r.getMsg());
|
|
|
+ throw new CustomException(r.getMsg());
|
|
|
}
|
|
|
|
|
|
+
|
|
|
//=============加工参数子表信息、检查项目子表信息================
|
|
|
if (ObjectUtil.isNotEmpty(apsProcessOperationDo.getProcess())) {
|
|
|
//根据工序查询其工序的加工参数
|
|
@@ -448,7 +550,7 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
req3.setProcessOperationEquId(apsProcessOperationProcessEquDo.getId());
|
|
|
R r2 = apsProcessOperationProcessEquService.updateProductionStatus(req3);
|
|
|
if (!r2.getCode().equals("200")) {
|
|
|
- return R.error(r2.getMsg());
|
|
|
+ throw new CustomException(r2.getMsg());
|
|
|
}
|
|
|
|
|
|
return R.ok(apsReportRecordsDo);
|
|
@@ -466,6 +568,12 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
//报工坯料成分
|
|
|
List<ApsReportBlankCompentDo> apsReportBlankCompentDoList = req.getApsReportBlankCompentDoList();
|
|
|
|
|
|
+ for (ApsReportOutputDo apsReportOutputDo : apsReportOutputDoList) {
|
|
|
+ if (ObjectUtil.isEmpty(apsReportOutputDo.getInsepctionlevel())) {
|
|
|
+ return R.error("检验等级不能为空");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
//没有新增,只会更新
|
|
|
apsReportRecordsDo.setCheckstatus("待检验");
|
|
|
|
|
@@ -533,23 +641,23 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
//==============更新工序作业信息==============
|
|
|
this.baseMapper.updateProcessReportRoll(apsProcessOperationDo.getId());
|
|
|
|
|
|
- //=============更新设备的报工记录ID===========
|
|
|
- apsProcessOperationProcessEquDao.updateEquByCancelRecord(apsReportRecordsDo.getId(), apsProcessOperationProcessEquDo.getProcessdeviceid());
|
|
|
-
|
|
|
- //============保存(报工)时,生成炉号和批次号=============
|
|
|
- //获取设备/炉 的炉号(每月、每个设备/炉 更新)
|
|
|
- String heatNumber;//初始化炉号
|
|
|
- //调用通用接口生成炉号
|
|
|
- SysSerialVo vo = new SysSerialVo();
|
|
|
- vo.setModulecode("aps_report_output_heat_" + apsProcessOperationProcessEquDo.getProcessdeviceid());
|
|
|
- vo.setRuleTemplateStr("@{serialNumber:#000}");
|
|
|
- vo.setResetrule("date:yyyyMM");
|
|
|
- vo.setIfautomaticreset("y");
|
|
|
- vo.setInitValue(0L);
|
|
|
- Map<String, Object> codeData = cxAdminFeginClient.getSerialNumberCode(vo).getData();
|
|
|
- heatNumber = codeData.get("code").toString();
|
|
|
-
|
|
|
- apsReportRecordsDo.setHeatnumber(heatNumber);
|
|
|
+// //=============更新设备的报工记录ID===========
|
|
|
+// apsProcessOperationProcessEquDao.updateEquByCancelRecord(apsReportRecordsDo.getId(), apsProcessOperationProcessEquDo.getProcessdeviceid());
|
|
|
+
|
|
|
+// //============保存(报工)时,生成炉号和批次号=============
|
|
|
+// //获取设备/炉 的炉号(每月、每个设备/炉 更新)
|
|
|
+// String heatNumber;//初始化炉号
|
|
|
+// //调用通用接口生成炉号
|
|
|
+// SysSerialVo vo = new SysSerialVo();
|
|
|
+// vo.setModulecode("aps_report_output_heat_" + apsProcessOperationProcessEquDo.getProcessdeviceid());
|
|
|
+// vo.setRuleTemplateStr("@{serialNumber:#000}");
|
|
|
+// vo.setResetrule("date:yyyyMM");
|
|
|
+// vo.setIfautomaticreset("y");
|
|
|
+// vo.setInitValue(1L);
|
|
|
+// Map<String, Object> codeData = cxAdminFeginClient.getSerialNumberCode(vo).getData();
|
|
|
+// heatNumber = codeData.get("code").toString();
|
|
|
+//
|
|
|
+// apsReportRecordsDo.setHeatnumber(heatNumber);
|
|
|
//报工状态
|
|
|
apsReportRecordsDo.setReportworkstatus("已报工");
|
|
|
//如过报工时间为空,填入当前时间
|
|
@@ -559,31 +667,31 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
|
|
|
this.updateById(apsReportRecordsDo);
|
|
|
|
|
|
- //物理删除原来的报工记录输出物料
|
|
|
- this.baseMapper.deleteOutputmaterialbyMainId(apsReportRecordsDo.getId());
|
|
|
-
|
|
|
+// //物理删除原来的报工记录输出物料
|
|
|
+// this.baseMapper.deleteOutputmaterialbyMainId(apsReportRecordsDo.getId());
|
|
|
+//
|
|
|
OrganizationCodeAndDeviceCodeVo organizationCodeAndDeviceCodeVo = this.baseMapper.selectOrganizationCodeAndDeviceCode(apsProcessOperationProcessEquDo.getProcessdeviceid());
|
|
|
- if (ObjectUtil.isEmpty(organizationCodeAndDeviceCodeVo)) {
|
|
|
- return R.error("未找到对应的车间代号和设备代号");
|
|
|
- }
|
|
|
- InsertMyReportOutputReq insertMyReportOutputReq = new InsertMyReportOutputReq();
|
|
|
- insertMyReportOutputReq.setMainId(apsReportRecordsDo.getId());
|
|
|
- insertMyReportOutputReq.setProcessId(apsProcessOperationDo.getId());
|
|
|
- insertMyReportOutputReq.setIfBlankProcess(apsProcessOperationDo.getIfblankprocess());
|
|
|
- insertMyReportOutputReq.setDeviceId(apsProcessOperationProcessEquDo.getProcessdeviceid());
|
|
|
- insertMyReportOutputReq.setMark(organizationCodeAndDeviceCodeVo.getOrganizationCode());
|
|
|
- insertMyReportOutputReq.setYearCode((DateUtil.year(DateUtil.date()) % 100) + "");
|
|
|
- insertMyReportOutputReq.setMonthCode(SaveConstans.MONTH_CODE_LIST.get(DateUtil.month(DateUtil.date())));
|
|
|
- insertMyReportOutputReq.setEquipmentCode(organizationCodeAndDeviceCodeVo.getDeviceCode());
|
|
|
- insertMyReportOutputReq.setHeatNumber(heatNumber);
|
|
|
- insertMyReportOutputReq.setInputBatchNumber(apsReportRecordsDo.getBatchnumber());
|
|
|
- insertMyReportOutputReq.setBlankType(apsBlankOrderDo.getBlanktype());
|
|
|
- insertMyReportOutputReq.setLevel(apsProcessOperationDo.getLevel());
|
|
|
-
|
|
|
- R r = apsReportOutputService.insertMyReportOutput(insertMyReportOutputReq);
|
|
|
- if (!r.getCode().equals("200")) {
|
|
|
- return R.error(r.getMsg());
|
|
|
- }
|
|
|
+// if (ObjectUtil.isEmpty(organizationCodeAndDeviceCodeVo)) {
|
|
|
+// return R.error("未找到对应的车间代号和设备代号");
|
|
|
+// }
|
|
|
+// InsertMyReportOutputReq insertMyReportOutputReq = new InsertMyReportOutputReq();
|
|
|
+// insertMyReportOutputReq.setMainId(apsReportRecordsDo.getId());
|
|
|
+// insertMyReportOutputReq.setProcessId(apsProcessOperationDo.getId());
|
|
|
+// insertMyReportOutputReq.setIfBlankProcess(apsProcessOperationDo.getIfblankprocess());
|
|
|
+// insertMyReportOutputReq.setDeviceId(apsProcessOperationProcessEquDo.getProcessdeviceid());
|
|
|
+// insertMyReportOutputReq.setMark(organizationCodeAndDeviceCodeVo.getOrganizationCode());
|
|
|
+// insertMyReportOutputReq.setYearCode((DateUtil.year(DateUtil.date()) % 100) + "");
|
|
|
+// insertMyReportOutputReq.setMonthCode(SaveConstans.MONTH_CODE_LIST.get(DateUtil.month(DateUtil.date())));
|
|
|
+// insertMyReportOutputReq.setEquipmentCode(organizationCodeAndDeviceCodeVo.getDeviceCode());
|
|
|
+// insertMyReportOutputReq.setHeatNumber(heatNumber);
|
|
|
+// insertMyReportOutputReq.setInputBatchNumber(apsReportRecordsDo.getBatchnumber());
|
|
|
+// insertMyReportOutputReq.setBlankType(apsBlankOrderDo.getBlanktype());
|
|
|
+// insertMyReportOutputReq.setLevel(apsProcessOperationDo.getLevel());
|
|
|
+//
|
|
|
+// R r = apsReportOutputService.insertMyReportOutput(insertMyReportOutputReq);
|
|
|
+// if (!r.getCode().equals("200")) {
|
|
|
+// return R.error(r.getMsg());
|
|
|
+// }
|
|
|
|
|
|
//查询新的输出物料
|
|
|
List<ApsReportOutputDo> newOutputDos = apsReportOutputService.list(new QueryWrapper<ApsReportOutputDo>().lambda().eq(ApsReportOutputDo::getMainid, apsReportRecordsDo.getId()));
|
|
@@ -748,6 +856,26 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public R checkMergeProcess(ApsReportRecordsDo req) {
|
|
|
+ //作业明细的ID
|
|
|
+ String processequid = req.getProcessequid();
|
|
|
+ //当前报工的作业明细的详情
|
|
|
+ ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo = apsProcessOperationProcessEquService.getById(processequid);
|
|
|
+ //查询其他 与当前作业明细计划开工时间相同,并且未开工(待报工记录ID为空)的作业明细
|
|
|
+ List<ApsProcessOperationProcessEquDo> list = this.baseMapper.selectOtherMergeProcessEqu(apsProcessOperationProcessEquDo.getId(), apsProcessOperationProcessEquDo.getProcessdeviceid(), apsProcessOperationProcessEquDo.getPlanstartdate());
|
|
|
+ CheckMergeProcessResopnse res = new CheckMergeProcessResopnse();
|
|
|
+ if (list.size() > 0) {
|
|
|
+ //查询当前工序作业明细的工序详情
|
|
|
+ ApsProcessOperationDo apsProcessOperationDo = apsProcessOperationService.getById(req.getProcessoperationid());
|
|
|
+ res.setNeedWarning(true);
|
|
|
+ res.setWarningMessage("该合并作业" + apsProcessOperationDo.getProcess() + "还有其他作业需要一起开工,请及时开工");
|
|
|
+ return R.ok(res);
|
|
|
+ }
|
|
|
+
|
|
|
+ return R.ok(res);
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|