增加京东物流的配置项目

This commit is contained in:
mgw
2023-02-13 08:50:37 +08:00
parent 38f67d98f8
commit c07803d3cf
4 changed files with 107 additions and 23 deletions

View File

@@ -12,7 +12,8 @@
'website': 'https://www.sf.cs.jikimo.com',
'depends': ['sf_base', 'sf_sale', 'sf_dlm'],
'data': [
'views/res_partner_view.xml'
'views/res_partner_view.xml',
'views/view.xml',
],
'demo': [
],

View File

@@ -12,31 +12,71 @@ _logger = logging.getLogger(__name__)
class JdEclp(models.Model):
_inherit = 'stock.picking'
def create_order(self):
senderNickName = fields.Char(string='寄件工厂简称', required=True, default='MW')
receiverName = fields.Char(string='收件人姓名', compute='_truck_info')
receiverMobile = fields.Char(string='收件人电话', compute='_truck_info')
receiverProvinceName = fields.Char(string='收件人省', compute='_truck_info')
receiverCityName = fields.Char(string='收件人市', compute='_truck_info')
receiverCountyName = fields.Char(string='收件人县', compute='_truck_info')
receiverTownName = fields.Char(string='收件人详细地址', compute='_truck_info')
receiverCompany = fields.Char(string='收货人公司', required=True)
remark = fields.Char(string='物流面单备注')
grossWeight = fields.Char(string='总重量', required=True)
grossVolume = fields.Char(string='总体积')
expressItemName = fields.Char(string='货物名称', required=True, default='非标工件')
pickupBeginTime = fields.Char(string='期望取件时间')
deliveryType = fields.Selection([('6', '特快零担'), ('25', '特快重货')], string='运输类型', default='25')
@api.depends('origin')
def _truck_info(self):
sale_order_id = self.env['sale.order'].search([('name', '=', self.origin)])
raw_addres = self.address_of_delivery
raw_addres = sale_order_id.address_of_delivery
self.receiverName = sale_order_id.person_of_delivery
self.receiverMobile = sale_order_id.telephone_of_delivery
self.receiverProvinceName = jio.parse_location(raw_addres)['province']
self.receiverCityName = jio.parse_location(raw_addres)['city']
self.receiverCountyName = jio.parse_location(raw_addres)['county']
self.receiverTownName = jio.parse_location(raw_addres)['detail']
# self.receiverMobile = sale_order_id.telephone_of_delivery
def create_order(self):
# sale_order_id = self.env['sale.order'].search([('name', '=', self.origin)])
if self.carrier_id == '京东物流':
createTime = str(datetime.now())
json1 = {
'params': {
'orderNo': self.origin,
'senderNickName': self.senderNickName,
'receiverName': self.receiverName,
'receiverMobile': self.receiverMobile,
'receiverProvinceName': self.receiverProvinceName,
'receiverCityName': self.receiverCityName,
'receiverCountyName': self.receiverCountyName,
'receiverTownName': self.receiverTownName,
'remark': self.remark,
'grossWeight': self.grossWeight,
'grossVolume': self.grossVolume,
'createTime': createTime,
'createUser': self.user_id,
'expressItemName': self.expressItemName,
'pickupBeginTime': self.pickupBeginTime,
'deliveryType': self.deliveryType,
'receiverCompany': self.receiverCompany,
},
}
url1 = 'https://bfm.cs.jikimo.com/api/create/jd/order'
requests.post(url1, json=json1, data=None)
else:
raise UserError("选择京东物流才能下单呦")
def get_bill(self):
json1 = {
'params': {
'orderNo': self.origin,
'senderNickName': self.,
'receiverName': self.person_of_delivery,
'receiverMobile': self.telephone_of_delivery,
'receiverProvinceName': jio.parse_location(raw_addres)['province'],
'receiverCityName': jio.parse_location(raw_addres)['city'],
'receiverCountyName': jio.parse_location(raw_addres)['county'],
'receiverTownName': jio.parse_location(raw_addres)['detail'],
'remark': self.,
'grossWeight': self.,
'grossVolume': self.,
'createTime': self.,
'createUser': self.,
'expressItemName': self.,
'pickupBeginTime': self.,
'deliveryType': self.,
'receiverCompany': self.,
'no': self.origin,
},
}
url1 = 'https://bfm.cs.jikimo.com/api/create/jd/order'
requests.post(url1, json=json1, data=None)

View File

@@ -0,0 +1,43 @@
<?xml version="1.0"?>
<odoo>
<record id="tracking_view" model="ir.ui.view">
<field name="name">tracking</field>
<field name="model">stock.picking</field>
<field name="inherit_id" ref="delivery.view_picking_withcarrier_out_form"/>
<field name="arch" type="xml">
<xpath expr="//group//field[@name='carrier_id']" position="after">
<field name="senderNickName"/>
<field name="expressItemName"/>
<field name="deliveryType"/>
<field name="receiverName"/>
<field name="receiverMobile"/>
<field name="receiverProvinceName"/>
<field name="receiverCityName"/>
<field name="receiverCountyName"/>
<field name="receiverTownName"/>
<field name="receiverCompany"/>
<field name="remark"/>
<field name="grossVolume"/>
<field name="pickupBeginTime"/>
</xpath>
<xpath expr="//group[@name='other_infos']" position="after">
<!-- <group>-->
<div>
<button string="京东物流下单" name="create_order" type="object" confirm="是否确认物流下单" class="btn-primary"/>
</div>
<!-- </group>-->
<!-- <group>-->
<div>
<button string="获取物流面单" name="get_bill" type="object" confirm="是否获取物流面单" class="btn-primary"/>
</div>
<!-- </group>-->
</xpath>
</field>
</record>
</odoo>

View File

@@ -207,7 +207,7 @@ class WorkCenterBarcode(models.Model):
machine_tool_name = fields.Char(string='机床名称', default='未知机床', compute='_run_info', readonly=True)
machine_tool_type_id = fields.Char(string='机床型号', default='未知型号', compute='_run_info', readonly=True)
machine_tool_status = fields.Boolean(string='在线状态', compute='_run_info', readonly=True)
machine_tool_run_status = fields.Selection([('0', '关机中'), ('1', '加工中'), ('2', '加工中'), ('3', '等待')],
machine_tool_run_status = fields.Selection([('0', '关机中'), ('1', '加工中'), ('2', '加工中'), ('3', '加工')],
string='运行状态', compute='_run_info', readonly=True, default='0')
machine_tool_timestamp = fields.Datetime('时间戳', compute='_run_info', readonly=True)
machine_tool_time_on = fields.Char('总在线时长', compute='_run_info', readonly=True)