1.材质证件跟踪增加修正功能,防止未导入零件配套表时报工导致材质证件缺失问题

2.调整切割报工零件生成逻辑兼容后续零件作业报工状态,防止直接删除导致报工信息丢失
master
董哲奇 1 month ago
parent f08e44ab3c
commit a4f400159e

@ -350,11 +350,24 @@ public class DmYdjhLj implements Serializable {
return !"03".equals(this.pkZt)||!"03".equals(this.qjgZt)||!"03".equals(this.dmZt);
}
//报工检测
public boolean checkZtBg(){
return "03".equals(this.pkZt)||"03".equals(this.qjgZt)||"03".equals(this.dmZt);
}
public void updateZtWithDb(DmYdjhLj dbLj){
this.setId(dbLj.getId());
this.setDmZt(dbLj.getDmZt());
this.setPkZt(dbLj.getPkZt());
this.setQjgZt(dbLj.getQjgZt());
this.setPpzt(dbLj.getPpzt());
}
public boolean tmpEq(DmYdjhLj lj){
return lj.getCzbh().equals(this.czbh)
&&lj.getPl().equals(this.pl)
&&lj.getTlth().equals(this.tlth)
&&lj.getLjbh().equals(this.ljbh);
}
}

@ -291,6 +291,36 @@ public class ZyjhController {
return new ResultBean<>();
}
@PostMapping("sdtbczzj")
public ResultBean<?> sdTbCzzj(@RequestBody List<DmYdjh> list){
ArrayList<MpDhsj> mpDhsjSaveList = new ArrayList<>();
list.forEach(item-> zlgzCreate(item,mpDhsjSaveList));
mpDhsjServcie.saveBatch(mpDhsjSaveList);
return new ResultBean<>();
}
private void zlgzCreate(DmYdjh item,ArrayList<MpDhsj> mpDhsjSaveList){
List<DmYdjhLj> ljList = zyjhService.createLj(item.getDcCh(), item.getDcPl(), item.getTzbh());
Map<String, Object> mpsycljljbp = zyjhService.getMPSYCLJLJBP(item.getDcCh(), item.getTzbh());
//质量跟踪数据
List<MpDhsj> collect = new ArrayList<>();
String date = DateUtil.date().toString("yyyy/MM/dd");
String mpDhsjDhh = zyjhService.getMpDhsjDhh();
for (int j = 0; j < ljList.size(); j++) {
DmYdjhLj item2 = ljList.get(j);
if (StrUtil.isNotEmpty(item.getSllph())){//兼容没有炉批号的老数据用
MpDhsj mpDhsj = MpDhsj.of(item2, date, item.getSllph());
String xh = StrUtil.padPre(j + 1 + "", 3, "0");
mpDhsj.setDhh(mpDhsjDhh+"-"+xh);
if (ObjUtil.isNotEmpty(mpsycljljbp)) {
mpDhsj.setGysbh("BZGY-"+mpsycljljbp.get("gzzx3"));
}
collect.add(mpDhsj);
mpDhsjSaveList.add(mpDhsj);
}
}
}
/**
* ,&
*/
@ -365,8 +395,6 @@ public class ZyjhController {
updateYlList.add(dmYlInfo);
}
}
//生成零件信息
List<DmYdjhLj> ljList = zyjhService.createLj(item.getDcCh(), item.getDcPl(), item.getTzbh());
//临时使用异常捕获,防止生产未更新余料库存表导致无法正常切割报工
try {
@ -396,24 +424,8 @@ public class ZyjhController {
continue;
}
Map<String, Object> mpsycljljbp = zyjhService.getMPSYCLJLJBP(item.getDcCh(), item.getTzbh());
//质量跟踪数据
List<MpDhsj> collect = new ArrayList<>();
String date = DateUtil.date().toString("yyyy/MM/dd");
String mpDhsjDhh = zyjhService.getMpDhsjDhh();
for (int j = 0; j < ljList.size(); j++) {
DmYdjhLj item2 = ljList.get(j);
if (StrUtil.isNotEmpty(item.getSllph())){//兼容没有炉批号的老数据用
MpDhsj mpDhsj = MpDhsj.of(item2, date, item.getSllph());
String xh = StrUtil.padPre(j + 1 + "", 3, "0");
mpDhsj.setDhh(mpDhsjDhh+"-"+xh);
if (ObjUtil.isNotEmpty(mpsycljljbp)) {
mpDhsj.setGysbh("BZGY-"+mpsycljljbp.get("gzzx3"));
}
collect.add(mpDhsj);
MpDhsjSaveList.add(mpDhsj);
}
}
zlgzCreate(item,MpDhsjSaveList);
}
mpDhsjServcie.saveBatch(MpDhsjSaveList);

@ -33,7 +33,6 @@ import org.springframework.transaction.annotation.Transactional;
import java.io.File;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
@Service
@ -175,12 +174,30 @@ public class ZyjhService extends ServiceImpl<DmYdjhMapper,DmYdjh> {
}
});
ljService.remove(Wrappers.<DmYdjhLj>lambdaQuery()
.eq(DmYdjhLj::getCzbh,dcCh)
.eq(DmYdjhLj::getPl,dcPl)
.eq(DmYdjhLj::getTlth,tzbh)
//如果零件已报工,不可以删除,取消整图删除零件,改为修正
List<DmYdjhLj> list = ljService.list(Wrappers.<DmYdjhLj>lambdaQuery()
.eq(DmYdjhLj::getCzbh, dcCh)
.eq(DmYdjhLj::getPl, dcPl)
.eq(DmYdjhLj::getTlth, tzbh)
);
ljService.saveBatch(ljInfo);
if (!list.isEmpty()){
list.forEach(item->{
ljInfo.forEach(lj->{
if (lj.tmpEq(item)){
//修正零件状态信息
lj.updateZtWithDb(item);
}
});
});
ljService.saveOrUpdateBatch(ljInfo);
}else{
ljService.remove(Wrappers.<DmYdjhLj>lambdaQuery()
.eq(DmYdjhLj::getCzbh,dcCh)
.eq(DmYdjhLj::getPl,dcPl)
.eq(DmYdjhLj::getTlth,tzbh)
);
ljService.saveBatch(ljInfo);
}
return ljInfo;
}

Loading…
Cancel
Save