44905 MES-发运异常处理

uat-temp-logic-20250313-45610
xiangwei.zhang 4 months ago
parent 939c515fc2
commit a4d6e8009a

@ -37,6 +37,9 @@ public interface IMesShippingOrderManagementDetailService extends IBaseMesServic
@ApiOperation("手动发运改数量")
public ResultBean updateQty(Long[] ids);
@ApiOperation("同步")
public ResultBean syncShip(Long[] ids);
@ApiOperation("发运退回")
void doShippingBack(Long[] idList,String organizeCode,String userName);

@ -90,8 +90,7 @@ public class MesShippingOrderManagementDetailController extends BaseMesControlle
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@ApiOperation(value = "手工发运", notes = "手工发运")
@ApiOperation(value = "修改数量", notes = "修改数量")
@GetMapping("/master/part/updateQty")
public ResultBean updateQty(Long[] ids) {
try {
@ -103,6 +102,18 @@ public class MesShippingOrderManagementDetailController extends BaseMesControlle
}
}
@ApiOperation(value = "发运同步", notes = "发运同步")
@GetMapping("/master/part/syncShip")
public ResultBean syncShip(Long[] ids) {
try {
return shippingOrderManagementDetailService.syncShip(ids);
} catch (ImppBusiException e) {
return ResultBean.fail(e);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@ApiOperation(value = "发运退回", notes = "发运退回")
@PutMapping("/doShippingBack")
public ResultBean doShippingBack(@RequestBody Long[] idList) {

@ -152,6 +152,27 @@ public class MesShippingOrderManagementDetailService extends BaseMesService<MesS
/*String organizeCode = "CR01";
String userName ="zxw";*/
List<MesShippingOrderManagementDetail> detailList = getManagementDetails(ids, organizeCode, userName);
for (MesShippingOrderManagementDetail mesShippingOrderManagementDetail : detailList) {
if (StringUtils.isEmpty(mesShippingOrderManagementDetail.getPartNo())) {
log.info("发运单明细对应零件号为空");
return ResultBean.fail(String.format("发运单明细对应零件号为空"));
}
mesShippingOrderManagementDetail.setActualQty((int)mesShippingOrderManagementDetail.getPlanQty());
ConvertBean.serviceModelUpdate(mesShippingOrderManagementDetail, userName); }
if (!CollectionUtils.isEmpty(detailList)) {
shippingOrderDetailRepository.saveAll(detailList);
}
return ResultBean.success("操作成功");
}
@Override
public ResultBean syncShip(Long[] ids) {
String organizeCode = AuthUtil.getOrganizeCode();
String userName = AuthUtil.getSessionUser().getUserName();
/*String organizeCode = "CR01";
String userName ="zxw";*/
List<MesShippingOrderManagementDetail> detailList = getManagementDetails(ids, organizeCode, userName);
List<Long> idList = detailList.stream().map(MesShippingOrderManagementDetail::getPid).distinct().collect(Collectors.toList());
DdlPackBean orderPackBean = DdlPackBean.getDdlPackBean(organizeCode);
@ -165,10 +186,13 @@ public class MesShippingOrderManagementDetailService extends BaseMesService<MesS
for (MesShippingOrderManagementDetail mesShippingOrderManagementDetail : detailList) {
MesShippingOrderManagement mesShippingOrderManagement = orderMap.get(mesShippingOrderManagementDetail.getPid());
if (StringUtils.isEmpty(mesShippingOrderManagementDetail.getPartNo())) {
log.info("客户零件号对应的零件号为空:{}", mesShippingOrderManagementDetail.getCustPartNo());
return ResultBean.fail(String.format("客户零件号对应的零件号为空:%s", mesShippingOrderManagementDetail.getCustPartNo()));
log.info("发运单明细对应零件号为空");
return ResultBean.fail(String.format("发运单明细对应零件号为空"));
}
if ((int) mesShippingOrderManagementDetail.getPlanQty() == mesShippingOrderManagementDetail.getActualQty()) {
log.info("计划数量和实际数量不相等");
return ResultBean.fail(String.format("计划数量和实际数量不相等"));
}
mesShippingOrderManagementDetail.setActualQty((int)mesShippingOrderManagementDetail.getPlanQty());
mesShippingOrderManagementDetail.setStatus(MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue());
mesShippingOrderManagementDetail.setRemark("手工发运");
ConvertBean.serviceModelUpdate(mesShippingOrderManagementDetail, userName);
@ -204,7 +228,6 @@ public class MesShippingOrderManagementDetailService extends BaseMesService<MesS
return ResultBean.success("操作成功");
}
public MesJisShipping getMesJisShipping(MesShippingOrderManagement orderManagement,MesShippingOrderManagementDetail detail, String srcLocateNo, MesWorkOrderPart orderPart, String userName) {
MesJisShipping jisShipping = new MesJisShipping();
BeanUtils.copyProperties(orderManagement, jisShipping);

Loading…
Cancel
Save