opt:优化采购单回传逻辑

This commit is contained in:
zhaoyf
2026-06-16 13:58:03 +08:00
parent bd52bb055a
commit a9efd88267
3 changed files with 23 additions and 7 deletions

View File

@@ -83,8 +83,8 @@ public class PurchaseFormListenerHandler extends BaseFormListenerHandler<Purchas
easAuditRequestDto.setData(easAuditDataDto);
final PmStockReturn stockReturn = new PmStockReturn();
String stringId = IdUtil.getStringId();
stockReturn.setRequest_Id(stringId);
// String stringId = IdUtil.getStringId();
stockReturn.setRequest_Id(params.getBillId());
stockReturn.setCreate_time(DateUtil.now());
stockReturn.setRequest_type(IOSEnum.BILL_TYPE.code("采购入库"));
stockReturn.setStatus(StockReturnStatusEnum.TODO.getCode());
@@ -95,11 +95,11 @@ public class PurchaseFormListenerHandler extends BaseFormListenerHandler<Purchas
wmsToErpService.uploadErp(new JSONObject((JSONObject)JSON.toJSON(easAuditRequestDto)));
pmStockReturnService.lambdaUpdate()
.set(PmStockReturn::getStatus,StockReturnStatusEnum.SUCESS.getCode())
.eq(PmStockReturn::getRequest_Id, stringId);
.eq(PmStockReturn::getRequest_Id, params.getBillId());
} catch (Exception e) {
pmStockReturnService.lambdaUpdate()
.set(PmStockReturn::getStatus,StockReturnStatusEnum.FAIL.getCode())
.eq(PmStockReturn::getRequest_Id, stringId);
.eq(PmStockReturn::getRequest_Id, params.getBillId());
}
}else {
//更新单据状态执行中

View File

@@ -2,6 +2,7 @@ package org.nl.wms.pm_manage.purchase.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -11,6 +12,7 @@ import lombok.extern.slf4j.Slf4j;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.exception.BadRequestException;
import org.nl.common.utils.SecurityUtils;
import org.nl.wms.ext_manage.service.WmsToErpService;
import org.nl.wms.pda_manage.ios_manage.purchase.service.vo.PurchaseMatInfoVo;
import com.alibaba.fastjson.JSON;
import org.nl.common.utils.IdUtil;
@@ -45,6 +47,9 @@ public class PurchaseServiceImpl extends ServiceImpl<PurchasemstMapper, Purchase
@Autowired
private IPmStockReturnService pmStockReturnService;
@Autowired
private WmsToErpService wmsToErpService;
@Override
public IPage<PurchasemstListVo> queryAll(Map whereJson, PageQuery page) {
return purchasemstMapper.queryAllByPage(
@@ -164,14 +169,25 @@ public class PurchaseServiceImpl extends ServiceImpl<PurchasemstMapper, Purchase
data.setBillNo(mst.getOrder_no());
data.setEntrys(entryList);
dto.setData(data);
PmStockReturn stockReturn = new PmStockReturn();
stockReturn.setRequest_Id(IdUtil.getStringId());
stockReturn.setRequest_Id(mst.getBill_id());
stockReturn.setCreate_time(cn.hutool.core.date.DateUtil.now());
stockReturn.setRequest_type(IOSEnum.BILL_TYPE.code("采购入库"));
stockReturn.setStatus(StockReturnStatusEnum.TODO.getCode());
stockReturn.setRequest_data(JSON.toJSONString(dto));
pmStockReturnService.save(stockReturn);
//回传erp
JSONObject result = wmsToErpService.uploadErp((JSONObject) JSONObject.toJSON(dto));
if (!result.getBoolean("status")){
pmStockReturnService.lambdaUpdate()
.set(PmStockReturn::getStatus, StockReturnStatusEnum.FAIL.getCode())
.eq(PmStockReturn::getRequest_Id, mst.getBill_id());
}else {
pmStockReturnService.lambdaUpdate()
.set(PmStockReturn::getStatus, StockReturnStatusEnum.SUCESS.getCode())
.eq(PmStockReturn::getRequest_Id, mst.getBill_id());
}
log.info("下发回传单成功, billId: {}, requestId: {}, 明细数: {}", mst.getBill_id(), stockReturn.getRequest_Id(), dtlList.size());
}
}

View File

@@ -27,7 +27,7 @@
</el-form>
</div>
<crudOperation :permission="permission">
<el-button slot="right" class="filter-item" type="warning" icon="el-icon-s-promotion" size="mini" :disabled="audit_flag" @click="issueReturnBill">下发回传</el-button>
<el-button slot="right" class="filter-item" type="warning" icon="el-icon-s-promotion" size="mini" :disabled="audit_flag" @click="issueReturnBill">强制回传</el-button>
</crudOperation>
<el-table ref="table" v-loading="crud.loading" size="mini" :data="crud.data" highlight-current-row style="width: 100%;" @selection-change="crud.selectionChangeHandler" @current-change="handleCurrentChange" @select="handleSelectionChange">
<el-table-column type="selection" width="55" />