|
@@ -14,6 +14,7 @@ import com.rongwei.bscommon.sys.dao.ApsReportRecordsDao;
|
|
import com.rongwei.bscommon.sys.service.*;
|
|
import com.rongwei.bscommon.sys.service.*;
|
|
import com.rongwei.bsentity.domain.*;
|
|
import com.rongwei.bsentity.domain.*;
|
|
import com.rongwei.bsentity.vo.*;
|
|
import com.rongwei.bsentity.vo.*;
|
|
|
|
+import com.rongwei.commonservice.serial.service.SysSerialNumberService;
|
|
import com.rongwei.rwadmincommon.system.vo.SysUserVo;
|
|
import com.rongwei.rwadmincommon.system.vo.SysUserVo;
|
|
import com.rongwei.rwcommon.base.R;
|
|
import com.rongwei.rwcommon.base.R;
|
|
import com.rongwei.rwcommon.base.exception.CustomException;
|
|
import com.rongwei.rwcommon.base.exception.CustomException;
|
|
@@ -90,6 +91,8 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
private ApsProcessOutputProductDao apsProcessOutputProductDao;
|
|
private ApsProcessOutputProductDao apsProcessOutputProductDao;
|
|
@Autowired
|
|
@Autowired
|
|
private ApsOrderAlloyCompositionService apsOrderAlloyCompositionService;
|
|
private ApsOrderAlloyCompositionService apsOrderAlloyCompositionService;
|
|
|
|
+ @Autowired
|
|
|
|
+ private SysSerialNumberService sysSerialNumberService;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@Transactional
|
|
@Transactional
|
|
@@ -166,17 +169,17 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
*/
|
|
*/
|
|
if (ObjectUtil.isNotEmpty(recordsDo.getBatchnumber())) {
|
|
if (ObjectUtil.isNotEmpty(recordsDo.getBatchnumber())) {
|
|
List<String> doingBatchNumbers = new LinkedList<>(Arrays.asList(apsProcessOperationProcessEquDo.getDoingbatchnumber().split(",")));
|
|
List<String> doingBatchNumbers = new LinkedList<>(Arrays.asList(apsProcessOperationProcessEquDo.getDoingbatchnumber().split(",")));
|
|
- if (ObjectUtil.isNotEmpty(doingBatchNumbers)){
|
|
|
|
|
|
+ if (ObjectUtil.isNotEmpty(doingBatchNumbers)) {
|
|
doingBatchNumbers.removeAll(batchNumberList);
|
|
doingBatchNumbers.removeAll(batchNumberList);
|
|
//加工中批次号=当前工序作业明细的加工中批次号应该减去“{批次号}”
|
|
//加工中批次号=当前工序作业明细的加工中批次号应该减去“{批次号}”
|
|
- if (doingBatchNumbers.size()>0){
|
|
|
|
- processEquUpdateWrapper.set(ApsProcessOperationProcessEquDo::getDoingbatchnumber, String.join(",",doingBatchNumbers));
|
|
|
|
- }else {
|
|
|
|
|
|
+ if (doingBatchNumbers.size() > 0) {
|
|
|
|
+ processEquUpdateWrapper.set(ApsProcessOperationProcessEquDo::getDoingbatchnumber, String.join(",", doingBatchNumbers));
|
|
|
|
+ } else {
|
|
//加工中批次号=(空)
|
|
//加工中批次号=(空)
|
|
processEquUpdateWrapper.set(ApsProcessOperationProcessEquDo::getDoingbatchnumber, null);
|
|
processEquUpdateWrapper.set(ApsProcessOperationProcessEquDo::getDoingbatchnumber, null);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- }else {
|
|
|
|
|
|
+ } else {
|
|
//加工中批次号=(空)
|
|
//加工中批次号=(空)
|
|
processEquUpdateWrapper.set(ApsProcessOperationProcessEquDo::getDoingbatchnumber, null);
|
|
processEquUpdateWrapper.set(ApsProcessOperationProcessEquDo::getDoingbatchnumber, null);
|
|
}
|
|
}
|
|
@@ -192,7 +195,7 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
/**
|
|
/**
|
|
* 新加需求:更新“剩余待开工卷数”=计划加工卷数-已开工卷数-已取消卷数
|
|
* 新加需求:更新“剩余待开工卷数”=计划加工卷数-已开工卷数-已取消卷数
|
|
*/
|
|
*/
|
|
- Integer newLeaveWaitWorkRoll = apsProcessOperationProcessEquDo.getPlanprocessrall()-newStartingRoll-apsProcessOperationProcessEquDo.getCancelroll();
|
|
|
|
|
|
+ Integer newLeaveWaitWorkRoll = apsProcessOperationProcessEquDo.getPlanprocessrall() - newStartingRoll - apsProcessOperationProcessEquDo.getCancelroll();
|
|
processEquUpdateWrapper.set(ApsProcessOperationProcessEquDo::getLeavewaitworkroll, newLeaveWaitWorkRoll);
|
|
processEquUpdateWrapper.set(ApsProcessOperationProcessEquDo::getLeavewaitworkroll, newLeaveWaitWorkRoll);
|
|
//更新
|
|
//更新
|
|
apsProcessOperationProcessEquService.update(processEquUpdateWrapper);
|
|
apsProcessOperationProcessEquService.update(processEquUpdateWrapper);
|
|
@@ -526,9 +529,9 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
*/
|
|
*/
|
|
//加工中批次号
|
|
//加工中批次号
|
|
if (ObjectUtil.isNotEmpty(req.getInputBatchNumber())) {
|
|
if (ObjectUtil.isNotEmpty(req.getInputBatchNumber())) {
|
|
- if (StringUtils.isNotBlank(apsProcessOperationProcessEquDo.getDoingbatchnumber())){
|
|
|
|
- needUpdateProcessOperationProcessEqu.setDoingbatchnumber(apsProcessOperationProcessEquDo.getDoingbatchnumber()+","+req.getInputBatchNumber());
|
|
|
|
- }else {
|
|
|
|
|
|
+ if (StringUtils.isNotBlank(apsProcessOperationProcessEquDo.getDoingbatchnumber())) {
|
|
|
|
+ needUpdateProcessOperationProcessEqu.setDoingbatchnumber(apsProcessOperationProcessEquDo.getDoingbatchnumber() + "," + req.getInputBatchNumber());
|
|
|
|
+ } else {
|
|
needUpdateProcessOperationProcessEqu.setDoingbatchnumber(req.getInputBatchNumber());
|
|
needUpdateProcessOperationProcessEqu.setDoingbatchnumber(req.getInputBatchNumber());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -539,7 +542,7 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
/**
|
|
/**
|
|
* 新加需求:更新“剩余待开工卷数”=计划加工卷数-已开工卷数-已取消卷数
|
|
* 新加需求:更新“剩余待开工卷数”=计划加工卷数-已开工卷数-已取消卷数
|
|
*/
|
|
*/
|
|
- Integer newLeaveWaitWorkRoll = apsProcessOperationProcessEquDo.getPlanprocessrall()-newStartingRoll-apsProcessOperationProcessEquDo.getCancelroll();
|
|
|
|
|
|
+ Integer newLeaveWaitWorkRoll = apsProcessOperationProcessEquDo.getPlanprocessrall() - newStartingRoll - apsProcessOperationProcessEquDo.getCancelroll();
|
|
needUpdateProcessOperationProcessEqu.setLeavewaitworkroll(newLeaveWaitWorkRoll);
|
|
needUpdateProcessOperationProcessEqu.setLeavewaitworkroll(newLeaveWaitWorkRoll);
|
|
apsProcessOperationProcessEquService.updateById(needUpdateProcessOperationProcessEqu);
|
|
apsProcessOperationProcessEquService.updateById(needUpdateProcessOperationProcessEqu);
|
|
|
|
|
|
@@ -678,13 +681,13 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
vo.setResetrule("date:yyyyMM");
|
|
vo.setResetrule("date:yyyyMM");
|
|
vo.setIfautomaticreset("y");
|
|
vo.setIfautomaticreset("y");
|
|
vo.setInitValue(0L);
|
|
vo.setInitValue(0L);
|
|
- Map<String, Object> codeData = cxAdminFeginClient.getSerialNumberCode(vo).getData();
|
|
|
|
- heatNumber = codeData.get("code").toString();
|
|
|
|
|
|
+// Map<String, Object> codeData = cxAdminFeginClient.getSerialNumberCode(vo).getData();
|
|
|
|
+ heatNumber = sysSerialNumberService.getCodeByTemplate(vo);
|
|
if (StringUtils.isNotBlank(heatNumber)) {
|
|
if (StringUtils.isNotBlank(heatNumber)) {
|
|
//判断如果heatNumber如果为000时再次调用序列号接口/修复跨月流水号问题
|
|
//判断如果heatNumber如果为000时再次调用序列号接口/修复跨月流水号问题
|
|
if ("000".equals(heatNumber)) {
|
|
if ("000".equals(heatNumber)) {
|
|
- codeData = cxAdminFeginClient.getSerialNumberCode(vo).getData();
|
|
|
|
- heatNumber = codeData.get("code").toString();
|
|
|
|
|
|
+// codeData = cxAdminFeginClient.getSerialNumberCode(vo).getData();
|
|
|
|
+ heatNumber = sysSerialNumberService.getCodeByTemplate(vo);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1068,12 +1071,12 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
* 如果剩余待报工卷数=0,则完工状态=已完工,实际完工时间=当前时间
|
|
* 如果剩余待报工卷数=0,则完工状态=已完工,实际完工时间=当前时间
|
|
* 如果剩余待报工卷数>0,则完工状态=未完工
|
|
* 如果剩余待报工卷数>0,则完工状态=未完工
|
|
*/
|
|
*/
|
|
- Integer newLeaveWaitJobRoll = unfinishroll-apsProcessOperationProcessEquDo.getCancelroll();
|
|
|
|
|
|
+ Integer newLeaveWaitJobRoll = unfinishroll - apsProcessOperationProcessEquDo.getCancelroll();
|
|
processEquWrapper.set(ApsProcessOperationProcessEquDo::getLeavewaitjobroll, newLeaveWaitJobRoll);
|
|
processEquWrapper.set(ApsProcessOperationProcessEquDo::getLeavewaitjobroll, newLeaveWaitJobRoll);
|
|
- if (newLeaveWaitJobRoll>0){
|
|
|
|
|
|
+ if (newLeaveWaitJobRoll > 0) {
|
|
processEquWrapper.set(ApsProcessOperationProcessEquDo::getClosestatus, "未完工");
|
|
processEquWrapper.set(ApsProcessOperationProcessEquDo::getClosestatus, "未完工");
|
|
- }else {
|
|
|
|
- if (newLeaveWaitJobRoll==0){
|
|
|
|
|
|
+ } else {
|
|
|
|
+ if (newLeaveWaitJobRoll == 0) {
|
|
processEquWrapper.set(ApsProcessOperationProcessEquDo::getClosestatus, "已完工");
|
|
processEquWrapper.set(ApsProcessOperationProcessEquDo::getClosestatus, "已完工");
|
|
processEquWrapper.set(ApsProcessOperationProcessEquDo::getActualfinishdate, new Date());
|
|
processEquWrapper.set(ApsProcessOperationProcessEquDo::getActualfinishdate, new Date());
|
|
}
|
|
}
|
|
@@ -1527,13 +1530,13 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
vo.setResetrule("date:yyyyMM");
|
|
vo.setResetrule("date:yyyyMM");
|
|
vo.setIfautomaticreset("y");
|
|
vo.setIfautomaticreset("y");
|
|
vo.setInitValue(0L);
|
|
vo.setInitValue(0L);
|
|
- Map<String, Object> codeData = cxAdminFeginClient.getSerialNumberCode(vo).getData();
|
|
|
|
- heatNumber = codeData.get("code").toString();
|
|
|
|
- if (StringUtils.isNotBlank(heatNumber)){
|
|
|
|
|
|
+// Map<String, Object> codeData = cxAdminFeginClient.getSerialNumberCode(vo).getData();
|
|
|
|
+ heatNumber = sysSerialNumberService.getCodeByTemplate(vo);
|
|
|
|
+ if (StringUtils.isNotBlank(heatNumber)) {
|
|
//判断如果heatNumber如果为000时再次调用序列号接口/修复跨月流水号问题
|
|
//判断如果heatNumber如果为000时再次调用序列号接口/修复跨月流水号问题
|
|
- if ("000".equals(heatNumber)){
|
|
|
|
- codeData = cxAdminFeginClient.getSerialNumberCode(vo).getData();
|
|
|
|
- heatNumber = codeData.get("code").toString();
|
|
|
|
|
|
+ if ("000".equals(heatNumber)) {
|
|
|
|
+// codeData = cxAdminFeginClient.getSerialNumberCode(vo).getData();
|
|
|
|
+ heatNumber = sysSerialNumberService.getCodeByTemplate(vo);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1821,7 +1824,7 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
/**
|
|
/**
|
|
* 新加需求:更新“剩余待开工卷数”=计划加工卷数-已开工卷数-已取消卷数
|
|
* 新加需求:更新“剩余待开工卷数”=计划加工卷数-已开工卷数-已取消卷数
|
|
*/
|
|
*/
|
|
- Integer newLeaveWaitWorkRoll = apsProcessOperationProcessEquDo.getPlanprocessrall()-needUpdateProcessEqu.getStartingroll()-apsProcessOperationProcessEquDo.getCancelroll();
|
|
|
|
|
|
+ Integer newLeaveWaitWorkRoll = apsProcessOperationProcessEquDo.getPlanprocessrall() - needUpdateProcessEqu.getStartingroll() - apsProcessOperationProcessEquDo.getCancelroll();
|
|
needUpdateProcessEqu.setLeavewaitworkroll(newLeaveWaitWorkRoll);
|
|
needUpdateProcessEqu.setLeavewaitworkroll(newLeaveWaitWorkRoll);
|
|
|
|
|
|
apsProcessOperationProcessEquService.updateById(needUpdateProcessEqu);
|
|
apsProcessOperationProcessEquService.updateById(needUpdateProcessEqu);
|
|
@@ -1976,10 +1979,11 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
|
|
|
|
/**
|
|
/**
|
|
* 更新报工记录-输出物料子表中序列号与批次号
|
|
* 更新报工记录-输出物料子表中序列号与批次号
|
|
|
|
+ *
|
|
* @param apsReportOutputDoList
|
|
* @param apsReportOutputDoList
|
|
* @param recordsDo
|
|
* @param recordsDo
|
|
*/
|
|
*/
|
|
- private void updateSerialnumber(List<ApsReportOutputDo> apsReportOutputDoList,ApsReportRecordsDo recordsDo){
|
|
|
|
|
|
+ private void updateSerialnumber(List<ApsReportOutputDo> apsReportOutputDoList, ApsReportRecordsDo recordsDo) {
|
|
//查询对应的工序作业
|
|
//查询对应的工序作业
|
|
ApsProcessOperationDo apsProcessOperationDo = apsProcessOperationService.getById(recordsDo.getProcessoperationid());
|
|
ApsProcessOperationDo apsProcessOperationDo = apsProcessOperationService.getById(recordsDo.getProcessoperationid());
|
|
//查询对应的工序作业明细信息
|
|
//查询对应的工序作业明细信息
|
|
@@ -1987,19 +1991,19 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
|
|
//1.循环输出物料2.判断输出物料序列号字段是否有值是否与批次号后三位相等,不相等则更新批次号和序列号为最新的值3.将平台序列号表更新输出物料流水的最大值4.只针对铸轧
|
|
//1.循环输出物料2.判断输出物料序列号字段是否有值是否与批次号后三位相等,不相等则更新批次号和序列号为最新的值3.将平台序列号表更新输出物料流水的最大值4.只针对铸轧
|
|
String nodeMonthCode = SaveConstans.MONTH_CODE_LIST.get(DateUtil.month(DateUtil.date()));
|
|
String nodeMonthCode = SaveConstans.MONTH_CODE_LIST.get(DateUtil.month(DateUtil.date()));
|
|
String nowYear = (DateUtil.year(DateUtil.date()) % 100) + "";
|
|
String nowYear = (DateUtil.year(DateUtil.date()) % 100) + "";
|
|
- apsReportOutputDoList.forEach(info ->{
|
|
|
|
- if (StringUtils.isNotBlank(info.getOutputnumber())){
|
|
|
|
|
|
+ apsReportOutputDoList.forEach(info -> {
|
|
|
|
+ if (StringUtils.isNotBlank(info.getOutputnumber())) {
|
|
String outputCode = info.getOutputnumber();
|
|
String outputCode = info.getOutputnumber();
|
|
String nextChar = "";
|
|
String nextChar = "";
|
|
int index = outputCode.indexOf(nowYear);
|
|
int index = outputCode.indexOf(nowYear);
|
|
if (index != -1) {
|
|
if (index != -1) {
|
|
nextChar = String.valueOf(outputCode.charAt(index + nowYear.length()));
|
|
nextChar = String.valueOf(outputCode.charAt(index + nowYear.length()));
|
|
//需要判断每条数据在当前月
|
|
//需要判断每条数据在当前月
|
|
- if ("铸轧".equals(apsProcessOperationDo.getProcess())&&nodeMonthCode.equals(nextChar)){
|
|
|
|
|
|
+ if ("铸轧".equals(apsProcessOperationDo.getProcess()) && nodeMonthCode.equals(nextChar)) {
|
|
//取出批次号最后三位字符串
|
|
//取出批次号最后三位字符串
|
|
String lastThreeChars = outputCode.substring(outputCode.length() - 3);
|
|
String lastThreeChars = outputCode.substring(outputCode.length() - 3);
|
|
//校验序列号大小是否大于等于批次号后三位
|
|
//校验序列号大小是否大于等于批次号后三位
|
|
- if (info.getSerialnumber()!= null&&info.getSerialnumber()!= Long.parseLong(lastThreeChars)){
|
|
|
|
|
|
+ if (info.getSerialnumber() != null && info.getSerialnumber() != Long.parseLong(lastThreeChars)) {
|
|
// 删除批次号原来的后三位字符串,将序列号的三位数字更新到批次号中
|
|
// 删除批次号原来的后三位字符串,将序列号的三位数字更新到批次号中
|
|
String newOutput = outputCode.substring(0, outputCode.length() - 3);
|
|
String newOutput = outputCode.substring(0, outputCode.length() - 3);
|
|
String formatSerialnumber = String.format("%03d", info.getSerialnumber());
|
|
String formatSerialnumber = String.format("%03d", info.getSerialnumber());
|