Accept Merge Request #147: (feature/优化京东物流对接 -> develop)

Merge Request: 优化收货人公司字段

Created By: @马广威
Accepted By: @马广威
URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/147?initial=true
This commit is contained in:
马广威
2023-03-08 15:26:34 +08:00
4 changed files with 55 additions and 23 deletions

View File

@@ -13,8 +13,8 @@
'depends': ['sf_base', 'sf_sale', 'sf_dlm'], 'depends': ['sf_base', 'sf_sale', 'sf_dlm'],
'data': [ 'data': [
'views/res_partner_view.xml', 'views/res_partner_view.xml',
# 'views/view.xml', 'views/view.xml',
# 'report/bill_report.xml', 'report/bill_report.xml',
], ],
'demo': [ 'demo': [
], ],

View File

@@ -1,5 +1,5 @@
from . import http from . import http
from . import models from . import models
from . import process_status from . import process_status
# from . import jd_eclp from . import jd_eclp

View File

@@ -14,13 +14,21 @@ class JdEclp(models.Model):
_inherit = 'stock.picking' _inherit = 'stock.picking'
senderNickName = fields.Char(string='寄件工厂简称', required=True, default='MW') senderNickName = fields.Char(string='寄件工厂简称', required=True, default='MW')
# receiverName = fields.Char(string='收件人姓名')
# receiverMobile = fields.Char(string='收件人电话')
# receiverProvinceName = fields.Char(string='收件人省')
# receiverCityName = fields.Char(string='收件人市')
# receiverCountyName = fields.Char(string='收件人县')
# receiverTownName = fields.Char(string='收件人详细地址')
receiverName = fields.Char(string='收件人姓名', compute='_truck_info') receiverName = fields.Char(string='收件人姓名', compute='_truck_info')
receiverMobile = fields.Char(string='收件人电话', compute='_truck_info') receiverMobile = fields.Char(string='收件人电话', compute='_truck_info')
receiverProvinceName = fields.Char(string='收件人省', compute='_truck_info') receiverProvinceName = fields.Char(string='收件人省', compute='_truck_info')
receiverCityName = fields.Char(string='收件人市', compute='_truck_info') receiverCityName = fields.Char(string='收件人市', compute='_truck_info')
receiverCountyName = fields.Char(string='收件人县', compute='_truck_info') receiverCountyName = fields.Char(string='收件人县', compute='_truck_info')
receiverTownName = fields.Char(string='收件人详细地址', compute='_truck_info') receiverTownName = fields.Char(string='收件人详细地址', compute='_truck_info')
receiverCompany = fields.Char(string='收货人公司', required=True) receiverCompany = fields.Char(string='收货人公司', required=True, default=1)
remark = fields.Char(string='物流面单备注', default='') remark = fields.Char(string='物流面单备注', default='')
grossWeight = fields.Char(string='总重量', required=True, default=0) grossWeight = fields.Char(string='总重量', required=True, default=0)
grossVolume = fields.Char(string='总体积', default=0) grossVolume = fields.Char(string='总体积', default=0)
@@ -39,15 +47,38 @@ class JdEclp(models.Model):
@api.depends('origin') @api.depends('origin')
def _truck_info(self): def _truck_info(self):
# if 'S' in self.origin:
# if self.receiverName and self.receiverMobile and self.receiverProvinceName and self.receiverCityName and self.receiverCountyName and self.receiverTownName:
sale_order_id = self.env['sale.order'].search([('name', '=', self.origin)]) sale_order_id = self.env['sale.order'].search([('name', '=', self.origin)])
raw_addres = sale_order_id.address_of_delivery # stock_picking_type_id = self.enc['stock.picking.type'].search([('picking_type_id', '=', '')])
self.receiverName = sale_order_id.person_of_delivery # if sale_order_id.address_of_delivery != False:
self.receiverMobile = sale_order_id.telephone_of_delivery
self.receiverProvinceName = cpca.transform(raw_addres).values.tolist()[0][0]
self.receiverCityName = cpca.transform(raw_addres).values.tolist()[0][1]
self.receiverCountyName = cpca.transform(raw_addres).values.tolist()[0][2] if 'OUT' in self.name:
self.receiverTownName = cpca.transform(raw_addres).values.tolist()[0][3] raw_addres = sale_order_id.address_of_delivery.split('这是一个标志位,用来不分隔字符串')
# self.receiverMobile = sale_order_id.telephone_of_delivery # _logger.info('=================dddd====', sale_order_id.address_of_delivery)
# _logger.info('=================dddd====', type(sale_order_id.address_of_delivery))
# _logger.info('========================================', raw_addres)
# _logger.info('=================dddd====', self.display_name)
# _logger.info('=================dddd====', type(self.display_name))
# # _logger.info(self.receiverName, self.receiverMobile)
# _logger.info(1111111111111111111111111111111111111111111111)
self.receiverName = sale_order_id.person_of_delivery
self.receiverMobile = sale_order_id.telephone_of_delivery
self.receiverProvinceName = cpca.transform(raw_addres).values.tolist()[0][0]
self.receiverCityName = cpca.transform(raw_addres).values.tolist()[0][1]
self.receiverCountyName = cpca.transform(raw_addres).values.tolist()[0][2]
self.receiverTownName = cpca.transform(raw_addres).values.tolist()[0][3]
else:
self.receiverName = self.receiverName
self.receiverMobile = self.receiverMobile
self.receiverProvinceName = self.receiverProvinceName
self.receiverCityName = self.receiverCityName
self.receiverCountyName = self.receiverCountyName
self.receiverTownName = self.receiverTownName
def create_order(self): def create_order(self):
# sale_order_id = self.env['sale.order'].search([('name', '=', self.origin)]) # sale_order_id = self.env['sale.order'].search([('name', '=', self.origin)])

