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

View File

@@ -27,7 +27,7 @@
</el-form> </el-form>
</div> </div>
<crudOperation :permission="permission"> <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> </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 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" /> <el-table-column type="selection" width="55" />