首页 > 其他 > 详细

项目方法汇总

时间:2018-01-14 00:45:28      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:num   storm   分享   ext   replace   重复数   复数   mar   post   

带头信息到  明细

技术分享图片

 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}

 

项目方法汇总

标签:num   storm   分享   ext   replace   重复数   复数   mar   post   

原文:https://www.cnblogs.com/1314520xh/p/8280857.html

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号