美化代办工作的业务合同号显示

This commit is contained in:
58261 2018-10-18 11:22:53 +08:00
parent 8dc2834883
commit 92d382723f
6 changed files with 349 additions and 4 deletions

View File

@ -11,11 +11,13 @@
}
sReturn = sReturn.split("@");
var id = sReturn[0];
debugger;
var distributor_name = sReturn[1];
var distributor_no = sReturn[4];
var distributor_coding = sReturn[5];
var sParams = "applyType=<%=sApplyType%>,CurUserID=<%=CurUser.getUserID()%>";
sParams =sParams+",FlowKey="+distributor_coding+",ProjectId="+id+",ProjectName="+distributor_coding+"-"+distributor_name+",DistributorNo="+distributor_no;
//sParams =sParams+",FlowKey="+distributor_coding+",ProjectId="+id+",ProjectName="+distributor_coding+"-"+distributor_name+",DistributorNo="+distributor_no;
sParams =sParams+",FlowKey="+distributor_no+",ProjectId="+id+",ProjectName="+distributor_coding+"-"+distributor_name+",DistributorNo="+distributor_no;
var sReturnInfo = RunJavaMethodTrans("com.tenwa.flow.action.comm.BaseFlowStartAction","initFLow",sParams);
if(typeof(sReturnInfo)=="undefined" || sReturnInfo=="" || sReturnInfo=="_CANCEL_") return;
var sReturnInfos=sReturnInfo.split("@");

View File

@ -16,7 +16,8 @@
var distributor_coding = sReturn[3];
var sParams = "applyType=<%=sApplyType%>,CurUserID=<%=CurUser.getUserID()%>";
sParams =sParams+",FlowKey="+distributor_coding+",ProjectId="+customer_id+",ProjectName="+distributor_coding+"-"+customer_name+",applyType=<%=sApplyType%>,DistributorNo="+distributor_no;
<%-- sParams =sParams+",FlowKey="+distributor_coding+",ProjectId="+customer_id+",ProjectName="+distributor_coding+"-"+customer_name+",applyType=<%=sApplyType%>,DistributorNo="+distributor_no; --%>
sParams =sParams+",FlowKey="+distributor_no+",ProjectId="+customer_id+",ProjectName="+distributor_coding+"-"+customer_name+",applyType=<%=sApplyType%>,DistributorNo="+distributor_no;
var sReturnInfo = RunJavaMethodTrans("com.tenwa.flow.action.comm.BaseFlowStartAction","initFLow",sParams);
if(typeof(sReturnInfo)=="undefined" || sReturnInfo=="" || sReturnInfo=="_CANCEL_") return;

View File

