JEPaas代码———出库数量,添加明细, 确认出库

JEPaas代码———出库数量
以下功能都是通过“按钮”添加脚本来实现

在这里插入图片描述

//出库数量(药库出库)
	
	/**
	 * @param {} column 列
	 * @param {} context 内容 (属性:grid,record,field,value,row,column,rowIdx,colIdx)
	 */
	function(column,context){
	  var grid=context.grid;//获取列表
	  var index=context.rowIdx;//获取当前编辑行数
	  var row=grid.getStore().getAt(index);//获取当前编辑的数据所在行的所有数据
		var data=row.data;
	  console.warn(data);
	  
	  //获取父功能的数据
	        var func=JE.getFunc('yk_ypck_pkbf');
			var g=func.formview.getForm().getValues();
	       	console.warn(g.yk_ypck_ID);
	
	   //查询库存
	     var obj = JE.DB.selectOne("yk_ypck"," and yk_ypck_ID = '"+g.yk_ypck_ID+"'"," order by ypck_CKFS desc","ypck_DJZT,yk_ypck_ID");
	  console.warn(obj.ypck_DJZT);
	  	 
	  
	  var db=JE.DB.selectOne('yk_ypkc',' and ypkc_YPID="'+data.ckmx_YPID+'"','order by ypkc_YPMC desc','ypkc_YPMC,ypkc_KCSL,ypkc_YPID,yk_ypkc_ID');
	   console.warn(db);
	  //库存数量-减去数量
	   var newKCSL=parseInt(db.ypkc_KCSL)-parseInt(data.ckmx_CKSL); 
	     console.warn(newKCSL);
	    //如果单据状态已处理
	  if(obj.ypck_DJZT!='1') { 
	    JE.alert('无法进行!内容已保存,不能再强制添加修改!!!!'); 
	     grid.getStore().reload();
	    return;  
	  }
	  if(context.value < 0||newKCSL<0){
	    JE.msg('出库数量不能小于0或仓库数量不足');
	    row.set('ckmx_CKSL',0);
	     JE.DB.update('yk_ckmx',{ckmx_CKSL:0});
	    return;
	  }
	  
	  
	  
	  var data=row.data; 
	   //进货价格
	  var jhjg=data.ckmx_JHJG;
		//零售价格
	  var lsjg=data.ckmx_LSJG;
		//出库数量
	  var cksl=data.ckmx_CKSL;
		//进货合计
	    // row.set('ckmx_JHHJ',parseInt(jhjg*cksl).toFixed(2));//给进货合计赋值
		//零售合计
	     //row.set('ckmx_LSHJ',parseInt(lsjg*cksl).toFixed(2));//给零售合计赋值
	  
	 JE.DB.update('yk_ckmx',{
	    yk_ckmx_ID:data.yk_ckmx_ID,
	    ckmx_CKSL: cksl,
	    ckmx_JHHJ:(jhjg*cksl).toFixed(2),
	    ckmx_LSHJ:(lsjg*cksl).toFixed(2) 
	 });
		//刷新表
	 grid.getStore().reload();
	 
	}

添加明细

在这里插入图片描述

在这里插入图片描述

//#####添加明细(药库出库)

	function(btn,event,eOpts){
      var form=btn.up('form'); //出库主表
	  var grid=form.down('grid');//出库明细列表
	  var id=form.getValue('yk_ypck_ID');//主表ID
      //主表ID为空,则表示主表表单还没保存,提示用户
	  if(!id){  JE.alert('请先保存主表');
	    return; }
	  var ids=[];//所有已选的药品价格ID
	  grid.getStore().each(function(data){
	    var d=data.data;
        console.warn(data);
	    ids.push(d.ypjg_ID);
	  });
	  console.warn(ids.join(','))
	  //打开选择窗口
	  JE.selectWin({
	    title :'选择药品',
	    configInfo :'yk_ypkc,,,M',
	    type :'grid',
    whereSql :ids.length>0?" and ypjg_ID not in ("+ids.join(',')+")":'', //sql查询条件:排除列表中已经存在的价格ID的查询
	   	 callback :function(sels){
	      Ext.each(sels,function(sel){
            var data=sel.data;
	        JE.DB.insert('yk_ckmx',{
              'yk_CKMX_ID':JE.uuid(),
              "yk_ypck_ID":id,
              'ckmx_YPMC':data.ypkc_YPMC,
              'ckmx_YPID':data.ypgl_ID,
              'ckmx_CDJC':data.ypkc_CDJC,
              'ckmx_CDID':data.sccjgl_ID,
              'ckmx_YPYXQ':data.ypkc_YXQ,
              'ckmx_DW':data.ypkc_YPDW,
              'ckmx_GG':data.ypkc_YPGG,
              'ckmx_PH':data.ypkc_PZWH,
              'ckmx_JHJG':data.ypkc_JHJG,
              'ckmx_LSJG':data.ypkc_LSJG,
              'ypjg_ID': data.ypjg_ID
            });
	      });
	      grid.getStore().reload();
	    }
	  });
	  return false;	
	}


确认出库

根据获取的表单数据和数量出库
在这里插入图片描述


	function(btn,event,eOpts){
	  //获取form表格
	  var parent=btn.up('form');
	  //获取grid列表
	  var grid=parent.down('grid');
	  //获取store
	  var store=grid.getStore();
	  var f=parent.getForm();
	  var values=f.getValues();
	  console.warn(values.ypck_DJZT);
	  if(values.ypck_DJZT!='1'){
	   JE.alert('单据已确认,不能重复保存');
	    return false;
	  }
	  //自动配置id
	  var config=AppUtil.getConfig('ykxz');
	  //判断是否保存数据
	  if(!config){
	    JE.alert('请先设置您的药库','错误');
	    return false;
	  }
	  var canConfirm=true;
	  //获取每一个元素  
	  store.each(function(data,i){
	   		var data=data.data;
    
    if(data.ckmx_CKSL='0'){
       console.warn("data.ckmx_CKSL"+data.ckmx_CKSL);
		JE.alert('【数量】0存在,请删除或更改出库数量!');
       canConfirm=false;
        return;
     }
    
    
    
	        //查询库存
		  		var db=JE.DB.selectList('yk_ypkc',' and ypkc_YPID="'+data.ckmx_YPID+'"','order by ypkc_YPMC desc','ypkc_YPMC,ypkc_KCSL,ypkc_YPID,yk_ypkc_ID');
			//迭代一个数组或是可迭代的值,在每个元素上调用给定的回调函数
		  Ext.each(db,function(item,index){
	     console.warn(item);
	      	var KCSL=item.ypkc_KCSL;
		 if(db){
	       //库存数量-减去数量
	         var newKCSL=parseInt(item.ypkc_KCSL)-parseInt(data.ckmx_CKSL);
	           //当需求大于库存数量时
	     if(newKCSL<0){
			  alert('仓库不足!!药品欠缺!!');
	       canConfirm =false;
	       return ;
	     	}
	         JE.DB.update("yk_ypkc",{ ypkc_KCSL:newKCSL,yk_ypkc_ID:item.yk_ypkc_ID });
	         console.warn(newKCSL);
		   	}
		     });
	    
	  }); 
	  if(canConfirm){
	  JE.DB.update("yk_ypck",{ ypck_DJZT:'2',yk_ypck_ID:values.yk_ypck_ID });
	  console.warn('updated');
	  }else{
	    JE.msg('错误,请检查(仓库)');
	  }
	}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值