生产报工
1、生产报工事务明细中数据只显示工艺路线上的工序自定义字段IS_ERP_PRODUCT为PP01 2、生产完工入库是移动类型改取完工入库事务表的PRODUCT_TYPE,而为固定的101,现有值有531和101 3、物料消耗报工成功后更新lot_material表erp_flag为Y 4、物料消耗、完工入库如果辅助单位数量为null,那么辅助单位与辅助数量全部传null 5、生产报工事务冲销针对报工行报工
This commit is contained in:
parent
e74a3c2c96
commit
d5dcf214dc
@ -21,6 +21,8 @@ import com.foreverwin.iep.prd.entity.ZShoporderStatisticsTransaction;
|
||||
import com.foreverwin.iep.prd.mapper.ZLotMaterialCompleteTransactionMapper;
|
||||
import com.foreverwin.iep.prd.mapper.ZLotMaterialConsumptionTransactionMapper;
|
||||
import com.foreverwin.iep.prd.mapper.ZShoporderStatisticsTransactionMapper;
|
||||
import com.foreverwin.iep.wip.entity.LotMaterial;
|
||||
import com.foreverwin.iep.wip.mapper.LotMaterialMapper;
|
||||
import com.foreverwin.mom.common.core.exception.BusinessException;
|
||||
import com.foreverwin.mom.common.core.util.R;
|
||||
import com.foreverwin.mom.common.data.tenant.TenantContextHolder;
|
||||
@ -61,6 +63,7 @@ public class ShopOrderStatisticTransController {
|
||||
private final IntInDataService intInDataService;
|
||||
private final IntInDataLogService intInDataLogService;
|
||||
private final RegisterDocumentService registerDocumentService;
|
||||
private final LotMaterialMapper lotMaterialMapper;
|
||||
|
||||
@ApiOperation(value = "生产管理报工平台-工单报工", notes = "生产管理报工平台-工单报工")
|
||||
@SysLog("生产管理报工平台-工单报工")
|
||||
@ -160,13 +163,15 @@ public class ShopOrderStatisticTransController {
|
||||
InvokeResponse invokeResponse = new InvokeResponse();
|
||||
List<ZShoporderStatisticsTransaction> newList = new ArrayList<>();
|
||||
for (ZShoporderStatisticsTransaction statisticsTransaction : shoporderStatisticsTransactionList) {
|
||||
if(StringUtils.isEmpty(statisticsTransaction.getSid())){
|
||||
if (StringUtils.isEmpty(statisticsTransaction.getSid())) {
|
||||
throw BusinessException.build("此笔数据还未报工无需取消报工");
|
||||
}
|
||||
// 重新校验一遍是否已经报过工,防止重复报工
|
||||
ZShoporderStatisticsTransaction targetObj = zShoporderStatisticsTransactionMapper.selectById(statisticsTransaction.getSid());
|
||||
if (targetObj==null || !"S".equals(targetObj.getSyncStatus())) {
|
||||
if (targetObj == null || !"S".equals(targetObj.getSyncStatus())) {
|
||||
throw BusinessException.build("工单" + targetObj.getShopOrder() + "还未报工无需取消报工");
|
||||
} else if ("Y".equalsIgnoreCase(targetObj.getErpReverse())) {
|
||||
throw BusinessException.build("该笔数据已经冲销");
|
||||
} else {
|
||||
newList.add(targetObj);
|
||||
}
|
||||
@ -293,10 +298,10 @@ public class ShopOrderStatisticTransController {
|
||||
jsonObject.put("EBELP", ""); // 采购凭证的项目编号
|
||||
jsonObject.put("MENGE", consumptionTransaction.getMainQty()); // 数量
|
||||
jsonObject.put("MEINS", consumptionTransaction.getMainUom()); // 基本计量单位
|
||||
if(consumptionTransaction.getSubQty()!=null){
|
||||
if (consumptionTransaction.getSubQty() != null) {
|
||||
jsonObject.put("ERFMG", consumptionTransaction.getSubQty()); // 以录入项单位表示的数量
|
||||
jsonObject.put("ERFME", consumptionTransaction.getSubUom()); // 录入单位
|
||||
}else{
|
||||
} else {
|
||||
jsonObject.put("ERFMG", null); // 以录入项单位表示的数量
|
||||
jsonObject.put("ERFME", ""); // 录入单位
|
||||
}
|
||||
@ -341,7 +346,7 @@ public class ShopOrderStatisticTransController {
|
||||
}
|
||||
}
|
||||
if ("E".equals(invokeResponse.getResult())) {
|
||||
return R.failed("SAP错误:"+invokeResponse.getMessageContent());
|
||||
return R.failed("SAP错误:" + invokeResponse.getMessageContent());
|
||||
} else {
|
||||
return R.ok();
|
||||
}
|
||||
@ -363,6 +368,14 @@ public class ShopOrderStatisticTransController {
|
||||
targetObj.setCreator(SecurityUtils.getUserName());
|
||||
targetObj.setDateCreate(LocalDateTime.now());
|
||||
zLotMaterialConsumptionTransactionMapper.updateById(targetObj);
|
||||
// 如果报工成功,就更新消耗表的erp标识为Y
|
||||
if ("S".equalsIgnoreCase(result)) {
|
||||
LotMaterial lotMaterial = lotMaterialMapper.selectById(targetObj.getLotMaterialSid());
|
||||
if (lotMaterial != null) {
|
||||
lotMaterial.setErpFlag("Y");
|
||||
lotMaterialMapper.updateById(lotMaterial);
|
||||
}
|
||||
}
|
||||
}
|
||||
invokeResponse.setResult(result);
|
||||
invokeResponse.setMessageContent(message);
|
||||
@ -395,7 +408,7 @@ public class ShopOrderStatisticTransController {
|
||||
@PostMapping("/api/getSapBatchNo")
|
||||
public R<String> getSapBatchNo(@RequestBody String erpItem) {
|
||||
String sapBatchNo = registerDocumentService.getSapBatchNo(erpItem);
|
||||
return R.ok(sapBatchNo);
|
||||
return R.ok(sapBatchNo);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "生产管理报工平台-批次完工入库报工", notes = "生产管理报工平台-批次完工入库报工")
|
||||
@ -425,24 +438,24 @@ public class ShopOrderStatisticTransController {
|
||||
jsonObject.put("WERKS", site); // 工厂
|
||||
jsonObject.put("LGORT", completeTransaction.getErpInventory()); // 存储地点
|
||||
jsonObject.put("CHARG", completeTransaction.getSapBatchNo()); // 批次号
|
||||
jsonObject.put("BWART", "101"); // 移动类型
|
||||
jsonObject.put("BWART", completeTransaction.getProductType()); // 移动类型
|
||||
jsonObject.put("SOBKZ", ""); // 特殊库存标识
|
||||
jsonObject.put("AUFNR", completeTransaction.getShopOrder()); // 订单号
|
||||
jsonObject.put("EBELN", ""); // 采购订单号
|
||||
jsonObject.put("EBELP", ""); // 采购凭证的项目编号
|
||||
jsonObject.put("MENGE", completeTransaction.getMainQty()); // 数量
|
||||
jsonObject.put("MEINS", completeTransaction.getMainUom()); // 基本计量单位
|
||||
if(completeTransaction.getSubQty()!=null){
|
||||
if (completeTransaction.getSubQty() != null) {
|
||||
jsonObject.put("ERFMG", completeTransaction.getSubQty()); // 以录入项单位表示的数量
|
||||
jsonObject.put("ERFME", completeTransaction.getSubUom()); // 录入单位
|
||||
}else{
|
||||
} else {
|
||||
jsonObject.put("ERFMG", null); // 以录入项单位表示的数量
|
||||
jsonObject.put("ERFME", ""); // 录入单位
|
||||
}
|
||||
jsonObject.put("MAT_KDAUF", completeTransaction.getSoNo()); // 评估销售定单库存的销售定单号
|
||||
if(StringUtils.isNotEmpty(completeTransaction.getSoLineNo())){
|
||||
if (StringUtils.isNotEmpty(completeTransaction.getSoLineNo())) {
|
||||
jsonObject.put("MAT_KDPOS", Integer.valueOf(completeTransaction.getSoLineNo())); // 评估销售订单库存的销售订单项目
|
||||
}else{
|
||||
} else {
|
||||
jsonObject.put("MAT_KDPOS", null); // 评估销售订单库存的销售订单项目
|
||||
}
|
||||
jsonObject.put("UMWRK", ""); // 收货工厂/发货工厂
|
||||
@ -487,7 +500,7 @@ public class ShopOrderStatisticTransController {
|
||||
}
|
||||
}
|
||||
if ("E".equals(invokeResponse.getResult())) {
|
||||
return R.failed("SAP错误:"+invokeResponse.getMessageContent());
|
||||
return R.failed("SAP错误:" + invokeResponse.getMessageContent());
|
||||
} else {
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@ -57,7 +57,7 @@ public class ShopOrderStatisticTransCancelService implements HandlerService {
|
||||
shoporderStatisticsTransaction.setSyncTicketNo(outJson.getString("VORNR"));
|
||||
String result = outJson.getString("MSGTY");
|
||||
invokeResponse.setResult(result);
|
||||
shoporderStatisticsTransaction.setSyncStatus(result);
|
||||
shoporderStatisticsTransaction.setErpReverse(result);
|
||||
shoporderStatisticsTransaction.setSyncMessageRemark(outJson.getString("MSGID"));
|
||||
shoporderStatisticsTransaction.setSyncMessageNo(outJson.getString("MSGNO"));
|
||||
String message = outJson.getString("MSGTX");
|
||||
@ -65,7 +65,6 @@ public class ShopOrderStatisticTransCancelService implements HandlerService {
|
||||
shoporderStatisticsTransaction.setSyncMessageText(message);
|
||||
shoporderStatisticsTransaction.setUpdater(SecurityUtils.getUserName());
|
||||
shoporderStatisticsTransaction.setDateUpdate(LocalDateTime.now());
|
||||
shoporderStatisticsTransaction.setStatus("N");
|
||||
zShoporderStatisticsTransactionMapper.updateById(shoporderStatisticsTransaction);
|
||||
return invokeResponse;
|
||||
}else{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user