1. 【新增】售后单售后原因类型支持搜索

2. 【新增】手工创建订单折扣可输入正数

3. 【优化】盘点申请单确认

4. 【修复】采购退货单模拟出库失败问题

5. 【新增】订单金额客户实付与结算金额

6. 【优化】仓库发货统计报表物料名称显示

7. 【优化】自有仓储虚拟发货逻辑

8. 【修复】基础物料分类管理问题
This commit is contained in:
chenping
2026-04-01 11:59:17 +08:00
parent 9341122827
commit 61783b7d01
754 changed files with 46179 additions and 5700 deletions

View File

@@ -245,6 +245,7 @@ class wms_delivery_process{
*/
function consignDelivery($dly_id, $type='') {
$deliveryObj = app::get('wms')->model('delivery');
$opinfo = array();
$delivery_time = time();
$filter['delivery_id'] = $dly_id;
@@ -256,7 +257,7 @@ class wms_delivery_process{
if(!is_numeric($affect_row) || $affect_row <= 0){
return false;
}else{
$deliveryInfo = $deliveryObj->dump($dly_id,'delivery_bn,outer_delivery_bn,branch_id,weight,delivery_cost_actual');
$deliveryInfo = $deliveryObj->dump($dly_id, '*');
//如果发货成功,处理保质期批次的变化:冻结释放,实际数量扣减,单据转正
$storageLifeReceiptLib = kernel::single('material_receipt_storagelife');
@@ -304,6 +305,9 @@ class wms_delivery_process{
$deliveryBillItemMdl = app::get('wms')->model('delivery_bill_items');
$bill_list = $billObj->getList('*',array('delivery_id'=>$dly_id, 'status'=>'1'));
// 获取主单运单号
$primary_bill = $billObj->dump(array('delivery_id'=>$dly_id, 'type'=>'1', 'status'=>'1'), '*');
$other_list_0 = array(); $packages = [];
foreach ($bill_list as $bill) {
@@ -322,6 +326,16 @@ class wms_delivery_process{
);
}
// logi_id
if ($deliveryInfo['logi_id']) {
$data['logistics'] = $deliveryInfo['logi_id'];
}
// logi_no
if (isset($primary_bill['logi_no']) && $primary_bill['logi_no']) {
$data['logi_no'] = $primary_bill['logi_no'];
}
$data['other_list_0'] = json_encode($other_list_0);
$data['packages'] = json_encode($packages);
@@ -361,6 +375,12 @@ class wms_delivery_process{
}
$res = kernel::single('wms_event_trigger_delivery')->consign($wms_id, $data, true);
if ($res === false || (is_array($res) && $res['rsp'] == 'fail')) {
$msg = is_array($res) && $res['msg'] ? '通知OMS发货失败' . $res['msg'] : '通知OMS发货失败';
$opObj->write_log('delivery_process@wms', $dly_id, $msg,'',$opinfo);
return false;
}
return true;
}