package stock;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import junit.framework.TestCase;

public class Test extends TestCase {
 
 private String monthfromdate;    //月初
 private String monthenddate;     //月末
 private long  periodday;  //周期
 private String indate;   //入库日期
 private String outdate;   //出库日期
 
 
 public Test(){}
 
 
 public Test(String monthfromdate, String monthenddate, long periodday, String indate, String outdate) {
  this.monthfromdate = monthfromdate;
  this.monthenddate = monthenddate;
  this.periodday = periodday;
  this.indate = indate;
  this.outdate = outdate;
 }

public static long getCompareDate(String endDate,String startDate) throws ParseException{
      SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd");

Date date1=formatter.parse(startDate);
      Date date2=formatter.parse(endDate);
     
      long l = date2.getTime() - date1.getTime();
      long d = l/(24*60*60*1000);
      return d;
  }
 
 // 1。在库存中货物超期的天数
 // 2。月末后出库的货物超期的天数
 //monthfromdate,monthenddate,indate
 public long compulatoverday1() throws ParseException{
  
  long monthdays =  getCompareDate(monthenddate,monthfromdate);
  long infromdays = getCompareDate(monthfromdate,indate);
  long inenddays = getCompareDate(monthenddate,indate);
  
  if( monthdays <= periodday){
   
   Exception exception = new Exception("没有超期");
   
   return -1;
  }
  
  if(infromdays>=periodday)
  {
   return monthdays;
  }else{
   return inenddays-periodday;
  }
  
 }
 
 
 //1。本月中出货货物超期的天数
 public long compulatoverday2() throws ParseException{
  
  long stockdays =  getCompareDate(outdate,indate);
  long monthdays =  getCompareDate(monthenddate,monthfromdate);
  long infromdays = getCompareDate(monthfromdate,indate);
  long outfromdays =  getCompareDate(outdate,monthfromdate);
  //long outenddays =  getCompareDate(monthenddate,outdate);

System.out.println("本月共" + monthdays + "天");
  if( stockdays <= periodday){
   
   Exception exception = new Exception("没有超期");
   
   return -1;
  }
  
  if(infromdays>=periodday)
  {
   return outfromdays;
  }else{
   return stockdays-periodday;
  }
  
 }
 
 
 
 
 public static void main(String[] args) throws ParseException {
  
  Test test = new Test("2007-06-01","2007-07-01",7,"2007-05-08","2007-6-28");
  System.out.print(test.compulatoverday2());
  
//  System.out.print(getCompareDate("2007-06-01","2007-06-01"));
  
 }

public String getIndate() {
  return indate;
 }

public void setIndate(String indate) {
  this.indate = indate;
 }

public String getMonthenddate() {
  return monthenddate;
 }

public void setMonthenddate(String monthenddate) {
  this.monthenddate = monthenddate;
 }

public String getMonthfromdate() {
  return monthfromdate;
 }

public void setMonthfromdate(String monthfromdate) {
  this.monthfromdate = monthfromdate;
 }

public String getOutdate() {
  return outdate;
 }

public void setOutdate(String outdate) {
  this.outdate = outdate;
 }

public long getPeriodday() {
  return periodday;
 }

public void setPeriodday(long periodday) {
  this.periodday = periodday;
 }

}

