apzl_leasing/src_tenwa/com/tenwa/makeContract/util/MakeOneCodeAndContractModel.java
2018-12-29 11:36:03 +08:00

525 lines
23 KiB
Java
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.tenwa.makeContract.util;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
import com.amarsoft.are.jbo.JBOException;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.amarsoft.are.util.json.JSONDecoder;
import com.amarsoft.are.util.json.JSONObject;
import com.amarsoft.awe.Configure;
import com.amarsoft.dict.als.manage.NameManager;
import com.caucho.hessian.client.HessianProxyFactory;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
import com.tenwa.app.dao.ContractSignInfo;
import com.tenwa.channelportal.action.ContractSignAction;
import com.tenwa.channelportal.action.generativecontract.WordToPDFUtil;
import com.tenwa.comm.exception.BusinessException;
import com.tenwa.comm.util.date.DateAssistant;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
import com.tenwa.doc.action.DocListAction;
import com.tenwa.doc.util.BASE64;
import com.tenwa.lease.app.service.HttpRequestAppService;
import com.tenwa.officetempalte.service.CreateOfficeService;
import com.tenwa.officetempalte.util.FileOperatorUtil;
import com.tenwa.reckon.util.UUIDUtil;
import org.apache.log4j.Logger;
import org.jbarcode.JBarcode;
import org.jbarcode.encode.Code128Encoder;
import org.jbarcode.encode.InvalidAtributeException;
import org.jbarcode.paint.BaseLineTextPainter;
import org.jbarcode.paint.WidthCodedPainter;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.MalformedURLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import jbo.app.tenwa.customer.CUSTOMER_FAMILY_TEMP;
import jbo.app.tenwa.customer.CUSTOMER_INFO;
import jbo.app.tenwa.customer.CUSTOMER_PERSON;
import jbo.app.tenwa.doc.LB_DOCATTRIBUTE;
import jbo.app.tenwa.doc.LB_DOCRELATIVE;
import jbo.app.tenwa.doc.LB_DOC_CONTRACT_LIST;
import jbo.app.tenwa.doc.LB_ONEDIMENSIONALCODE;
import jbo.com.tenwa.entity.comm.officetempalte.BF_TEMPLATE;
import jbo.com.tenwa.lease.carbrand.LB_CONTRACT_SIGN_LOG;
import jbo.com.tenwa.lease.comm.LB_CONTRACT_TEMPLATE;
import jbo.com.tenwa.lease.comm.LB_GUARANTEE_UNIT_TEMP;
import jbo.com.tenwa.lease.comm.LB_PROJECT_INFO;
import jbo.com.tenwa.lease.comm.LB_PROJECT_INFO_TEMP;
import jbo.com.tenwa.lease.comm.LB_UNION_LESSEE;
import com.itextpdf.text.Image;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper;
public class MakeOneCodeAndContractModel {
private static Logger logger=Logger.getLogger(ContractSignAction.class);
public HessianProxyFactory factory = new HessianProxyFactory();
public HttpRequestAppService requestService;
public String MOneDimensionalCode(String contractNo,String contractId,String projectId,String diskPath,JBOTransaction tx) throws Exception{
JBarcode localJBarcode = new JBarcode(Code128Encoder.getInstance(), WidthCodedPainter.getInstance(), BaseLineTextPainter.getInstance());
localJBarcode.setEncoder(Code128Encoder.getInstance());
localJBarcode.setPainter(WidthCodedPainter.getInstance());
localJBarcode.setTextPainter(BaseLineTextPainter.getInstance());
localJBarcode.setShowCheckDigit(false);
BufferedImage localBufferedImage = null;
localBufferedImage = localJBarcode.createBarcode(contractNo);
//获取当前时间,根据时间创建一维码存放的路径
Calendar now = Calendar.getInstance();
String path = now.get(Calendar.YEAR)+"//"+(now.get(Calendar.MONTH) + 1) + "//"+now.get(Calendar.DAY_OF_MONTH);
File file = new File(diskPath+path);
if (!file.exists()) {
file.mkdirs();
}
path=path+"//"+contractId+".jpg";
OutputStream jos = null;
jos = new FileOutputStream(diskPath+path);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(jos);
JPEGEncodeParam jpegEP = JPEGCodec.getDefaultJPEGEncodeParam(localBufferedImage);
jpegEP.setQuality((float) 1, true);
try {
encoder.encode(localBufferedImage, jpegEP);
jos.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
jos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
BizObjectManager attrBm = JBOFactory.getBizObjectManager(LB_ONEDIMENSIONALCODE.CLASS_NAME,tx);
// BizObjectManager attrBm=JBOFactory.getBizObjectManager("jbo.app.tenwa.doc.LB_ONEDIMENSIONALCODE");
BizObject attr=attrBm.newObject();
attr.setAttributeValue("PROJECT_ID", projectId);
attr.setAttributeValue("CONTRACT_ID", contractId);
attr.setAttributeValue("FileName", contractId+".jpg");
Date date= new Date(System.currentTimeMillis());
String pattern="yyyy/MM/dd HH:mm:ss";
SimpleDateFormat sdf= new SimpleDateFormat(pattern);
attr.setAttributeValue("InputTime",sdf.format(date));
attr.setAttributeValue("objectType", "OneDimensionalCode");
attr.setAttributeValue("FilePath",path);
attr.setAttributeValue("FullPath",diskPath+path);
attr.setAttributeValue("Content_Type", "jpg");
// tx.join(attrBm);
attrBm.saveObject(attr);
return diskPath+path;
}
/**
* 生成word文档
* @param sTemplateParam 生成word文档的参数
* @param tempid 模板的id
* @param tx
* @return
* @throws Exception
*/
public String createBqWord(String sTemplateParam,String tempid,JBOTransaction tx) throws Exception{
List<String> message=new ArrayList<String>();
//生成参数
//String sTemplateParam=this.getTemplateParam().replaceAll("@", ",");
JSONObject paramJson=JSONDecoder.decode(sTemplateParam);
Map<String,String>sourceMap=FileOperatorUtil.getJsonObjectToMap(paramJson);
BqCreateOfficeService officeSer=new BqCreateOfficeService(tx);
if(tempid.length()>0){
BizObjectManager bmbt = JBOFactory.getBizObjectManager(BF_TEMPLATE.CLASS_NAME);
tx.join(bmbt);
BizObject bobt=bmbt.createQuery("id=:id").setParameter("id",tempid).getSingleResult(false);
String TWO_CLASSIFY = bobt.getAttribute("TWOCLASSIFY").toString();
String THREE_CLASSIFY = bobt.getAttribute("THREECLASSIFY").toString();
String FOUR_CLASSIFY = bobt.getAttribute("FOURCLASSIFY").toString();
String TEMPLATEVERSION = bobt.getAttribute("TEMPLATEVERSION").toString();
if(bobt==null||TWO_CLASSIFY==null||THREE_CLASSIFY==null||FOUR_CLASSIFY==null||TEMPLATEVERSION==null){
message.add(NameManager.getItemName("ProductContractTemplate", THREE_CLASSIFY)+"未找到模板配置!");
}else{
// 保存LB_CONTRACT_TEMPLATE表
BizObjectManager bm = JBOFactory.getBizObjectManager(LB_CONTRACT_TEMPLATE.CLASS_NAME);
tx.join(bm);
BizObject bo = bm.newObject();
String id=UUIDUtil.getUUID();
bo.setAttributeValue("id", id);
bo.setAttributeValue("ONE_CLASSIFY", TWO_CLASSIFY);
bo.setAttributeValue("TWO_CLASSIFY", THREE_CLASSIFY);
bo.setAttributeValue("THREE_CLASSIFY", FOUR_CLASSIFY);
bo.setAttributeValue("FOUR_CLASSIFY", TEMPLATEVERSION);
// bo.setAttributeValue("CONTRACT_NUMBER", boc.getAttribute("CONTRACT_NUMBER").getString());
bo.setAttributeValue("CONTRACT_ID", sourceMap.get("CONTRACT_ID"));
bo.setAttributeValue("FLOWUNID", sourceMap.get("FLOW_UNID"));
bm.saveObject(bo);
bo.getKey();
sourceMap.put("TEMPLATE_ID", id);
BizObject rela=JBOFactory.createBizObjectQuery(LB_DOCRELATIVE.CLASS_NAME,"TEMPLATE_ID=:tempid").setParameter("tempid", tempid).getSingleResult(false);
if(rela!=null){
DocListAction doc=new DocListAction();
doc.setRelativeId(rela.getAttribute("id").getString());
doc.deleteRelative(tx);
}
officeSer.createOfficeByTemplateNo(bobt.getAttribute("id").getString(), sourceMap);
}
}
return message.toString();
}
//word转pdf
public String wordTopdf(String projectId,String contractId,JBOTransaction tx) throws Exception{
String pdfPath="";
BizObjectManager contBom = JBOFactory.getBizObjectManager(LB_DOC_CONTRACT_LIST.CLASS_NAME, tx);
BizObjectManager attrBom = JBOFactory.getBizObjectManager(LB_DOCATTRIBUTE.CLASS_NAME, tx);
BizObjectManager lulManage = JBOFactory.getBizObjectManager(LB_UNION_LESSEE.CLASS_NAME, tx);
BizObject lul = lulManage.createQuery("project_id=:projectid").setParameter("projectid", projectId).getSingleResult(false);
String customername = null;
String telephone = null;
String ids =null;
if(lul!=null){
ids = lul.getAttribute("CUSTOMER_ID").toString();
customername = lul.getAttribute("CUSTOMER_NAME").toString();
BizObjectManager ciManage = JBOFactory.getBizObjectManager(CUSTOMER_INFO.CLASS_NAME, tx);
BizObject ci = ciManage.createQuery("customerid=:customerid").setParameter("customerid", lul.getAttribute("CUSTOMER_ID").getString()).getSingleResult(false);
BizObjectManager cpManage = JBOFactory.getBizObjectManager(CUSTOMER_PERSON.CLASS_NAME, tx);
BizObject cp = cpManage.createQuery("customerid=:customerid").setParameter("customerid", lul.getAttribute("CUSTOMER_ID").getString()).getSingleResult(false);
if(ci!=null&&"03".equals(ci.getAttribute("customertype").getString())){
telephone = (cp==null?"":cp.getAttribute("mobile").getString());
}
}
WordToPDFUtil wordTopdf = new WordToPDFUtil();
File file = null;
Boolean result = null;
List<BizObject> bo = contBom.createQuery("contract_id=:contractId and file_flag='yes' and process='1'").setParameter("contractId", contractId).getResultList(true);
if (bo != null) {
for (BizObject contBo : bo) {
String attrId = contBo.getAttribute("ATTRIBUTE_ID").toString();
BizObject attrBo = attrBom.createQuery("id='" +attrId+"'").getSingleResult(true);
String path = attrBo.getAttribute("FULLPATH").toString();
String lastFilePath = path.replace(".docx", ".pdf");
File filePath = new File(path);
if(!filePath.exists()){
logger.info("word转换pdf的源文件不存在");
continue;
}
String lastFilePathpdf = filePath.getParent();
try {
result = wordTopdf.Word2Pdf(path, lastFilePathpdf);
} catch (Exception e) {
result = false;
e.printStackTrace();
}
if (result) {
file =new File(lastFilePath);
contBo.setAttributeValue("FULLPATH",lastFilePath);
contBo.setAttributeValue("FILENAME",contBo.getAttribute("FILENAME").toString().replace(".docx",".pdf" ));
contBo.setAttributeValue("FILEPATH",contBo.getAttribute("FILEPATH").toString().replace(".docx", ".pdf"));
contBo.setAttributeValue("CONTENT_TYPE","application/pdf");
contBo.setAttributeValue("PROCESS","2");
contBo.setAttributeValue("PROJECT_ID",projectId);
contBo.setAttributeValue("CUSTOMERNAME",customername);
contBo.setAttributeValue("TELEPHONE",telephone);
contBo.setAttributeValue("IDS",ids);
contBom.saveObject(contBo);
pdfPath=attrBo.getAttribute("FULLPATH").toString().replace(".docx", ".pdf");
attrBo.setAttributeValue("FULLPATH",attrBo.getAttribute("FULLPATH").toString().replace(".docx", ".pdf"));
attrBo.setAttributeValue("FILENAME",attrBo.getAttribute("FILENAME").toString().replace(".docx", ".pdf"));
attrBo.setAttributeValue("FILEPATH",attrBo.getAttribute("FILEPATH").toString().replace(".docx", ".pdf"));
attrBo.setAttributeValue("FileSize",file.length());
attrBo.setAttributeValue("CONTENT_TYPE","application/pdf");
attrBom.saveObject(attrBo);
}else{
contBo.setAttributeValue("PROCESS","3");
contBom.saveObject(contBo);
}
}
}
return pdfPath;
}
/**
* 向pdf插入一维码图片
* @param outPdfFile 插入后输出的路径
* @param markImagePath 一维码的图片路径
* @param tx 事务
* @return
* @throws Exception
*/
public String pdfAndMark(String outPdfFile, String markImagePath,String contractId,JBOTransaction tx) throws Exception{
BizObjectManager contBom = JBOFactory.getBizObjectManager(LB_DOC_CONTRACT_LIST.CLASS_NAME, tx);
BizObjectManager attrBom = JBOFactory.getBizObjectManager(LB_DOCATTRIBUTE.CLASS_NAME, tx);
BizObjectManager loscBom = JBOFactory.getBizObjectManager(LB_ONEDIMENSIONALCODE.CLASS_NAME, tx);
BizObject losc = loscBom.createQuery("CONTRACT_ID=:contractId").setParameter("contractId", contractId).getSingleResult(true);
if(markImagePath.length()<=0){
if(losc!=null){
markImagePath = losc.getAttribute("FULLPATH").getString();
}
}
BizObject cont = contBom.createQuery("contract_id=:contractId and file_flag='yes'").setParameter("contractId", contractId).getSingleResult(true);
String newPath = "";
String split ="";
String InPdfFile="";
if(cont!=null){
InPdfFile=cont.getAttribute("fullpath").toString();
split = cont.getAttribute("filepath").toString();
File file = new File(outPdfFile+split.substring(0,split.lastIndexOf("/")));
if (!file.exists()) {
file.mkdirs();
}
newPath=outPdfFile+split;
}else{
return "error";
}
PdfReader reader = new PdfReader(InPdfFile, "PDF".getBytes());
PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(newPath));
Image img = Image.getInstance(markImagePath);// 插入水印   
//设置图片水印的位置。
img.setAbsolutePosition(370, 780);
PdfContentByte under = stamp.getUnderContent(1);
under.addImage(img);
stamp.close();// 关闭          
File tempfile = new File(InPdfFile);
//删除原文件
if(tempfile.exists()) {
tempfile.delete();
}
cont.setAttributeValue("FULLPATH",newPath);
contBom.saveObject(cont);
BizObject attr = attrBom.createQuery("ID=:id").setParameter("id", cont.getAttribute("attribute_id").getString()).getSingleResult(true);
if(attr!=null){
attr.setAttributeValue("FULLPATH",newPath);
attrBom.saveObject(attr);
}
return newPath;
}
//公司盖章
public String compnySignIng(String contract_Id,JBOTransaction tx) throws Exception {
requestService = (HttpRequestAppService) factory.create(HttpRequestAppService.class, this.getConfigRequestUrl());
BizObjectManager contBom = JBOFactory.getBizObjectManager(LB_DOC_CONTRACT_LIST.CLASS_NAME, tx);
Map<String, ContractSignInfo> map = new HashMap<String, ContractSignInfo>();
ContractSignInfo con = null;
List<BizObject> bo = null;
BizObject ldclBo = null;
// 查询lb_doc_contract_list表
bo = contBom.createQuery("contract_id=:contractId and file_flag='yes' and (sendprocess='0' or sendprocess='2' ) ").setParameter("contractId", contract_Id).getResultList(true);
for (BizObject keys : bo) {
String info = keys.getAttribute("id").toString();
con = new ContractSignInfo();
con.setCustname(keys.getAttribute("DOC_NAME").toString());
con.setCustphone(keys.getAttribute("TELEPHONE").toString());
con.setFileid(keys.getAttribute("ATTRIBUTE_ID").toString());
con.setFilename(keys.getAttribute("FILENAME").toString());
// 获取生成文件路径
String makefullPath = keys.getAttribute("FULLPATH").toString();
File file = new File(makefullPath);
if (!file.exists()) {
throw new RuntimeException("要读取的文件不存在");
}
con.setInputfile(BASE64.encodeImgageToBase64(file));
map.put(info, con);
}
Map<String,String> fromCondtion = new HashMap<String, String>();
Map<String,String> otherProperty = new HashMap<String, String>();
Map<String, String> resultMap = requestService.compnySign(map);
if (!resultMap.containsKey("error")) {
for (String key : resultMap.keySet()) {
// 存储契约锁返回的合同id和合同文件id
if (key.indexOf("contract_") == -1) {
fromCondtion.clear();
otherProperty.clear();
// 契约锁合同号
String contractId = resultMap.get("contract_" + key);
String sendProcess = resultMap.get("contract_" + contractId);
ldclBo = contBom.createQuery("ATTRIBUTE_ID='" + key + "'").getSingleResult(true);
ldclBo.setAttributeValue("DOCUMENT_ID", resultMap.get(key));
ldclBo.setAttributeValue("SINGCONTRACT_ID", contractId);
ldclBo.setAttributeValue("SIGN_TYPE", "COMPLETE");//法人客户当盖完章改为完成状态
ldclBo.setAttributeValue("SENDPROCESS", sendProcess);
contBom.saveObject(ldclBo);
String contractDocId = ldclBo.getAttribute("id").toString();
fromCondtion.put("id", contractDocId);
otherProperty.put("SIGNPROCESS", "0");// 发起电子签约
otherProperty.put("CONTRACTDOCID", contractDocId);// 发起电子签约
otherProperty.put("INPUTTIME",DateAssistant.getTodayNow());
//拷表的方法
DataOperatorUtil.copySingleJBO(LB_DOC_CONTRACT_LIST.CLASS_NAME, fromCondtion, LB_CONTRACT_SIGN_LOG.CLASS_NAME, null,
otherProperty, tx);
}
}
downloadDoc(contract_Id,tx);
return "success";
} else {
Boolean flag = false;
String getMessage = resultMap.get("error");
logger.info("契约锁反馈的异常信息" + getMessage);
for (String key : resultMap.keySet()) {
// 存储契约锁返回的合同id和合同文件id
if (key.indexOf("contract_") == -1 && !"error".equals(key)) {
fromCondtion.clear();
otherProperty.clear();
// 契约锁合同号
String contractId = resultMap.get("contract_" + key);
String sendProcess = resultMap.get("contract_" + contractId);
ldclBo = contBom.createQuery("ATTRIBUTE_ID='" + key + "'").getSingleResult(true);
ldclBo.setAttributeValue("DOCUMENT_ID", resultMap.get(key));
ldclBo.setAttributeValue("SINGCONTRACT_ID", contractId);
ldclBo.setAttributeValue("SENDPROCESS", sendProcess);
if ("1".equals(sendProcess)) {
flag = true;
ldclBo.setAttributeValue("SIGN_TYPE", "SIGNING");
}else if("2".equals(sendProcess)){
ldclBo.setAttributeValue("MESSAGE",getMessage );
}
contBom.saveObject(ldclBo);
String contractDocId = ldclBo.getAttribute("id").toString();
fromCondtion.put("ID", contractDocId);
otherProperty.put("SIGNPROCESS", "0");//发起电子签约
otherProperty.put("CONTRACTDOCID",contractDocId);//发起电子签约
otherProperty.put("INPUTTIME",DateAssistant.getTodayNow());
DataOperatorUtil.copySingleJBO(LB_DOC_CONTRACT_LIST.CLASS_NAME, fromCondtion, LB_CONTRACT_SIGN_LOG.CLASS_NAME, null,
otherProperty, tx);
}
}
// 判断不同的异常反馈给前端
if (getMessage.indexOf("用户认证信息与合同签署方信息不匹配") != -1) {
getMessage = getMessage.substring((getMessage.indexOf("message")) + 10, (getMessage.indexOf("code")) - 3);
return flag + "@" + getMessage;
} else if (getMessage.indexOf("contractId不能为空") != -1) {
return flag + "@" + getMessage;
} else {
return flag + "@" + "error";
}
}
}
/**
* 根据document_id下载合同
*
* @param tx
* @return
* @throws Exception
* @throws Exception
* @throws MalformedURLException
*/
public String downloadDoc(String contract_id,JBOTransaction tx) throws MalformedURLException, Exception {
requestService = (HttpRequestAppService) factory.create(HttpRequestAppService.class, this.getConfigRequestUrl());
BizObjectManager contBom = JBOFactory.getBizObjectManager(LB_DOC_CONTRACT_LIST.CLASS_NAME, tx);
String sql = "";
sql = "contract_id=:contractid and file_flag='yes'";
try {
@SuppressWarnings("unchecked")
List<BizObject> bo = contBom.createQuery(sql).setParameter("contractid", contract_id).getResultList(true);
if (bo != null) {
Map<String, String> map = new HashMap<String, String>();
for (BizObject keys : bo) {
map.put(keys.getAttribute("DOCUMENT_ID").toString(), keys.getAttribute("FULLPATH").toString());
}
Map<String, String> result = requestService.downloadDoc(map);
if (!result.containsKey("error")) {
for (String contractId : map.keySet()) {
try {
if ("success".equals(result.get(contractId))) {
String fileString = result.get("file_" + contractId);
InputStream fileInput = BASE64.encodeFileToBase64(fileString);
OutputStream fileOut = new FileOutputStream(map.get(contractId));// TODO
byte[] buffByte = new byte[1024];
int size = 0;
while ((size = fileInput.read(buffByte)) != -1) {
fileOut.write(buffByte, 0, size);
}
fileInput.close();
fileOut.close();
} else if ("error".equals(result.get(contractId))) {
return "error";
}
} catch (Exception e) {
e.printStackTrace();
}
}
return "success";
} else {
return "error";
}
}
} catch (Exception e) {
return "error";
}
return "success";
}
@SuppressWarnings("deprecation")
public static String getConfigRequestUrl() throws Exception{
return Configure.getInstance().getConfigure("RequestHessionUrl");
}
public Map fileBase(String contractId){
Map<String,String> fileNameBase = new HashMap<String, String>();
try {
BizObjectManager contBom = JBOFactory.getBizObjectManager(LB_DOC_CONTRACT_LIST.CLASS_NAME);
BizObject cont = contBom.createQuery(" contract_id=:contractid and file_flag='yes' and (sendprocess='0' or sendprocess='2' ) ").setParameter("contractid", contractId).getSingleResult(false);
if(cont==null){
return fileNameBase;
}
String newPath = cont.getAttribute("fullpath").getString();
File file = new File(newPath);
if (!file.exists()) {
return fileNameBase;
}
// return BASE64.encodeImgageToBase64(file);
fileNameBase.put("fileName", newPath.substring(newPath.lastIndexOf("/")+1));
fileNameBase.put("outputFile", BASE64.encodeImgageToBase64(file));
} catch (JBOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return fileNameBase;
}
/**
* 北汽合同变更方法
* @throws Exception
*/
public void BqChangecontract(String contractId,JBOTransaction tx) throws Exception{
//删除之前生成的文件
BizObjectManager contBom = JBOFactory.getBizObjectManager(LB_DOC_CONTRACT_LIST.CLASS_NAME,tx);
List<BizObject> conts = contBom.createQuery(" contract_id=:contractid ").setParameter("contractid", contractId).getResultList(true);
for (BizObject cont : conts) {
cont.setAttributeValue("file_flag", "no");
contBom.saveObject(cont);
}
BizObjectManager lctBom = JBOFactory.getBizObjectManager(LB_CONTRACT_TEMPLATE.CLASS_NAME,tx);
List<BizObject> lcts = lctBom.createQuery(" contract_id=:contractid ").setParameter("contractid", contractId).getResultList(true);
for (BizObject lct : lcts) {
lctBom.deleteObject(lct);
}
}
}