0
点赞
收藏
分享

微信扫一扫

项目方法汇总

带头信息到  明细

项目方法汇总_字段

1    def record_line_date(self, cr, uid, ids,date_now,line_id,context=None):
2 res={}
3 number=1
4 if len(ids)>0:
5 record=[]
6 for line in line_order:
7 if number==1:
8 for move_ids in line[2]:
9 record.append((1,move_ids,{'date_now':date_now}))
10 else:
11 if len(line[2])>0:
12 line[2]['date_now']=date_now
13 record.append(line)
14 number+=1
15 res['line_id']=record
16 else:
17 for line in line_id:
18 if number>1:
19 if len(line[2])>0:
20 line[2]['date_now']=date_now
21 number+=1
22 if number>2:
23 res['line_id']=line_id
24 return {'value':res}
1  def get_dname_dh(self, cr, uid,ids,zdannum,line_id,context=None):  #(通过单头字段,查出数据,加到明细中,可以带多条)
2 result={}
3 try:
4 dayangobj=self.pool.get('prodtion.lc')
5 dayang_obj=dayangobj.browse(cr,uid,[zdannum],context=None)
6 b=dayang_obj.fversion
7 c=dayang_obj.lc_type
8 if b==False:
9 if c==1 or c==3:
10 v=str(dayang_obj.name)
11 p=v[0:11]
12 q=p+'%'
13 sql="select t0.id as dname ,t0.uom ,t0.custorm_num,t3.id as machine,t0.market_name,t0.zheshi_ver,t0.price,t0.outquant,(t0.price*t0.sqty) as total,t0.width,t0.product_type,t0.custquire from prodtion_lc t0 LEFT JOIN unit t1 on t0.uom=t1.id LEFT JOIN res_partner t2 on t2.id=t0.custorm_num LEFT JOIN machine_model t3 on t3.id=t0.machine where t0.fversion='f' and lc_type!=2 and t0.outquant>0 and t0.name like '%s' "%(q)
14 cr.execute(sql)
15 dict=cr.fetchall()
16 order_line_id=line_id
17 if dict in order_line_id:
18 raise osv.except_osv((u'警告!'),(u'有重复数据'))
19 for i in range(len(dict)):
20 order_line_id.append({
21 'dannum':dict[i][0],
22 'uom':dict[i][1],
23 'cust_name':dict[i][2],
24 'machine':dict[i][3],
25 'product_type':dict[i][4],
26 'zheshi_ver':dict[i][5],
27 'price':dict[i][6],
28 'sin_num':dict[i][7],
29 'amount':dict[i][8],
30 'width':dict[i][9],
31 'sbiao_type':dict[i][10],
32 'beici':dict[i][11],
33 'kuwei':'成品仓',
34 })
35 result['line_id']=order_line_id
36 elif c==2:
37 v=str(dayang_obj.name)
38 p=v[0:11]
39 q=p+'%'
40 sql="select t0.id as dname ,t0.uom ,t0.custorm_num,t3.id as machine,t0.market_name,t4.name,t0.price,t0.outquant,(t0.price*t0.sqty) as total,t0.width,t0.product_type ,t0.custquire from prodtion_lc t0 LEFT JOIN unit t1 on t0.uom=t1.id LEFT JOIN res_partner t2 on t2.id=t0.custorm_num LEFT JOIN machine_model t3 on t3.id=t0.machine LEFT join create_versionzhi t4 on t0.zheshi_zhiv=t4.id where t0.fversion='f' and lc_type=2 and t0.outquant>0 and t0.name like '%s' "%(q)
41 cr.execute(sql)
42 dict=cr.fetchall()
43 order_line_id=line_id
44 if dict in order_line_id:
45 raise osv.except_osv((u'警告!'),(u'有重复数据'))
46 for i in range(len(dict)):
47 order_line_id.append({
48 'dannum':dict[i][0],
49 'uom':dict[i][1],
50 'cust_name':dict[i][2],
51 'machine':dict[i][3],
52 'product_type':dict[i][4],
53 'zheshi_ver':dict[i][5],
54 'price':dict[i][6],
55 'sin_num':dict[i][7],
56 'amount':dict[i][8],
57 'width':dict[i][9],
58 'sbiao_type':dict[i][10],
59 'beici':dict[i][11],
60 'kuwei':'成品仓',
61 })
62 result['line_id']=order_line_id
63 elif b==True:
64 sql2="select t0.id, t1.ftvernum,t1.fmarket_mc,t1.foutquant,t1.fprice,(t1.fsqty*t1.fprice)as toljin,t1.fuom,t0.machine,t0.custorm_num,t0.width,t0.product_type,t1.fcustquire from prodtion_lc t0 lEFT JOIN fen_vernum t1 on t0.id=t1.fname where t1.foutquant>0 and t0.id='%d'"%(zdannum)
65 cr.execute(sql2)
66 dict=cr.fetchall()
67 order2_line_id=line_id
68 for i in range(len(dict)):
69 order2_line_id.append({
70 'dannum':dict[i][0],
71 'zheshi_ver':dict[i][1],
72 'product_type':dict[i][2],
73 'sin_num':dict[i][3],
74 'price':dict[i][4],
75 'amount':dict[i][5],
76 'uom':dict[i][6],
77 'machine':dict[i][7],
78 'cust_name':dict[i][8],
79 'width':dict[i][9],
80 'sbiao_type':dict[i][10],
81 'beici':dict[i][11],
82 'kuwei':'成品仓',
83 })
84 result['line_id']=order2_line_id
85 return {'value':result}
86 except Exception, ex:
87 return False
#单号生成

def get_no(self,cr,uid,ids,context=None):
res={}
sql='''select case when dh<10 then dt||'0'||dh else (dt||dh) end dname from( select to_char(now(),'yyyymmdd') dt,
case when to_char(now(),'yyyymmdd')='170401' then count(p)+2 else count(p)+1 end dh
from (select count(p) from (SELECT count(pname) as p,pname from(SELECT substring(name from 0 for 13) pname
FROM profin_application
where to_char(create_date,'yyyymmdd')=to_char(now(),'yyyymmdd')) aa
GROUP BY pname) as q) as p) w'''
cr.execute(sql)
dict=cr.fetchall()
if dict : #如果是第一张单据时,此时查询无结果,那么查询的判断的结果是什么? dict:[]
res['name']='AC'+dict[0][0]
else:
newname2='AC'+str(datetime.strptime(fields.date.today(), "%Y-%m-%d").date()).replace('-','')+'01'
res['name']=newname2
return {'value':res}

 

心有猛虎,细嗅蔷薇

举报

相关推荐

0 条评论