解决关于仓库管理系统借入、归还的数量相关问题
来源:互联网 发布:软件项目介绍ppt模板 编辑:程序博客网 时间:2024/05/16 06:08
项目需求:原有功能不支持将借出物品分批次归还,只允许要么借出,要么全部归还。此博文记录问题解决过程。
因为是二次开发,所以我的思路暂时是依据原有代码进行修改。涉及字段OsrCount领用数,IsrCount归还数
//物品归还入库 @Rights(id=6058) public String addBackStock(){ Employ employ = employService.getJobById(inStockRunning.getEmployByGmEmpId().getEmpId()); Article article = articleService.find(inStockRunning.getArticle().getArtId()); //判断库存是否有记录 Stock sto = stockService.getStockByArtIdAndWarId(inStockRunning.getArticle().getArtId(),inStockRunning.getWarehouse().getWarId()); if(sto.getSId()!=null){ //判断归还的物品是损坏的物品 //如果损坏:领用数-归还数 其它的不变 if(inStockRunning.getArtState()==0){ Integer sum2=sto.getSLyNum()-inStockRunning.getIsrCount(); sto.setSLyNum(sum2); sto.setDestoryNum(inStockRunning.getIsrCount()); }else{ Integer sum1=sto.getSKcNum()+inStockRunning.getIsrCount(); sto.setSKcNum(sum1); Integer sum2=sto.getSLyNum()-inStockRunning.getIsrCount(); sto.setSLyNum(sum2); } stockService.update(sto); //创建入库对象并赋值 InStockRunning ir = new InStockRunning(); ir.setArticle(inStockRunning.getArticle()); ir.setEmployByGmEmpId(inStockRunning.getEmployByGmEmpId()); ir.setEmployByLrEmpId(inStockRunning.getEmployByLrEmpId()); ir.setIsrCgnum(inStockRunning.getIsrCgnum()); ir.setArtState(inStockRunning.getArtState()); ir.setIsrComment(inStockRunning.getIsrComment()); ir.setIsrCount(inStockRunning.getIsrCount()); ir.setIsrIndate(inStockRunning.getIsrIndate()); ir.setIsrReimMd(inStockRunning.getIsrReimMd()); if(inStockRunning.getIsrReimSum()==null&& !"".equals(inStockRunning.getIsrReimSum())){ ir.setIsrReimSum(inStockRunning.getIsrReimSum()); }else{ ir.setIsrReimSum(0.0); } ir.setIsrState(2); if(inStockRunning.getIsrSum()==null&& !"".equals(inStockRunning.getIsrSum())){ ir.setIsrSum(inStockRunning.getIsrSum()); }else{ ir.setIsrSum(0.0); } ir.setIsrSysTime(new Date()); ir.setIsrUnitPice(inStockRunning.getIsrUnitPice()); ir.setOrganization(inStockRunning.getOrganization()); ir.setWarehouse(inStockRunning.getWarehouse()); inStockRunningService.save(ir); //修改出库记录,状态设为2 OutStockRunning or = outStockRunningService.find(outStockRunning.getOsrId()); or.setOsrState(2); outStockRunningService.update(or); if(employ.getEmpEmail()==null){ WebUtil.getRequest().setAttribute("message", "物品已入库,领用人邮箱为空,发送邮件失败,请及时通知该同事到个人信息中设置有效邮箱!"); WebUtil.getRequest().setAttribute(ReturnUrl.URL_KEY, SiteUrl.readUrl("stockaction.outSetStock.list")); return "message"; }else{ //发送邮件 SiteMail setmail = new SiteMail(); setmail.sendBackStock(employ,ir,article); WebUtil.getRequest().setAttribute("message", "物品入库成功!"); WebUtil.getRequest().setAttribute(ReturnUrl.URL_KEY, SiteUrl.readUrl("stockaction.outSetStock.list")); return "message"; } }else{ WebUtil.getRequest().setAttribute("message", "归还失败!"); WebUtil.getRequest().setAttribute(ReturnUrl.URL_KEY, SiteUrl.readUrl("stockaction.outSetStock.list")); return "message"; } }
OK,虽然找到了相关源码,个人认为现在应该把现有代码的流程整理通顺。
0 0
- 解决关于仓库管理系统借入、归还的数量相关问题
- 关于借入单 然后材料领用的问题
- 关于借入单 然后材料领用的问题
- 关于做框架页作业时归还单中“创建人”显示不出来的问题
- 仓库管理系统报表问题排查总结
- 一起学:仓库管理的相关指标
- 关于酒店管理系统的使用问题
- linux 解决TIME_WAIT数量过多的问题
- Bayesian评分系统:解决样本数量过少引起的问题
- 求一个简单的仓库管理系统
- 基于jquery-easyui的仓库管理系统
- 我做的仓库管理系统
- Linux系统的文件句柄数量问题
- Linux系统的文件句柄数量问题
- Linux系统的文件句柄数量问题
- 关于reduce的数量设置问题
- 关于Android方法数量限制的问题
- 关于Android方法数量限制的问题
- 截取控件和屏幕图片并保存
- 一个上架了的React Native项目实战总结
- 双目视觉集锦
- ExtJS MessageBox嵌入HTML修改提示内容样式简单实例
- Java Script 基础一
- 解决关于仓库管理系统借入、归还的数量相关问题
- 百度push 结构化数据记录
- Best Time to Buy and Sell Stock
- Android App图标静态更新方案
- mysql order by 条件的值如果相同引发的bug
- input子系统三 input系统启动和EventHub数据读取
- java編碼規範
- Piotr's matlab toolbox 出现的问题及解决方法
- FPGA三段式状态机的思维陷阱