|
@@ -109,80 +109,118 @@ class OrderImport extends Base
|
|
|
{
|
|
|
$id = $this->request->post('id/d', 0, 'trim');
|
|
|
|
|
|
- $info = OIFCModel::alias('c')
|
|
|
- ->field('c.*,ce.*,b.company,ci.companyName CustomerCompanyName,s.name supplierName,a.activity_code')
|
|
|
- ->leftJoin('order_import_from_c_extend ce', 'ce.order_import_from_c_id=c.id')
|
|
|
- ->leftJoin('business b', 'b.companyNo=ce.companyNo AND b.is_del=0')
|
|
|
- ->leftJoin('customer_info ci', 'ci.companyNo=ce.customer_code AND ci.is_del=0')
|
|
|
- ->leftJoin('supplier s', 's.code=ce.supplierNo AND s.is_del=0')
|
|
|
- ->leftJoin('activity_info a', 'a.activity_code=ce.activity_code AND a.is_del=0')
|
|
|
- ->where('c.id', $id)
|
|
|
- ->where('c.status', '<>', OIFCModel::$status_wait_validate)
|
|
|
+ $info = OIFCModel::where('id', $id)
|
|
|
+ ->where('status', '<>', OIFCModel::$status_wait_validate)
|
|
|
->findOrEmpty()
|
|
|
- ->toArray();//因为这里用的是模型,查询结果是一个对象
|
|
|
-
|
|
|
- if (!empty($info)) {
|
|
|
- $info['platform_names'] = Db::name('platform')
|
|
|
- ->where('platform_code', $info['platform_codes'])
|
|
|
- ->where(['is_del' => 0, 'status' => 1])
|
|
|
- ->column('platform_name');
|
|
|
-
|
|
|
- if ($info['addr_code']) {
|
|
|
- $addr_code = explode(',', $info['addr_code']);
|
|
|
- $info['addr_name'] = GetAddr(json_encode(['provice_code' => $addr_code[0], 'city_code' => $addr_code[1], 'area_code' => $addr_code[2]]));
|
|
|
- } else $info['addr_name'] = '';
|
|
|
-
|
|
|
- $res['id'] = $info['id'];
|
|
|
- $res['status'] = $info['status'];
|
|
|
- $res['createrid'] = $info['createrid'];
|
|
|
- $res['creater'] = $info['creater'];
|
|
|
- $res['updateid'] = $info['updateid'];
|
|
|
- $res['updater'] = $info['updater'];
|
|
|
-
|
|
|
- //导入字段
|
|
|
- $res['import'] = [
|
|
|
- 'platform_code' => $info['platform_code'],
|
|
|
- 'platform_time' => $info['platform_time'],
|
|
|
- 'plat_code' => $info['plat_code'],
|
|
|
- 'sale_source' => $info['sale_source'],
|
|
|
- 'price' => $info['price'],
|
|
|
- 'num' => $info['num'],
|
|
|
- 'before_discount_all_price' => $info['before_discount_all_price'],
|
|
|
- 'activity_name' => $info['activity_name'],
|
|
|
- 'mode' => $info['mode'],
|
|
|
- 'order_remark' => $info['order_remark'],
|
|
|
- 'contactor' => $info['contactor'],
|
|
|
- 'mobile' => $info['mobile'],
|
|
|
- 'addr' => $info['addr'],
|
|
|
- ];
|
|
|
- //确认字段
|
|
|
- $res['confirm'] = $info;
|
|
|
-
|
|
|
- //用户编辑字段
|
|
|
- $user_update = Db::name('order_import_from_c_extend')
|
|
|
- ->alias('ce')
|
|
|
- ->field('ce.*,b.company,ci.companyName CustomerCompanyName,s.name supplierName,a.activity_code')
|
|
|
- ->leftJoin('business b', 'b.companyNo=ce.companyNo AND b.is_del=0')
|
|
|
- ->leftJoin('customer_info ci', 'ci.companyNo=ce.customer_code AND ci.is_del=0')
|
|
|
- ->leftJoin('supplier s', 's.code=ce.supplierNo AND s.is_del=0')
|
|
|
- ->leftJoin('activity_info a', 'a.activity_code=ce.activity_code AND a.is_del=0')
|
|
|
- ->where(['ce.order_import_from_c_id' => $id, 'ce.is_del' => 1])
|
|
|
- ->order('ce.addtime', 'desc')
|
|
|
- ->find();
|
|
|
-
|
|
|
- if (empty($user_update)) $res['user_update'] = $res['confirm'];
|
|
|
- else {
|
|
|
- if ($user_update['addr_code']) {
|
|
|
- $addr_code = explode(',', $user_update['addr_code']);
|
|
|
- $user_update['addr_name'] = GetAddr(json_encode(['provice_code' => $addr_code[0], 'city_code' => $addr_code[1], 'area_code' => $addr_code[2]]));
|
|
|
- } else $user_update['addr_name'] = '';
|
|
|
- $res['user_update'] = array_merge($res['confirm'], $user_update);
|
|
|
- }
|
|
|
-
|
|
|
- return app_show(0, '请求成功', $res);
|
|
|
-
|
|
|
- } else return error_show(1005, '系统尚未解析完成,无法查看详情,请等待');
|
|
|
+ ->toArray();
|
|
|
|
|
|
+ if (empty($info)) return error_show(1005, '系统尚未解析完成,无法查看详情,请等待');
|
|
|
+ $res['id'] = $info['id'];
|
|
|
+ $res['status'] = $info['status'];
|
|
|
+ $res['createrid'] = $info['createrid'];
|
|
|
+ $res['creater'] = $info['creater'];
|
|
|
+ $res['updateid'] = $info['updateid'];
|
|
|
+ $res['updater'] = $info['updater'];
|
|
|
+
|
|
|
+ //导入原始数据
|
|
|
+ $res['import'] = $info;
|
|
|
+
|
|
|
+ //解析数据
|
|
|
+ $res['confirm'] = Db::name('order_import_from_c_extend')
|
|
|
+ ->where(['order_import_from_c_id' => $id, 'type' => 1])
|
|
|
+ ->findOrEmpty();
|
|
|
+ if ($res['confirm']['addr_code']) {
|
|
|
+ $addr_code = explode(',', $res['confirm']['addr_code']);
|
|
|
+ $res['confirm']['addr_name'] = GetAddr(json_encode(['provice_code' => $addr_code[0], 'city_code' => $addr_code[1], 'area_code' => $addr_code[2]]));
|
|
|
+ } else $res['confirm']['addr_name'] = '';
|
|
|
+
|
|
|
+ //用户确认数据
|
|
|
+ $res['user_update'] = Db::name('order_import_from_c_extend')
|
|
|
+ ->where(['order_import_from_c_id' => $id, 'type' => 2])
|
|
|
+ ->find();
|
|
|
+ if ($res['user_update']) {
|
|
|
+ if ($res['user_update']['addr_code']) {
|
|
|
+ $addr_code = explode(',', $res['user_update']['addr_code']);
|
|
|
+ $res['user_update']['addr_name'] = GetAddr(json_encode(['provice_code' => $addr_code[0], 'city_code' => $addr_code[1], 'area_code' => $addr_code[2]]));
|
|
|
+ } else $res['user_update']['addr_name'] = '';
|
|
|
+ } else $res['user_update'] = $res['confirm'];
|
|
|
+
|
|
|
+ return app_show(0, '请求成功', $res);
|
|
|
+ /**
|
|
|
+ * $info = OIFCModel::alias('c')
|
|
|
+ * ->field('c.*,ce.*,b.company,ci.companyName CustomerCompanyName,s.name supplierName,a.activity_code')
|
|
|
+ * ->leftJoin('order_import_from_c_extend ce', 'ce.order_import_from_c_id=c.id')
|
|
|
+ * ->leftJoin('business b', 'b.companyNo=ce.companyNo AND b.is_del=0')
|
|
|
+ * ->leftJoin('customer_info ci', 'ci.companyNo=ce.customer_code AND ci.is_del=0')
|
|
|
+ * ->leftJoin('supplier s', 's.code=ce.supplierNo AND s.is_del=0')
|
|
|
+ * ->leftJoin('activity_info a', 'a.activity_code=ce.activity_code AND a.is_del=0')
|
|
|
+ * ->where('c.id', $id)
|
|
|
+ * ->where('c.status', '<>', OIFCModel::$status_wait_validate)
|
|
|
+ * ->findOrEmpty()
|
|
|
+ * ->toArray();//因为这里用的是模型,查询结果是一个对象
|
|
|
+ *
|
|
|
+ * if (!empty($info)) {
|
|
|
+ * $info['platform_names'] = Db::name('platform')
|
|
|
+ * ->where('platform_code', $info['platform_codes'])
|
|
|
+ * ->where(['is_del' => 0, 'status' => 1])
|
|
|
+ * ->column('platform_name');
|
|
|
+ *
|
|
|
+ * if ($info['addr_code']) {
|
|
|
+ * $addr_code = explode(',', $info['addr_code']);
|
|
|
+ * $info['addr_name'] = GetAddr(json_encode(['provice_code' => $addr_code[0], 'city_code' => $addr_code[1], 'area_code' => $addr_code[2]]));
|
|
|
+ * } else $info['addr_name'] = '';
|
|
|
+ *
|
|
|
+ * $res['id'] = $info['id'];
|
|
|
+ * $res['status'] = $info['status'];
|
|
|
+ * $res['createrid'] = $info['createrid'];
|
|
|
+ * $res['creater'] = $info['creater'];
|
|
|
+ * $res['updateid'] = $info['updateid'];
|
|
|
+ * $res['updater'] = $info['updater'];
|
|
|
+ *
|
|
|
+ * //导入字段
|
|
|
+ * $res['import'] = [
|
|
|
+ * 'platform_code' => $info['platform_code'],
|
|
|
+ * 'platform_time' => $info['platform_time'],
|
|
|
+ * 'plat_code' => $info['plat_code'],
|
|
|
+ * 'sale_source' => $info['sale_source'],
|
|
|
+ * 'price' => $info['price'],
|
|
|
+ * 'num' => $info['num'],
|
|
|
+ * 'before_discount_all_price' => $info['before_discount_all_price'],
|
|
|
+ * 'activity_name' => $info['activity_name'],
|
|
|
+ * 'mode' => $info['mode'],
|
|
|
+ * 'order_remark' => $info['order_remark'],
|
|
|
+ * 'contactor' => $info['contactor'],
|
|
|
+ * 'mobile' => $info['mobile'],
|
|
|
+ * 'addr' => $info['addr'],
|
|
|
+ * ];
|
|
|
+ * //确认字段
|
|
|
+ * $res['confirm'] = $info;
|
|
|
+ *
|
|
|
+ * //用户编辑字段
|
|
|
+ * $user_update = Db::name('order_import_from_c_extend')
|
|
|
+ * ->alias('ce')
|
|
|
+ * ->field('ce.*,b.company,ci.companyName CustomerCompanyName,s.name supplierName,a.activity_code')
|
|
|
+ * ->leftJoin('business b', 'b.companyNo=ce.companyNo AND b.is_del=0')
|
|
|
+ * ->leftJoin('customer_info ci', 'ci.companyNo=ce.customer_code AND ci.is_del=0')
|
|
|
+ * ->leftJoin('supplier s', 's.code=ce.supplierNo AND s.is_del=0')
|
|
|
+ * ->leftJoin('activity_info a', 'a.activity_code=ce.activity_code AND a.is_del=0')
|
|
|
+ * ->where(['ce.order_import_from_c_id' => $id, 'ce.is_del' => 1])
|
|
|
+ * ->order('ce.addtime', 'desc')
|
|
|
+ * ->find();
|
|
|
+ *
|
|
|
+ * if (empty($user_update)) $res['user_update'] = $res['confirm'];
|
|
|
+ * else {
|
|
|
+ * if ($user_update['addr_code']) {
|
|
|
+ * $addr_code = explode(',', $user_update['addr_code']);
|
|
|
+ * $user_update['addr_name'] = GetAddr(json_encode(['provice_code' => $addr_code[0], 'city_code' => $addr_code[1], 'area_code' => $addr_code[2]]));
|
|
|
+ * } else $user_update['addr_name'] = '';
|
|
|
+ * $res['user_update'] = array_merge($res['confirm'], $user_update);
|
|
|
+ * }
|
|
|
+ *
|
|
|
+ * return app_show(0, '请求成功', $res);
|
|
|
+ *
|
|
|
+ * } else return error_show(1005, '系统尚未解析完成,无法查看详情,请等待');
|
|
|
+ **/
|
|
|
}
|
|
|
|
|
|
//用户确认订单数据(编辑)
|
|
@@ -192,7 +230,7 @@ class OrderImport extends Base
|
|
|
$param = $this->request->only([
|
|
|
'id',
|
|
|
'platform_code',
|
|
|
- 'po_code',
|
|
|
+ 'po_code' => '',
|
|
|
'platform_time',
|
|
|
'sale_source',
|
|
|
'plat_code',
|
|
@@ -207,6 +245,7 @@ class OrderImport extends Base
|
|
|
'mobile',
|
|
|
'addr',
|
|
|
'addr_code',
|
|
|
+ 'discount_reason',
|
|
|
'token'
|
|
|
], 'post', 'trim');
|
|
|
|
|
@@ -238,41 +277,87 @@ class OrderImport extends Base
|
|
|
|
|
|
$userinfo = GetUserInfo($param['token']);
|
|
|
|
|
|
+ //更新主表
|
|
|
Db::name('order_import_from_c')
|
|
|
->where(['id' => $param['id'], 'is_del' => OIFCModel::$is_del_normal, 'status' => OIFCModel::$status_wait_confirm])
|
|
|
->update([
|
|
|
- 'platform_code' => $param['platform_code'],
|
|
|
- 'po_code' => $param['po_code'],
|
|
|
- 'platform_time' => $param['platform_time'],
|
|
|
- 'sale_source' => $param['sale_source'],
|
|
|
- 'plat_code' => $param['plat_code'],
|
|
|
- 'price' => $param['price'],
|
|
|
- 'num' => $param['num'],
|
|
|
- 'before_discount_all_price' => $param['before_discount_all_price'],
|
|
|
- 'activity_name' => $param['activity_name'],
|
|
|
- 'mode' => $param['mode'],
|
|
|
- 'order_remark' => $param['order_remark'],
|
|
|
- 'contactor' => $param['contactor'],
|
|
|
- 'mobile' => $param['mobile'],
|
|
|
- 'addr' => $param['addr'],
|
|
|
'status' => OIFCModel::$status_wait_relation,
|
|
|
'updatetime' => date('Y-m-d H:i:s'),
|
|
|
- 'remark' => ''
|
|
|
+ 'remark' => '',
|
|
|
+ 'updateid' => isset($user["data"]['id']) ? $userinfo["data"]['id'] : 0,
|
|
|
+ 'updater' => isset($user["data"]['nickname']) ? $userinfo["data"]['nickname'] : '',
|
|
|
]);
|
|
|
|
|
|
- Db::name('order_import_from_c_extend')
|
|
|
- ->where(['order_import_from_c_id' => $param['id'], 'is_del' => 0])
|
|
|
- ->update(['is_del' => 1]);
|
|
|
-
|
|
|
- Db::name('order_import_from_c_extend')
|
|
|
- ->insert([
|
|
|
- 'order_import_from_c_id' => $param['id'],
|
|
|
- 'addr_code' => $param['addr_code'],
|
|
|
- 'activity_code' => $param['activity_code'],
|
|
|
- 'addtime' => date('Y-m-d H:i:s'),
|
|
|
- 'createrid' => isset($user["data"]['id']) ? $userinfo["data"]['id'] : 0,
|
|
|
- 'creater' => isset($user["data"]['nickname']) ? $userinfo["data"]['nickname'] : '',
|
|
|
- ]);
|
|
|
+ //组织从表数据
|
|
|
+ $extend_insert_data = [
|
|
|
+ 'order_import_from_c_id' => $param['id'],
|
|
|
+ 'platform_code' => $param['platform_code'],
|
|
|
+ 'po_code' => $param['po_code'],
|
|
|
+ 'platform_time' => $param['platform_time'],
|
|
|
+ 'sale_source' => $param['sale_source'],
|
|
|
+ 'price' => $param['price'],
|
|
|
+ 'num' => $param['num'],
|
|
|
+ 'before_discount_all_price' => $param['before_discount_all_price'],
|
|
|
+ 'mode' => $param['mode'],
|
|
|
+ 'order_remark' => $param['order_remark'],
|
|
|
+ 'contactor' => $param['contactor'],
|
|
|
+ 'mobile' => $param['mobile'],
|
|
|
+ 'addr' => $param['addr'],
|
|
|
+ 'discount_reason' => $param['discount_reason'],
|
|
|
+ 'addr_code' => $param['addr_code'],
|
|
|
+ 'activity_code' => $param['activity_code'],
|
|
|
+ 'activity_name' => $param['activity_name'],
|
|
|
+ 'addtime' => date('Y-m-d H:i:s'),
|
|
|
+ 'createrid' => isset($user["data"]['id']) ? $userinfo["data"]['id'] : 0,
|
|
|
+ 'creater' => isset($user["data"]['nickname']) ? $userinfo["data"]['nickname'] : '',
|
|
|
+ 'type' => 2,//1系统解析,2用户确认
|
|
|
+ ];
|
|
|
+
|
|
|
+ $good_platform_info = Db::name('good_platform')
|
|
|
+ ->field('id,spuCode,platform_code,skuCode,plat_code')
|
|
|
+ ->where(['is_del' => 0])
|
|
|
+ ->where('plat_code', $param['plat_code'])
|
|
|
+ ->find();
|
|
|
+
|
|
|
+ //商品信息
|
|
|
+ if (!empty($good_platform_info)) {
|
|
|
+ $extend_insert_data['spuCode'] = $good_platform_info['spuCode'];
|
|
|
+ $extend_insert_data['platform_codes'] = $good_platform_info['platform_code'];
|
|
|
+ $extend_insert_data['plat_code'] = $good_platform_info['plat_code'];
|
|
|
+
|
|
|
+ $good_info = Db::name('good')
|
|
|
+ ->field('good_name,companyNo,supplierNo')
|
|
|
+ ->where(['is_del' => 0])
|
|
|
+ ->where('spuCode', $extend_insert_data['spuCode'])
|
|
|
+ ->find();
|
|
|
+ if (!empty($good_info)) {
|
|
|
+ $extend_insert_data['companyNo'] = $good_info['companyNo'];
|
|
|
+ $extend_insert_data['supplierNo'] = $good_info['supplierNo'];
|
|
|
+ $extend_insert_data['good_name'] = $good_info['good_name'];
|
|
|
+ } else throw new Exception('该平台商品编号找不到对应商品数据');
|
|
|
+
|
|
|
+ } else throw new Exception('该平台商品编号找不到对应平台数据');
|
|
|
+
|
|
|
+ //企业客户
|
|
|
+ $co_id = Db::name('good_platform')
|
|
|
+ ->alias('gp')
|
|
|
+ ->leftJoin('platform p', 'p.id=gp.platform_code AND p.is_del=0')
|
|
|
+ ->leftJoin('customer_org1 co', 'co.name=p.platform_name AND co.is_del=0')
|
|
|
+ ->where('gp.plat_code', $param['plat_code'])
|
|
|
+ ->value('co.id', 0);
|
|
|
+
|
|
|
+ if ($co_id) {
|
|
|
+ $customer_code = Db::name('customer_info')
|
|
|
+ ->where(['itemid' => $co_id, 'companyName' => '客户', 'is_del' => 0])
|
|
|
+ ->value('companyNo', '');
|
|
|
+
|
|
|
+ if ($customer_code) $extend_insert_data['customer_code'] = $customer_code;
|
|
|
+ else throw new Exception('对应客户不存在');
|
|
|
+
|
|
|
+ } else throw new Exception('对应企业客户不存在');
|
|
|
+
|
|
|
+ //从表数据
|
|
|
+ Db::name('order_import_from_c_extend')->insert($extend_insert_data);
|
|
|
|
|
|
Db::commit();
|
|
|
|
|
@@ -282,7 +367,7 @@ class OrderImport extends Base
|
|
|
|
|
|
Db::rollback();
|
|
|
|
|
|
- return error_show(1004, $exception->getMessage() . '|' . $exception->getFile() . '|' . $exception->getLine());
|
|
|
+ return error_show(1004, $exception->getMessage());
|
|
|
}
|
|
|
|
|
|
}
|