标识卡加重置

master
zhaoxiaolin 6 months ago
parent a497b975e7
commit 4a477c9259

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

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

@ -1269,20 +1269,21 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService {
@DS("#header.poolName") @DS("#header.poolName")
public List<ProOrderWorkorder> getIdCardList(ProOrderWorkorder proOrderWorkorder) { public List<ProOrderWorkorder> getIdCardList(ProOrderWorkorder proOrderWorkorder) {
List<ProOrderWorkorder> dtos = new ArrayList<>(); List<ProOrderWorkorder> dtos = new ArrayList<>();
//如果标识卡之前版本已经被用(attr1->1),则不生成新的 // //如果标识卡之前版本已经被用(attr1->1),则不生成新的
ProOrderWorkorder oldVersion = proOrderWorkorderMapper.getOldVersionUsedInfo(proOrderWorkorder); // ProOrderWorkorder oldVersion = proOrderWorkorderMapper.getOldVersionUsedInfo(proOrderWorkorder);
//清除之前的非补打的 //清除之前的非补打的
List<ProOrderWorkorder> dtos0 = null; List<ProOrderWorkorder> dtos0 = null;
if((proOrderWorkorder.getPalletNo()==null&&proOrderWorkorder.getAddFlag().equals("0"))||oldVersion==null) { // if((proOrderWorkorder.getPalletNo()==null&&proOrderWorkorder.getAddFlag().equals("0"))||oldVersion==null) {
//不是增打和补打且还没用于入库 // //不是增打和补打且还没用于入库
proOrderWorkorderMapper.cleanCard(proOrderWorkorder); // proOrderWorkorderMapper.cleanCard(proOrderWorkorder);
} // }
if(proOrderWorkorder.getAddFlag().equals("0")&&proOrderWorkorder.getPalletNo()==null){//非增打标志0 if(proOrderWorkorder.getAddFlag().equals("0")&&proOrderWorkorder.getPalletNo()==null){//非增打标志0
if(oldVersion != null){ List<ProOrderWorkorder> olddtos = proOrderWorkorderMapper.getPreIdCardListNow(proOrderWorkorder);
dtos = proOrderWorkorderMapper.getPreIdCardListNow(proOrderWorkorder); if(!CollectionUtils.isEmpty(olddtos)){
for(ProOrderWorkorder pow:dtos){ for(ProOrderWorkorder pow:olddtos){
pow.setUmrez(pow.getBatchQuantity().multiply(pow.getUmrez()));//子单数量 pow.setUmrez(pow.getBatchQuantity().multiply(pow.getUmrez()));//子单数量
} }
dtos.addAll(olddtos);
}else{ }else{
dtos0 = proOrderWorkorderMapper.getPreIdCardList(proOrderWorkorder); dtos0 = proOrderWorkorderMapper.getPreIdCardList(proOrderWorkorder);
ProOrderWorkorder pw = null; ProOrderWorkorder pw = null;
@ -1386,6 +1387,70 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService {
return dtos; 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' 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="palletNo != null">and powbp.pallet_num = #{palletNo}</if>
<if test="prodType != null">and powbp.add_flag = #{prodType}</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 order by CAST(powbp.pallet_num AS INT),powb.batch_code
</select> </select>
@ -885,7 +885,7 @@
from pro_order_workorder_batch_pallet powbp from pro_order_workorder_batch_pallet powbp
left join pro_order_workorder pow on powbp.workorder_code = pow.workorder_code_sap 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 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) order by CAST(powbp.pallet_num AS INT)
</select> </select>
@ -1027,7 +1027,7 @@
</foreach> </foreach>
</delete> </delete>
<delete id="cleanCard"> <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} select workorder_code_sap from pro_order_workorder where workorder_code = #{workorderCode}
) and add_flag = '0' and attr1 = '0' ) and add_flag = '0' and attr1 = '0'
</delete> </delete>

Loading…
Cancel
Save