Fixes to pricing and customer models. Add req deliv to order. And more..

* Fix NullPriceAllowed and logic in price calculation
* Fix CustomerCategory join in Customer model
* Add RequestedDeliveryDate to order creation
* Start using Jeeves Signatures on order creation
This commit is contained in:
Marcus Lindvall 2019-09-23 14:12:34 +02:00
parent fc7c1e13bc
commit 6339e9d1ce
4 changed files with 63 additions and 24 deletions

View file

@ -3,6 +3,7 @@ import pymssql
from collections import OrderedDict
from pyjeeves.models import db
from pyjeeves import logging
from datetime import date
# from datetime import datetime
# from decimal import Decimal
@ -102,14 +103,14 @@ class OrderHead(StoredProcedure):
webapp031 and WEBAPP003 determines default order status"""
# TODO: Extend with additional functionlity if desired.
def __init__(self, company_no, web_user_name):
def __init__(self, company_no, web_user_name, pers_sign='biz'):
super(OrderHead, self).__init__('Jeeves_Esales_CreateOrder')
self['c_CompanyNo'] = company_no
# Some defaults:
self['c_ForetagKod'] = 1 # Hardcoded to LK
self['c_PersSign'] = 'marlin' # From API profile, or default
self['c_PersSign'] = str(pers_sign) # From API profile, or default
# self['c_OrderType'] = None # Default set by WEBAPP008
# self['c_TemplateRowID'] = None # No template used
# self['c_Saljare'] = None # 600 # From API profile, or default
@ -140,7 +141,8 @@ class OrderRow(StoredProcedure):
AltEnhetKod logic needs to have been added to the procedure"""
def __init__(self, company_no, order_no, item_no,
qty=None, qty_alt_unit=None, alt_unit=None, pers_sign='biz'):
qty=None, qty_alt_unit=None, alt_unit=None,
requested_date=None, pers_sign='biz'):
super(OrderRow, self).__init__('Jeeves_Esales_AddOrderRow')
self['c_CompanyNo'] = str(company_no)
@ -152,7 +154,9 @@ class OrderRow(StoredProcedure):
self['c_PersSign'] = str(pers_sign)
# Used to set date for delivery (c_OrdBegLevDat) and (c_OrdBerLevDat)
self['c_RequestedDate'] = None
self['c_RequestedDate'] = (
requested_date.strftime('%Y%m%d')
if isinstance(requested_date, date) else requested_date)
# Some defaults:
self['c_ForetagKod'] = 1 # Hardcoded to LK