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=[];//所有已选的药品价格IDgrid.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');//获取storevar 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;}//自动配置idvar 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('错误,请检查(仓库)');}}

JEPaas代码———出库数量,添加明细, 确认出库相关推荐

  1. JEPaas【按钮隐藏】根据单据状态值决定【添加明细】【删除】按钮的隐藏和显示

    ##[按钮隐藏] ###如果单据状态为已确认(2),则禁用添加明细和删除[按钮](药库出库) //根据单据状态值决定[添加明细][删除]按钮的隐藏和显示function(self){var djzt= ...

  2. 节选转载:你敢向代码库中添加Boost你就等着被开除吧

    本文节选自一篇讨论c++20新特性的英文博客,原文由CSDN news新闻资讯主编翻译并发布: https://blog.csdn.net/csdnnews/article/details/86386 ...

  3. 金蝶KIS专业版销售出库反审核不成功,销售订单关联的出库数量为负!

    该问题为销售出库单来源选择销售订单,销售出库单保存审核之后未能将出库数量反写到销售订单,此问题金蝶各版本均有可能出现,请先查找对应版本有否补丁解决再参考本文 执行以下语句(订单完全出库情况下适用) s ...

  4. JEPaas代码_((表单)_输入字段值而改变值)

    JEPaas代码_笔记((表单)_输入字段值而改变值) 我也是新手入门,不是很熟练JEPaas后台,正在学习中- var v=parseInt(value);console.warn('出库数量改变' ...

  5. cmake中添加引用动态链接_CMake 添加头文件目录,链接动态、静态库(添加子文件夹)...

    CMake支持大写.小写.混合大小写的命令. 当编译一个需要第三方库的项目时,需要知道: 去哪找头文件(.h),-I(GCC) INCLUDE_DIRECTORIES() 去哪找库文件(.so/.dl ...

  6. 懒人必备!只需一行代码,就能导入所有的Python库

    今天给大家介绍一个懒人Python库--Pyforest. 使用一行代码,就能导入所有的Python库(本地已经安装的). GitHub地址:https://github.com/8080labs/p ...

  7. 只需一行代码,就能导入所有的Python库?

    作者 | 小F       责编 | 欧阳姝黎 大家好,我是小F- 今天给大家介绍一个懒人 Python 库-- Pyforest. 使用一行代码,就能导入所有的 Python 库(本地已经安装的). ...

  8. Tencent APIJSON 零代码、全功能、强安全 ORM 库 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构

    项目介绍 零代码.全功能.强安全 ORM 库 后端接口和文档零代码,前端(客户端) 定制返回 JSON 的数据和结构. A JSON Transmission Protocol and an ORM ...

  9. 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 获取注入的 libbridge.so 动态库中的 load 函数地址 并 通过 远程调用 执行该函数 )

    文章目录 一.dlsym 函数简介 二.获取 目标进程 linker 中的 dlsym 函数地址 三.远程调用 目标进程 linker 中的 dlsym 函数 获取 注入的 libbridge.so ...

最新文章

  1. java清除cookie
  2. java replaceall lt_static lt;Tgt; boolean replaceAll(Listlt;Tgt; list, T oldVal, T newVal)_Java...
  3. 专业人士提升数据中心职业生涯的6件事
  4. 缓冲池java_了解Java缓冲池
  5. gurobi和java_Gurobi和java和空解决方案
  6. python restful风格_总结python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
  7. oracle union orderby,Oracle中union 和 order by 的联用
  8. 互联网12个创业派系500强,你认识多少?
  9. ansible Inventory
  10. 【前端教程】前端要懂的色域知识
  11. ssm基于Vue的共享单车app系统
  12. 厦门大学计算机学院李平,学术盛会,知行合一 ——2020年厦门大学信息学院计算机科学系研究生学术论坛圆满举办...
  13. 直播推流方案及过程分解
  14. Mermaid语法绘制图表
  15. 坚持一件事比决定一件事难多了
  16. 疑难杂症共济失调怎么治疗恢复?
  17. 奢华和生活方式酒店品牌阿丽拉将引入上海;施华洛世奇揭幕全新品牌视觉形象 | 美通企业日报...
  18. 应用程序无法正常启动(0xc000007b) 请单击确定关闭应用程序
  19. freebsd的swatch安装和使用
  20. 【转】程序语言不是工具

热门文章

  1. net start mysql 发生系统错误2 系统找不到指定的文件
  2. link 和 @import 的区别
  3. 怎么修改谷歌浏览器文件提交按钮样式_使用css自定义input file浏览按钮样式
  4. LeetCode-28 实现strStr()
  5. 解决Windows10搜索框空白的问题
  6. veket智能机器人
  7. OpenCV: 图像连通域检测的递归算法
  8. 年薪50万的Python架构师 不是梦
  9. AngularJS快速入门指南14:数据验证
  10. 【完全开源】微信客户端.NET版