库存中货物超期的天数相关推荐

  1. SAP中货物移动物料凭证打印——维护输出条件

    在上篇专题中提到需要打印货物移动物料凭证时,需要首先配置移动类型凭证打印标记,但并非唯一配置.在笔者所在公司的系统中,当移动类型凭证打印标记配置完成后 ,仍无法打印. SAP中货物移动物料凭证打印-- ...

  2. SAP中货物移动库位权限管理测试

    在应用中,可能会遇到货物移动库位权限管理的需求.即希望对某些用户可以操作的库位进行限制:比如同一工厂仓库或车间里,有专用库,由专人来进行日常操作这样类似的情况:针对该需求,笔者尝试在系统中简单测试其实 ...

  3. migo初始化库存 s4_货物移动_初始化库存(MvT561)

    一.说明 SAP系统上线,通常需要进行初始化库存操作,将目前库存物料存入系统,包括数量和计价金额两部分数据.特定T-CODE是MB1C:MIGO也可以进行操作.操作后生成移动类型为561的物料凭证,如 ...

  4. java 库存出入货物程序设计

    此案例编写一个模拟商品入库的程序(里面包含 品牌型号,尺寸,价格,配置,库存,总价),在控制台输入数量,便可以得到商品的总价格.(这里华为,小米为示例) 此程序只有一个Test类 Test类 这里建议 ...

  5. SAP中货物移动物料凭证打印——移动类型凭证打印标记

    货物移动物料凭证打印需要进行配置定义:在公司的现行应用中,如果某个物料凭证需要打印,这时在初始配置中并不一定就开放了允许打印的设定:此时,可以在后台如下位置找到相关配置:该配置分为三个部分,对应收货, ...

  6. Mysql中TO_DAYS函数——查询天数

    TO_DAYS函数 在SQL中我们经常需要根据时间字段查询数据,今天用到一个好用的时间字段,用来查询一整天的数据 #例如 SELECT TO_DAYS(NOW()) 结果738369 如果是查询昨天的 ...

  7. 如何在Odoo 16库存中配置批次和序列号

    如果您是库存管理操作的新手,您必须熟悉几种识别号,以跟踪和识别从制造到交付过程中的产品.批次和序列号是制造商通过各种产品移动来识别产品的部件.人们常常误解这些是一些随机分配的数字,以便得到产品的总数. ...

  8. 【转载】SAP中货物移动物料凭证打印——维护输出条件

    货物移动物料凭证打印需要进行配置定义:在公司的现行应用中,如果某个物料凭证需要打印,这时在初始配置中并不一定就开放了允许打印的设定:此时,可以在后台如下位置找到相关配置:该配置分为三个部分,对应收货, ...

  9. c语言中日期间的天数怎么计算,关于计算两个日期间天数的代码,大家来看看...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这是原贴: http://post.baidu.com/f?kz=100411727 这是原码: #include "stdio.h" ...

最新文章

  1. 2018-3-21李宏毅机器学习笔记十一-----Brief Introduction of Deep Learning?
  2. linux centos7 开机自动登录
  3. 一天搞定CSS: 浮动(float)及文档流--10
  4. SAP Spartacus 电商云 UI Shipping Method 在单元测试环境下没有显示的问题
  5. 业务的可变性和不可变性分析_不可变性真的意味着线程安全吗?
  6. php的integer,PHP整型 integer
  7. 提高级:初等数论 威尔逊定理
  8. 2017.9.19 禁忌 失败总结
  9. 蓝桥杯 ADV-209 算法提高 c++_ch02_04
  10. 阿里巴巴(alibaba)系列_druid 数据库连接池_监控(一篇搞定)记录执行慢的sql语句...
  11. Mysql replace 与 insert on duplicate效率分析
  12. android开发学习-日经常使用到的好东西-经常使用技巧分享
  13. 电商双十一调查数据分析报告
  14. python自动化之淘宝自动清空购物车
  15. 机器学习的三大主要任务
  16. GOTC 大会预告 | Apache Pulsar PMC 成员翟佳:Apache Pulsar 架构设计与原理
  17. 【聊聊Java】Java中HashMap常见问题 -- 扩容、树化、死链问题
  18. 学生管理系统(大数据实验室)
  19. 内存溢出————举例分析dump下的hprof文件
  20. 电子围栏与红外对射的区别

热门文章

  1. dhl寄件邮编错了_如果从国外邮寄DHL往中国.邮编怎么写?
  2. Pspice仿真实验 例B-1
  3. 适用于各浏览器支持图片预览,无刷新异步批量上传js插件(2)
  4. 什么是短信平台api接口?
  5. Scratch软件编程等级考试二级——201909
  6. html隐藏手机状态栏,如何隐藏iPhone手机状态栏_隐藏iPhone手机状态栏操作方法介绍-果粉控...
  7. 关于国密HTTPS的那些事(一)
  8. 【微服务架构 - 04 - Nexus】01 基于 Docker 安装 Nexus
  9. vi模式下的编辑、删除、保存和退出
  10. 转载:整车CAN网络介绍---CAN--PT CAN--Chassis CAN--Body CAN--Info CAN