|
|
|
@ -1269,20 +1269,21 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService {
|
|
|
|
|
@DS("#header.poolName")
|
|
|
|
|
public List<ProOrderWorkorder> getIdCardList(ProOrderWorkorder proOrderWorkorder) {
|
|
|
|
|
List<ProOrderWorkorder> dtos = new ArrayList<>();
|
|
|
|
|
//如果标识卡之前版本已经被用(attr1->1),则不生成新的
|
|
|
|
|
ProOrderWorkorder oldVersion = proOrderWorkorderMapper.getOldVersionUsedInfo(proOrderWorkorder);
|
|
|
|
|
// //如果标识卡之前版本已经被用(attr1->1),则不生成新的
|
|
|
|
|
// ProOrderWorkorder oldVersion = proOrderWorkorderMapper.getOldVersionUsedInfo(proOrderWorkorder);
|
|
|
|
|
//清除之前的非补打的
|
|
|
|
|
List<ProOrderWorkorder> dtos0 = null;
|
|
|
|
|
if((proOrderWorkorder.getPalletNo()==null&&proOrderWorkorder.getAddFlag().equals("0"))||oldVersion==null) {
|
|
|
|
|
//不是增打和补打且还没用于入库
|
|
|
|
|
proOrderWorkorderMapper.cleanCard(proOrderWorkorder);
|
|
|
|
|
}
|
|
|
|
|
// if((proOrderWorkorder.getPalletNo()==null&&proOrderWorkorder.getAddFlag().equals("0"))||oldVersion==null) {
|
|
|
|
|
// //不是增打和补打且还没用于入库
|
|
|
|
|
// proOrderWorkorderMapper.cleanCard(proOrderWorkorder);
|
|
|
|
|
// }
|
|
|
|
|
if(proOrderWorkorder.getAddFlag().equals("0")&&proOrderWorkorder.getPalletNo()==null){//非增打标志0
|
|
|
|
|
if(oldVersion != null){
|
|
|
|
|
dtos = proOrderWorkorderMapper.getPreIdCardListNow(proOrderWorkorder);
|
|
|
|
|
for(ProOrderWorkorder pow:dtos){
|
|
|
|
|
List<ProOrderWorkorder> olddtos = proOrderWorkorderMapper.getPreIdCardListNow(proOrderWorkorder);
|
|
|
|
|
if(!CollectionUtils.isEmpty(olddtos)){
|
|
|
|
|
for(ProOrderWorkorder pow:olddtos){
|
|
|
|
|
pow.setUmrez(pow.getBatchQuantity().multiply(pow.getUmrez()));//子单数量
|
|
|
|
|
}
|
|
|
|
|
dtos.addAll(olddtos);
|
|
|
|
|
}else{
|
|
|
|
|
dtos0 = proOrderWorkorderMapper.getPreIdCardList(proOrderWorkorder);
|
|
|
|
|
ProOrderWorkorder pw = null;
|
|
|
|
@ -1386,6 +1387,70 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService {
|
|
|
|
|
return dtos;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@DS("#header.poolName")
|
|
|
|
|
public List<ProOrderWorkorder> getIdCardListRefresh(ProOrderWorkorder proOrderWorkorder) {
|
|
|
|
|
List<ProOrderWorkorder> dtos = new ArrayList<>();
|
|
|
|
|
//如果标识卡之前版本已经被用(attr1->1),则不生成新的
|
|
|
|
|
//ProOrderWorkorder oldVersion = proOrderWorkorderMapper.getOldVersionUsedInfo(proOrderWorkorder);
|
|
|
|
|
//清除之前的非补打的
|
|
|
|
|
List<ProOrderWorkorder> dtos0 = null;
|
|
|
|
|
//if(oldVersion==null) {
|
|
|
|
|
//重置
|
|
|
|
|
proOrderWorkorderMapper.cleanCard(proOrderWorkorder);
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
dtos0 = proOrderWorkorderMapper.getPreIdCardList(proOrderWorkorder);
|
|
|
|
|
ProOrderWorkorder pw = null;
|
|
|
|
|
int i = 1;
|
|
|
|
|
Date nowDate = DateUtils.getNowDate();
|
|
|
|
|
for(ProOrderWorkorder pow:dtos0){
|
|
|
|
|
if(pow.getPalletNum()!=null){
|
|
|
|
|
|
|
|
|
|
BigDecimal pall = pow.getBatchQuantity();
|
|
|
|
|
BigDecimal pn = pow.getPalletNum();
|
|
|
|
|
|
|
|
|
|
while(pall.compareTo(BigDecimal.ZERO)>0){
|
|
|
|
|
pw = new ProOrderWorkorder();
|
|
|
|
|
pw.setProductName(pow.getProductName());
|
|
|
|
|
pw.setWorkorderCode(pow.getWorkorderCode());
|
|
|
|
|
pw.setBatchCode(pow.getBatchCode());
|
|
|
|
|
pw.setProductDateStr(pow.getProductDateStr());
|
|
|
|
|
pw.setRecordId(IdUtils.fastSimpleUUID());
|
|
|
|
|
if(pall.compareTo(pn)<0) {//最后一托盘
|
|
|
|
|
pw.setBatchQuantity(pall);
|
|
|
|
|
}else{
|
|
|
|
|
pw.setBatchQuantity(pn);
|
|
|
|
|
}
|
|
|
|
|
pw.setUnit(pow.getUnit());
|
|
|
|
|
pw.setUmrez(pw.getBatchQuantity().multiply(pow.getUmrez()));//子单数量
|
|
|
|
|
pw.setPalletNo(i++);
|
|
|
|
|
//批次+板号+物料+工单号
|
|
|
|
|
pw.setPalletCode(
|
|
|
|
|
pow.getBatchCode() + "-"
|
|
|
|
|
+ pw.getPalletNo() + "-"
|
|
|
|
|
+ pow.getProductCode().replace("0000000","") + "-"
|
|
|
|
|
+ pow.getWorkorderCode().replace("000","")
|
|
|
|
|
);//workorderCode 实际上是订单号
|
|
|
|
|
pw.setCreateTime(nowDate);
|
|
|
|
|
pw.setCreateBy(SecurityUtils.getUsername());
|
|
|
|
|
pw.setAddFlag("0");//增打标志
|
|
|
|
|
dtos.add(pw);
|
|
|
|
|
pall = pall.subtract(pn);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(!CollectionUtils.isEmpty(dtos)) {//不是增打和补打
|
|
|
|
|
proOrderWorkorderMapper.addBatchPallet(dtos);
|
|
|
|
|
proOrderWorkorder.setProdType("1");//补打标识临时借用
|
|
|
|
|
List<ProOrderWorkorder> dtosZ = proOrderWorkorderMapper.getPreIdCardListB(proOrderWorkorder);//增打
|
|
|
|
|
if(!CollectionUtils.isEmpty(dtosZ)){
|
|
|
|
|
dtos.addAll(dtosZ);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return dtos;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 校验工单是否可以修改
|
|
|
|
|