Browse Source

2026-06-26

创建分卷增加不良
master
fengyuan_yang 3 months ago
parent
commit
c690cb26bf
  1. 9
      src/main/java/com/gaotao/modules/schedule/data/SearchScheduleData.java
  2. 5
      src/main/java/com/gaotao/modules/schedule/service/SchedulingService.java
  3. 2
      src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java
  4. 74
      src/main/java/com/gaotao/modules/schedule/service/impl/SchedulingServiceImpl.java
  5. 2
      src/main/java/com/gaotao/modules/schedule/service/impl/ShiftAbnormalRollReportServiceImpl.java

9
src/main/java/com/gaotao/modules/schedule/data/SearchScheduleData.java

@ -123,6 +123,7 @@ public class SearchScheduleData extends BaseData {
private Float rollQty;//当前卷的良品数量
private Integer rollNums;//当前卷的数量
private List<Map<String, Object>> rollRows;//排数据列表用于创建分卷时传递每排的良品数和不良数
private List<Map<String, Object>> rollDefectDetails;//每卷不良原因明细前端暂存
private List<Map<String, Object>> bomList;//材料清单列表用于结单时更新材料备注
private String fixture;//固定载具
private boolean newRollFlag;//是否是新卷
@ -965,6 +966,14 @@ public class SearchScheduleData extends BaseData {
this.rollRows = rollRows;
}
public List<Map<String, Object>> getRollDefectDetails() {
return rollDefectDetails;
}
public void setRollDefectDetails(List<Map<String, Object>> rollDefectDetails) {
this.rollDefectDetails = rollDefectDetails;
}
public List<Map<String, Object>> getBomList() {
return bomList;
}

5
src/main/java/com/gaotao/modules/schedule/service/SchedulingService.java

@ -380,8 +380,9 @@ public interface SchedulingService {
* @param operator 操作员
* @param reportList 排数据列表
*/
void saveProductionReportAndDefect(String site, String orderNo, Float itemNo, Integer seqNo,
String rollNo, String operator, List<ProductionReportData> reportList, String rollNo2);
void saveProductionReportAndDefect(String site, String orderNo, Float itemNo, Integer seqNo,
String rollNo, String operator, List<ProductionReportData> reportList,
String rollNo2, List<Map<String, Object>> rollDefectDetails);
/**
* @Author AI

2
src/main/java/com/gaotao/modules/schedule/service/impl/ScheduleServiceImpl.java

@ -3608,7 +3608,7 @@ public class ScheduleServiceImpl implements ScheduleService {
// 调用保存方法
schedulingService.saveProductionReportAndDefect(site, orderNo, Float.valueOf(itemNo),
Integer.valueOf(seqNo), rollNoArr[i], operatorId, reportList, rollNo);
Integer.valueOf(seqNo), rollNoArr[i], operatorId, reportList, rollNo, inData.getRollDefectDetails());
}
}
//返回打印的数据 2022-05-09

74
src/main/java/com/gaotao/modules/schedule/service/impl/SchedulingServiceImpl.java

@ -1357,8 +1357,9 @@ public class SchedulingServiceImpl implements SchedulingService {
@Override
@Transactional
public void saveProductionReportAndDefect(String site, String orderNo, Float itemNo, Integer seqNo,
String rollNo, String operator, List<ProductionReportData> reportList, String rollNo2) {
public void saveProductionReportAndDefect(String site, String orderNo, Float itemNo, Integer seqNo,
String rollNo, String operator, List<ProductionReportData> reportList,
String rollNo2, List<Map<String, Object>> rollDefectDetails) {
if (reportList == null || reportList.isEmpty()) {
return;
}
@ -1375,12 +1376,16 @@ public class SchedulingServiceImpl implements SchedulingService {
// 批量插入排数据
schedulingMapper.batchInsertProductionReport(reportList);
// 计算不良总数
// 计算不良总数和面损总数
float totalDefectQty = 0;
float totalSurfaceLossQty = 0;
for (ProductionReportData report : reportList) {
if (report.getDefectQty() != null && report.getDefectQty() > 0) {
totalDefectQty += report.getDefectQty();
}
if (report.getSurfaceLossQty() != null && report.getSurfaceLossQty() > 0) {
totalSurfaceLossQty += report.getSurfaceLossQty();
}
}
// 如果有不良数量插入不良历史记录
@ -1390,22 +1395,81 @@ public class SchedulingServiceImpl implements SchedulingService {
if (nextHistSeqNo == null) {
nextHistSeqNo = 1;
}
int histSeqNoCursor = nextHistSeqNo;
// 创建不良历史记录
List<SfdcDefectHistData> defectList = new ArrayList<>();
// 保留原有默认不良记录数量改为 总不良 - 该卷面损
float defaultDefectQty = totalDefectQty - totalSurfaceLossQty;
if (defaultDefectQty < 0) {
defaultDefectQty = 0f;
}
SfdcDefectHistData defectData = new SfdcDefectHistData();
defectData.setSite(site);
defectData.setOrderNo(orderNo);
defectData.setItemNo(itemNo);
defectData.setSeqNo(seqNo);
defectData.setHistSeqNo(nextHistSeqNo);
defectData.setHistSeqNo(histSeqNoCursor++);
defectData.setReportedby(operator);
defectData.setDefectCode("10001"); // 默认不良代码可以根据实际情况调整
defectData.setDefectQty(totalDefectQty);
defectData.setDefectQty(defaultDefectQty);
defectData.setRollNo(rollNo2);
defectData.setRemark("创建分卷自动记录");
defectData.setReRollNo(rollNo);
defectList.add(defectData);
// 新增每卷选择的不良原因记录对应面损明细
if (rollDefectDetails != null && !rollDefectDetails.isEmpty()) {
for (Map<String, Object> detail : rollDefectDetails) {
if (detail == null) {
continue;
}
String defectCode = detail.get("defectCode") == null
? ""
: String.valueOf(detail.get("defectCode")).trim();
if ("".equals(defectCode)) {
continue;
}
Float detailDefectQty = null;
Object defectQtyObj = detail.get("defectQty");
if (defectQtyObj != null) {
try {
detailDefectQty = Float.valueOf(String.valueOf(defectQtyObj));
} catch (Exception ignored) {
detailDefectQty = null;
}
}
if (detailDefectQty == null || detailDefectQty <= 0) {
continue;
}
SfdcDefectHistData detailDefectData = new SfdcDefectHistData();
detailDefectData.setSite(site);
detailDefectData.setOrderNo(orderNo);
detailDefectData.setItemNo(itemNo);
detailDefectData.setSeqNo(seqNo);
detailDefectData.setHistSeqNo(histSeqNoCursor++);
detailDefectData.setReportedby(operator);
detailDefectData.setDefectCode(defectCode);
detailDefectData.setDefectQty(detailDefectQty);
detailDefectData.setRollNo(rollNo2);
detailDefectData.setReRollNo(rollNo);
String defectDesc = detail.get("defectDesc") == null
? ""
: String.valueOf(detail.get("defectDesc")).trim();
if (!"".equals(defectDesc)) {
detailDefectData.setRemark("创建分卷不良原因:" + defectDesc);
} else {
detailDefectData.setRemark("创建分卷不良原因");
}
defectList.add(detailDefectData);
}
}
// 批量插入不良历史数据
schedulingMapper.batchInsertSfdcDefectHist(defectList);

2
src/main/java/com/gaotao/modules/schedule/service/impl/ShiftAbnormalRollReportServiceImpl.java

@ -122,7 +122,7 @@ public class ShiftAbnormalRollReportServiceImpl
}
// 调用保存方法
schedulingService.saveProductionReportAndDefect(site, orderNo, itemNo, seqNo, rollNo, userid, reportList, batchRollNo);
schedulingService.saveProductionReportAndDefect(site, orderNo, itemNo, seqNo, rollNo, userid, reportList, batchRollNo, null);
}
// 3. 构建打印数据

Loading…
Cancel
Save