View File

@@ -6,17 +6,18 @@
<field name="inherit_id" ref="delivery.view_picking_withcarrier_out_form"/> <field name="inherit_id" ref="delivery.view_picking_withcarrier_out_form"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//group//field[@name='carrier_id']" position="after"> <xpath expr="//group//field[@name='carrier_id']" position="after">
<field name="senderNickName"/> <!-- <field name="senderNickName" domain="[('self.name', 'like', '%OUT%')]"/> -->
<field name="expressItemName"/> <field name="senderNickName" attrs="{'invisible': [('name', 'like', '%OUT%')]}"/>
<field name="deliveryType"/> <field name="expressItemName" attrs="{'invisible': [('name', 'like', '%OUT%')]}"/>
<field name="receiverName"/> <field name="deliveryType" attrs="{'invisible': [('name', 'like', '%OUT%')]}"/>
<field name="receiverMobile"/> <field name="receiverName" attrs="{'invisible': [('name', 'like', '%OUT%')]}"/>
<field name="receiverProvinceName"/> <field name="receiverMobile" attrs="{'invisible': [('name', 'like', '%OUT%')]}"/>
<field name="receiverCityName"/> <field name="receiverProvinceName" attrs="{'invisible': [('name', 'like', '%OUT%')]}"/>
<field name="receiverCountyName"/> <field name="receiverCityName" attrs="{'invisible': [('name', 'like', '%OUT%')]}"/>
<field name="receiverTownName"/> <field name="receiverCountyName" attrs="{'invisible': [('name', 'like', '%OUT%')]}"/>
<field name="receiverCompany"/> <field name="receiverTownName" attrs="{'invisible': [('name', 'like', '%OUT%')]}"/>
<field name="remark"/> <field name="receiverCompany" attrs="{'invisible': [('name', 'like', '%OUT%')]}"/>
<field name="remark" attrs="{'invisible': [('name', 'like', '%OUT%')]}"/>
<field name="grossWeight"/> <field name="grossWeight"/>
<field name="grossVolume"/> <field name="grossVolume"/>
<field name="pickupBeginTime"/> <field name="pickupBeginTime"/>