ecology_maven/com/api/aiyh_kafang/dao/InvoiceMapping.java

103 lines
4.0 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.api.aiyh_kafang.dao;
import aiyh.utils.Util;
import aiyh.utils.sqlUtil.sqlResult.impl.PrepSqlResultImpl;
import aiyh.utils.sqlUtil.whereUtil.Where;
import aiyh.utils.zwl.common.ToolUtil;
import com.api.aiyh_kafang.entity.UfInvoiceConfigDTO;
import weaver.conn.RecordSet;
import weaver.workflow.workflow.WorkflowVersion;
import java.util.List;
import java.util.Map;
/**
* @author EBU7-dev1-ayh
* @create 2021/11/9 0009 14:38
*/
public class InvoiceMapping {
private RecordSet rs = new RecordSet();
private ToolUtil toolUtil = new ToolUtil();
private final String ModeTable = "uf_fpyzjb";
private final String ModeDetailTable = "uf_fpyzjb_dt1";
public UfInvoiceConfigDTO getConfigInfo(String workflowId) {
String versionStringByWfid = WorkflowVersion.getVersionStringByWfid(workflowId);
String query = "select ic.id,ic.invoice_browse,ic.workflow_nodes,ic.workflow_type, " +
"dtv.tablename invoice_detail_table,ftv.fieldname invoice_field,ftv1.fieldname invoice_price " +
"from uf_invoice_config ic " +
"left join workflow_detail_table_view dtv on ic.invoice_detail_table = dtv.id " +
"left join workflow_field_table_view ftv on ic.invoice_field = ftv.id " +
"left join workflow_field_table_view ftv1 on ic.invoice_price = ftv1.id " +
" where workflow_type in (" + workflowId + " )";
rs.executeQuery(query);
UfInvoiceConfigDTO ufInvoiceConfigDTO = Util.recordeSet2Entity(rs, UfInvoiceConfigDTO.class, true);
if (ufInvoiceConfigDTO != null) {
ufInvoiceConfigDTO.setWorkflowType(versionStringByWfid);
}
return ufInvoiceConfigDTO;
}
public void saveInvoiceInfo(int dataId, String tableName, String requestId) {
// 主表数据
Map<String, Object> update = Util.createUtilHashMap()
.uPut("lc", requestId)
.uPut("sm", "发票扫描自动添加实体发票信息!");
Where where = Util.createPrepWhereImpl().whereAnd("id").whereEqual(dataId);
PrepSqlResultImpl sqlResult = Util.createSqlBuilder().updateSql(tableName, update, where);
toolUtil.writeErrorLog("SQL" + sqlResult.getSqlStr() + " ---->参数:" + sqlResult.getArgs());
rs.executeUpdate(sqlResult.getSqlStr(), sqlResult.getArgs());
}
public void saveInvoiceDetail(Map<String, Object> insert, String modeTable) {
PrepSqlResultImpl sqlResult = Util.createSqlBuilder().insertSql(modeTable, insert);
toolUtil.writeErrorLog("SQL" + sqlResult.getSqlStr() + " ---->参数:" + sqlResult.getArgs());
rs.executeUpdate(sqlResult.getSqlStr(), sqlResult.getArgs());
}
public String getMainId(String requestId) {
String query = "select * from uf_fpyzjb where lc = ?";
rs.executeQuery(query, requestId);
rs.next();
return rs.getString("id");
}
public List<Map<String, Object>> selectModeInfo(String mainId) {
RecordSet rs = new RecordSet();
String query = "select * from " + ModeDetailTable + " where mainid = ?";
rs.executeQuery(query, mainId);
return Util.recordSet2MapList(rs);
}
public List<Map<String, Object>> selectWorkflowData(String workflowId, String requestId, UfInvoiceConfigDTO configInfo) {
// 根据流程id查询流程主表
String mainTable = Util.getMainTable(workflowId);
String query = "select * from " + mainTable + " where requestid = ?";
rs.executeQuery(query, requestId);
rs.next();
String mainId = rs.getString("id");
// 查询明细表数据
RecordSet rs = new RecordSet();
query = "select * from " + configInfo.getInvoiceDetailTable() + " where mainid = ?";
rs.executeQuery(query, mainId);
return Util.recordSet2MapList(rs);
}
public String getWorkflowCode(String workflowCodeId, String invoiceTable) {
String query = "select * from " + invoiceTable + " where id = ?";
rs.executeQuery(query, workflowCodeId);
if (rs.next()) {
return rs.getString("invoicenumber");
} else {
throw new RuntimeException("发票不存在!");
}
}
public boolean selectExist(String main, String number) {
rs.executeQuery("select * from " + ModeDetailTable + " where mainid = ? and fphm2 = ?",main,number);
return rs.next();
}
}