use of com.itrus.portal.db.IdentityCard in project portal by ixinportal.
the class ReviewServiceImpl method agreeBillReview.
/**
* pfx证书,当不要审核的时候,自动生成审核记录
* @param bill
*/
public void agreeBillReview(Bill bill) {
if (null == bill) {
return;
}
// 填充营业执照运营时间
Enterprise enterpriseInBill = enterpriseService.getEnterpriseByBillId(bill.getId());
String soperationStart = null;
String soperationEnd = null;
List<BusinessLicense> oldBusinessLicenses = businessService.getBusinessLicensesNews(bill.getEnterprise());
if (null != oldBusinessLicenses && !oldBusinessLicenses.isEmpty()) {
for (BusinessLicense businessLicense1 : oldBusinessLicenses) {
if (null != businessLicense1.getOperationStart() || null != businessLicense1.getOperationEnd()) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
if (null != businessLicense1.getOperationStart()) {
soperationStart = format.format(businessLicense1.getOperationStart());
}
if (null != businessLicense1.getOperationEnd()) {
soperationEnd = format.format(businessLicense1.getOperationEnd());
}
break;
}
}
}
Product product = sqlSession.selectOne("com.itrus.portal.db.ProductMapper.selectByPrimaryKey", bill.getProduct());
DigitalCert cert = sqlSession.selectOne("com.itrus.portal.db.DigitalCertMapper.selectByPrimaryKey", product.getCert());
Certification certification = sqlSession.selectOne("com.itrus.portal.db.CertificationMapper.selectByPrimaryKey", product.getAuthentication());
Project project = billService.getProjectByBillId(bill.getId());
BusinessLicense businessLicense = businessService.getBusinessByBillId(bill.getId(), null);
OrgCode orgCode = orgCodeService.getOrgCodeByBillId(bill.getId(), null);
TaxRegisterCert taxregisterCert = taxCertService.getTaxRegisterCertByBillId(bill.getId(), null);
IdentityCard identityCard = identityCardService.getIdentityCardByBillId(bill.getId(), null);
Agent agent = agentService.getAgentByBillId(bill.getId(), null);
Proxy proxy = proxyService.getProxyByBillId(bill.getId());
// 更新管理员提交的认证项资料信息
DefaultTransactionDefinition def = new DefaultTransactionDefinition();
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
TransactionStatus status = transactionManager.getTransaction(def);
try {
Long businessId = null;
Long orgCodeId = null;
Long taxregisterId = null;
Long identityCardId = null;
Long agentId = null;
Long proxyId = null;
// 更新营业执照信息
if (null != businessLicense && null != businessLicense.getId()) {
businessLicense = businessService.updateBusinessLicense(soperationStart, soperationEnd, businessLicense, ComNames.ITEM_STATUS_2, bill.getEnterprise(), bill.getId(), bill.getUniqueId(), null);
businessId = businessLicense.getId();
}
// 更新组织机构代码
if (null != orgCode && null != orgCode.getId()) {
orgCode = orgCodeService.updateOrgCode(orgCode, ComNames.ITEM_STATUS_2, bill.getEnterprise(), bill.getId(), bill.getUniqueId(), null);
orgCodeId = orgCode.getId();
}
// 更新税务登记
if (null != taxregisterCert && null != taxregisterCert.getId()) {
taxregisterCert = taxCertService.updateTaxRegisterCert(taxregisterCert, ComNames.ITEM_STATUS_2, bill.getEnterprise(), bill.getId(), bill.getUniqueId(), null);
taxregisterId = taxregisterCert.getId();
}
// 更新法定代表人
if (null != identityCard && null != identityCard.getId()) {
identityCard = identityCardService.updateIdentityCard(identityCard, ComNames.ITEM_STATUS_2, bill.getEnterprise(), bill.getId(), bill.getUniqueId(), null);
identityCardId = identityCard.getId();
}
// 更新代理人
if (null != agent && null != agent.getId()) {
agent = agentService.updateAgent(agent, ComNames.ITEM_STATUS_2, bill.getEnterprise(), bill.getId(), bill.getUniqueId(), null);
agentId = agent.getId();
}
// 更新授权书
if (null != proxy && null != proxy.getId()) {
proxy = proxyService.updateProxy(proxy, ComNames.ITEM_STATUS_2, bill.getEnterprise(), bill.getId(), bill.getUniqueId(), null, project);
proxyId = proxy.getId();
}
// 设置第一个admin账号
AdminExample adminExample = new AdminExample();
adminExample.setOrderByClause("create_time ASC");
List<Admin> admins = sqlSession.selectList("com.itrus.portal.db.AdminMapper.selectByExample", adminExample);
// 更新企业信息
Enterprise enterprise = enterpriseService.updateEnterprise(bill.getEnterprise(), certification.getId(), businessId, orgCodeId, taxregisterId, identityCardId, agentId);
// 生成认证记录
reviewLogService.saveReviewLog(2, admins.get(0).getId(), 1, null, bill.getEnterprise(), bill.getId(), bill.getUniqueId(), businessId, orgCodeId, taxregisterId, identityCardId, agentId, proxyId);
bill.setCheckTime(new Date());
sqlSession.update("com.itrus.portal.db.BillMapper.updateByPrimaryKey", bill);
transactionManager.commit(status);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (!status.isCompleted())
transactionManager.rollback(status);
}
}
use of com.itrus.portal.db.IdentityCard in project portal by ixinportal.
the class SubmitReviewTask method query.
/**
* 查询送审
*/
public void query() {
if (!isRun()) {
return;
}
// 获取第三方鉴证配置信息
AuditSystemConfig auditSystemConfig = auditSystemConfigService.getAuditSystemConfig(new AuditSystemConfigExample());
// 未配置第三方鉴证信息、未开启查询送审、未配置查询送审时间间隔,直接返回
if (null == auditSystemConfig || !auditSystemConfig.getIsQuery() || null == auditSystemConfig.getQueryInterval()) {
log.debug("未配置第三方鉴证信息、未开启查询送审、未配置查询送审时间间隔--返回");
return;
}
// 上次查询送审时间为空,或者上次查询送审时间大于当前时间,则重新设置上次查询送审时间为当前时间的毫秒数
if (null == auditSystemConfig.getQueryStartTime() || auditSystemConfig.getQueryStartTime() > System.currentTimeMillis()) {
auditSystemConfig.setQueryStartTime(System.currentTimeMillis());
auditSystemConfigService.updateAuditSystemConfig(auditSystemConfig);
}
// 判断是否在查询送审的时间间隔内(当前时间小于 上次查询送审时间加上送审时间间隔)
if (System.currentTimeMillis() < auditSystemConfig.getQueryStartTime() + (auditSystemConfig.getQueryInterval() * 1000)) {
log.debug("不在查询送审时间内");
return;
}
// 设置本次送审时间
auditSystemConfig.setQueryStartTime(System.currentTimeMillis());
auditSystemConfigService.updateAuditSystemConfig(auditSystemConfig);
// TransactionStatus s = null;
try {
// 获取送审中的订单
Map<Long, List<Bill>> billListMap = submitReviewService.getQueryBill(submitReviewService.getAuditProduct());
// 根据产品来提交信息
Product product = null;
Enterprise ent = null;
JSONObject jsonMap = null;
JSONObject data = null;
BusinessLicense bl = null;
OrgCode oc = null;
TaxRegisterCert trc = null;
IdentityCard ic = null;
Agent at = null;
Proxy p = null;
Product product1 = null;
Product product2 = null;
Product product3 = null;
int count;
int reject;
for (Long productId : billListMap.keySet()) {
List<Bill> billList = billListMap.get(productId);
product = sqlSession.selectOne("com.itrus.portal.db.ProductMapper.selectByPrimaryKey", productId);
DigitalCert cert1 = null;
DigitalCert cert2 = null;
DigitalCert cert3 = null;
if (null != product.getIsCombined() && product.getIsCombined() == 1) {
if (null != product.getCombinedId()) {
String[] comb = product.getCombinedId().split(",");
product1 = sqlSession.selectOne("com.itrus.portal.db.ProductMapper.selectByPrimaryKey", Long.parseLong(comb[0]));
product2 = sqlSession.selectOne("com.itrus.portal.db.ProductMapper.selectByPrimaryKey", Long.parseLong(comb[1]));
if (comb.length == 3) {
product3 = sqlSession.selectOne("com.itrus.portal.db.ProductMapper.selectByPrimaryKey", Long.parseLong(comb[2]));
}
}
if (null != product1 && null != product1.getCert()) {
// 产品关联的数字证书
cert1 = sqlSession.selectOne("com.itrus.portal.db.DigitalCertMapper.selectByPrimaryKey", product1.getCert());
}
if (null != product2 && null != product2.getCert()) {
// 产品关联的数字证书
cert2 = sqlSession.selectOne("com.itrus.portal.db.DigitalCertMapper.selectByPrimaryKey", product2.getCert());
}
if (null != product3 && null != product3.getCert()) {
// 产品关联的数字证书
cert3 = sqlSession.selectOne("com.itrus.portal.db.DigitalCertMapper.selectByPrimaryKey", product3.getCert());
}
}
DigitalCert cert = sqlSession.selectOne("com.itrus.portal.db.DigitalCertMapper.selectByPrimaryKey", product.getCert());
count = 0;
reject = 0;
for (Bill bill : billList) {
ent = sqlSession.selectOne("com.itrus.portal.db.EnterpriseMapper.selectByPrimaryKey", bill.getEnterprise());
if (null == jsonMap) {
jsonMap = new JSONObject();
}
jsonMap.put("appId", product.getAppId());
jsonMap.put("appsecret", product.getAppsecret());
// 待查询的记录id
jsonMap.put("dataid", bill.getDataId());
String result = RequestUtils.post(auditSystemConfig.getAuditSystemUrl() + queryUrl, jsonMap.toString(), product.getAppsecret());
// log.info(result);
data = JSON.parseObject(result);
if (data.getInteger("status") != 200) {
continue;
}
data = data.getJSONObject("result");
// 将返回信息同步至订单状态
// 0是未通过,1是通过,2是审核中
int status = data.getInteger("auditstatus");
// data.getString("auditmessage");
if (status == 2 || status == 1003) {
continue;
}
// DefaultTransactionDefinition def = new
// DefaultTransactionDefinition();
// def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
// s = transactionManager.getTransaction(def);
String reason = data.getString("auditresult");
bill.setBillStatus(ComNames.BILL_STATUS_4);
bill.setCheckTime(new Date(data.getLong("auditdate")));
bill.setCancelReason(reason);
bl = businessService.getBusinessByBillId(bill.getId(), null);
oc = orgCodeService.getOrgCodeByBillId(bill.getId(), null);
trc = taxCertService.getTaxRegisterCertByBillId(bill.getId(), null);
ic = identityCardService.getIdentityCardByBillId(bill.getId(), null);
at = agentService.getAgentByBillId(bill.getId(), null);
// 默认未审核
Integer itemStatus = 1;
JsonNode respNode = jsonTool.readTree(result);
if (status == 1) {
if (respNode.get("source") != null) {
ent.setInfo(respNode.get("source").getTextValue().getBytes());
}
bill.setBillStatus(ComNames.BILL_STATUS_5);
if (bill.getOldUserCert() != null) {
bill.setBillStatus(ComNames.BILL_STATUS_12);
}
// 数字证书操作方式为用户下载(2)的,订单状态设置为待下载
if (null != cert && null != cert.getInitBuy() && "2".equals(cert.getInitBuy())) {
bill.setBillStatus(ComNames.BILL_STATUS_13);
}
// 当产品没有配置有数字证书的时候
if (null == cert && null == cert1 && null == cert2 && null == cert3) {
// 根据订单判断订单是否需要开票:0标识不需要开票,1需要开纸质发票,2需要开电子发票
int type = billService.getBillInvoiceType(bill);
switch(type) {
case 0:
bill.setBillStatus(ComNames.BILL_STATUS_8);
break;
case 1:
if (null != bill.getIsInvoiced() && bill.getIsInvoiced().equals(1)) {
bill.setBillStatus(ComNames.BILL_STATUS_7);
} else {
bill.setBillStatus(ComNames.BILL_STATUS_6);
}
break;
case 2:
if (null != bill.getIsInvoiced() && bill.getIsInvoiced().equals(1)) {
bill.setBillStatus(ComNames.BILL_STATUS_8);
} else {
bill.setBillStatus(ComNames.BILL_STATUS_6);
}
break;
default:
break;
}
}
ent.setAuthenticationLevel(product.getAuthentication());
ent.setReviewTime(new Date());
// 设置状态
itemStatus = 2;
count++;
} else if (status == 0) {
// 审核拒绝
itemStatus = 3;
// 发送短信
if (reviewService.sendSmsBySHJJ(bill.getId())) {
bill.setIsSms(true);
bill.setSendTime(new Date());
}
reject++;
}
// 更新认证项
if (null != bl) {
bl.setItemStatus(itemStatus);
reviewService.saveBl(bl, respNode.get("source"));
ent.setHasBl(bl.getId());
if (status == 1 && respNode.get("source") == null) {
// 通过 无值
String pid = systemConfigService.getReviewProjectId();
if (null != pid && Long.valueOf(pid) == bill.getProject()) {
// 用友
bill.setBillStatus(ComNames.BILL_STATUS_10);
LogUtil.syslog(this.sqlSession, "查询送审", "错误:" + bill.getBillId() + respNode.toString());
}
}
}
if (null != oc) {
oc.setItemStatus(itemStatus);
sqlSession.update("com.itrus.portal.db.OrgCodeMapper.updateByPrimaryKeySelective", oc);
ent.setHasOrgCode(oc.getId());
}
if (null != trc) {
trc.setItemStatus(itemStatus);
sqlSession.update("com.itrus.portal.db.TaxRegisterCertMapper.updateByPrimaryKeySelective", trc);
ent.setHasTaxCert(trc.getId());
}
if (null != ic) {
ic.setItemStatus(itemStatus);
sqlSession.update("com.itrus.portal.db.IdentityCardMapper.updateByPrimaryKeySelective", ic);
ent.setHasIdCard(ic.getId());
}
if (null != at) {
at.setItemStatus(itemStatus);
sqlSession.update("com.itrus.portal.db.AgentMapper.updateByPrimaryKeySelective", at);
ent.setHasAgent(at.getId());
}
// 更新企业
sqlSession.update("com.itrus.portal.db.EnterpriseMapper.updateByPrimaryKeyWithBLOBs", ent);
p = proxyService.getProxyByBillId(bill.getId());
if (p != null) {
p.setItemStatus(2);
sqlSession.update("com.itrus.portal.db.ProxyMapper.updateByPrimaryKeySelective", p);
}
sqlSession.update("com.itrus.portal.db.BillMapper.updateByPrimaryKeySelective", bill);
reviewLogService.saveReviewLog(1, null, status == 1 ? 1 : 2, reason, ent.getId(), bill.getId(), bill.getUniqueId(), bl == null ? null : bl.getId(), oc == null ? null : oc.getId(), trc == null ? null : trc.getId(), ic == null ? null : ic.getId(), at == null ? null : at.getId(), p == null ? null : p.getId());
// transactionManager.commit(s);
}
LogUtil.syslog(sqlSession, "批量查询送审结果", "产品名称:" + product.getName() + ",订单" + billList.size() + "条,审核通过" + count + "条,审核拒绝" + reject + "条");
}
log.debug("查询送审结果结束");
} catch (Exception e) {
log.error("ERRORLOG查询送审 {}", e.getMessage());
e.printStackTrace();
return;
}
// finally{
// if (s != null && !s.isCompleted()) {
// transactionManager.rollback(s);
// }
// }
}
use of com.itrus.portal.db.IdentityCard in project portal by ixinportal.
the class UIDInfoUtils method getUidInfo.
/**
* 获取指定表中指定记录的指定属性值
*
* @param billId
* 订单id
* @param fields
* 表名.属性名(businessLicense.enterpriseName)
* @return 未找到返回null
*/
public String getUidInfo(Long billId, String fields) {
// str[0]表名,str[1]字段名
String[] strs = fields.split("\\.");
BusinessLicense businessLicense = null;
OrgCode orgCode = null;
TaxRegisterCert taxRegisterCert = null;
IdentityCard identityCard = null;
UserInfo userInfo = null;
Enterprise enterprise = null;
switch(strs[0]) {
case "businessLicense":
businessLicense = blCache.get(billId);
if (null == businessLicense) {
businessLicense = businessService.getBusinessByBillId(billId, null);
blCache.put(billId, businessLicense);
}
break;
case "orgCode":
orgCode = ocCache.get(billId);
if (null == orgCode) {
orgCode = orgCodeService.getOrgCodeByBillId(billId, null);
ocCache.put(billId, orgCode);
}
break;
case "taxRegisterCert":
taxRegisterCert = trcCache.get(billId);
if (null == taxRegisterCert) {
taxRegisterCert = taxCertService.getTaxRegisterCertByBillId(billId, null);
trcCache.put(billId, taxRegisterCert);
}
break;
case "identityCard":
identityCard = icCache.get(billId);
if (null == identityCard) {
identityCard = identityCardService.getIdentityCardByBillId(billId, null);
icCache.put(billId, identityCard);
}
break;
case "userInfo":
userInfo = uiCache.get(billId);
if (null == userInfo) {
userInfo = userInfoService.getUserInfoByBillId(billId);
uiCache.put(billId, userInfo);
}
break;
case "enterprise":
enterprise = eCache.get(billId);
if (null == enterprise) {
enterprise = enterpriseService.getEnterpriseByBillId(billId);
eCache.put(billId, enterprise);
}
break;
default:
return null;
}
if (null != businessLicense) {
return getBlFieldValue(businessLicense, strs[1]);
}
if (null != orgCode) {
return getOcFieldValue(orgCode, strs[1]);
}
if (null != taxRegisterCert) {
return getTcrFieldValue(taxRegisterCert, strs[1]);
}
if (null != identityCard) {
return getIcFieldValue(identityCard, strs[1]);
}
if (null != userInfo) {
return getUiFieldValue(userInfo, strs[1]);
}
if (null != enterprise) {
return getEFieldValue(enterprise, strs[1]);
}
return null;
}
Aggregations