@ -22,7 +22,8 @@
<script type="text/javascript">
function newRecord(){
var sUrl = "/Tenwa/Core/Standard/LCStandardInterestInfo3.jsp";
AsControl.OpenView(sUrl,'option=add','_self','');
var new_id=RunJavaMethodTrans("com.tenwa.apzl.comm.As_saveForCuiJin","getGuiZeId","");
AsControl.OpenView(sUrl,'option=add'+'&id='+new_id,'_self','');
}
function viewAndEdit(){
var sUrl = "/Tenwa/Core/Standard/LCStandardInterestInfo3.jsp";

View File

@ -7,6 +7,7 @@
History Log:
*/
String option = CurPage.getParameter("option");
String id = CurPage.getParameter("id");
//新增和修改的查询逻辑不同,需要判断
String sql = "select BASE_RATE_HALF,BASE_RATE_ONE,BASE_RATE_THREE,BASE_RATE_FIVE,BASE_RATE_ABOVEFIVE from LC_STANDARD_INTEREST ";
if("edit".equals(option)){
@ -35,7 +36,7 @@
doTemp.setHtmlEvent("BASE_RATE_HALF,BASE_RATE_ONE,BASE_RATE_THREE,BASE_RATE_FIVE,BASE_RATE_ABOVEFIVE", "onchange", "getRateByBase");
ASObjectWindowCalc dwTemp = new ASObjectWindowCalc(CurPage, doTemp,request);
dwTemp.Style = "2";//freeform
dwTemp.genHTMLObjectWindow(CurPage.getParameter("id"));
dwTemp.genHTMLObjectWindow(id);
String sButtons[][] = {
{"true","All","Button","保存","保存所有修改","as_save(0)","","","",""},
{"true","All","Button","返回","返回列表","returnList()","","","","btn_icon_return"}
@ -44,6 +45,8 @@
%><%@ include file="/Frame/resources/include/ui/include_info.jspf"%>
<script type="text/javascript">
$(function(){
var id="<%=id%>";
setItemValue(0,0,"ID",id);
$('.info_data_tablecommon .info_group_table').remove();//移除分组
$('td .info_mid_line').attr('width','33%');//设置列宽比
$('td .info_td_left').attr('style','width:130px;');//设置标题宽
@ -54,6 +57,7 @@
setItemValue(0,0,'ADJUSTED3','<%=BASE_RATE_THREE%>');
setItemValue(0,0,'ADJUSTED4','<%=BASE_RATE_FIVE%>');
setItemValue(0,0,'ADJUSTED5','<%=BASE_RATE_ABOVEFIVE%>');
})
function returnList(){
var pUrl="/Tenwa/Core/Standard/CentralLCStandardInterestList.jsp";

View File

@ -79,4 +79,12 @@ public class As_saveForCuiJin {
bq3.executeUpdate();
return "success";
}
public static String getGuiZeId(JBOTransaction tx)throws Exception{
SeriaNumBerForUtil sn=new SeriaNumBerForUtil();
String sMessString=sn.getTiaoXiSerialNumber(tx);
return sMessString;
};
}

View File

@ -0,0 +1,329 @@
package com.tenwa.apzl.comm;
import java.text.DecimalFormat;
import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;
import jbo.com.tenwa.entity.comm.serialutil.T_SERIAL_DISCARD_NUMBER;
import jbo.com.tenwa.entity.comm.serialutil.T_SERIAL_NUMBER;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.BizObjectQuery;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.amarsoft.are.lang.StringX;
import com.tenwa.comm.util.date.DateAssistant;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
import com.tenwa.util.SerialNumberUtil;
/**
* @author 58261
* 优化我的工作代办显示
*
* */
public class SeriaNumBerForUtil {
public static synchronized String getTiaoXiSerialNumber(JBOTransaction tx) throws Exception{
return SeriaNumBerForUtil.getSerialNumber("TXLC{year}{maxOrderNumber}",7,null, "TXLC", null, tx);
}
protected static synchronized String getSerialNumber(String serialNumberPattern,int numberCount,Map<String,String> model,String type,Integer queryYear,JBOTransaction tx) throws Exception
{
String currentDateTime = DateAssistant.getTodayNow();
String currentYear = currentDateTime.substring(0,4);
String month = currentDateTime.substring(5,7);
String day = currentDateTime.substring(8,10);
String hour = currentDateTime.substring(11,13);
String minute = currentDateTime.substring(14,16);
String second = currentDateTime.substring(17,19);
Integer year = Integer.parseInt(currentYear);
if(null != queryYear){
year = queryYear;
}
Map<String,String> paramMap = new HashMap<String,String>();
paramMap.put("year", year+"");
paramMap.put("month", month+"");
paramMap.put("day", day+"");
paramMap.put("hour", hour+"");
paramMap.put("minute", minute+"");
paramMap.put("second", second+"");
int maxOrderNumber = getMaxOrderNumber(type, queryYear, tx);
StringBuffer numberFormat = new StringBuffer();
for(int i=0;i<numberCount;i++)
{
numberFormat.append("0");
}
DecimalFormat df = new DecimalFormat(numberFormat.toString());
String serialNumberFormat = df.format(maxOrderNumber);
paramMap.put("maxOrderNumber", serialNumberFormat);
if(null != model){
paramMap.putAll(model);
}
String serialNumberString = getSerialNumber(paramMap, serialNumberPattern);
return serialNumberString;
}
protected static synchronized String getSerialNumber(Map<String,String> paramMap,String serialNumberPattern){
for(String key:paramMap.keySet()){
if(serialNumberPattern.indexOf("{"+key+"}")>=0){
serialNumberPattern=serialNumberPattern.replace("{"+key+"}", paramMap.get(key));
}
}
return serialNumberPattern;
}
/***
* serialNumberPattern匹配值
* {year}->年份如果参数year为空则取当前年
* {month}->当前月
* {day}->当前日
* {hour}->
* {minute}->
* {second}->
* {maxOrderNumber}->当前最大序号
*
* **/
protected static synchronized String getSerialNumberByMonth(String serialNumberPattern,int numberCount,Map<String,String> model,String type,Integer queryYear,Integer queryMonth,JBOTransaction tx) throws Exception
{
String currentDateTime = DateAssistant.getTodayNow();
String currentYear = currentDateTime.substring(0,4);
String monthStr = currentDateTime.substring(5,7);
String day = currentDateTime.substring(8,10);
String hour = currentDateTime.substring(11,13);
String minute = currentDateTime.substring(14,16);
String second = currentDateTime.substring(17,19);
int year = Integer.parseInt(currentYear);
int month = Integer.parseInt(monthStr);
if(null != queryYear){
year = queryYear;
}
if(null != queryMonth){
month = queryMonth ;
}
Map<String,String> paramMap = new HashMap<String,String>();
paramMap.put("year", year+"");
paramMap.put("month", monthStr+"");
paramMap.put("day", day+"");
paramMap.put("hour", hour+"");
paramMap.put("minute", minute+"");
paramMap.put("second", second+"");
int maxOrderNumber = getMaxOrderNumberByMonth(type, year,month, tx);
StringBuffer numberFormat = new StringBuffer();
for(int i=0;i<numberCount;i++)
{
numberFormat.append("0");
}
DecimalFormat df = new DecimalFormat(numberFormat.toString());
String serialNumberFormat = df.format(maxOrderNumber);
paramMap.put("maxOrderNumber", serialNumberFormat);
if(null != model){
paramMap.putAll(model);
}
String serialNumberString = getSerialNumber(paramMap, serialNumberPattern);
return serialNumberString;
}
//考虑并发情况必须采用同步机制
@SuppressWarnings("unchecked")
protected static synchronized int getMaxOrderNumber(String type,Integer queryYear,JBOTransaction tx) throws Exception
{
int currentYear = Calendar.getInstance().get(Calendar.YEAR);
BizObjectManager tNumberManager = JBOFactory.getBizObjectManager(T_SERIAL_NUMBER.CLASS_NAME);
tx.join(tNumberManager);
Map<String,String>searchCondtion=new HashMap<String,String>();
if(!StringX.isEmpty(type)){
searchCondtion.put("type_", type);
}
if(null != queryYear){
searchCondtion.put("year_", queryYear.toString());
}
String querySql = DataOperatorUtil.getQuerySql(searchCondtion);
BizObjectQuery bqDest = tNumberManager.createQuery(querySql);
for (String key : searchCondtion.keySet()) {
bqDest.setParameter(key, searchCondtion.get(key).toString());
}
BizObject serialNumber = null;
serialNumber = bqDest.getSingleResult(true);// 目标JBO需要做更新操作
if(null==serialNumber){
serialNumber = tNumberManager.newObject();
if(null != queryYear)
{
currentYear = queryYear;
}
serialNumber.setAttributeValue("year_",currentYear);
serialNumber.setAttributeValue("type_",type);
serialNumber.setAttributeValue("order_number_", "0");
}
int maxOrderNumber = Integer.valueOf(serialNumber.getAttribute("order_number_").getInt()) + 1;
serialNumber.setAttributeValue("order_number_",maxOrderNumber);
tNumberManager.saveObject(serialNumber);
return maxOrderNumber;
}
//考虑并发情况必须采用同步机制
@SuppressWarnings("unchecked")
protected static synchronized int getMaxOrderNumberByMonth(String type,Integer queryYear,Integer queryMonth,JBOTransaction tx) throws Exception
{
int currentYear = Calendar.getInstance().get(Calendar.YEAR);
int currentMonth = Calendar.getInstance().get(Calendar.MONTH);
BizObjectManager tNumberManager = JBOFactory.getBizObjectManager(T_SERIAL_NUMBER.CLASS_NAME);
tx.join(tNumberManager);
Map<String,String>searchCondtion=new HashMap<String,String>();
if(!StringX.isEmpty(type)){
searchCondtion.put("type_", type);
}
if(null != queryYear){
searchCondtion.put("year_", queryYear.toString());
}
if(null != queryMonth){
searchCondtion.put("month_", queryMonth.toString());
}
String querySql = DataOperatorUtil.getQuerySql(searchCondtion);
BizObjectQuery bqDest = tNumberManager.createQuery(querySql);
for (String key : searchCondtion.keySet()) {
bqDest.setParameter(key, searchCondtion.get(key).toString());
}
BizObject serialNumber = null;
serialNumber = bqDest.getSingleResult(true);// 目标JBO需要做更新操作
if(null==serialNumber)
{
serialNumber = tNumberManager.newObject();
if(null != queryYear)
{
currentYear = queryYear;
}
if(null != queryMonth){
currentMonth = queryMonth;
}
serialNumber.setAttributeValue("year_",currentYear);
serialNumber.setAttributeValue("month_",currentMonth);
serialNumber.setAttributeValue("type_",type);
serialNumber.setAttributeValue("order_number_", "0");
}
int maxOrderNumber = Integer.valueOf(serialNumber.getAttribute("order_number_").getInt()) + 1;
serialNumber.setAttributeValue("order_number_",maxOrderNumber);
tNumberManager.saveObject(serialNumber);
return maxOrderNumber;
}
/**
* 优先从号码废弃池中取号,如果号码废弃池中没有待取号吗,则根据序列号生成
* @param serialNumberPattern
* @param numberCount
* @param model
* @param type
* @param queryYear
* @param hibernateTemplate
* @param jdbcTemplate
* @return
* @throws Exception
*/
protected static synchronized String getSerialNumberFirstDiscard(String serialNumberPattern,int numberCount,Map<String,String> model,String type,Integer queryYear,JBOTransaction tx) throws Exception
{
String currentDateTime = DateAssistant.getTodayNow();
String currentYear = currentDateTime.substring(0,4);
String month = currentDateTime.substring(5,7);
String day = currentDateTime.substring(8,10);
String hour = currentDateTime.substring(11,13);
String minute = currentDateTime.substring(14,16);
String second = currentDateTime.substring(17,19);
int year = Integer.parseInt(currentYear);
if(null != queryYear){
year = queryYear;
}
Map<String,String> paramMap = new HashMap<String,String>();
paramMap.put("year", year+"");
paramMap.put("month", month+"");
paramMap.put("day", day+"");
paramMap.put("hour", hour+"");
paramMap.put("minute", minute+"");
paramMap.put("second", second+"");
int maxOrderNumber =0;
//从废弃池查找可用号码
maxOrderNumber=getMinDiscardNumber(type, queryYear, tx);
if(maxOrderNumber<0){//废弃池中没有数据
maxOrderNumber=getMaxOrderNumber(type, year, tx);
}
StringBuffer numberFormat = new StringBuffer();
for(int i=0;i<numberCount;i++)
{
numberFormat.append("0");
}
DecimalFormat df = new DecimalFormat(numberFormat.toString());
String serialNumberFormat = df.format(maxOrderNumber);
paramMap.put("maxOrderNumber", serialNumberFormat);
if(null != model){
paramMap.putAll(model);
}
String serialNumberString = getSerialNumber(paramMap, serialNumberPattern);
return serialNumberString;
}
@SuppressWarnings("unchecked")
protected static synchronized int getMinDiscardNumber(String type,Integer queryYear,JBOTransaction tx) throws Exception
{
BizObjectManager tNumberManager = JBOFactory.getBizObjectManager(T_SERIAL_DISCARD_NUMBER.CLASS_NAME);
tx.join(tNumberManager);
Map<String,String>searchCondtion=new HashMap<String,String>();
if(!StringX.isEmpty(type)){
searchCondtion.put("type_", type);
}
if(null != queryYear){
searchCondtion.put("year_", queryYear.toString());
}
String querySql = DataOperatorUtil.getQuerySql(searchCondtion);
BizObjectQuery bqDest = tNumberManager.createQuery(querySql);
for (String key : searchCondtion.keySet()) {
bqDest.setParameter(key, searchCondtion.get(key).toString());
}
BizObject serialNumber = null;
serialNumber = bqDest.getSingleResult(true);// 目标JBO需要做更新操作
if(null!=serialNumber)
{
int minOrderNumber = serialNumber.getAttribute("discard_number_").getInt();
tNumberManager.deleteObject(serialNumber);
return minOrderNumber;
}
return -1;
}
}