标识卡加重置

master
zhaoxiaolin 6 months ago
parent a497b975e7
commit 4a477c9259

@ -315,6 +315,12 @@ public class ProOrderWorkorderController extends BaseController {
return proOrderWorkorderService.getIdCardList(proOrderWorkorder);
}
/**获取标识卡-重置**/
@PostMapping("/getIdCardListRefresh")
public List<ProOrderWorkorder> getIdCardListRefresh(@RequestBody ProOrderWorkorder proOrderWorkorder) {
return proOrderWorkorderService.getIdCardListRefresh(proOrderWorkorder);
}
//获取批次号
@GetMapping("/getBatchCode/{workorderId}")
public List<ProOrderWorkorder> getBatchCode(@PathVariable("workorderId") String workorderId) {

@ -153,4 +153,6 @@ public interface IProOrderWorkorderService {
List<ProOrderWorkorder> getIdCardList(ProOrderWorkorder proOrderWorkorder);
List<ProOrderWorkorder> getBatchCode(String workorderId);//获取批次号
List<ProOrderWorkorder> getIdCardListRefresh(ProOrderWorkorder proOrderWorkorder);
}

@ -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;
}
/**
*

@ -719,7 +719,7 @@
where pow.workorder_code = #{workorderCode} and pow.del_flag = '0' and powb.del_flag = '0'
<if test="palletNo != null">and powbp.pallet_num = #{palletNo}</if>
<if test="prodType != null">and powbp.add_flag = #{prodType}</if>
and powbp.del_flag = '0'
order by CAST(powbp.pallet_num AS INT),powb.batch_code
</select>
@ -885,7 +885,7 @@
from pro_order_workorder_batch_pallet powbp
left join pro_order_workorder pow on powbp.workorder_code = pow.workorder_code_sap
left join base_product bp on bp.product_code = pow.product_code
where pow.workorder_code = #{workorderCode} and pow.del_flag = '0'
where pow.workorder_code = #{workorderCode} and pow.del_flag = '0' and powbp.del_flag = '0'
order by CAST(powbp.pallet_num AS INT)
</select>
@ -1027,7 +1027,7 @@
</foreach>
</delete>
<delete id="cleanCard">
delete from pro_order_workorder_batch_pallet where workorder_code in(
update pro_order_workorder_batch_pallet set del_flag = '1' where workorder_code in(
select workorder_code_sap from pro_order_workorder where workorder_code = #{workorderCode}
) and add_flag = '0' and attr1 = '0'
</delete>

Loading…
Cancel
Save