vouchernumdaoimpl.java
来自「一个关于tlms的一个小程序 看看能否帮助到别人」· Java 代码 · 共 241 行
JAVA
241 行
/**
* =============================================
* Copyright 2006 szmx
*
* Change Revision
* --------------------------------
* Date Author Remarks
* 2006-4-14 Allen.Zeng Create com.szmx.tlms.finance.dao.impl.VoucherNumDaoImpl
* =============================================
*/
package com.szmx.tlms.finance.dao.impl;
import com.szmx.tlms.finance.dao.VoucherNumDao;
import com.szmx.tlms.finance.model.CalendarPeriod;
import com.szmx.tlms.finance.model.VoucherNum;
import com.szmx.tlms.supplychain.model.SalesOrg;
import com.szmx.framework.base.dao.impl.BaseDaoImpl;
import com.szmx.framework.util.StringUtil;
import java.util.*;
/**
*
* @author Allen.Zeng
* @since 2006-4-14
*/
public class VoucherNumDaoImpl extends BaseDaoImpl implements VoucherNumDao {
/**
* @see com.szmx.tlms.finance.dao.VoucherNumDao#saveOrUpdateVoucherNum(com.szmx.tlms.finance.model.VoucherNum)
*/
public void saveOrUpdateVoucherNum(VoucherNum voucherNum) {
if (voucherNum == null) {
return;
}
this.saveObject(voucherNum);
}
/**
* @see com.szmx.tlms.finance.dao.VoucherNumDao#saveOrUpdateAllVoucherNum(java.util.Collection)
*/
public void saveOrUpdateAllVoucherNum(Collection voucherNums) {
if (voucherNums == null || voucherNums.size() <= 0) {
return ;
}
Iterator it = voucherNums.iterator();
int count = 0;
while (it.hasNext()) {
this.saveObject(it.next());
// batch action. To avoid memory overflow
count ++;
if (count % 20 == 0) {
this.getSession().flush();
this.getSession().clear();
}
}
}
/**
* @see com.szmx.tlms.finance.dao.VoucherNumDao#removeVoucherNum(com.szmx.tlms.finance.model.VoucherNum)
*/
public void removeVoucherNum(VoucherNum voucherNum) {
if (voucherNum == null) {
return;
}
this.removeObject(voucherNum);
}
/**
* @see com.szmx.tlms.finance.dao.VoucherNumDao#removeAllObject(java.util.Collection)
*/
public void removeAllVoucherNum(Collection voucherNums) {
if (voucherNums == null || voucherNums.size() <= 0) {
return;
}
this.removeAllObject(voucherNums);
}
/**
* @see com.szmx.tlms.finance.dao.VoucherNumDao#searchVoucherNum(com.szmx.tlms.supplychain.model.SalesOrg, com.szmx.tlms.finance.model.CalendarPeriod, String)
*/
public List searchVoucherNum(SalesOrg company, CalendarPeriod calendarPeriod, String voucherType) {
Map queryConditionMap = new HashMap();
queryConditionMap.put("company", company);
queryConditionMap.put("calendarPeriod", calendarPeriod);
queryConditionMap.put("voucherType", voucherType);
return this.findListByCombinedHsql("searchVoucherNum", queryConditionMap);
}
/**
* @see com.szmx.tlms.finance.dao.VoucherNumDao#setFlowNoZero(com.szmx.tlms.supplychain.model.SalesOrg, com.szmx.tlms.finance.model.CalendarPeriod, java.util.List, Long)
*/
public int setFlowNoZero(SalesOrg company, CalendarPeriod calendarPeriod, List voucherTypeList, Long userid){
if (company == null || calendarPeriod == null || voucherTypeList == null || userid == null) {
if (this.logger.isDebugEnabled()) {
this.logger.debug("Passed parameters cannot be empty ! Check them !");
}
return -1;
}
List voucherNumList = new ArrayList();
String voucherType;
for (int i = 0; i < voucherTypeList. size(); i ++) {
voucherType = (String) voucherTypeList.get(i);
if (!StringUtil.isNull(voucherType)) {
VoucherNum voucherNum = new VoucherNum();
voucherNum.populateCreateBean(userid);
voucherNum.setCalendarPeriod(calendarPeriod);
voucherNum.setCompany(company);
voucherNum.setVoucherType(voucherType);
voucherNum.setFlowNo(new Integer(0)); // key opeartion
voucherNumList.add(voucherNum);
}
}
this.saveOrUpdateAllVoucherNum(voucherNumList);
return 0;
}
/**
* @see com.szmx.tlms.finance.dao.VoucherNumDao#setFlowNoZero(com.szmx.tlms.supplychain.model.SalesOrg, com.szmx.tlms.finance.model.CalendarPeriod, String, Long)
*/
public int setFlowNoZero(SalesOrg company, CalendarPeriod calendarPeriod, String voucherType, Long userid) {
if (company == null || calendarPeriod == null || voucherType == null || userid == null) {
if (this.logger.isDebugEnabled()) {
this.logger.debug("Passed parameters cannot be empty ! Check them !");
}
return -1;
}
VoucherNum voucherNum = new VoucherNum();
voucherNum.populateCreateBean(userid);
voucherNum.setCompany(company);
voucherNum.setCalendarPeriod(calendarPeriod);
voucherNum.setVoucherType(voucherType);
voucherNum.setFlowNo(new Integer(0)); // key opeartion
this.saveOrUpdateVoucherNum(voucherNum);
return 0;
}
/**
* @see com.szmx.tlms.finance.dao.VoucherNumDao#generateVoucherNum(com.szmx.tlms.supplychain.model.SalesOrg, com.szmx.tlms.finance.model.CalendarPeriod, String, Long)
*/
public String generateVoucherNum(SalesOrg company, CalendarPeriod calendarPeriod, String voucherType, Long userid) {
if( company == null || calendarPeriod == null || StringUtil.isNull(voucherType) || userid == null) {
if (this.logger.isDebugEnabled()) {
this.logger.debug("Passed parameters cannot be empty ! Check them !");
}
return null;
}
// auto-generated flow number
int newFlowNo;
// generate flow number
List list = this.searchVoucherNum(company, calendarPeriod, voucherType);
if (list == null || list.size() < 1) {
// there is not this type of flow number, so add it
int status = this.setFlowNoZero(company, calendarPeriod, voucherType, userid);
if (status != 0) {
return null;
}
newFlowNo = Integer.parseInt("1");
} else {
VoucherNum voucherNum = (VoucherNum) list.get(0);
if (voucherNum == null) {
return null;
}
if (voucherNum.getFlowNo() == null) {
return null;
}
newFlowNo = voucherNum.getFlowNo().intValue() + 1;
}
// assemble voucher number
// voucer number format is 06-PE02-1
// 06 is fiscal year
// PE is voucher type
// 02 is fiscal month
// 1 is flow no
String fiscalYear = calendarPeriod.getPeriodYear(); // fiscalYear should be 2 or 4 charactor in db
if (fiscalYear.length() >= 4) {
fiscalYear = fiscalYear.substring(2);
}
String fiscalMonth = String.valueOf(calendarPeriod.getPeriodNum());
if (fiscalMonth.length() < 2) {
fiscalMonth = "0" + fiscalMonth;
}
if (this.logger.isDebugEnabled()) {
this.logger.debug("Generated voucherNo : " +
fiscalYear + "-" + voucherType + fiscalMonth + "-" + newFlowNo);
}
return fiscalYear + "-" + voucherType + fiscalMonth + "-" + newFlowNo;
}
/**
* @see com.szmx.tlms.finance.dao.VoucherNumDao#updateFlowNo(com.szmx.tlms.supplychain.model.SalesOrg, com.szmx.tlms.finance.model.CalendarPeriod, String, Long)
*/
public int updateFlowNo(SalesOrg company, CalendarPeriod calendarPeriod, String voucherType, Long userid) {
if (company == null || calendarPeriod == null || StringUtil.isNull(voucherType) || userid == null) {
return -1;
}
VoucherNum voucherNum = (VoucherNum) this.searchVoucherNum(company, calendarPeriod, voucherType);
if (voucherNum == null) {
return -1;
} else {
voucherNum.populateUpdateBean(userid);
Integer flowNo = voucherNum.getFlowNo();
if (flowNo == null) {
flowNo = new Integer(0);
}
voucherNum.setFlowNo(new Integer(flowNo.intValue() + 1));
this.saveOrUpdateVoucherNum(voucherNum);
return 1;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?