Commit 19758794 authored by sherlock's avatar sherlock

Merge branch 'dev_oracle' of http://code.tech.tax.asia.pwcinternal.com/root/atms…

Merge branch 'dev_oracle' of http://code.tech.tax.asia.pwcinternal.com/root/atms into dev_oracle_sherlock

# Conflicts:
#	atms-dao/etc/generator-oracle/vatGeneratorConfig.xml
#	atms-invoice/pom.xml
#	atms-invoice/src/main/java/pwc/taxtech/invoice/input/InputInvoiceRepository.java
#	atms-web/src/main/webapp/bundles/app.js
#	atms-web/src/main/webapp/bundles/vat.js
parents 0b446440 3fc51e8f
......@@ -23,6 +23,7 @@
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>pwc.taxtech.atms</groupId>
<artifactId>atms-dao</artifactId>
......@@ -344,6 +345,24 @@
<artifactId>spring-data-commons</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>${activiti.version}</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring</artifactId>
<version>${activiti.version}</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-rest</artifactId>
<version>${activiti.version}</version>
</dependency>
</dependencies>
<profiles>
......@@ -395,6 +414,7 @@
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.sql</include>
<include>**/*.bpmn</include>
</includes>
<filtering>true</filtering><!-- replace variable attribute or not -->
</resource>
......
package pwc.taxtech.atms.controller;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import pwc.taxtech.atms.dto.approval.ApprovalDto;
import pwc.taxtech.atms.dto.approval.ApprovalTask;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping(value = "/api/v1/approval")
public class ApprovalController {
private static Logger logger = LoggerFactory.getLogger(ApprovalController.class);
@Autowired
RuntimeService runtimeService;
@Autowired
TaskService taskService;
@Autowired
RepositoryService repositoryService;
@ResponseBody
@RequestMapping(value = "/deploy", method = RequestMethod.POST)
public ResponseEntity deploy() {
repositoryService.createDeployment().addClasspathResource("bpmn/approval.bpmn").deploy();
return ResponseEntity.ok().build();
}
@ResponseBody
@RequestMapping(value = "/commit", method = RequestMethod.POST)
public ApprovalDto approval(@RequestBody ApprovalDto dto) {
ProcessInstance pi = runtimeService.startProcessInstanceByKey("approvalProcess");
dto.setInstaceId(pi.getId());
mocoInsert(dto);
return dto;
}
@ResponseBody
@RequestMapping(value = "/tasks/{assignee}")
public List<ApprovalTask> data(@PathVariable String assignee) {
List<Task> tasks = taskService.createTaskQuery().taskAssignee(assignee).list();
List<ApprovalTask> list = new ArrayList<>();
for (Task task : tasks) {
ApprovalTask t = new ApprovalTask();
list.add(t.copyfrom(task));
}
return list;
}
@ResponseBody
@RequestMapping(value = "/check/{taskId}")
public String check(@PathVariable String taskId, @RequestParam(required = false) Integer committed,
@RequestParam(required = false) Integer decide) {
Map<String, Object> map = new HashMap<>();
if (committed != null && (committed == 0 || committed == 1)) {
map.put("committed", committed);
taskService.complete(taskId, map);
if (committed == 1) mocoHasCommittedAndOver();
} else if (decide != null && (decide == 0 || decide == 1)) {
map.put("decide", decide);
taskService.complete(taskId, map);
if (decide == 1) mocoAggreAndOver();
else mocoDisAggreAndOver();
}
return taskId;
}
private void mocoHasCommitted() {
}
@RequestMapping(value = "/show/{procDefId}")//获取流程图
public void showImg(@PathVariable String procDefId, HttpServletResponse response) {
try {
ProcessDefinition pd = repositoryService.createProcessDefinitionQuery().processDefinitionId(procDefId).singleResult();
String diagramResourceName = pd.getDiagramResourceName();
InputStream pic = repositoryService.getResourceAsStream(pd.getDeploymentId(), diagramResourceName);
byte[] b = new byte[1024];
int len = -1;
while ((len = pic.read(b, 0, 1024)) != -1) {
response.getOutputStream().write(b, 0, len);
}
} catch (Exception e) {
e.printStackTrace();
}
}
@ResponseBody
@RequestMapping(value = "/showImg/{procDefId}/{executionId}")//获取流程坐标
public Rect showImg(@PathVariable String procDefId, @PathVariable String executionId) {
Rect rect = new Rect();
try {
repositoryService.getProcessDefinition(procDefId);
// ActivityImpl img = Workflow.getProcessMap(procDefId,executionId );
// rect.setX(img.getX());
// rect.setY(img.getY());
// rect.setWidth(img.getWidth());
// rect.setHeight(img.getHeight());
} catch (Exception e) {
e.printStackTrace();
}
return rect;
}
static class Rect {
String X;
String Y;
String width;
String height;
public String getX() {
return X;
}
public void setX(String x) {
X = x;
}
public String getY() {
return Y;
}
public void setY(String y) {
Y = y;
}
public String getWidth() {
return width;
}
public void setWidth(String width) {
this.width = width;
}
public String getHeight() {
return height;
}
public void setHeight(String height) {
this.height = height;
}
}
private void mocoDisAggreAndOver() {
logger.debug("------------------------update db -----------------------------------");
logger.debug("dis aggre");
logger.debug("------------------------updage db-----------------------------------");
}
private void mocoAggreAndOver() {
logger.debug("------------------------update db-----------------------------------");
logger.debug("aggree");
logger.debug("------------------------update db-----------------------------------");
}
private void mocoHasCommittedAndOver() {
logger.debug("-------------------------update db----------------------------------");
logger.debug("has committed");
logger.debug("-------------------------update db----------------------------------");
}
private void mocoInsert(ApprovalDto dto) {
logger.debug("-------------------------insert db----------------------------------");
logger.debug("save approval {}", dto.toString());
logger.debug("-------------------------insert db----------------------------------");
}
}
package pwc.taxtech.atms.dto.approval;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class ApprovalDto {
private String projectId;
private Long reportId;
private String periodDate;
private String instaceId;
private String status;//committed,agreed,disagreed
@Override
public String toString() {
return "ApprovalDto{" +
"projectId='" + projectId + '\'' +
", reportId=" + reportId +
", period=" + periodDate +
", instaceId='" + instaceId + '\'' +
", status='" + status + '\'' +
'}';
}
}
package pwc.taxtech.atms.dto.approval;
import lombok.Getter;
import lombok.Setter;
import org.activiti.engine.task.Task;
import pwc.taxtech.atms.controller.ApprovalController;
@Getter
@Setter
public class ApprovalTask {
private String taskId;
private String name;
private String assignee;
private String executionId;
private String processInstanceId;
private String processDefinitionId;
@Override
public String toString() {
return "ApprovalTask{" +
"taskId='" + taskId + '\'' +
", name='" + name + '\'' +
", assignee='" + assignee + '\'' +
", executionId='" + executionId + '\'' +
", processInstanceId='" + processInstanceId + '\'' +
", processDefinitionId='" + processDefinitionId + '\'' +
'}';
}
public ApprovalTask copyfrom(Task task) {
setTaskId(task.getId());
setName(task.getName());
setAssignee(task.getAssignee());
setExecutionId(task.getExecutionId());
setProcessInstanceId(task.getProcessInstanceId());
setProcessDefinitionId(task.getProcessDefinitionId());
return this;
}
}
package pwc.taxtech.atms.dto.vatdto;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class InputInvoice {
private String id;
private String fpdm;
private String fphm;
private String kprq;
private String gfsh;
private String gfmc;
private String gfdzdh;
private String gfyhzh;
private String xfsh;
private String xfmc;
private String xfdzdh;
private String xfyhzh;
private String jym;
private String fplx;
private String fplc;
private String jqbh;
private String hjje;
private String hjse;
private String jshj;
private String mwq;
private String kpr;
private String skr;
private String fhr;
private String bz;
private String pzh;
private String dzdh;
private String xtly;
private String fpzt;
private String cyzt;
private String rzzt;
private String rzsq;
private String rzsj;
private String rzjg;
private String rzjgms;
private String cjsj;
private String lcbh;
private String fpyx;
private String blyy;
private String lrrq;
private String companyid;
}
package pwc.taxtech.atms.dto.vatdto;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class OutputInvoice {
private String id;
private String fpqqlsh;
private String fpdm;
private String fphm;
private String kprq;
private String fplxdm;
private String ewm;
private String jqbh;
private String jym;
private String gfmc;
private String gfsh;
private String gfdzdh;
private String gfyhzh;
private String xfsh;
private String xfmc;
private String xfdzdh;
private String xfyhzh;
private String bz;
private String skr;
private String fhr;
private String kpr;
private String kddh;
private String kduuid;
private String fplx;
private String kpzt;
private String fpzt;
private String yfpdm;
private String yfphm;
private String gfgsbm;
private String xfgsbm;
private String spbh;
private String xtly;
private String cjsj;
private String hjje;
private String hjse;
private String jshj;
private String xxbbh;
private String dyzt;
private String gdjlh;
private String zkje;
private String zkse;
private String zkjshj;
private String slv;
private String qy;
private String jszt;
private String kdgs;
private String shzt;
private String thkpsq;
private String jsfj;
private String sqr;
private String bscdm;
private String bsc;
private String qydm;
private String sqbh;
private String htbh;
private String sqrq;
private String yzrq;
}
......@@ -438,7 +438,7 @@ public class UserServiceImpl extends AbstractService {
// api_host可以由atms-web端来赋值
token.setApi_host("NA");
token.setVat_api_host(apiUrl);
token.setTp_url("https://cnshaappuwv023:35001");
token.setTp_url(apiUrl);
token.setVersion("1.0" + ".0.0");
token.setUser_name(inputLoginName);
token.setLocal_name(inputLoginName);
......
......@@ -16,6 +16,7 @@
<!-- https://springcloud.cc/spring-security-zhcn.html -->
<intercept-url pattern="/api/v1/cache/getallcache" access="permitAll" />
<intercept-url pattern="/api/v1/user/login" access="permitAll" />
<intercept-url pattern="/api/v1/approval/**" access="permitAll" />
<intercept-url pattern="/api/**" access="authenticated" />
<intercept-url pattern="/**" access="permitAll" />
<headers>
......
......@@ -99,4 +99,34 @@
<property name="cacheManager" ref="cacheManagerFactory"/>
</bean>
<!-- atms activit for workflow-->
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
<property name="dataSource" ref="dataSource"/>
<property name="transactionManager" ref="transactionManager"/>
<property name="databaseSchemaUpdate" value="true"/>
<property name="jobExecutorActivate" value="true"/>
<!-- 以下2个是为了防止生成流程图片时出现乱码 -->
<property name="activityFontName" value="宋体"/>
<property name="labelFontName" value="宋体"/>
</bean>
<!-- 流程引擎 -->
<bean id="processEngine" class="org.activiti.spring.ProcessEngineFactoryBean">
<property name="processEngineConfiguration" ref="processEngineConfiguration"/>
</bean>
<!-- 流程服务 -->
<bean id="repositoryService" factory-bean="processEngine"
factory-method="getRepositoryService"/>
<bean id="runtimeService" factory-bean="processEngine"
factory-method="getRuntimeService"/>
<bean id="taskService" factory-bean="processEngine"
factory-method="getTaskService"/>
<bean id="historyService" factory-bean="processEngine"
factory-method="getHistoryService"/>
<bean id="managementService" factory-bean="processEngine"
factory-method="getManagementService"/>
<bean id="IdentityService" factory-bean="processEngine"
factory-method="getIdentityService"/>
</beans>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:tns="http://www.activiti.org/testm1539848247913" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" expressionLanguage="http://www.w3.org/1999/XPath" id="m1539848247913" name="" targetNamespace="http://www.activiti.org/testm1539848247913" typeLanguage="http://www.w3.org/2001/XMLSchema">
<process id="approvalProcess" isClosed="false" isExecutable="true" name="ApprovalProcess" processType="None">
<startEvent id="_2" name="StartEvent"/>
<userTask activiti:assignee="accountant" activiti:exclusive="true" id="_3" name="税务会计"/>
<sequenceFlow id="_4" sourceRef="_2" targetRef="_3"/>
<userTask activiti:assignee="manager" activiti:exclusive="true" id="_5" name="税务经理"/>
<endEvent id="_7" name="EndEvent"/>
<endEvent id="_9" name="EndEvent"/>
<exclusiveGateway gatewayDirection="Unspecified" id="_12" name="ExclusiveGateway"/>
<sequenceFlow id="_13" name="审核" sourceRef="_5" targetRef="_12"/>
<sequenceFlow id="_8" name="通过" sourceRef="_12" targetRef="_7">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${decide==1}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="_10" name="驳回" sourceRef="_12" targetRef="_9">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${decide==0}]]></conditionExpression>
</sequenceFlow>
<exclusiveGateway gatewayDirection="Unspecified" id="_11" name="ExclusiveGateway"/>
<sequenceFlow id="_14" name="提审" sourceRef="_3" targetRef="_11"/>
<sequenceFlow id="_15" name="未提交" sourceRef="_11" targetRef="_5">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${committed==0}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="_16" name="已提交" sourceRef="_11" targetRef="_9">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${committed==1}]]></conditionExpression>
</sequenceFlow>
</process>
<bpmndi:BPMNDiagram documentation="background=#FFFFFF;count=1;horizontalcount=1;orientation=0;width=842.4;height=1195.2;imageableWidth=832.4;imageableHeight=1185.2;imageableX=5.0;imageableY=5.0" id="Diagram-_1" name="New Diagram">
<bpmndi:BPMNPlane bpmnElement="approvalProcess">
<bpmndi:BPMNShape bpmnElement="_2" id="Shape-_2">
<dc:Bounds height="32.0" width="32.0" x="50.0" y="380.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="_3" id="Shape-_3">
<dc:Bounds height="55.0" width="85.0" x="190.0" y="370.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="_5" id="Shape-_5">
<dc:Bounds height="55.0" width="85.0" x="410.0" y="165.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="_7" id="Shape-_7">
<dc:Bounds height="32.0" width="32.0" x="765.0" y="105.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="_9" id="Shape-_9">
<dc:Bounds height="32.0" width="32.0" x="760.0" y="380.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="_12" id="Shape-_12" isMarkerVisible="false">
<dc:Bounds height="32.0" width="32.0" x="640.0" y="175.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape bpmnElement="_11" id="Shape-_11" isMarkerVisible="false">
<dc:Bounds height="32.0" width="32.0" x="440.0" y="380.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge bpmnElement="_13" id="BPMNEdge__13" sourceElement="_5" targetElement="_12">
<di:waypoint x="510.0" y="192.5"/>
<di:waypoint x="640.0" y="191.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="_15" id="BPMNEdge__15" sourceElement="_11" targetElement="_5">
<di:waypoint x="456.0" y="365.0"/>
<di:waypoint x="456.0" y="220.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="_14" id="BPMNEdge__14" sourceElement="_3" targetElement="_11">
<di:waypoint x="290.0" y="397.5"/>
<di:waypoint x="440.0" y="396.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="_16" id="BPMNEdge__16" sourceElement="_11" targetElement="_9">
<di:waypoint x="487.0" y="396.0"/>
<di:waypoint x="760.0" y="396.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="_4" id="BPMNEdge__4" sourceElement="_2" targetElement="_3">
<di:waypoint x="97.0" y="396.0"/>
<di:waypoint x="190.0" y="397.5"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="_8" id="BPMNEdge__8" sourceElement="_12" targetElement="_7">
<di:waypoint x="687.0" y="191.0"/>
<di:waypoint x="765.0" y="121.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge bpmnElement="_10" id="BPMNEdge__10" sourceElement="_12" targetElement="_9">
<di:waypoint x="687.0" y="191.0"/>
<di:waypoint x="760.0" y="396.0"/>
<bpmndi:BPMNLabel>
<dc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>
......@@ -8,6 +8,11 @@ jdbc2_user=${jdbc2_user}
jdbc2_password=${jdbc2_password}
jdbc2_admin_db=${jdbc2_admin_db}
workflow_jdbc_url=${workflow_jdbc_url}
workflow_jdbc_user=${workflow_jdbc_user}
workflow_jdbc_password=${workflow_jdbc_password}
workflow_jdbc_admin_db=${workflow_jdbc_admin_db}
jdbc_url_demo=${jdbc_url_demo}
mail_jdbc_url=${mail_jdbc_url}
......
......@@ -9,13 +9,18 @@ jdbc2_user=pwc_invoice
jdbc2_password=pwc_invoice
jdbc2_admin_db=pwc_invoice
workflow_jdbc_url=jdbc:oracle:thin:@10.158.230.144:11521:XE
workflow_jdbc_user=TAX_ADMIN
workflow_jdbc_password=taxadmin2018
workflow_jdbc_admin_db=tax_admin
jdbc_url_demo=jdbc:mysql://10.158.230.144:3306/demo_db_name?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
mail_jdbc_url=jdbc:sqlserver://192.168.1.102:1434;DatabaseName=MAILMaster
mail_jdbc_user=sa
mail_jdbc_password=atmsunittestSQL
web.url=http://localhost:8080
web.url=http://etms.longi-silicon.com:8080
#web.url=*
jwt.base64Secret=TXppQjFlZFBSbnJzMHc0Tg==
jwt.powerToken=xxxx
......@@ -34,4 +39,4 @@ max_file_length=104857600
distributed_id_datacenter=1
distributed_id_machine=1
api.url=http://localhost:8180
api.url=http://etms.longi-silicon.com:8180
rem see http://www.mybatis.org/generator/running/runningFromCmdLine.html
cd /d %~dp0
call java -classpath .;./* org.mybatis.generator.api.ShellRunner -configfile vatGeneratorConfig.xml -overwrite -verbose
call java -classpath .;./* org.mybatis.generator.api.ShellRunner -configfile vatGeneratorConfig.xml -overwrite -verbose -tables PERIOD_APPROVE
echo @@@@@@@@@@@ DONE @@@@@@@@@@@
pause
\ No newline at end of file
......@@ -125,7 +125,7 @@ public interface KeyValueConfigMapper extends MyMapper {
" KEY_VALUE_CONFIG.UPDATE_TIME AS updateTime, " +
" KEY_VALUE_CONFIG.DATA_SOURCE AS dataSource " +
" FROM " +
" TAX_ADMIN.KEY_VALUE_CONFIG " +
" KEY_VALUE_CONFIG " +
" ORDER BY " +
" KEY_VALUE_CONFIG.CREATE_TIME" +
"")
......
.*
rebel.xml
!.gitignore
!.mvn
/tmp
/temp
/target
/build
/logs
/bin
File deleted
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>atms</artifactId>
<groupId>pwc.taxtech.atms</groupId>
<version>0.1.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>atms-invoice</artifactId>
<properties>
<java.version>1.8</java.version>
<hibernate-tools-maven-plugin.version>0.1.0</hibernate-tools-maven-plugin.version>
<project.properties.encoding>UTF-8</project.properties.encoding>
<project.build.sourceEncoding>${project.properties.encoding}</project.build.sourceEncoding>
<project.properties.license.name>apache_v2</project.properties.license.name>
<project.properties.license.txtName>Apache License, Version 2.0</project.properties.license.txtName>
<project.properties.license.url>http://www.apache.org/licenses/LICENSE-2.0.txt</project.properties.license.url>
<java.version>1.8</java.version>
<junit.version>4.12</junit.version>
<log4j.version>2.8.2</log4j.version>
<lombok.version>1.16.18</lombok.version>
<slf4j.version>1.7.25</slf4j.version>
<commons-lang3.version>3.7</commons-lang3.version>
<commons-io.version>2.6</commons-io.version>
<commons-collections4.version>4.1</commons-collections4.version>
<commons-cli.version>1.4</commons-cli.version>
<maven-compiler-plugin.version>3.6.1</maven-compiler-plugin.version>
<maven-assembly-plugin.version>3.1.0</maven-assembly-plugin.version>
<maven-source-plugin.version>3.0.1</maven-source-plugin.version>
<maven-javadoc-plugin.version>2.10.4</maven-javadoc-plugin.version>
<maven-gpg-plugin.version>1.6</maven-gpg-plugin.version>
<scm.repository.owner>udamken</scm.repository.owner>
<scm.repository.name>mybatter</scm.repository.name>
<scm.repository.repo>${scm.repository.owner}/${scm.repository.name}</scm.repository.repo>
<scm.repository.url>https://www.github.com/${scm.repository.repo}</scm.repository.url>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>oracle</groupId>
<artifactId>ojdbc</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/ojdbc6.jar</systemPath>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.10</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>compile</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>23.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.40</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.0.3.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<repositories>
<repository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-releases</id>
<name>Spring Releases</name>
<url>http://repo.spring.io/libs-release</url>
</pluginRepository>
</pluginRepositories>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.0.3.RELEASE</version>
<configuration>
<mainClass>pwc.taxtech.invoice.Application</mainClass>
<addResources>true</addResources>
</configuration>
</plugin>
</plugins>
</build>
</project>
package pwc.taxtech.invoice;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
private static final Logger log = LoggerFactory.getLogger(Application.class);
public static void main(String[] args) {
SpringApplication.run(Application.class);
}
}
package pwc.taxtech.invoice.common;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class PagingDto {
private Integer TotalCount;
private Integer PageIndex;
private Integer PageSize;
public PagingDto(Integer totalCount, Integer pageIndex, Integer pageSize) {
TotalCount = totalCount;
PageIndex = pageIndex;
PageSize = pageSize;
}
}
package pwc.taxtech.invoice.common;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
public class PagingResultDto<T> {
@JSONField(name = "List")
private List<T> list;
@JSONField(name = "PageInfo")
private PagingDto pageInfo;
private T calculateData;
}
package pwc.taxtech.invoice.input;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Getter
@Setter
@Table(name = "INPUT_INVOICE")
public class InputInvoice {
@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.AUTO)
private String id;
@Column(name = "FPDM")
private String fpdm;
@Column(name = "FPHM")
private String fphm;
@Column(name = "KPRQ")
private String kprq;
@Column(name = "GFSH")
private String gfsh;
@Column(name = "GFMC")
private String gfmc;
@Column(name = "GFDZDH")
private String gfdzdh;
@Column(name = "GFYHZH")
private String gfyhzh;
@Column(name = "XFSH")
private String xfsh;
@Column(name = "XFMC")
private String xfmc;
@Column(name = "XFDZDH")
private String xfdzdh;
@Column(name = "XFYHZH")
private String xfyhzh;
@Column(name = "JYM")
private String jym;
@Column(name = "FPLX")
private String fplx;
@Column(name = "FPLC")
private String fplc;
@Column(name = "JQBH")
private String jqbh;
@Column(name = "HJJE")
private String hjje;
@Column(name = "HJSE")
private String hjse;
@Column(name = "JSHJ")
private String jshj;
@Column(name = "MWQ")
private String mwq;
@Column(name = "KPR")
private String kpr;
@Column(name = "SKR")
private String skr;
@Column(name = "FHR")
private String fhr;
@Column(name = "BZ")
private String bz;
@Column(name = "PZH")
private String pzh;
@Column(name = "DZDH")
private String dzdh;
@Column(name = "XTLY")
private String xtly;
@Column(name = "FPZT")
private String fpzt;
@Column(name = "CYZT")
private String cyzt;
@Column(name = "RZZT")
private String rzzt;
@Column(name = "RZSQ")
private String rzsq;
@Column(name = "RZSJ")
private String rzsj;
@Column(name = "RZJG")
private String rzjg;
@Column(name = "RZJGMS")
private String rzjgms;
@Column(name = "CJSJ")
private String cjsj;
@Column(name = "LCBH")
private String lcbh;
@Column(name = "FPYX")
private String fpyx;
@Column(name = "BLYY")
private String blyy;
@Column(name = "LRRQ")
private String lrrq;
@Column(name = "COMPANYID")
private String companyid;
}
package pwc.taxtech.invoice.input;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import pwc.taxtech.invoice.common.PagingDto;
import pwc.taxtech.invoice.common.PagingResultDto;
import static org.springframework.web.bind.annotation.RequestMethod.GET;
@RestController
@RequestMapping("/input_invoices")
public class InputInvoiceController {
@Autowired
InputInvoiceRepository repository;
@RequestMapping(method = GET)
public PagingResultDto<InputInvoice> getAll(@RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "20") int size) {
if (page < 0) page = 0;
Page<InputInvoice> pageResult = repository.findAll(PageRequest.of(page - 1, size));
PagingResultDto<InputInvoice> pageReturn = new PagingResultDto();
pageReturn.setList(pageResult.getContent());
pageReturn.setPageInfo(new PagingDto(pageResult.getTotalPages(), pageResult.getPageable().getPageNumber(), pageResult.getPageable().getPageSize()));
return pageReturn;
}
}
package pwc.taxtech.invoice.input;
import org.springframework.data.repository.PagingAndSortingRepository;
interface InputInvoiceRepository extends PagingAndSortingRepository<InputInvoice, String> {
}
package pwc.taxtech.invoice.output;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Getter
@Setter
@Table(name = "OUTPUT_INVOICE")
public class OutputInvoice {
@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.AUTO)
private String id;
@Column(name = "FPQQLSH")
private String fpqqlsh;
@Column(name = "FPDM")
private String fpdm;
@Column(name = "FPHM")
private String fphm;
@Column(name = "KPRQ")
private String kprq;
@Column(name = "FPLXDM")
private String fplxdm;
@Column(name = "EWM")
private String ewm;
@Column(name = "JQBH")
private String jqbh;
@Column(name = "JYM")
private String jym;
@Column(name = "GFMC")
private String gfmc;
@Column(name = "GFSH")
private String gfsh;
@Column(name = "GFDZDH")
private String gfdzdh;
@Column(name = "GFYHZH")
private String gfyhzh;
@Column(name = "XFSH")
private String xfsh;
@Column(name = "XFMC")
private String xfmc;
@Column(name = "XFDZDH")
private String xfdzdh;
@Column(name = "XFYHZH")
private String xfyhzh;
@Column(name = "BZ")
private String bz;
@Column(name = "SKR")
private String skr;
@Column(name = "FHR")
private String fhr;
@Column(name = "KPR")
private String kpr;
@Column(name = "KDDH")
private String kddh;
@Column(name = "KDUUID")
private String kduuid;
@Column(name = "FPLX")
private String fplx;
@Column(name = "KPZT")
private String kpzt;
@Column(name = "FPZT")
private String fpzt;
@Column(name = "YFPDM")
private String yfpdm;
@Column(name = "YFPHM")
private String yfphm;
@Column(name = "GFGSBM")
private String gfgsbm;
@Column(name = "XFGSBM")
private String xfgsbm;
@Column(name = "SPBH")
private String spbh;
@Column(name = "XTLY")
private String xtly;
@Column(name = "CJSJ")
private String cjsj;
@Column(name = "HJJE")
private String hjje;
@Column(name = "HJSE")
private String hjse;
@Column(name = "JSHJ")
private String jshj;
@Column(name = "XXBBH")
private String xxbbh;
@Column(name = "DYZT")
private String dyzt;
@Column(name = "GDJLH")
private String gdjlh;
@Column(name = "ZKJE")
private String zkje;
@Column(name = "ZKSE")
private String zkse;
@Column(name = "ZKJSHJ")
private String zkjshj;
@Column(name = "SLV")
private String slv;
@Column(name = "QY")
private String qy;
@Column(name = "JSZT")
private String jszt;
@Column(name = "KDGS")
private String kdgs;
@Column(name = "SHZT")
private String shzt;
@Column(name = "THKPSQ")
private String thkpsq;
@Column(name = "JSFJ")
private String jsfj;
@Column(name = "SQR")
private String sqr;
@Column(name = "BSCDM")
private String bscdm;
@Column(name = "BSC")
private String bsc;
@Column(name = "QYDM")
private String qydm;
@Column(name = "SQBH")
private String sqbh;
@Column(name = "HTBH")
private String htbh;
@Column(name = "SQRQ")
private String sqrq;
@Column(name = "YZRQ")
private String yzrq;
}
package pwc.taxtech.invoice.output;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import pwc.taxtech.invoice.common.PagingDto;
import pwc.taxtech.invoice.common.PagingResultDto;
import static org.springframework.web.bind.annotation.RequestMethod.GET;
@RestController
@RequestMapping("/output_invoices")
public class OutputInvoiceController {
@Autowired
OutputInvoiceRepository repository;
@RequestMapping(method = GET)
public PagingResultDto<OutputInvoice> getAll(@RequestParam(defaultValue = "0") int page, @RequestParam(defaultValue = "20") int size) {
if (page < 0) page = 0;
Page<OutputInvoice> pageResult = repository.findAll(PageRequest.of(page - 1, size));
PagingResultDto<OutputInvoice> pageReturn = new PagingResultDto();
pageReturn.setList(pageResult.getContent());
pageReturn.setPageInfo(new PagingDto(pageResult.getTotalPages(), pageResult.getPageable().getPageNumber(), pageResult.getPageable().getPageSize()));
return pageReturn;
}
}
package pwc.taxtech.invoice.output;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.stereotype.Repository;
interface OutputInvoiceRepository extends PagingAndSortingRepository<OutputInvoice, String> {
}
server.port: 8089
spring:
datasource:
url: jdbc:oracle:thin:@10.158.230.144:11521:XE
username: system
password: taxadmin2018
driver-class-name: oracle.jdbc.driver.OracleDriver
jpa:
show-sql: true
properties.hibernate:
default_schema: pwc_invoice
dialect: org.hibernate.dialect.Oracle10gDialect
hibernate:
ddl-auto: update
naming.physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
......@@ -7,4 +7,5 @@ rebel.xml
/target
/build
/logs
/src/main/webapp/node_modules
\ No newline at end of file
/src/main/webapp/node_modules
/src/main/webapp/bundles
\ No newline at end of file
#构建
#### 生产环境
`grunt build`
#### 开发环境
`grunt dev`
\ No newline at end of file
api.url=http://localhost:8180/
api.url=http://etms.longi-silicon.com:8180/
cookie.maxAgeSeconds=86400
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
/*!
*
* Spread.Sheets Library 11.0.0
*
* Copyright(c) GrapeCity, Inc. All rights reserved.
*
* Licensed under the SpreadJS Commercial License.
* us.sales@grapecity.com
* http://www.grapecity.com/en/licensing/grapecity/
*
*
*/
var GC=GC||{};GC.Spread=GC.Spread||{},GC.Spread.Sheets=GC.Spread.Sheets||{},GC.Spread.Sheets.DragMerge=function(a){var b={};function c(d){if(b[d])return b[d].exports;var e=b[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,c),e.loaded=!0,e.exports}return c.m=a,c.c=b,c.p="/assets/",c(0)}([function(a,b,c){!function(){"use strict";c(1),c(3),c(5)}()},function(a,b,c){!function(){"use strict";var b=c(2),d=b.GC$,e=b.Commands,f=e.ActionBase,g=e.h4,h="dragMerge",i=Math.max;function j(a,b){return a.Tq(b)}d.inherit(k,f);function k(a,b){var c=this;f.call(c),c.VQ=b,b.eja=b.eja||{},c.kj=a}d.extend(k.prototype,{canExecute:function(){var a,b=this.kj,c=this.VQ,d=j(b,c.oldSelection),e=j(b,c.newSelection);if(d.equals(e)){if(a=b.getSpan(d.row,d.col),a&&d.equals(a))return!1;if(1===d.rowCount&&1===d.colCount)return!1}return!0},canUndo:function(){var a=this.VQ,b=a.eja;return b.oldSelection},saveState:function(){var a=this,b=a.VQ,c=b.eja,d=a.kj;c.oldSelection=b.oldSelection,c.oldSpans=d.getSpans(b.oldSelection)},undo:function(){var a,b,c,d,e,f,g=this;return!!g.canUndo()&&(a=g.kj,b=g.VQ,c=b.eja,d=c.oldSelection,e=j(a,b.newSelection),f=c.oldSpans,g.Lz(a,!0),a.removeSpan(e.row,e.col),a.setSelection(d.row,d.col,d.rowCount||1,d.colCount||1),f.length>0&&f.forEach(function(b){a.addSpan(b.row,b.col,b.rowCount,b.colCount)}),g.Mz(a,!0),void 0)},execute:function(){var a,b,c,d,e=this,f=e.kj,g=e.VQ,h=g.oldSelection,j=g.newSelection,k=f.zl();return!!e.canExecute()&&(e.saveState(),e.Lz(f,!0),k.clear(h.row,h.col,h.rowCount,h.colCount),a=j.row,b=j.col,c=j.rowCount,d=j.colCount,f.addSpan(a,b,c,d),f.setSelection(a,b,i(c,1),i(d,1)),e.Mz(f,!0),void 0)}}),e[h]={canUndo:!0,execute:function(a,b,c){return g(a,k,b,c)}},e.dja=function(a){a.register(h,e[h])},a.exports=e}()},function(a,b){a.exports=GC.Spread.Sheets},function(a,b,c){!function(){"use strict";var a,b,d=c(2),e=d.GC$,f=c(1),g="white",h=d.Rm,i=c(4),j=i.pc;function k(a){var b=a.parent;return b&&b.options.backColor||g}e.extend(d.oJ.prototype,{cja:function(a){var b=this,c=b.kj,d=c.mm,e=c.Ix(),f=c.cm(d.gka(e));b.Wja(a,f)},Wja:function(a,b){var c,d,e,f,g,i,j,k,l=this,m=l.kj;a.save(),c=4,d=8,e=c/2,f=d/2,g=b.x,i=b.y,j=b.width,k=b.height,l.Xja=b,a.fillStyle=h.Om(m,m.getSelectionBorderColor()),a.beginPath(),a.rect(g+j-e,i+k/2-f,c,d),a.fill(),a.beginPath(),a.rect(g+j/2-f,i+k-e,d,c),a.fill(),a.restore()},hka:function(a,b){var c,d,e,f,g,i,l,m,n,o,p,q,r=a,s=r.kj,t=s.parent,u=s.mm,v=a.bm(),w=2,x=w/2;t&&t.options.allowUserDragMerge&&u.$ia&&(c=s.getActiveRowIndex(),d=s.getActiveColumnIndex(),e=s.getActualStyle(c,d),f=e&&e.backColor,g=k(s),i=j.ec(h.Om(s,f||g)),i.a*=.6/255,v.fillStyle=j.bc(i),v.strokeStyle=h.Om(s,s.getSelectionBorderColor()),v.lineWidth=2,v.beginPath(),l=t.Vv,m=s.cm(b),n=m.x,o=m.y,p=m.width,q=m.height,l>2007?(v.rect(n,o,p-x,q-x),v.strokeRect(n-1,o-1,p+1,q+1)):(v.rect(n+1,o+1,p-w-.5,q-w-.5),v.strokeRect(n-.5,o-.5,p,q)),v.fill(),v.restore(),r.Wja(v,m))}}),a={init:function(){this.options.allowUserDragMerge=!1,f.dja(this.commandManager())}},d.Workbook.$n("dragMerge",a),b={paintAdornment:function(a){var b=a.ctx,c=this,d=c.yl,e=c.Uq;c.parent&&c.parent.options.allowUserDragMerge&&1===e.length&&!c.CH&&d.cja(b)}},d.Worksheet.$n("dragMerge",b)}()},function(a,b){a.exports=GC.Spread.Common},function(a,b,c){!function(){"use strict";var a=c(2),b=a.GC$,d=null,e=void 0,f=Math.abs,g=a.Events,h=a.kf;function i(a,b){a.Wq(g.DragMerging,b)}function j(a,b){a.Wq(g.DragMerged,b)}b.extend(a.iI.prototype,{gka:function(a){var b=this,c=b.kj,d=c.zl(),e=a,f=d.find(a.row,a.col);return f&&f.containsRange(a)&&(e=f),e},Yia:function(a,b,c){var e,g,h,i,j,k=this.kj,l=k.parent,m=k.Ix(),n=k.yl,o=4,p=8,q=o/2,r=p/2;if(l&&l.options.allowUserDragMerge&&m&&!k.CH){if(e=n.Xja,g=e.x,h=e.y,i=e.width,j=e.height,f(g+i-b)<=q&&f(h+j/2-c)<=r)return{right:!0};if(f(g+i/2-b)<=r&&f(h+j-c)<=q)return{bottom:!0}}return d},Zia:function(a){var b,c,d,e,f,g,h,i,j=this;return j.eG=!0,j.OG=!0,j.$ia=!0,j.rG={KG:a.rowViewportIndex,MG:a.colViewportIndex,sG:a.hitTestType},j.fja=a.dragMergeInfo,b=j.kj,c=b.zl(),d=b.Ix(),j.ika=j.gka(d),e=b.Tq(j.ika),f=e.row,g=e.col,h=e.rowCount,i=e.colCount,c.hasPartSpans(f,g,h,i)?(j.OG=!1,void(j.$ia=!1)):(j._ja=b.getSpans(e),b.suspendPaint(),c.clear(f,g,h,i),b.resumePaint(),j.aka=e,j.bka(),j.jka(e),void j.qG())},_ia:function(){var a,b,c,d,e,f,g,h,i=this,j=i.kj,k=j.parent;return k&&!k.options.allowUserDragMerge?void i.aja():(a=i.fH(),b=i.gH(),c=i.aka||i.ika,d=j.Tq(c),void(a>=0&&b>=0&&(e=i.fja,f=i.qja(d,a,b,e),i.kka=f,g=f.rowCount,h=f.colCount,g>0&&h>0&&(i.bka(),i.jka(f),i.aka=f,i.NG()))))},bka:function(){var a,b=this.kj,c=this.aka;c&&(a=b.cm(c),a.x-=2,a.y-=2,a.width+=4,a.height+=4,b.yl.dm(a))},qja:function(a,b,c,d){var e,f,g,i,j,k,l,m,n=this,o=n.kj,p=o.zl(),q=a.row,r=a.col,s=a.rowCount,t=a.colCount;return d.right?(e=q,f=r,g=s,i=c-r+1,j=e,k=r+t,l=g,m=c-r-t+1):d.bottom&&(e=q,f=r,g=b-q+1,i=t,j=q+s,k=f,l=b-q-s+1,m=i),p.hasSpans(j,k,l,m)&&(e=q,f=r,g=s,i=t),h(e,f,g,i)},aja:function(){var a,b,c,d=this,f=d.kj,g=f.parent,h=d._ja,k=d.ika,l=d.kka||k;d.eG=!1,d.OG=!1,d.$ia=!1,d.kka=e,d._ja=e,d.aka=e,d.ika=e,d.RG(),g&&g.options.allowUserDragMerge&&(a=f.zl(),f.suspendPaint(),h.length>0&&h.forEach(function(b){a.addSpan(b)}),f.resumePaint(),b={sheetName:f.name(),sheet:f,mergeRange:l,cancel:!1},i(f,b),b.cancel||(c={cmd:"dragMerge",sheetName:f.name(),oldSelection:k,newSelection:l},f.wu().execute(c),j(f,{sheetName:f.name(),sheet:f,mergeRange:l})))},jka:function(a){var b=this,c=b.kj,d=c.yl,e=d.hka;e(d,a)}})}()}]);
\ No newline at end of file
/*!
*
* Spread.Sheets Library 11.0.0
*
* Copyright(c) GrapeCity, Inc. All rights reserved.
*
* Licensed under the SpreadJS Commercial License.
* us.sales@grapecity.com
* http://www.grapecity.com/en/licensing/grapecity/
*
*
*/
var GC=GC||{};GC.Spread=GC.Spread||{},GC.Spread.Sheets=GC.Spread.Sheets||{},GC.Spread.Sheets.Search=function(a){var b={};function c(d){if(b[d])return b[d].exports;var e=b[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,c),e.loaded=!0,e.exports}return c.m=a,c.c=b,c.p="/assets/",c(0)}([function(a,b,c){!function(){"use strict";a.exports=c(1)}()},function(a,b,c){!function(){"use strict";var b=c(2),d=c(3).q,e=null,f=Math.max,g="string",h={};function i(a,b,c){if(!a)return!1;if(a=""+a,b=""+b,0===c)return a.indexOf(b)>-1;var e=(2&c)>0,f=(1&c)>0,g=(4&c)>0,h;return g?(h=e?d.zb(b,!1,!0):d.ub(b),b=h?h:b,h=f?d.sb(b):d.qb(b),h.test(a)):(f&&(b=b.toLowerCase(),a=a.toLowerCase()),e?b===a:a.indexOf(b)>=0)}function j(a,b,c,d,f,g,h,i){var j=e,k=a+1,l=b+1;return 0===c?l>=0&&l<=i?j={r:a,c:l}:k>=0&&k<=g&&(j={r:k,c:d?h:0}):k<=g?j={r:k,c:b}:l<=i&&(j={r:d?f:0,c:l}),j}b.Worksheet.prototype.search=function(a){var c,d,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B;if(!a)return e;if(c=this,d=a.sheetArea,k=a.searchString,l=a.searchTarget,m=a.searchFlags,n=c.getRowCount(d),o=c.getColumnCount(d),p=new h.SearchResult,!k||0===l||n<=0&&o<=0)return p;for(q=f(0,a.rowStart),r=f(0,a.columnStart),s=a.rowEnd,t=a.columnEnd,u=(8&m)>0,(s<0||!u)&&(s=n-1),(t<0||!u)&&(t=o-1),v=a.findBeginRow,w=a.findBeginColumn,x=v<0?q:v,y=w<0?r:w;x>=0&&y>=0;){if(z=c.getCell(x,y,d),(1&l)>0&&(A=z.text(),""!==A&&i(A,k,m)&&(p.searchFoundFlag|=1,p.foundString=A)),b.X3&&(8&l)>0&&(A=z.formula(),typeof A===g&&""!==A&&i(A,k,m)&&(p.searchFoundFlag|=8,p.foundString=A)),(4&l)>0&&(A=z.tag(),typeof A===g&&""!==A&&i(A,k,m)&&(p.searchFoundFlag|=4,p.foundString=A)),0!==p.searchFoundFlag)return p.foundRowIndex=x,p.foundColumnIndex=y,p;if(B=j(x,y,a.searchOrder,u,q,s,r,t),!B)break;x=B.r,y=B.c}return p},b.Workbook.prototype.search=function(a){var b,c,d,f,g,i,j,k,l;if(!a)return e;if(b=this,c=0,d=b.getSheetCount(),f=new h.SearchResult,!a.searchString||a.searchTarget===c||d<=0)return f;if(a.startSheetIndex===-1&&(a.startSheetIndex=0),a.endSheetIndex===-1&&(a.endSheetIndex=d-1),k=a.startSheetIndex,l=a.endSheetIndex,l>=k&&0<=k&&k<d&&0<=l&&l<d)for(g=k;g<=l;g++)if(i=b.getSheet(g),j=i.search(a),j&&j.searchFoundFlag!==c)return j.foundSheetIndex=g,j;return f},h.SearchCondition=function(){return{startSheetIndex:-1,endSheetIndex:-1,searchString:e,searchFlags:0,searchOrder:0,searchTarget:1,sheetArea:3,rowStart:-1,columnStart:-1,rowEnd:-1,columnEnd:-1,findBeginRow:-1,findBeginColumn:-1}},h.SearchResult=function(){return{searchFoundFlag:0,foundSheetIndex:-1,foundRowIndex:-1,foundColumnIndex:-1,foundString:e}},h.SearchFlags={none:0,ignoreCase:1,exactMatch:2,useWildCards:4,blockRange:8},h.SearchOrder={zOrder:0,nOrder:1},h.SearchFoundFlags={none:0,cellText:1,cellTag:4,cellFormula:8},a.exports=h}()},function(a,b){a.exports=GC.Spread.Sheets},function(a,b){a.exports=GC.Spread.Common}]);
\ No newline at end of file
var constant = {};
constant.regesterInformation = {
active: false,
userKey: ""
active: true,
userKey: "etms.longi-silicon.com,164826354976336#A0KNoIsIiNzMjN7kDN5MjNygDN6EjI0ICZJJCL3V6csFmZ0IiczRmI1pjIs9WQisnOiQkIsISP3E5cvdzNjB5bkNUc9E7U8l6UolVZG3UcVNmcZBTYUZEWRFVSpdkT7gXSvUkVy8UdnpER6c4VZFVN7gTM584aQNjQldEMlhlTwBzZ856Qzl6MvUkbhVzQiojITJCL9EDMyYDO5cjM0IicfJye#4Xfd5nIzImNnJiOiMkIsISMx8idgMlSgQWYlJHcTJiOi8kI1tlOiQmcQJCLiAjM5IzMwAiMxATM8EDMyIiOiQncDJCLi46bj9ibvNWasl6ctk6Zu3GbuMXb4VmI0IyctRkIsICuPWOrFWuhIW+t5aui8SOuPWOrFWOkZmeicaei2++scWes7aOi2+uoviOqSW+kBmOuwaujNWurZauIsI9Y"
}
constant.guid = {
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment