作者 朱兆平

init

正在显示 31 个修改的文件 包含 241 行增加2458 行删除
@@ -209,7 +209,7 @@ @@ -209,7 +209,7 @@
209 <springProfile name="dev"> 209 <springProfile name="dev">
210 <logger name="org.springframework" level="info"/> 210 <logger name="org.springframework" level="info"/>
211 <logger name="org.apache.tomcat" level="info" /> 211 <logger name="org.apache.tomcat" level="info" />
212 - <logger name="com.sunyo.customer.order.activity.dao" level="DEBUG" /> 212 + <logger name="com.sunyo.energy.location.dao" level="DEBUG" />
213 <root level="info"> 213 <root level="info">
214 <appender-ref ref="CONSOLE" /> 214 <appender-ref ref="CONSOLE" />
215 <appender-ref ref="TRACE_FILE" /> 215 <appender-ref ref="TRACE_FILE" />
@@ -223,7 +223,7 @@ @@ -223,7 +223,7 @@
223 <!--生产环境:输出到文件--> 223 <!--生产环境:输出到文件-->
224 <springProfile name="pro"> 224 <springProfile name="pro">
225 <logger name="org.springframework.boot" level="INFO"/> 225 <logger name="org.springframework.boot" level="INFO"/>
226 - <logger name="com.sunyo.customer.order.activity.dao" level="DEBUG" /> 226 + <logger name="com.sunyo.energy.location.dao" level="DEBUG" />
227 <root level="info"> 227 <root level="info">
228 <appender-ref ref="CONSOLE" /> 228 <appender-ref ref="CONSOLE" />
229 <appender-ref ref="DEBUG_FILE" /> 229 <appender-ref ref="DEBUG_FILE" />
@@ -8,8 +8,8 @@ @@ -8,8 +8,8 @@
8 <version>2.2.0.BUILD-SNAPSHOT</version> 8 <version>2.2.0.BUILD-SNAPSHOT</version>
9 <relativePath/> <!-- lookup parent from repository --> 9 <relativePath/> <!-- lookup parent from repository -->
10 </parent> 10 </parent>
11 - <groupId>com.sunyo.customer</groupId>  
12 - <artifactId>order</artifactId> 11 + <groupId>com.sunyo.energy</groupId>
  12 + <artifactId>location</artifactId>
13 <version>0.0.1-SNAPSHOT</version> 13 <version>0.0.1-SNAPSHOT</version>
14 <name>order</name> 14 <name>order</name>
15 <description>工单系统</description> 15 <description>工单系统</description>
@@ -89,11 +89,6 @@ @@ -89,11 +89,6 @@
89 <!--<artifactId>jackson-core</artifactId>--> 89 <!--<artifactId>jackson-core</artifactId>-->
90 <!--<version>2.9.5</version>--> 90 <!--<version>2.9.5</version>-->
91 <!--</dependency>--> 91 <!--</dependency>-->
92 - <dependency>  
93 - <groupId>org.activiti</groupId>  
94 - <artifactId>activiti-spring-boot-starter-basic</artifactId>  
95 - <version>6.0.0</version>  
96 - </dependency>  
97 <!--集成swagger2,下面两个spring的配置解决springboot包 与swagger2的包冲突问题,生产部署的时候记得要去掉此swagger2的配置,开发环境开启--> 92 <!--集成swagger2,下面两个spring的配置解决springboot包 与swagger2的包冲突问题,生产部署的时候记得要去掉此swagger2的配置,开发环境开启-->
98 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui --> 93 <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
99 <dependency> 94 <dependency>
1 -package com.sunyo.customer.order.activity.controller;  
2 -  
3 -  
4 -import org.springframework.web.bind.annotation.RequestMapping;  
5 -import org.springframework.web.bind.annotation.RequestMethod;  
6 -import org.springframework.web.bind.annotation.RestController;  
7 -  
8 -@RestController  
9 -@RequestMapping("/activity")  
10 -public interface ActivityConsumerController {  
11 - /**  
12 - * 流程demo  
13 - * @return  
14 - */  
15 - @RequestMapping(value="/startActivityDemo",method= RequestMethod.GET)  
16 - public boolean startActivityDemo();  
17 -  
18 -}  
1 -package com.sunyo.customer.order.activity.controller;  
2 -  
3 -import com.github.pagehelper.Page;  
4 -import com.github.pagehelper.PageHelper;  
5 -import com.github.pagehelper.PageInfo;  
6 -import com.sunyo.customer.order.activity.controller.response.ResultJson;  
7 -import com.sunyo.customer.order.activity.dao.JOBMapper;  
8 -import com.sunyo.customer.order.activity.dao.ProcessFormMapper;  
9 -import com.sunyo.customer.order.activity.model.JOB;  
10 -import com.sunyo.customer.order.activity.model.ProcessForm;  
11 -import org.springframework.beans.factory.annotation.Autowired;  
12 -import org.springframework.web.bind.annotation.*;  
13 -  
14 -import java.util.List;  
15 -  
16 -@RestController  
17 -@RequestMapping("/job")  
18 -public class JobController {  
19 -  
20 - @Autowired  
21 - private JOBMapper jobMapper;  
22 - /**  
23 - * 流程demo  
24 - * @return  
25 - */  
26 - @RequestMapping(value="/list",method= RequestMethod.GET)  
27 - public ResultJson<PageInfo> startActivityDemo(@RequestParam(value = "pageNum",required = false,defaultValue = "1")  
28 - int pageNum,  
29 - @RequestParam(value = "pageSize",required = false,defaultValue = "5")  
30 - int pageSize,  
31 - @RequestParam(value = "userid",required = false)  
32 - String userid,  
33 - @RequestParam(value = "processid",required = false)  
34 - String processid){  
35 - Page<JOB> page = PageHelper.startPage(pageNum,pageSize);  
36 - List<JOB> list= jobMapper.selectAllWithUser(userid,processid);  
37 - PageInfo<JOB> result = new PageInfo<JOB>(list);  
38 - return new ResultJson("200","success",result);  
39 - }  
40 -  
41 - @PostMapping(value="/add")  
42 - public ResultJson add(JOB job){  
43 - int i =jobMapper.insertSelective(job);  
44 - return i==1 ? new ResultJson("200","添加工单成功") :new ResultJson("500","insert faild");  
45 -  
46 - }  
47 -  
48 - @PutMapping(value="start")  
49 - public ResultJson start(@RequestBody JOB job){  
50 - job.setComent("由"+job.getUser().getRealname()+"开始任务");  
51 - job.setAuditresuld(new Integer(1).byteValue());  
52 - int i =jobMapper.updateByPrimaryKeySelective(job);  
53 - return i==1 ? new ResultJson("200","添加工单成功") :new ResultJson("500","insert faild");  
54 -  
55 - }  
56 -  
57 -  
58 -}  
1 -package com.sunyo.customer.order.activity.controller;  
2 -  
3 -import com.github.pagehelper.Page;  
4 -import com.github.pagehelper.PageHelper;  
5 -import com.github.pagehelper.PageInfo;  
6 -import com.sunyo.customer.order.activity.controller.response.ResultJson;  
7 -import com.sunyo.customer.order.activity.dao.JOBMapper;  
8 -import com.sunyo.customer.order.activity.dao.ProcessFormMapper;  
9 -import com.sunyo.customer.order.activity.model.JOB;  
10 -import com.sunyo.customer.order.activity.model.ProcessForm;  
11 -import org.activiti.engine.*;  
12 -import org.activiti.engine.repository.DeploymentBuilder;  
13 -import org.activiti.engine.repository.ProcessDefinition;  
14 -import org.activiti.engine.runtime.ProcessInstance;  
15 -import org.activiti.engine.task.Task;  
16 -import org.springframework.beans.factory.annotation.Autowired;  
17 -import org.springframework.web.bind.annotation.*;  
18 -  
19 -import java.util.HashMap;  
20 -import java.util.List;  
21 -import java.util.Map;  
22 -import java.util.UUID;  
23 -  
24 -@RestController  
25 -@RequestMapping("/process")  
26 -public class ProcessController {  
27 -  
28 - @Autowired  
29 - private ProcessFormMapper processFormMapper;  
30 -  
31 - @Autowired  
32 - private JOBMapper jobMapper;  
33 -  
34 - @Autowired  
35 - private RuntimeService runtimeService;  
36 -  
37 - @Autowired  
38 - private TaskService taskService;  
39 -  
40 - @Autowired  
41 - private IdentityService identityService;  
42 -  
43 - @Autowired  
44 - private RepositoryService repositoryService;  
45 -  
46 - @Autowired  
47 - private ProcessEngine processEngine;  
48 -  
49 - @Autowired  
50 - private HistoryService historyService;  
51 - /**  
52 - * 流程demo  
53 - * @return  
54 - */  
55 - @RequestMapping(value="/list",method= RequestMethod.GET)  
56 - public ResultJson<PageInfo> startActivityDemo(@RequestParam(value = "pageNum",required = false,defaultValue = "1")  
57 - int pageNum,  
58 - @RequestParam(value = "pageSize",required = false,defaultValue = "5")  
59 - int pageSize){  
60 - Page<ProcessForm> page = PageHelper.startPage(pageNum,pageSize);  
61 - List<ProcessForm> list= processFormMapper.selectAllWithUser();  
62 - PageInfo<ProcessForm> result = new PageInfo<ProcessForm>(list);  
63 - return new ResultJson("200","success",result);  
64 - }  
65 -  
66 - @PostMapping(value="/add")  
67 - public ResultJson add(ProcessForm processForm){  
68 - String uuid = UUID.randomUUID().toString();  
69 - processForm.setFormid(uuid);  
70 - int i =processFormMapper.insertSelective(processForm);  
71 - if (processForm.getJobuserid()!=0){  
72 - JOB job = new JOB();  
73 - job.setAuditid(UUID.randomUUID().toString());  
74 - job.setTaskid(uuid);  
75 - job.setUserid(processForm.getJobuserid());  
76 - job.setAuditresuld(new Byte("0"));  
77 - jobMapper.insertSelective(job);  
78 - }  
79 - return i==1 ? new ResultJson("200","添加工单成功") :new ResultJson("500","insert faild");  
80 -  
81 - }  
82 -  
83 - @GetMapping(value = "activity")  
84 - public void activity(){  
85 - DeploymentBuilder builder = repositoryService.createDeployment();  
86 - builder.addClasspathResource("processes/customProcess.bpmn20.xml").name("customProcess");  
87 - builder.deploy();  
88 - List<ProcessDefinition> p = repositoryService.createProcessDefinitionQuery().list();  
89 -// 启动流程实例,字符串"vacation"是BPMN模型文件里process元素的id  
90 - ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("customProcess");  
91 -//流程实例启动后,流程会跳转到请假申请节点  
92 - Task vacationApply = taskService.createTaskQuery().processInstanceId(processInstance.getId()).singleResult();  
93 -//设置请假申请任务的执行人  
94 - taskService.setAssignee(vacationApply.getId(), "zhangsan");  
95 -  
96 -//设置流程参数:请假天数和表单ID  
97 -//流程引擎会根据请假天数days>3判断流程走向  
98 -//formId是用来将流程数据和表单数据关联起来  
99 - Map<String, Object> args = new HashMap<>();  
100 - args.put("days", "2");  
101 - args.put("formId", "4d8746da-f0c2-418d-86b4-e3646dcef6c9");  
102 -  
103 -//完成请假申请任务  
104 - taskService.complete(vacationApply.getId(), args);  
105 - }  
106 -}  
1 -package com.sunyo.customer.order.activity.dao;  
2 -  
3 -import com.sunyo.customer.order.activity.model.JOB;  
4 -import org.apache.ibatis.annotations.Param;  
5 -  
6 -import java.util.List;  
7 -  
8 -public interface JOBMapper {  
9 - int deleteByPrimaryKey(String auditid);  
10 -  
11 - int insert(JOB record);  
12 -  
13 - int insertSelective(JOB record);  
14 -  
15 - JOB selectByPrimaryKey(String auditid);  
16 -  
17 - List<JOB> selectAllWithUser(@Param("userid")String auditid,@Param("processid") String processid);  
18 -  
19 - int updateByPrimaryKeySelective(JOB record);  
20 -  
21 - int updateByPrimaryKey(JOB record);  
22 -  
23 - //开始任务  
24 - int startJob(JOB record);  
25 -  
26 -  
27 -  
28 -}  
1 -package com.sunyo.customer.order.activity.dao;  
2 -  
3 -import com.sunyo.customer.order.activity.model.ProcessForm;  
4 -  
5 -import java.util.List;  
6 -  
7 -  
8 -public interface ProcessFormMapper {  
9 - int deleteByPrimaryKey(ProcessForm key);  
10 -  
11 - int insert(ProcessForm record);  
12 -  
13 - int insertSelective(ProcessForm record);  
14 -  
15 - ProcessForm selectByPrimaryKey(ProcessForm key);  
16 -  
17 - List<ProcessForm> selectAllWithUser();  
18 -  
19 - int updateByPrimaryKeySelective(ProcessForm record);  
20 -  
21 - int updateByPrimaryKey(ProcessForm record);  
22 -}  
1 -package com.sunyo.customer.order.activity.dao;  
2 -  
3 -import com.sunyo.customer.order.activity.model.USER;  
4 -  
5 -public interface USERMapper {  
6 - int deleteByPrimaryKey(Integer userId);  
7 -  
8 - int insert(USER record);  
9 -  
10 - int insertSelective(USER record);  
11 -  
12 - USER selectByPrimaryKey(Integer userId);  
13 -  
14 - int updateByPrimaryKeySelective(USER record);  
15 -  
16 - int updateByPrimaryKey(USER record);  
17 -}  
1 -package com.sunyo.customer.order.activity.model;  
2 -  
3 -import com.fasterxml.jackson.annotation.JsonFormat;  
4 -import lombok.Data;  
5 -import org.springframework.format.annotation.DateTimeFormat;  
6 -  
7 -import java.util.Date;  
8 -  
9 -@Data  
10 -public class JOB {  
11 - private String auditid;  
12 -  
13 - private String processinstanceid;  
14 -  
15 - private String processid;  
16 -  
17 - private String taskid;  
18 -  
19 - private Integer userid;  
20 -  
21 - private Byte auditresuld;  
22 -  
23 - private String coment;  
24 -  
25 - @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")  
26 - @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss", timezone = "GMT+8")  
27 - private Date audittime;  
28 -  
29 - private USER user;  
30 -  
31 - private ProcessForm process;  
32 -  
33 - //任务执行者ID  
34 - private Integer joduserd;  
35 -  
36 - public String getAuditid() {  
37 - return auditid;  
38 - }  
39 -  
40 - public void setAuditid(String auditid) {  
41 - this.auditid = auditid == null ? null : auditid.trim();  
42 - }  
43 -  
44 - public String getProcessinstanceid() {  
45 - return processinstanceid;  
46 - }  
47 -  
48 - public void setProcessinstanceid(String processinstanceid) {  
49 - this.processinstanceid = processinstanceid == null ? null : processinstanceid.trim();  
50 - }  
51 -  
52 - public String getTaskid() {  
53 - return taskid;  
54 - }  
55 -  
56 - public void setTaskid(String taskid) {  
57 - this.taskid = taskid == null ? null : taskid.trim();  
58 - }  
59 -  
60 - public Integer getUserid() {  
61 - return userid;  
62 - }  
63 -  
64 - public void setUserid(Integer userid) {  
65 - this.userid = userid;  
66 - }  
67 -  
68 - public Byte getAuditresuld() {  
69 - return auditresuld;  
70 - }  
71 -  
72 - public void setAuditresuld(Byte auditresuld) {  
73 - this.auditresuld = auditresuld;  
74 - }  
75 -  
76 - public String getComent() {  
77 - return coment;  
78 - }  
79 -  
80 - public void setComent(String coment) {  
81 - this.coment = coment == null ? null : coment.trim();  
82 - }  
83 -  
84 - public Date getAudittime() {  
85 - return audittime;  
86 - }  
87 -  
88 - public void setAudittime(Date audittime) {  
89 - this.audittime = audittime;  
90 - }  
91 -}  
1 -package com.sunyo.customer.order.activity.model;  
2 -  
3 -import com.fasterxml.jackson.annotation.JsonFormat;  
4 -import lombok.Data;  
5 -import org.springframework.format.annotation.DateTimeFormat;  
6 -  
7 -import java.util.Date;  
8 -  
9 -@Data  
10 -public class ProcessForm{  
11 - private Integer userid;  
12 -  
13 - private String processname;  
14 -  
15 - @DateTimeFormat(pattern = "yyyy-MM-dd")  
16 - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")  
17 - private Date begindate;  
18 -  
19 - @DateTimeFormat(pattern = "yyyy-MM-dd")  
20 - @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")  
21 - private Date enddate;  
22 -  
23 - private Byte vacationtype;  
24 -  
25 - private String reason;  
26 -  
27 - private Byte processstatus;  
28 -  
29 - private Date createtime;  
30 -  
31 - private Date updatetime;  
32 -  
33 - private String formid;  
34 -  
35 - private String processinstanceid;  
36 -  
37 - private USER user;  
38 -  
39 - private Integer jobuserid;  
40 -  
41 - public String getFormid() {  
42 - return formid;  
43 - }  
44 -  
45 - public void setFormid(String formid) {  
46 - this.formid = formid == null ? null : formid.trim();  
47 - }  
48 -  
49 - public String getProcessinstanceid() {  
50 - return processinstanceid;  
51 - }  
52 -  
53 - public void setProcessinstanceid(String processinstanceid) {  
54 - this.processinstanceid = processinstanceid == null ? null : processinstanceid.trim();  
55 - }  
56 -  
57 - public Integer getUserid() {  
58 - return userid;  
59 - }  
60 -  
61 - public void setUserid(Integer userid) {  
62 - this.userid = userid;  
63 - }  
64 -  
65 - public String getProcessname() {  
66 - return processname;  
67 - }  
68 -  
69 - public void setProcessname(String processname) {  
70 - this.processname = processname == null ? null : processname.trim();  
71 - }  
72 -  
73 - public Date getBegindate() {  
74 - return begindate;  
75 - }  
76 -  
77 - public void setBegindate(Date begindate) {  
78 - this.begindate = begindate;  
79 - }  
80 -  
81 - public Date getEnddate() {  
82 - return enddate;  
83 - }  
84 -  
85 - public void setEnddate(Date enddate) {  
86 - this.enddate = enddate;  
87 - }  
88 -  
89 - public Byte getVacationtype() {  
90 - return vacationtype;  
91 - }  
92 -  
93 - public void setVacationtype(Byte vacationtype) {  
94 - this.vacationtype = vacationtype;  
95 - }  
96 -  
97 - public String getReason() {  
98 - return reason;  
99 - }  
100 -  
101 - public void setReason(String reason) {  
102 - this.reason = reason == null ? null : reason.trim();  
103 - }  
104 -  
105 - public Byte getProcessstatus() {  
106 - return processstatus;  
107 - }  
108 -  
109 - public void setProcessstatus(Byte processstatus) {  
110 - this.processstatus = processstatus;  
111 - }  
112 -  
113 - public Date getCreatetime() {  
114 - return createtime;  
115 - }  
116 -  
117 - public void setCreatetime(Date createtime) {  
118 - this.createtime = createtime;  
119 - }  
120 -  
121 - public Date getUpdatetime() {  
122 - return updatetime;  
123 - }  
124 -  
125 - public void setUpdatetime(Date updatetime) {  
126 - this.updatetime = updatetime;  
127 - }  
128 -}  
1 -package com.sunyo.customer.order.activity.model;  
2 -  
3 -import java.util.Date;  
4 -  
5 -public class USER {  
6 - private Integer userId;  
7 -  
8 - private String username;  
9 -  
10 - private String password;  
11 -  
12 - private Date birthday;  
13 -  
14 - private String sex;  
15 -  
16 - private String address;  
17 -  
18 - private Boolean state;  
19 -  
20 - private String mobilephone;  
21 -  
22 - private Date creattime;  
23 -  
24 - private Date updatetime;  
25 -  
26 - private String userface;  
27 -  
28 - private String realname;  
29 -  
30 - private String email;  
31 -  
32 - private Integer age;  
33 -  
34 - public Integer getUserId() {  
35 - return userId;  
36 - }  
37 -  
38 - public void setUserId(Integer userId) {  
39 - this.userId = userId;  
40 - }  
41 -  
42 - public String getUsername() {  
43 - return username;  
44 - }  
45 -  
46 - public void setUsername(String username) {  
47 - this.username = username == null ? null : username.trim();  
48 - }  
49 -  
50 - public String getPassword() {  
51 - return password;  
52 - }  
53 -  
54 - public void setPassword(String password) {  
55 - this.password = password == null ? null : password.trim();  
56 - }  
57 -  
58 - public Date getBirthday() {  
59 - return birthday;  
60 - }  
61 -  
62 - public void setBirthday(Date birthday) {  
63 - this.birthday = birthday;  
64 - }  
65 -  
66 - public String getSex() {  
67 - return sex;  
68 - }  
69 -  
70 - public void setSex(String sex) {  
71 - this.sex = sex == null ? null : sex.trim();  
72 - }  
73 -  
74 - public String getAddress() {  
75 - return address;  
76 - }  
77 -  
78 - public void setAddress(String address) {  
79 - this.address = address == null ? null : address.trim();  
80 - }  
81 -  
82 - public Boolean getState() {  
83 - return state;  
84 - }  
85 -  
86 - public void setState(Boolean state) {  
87 - this.state = state;  
88 - }  
89 -  
90 - public String getMobilephone() {  
91 - return mobilephone;  
92 - }  
93 -  
94 - public void setMobilephone(String mobilephone) {  
95 - this.mobilephone = mobilephone == null ? null : mobilephone.trim();  
96 - }  
97 -  
98 - public Date getCreattime() {  
99 - return creattime;  
100 - }  
101 -  
102 - public void setCreattime(Date creattime) {  
103 - this.creattime = creattime;  
104 - }  
105 -  
106 - public Date getUpdatetime() {  
107 - return updatetime;  
108 - }  
109 -  
110 - public void setUpdatetime(Date updatetime) {  
111 - this.updatetime = updatetime;  
112 - }  
113 -  
114 - public String getUserface() {  
115 - return userface;  
116 - }  
117 -  
118 - public void setUserface(String userface) {  
119 - this.userface = userface == null ? null : userface.trim();  
120 - }  
121 -  
122 - public String getRealname() {  
123 - return realname;  
124 - }  
125 -  
126 - public void setRealname(String realname) {  
127 - this.realname = realname == null ? null : realname.trim();  
128 - }  
129 -  
130 - public String getEmail() {  
131 - return email;  
132 - }  
133 -  
134 - public void setEmail(String email) {  
135 - this.email = email == null ? null : email.trim();  
136 - }  
137 -  
138 - public Integer getAge() {  
139 - return age;  
140 - }  
141 -  
142 - public void setAge(Integer age) {  
143 - this.age = age;  
144 - }  
145 -}  
1 -package com.sunyo.customer.order.activity.service;  
2 -  
3 -import com.sunyo.customer.order.activity.controller.ActivityConsumerController;  
4 -import com.sunyo.customer.order.activity.util.ActivitiUtil;  
5 -import lombok.extern.slf4j.Slf4j;  
6 -import org.activiti.bpmn.model.BpmnModel;  
7 -import org.activiti.engine.RuntimeService;  
8 -import org.activiti.engine.TaskService;  
9 -import org.activiti.engine.impl.persistence.entity.ExecutionEntity;  
10 -import org.activiti.engine.impl.persistence.entity.TaskEntity;  
11 -import org.activiti.engine.runtime.ProcessInstance;  
12 -import org.activiti.engine.task.Task;  
13 -import org.springframework.beans.factory.annotation.Autowired;  
14 -import org.springframework.stereotype.Service;  
15 -  
16 -import java.util.HashMap;  
17 -import java.util.List;  
18 -import java.util.Map;  
19 -  
20 -@Slf4j  
21 -@Service("activityService")  
22 -public class ActivityConsumerService implements ActivityConsumerController {  
23 -  
24 - @Autowired  
25 - private RuntimeService runtimeService;  
26 -  
27 - @Autowired  
28 - private TaskService taskService;  
29 -  
30 - @Override  
31 - public boolean startActivityDemo(){  
32 - log.info("任务启动");  
33 - Map<String,Object> map = new HashMap<>();  
34 - map.put("buildJob","zhangsan");  
35 - map.put("excuteJob","lisi");  
36 - map.put("assignJob","wangwu");  
37 - ExecutionEntity pi1 = (ExecutionEntity)runtimeService.startProcessInstanceByKey("customProcess",map);  
38 - String processId = pi1.getId();  
39 - List<TaskEntity> taskEntityList = pi1.getTasks();  
40 - String taskId = taskService.createTaskQuery().processInstanceId("guestService").singleResult().getId();  
41 - taskService.complete(taskId,map);  
42 -  
43 - Task task = taskService.createTaskQuery().processInstanceId(processId).singleResult();  
44 - String taskId2 = taskId;  
45 - map.put("pass",false);  
46 - taskService.complete(taskId2,map);  
47 - log.info("任务结束");  
48 -  
49 - return false;  
50 - }  
51 -  
52 -}  
1 -package com.sunyo.customer.order.activity.util;  
2 -  
3 -import org.activiti.bpmn.model.*;  
4 -import org.activiti.bpmn.model.Process;  
5 -import org.activiti.engine.*;  
6 -import org.activiti.engine.history.HistoricProcessInstance;  
7 -import org.activiti.engine.history.HistoricTaskInstance;  
8 -import org.activiti.engine.repository.Deployment;  
9 -import org.activiti.engine.repository.ProcessDefinition;  
10 -import org.activiti.engine.runtime.Execution;  
11 -import org.activiti.engine.runtime.ProcessInstance;  
12 -import org.activiti.engine.task.Task;  
13 -  
14 -import java.util.ArrayList;  
15 -import java.util.Date;  
16 -import java.util.List;  
17 -  
18 -/**  
19 - * Activiti工具类  
20 - */  
21 -public class ActivitiUtil {  
22 - private static ProcessEngine getProcessEngine() {  
23 - return ProcessEngines.getDefaultProcessEngine();  
24 - }  
25 -  
26 - private static RepositoryService getRepositoryService() {  
27 - return getProcessEngine().getRepositoryService();  
28 - }  
29 -  
30 - private static TaskService getTaskService() {  
31 - return getProcessEngine().getTaskService();  
32 - }  
33 -  
34 - private static RuntimeService getRuntimeService() {  
35 - return getProcessEngine().getRuntimeService();  
36 - }  
37 -  
38 - private static HistoryService getHistoryService() {  
39 - return getProcessEngine().getHistoryService();  
40 - }  
41 -  
42 - private static IdentityService getIdentityService() {  
43 - return getProcessEngine().getIdentityService();  
44 - }  
45 -  
46 - /**  
47 - * 创建任务节点  
48 - * 多人审批  
49 - */  
50 - public static UserTask createUsersTask(String id, String name, List<String> assignee){  
51 - UserTask userTask = new UserTask();  
52 - userTask.setName(name);  
53 - userTask.setId(id);  
54 - userTask.setCandidateUsers(assignee);  
55 - return userTask;  
56 - }  
57 -  
58 - /**  
59 - * 创建任务节点  
60 - * 单人审批  
61 - */  
62 - public static UserTask createUserTask(String id, String name, String assignee) {  
63 - UserTask userTask = new UserTask();  
64 - userTask.setName(name);  
65 - userTask.setId(id);  
66 - userTask.setAssignee(assignee);  
67 - return userTask;  
68 - }  
69 -  
70 -  
71 - /**  
72 - * 连线  
73 - * @param from  
74 - * @param to  
75 - * @return  
76 - */  
77 - public static SequenceFlow createSequenceFlow(String from, String to) {  
78 - SequenceFlow flow = new SequenceFlow();  
79 - flow.setSourceRef(from);  
80 - flow.setTargetRef(to);  
81 - return flow;  
82 - }  
83 -  
84 - /**  
85 - * 开始节点  
86 - * @return  
87 - */  
88 - public static StartEvent createStartEvent() {  
89 - StartEvent startEvent = new StartEvent();  
90 - startEvent.setId("startEvent");  
91 - startEvent.setName("start");  
92 - return startEvent;  
93 - }  
94 -  
95 - /**  
96 - * 结束节点  
97 - * @return  
98 - */  
99 - public static EndEvent createEndEvent() {  
100 - EndEvent endEvent = new EndEvent();  
101 - endEvent.setId("endEvent");  
102 - endEvent.setName("end");  
103 - return endEvent;  
104 - }  
105 -  
106 -  
107 -  
108 - /**  
109 - * 申请人已申请任务(完成状态)[学习使用]  
110 - * @return  
111 - */  
112 - public Object queryApply(String user){  
113 - String processDefinitionKey= "guestService";  
114 - List<HistoricProcessInstance> hisProInstance = getHistoryService().createHistoricProcessInstanceQuery()  
115 - .processDefinitionKey(processDefinitionKey).startedBy(user).finished()  
116 - .orderByProcessInstanceEndTime().desc().list();  
117 - for (HistoricProcessInstance hisInstance : hisProInstance) {  
118 - System.out.println("发起人 :"+hisInstance.getStartUserId());  
119 - System.out.println("发起时间 :"+hisInstance.getStartTime());  
120 - }  
121 - return "已申请任务";  
122 - }  
123 -  
124 -  
125 -  
126 - /**  
127 - * 审批人已办理任务(完成状态)[学习使用]  
128 - * @return  
129 - */  
130 - public Object queryFinished(String user){  
131 - String processDefinitionKey= "guestService";  
132 - List<HistoricProcessInstance> hisProInstance = getHistoryService().createHistoricProcessInstanceQuery()  
133 - .processDefinitionKey(processDefinitionKey).involvedUser(user).finished()  
134 - .orderByProcessInstanceEndTime().desc().list();  
135 - for (HistoricProcessInstance hisInstance : hisProInstance) {  
136 - List<HistoricTaskInstance> hisTaskInstanceList = getHistoryService().createHistoricTaskInstanceQuery()  
137 - .processInstanceId(hisInstance.getId()).processFinished()  
138 - .taskAssignee(user)  
139 - .orderByHistoricTaskInstanceEndTime().desc().list();  
140 - boolean isMyAudit = false;  
141 - for (HistoricTaskInstance taskInstance : hisTaskInstanceList) {  
142 - if (taskInstance.getAssignee().equals(user)) {  
143 - isMyAudit = true;  
144 - }  
145 - }  
146 - if (!isMyAudit) {  
147 - continue;  
148 - }  
149 - System.out.println("申请人 :"+hisInstance.getStartUserId());  
150 - System.out.println("开始时间 :"+hisInstance.getStartTime());  
151 - System.out.println("结束时间 :"+hisInstance.getEndTime());  
152 - }  
153 - return "已办理任务";  
154 - }  
155 -  
156 -  
157 -  
158 - /**  
159 - * 发起人查询执行中的任务[学习使用]  
160 - * @return  
161 - */  
162 - public static Object queryNow(String user) {  
163 - List<ProcessInstance> instanceList = getRuntimeService().createProcessInstanceQuery().startedBy(user).list();  
164 - for (ProcessInstance instance : instanceList) {  
165 - System.out.println("申请人 :" + instance.getStartUserId());  
166 - System.out.println("开始时间 :" + instance.getStartTime());  
167 - }  
168 - return "查询执行中的任务";  
169 - }  
170 -  
171 -  
172 -  
173 - /**  
174 - * 根据人员查询待审批任务[学习使用]  
175 - * @return  
176 - */  
177 - public static Object findUnApprove(String assignee) {  
178 - List<Task> list = getTaskService().createTaskQuery().taskCandidateOrAssigned(assignee).list();  
179 - if (list != null || list.size() > 0) {  
180 - for (Task task : list) {  
181 - HistoricProcessInstance historicProcessInstance =  
182 - getHistoryService().createHistoricProcessInstanceQuery()  
183 - .processInstanceId(task.getProcessInstanceId())  
184 - .singleResult();  
185 - String user = historicProcessInstance.getStartUserId();  
186 - Date date = (Date) getTaskService().getVariable(task.getId(), "请假日期");  
187 - Integer day = (Integer) getTaskService().getVariable(task.getId(), "请假天数");  
188 - String ms = (String) getTaskService().getVariable(task.getId(), "请假原因");  
189 - System.out.println("申请人" + user + "请假日期" + date + "/" + "请假天数 :" + day + "/" + "请假原因 :" + ms);  
190 - System.out.println("任务名称 :" + task.getName());  
191 - System.out.println("任务创建时间 :" + task.getCreateTime());  
192 - }  
193 - }  
194 - return "待审批";  
195 - }  
196 -  
197 -  
198 - /**  
199 - * 添加任务  
200 - * @param processFlow  
201 - * @return  
202 - */  
203 -// public Integer addActiviti(ProcessFlow processFlow) {  
204 -// try {  
205 -// BpmnModel model = new BpmnModel();  
206 -// Process process = new Process();  
207 -// model.addProcess(process);  
208 -//  
209 -// /**  
210 -// *process的id不能以数字开头  
211 -// */  
212 -// process.setId('A' + processFlow.getId());  
213 -// List<String> users = null;  
214 -//  
215 -// /**  
216 -// *获取流程的节点数量  
217 -// */  
218 -// int size = processFlow.getProcessNodes().size();  
219 -// process.addFlowElement(ActivitiUtil.createStartEvent());  
220 -//  
221 -// /**  
222 -// *生成流程  
223 -// */  
224 -// for (int i = 0, j = size; i < j; i++) {  
225 -// users = new ArrayList<>();  
226 -// for (AuditProcessNodeApprover approver : processFlow.getProcessNodes().get(i).getApprovers()) {  
227 -// users.add(approver.getApproved());  
228 -// }  
229 -// process.addFlowElement(ActivitiUtil.createUsersTask(ProcessIDPrefix + processFlow.getProcessNodes().get(i).getId(), processFlow.getProcessNodes().get(i).getName(), users));  
230 -// if (i == 0)  
231 -// process.addFlowElement(ActivitiUtil.createSequenceFlow("startEvent", ProcessIDPrefix + processFlow.getProcessNodes().get(i).getId()));  
232 -// else {  
233 -// process.addFlowElement(ActivitiUtil.createSequenceFlow(ProcessIDPrefix + processFlow.getProcessNodes().get(i - 1).getId(), ProcessIDPrefix + processFlow.getProcessNodes().get(i).getId()));  
234 -// }  
235 -// if (i == size - 1)  
236 -// process.addFlowElement(ActivitiUtil.createSequenceFlow(ProcessIDPrefix + processFlow.getProcessNodes().get(i).getId(), "endEvent"));  
237 -// }  
238 -// process.addFlowElement(ActivitiUtil.createEndEvent());  
239 -//  
240 -//  
241 -// /**  
242 -// * 生成图形信息  
243 -// */  
244 -// new BpmnAutoLayout(model).execute();  
245 -//  
246 -// //将流程部署到引擎  
247 -// Deployment deployment = getRepositoryService().createDeployment()  
248 -// .addBpmnModel("ABC" + process.getId() + ".bpmn", model).name(processFlow.getName())  
249 -// .deploy();  
250 -//  
251 -// } catch (Exception e) {  
252 -// throw new CustomException(e.getLocalizedMessage());  
253 -// }  
254 -// return 1;  
255 -// }  
256 -//  
257 -//  
258 -// /**  
259 -// * 开始流程  
260 -// * @param creater  
261 -// * @param processId  
262 -// * @return  
263 -// */  
264 -// public Object beginActiviti(String creater, String processId) {  
265 -//  
266 -// /**  
267 -// *设置发起人  
268 -// */  
269 -// getIdentityService().setAuthenticatedUserId(creater);  
270 -// //启动流程实例  
271 -// ProcessInstance processInstance = getRuntimeService().startProcessInstanceByKey('A' + processId);  
272 -//  
273 -// Task task = getTaskService().createTaskQuery().processInstanceId(processInstance.getId()).singleResult();  
274 -// if (task == null) throw new RuntimeException("发起审批失败");  
275 -// ProcessFlow flow = flowRepository.getOne(processId);  
276 -// if (flow == null) throw new RuntimeException("对应审批流程为空");  
277 -// List<ProcessNodeApprover> processNodeApprovers= processNodeApproverRepository.findByFlowid(flow.getId());  
278 -// if (processNodeApprovers==null||processNodeApprovers.size()<1){  
279 -// throw new RuntimeException("对应审批人为空");  
280 -// }  
281 -// return task;  
282 -// }  
283 -//  
284 -//  
285 -// /**  
286 -// * 进行审批  
287 -// *  
288 -// * @param assignee 审批人  
289 -// * @param msg 审批意见  
290 -// * @param isAgree 是否同意 1 同意 0 拒绝  
291 -// * @param taskId 任务id  
292 -// * @param processId 流程id  
293 -// * @return  
294 -// */  
295 -// public Object approve(String assignee, String msg, Integer isAgree, String taskId, String processId) {  
296 -// Task task = getTaskService().createTaskQuery().taskId(taskId).singleResult();  
297 -// Employee assigneeEmployee = employeeRepository.getOne(assignee);  
298 -// if (assigneeEmployee == null)  
299 -// throw new RuntimeException("审批人对应得职员信息不存在!");  
300 -//  
301 -// //拒绝,结束流程  
302 -// if (isAgree == 0) {  
303 -// BpmnModel bpmnModel = getRepositoryService().getBpmnModel(task.getProcessDefinitionId());  
304 -// Execution execution = getRuntimeService().createExecutionQuery().executionId(task.getExecutionId()).singleResult();  
305 -// String activitId = execution.getActivityId();  
306 -// FlowNode flowNode = (FlowNode) bpmnModel.getMainProcess().getFlowElement(activitId);  
307 -// //清理流程未执行节点  
308 -// flowNode.getOutgoingFlows().clear();  
309 -// //建立新方向  
310 -// List<SequenceFlow> newSequenceFlowList = new ArrayList<>();  
311 -// SequenceFlow newSequenceFlow = new SequenceFlow();  
312 -// newSequenceFlow.setId(CommonUtil.getUUID());  
313 -// newSequenceFlow.setSourceFlowElement(flowNode);  
314 -// newSequenceFlow.setTargetFlowElement(ActivitiUtil.createEndEvent());  
315 -// newSequenceFlowList.add(newSequenceFlow);  
316 -// flowNode.setOutgoingFlows(newSequenceFlowList);  
317 -//  
318 -// }  
319 -//  
320 -// //同意,继续下一节点  
321 -// else if (isAgree == 1) {  
322 -// getTaskService().addComment(task.getId(), task.getProcessInstanceId(), msg);  
323 -// getTaskService().complete(task.getId());  
324 -// }  
325 -//  
326 -// return ResultUtil.success();  
327 -// }  
328 -  
329 - /**  
330 - * 删除流程  
331 - * @param deploymentId  
332 - * @return  
333 - */  
334 - public void deleteActivity(String deploymentId){  
335 - getRepositoryService().deleteDeployment(deploymentId, true);  
336 - //true 级联删除  
337 - }  
338 -  
339 - /**  
340 - * 根据启动key获取最新流程  
341 - * @param processId  
342 - * @return  
343 - */  
344 - public List<ProcessDefinition> getNewActivity(String processId){  
345 - List<ProcessDefinition> list = getRepositoryService()  
346 - .createProcessDefinitionQuery().processDefinitionKey(processId)  
347 - .orderByProcessDefinitionVersion().desc()//使用流程定义的版本降序排列  
348 - .list();  
349 - return list;  
350 - }  
351 -  
352 -}  
1 -package com.sunyo.customer.order; 1 +package com.sunyo.energy.location;
2 2
3 -import org.activiti.spring.boot.SecurityAutoConfiguration;  
4 import org.mybatis.spring.annotation.MapperScan; 3 import org.mybatis.spring.annotation.MapperScan;
5 import org.springframework.boot.SpringApplication; 4 import org.springframework.boot.SpringApplication;
6 import org.springframework.boot.autoconfigure.SpringBootApplication; 5 import org.springframework.boot.autoconfigure.SpringBootApplication;
7 6
8 -@SpringBootApplication(exclude = SecurityAutoConfiguration.class)  
9 -@MapperScan("com.sunyo.customer.order.activity.dao")  
10 -public class OrderApplication { 7 +@SpringBootApplication()
  8 +@MapperScan("com.sunyo.energy.location.dao")
  9 +public class BootApplication {
11 10
12 public static void main(String[] args) { 11 public static void main(String[] args) {
13 - SpringApplication.run(OrderApplication.class, args); 12 + SpringApplication.run(BootApplication.class, args);
14 } 13 }
15 14
16 } 15 }
1 -package com.sunyo.customer.order; 1 +package com.sunyo.energy.location;
2 2
3 import org.springframework.context.annotation.Bean; 3 import org.springframework.context.annotation.Bean;
4 import org.springframework.context.annotation.Configuration; 4 import org.springframework.context.annotation.Configuration;
@@ -21,7 +21,7 @@ public class Swagger2 { @@ -21,7 +21,7 @@ public class Swagger2 {
21 .apiInfo(apiInfo()) 21 .apiInfo(apiInfo())
22 .select() 22 .select()
23 //为当前包路径 23 //为当前包路径
24 - .apis(RequestHandlerSelectors.basePackage("com.tianbo.warehouse.controller")) 24 + .apis(RequestHandlerSelectors.basePackage("com.sunyo.energy.location.controller"))
25 .paths(PathSelectors.any()) 25 .paths(PathSelectors.any())
26 .build(); 26 .build();
27 } 27 }
  1 +package com.sunyo.energy.location.controller;
  2 +
  3 +
  4 +import com.github.pagehelper.Page;
  5 +import com.github.pagehelper.PageHelper;
  6 +import com.github.pagehelper.PageInfo;
  7 +import com.sunyo.energy.location.controller.response.ResultJson;
  8 +import com.sunyo.energy.location.dao.LocationMapper;
  9 +import com.sunyo.energy.location.model.Location;
  10 +import org.springframework.beans.factory.annotation.Autowired;
  11 +import org.springframework.web.bind.annotation.RequestMapping;
  12 +import org.springframework.web.bind.annotation.RequestMethod;
  13 +import org.springframework.web.bind.annotation.RequestParam;
  14 +import org.springframework.web.bind.annotation.RestController;
  15 +
  16 +import java.util.List;
  17 +
  18 +@RestController
  19 +@RequestMapping("/location")
  20 +public class LocationController {
  21 +
  22 + @Autowired
  23 + private LocationMapper locationMapper;
  24 +
  25 + @RequestMapping(value="/list",method= RequestMethod.GET)
  26 + public ResultJson startActivityDemo(@RequestParam(value = "pageNum",required = false,defaultValue = "1")
  27 + int pageNum,
  28 + @RequestParam(value = "pageSize",required = false,defaultValue = "5")
  29 + int pageSize){
  30 + Page<Location> page = PageHelper.startPage(pageNum,pageSize);
  31 + List<Location> list= locationMapper.selectAll(0);
  32 + PageInfo<Location> result = new PageInfo<Location>(list);
  33 + return new ResultJson("200","success",result);
  34 + }
  35 +}
1 -package com.sunyo.customer.order.activity.controller.response; 1 +package com.sunyo.energy.location.controller.response;
2 2
3 import com.alibaba.fastjson.JSON; 3 import com.alibaba.fastjson.JSON;
4 import org.springframework.core.MethodParameter; 4 import org.springframework.core.MethodParameter;
1 -package com.sunyo.customer.order.activity.controller.response; 1 +package com.sunyo.energy.location.controller.response;
2 2
3 import lombok.Data; 3 import lombok.Data;
4 4
  1 +package com.sunyo.energy.location.dao;
  2 +
  3 +import com.sunyo.energy.location.model.Location;
  4 +
  5 +import java.util.List;
  6 +
  7 +public interface LocationMapper {
  8 + int deleteByPrimaryKey(Integer id);
  9 +
  10 + int insert(Location record);
  11 +
  12 + int insertSelective(Location record);
  13 +
  14 + List<Location> selectByPrimaryKey(Integer id);
  15 +
  16 + List<Location> selectAll(Integer id);
  17 +
  18 + int updateByPrimaryKeySelective(Location record);
  19 +
  20 + int updateByPrimaryKey(Location record);
  21 +}
  1 +package com.sunyo.energy.location.model;
  2 +
  3 +import lombok.Data;
  4 +
  5 +import java.util.List;
  6 +
  7 +@Data
  8 +public class Location {
  9 + private Integer id;
  10 +
  11 + private String adrname;
  12 +
  13 + private Integer parent;
  14 +
  15 + private Integer type;
  16 +
  17 + private List<Location> children;
  18 +
  19 + public Integer getId() {
  20 + return id;
  21 + }
  22 +
  23 + public void setId(Integer id) {
  24 + this.id = id;
  25 + }
  26 +
  27 + public String getAdrname() {
  28 + return adrname;
  29 + }
  30 +
  31 + public void setAdrname(String adrname) {
  32 + this.adrname = adrname == null ? null : adrname.trim();
  33 + }
  34 +
  35 + public Integer getParent() {
  36 + return parent;
  37 + }
  38 +
  39 + public void setParent(Integer parent) {
  40 + this.parent = parent;
  41 + }
  42 +
  43 +
  44 +
  45 +}
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 web: 2 web:
3 upload-path: upload/ 3 upload-path: upload/
4 server: 4 server:
5 - port: 10002 5 + port: 10003
6 servlet: 6 servlet:
7 context-path: ${SERVER_CONTEXTPATH:} 7 context-path: ${SERVER_CONTEXTPATH:}
8 spring: 8 spring:
@@ -35,7 +35,7 @@ spring: @@ -35,7 +35,7 @@ spring:
35 static-locations: classpath:/META-INF/resources/,classpath:/static,classpath:/resources/,classpath:/public/,file:${web.upload-path} 35 static-locations: classpath:/META-INF/resources/,classpath:/static,classpath:/resources/,classpath:/public/,file:${web.upload-path}
36 36
37 application: 37 application:
38 - name: HQPT-PROCESS 38 + name: EMPT-LOCATION
39 39
40 jackson: 40 jackson:
41 serialization: 41 serialization:
@@ -67,7 +67,7 @@ spring: @@ -67,7 +67,7 @@ spring:
67 # password: vmvnv1v2 67 # password: vmvnv1v2
68 #spring datasource mysql,注意编码配置,缺少数据库编码配置容易引起中文入库乱码 68 #spring datasource mysql,注意编码配置,缺少数据库编码配置容易引起中文入库乱码
69 #url: jdbc:mysql://127.0.0.1:3307/statistics?useUnicode=true&characterEncoding=utf8&nullCatalogMeansCurrent=true 69 #url: jdbc:mysql://127.0.0.1:3307/statistics?useUnicode=true&characterEncoding=utf8&nullCatalogMeansCurrent=true
70 - url: jdbc:mysql://118.31.66.166:3306/HQPT_USER?useUnicode=true&characterEncoding=utf8&nullCatalogMeansCurrent=true 70 + url: jdbc:mysql://118.31.66.166:3306/EMPT?useUnicode=true&characterEncoding=utf8&nullCatalogMeansCurrent=true
71 username: 110 71 username: 110
72 password: QAHqCJf2kFYCLirM 72 password: QAHqCJf2kFYCLirM
73 driver-class-name: com.mysql.cj.jdbc.Driver 73 driver-class-name: com.mysql.cj.jdbc.Driver
  1 +${AnsiColor.YELLOW}
  2 + #####################################################
  3 + # #
  4 + # _oo0oo_ #
  5 + # o8888888o #
  6 + # 88" . "88 #
  7 + # (| -_- |) #
  8 + # 0\ = /0 #
  9 + # ___/`---'\___ #
  10 + # .' \\| |# '. #
  11 + # / \\||| : |||# \ #
  12 + # / _||||| -:- |||||- \ #
  13 + # | | \\\ - #/ | | #
  14 + # | \_| ''\---/'' |_/ | #
  15 + # \ .-\__ '-' ___/-. / #
  16 + # ___'. .' /--.--\ `. .'___ #
  17 + # ."" '< `.___\_<|>_/___.' >' "". #
  18 + # | | : `- \`.;`\ _ /`;.`/ - ` : | | #
  19 + # \ \ `_. \_ __\ /__ _/ .-` / / #
  20 + # =====`-.____`.___ \_____/___.-`___.-'===== #
  21 + # `=---=' #
  22 + # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #
  23 + # #
  24 + # 佛祖保佑 永不宕机 永无Bug #
  25 + # #
  26 + #####################################################
  27 +
  28 +==================================================
  29 +Application Info:${application.title}
  30 +ver:${application.version}
  31 +Powered by:Spring Boot ${spring-boot.version}
1 -<?xml version="1.0" encoding="UTF-8" standalone="yes"?>  
2 -<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"  
3 - xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI"  
4 - xmlns:activiti="http://activiti.org/bpmn"  
5 - xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC"  
6 - xmlns:tns="http://www.activiti.org/test"  
7 - xmlns:xsd="http://www.w3.org/2001/XMLSchema"  
8 - xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"  
9 - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
10 - expressionLanguage="http://www.w3.org/1999/XPath"  
11 - id="m1575793054911"  
12 - name=""  
13 - targetNamespace="http://www.activiti.org/test"  
14 - typeLanguage="http://www.w3.org/2001/XMLSchema">  
15 - <process xmlns="" id="customProcess" isClosed="false" isExecutable="true" name="工单流程"  
16 - processType="Public">  
17 - <startEvent id="_2" name="StartEvent"/>  
18 - <endEvent id="_3" name="EndEvent"/>  
19 - <userTask activiti:exclusive="true" id="processForm" name="客服工单"/>  
20 - <userTask activiti:exclusive="true" id="job" name="分配任务"/>  
21 - <sequenceFlow id="_6" sourceRef="_2" targetRef="processForm"/>  
22 - <sequenceFlow id="_7" sourceRef="processForm" targetRef="job"/>  
23 - <sequenceFlow id="_8" sourceRef="job" targetRef="_3"/>  
24 - </process>  
25 - <bpmndi:BPMNDiagram xmlns=""  
26 - documentation="background=#3C3F41;count=1;horizontalcount=1;orientation=0;width=842.4;height=1195.2;imageableWidth=832.4;imageableHeight=1185.2;imageableX=5.0;imageableY=5.0"  
27 - id="Diagram-_1"  
28 - name="New Diagram">  
29 - <bpmndi:BPMNPlane bpmnElement="customProcess">  
30 - <bpmndi:BPMNShape bpmnElement="_2" id="Shape-_2">  
31 - <omgdc:Bounds height="32.0" width="32.0" x="115.0" y="65.0"/>  
32 - <bpmndi:BPMNLabel>  
33 - <omgdc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>  
34 - </bpmndi:BPMNLabel>  
35 - </bpmndi:BPMNShape>  
36 - <bpmndi:BPMNShape bpmnElement="_3" id="Shape-_3">  
37 - <omgdc:Bounds height="32.0" width="32.0" x="285.0" y="295.0"/>  
38 - <bpmndi:BPMNLabel>  
39 - <omgdc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>  
40 - </bpmndi:BPMNLabel>  
41 - </bpmndi:BPMNShape>  
42 - <bpmndi:BPMNShape bpmnElement="processForm" id="Shape-processForm">  
43 - <omgdc:Bounds height="55.0" width="85.0" x="260.0" y="65.0"/>  
44 - <bpmndi:BPMNLabel>  
45 - <omgdc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/>  
46 - </bpmndi:BPMNLabel>  
47 - </bpmndi:BPMNShape>  
48 - <bpmndi:BPMNShape bpmnElement="job" id="Shape-job">  
49 - <omgdc:Bounds height="55.0" width="85.0" x="270.0" y="165.0"/>  
50 - <bpmndi:BPMNLabel>  
51 - <omgdc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/>  
52 - </bpmndi:BPMNLabel>  
53 - </bpmndi:BPMNShape>  
54 - <bpmndi:BPMNEdge bpmnElement="_6" id="BPMNEdge__6" sourceElement="_2"  
55 - targetElement="processForm">  
56 - <omgdi:waypoint x="147.0" y="81.0"/>  
57 - <omgdi:waypoint x="260.0" y="92.5"/>  
58 - <bpmndi:BPMNLabel>  
59 - <omgdc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>  
60 - </bpmndi:BPMNLabel>  
61 - </bpmndi:BPMNEdge>  
62 - <bpmndi:BPMNEdge bpmnElement="_7" id="BPMNEdge__7" sourceElement="processForm"  
63 - targetElement="job">  
64 - <omgdi:waypoint x="307.5" y="120.0"/>  
65 - <omgdi:waypoint x="307.5" y="165.0"/>  
66 - <bpmndi:BPMNLabel>  
67 - <omgdc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>  
68 - </bpmndi:BPMNLabel>  
69 - </bpmndi:BPMNEdge>  
70 - <bpmndi:BPMNEdge bpmnElement="_8" id="BPMNEdge__8" sourceElement="job" targetElement="_3">  
71 - <omgdi:waypoint x="301.0" y="220.0"/>  
72 - <omgdi:waypoint x="301.0" y="295.0"/>  
73 - <bpmndi:BPMNLabel>  
74 - <omgdc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>  
75 - </bpmndi:BPMNLabel>  
76 - </bpmndi:BPMNEdge>  
77 - </bpmndi:BPMNPlane>  
78 - </bpmndi:BPMNDiagram>  
79 -</definitions>  
@@ -14,7 +14,7 @@ @@ -14,7 +14,7 @@
14 </commentGenerator> 14 </commentGenerator>
15 <!--数据库链接URL,用户名、密码 --> 15 <!--数据库链接URL,用户名、密码 -->
16 <jdbcConnection driverClass="com.mysql.jdbc.Driver" 16 <jdbcConnection driverClass="com.mysql.jdbc.Driver"
17 - connectionURL="jdbc:mysql://118.31.66.166:3306/HQPT_USER" 17 + connectionURL="jdbc:mysql://118.31.66.166:3306/EMPT"
18 userId="110" 18 userId="110"
19 password="QAHqCJf2kFYCLirM"> 19 password="QAHqCJf2kFYCLirM">
20 </jdbcConnection> 20 </jdbcConnection>
@@ -32,7 +32,7 @@ @@ -32,7 +32,7 @@
32 <property name="forceBigDecimals" value="false"/> 32 <property name="forceBigDecimals" value="false"/>
33 </javaTypeResolver> 33 </javaTypeResolver>
34 <!-- 生成模型的包名和位置--> 34 <!-- 生成模型的包名和位置-->
35 - <javaModelGenerator targetPackage="com.sunyo.customer.order.activity.model" targetProject="src/main/java"> 35 + <javaModelGenerator targetPackage="com.sunyo.energy.location.model" targetProject="src/main/java">
36 <property name="enableSubPackages" value="true"/> 36 <property name="enableSubPackages" value="true"/>
37 <property name="trimStrings" value="true"/> 37 <property name="trimStrings" value="true"/>
38 </javaModelGenerator> 38 </javaModelGenerator>
@@ -41,10 +41,10 @@ @@ -41,10 +41,10 @@
41 <property name="enableSubPackages" value="true"/> 41 <property name="enableSubPackages" value="true"/>
42 </sqlMapGenerator> 42 </sqlMapGenerator>
43 <!-- 生成DAO的包名和位置--> 43 <!-- 生成DAO的包名和位置-->
44 - <javaClientGenerator type="XMLMAPPER" targetPackage="com.sunyo.customer.order.activity.dao" targetProject="src/main/java"> 44 + <javaClientGenerator type="XMLMAPPER" targetPackage="com.sunyo.energy.location.dao" targetProject="src/main/java">
45 <property name="enableSubPackages" value="true"/> 45 <property name="enableSubPackages" value="true"/>
46 </javaClientGenerator> 46 </javaClientGenerator>
47 <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名--> 47 <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
48 - <table tableName="job" domainObjectName="JOB" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> 48 + <table tableName="location" domainObjectName="Location" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
49 </context> 49 </context>
50 </generatorConfiguration> 50 </generatorConfiguration>
1 -<?xml version="1.0" encoding="UTF-8" ?>  
2 -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >  
3 -<mapper namespace="com.sunyo.customer.order.activity.dao.JOBMapper" >  
4 - <resultMap id="BaseResultMap" type="com.sunyo.customer.order.activity.model.JOB" >  
5 - <id column="auditId" property="auditid" jdbcType="VARCHAR" />  
6 - <result column="processInstanceId" property="processinstanceid" jdbcType="VARCHAR" />  
7 - <result column="processId" property="processid" jdbcType="VARCHAR" />  
8 - <result column="taskId" property="taskid" jdbcType="VARCHAR" />  
9 - <result column="userId" property="userid" jdbcType="INTEGER" />  
10 - <result column="auditResuld" property="auditresuld" jdbcType="TINYINT" />  
11 - <result column="coment" property="coment" jdbcType="VARCHAR" />  
12 - <result column="auditTime" property="audittime" jdbcType="TIMESTAMP" />  
13 - <association property="user" javaType="com.sunyo.customer.order.activity.model.USER" >  
14 - <id column="user_id" property="userId"/>  
15 - <result column="realName" property="realname"/>  
16 - </association>  
17 - <association property="process" javaType="com.sunyo.customer.order.activity.model.ProcessForm" >  
18 - <id column="formId" property="formid"/>  
19 - <result column="processName" property="processname"/>  
20 - </association>  
21 - </resultMap>  
22 - <sql id="Base_Column_List" >  
23 - auditId, processInstanceId, taskId, userId, auditResuld, coment, auditTime, processId  
24 - </sql>  
25 - <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >  
26 - select  
27 - <include refid="Base_Column_List" />  
28 - from job  
29 - where auditId = #{auditid,jdbcType=VARCHAR}  
30 - </select>  
31 - <select id="selectAllWithUser" resultMap="BaseResultMap" >  
32 - SELECT job.*,process.formId,process.processName,u.realName from job job  
33 - LEFT JOIN processForm process  
34 - on  
35 - job.taskId = process.formId  
36 - LEFT JOIN users u  
37 - on job.userId = u.user_id  
38 - where 1=1  
39 - <if test="userid != null">  
40 - AND job.userId = #{userid,jdbcType=VARCHAR}  
41 - </if>  
42 - <if test="processid != null">  
43 - AND job.processId = #{processid,jdbcType=VARCHAR}  
44 - </if>  
45 - </select>  
46 - <delete id="deleteByPrimaryKey" parameterType="java.lang.String" >  
47 - delete from job  
48 - where auditId = #{auditid,jdbcType=VARCHAR}  
49 - </delete>  
50 - <insert id="insert" parameterType="com.sunyo.customer.order.activity.model.JOB" >  
51 - insert into job (auditId, processInstanceId, taskId,  
52 - userId, auditResuld, coment,  
53 - auditTime)  
54 - values (#{auditid,jdbcType=VARCHAR}, #{processinstanceid,jdbcType=VARCHAR}, #{taskid,jdbcType=VARCHAR},  
55 - #{userid,jdbcType=INTEGER}, #{auditresuld,jdbcType=TINYINT}, #{coment,jdbcType=VARCHAR},  
56 - #{audittime,jdbcType=TIMESTAMP})  
57 - </insert>  
58 - <insert id="insertSelective" parameterType="com.sunyo.customer.order.activity.model.JOB" >  
59 - insert into job  
60 - <trim prefix="(" suffix=")" suffixOverrides="," >  
61 - <if test="auditid != null" >  
62 - auditId,  
63 - </if>  
64 - <if test="processinstanceid != null" >  
65 - processInstanceId,  
66 - </if>  
67 - <if test="processid != null" >  
68 - processId,  
69 - </if>  
70 - <if test="taskid != null" >  
71 - taskId,  
72 - </if>  
73 - <if test="userid != null" >  
74 - userId,  
75 - </if>  
76 - <if test="auditresuld != null" >  
77 - auditResuld,  
78 - </if>  
79 - <if test="coment != null" >  
80 - coment,  
81 - </if>  
82 - <if test="audittime != null" >  
83 - auditTime,  
84 - </if>  
85 - </trim>  
86 - <trim prefix="values (" suffix=")" suffixOverrides="," >  
87 - <if test="auditid != null" >  
88 - #{auditid,jdbcType=VARCHAR},  
89 - </if>  
90 - <if test="processinstanceid != null" >  
91 - #{processinstanceid,jdbcType=VARCHAR},  
92 - </if>  
93 - <if test="processid != null" >  
94 - #{processid,jdbcType=VARCHAR},  
95 - </if>  
96 - <if test="taskid != null" >  
97 - #{taskid,jdbcType=VARCHAR},  
98 - </if>  
99 - <if test="userid != null" >  
100 - #{userid,jdbcType=INTEGER},  
101 - </if>  
102 - <if test="auditresuld != null" >  
103 - #{auditresuld,jdbcType=TINYINT},  
104 - </if>  
105 - <if test="coment != null" >  
106 - #{coment,jdbcType=VARCHAR},  
107 - </if>  
108 - <if test="audittime != null" >  
109 - #{audittime,jdbcType=TIMESTAMP},  
110 - </if>  
111 - </trim>  
112 - </insert>  
113 - <update id="updateByPrimaryKeySelective" parameterType="com.sunyo.customer.order.activity.model.JOB" >  
114 - update job  
115 - <set >  
116 - <if test="processinstanceid != null" >  
117 - processInstanceId = #{processinstanceid,jdbcType=VARCHAR},  
118 - </if>  
119 - <if test="processid != null" >  
120 - processId = #{processinstanceid,jdbcType=VARCHAR},  
121 - </if>  
122 - <if test="taskid != null" >  
123 - taskId = #{taskid,jdbcType=VARCHAR},  
124 - </if>  
125 - <if test="userid != null" >  
126 - userId = #{userid,jdbcType=INTEGER},  
127 - </if>  
128 - <if test="auditresuld != null" >  
129 - auditResuld = #{auditresuld,jdbcType=TINYINT},  
130 - </if>  
131 - <if test="coment != null" >  
132 - coment = #{coment,jdbcType=VARCHAR},  
133 - </if>  
134 - <if test="audittime != null" >  
135 - auditTime = #{audittime,jdbcType=TIMESTAMP},  
136 - </if>  
137 - </set>  
138 - where auditId = #{auditid,jdbcType=VARCHAR}  
139 - </update>  
140 - <update id="updateByPrimaryKey" parameterType="com.sunyo.customer.order.activity.model.JOB" >  
141 - update job  
142 - set processInstanceId = #{processinstanceid,jdbcType=VARCHAR},  
143 - taskId = #{taskid,jdbcType=VARCHAR},  
144 - userId = #{userid,jdbcType=INTEGER},  
145 - auditResuld = #{auditresuld,jdbcType=TINYINT},  
146 - coment = #{coment,jdbcType=VARCHAR},  
147 - auditTime = #{audittime,jdbcType=TIMESTAMP}  
148 - where auditId = #{auditid,jdbcType=VARCHAR}  
149 - </update>  
150 -  
151 - <update id="startJob" parameterType="com.sunyo.customer.order.activity.model.JOB" >  
152 - update job  
153 - set  
154 - userId = #{userid,jdbcType=INTEGER},  
155 - auditResuld = #{auditresuld,jdbcType=TINYINT},  
156 - coment = #{coment,jdbcType=VARCHAR}  
157 - where auditId = #{auditid,jdbcType=VARCHAR}  
158 - </update>  
159 -</mapper>  
  1 +<?xml version="1.0" encoding="UTF-8" ?>
  2 +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
  3 +<mapper namespace="com.sunyo.energy.location.dao.LocationMapper" >
  4 + <resultMap id="BaseResultMap" type="com.sunyo.energy.location.model.Location" >
  5 + <id column="id" property="id" jdbcType="INTEGER" />
  6 + <result column="adrName" property="adrname" jdbcType="VARCHAR" />
  7 + <result column="parent" property="parent" jdbcType="INTEGER" />
  8 + <result column="type" property="type" jdbcType="INTEGER" />
  9 + <collection property="children" select="selectAll" column="id"></collection>
  10 + </resultMap>
  11 + <sql id="Base_Column_List" >
  12 + id, adrName, parent, type
  13 + </sql>
  14 + <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
  15 + select
  16 + <include refid="Base_Column_List" />
  17 + from location
  18 + where id = #{id,jdbcType=INTEGER}
  19 + </select>
  20 + <select id="selectAll" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
  21 + select
  22 + *
  23 + from location
  24 + where parent = #{parent,jdbcType=INTEGER}
  25 + </select>
  26 + <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
  27 + delete from location
  28 + where id = #{id,jdbcType=INTEGER}
  29 + </delete>
  30 + <insert id="insert" parameterType="com.sunyo.energy.location.model.Location" >
  31 + insert into location (id, adrName, parent,
  32 + type)
  33 + values (#{id,jdbcType=INTEGER}, #{adrname,jdbcType=VARCHAR}, #{parent,jdbcType=INTEGER},
  34 + #{type,jdbcType=INTEGER})
  35 + </insert>
  36 + <insert id="insertSelective" parameterType="com.sunyo.energy.location.model.Location" >
  37 + insert into location
  38 + <trim prefix="(" suffix=")" suffixOverrides="," >
  39 + <if test="id != null" >
  40 + id,
  41 + </if>
  42 + <if test="adrname != null" >
  43 + adrName,
  44 + </if>
  45 + <if test="parent != null" >
  46 + parent,
  47 + </if>
  48 + <if test="type != null" >
  49 + type,
  50 + </if>
  51 + </trim>
  52 + <trim prefix="values (" suffix=")" suffixOverrides="," >
  53 + <if test="id != null" >
  54 + #{id,jdbcType=INTEGER},
  55 + </if>
  56 + <if test="adrname != null" >
  57 + #{adrname,jdbcType=VARCHAR},
  58 + </if>
  59 + <if test="parent != null" >
  60 + #{parent,jdbcType=INTEGER},
  61 + </if>
  62 + <if test="type != null" >
  63 + #{type,jdbcType=INTEGER},
  64 + </if>
  65 + </trim>
  66 + </insert>
  67 + <update id="updateByPrimaryKeySelective" parameterType="com.sunyo.energy.location.model.Location" >
  68 + update location
  69 + <set >
  70 + <if test="adrname != null" >
  71 + adrName = #{adrname,jdbcType=VARCHAR},
  72 + </if>
  73 + <if test="parent != null" >
  74 + parent = #{parent,jdbcType=INTEGER},
  75 + </if>
  76 + <if test="type != null" >
  77 + type = #{type,jdbcType=INTEGER},
  78 + </if>
  79 + </set>
  80 + where id = #{id,jdbcType=INTEGER}
  81 + </update>
  82 + <update id="updateByPrimaryKey" parameterType="com.sunyo.energy.location.model.Location" >
  83 + update location
  84 + set adrName = #{adrname,jdbcType=VARCHAR},
  85 + parent = #{parent,jdbcType=INTEGER},
  86 + type = #{type,jdbcType=INTEGER}
  87 + where id = #{id,jdbcType=INTEGER}
  88 + </update>
  89 +</mapper>
1 -<?xml version="1.0" encoding="UTF-8" ?>  
2 -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >  
3 -<mapper namespace="com.sunyo.customer.order.activity.dao.ProcessFormMapper" >  
4 - <resultMap id="BaseResultMap" type="com.sunyo.customer.order.activity.model.ProcessForm" >  
5 - <id column="formId" property="formid" jdbcType="VARCHAR" />  
6 - <id column="processInstanceId" property="processinstanceid" jdbcType="VARCHAR" />  
7 - <result column="userId" property="userid" jdbcType="INTEGER" />  
8 - <result column="processName" property="processname" jdbcType="VARCHAR" />  
9 - <result column="beginDate" property="begindate" jdbcType="TIMESTAMP" />  
10 - <result column="endDate" property="enddate" jdbcType="TIMESTAMP" />  
11 - <result column="vacationType" property="vacationtype" jdbcType="TINYINT" />  
12 - <result column="reason" property="reason" jdbcType="VARCHAR" />  
13 - <result column="processStatus" property="processstatus" jdbcType="TINYINT" />  
14 - <result column="createTime" property="createtime" jdbcType="TIMESTAMP" />  
15 - <result column="updateTime" property="updatetime" jdbcType="TIMESTAMP" />  
16 - <association property="user" javaType="com.sunyo.customer.order.activity.model.USER" >  
17 - <id column="user_id" property="userId"/>  
18 - <result column="realName" property="realname"/>  
19 - </association>  
20 - </resultMap>  
21 - <sql id="Base_Column_List" >  
22 - formId, processInstanceId, userId, processName, beginDate, endDate, vacationType,  
23 - reason, processStatus, createTime, updateTime  
24 - </sql>  
25 - <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="com.sunyo.customer.order.activity.model.ProcessForm" >  
26 - select  
27 - <include refid="Base_Column_List" />  
28 - from processForm  
29 - where formId = #{formid,jdbcType=VARCHAR}  
30 - and processInstanceId = #{processinstanceid,jdbcType=VARCHAR}  
31 - </select>  
32 - <select id="selectAllWithUser" resultMap="BaseResultMap" >  
33 - select  
34 - p.*,  
35 - u.realName  
36 - from processForm p  
37 - LEFT JOIN users u  
38 - ON p.userId = u.user_id  
39 - </select>  
40 - <delete id="deleteByPrimaryKey" parameterType="com.sunyo.customer.order.activity.model.ProcessForm" >  
41 - delete from processForm  
42 - where formId = #{formid,jdbcType=VARCHAR}  
43 - and processInstanceId = #{processinstanceid,jdbcType=VARCHAR}  
44 - </delete>  
45 - <insert id="insert" parameterType="com.sunyo.customer.order.activity.model.ProcessForm" >  
46 - insert into processForm (formId, processInstanceId, userId,  
47 - processName, beginDate, endDate,  
48 - vacationType, reason, processStatus,  
49 - createTime, updateTime)  
50 - values (#{formid,jdbcType=VARCHAR}, #{processinstanceid,jdbcType=VARCHAR}, #{userid,jdbcType=INTEGER},  
51 - #{processname,jdbcType=VARCHAR}, #{begindate,jdbcType=TIMESTAMP}, #{enddate,jdbcType=TIMESTAMP},  
52 - #{vacationtype,jdbcType=TINYINT}, #{reason,jdbcType=VARCHAR}, #{processstatus,jdbcType=TINYINT},  
53 - #{createtime,jdbcType=TIMESTAMP}, #{updatetime,jdbcType=TIMESTAMP})  
54 - </insert>  
55 - <insert id="insertSelective" parameterType="com.sunyo.customer.order.activity.model.ProcessForm" >  
56 - insert into processForm  
57 - <trim prefix="(" suffix=")" suffixOverrides="," >  
58 - <if test="formid != null" >  
59 - formId,  
60 - </if>  
61 - <if test="processinstanceid != null" >  
62 - processInstanceId,  
63 - </if>  
64 - <if test="userid != null" >  
65 - userId,  
66 - </if>  
67 - <if test="processname != null" >  
68 - processName,  
69 - </if>  
70 - <if test="begindate != null" >  
71 - beginDate,  
72 - </if>  
73 - <if test="enddate != null" >  
74 - endDate,  
75 - </if>  
76 - <if test="vacationtype != null" >  
77 - vacationType,  
78 - </if>  
79 - <if test="reason != null" >  
80 - reason,  
81 - </if>  
82 - <if test="processstatus != null" >  
83 - processStatus,  
84 - </if>  
85 - <if test="createtime != null" >  
86 - createTime,  
87 - </if>  
88 - <if test="updatetime != null" >  
89 - updateTime,  
90 - </if>  
91 - </trim>  
92 - <trim prefix="values (" suffix=")" suffixOverrides="," >  
93 - <if test="formid != null" >  
94 - #{formid,jdbcType=VARCHAR},  
95 - </if>  
96 - <if test="processinstanceid != null" >  
97 - #{processinstanceid,jdbcType=VARCHAR},  
98 - </if>  
99 - <if test="userid != null" >  
100 - #{userid,jdbcType=INTEGER},  
101 - </if>  
102 - <if test="processname != null" >  
103 - #{processname,jdbcType=VARCHAR},  
104 - </if>  
105 - <if test="begindate != null" >  
106 - #{begindate,jdbcType=TIMESTAMP},  
107 - </if>  
108 - <if test="enddate != null" >  
109 - #{enddate,jdbcType=TIMESTAMP},  
110 - </if>  
111 - <if test="vacationtype != null" >  
112 - #{vacationtype,jdbcType=TINYINT},  
113 - </if>  
114 - <if test="reason != null" >  
115 - #{reason,jdbcType=VARCHAR},  
116 - </if>  
117 - <if test="processstatus != null" >  
118 - #{processstatus,jdbcType=TINYINT},  
119 - </if>  
120 - <if test="createtime != null" >  
121 - #{createtime,jdbcType=TIMESTAMP},  
122 - </if>  
123 - <if test="updatetime != null" >  
124 - #{updatetime,jdbcType=TIMESTAMP},  
125 - </if>  
126 - </trim>  
127 - </insert>  
128 - <update id="updateByPrimaryKeySelective" parameterType="com.sunyo.customer.order.activity.model.ProcessForm" >  
129 - update processForm  
130 - <set >  
131 - <if test="userid != null" >  
132 - userId = #{userid,jdbcType=INTEGER},  
133 - </if>  
134 - <if test="processname != null" >  
135 - processName = #{processname,jdbcType=VARCHAR},  
136 - </if>  
137 - <if test="begindate != null" >  
138 - beginDate = #{begindate,jdbcType=TIMESTAMP},  
139 - </if>  
140 - <if test="enddate != null" >  
141 - endDate = #{enddate,jdbcType=TIMESTAMP},  
142 - </if>  
143 - <if test="vacationtype != null" >  
144 - vacationType = #{vacationtype,jdbcType=TINYINT},  
145 - </if>  
146 - <if test="reason != null" >  
147 - reason = #{reason,jdbcType=VARCHAR},  
148 - </if>  
149 - <if test="processstatus != null" >  
150 - processStatus = #{processstatus,jdbcType=TINYINT},  
151 - </if>  
152 - <if test="createtime != null" >  
153 - createTime = #{createtime,jdbcType=TIMESTAMP},  
154 - </if>  
155 - <if test="updatetime != null" >  
156 - updateTime = #{updatetime,jdbcType=TIMESTAMP},  
157 - </if>  
158 - </set>  
159 - where formId = #{formid,jdbcType=VARCHAR}  
160 - and processInstanceId = #{processinstanceid,jdbcType=VARCHAR}  
161 - </update>  
162 - <update id="updateByPrimaryKey" parameterType="com.sunyo.customer.order.activity.model.ProcessForm" >  
163 - update processForm  
164 - set userId = #{userid,jdbcType=INTEGER},  
165 - processName = #{processname,jdbcType=VARCHAR},  
166 - beginDate = #{begindate,jdbcType=TIMESTAMP},  
167 - endDate = #{enddate,jdbcType=TIMESTAMP},  
168 - vacationType = #{vacationtype,jdbcType=TINYINT},  
169 - reason = #{reason,jdbcType=VARCHAR},  
170 - processStatus = #{processstatus,jdbcType=TINYINT},  
171 - createTime = #{createtime,jdbcType=TIMESTAMP},  
172 - updateTime = #{updatetime,jdbcType=TIMESTAMP}  
173 - where formId = #{formid,jdbcType=VARCHAR}  
174 - and processInstanceId = #{processinstanceid,jdbcType=VARCHAR}  
175 - </update>  
176 -</mapper>  
1 -<?xml version="1.0" encoding="UTF-8" ?>  
2 -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >  
3 -<mapper namespace="com.sunyo.customer.order.activity.dao.USERMapper" >  
4 - <resultMap id="BaseResultMap" type="com.sunyo.customer.order.activity.model.USER" >  
5 - <id column="user_id" property="userId" jdbcType="INTEGER" />  
6 - <result column="username" property="username" jdbcType="VARCHAR" />  
7 - <result column="password" property="password" jdbcType="VARCHAR" />  
8 - <result column="birthday" property="birthday" jdbcType="TIMESTAMP" />  
9 - <result column="sex" property="sex" jdbcType="CHAR" />  
10 - <result column="address" property="address" jdbcType="VARCHAR" />  
11 - <result column="state" property="state" jdbcType="BIT" />  
12 - <result column="mobilePhone" property="mobilephone" jdbcType="VARCHAR" />  
13 - <result column="creatTime" property="creattime" jdbcType="TIMESTAMP" />  
14 - <result column="updateTime" property="updatetime" jdbcType="TIMESTAMP" />  
15 - <result column="userFace" property="userface" jdbcType="VARCHAR" />  
16 - <result column="realName" property="realname" jdbcType="VARCHAR" />  
17 - <result column="email" property="email" jdbcType="VARCHAR" />  
18 - <result column="age" property="age" jdbcType="INTEGER" />  
19 - </resultMap>  
20 - <sql id="Base_Column_List" >  
21 - user_id, username, password, birthday, sex, address, state, mobilePhone, creatTime,  
22 - updateTime, userFace, realName, email, age  
23 - </sql>  
24 - <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >  
25 - select  
26 - <include refid="Base_Column_List" />  
27 - from users  
28 - where user_id = #{userId,jdbcType=INTEGER}  
29 - </select>  
30 - <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >  
31 - delete from users  
32 - where user_id = #{userId,jdbcType=INTEGER}  
33 - </delete>  
34 - <insert id="insert" parameterType="com.sunyo.customer.order.activity.model.USER" >  
35 - insert into users (user_id, username, password,  
36 - birthday, sex, address,  
37 - state, mobilePhone, creatTime,  
38 - updateTime, userFace, realName,  
39 - email, age)  
40 - values (#{userId,jdbcType=INTEGER}, #{username,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR},  
41 - #{birthday,jdbcType=TIMESTAMP}, #{sex,jdbcType=CHAR}, #{address,jdbcType=VARCHAR},  
42 - #{state,jdbcType=BIT}, #{mobilephone,jdbcType=VARCHAR}, #{creattime,jdbcType=TIMESTAMP},  
43 - #{updatetime,jdbcType=TIMESTAMP}, #{userface,jdbcType=VARCHAR}, #{realname,jdbcType=VARCHAR},  
44 - #{email,jdbcType=VARCHAR}, #{age,jdbcType=INTEGER})  
45 - </insert>  
46 - <insert id="insertSelective" parameterType="com.sunyo.customer.order.activity.model.USER" >  
47 - insert into users  
48 - <trim prefix="(" suffix=")" suffixOverrides="," >  
49 - <if test="userId != null" >  
50 - user_id,  
51 - </if>  
52 - <if test="username != null" >  
53 - username,  
54 - </if>  
55 - <if test="password != null" >  
56 - password,  
57 - </if>  
58 - <if test="birthday != null" >  
59 - birthday,  
60 - </if>  
61 - <if test="sex != null" >  
62 - sex,  
63 - </if>  
64 - <if test="address != null" >  
65 - address,  
66 - </if>  
67 - <if test="state != null" >  
68 - state,  
69 - </if>  
70 - <if test="mobilephone != null" >  
71 - mobilePhone,  
72 - </if>  
73 - <if test="creattime != null" >  
74 - creatTime,  
75 - </if>  
76 - <if test="updatetime != null" >  
77 - updateTime,  
78 - </if>  
79 - <if test="userface != null" >  
80 - userFace,  
81 - </if>  
82 - <if test="realname != null" >  
83 - realName,  
84 - </if>  
85 - <if test="email != null" >  
86 - email,  
87 - </if>  
88 - <if test="age != null" >  
89 - age,  
90 - </if>  
91 - </trim>  
92 - <trim prefix="values (" suffix=")" suffixOverrides="," >  
93 - <if test="userId != null" >  
94 - #{userId,jdbcType=INTEGER},  
95 - </if>  
96 - <if test="username != null" >  
97 - #{username,jdbcType=VARCHAR},  
98 - </if>  
99 - <if test="password != null" >  
100 - #{password,jdbcType=VARCHAR},  
101 - </if>  
102 - <if test="birthday != null" >  
103 - #{birthday,jdbcType=TIMESTAMP},  
104 - </if>  
105 - <if test="sex != null" >  
106 - #{sex,jdbcType=CHAR},  
107 - </if>  
108 - <if test="address != null" >  
109 - #{address,jdbcType=VARCHAR},  
110 - </if>  
111 - <if test="state != null" >  
112 - #{state,jdbcType=BIT},  
113 - </if>  
114 - <if test="mobilephone != null" >  
115 - #{mobilephone,jdbcType=VARCHAR},  
116 - </if>  
117 - <if test="creattime != null" >  
118 - #{creattime,jdbcType=TIMESTAMP},  
119 - </if>  
120 - <if test="updatetime != null" >  
121 - #{updatetime,jdbcType=TIMESTAMP},  
122 - </if>  
123 - <if test="userface != null" >  
124 - #{userface,jdbcType=VARCHAR},  
125 - </if>  
126 - <if test="realname != null" >  
127 - #{realname,jdbcType=VARCHAR},  
128 - </if>  
129 - <if test="email != null" >  
130 - #{email,jdbcType=VARCHAR},  
131 - </if>  
132 - <if test="age != null" >  
133 - #{age,jdbcType=INTEGER},  
134 - </if>  
135 - </trim>  
136 - </insert>  
137 - <update id="updateByPrimaryKeySelective" parameterType="com.sunyo.customer.order.activity.model.USER" >  
138 - update users  
139 - <set >  
140 - <if test="username != null" >  
141 - username = #{username,jdbcType=VARCHAR},  
142 - </if>  
143 - <if test="password != null" >  
144 - password = #{password,jdbcType=VARCHAR},  
145 - </if>  
146 - <if test="birthday != null" >  
147 - birthday = #{birthday,jdbcType=TIMESTAMP},  
148 - </if>  
149 - <if test="sex != null" >  
150 - sex = #{sex,jdbcType=CHAR},  
151 - </if>  
152 - <if test="address != null" >  
153 - address = #{address,jdbcType=VARCHAR},  
154 - </if>  
155 - <if test="state != null" >  
156 - state = #{state,jdbcType=BIT},  
157 - </if>  
158 - <if test="mobilephone != null" >  
159 - mobilePhone = #{mobilephone,jdbcType=VARCHAR},  
160 - </if>  
161 - <if test="creattime != null" >  
162 - creatTime = #{creattime,jdbcType=TIMESTAMP},  
163 - </if>  
164 - <if test="updatetime != null" >  
165 - updateTime = #{updatetime,jdbcType=TIMESTAMP},  
166 - </if>  
167 - <if test="userface != null" >  
168 - userFace = #{userface,jdbcType=VARCHAR},  
169 - </if>  
170 - <if test="realname != null" >  
171 - realName = #{realname,jdbcType=VARCHAR},  
172 - </if>  
173 - <if test="email != null" >  
174 - email = #{email,jdbcType=VARCHAR},  
175 - </if>  
176 - <if test="age != null" >  
177 - age = #{age,jdbcType=INTEGER},  
178 - </if>  
179 - </set>  
180 - where user_id = #{userId,jdbcType=INTEGER}  
181 - </update>  
182 - <update id="updateByPrimaryKey" parameterType="com.sunyo.customer.order.activity.model.USER" >  
183 - update users  
184 - set username = #{username,jdbcType=VARCHAR},  
185 - password = #{password,jdbcType=VARCHAR},  
186 - birthday = #{birthday,jdbcType=TIMESTAMP},  
187 - sex = #{sex,jdbcType=CHAR},  
188 - address = #{address,jdbcType=VARCHAR},  
189 - state = #{state,jdbcType=BIT},  
190 - mobilePhone = #{mobilephone,jdbcType=VARCHAR},  
191 - creatTime = #{creattime,jdbcType=TIMESTAMP},  
192 - updateTime = #{updatetime,jdbcType=TIMESTAMP},  
193 - userFace = #{userface,jdbcType=VARCHAR},  
194 - realName = #{realname,jdbcType=VARCHAR},  
195 - email = #{email,jdbcType=VARCHAR},  
196 - age = #{age,jdbcType=INTEGER}  
197 - where user_id = #{userId,jdbcType=INTEGER}  
198 - </update>  
199 -</mapper>  
1 -<?xml version="1.0" encoding="UTF-8" standalone="yes"?>  
2 -<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"  
3 - xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI"  
4 - xmlns:activiti="http://activiti.org/bpmn"  
5 - xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC"  
6 - xmlns:tns="http://www.activiti.org/test"  
7 - xmlns:xsd="http://www.w3.org/2001/XMLSchema"  
8 - xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"  
9 - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
10 - expressionLanguage="http://www.w3.org/1999/XPath"  
11 - id="m1575793054911"  
12 - name=""  
13 - targetNamespace="http://www.activiti.org/test"  
14 - typeLanguage="http://www.w3.org/2001/XMLSchema">  
15 - <process id="customProcess" isClosed="false" isExecutable="true" name="工单流程"  
16 - processType="Public">  
17 - <startEvent id="_2" name="StartEvent"/>  
18 - <endEvent id="_3" name="EndEvent"/>  
19 - <userTask activiti:exclusive="true" id="processForm" name="客服工单"/>  
20 - <userTask activiti:exclusive="true" id="job" name="分配任务"/>  
21 - <sequenceFlow id="_6" sourceRef="_2" targetRef="processForm"/>  
22 - <sequenceFlow id="_7" sourceRef="processForm" targetRef="job"/>  
23 - <sequenceFlow id="_8" sourceRef="job" targetRef="_3"/>  
24 - </process>  
25 - <bpmndi:BPMNDiagram xmlns=""  
26 - documentation="background=#3C3F41;count=1;horizontalcount=1;orientation=0;width=842.4;height=1195.2;imageableWidth=832.4;imageableHeight=1185.2;imageableX=5.0;imageableY=5.0"  
27 - id="Diagram-_1"  
28 - name="New Diagram">  
29 - <bpmndi:BPMNPlane bpmnElement="customProcess">  
30 - <bpmndi:BPMNShape bpmnElement="_2" id="Shape-_2">  
31 - <omgdc:Bounds height="32.0" width="32.0" x="115.0" y="65.0"/>  
32 - <bpmndi:BPMNLabel>  
33 - <omgdc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>  
34 - </bpmndi:BPMNLabel>  
35 - </bpmndi:BPMNShape>  
36 - <bpmndi:BPMNShape bpmnElement="_3" id="Shape-_3">  
37 - <omgdc:Bounds height="32.0" width="32.0" x="285.0" y="295.0"/>  
38 - <bpmndi:BPMNLabel>  
39 - <omgdc:Bounds height="32.0" width="32.0" x="0.0" y="0.0"/>  
40 - </bpmndi:BPMNLabel>  
41 - </bpmndi:BPMNShape>  
42 - <bpmndi:BPMNShape bpmnElement="processForm" id="Shape-processForm">  
43 - <omgdc:Bounds height="55.0" width="85.0" x="260.0" y="65.0"/>  
44 - <bpmndi:BPMNLabel>  
45 - <omgdc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/>  
46 - </bpmndi:BPMNLabel>  
47 - </bpmndi:BPMNShape>  
48 - <bpmndi:BPMNShape bpmnElement="job" id="Shape-job">  
49 - <omgdc:Bounds height="55.0" width="85.0" x="270.0" y="165.0"/>  
50 - <bpmndi:BPMNLabel>  
51 - <omgdc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/>  
52 - </bpmndi:BPMNLabel>  
53 - </bpmndi:BPMNShape>  
54 - <bpmndi:BPMNEdge bpmnElement="_6" id="BPMNEdge__6" sourceElement="_2"  
55 - targetElement="processForm">  
56 - <omgdi:waypoint x="147.0" y="81.0"/>  
57 - <omgdi:waypoint x="260.0" y="92.5"/>  
58 - <bpmndi:BPMNLabel>  
59 - <omgdc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>  
60 - </bpmndi:BPMNLabel>  
61 - </bpmndi:BPMNEdge>  
62 - <bpmndi:BPMNEdge bpmnElement="_7" id="BPMNEdge__7" sourceElement="processForm"  
63 - targetElement="job">  
64 - <omgdi:waypoint x="307.5" y="120.0"/>  
65 - <omgdi:waypoint x="307.5" y="165.0"/>  
66 - <bpmndi:BPMNLabel>  
67 - <omgdc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>  
68 - </bpmndi:BPMNLabel>  
69 - </bpmndi:BPMNEdge>  
70 - <bpmndi:BPMNEdge bpmnElement="_8" id="BPMNEdge__8" sourceElement="job" targetElement="_3">  
71 - <omgdi:waypoint x="301.0" y="220.0"/>  
72 - <omgdi:waypoint x="301.0" y="295.0"/>  
73 - <bpmndi:BPMNLabel>  
74 - <omgdc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>  
75 - </bpmndi:BPMNLabel>  
76 - </bpmndi:BPMNEdge>  
77 - </bpmndi:BPMNPlane>  
78 - </bpmndi:BPMNDiagram>  
79 -</definitions>  
1 -<dec:DecMessage Version="3.1" xmlns:dec="http://www.chinaport.gov.cn/dec">  
2 - <dec:DecHead>  
3 - <!--Optional:-->  
4 - <dec:SeqNo>stringstringstring</dec:SeqNo>  
5 - <dec:IEFlag>string</dec:IEFlag>  
6 - <!--Optional:-->  
7 - <dec:Type>st</dec:Type>  
8 - <dec:AgentCode>string</dec:AgentCode>  
9 - <dec:AgentName>string</dec:AgentName>  
10 - <!--Optional:-->  
11 - <dec:ApprNo>string</dec:ApprNo>  
12 - <!--Optional:-->  
13 - <dec:BillNo>string</dec:BillNo>  
14 - <!--Optional:-->  
15 - <dec:ContrNo>string</dec:ContrNo>  
16 - <dec:CustomMaster>stri</dec:CustomMaster>  
17 - <!--Optional:-->  
18 - <dec:CutMode>str</dec:CutMode>  
19 - <dec:DistinatePort>stri</dec:DistinatePort>  
20 - <!--Optional:-->  
21 - <dec:FeeCurr>str</dec:FeeCurr>  
22 - <!--Optional:-->  
23 - <dec:FeeMark>s</dec:FeeMark>  
24 - <!--Optional:-->  
25 - <dec:FeeRate>string</dec:FeeRate>  
26 - <dec:GrossWet>string</dec:GrossWet>  
27 - <!--Optional:-->  
28 - <dec:IEDate>stringst</dec:IEDate>  
29 - <!--Optional:-->  
30 - <dec:IEPort>stri</dec:IEPort>  
31 - <!--Optional:-->  
32 - <dec:InsurCurr>str</dec:InsurCurr>  
33 - <!--Optional:-->  
34 - <dec:InsurMark>s</dec:InsurMark>  
35 - <!--Optional:-->  
36 - <dec:InsurRate>string</dec:InsurRate>  
37 - <!--Optional:-->  
38 - <dec:LicenseNo>string</dec:LicenseNo>  
39 - <!--Optional:-->  
40 - <dec:ManualNo>string</dec:ManualNo>  
41 - <dec:NetWt>string</dec:NetWt>  
42 - <!--Optional:-->  
43 - <dec:NoteS>string</dec:NoteS>  
44 - <!--Optional:-->  
45 - <dec:OtherCurr>str</dec:OtherCurr>  
46 - <!--Optional:-->  
47 - <dec:OtherMark>s</dec:OtherMark>  
48 - <!--Optional:-->  
49 - <dec:OtherRate>string</dec:OtherRate>  
50 - <!--Optional:-->  
51 - <dec:OwnerCode>string</dec:OwnerCode>  
52 - <dec:OwnerName>string</dec:OwnerName>  
53 - <dec:PackNo>string</dec:PackNo>  
54 - <dec:TradeCode>string</dec:TradeCode>  
55 - <dec:TradeCountry>str</dec:TradeCountry>  
56 - <dec:TradeMode>stri</dec:TradeMode>  
57 - <dec:TradeName>string</dec:TradeName>  
58 - <dec:TrafMode>s</dec:TrafMode>  
59 - <!--Optional:-->  
60 - <dec:TrafName>string</dec:TrafName>  
61 - <!--Optional:-->  
62 - <dec:TransMode>s</dec:TransMode>  
63 - <dec:WrapType>s</dec:WrapType>  
64 - <!--Optional:-->  
65 - <dec:EntryId>stringstringstring</dec:EntryId>  
66 - <!--Optional:-->  
67 - <dec:PreEntryId>stringstr</dec:PreEntryId>  
68 - <dec:EdiId>s</dec:EdiId>  
69 - <!--Optional:-->  
70 - <dec:Risk>string</dec:Risk>  
71 - <dec:CopName>string</dec:CopName>  
72 - <!--Optional:-->  
73 - <dec:CopCode>stringstr</dec:CopCode>  
74 - <dec:EntryType>s</dec:EntryType>  
75 - <!--Optional:-->  
76 - <dec:PDate>string</dec:PDate>  
77 - <!--Optional:-->  
78 - <dec:TypistNo>string</dec:TypistNo>  
79 - <!--Optional:-->  
80 - <dec:InputerName>string</dec:InputerName>  
81 - <!--Optional:-->  
82 - <dec:PartenerID>string</dec:PartenerID>  
83 - <!--Optional:-->  
84 - <dec:TgdNo>stringstringstring</dec:TgdNo>  
85 - <!--Optional:-->  
86 - <dec:DataSource>strin</dec:DataSource>  
87 - <dec:DeclTrnRel>s</dec:DeclTrnRel>  
88 - <!--Optional:-->  
89 - <dec:ChkSurety>s</dec:ChkSurety>  
90 - <!--Optional:-->  
91 - <dec:BillType>s</dec:BillType>  
92 - <!--Optional:-->  
93 - <dec:CopCodeScc>stringstringstring</dec:CopCodeScc>  
94 - <!--Optional:-->  
95 - <dec:OwnerCodeScc>string</dec:OwnerCodeScc>  
96 - <!--Optional:-->  
97 - <dec:AgentCodeScc>string</dec:AgentCodeScc>  
98 - <!--Optional:-->  
99 - <dec:TradeCoScc>string</dec:TradeCoScc>  
100 - <dec:PromiseItmes>string</dec:PromiseItmes>  
101 - <dec:TradeAreaCode>str</dec:TradeAreaCode>  
102 - <!--Optional:-->  
103 - <dec:CheckFlow>s</dec:CheckFlow>  
104 - <!--Optional:-->  
105 - <dec:TaxAaminMark>s</dec:TaxAaminMark>  
106 - <!--Optional:-->  
107 - <dec:MarkNo>string</dec:MarkNo>  
108 - <dec:DespPortCode>string</dec:DespPortCode>  
109 - <dec:EntyPortCode>string</dec:EntyPortCode>  
110 - <dec:GoodsPlace>string</dec:GoodsPlace>  
111 - <!--Optional:-->  
112 - <dec:BLNo>string</dec:BLNo>  
113 - <!--Optional:-->  
114 - <dec:InspOrgCode>string</dec:InspOrgCode>  
115 - <!--Optional:-->  
116 - <dec:SpecDeclFlag>string</dec:SpecDeclFlag>  
117 - <!--Optional:-->  
118 - <dec:PurpOrgCode>string</dec:PurpOrgCode>  
119 - <!--Optional:-->  
120 - <dec:DespDate>string</dec:DespDate>  
121 - <!--Optional:-->  
122 - <dec:CmplDschrgDt>string</dec:CmplDschrgDt>  
123 - <!--Optional:-->  
124 - <dec:CorrelationReasonFlag>st</dec:CorrelationReasonFlag>  
125 - <!--Optional:-->  
126 - <dec:VsaOrgCode>string</dec:VsaOrgCode>  
127 - <!--Optional:-->  
128 - <dec:OrigBoxFlag>s</dec:OrigBoxFlag>  
129 - <dec:DeclareName>string</dec:DeclareName>  
130 - <dec:NoOtherPack>s</dec:NoOtherPack>  
131 - <!--Optional:-->  
132 - <dec:OrgCode>string</dec:OrgCode>  
133 - <!--Optional:-->  
134 - <dec:OverseasConsignorCode>string</dec:OverseasConsignorCode>  
135 - <!--Optional:-->  
136 - <dec:OverseasConsignorCname>string</dec:OverseasConsignorCname>  
137 - <!--Optional:-->  
138 - <dec:OverseasConsignorEname>string</dec:OverseasConsignorEname>  
139 - <!--Optional:-->  
140 - <dec:OverseasConsignorAddr>string</dec:OverseasConsignorAddr>  
141 - <!--Optional:-->  
142 - <dec:OverseasConsigneeCode>string</dec:OverseasConsigneeCode>  
143 - <!--Optional:-->  
144 - <dec:OverseasConsigneeEname>string</dec:OverseasConsigneeEname>  
145 - <!--Optional:-->  
146 - <dec:DomesticConsigneeEname>string</dec:DomesticConsigneeEname>  
147 - <!--Optional:-->  
148 - <dec:CorrelationNo>string</dec:CorrelationNo>  
149 - <!--Optional:-->  
150 - <dec:EdiRemark2>string</dec:EdiRemark2>  
151 - <!--Optional:-->  
152 - <dec:EdiRemark>string</dec:EdiRemark>  
153 - </dec:DecHead>  
154 - <dec:DecLists>  
155 - <!--0 to 50 repetitions:-->  
156 - <dec:DecList>  
157 - <!--Optional:-->  
158 - <dec:ClassMark>s</dec:ClassMark>  
159 - <dec:CodeTS>stringstri</dec:CodeTS>  
160 - <!--Optional:-->  
161 - <dec:ContrItem>string</dec:ContrItem>  
162 - <dec:DeclPrice>string</dec:DeclPrice>  
163 - <!--Optional:-->  
164 - <dec:DutyMode>string</dec:DutyMode>  
165 - <!--Optional:-->  
166 - <dec:Factor>string</dec:Factor>  
167 - <!--Optional:-->  
168 - <dec:GModel>string</dec:GModel>  
169 - <dec:GName>string</dec:GName>  
170 - <dec:GNo>string</dec:GNo>  
171 - <dec:OriginCountry>str</dec:OriginCountry>  
172 - <!--Optional:-->  
173 - <dec:TradeCurr>string</dec:TradeCurr>  
174 - <dec:DeclTotal>string</dec:DeclTotal>  
175 - <dec:GQty>string</dec:GQty>  
176 - <!--Optional:-->  
177 - <dec:FirstQty>string</dec:FirstQty>  
178 - <!--Optional:-->  
179 - <dec:SecondQty>string</dec:SecondQty>  
180 - <!--Optional:-->  
181 - <dec:GUnit>str</dec:GUnit>  
182 - <!--Optional:-->  
183 - <dec:FirstUnit>str</dec:FirstUnit>  
184 - <!--Optional:-->  
185 - <dec:SecondUnit>str</dec:SecondUnit>  
186 - <!--Optional:-->  
187 - <dec:UseTo>st</dec:UseTo>  
188 - <!--Optional:-->  
189 - <dec:WorkUsd>string</dec:WorkUsd>  
190 - <!--Optional:-->  
191 - <dec:ExgNo>string</dec:ExgNo>  
192 - <!--Optional:-->  
193 - <dec:ExgVersion>string</dec:ExgVersion>  
194 - <dec:DestinationCountry>str</dec:DestinationCountry>  
195 - <dec:CiqCode>string</dec:CiqCode>  
196 - <!--Optional:-->  
197 - <dec:DeclGoodsEname>string</dec:DeclGoodsEname>  
198 - <!--Optional:-->  
199 - <dec:OrigPlaceCode>string</dec:OrigPlaceCode>  
200 - <!--Optional:-->  
201 - <dec:Purpose>stri</dec:Purpose>  
202 - <!--Optional:-->  
203 - <dec:ProdValidDt>string</dec:ProdValidDt>  
204 - <!--Optional:-->  
205 - <dec:ProdQgp>string</dec:ProdQgp>  
206 - <!--Optional:-->  
207 - <dec:GoodsAttr>string</dec:GoodsAttr>  
208 - <!--Optional:-->  
209 - <dec:Stuff>string</dec:Stuff>  
210 - <!--Optional:-->  
211 - <dec:Uncode>string</dec:Uncode>  
212 - <!--Optional:-->  
213 - <dec:DangName>string</dec:DangName>  
214 - <!--Optional:-->  
215 - <dec:DangPackType>stri</dec:DangPackType>  
216 - <!--Optional:-->  
217 - <dec:DangPackSpec>string</dec:DangPackSpec>  
218 - <!--Optional:-->  
219 - <dec:EngManEntCnm>string</dec:EngManEntCnm>  
220 - <!--Optional:-->  
221 - <dec:NoDangFlag>s</dec:NoDangFlag>  
222 - <!--Optional:-->  
223 - <dec:DestCode>string</dec:DestCode>  
224 - <!--Optional:-->  
225 - <dec:GoodsSpec>string</dec:GoodsSpec>  
226 - <!--Optional:-->  
227 - <dec:GoodsModel>string</dec:GoodsModel>  
228 - <!--Optional:-->  
229 - <dec:GoodsBrand>string</dec:GoodsBrand>  
230 - <!--Optional:-->  
231 - <dec:ProduceDate>string</dec:ProduceDate>  
232 - <!--Optional:-->  
233 - <dec:ProdBatchNo>string</dec:ProdBatchNo>  
234 - <!--Optional:-->  
235 - <dec:DistrictCode>string</dec:DistrictCode>  
236 - <!--Optional:-->  
237 - <dec:CiqName>string</dec:CiqName>  
238 - <!--Optional:-->  
239 - <dec:DecGoodsLimits>  
240 - <!--Zero or more repetitions:-->  
241 - <dec:DecGoodsLimit>  
242 - <dec:GoodsNo>string</dec:GoodsNo>  
243 - <dec:LicTypeCode>strin</dec:LicTypeCode>  
244 - <!--Optional:-->  
245 - <dec:LicenceNo>string</dec:LicenceNo>  
246 - <!--Optional:-->  
247 - <dec:LicWrtofDetailNo>st</dec:LicWrtofDetailNo>  
248 - <!--Optional:-->  
249 - <dec:LicWrtofQty>string</dec:LicWrtofQty>  
250 - <!--Zero or more repetitions:-->  
251 - <dec:DecGoodsLimitVin>  
252 - <dec:LicenceNo>string</dec:LicenceNo>  
253 - <dec:LicTypeCode>strin</dec:LicTypeCode>  
254 - <dec:VinNo>strin</dec:VinNo>  
255 - <!--Optional:-->  
256 - <dec:BillLadDate>string</dec:BillLadDate>  
257 - <!--Optional:-->  
258 - <dec:QualityQgp>string</dec:QualityQgp>  
259 - <!--Optional:-->  
260 - <dec:MotorNo>string</dec:MotorNo>  
261 - <!--Optional:-->  
262 - <dec:VinCode>string</dec:VinCode>  
263 - <!--Optional:-->  
264 - <dec:ChassisNo>string</dec:ChassisNo>  
265 - <!--Optional:-->  
266 - <dec:InvoiceNum>string</dec:InvoiceNum>  
267 - <!--Optional:-->  
268 - <dec:ProdCnnm>string</dec:ProdCnnm>  
269 - <!--Optional:-->  
270 - <dec:ProdEnnm>string</dec:ProdEnnm>  
271 - <!--Optional:-->  
272 - <dec:ModelEn>string</dec:ModelEn>  
273 - <!--Optional:-->  
274 - <dec:PricePerUnit>string</dec:PricePerUnit>  
275 - </dec:DecGoodsLimitVin>  
276 - </dec:DecGoodsLimit>  
277 - </dec:DecGoodsLimits>  
278 - <!--Optional:-->  
279 - <dec:MnufctrRegNo>string</dec:MnufctrRegNo>  
280 - <!--Optional:-->  
281 - <dec:MnufctrRegName>string</dec:MnufctrRegName>  
282 - </dec:DecList>  
283 - </dec:DecLists>  
284 - <dec:DecContainers>  
285 - <!--0 to 500 repetitions:-->  
286 - <dec:Container>  
287 - <dec:ContainerId>string</dec:ContainerId>  
288 - <dec:ContainerMd>str</dec:ContainerMd>  
289 - <!--Optional:-->  
290 - <dec:GoodsNo>string</dec:GoodsNo>  
291 - <!--Optional:-->  
292 - <dec:LclFlag>s</dec:LclFlag>  
293 - <!--Optional:-->  
294 - <dec:GoodsContaWt>string</dec:GoodsContaWt>  
295 - </dec:Container>  
296 - </dec:DecContainers>  
297 - <dec:DecLicenseDocus>  
298 - <!--0 to 7 repetitions:-->  
299 - <dec:LicenseDocu>  
300 - <dec:DocuCode>s</dec:DocuCode>  
301 - <dec:CertCode>string</dec:CertCode>  
302 - </dec:LicenseDocu>  
303 - </dec:DecLicenseDocus>  
304 - <!--Optional:-->  
305 - <dec:DecRequestCerts>  
306 - <!--Zero or more repetitions:-->  
307 - <dec:DecRequestCert>  
308 - <dec:AppCertCode>string</dec:AppCertCode>  
309 - <dec:ApplOri>string</dec:ApplOri>  
310 - <dec:ApplCopyQuan>string</dec:ApplCopyQuan>  
311 - </dec:DecRequestCert>  
312 - </dec:DecRequestCerts>  
313 - <!--Optional:-->  
314 - <dec:DecOtherPacks>  
315 - <!--Zero or more repetitions:-->  
316 - <dec:DecOtherPack>  
317 - <dec:PackQty>string</dec:PackQty>  
318 - <dec:PackType>string</dec:PackType>  
319 - </dec:DecOtherPack>  
320 - </dec:DecOtherPacks>  
321 - <!--Optional:-->  
322 - <dec:DecCopLimits>  
323 - <!--Zero or more repetitions:-->  
324 - <dec:DecCopLimit>  
325 - <!--Optional:-->  
326 - <dec:EntQualifNo>string</dec:EntQualifNo>  
327 - <dec:EntQualifTypeCode>strin</dec:EntQualifTypeCode>  
328 - </dec:DecCopLimit>  
329 - </dec:DecCopLimits>  
330 - <!--Optional:-->  
331 - <dec:DecUsers>  
332 - <!--Zero or more repetitions:-->  
333 - <dec:DecUser>  
334 - <!--Optional:-->  
335 - <dec:UseOrgPersonCode>string</dec:UseOrgPersonCode>  
336 - <!--Optional:-->  
337 - <dec:UseOrgPersonTel>strin</dec:UseOrgPersonTel>  
338 - </dec:DecUser>  
339 - </dec:DecUsers>  
340 - <!--Optional:-->  
341 - <dec:DecMarkLobs>  
342 - <!--Zero or more repetitions:-->  
343 - <dec:DecMarkLob>  
344 - <dec:AttachName>string</dec:AttachName>  
345 - <!--Optional:-->  
346 - <dec:AttachType>st</dec:AttachType>  
347 - <dec:Attachment>65</dec:Attachment>  
348 - </dec:DecMarkLob>  
349 - </dec:DecMarkLobs>  
350 - <dec:DecFreeTxt>  
351 - <!--Optional:-->  
352 - <dec:RelId>string</dec:RelId>  
353 - <!--Optional:-->  
354 - <dec:RelManNo>stringstring</dec:RelManNo>  
355 - <!--Optional:-->  
356 - <dec:BonNo>string</dec:BonNo>  
357 - <!--Optional:-->  
358 - <dec:VoyNo>string</dec:VoyNo>  
359 - <!--Optional:-->  
360 - <dec:DecBpNo>string</dec:DecBpNo>  
361 - <!--Optional:-->  
362 - <dec:CusFie>string</dec:CusFie>  
363 - <!--Optional:-->  
364 - <dec:DecNo>string</dec:DecNo>  
365 - </dec:DecFreeTxt>  
366 - <dec:DecSign>  
367 - <dec:OperType>s</dec:OperType>  
368 - <!--Optional:-->  
369 - <dec:ICCode>stringstrings</dec:ICCode>  
370 - <!--Optional:-->  
371 - <dec:CopCode>stringstr</dec:CopCode>  
372 - <!--Optional:-->  
373 - <dec:OperName>string</dec:OperName>  
374 - <dec:ClientSeqNo>string</dec:ClientSeqNo>  
375 - <dec:Sign>string</dec:Sign>  
376 - <dec:SignDate>stringstringstri</dec:SignDate>  
377 - <!--Optional:-->  
378 - <dec:Certificate>string</dec:Certificate>  
379 - <dec:HostId>string</dec:HostId>  
380 - <!--Optional:-->  
381 - <dec:BillSeqNo>string</dec:BillSeqNo>  
382 - <!--Optional:-->  
383 - <dec:DomainId>s</dec:DomainId>  
384 - <!--Optional:-->  
385 - <dec:Note>string</dec:Note>  
386 - </dec:DecSign>  
387 - <!--Optional:-->  
388 - <dec:TrnHead>  
389 - <!--Optional:-->  
390 - <dec:TrnPreId>stringstringstring</dec:TrnPreId>  
391 - <!--Optional:-->  
392 - <dec:TransNo>stringstringstri</dec:TransNo>  
393 - <!--Optional:-->  
394 - <dec:TurnNo>stringstringstri</dec:TurnNo>  
395 - <!--Optional:-->  
396 - <dec:NativeTrafMode>s</dec:NativeTrafMode>  
397 - <!--Optional:-->  
398 - <dec:TrafCustomsNo>stringstrings</dec:TrafCustomsNo>  
399 - <!--Optional:-->  
400 - <dec:NativeShipName>string</dec:NativeShipName>  
401 - <!--Optional:-->  
402 - <dec:NativeVoyageNo>stringstringstringstringstringst</dec:NativeVoyageNo>  
403 - <!--Optional:-->  
404 - <dec:ContractorName>string</dec:ContractorName>  
405 - <!--Optional:-->  
406 - <dec:ContractorCode>stringstri</dec:ContractorCode>  
407 - <!--Optional:-->  
408 - <dec:TransFlag>st</dec:TransFlag>  
409 - <!--Optional:-->  
410 - <dec:ValidTime>stringst</dec:ValidTime>  
411 - <!--Optional:-->  
412 - <dec:ESealFlag>s</dec:ESealFlag>  
413 - <!--Optional:-->  
414 - <dec:Notes>string</dec:Notes>  
415 - <!--Optional:-->  
416 - <dec:TrnType>s</dec:TrnType>  
417 - <!--Optional:-->  
418 - <dec:ApplCodeScc>stringstringstring</dec:ApplCodeScc>  
419 - </dec:TrnHead>  
420 - <!--Optional:-->  
421 - <dec:TrnList>  
422 - <!--Optional:-->  
423 - <dec:TrafMode>s</dec:TrafMode>  
424 - <!--Optional:-->  
425 - <dec:ShipId>string</dec:ShipId>  
426 - <!--Optional:-->  
427 - <dec:ShipNameEn>string</dec:ShipNameEn>  
428 - <!--Optional:-->  
429 - <dec:VoyageNo>string</dec:VoyageNo>  
430 - <!--Optional:-->  
431 - <dec:BillNo>string</dec:BillNo>  
432 - <!--Optional:-->  
433 - <dec:IEDate>stringst</dec:IEDate>  
434 - </dec:TrnList>  
435 - <!--Optional:-->  
436 - <dec:TrnContainers>  
437 - <!--0 to 500 repetitions:-->  
438 - <dec:TrnContainer>  
439 - <dec:ContaNo>string</dec:ContaNo>  
440 - <!--Optional:-->  
441 - <dec:ContaSn>string</dec:ContaSn>  
442 - <!--Optional:-->  
443 - <dec:ContaModel>stri</dec:ContaModel>  
444 - <!--Optional:-->  
445 - <dec:SealNo>string</dec:SealNo>  
446 - <!--Optional:-->  
447 - <dec:TransName>string</dec:TransName>  
448 - <!--Optional:-->  
449 - <dec:TransWeight>string</dec:TransWeight>  
450 - </dec:TrnContainer>  
451 - </dec:TrnContainers>  
452 - <!--Optional:-->  
453 - <dec:TrnContaGoodsList>  
454 - <!--Zero or more repetitions:-->  
455 - <dec:TrnContaGoods>  
456 - <dec:ContaNo>string</dec:ContaNo>  
457 - <dec:GNo>string</dec:GNo>  
458 - <dec:ContaGoodsCount>string</dec:ContaGoodsCount>  
459 - <dec:ContaGoodsWeight>string</dec:ContaGoodsWeight>  
460 - </dec:TrnContaGoods>  
461 - </dec:TrnContaGoodsList>  
462 - <!--Optional:-->  
463 - <dec:DecSupplementLists>  
464 - <!--0 to 60 repetitions:-->  
465 - <dec:DecSupplementList>  
466 - <dec:GNo>st</dec:GNo>  
467 - <dec:SupType>s</dec:SupType>  
468 - <dec:BrandCN>string</dec:BrandCN>  
469 - <dec:BrandEN>string</dec:BrandEN>  
470 - <dec:Buyer>string</dec:Buyer>  
471 - <dec:BuyerContact>string</dec:BuyerContact>  
472 - <dec:BuyerAddr>string</dec:BuyerAddr>  
473 - <dec:BuyerTel>string</dec:BuyerTel>  
474 - <dec:Seller>string</dec:Seller>  
475 - <dec:SellerContact>string</dec:SellerContact>  
476 - <dec:SellerAddr>string</dec:SellerAddr>  
477 - <dec:SellerTel>string</dec:SellerTel>  
478 - <dec:Factory>string</dec:Factory>  
479 - <dec:FactoryContact>string</dec:FactoryContact>  
480 - <dec:FactoryAddr>string</dec:FactoryAddr>  
481 - <dec:FactoryTel>string</dec:FactoryTel>  
482 - <dec:ContrNo>string</dec:ContrNo>  
483 - <dec:ContrDate>string</dec:ContrDate>  
484 - <dec:InvoiceNo>string</dec:InvoiceNo>  
485 - <dec:InvoiceDate>string</dec:InvoiceDate>  
486 - <dec:I_BabRel>string</dec:I_BabRel>  
487 - <dec:I_PriceEffect>s</dec:I_PriceEffect>  
488 - <dec:I_PriceClose>string</dec:I_PriceClose>  
489 - <dec:I_OtherLimited>s</dec:I_OtherLimited>  
490 - <dec:I_OtherEffect>s</dec:I_OtherEffect>  
491 - <dec:I_Note1>string</dec:I_Note1>  
492 - <dec:I_IsUsefee>s</dec:I_IsUsefee>  
493 - <dec:I_IsProfit>s</dec:I_IsProfit>  
494 - <dec:I_Note2>string</dec:I_Note2>  
495 - <dec:Curr>str</dec:Curr>  
496 - <dec:InvoicePrice>string</dec:InvoicePrice>  
497 - <dec:InvoiceAmount>string</dec:InvoiceAmount>  
498 - <dec:InvoiceNote>string</dec:InvoiceNote>  
499 - <dec:GoodsPrice>string</dec:GoodsPrice>  
500 - <dec:GoodsAmount>string</dec:GoodsAmount>  
501 - <dec:GoodsNote>string</dec:GoodsNote>  
502 - <dec:I_CommissionPrice>string</dec:I_CommissionPrice>  
503 - <dec:I_CommissionAmount>string</dec:I_CommissionAmount>  
504 - <dec:I_CommissionNote>string</dec:I_CommissionNote>  
505 - <dec:I_ContainerPrice>string</dec:I_ContainerPrice>  
506 - <dec:I_ContainerAmount>string</dec:I_ContainerAmount>  
507 - <dec:I_ContainerNote>string</dec:I_ContainerNote>  
508 - <dec:I_PackPrice>string</dec:I_PackPrice>  
509 - <dec:I_PackAmount>string</dec:I_PackAmount>  
510 - <dec:I_PackNote>string</dec:I_PackNote>  
511 - <dec:I_PartPrice>string</dec:I_PartPrice>  
512 - <dec:I_PartAmount>string</dec:I_PartAmount>  
513 - <dec:I_PartNote>string</dec:I_PartNote>  
514 - <dec:I_ToolPrice>string</dec:I_ToolPrice>  
515 - <dec:I_ToolAmount>string</dec:I_ToolAmount>  
516 - <dec:I_ToolNote>string</dec:I_ToolNote>  
517 - <dec:I_LossPrice>string</dec:I_LossPrice>  
518 - <dec:I_LossAmount>string</dec:I_LossAmount>  
519 - <dec:I_LossNote>string</dec:I_LossNote>  
520 - <dec:I_DesignPrice>string</dec:I_DesignPrice>  
521 - <dec:I_DesignAmount>string</dec:I_DesignAmount>  
522 - <dec:I_DesignNote>string</dec:I_DesignNote>  
523 - <dec:I_UsefeePrice>string</dec:I_UsefeePrice>  
524 - <dec:I_UsefeeAmount>string</dec:I_UsefeeAmount>  
525 - <dec:I_UsefeeNote>string</dec:I_UsefeeNote>  
526 - <dec:I_ProfitPrice>string</dec:I_ProfitPrice>  
527 - <dec:I_ProfitAmount>string</dec:I_ProfitAmount>  
528 - <dec:I_ProfitNote>string</dec:I_ProfitNote>  
529 - <dec:I_FeePrice>string</dec:I_FeePrice>  
530 - <dec:I_FeeAmount>string</dec:I_FeeAmount>  
531 - <dec:I_FeeNote>string</dec:I_FeeNote>  
532 - <dec:I_OtherPrice>string</dec:I_OtherPrice>  
533 - <dec:I_OtherAmount>string</dec:I_OtherAmount>  
534 - <dec:I_OtherNote>string</dec:I_OtherNote>  
535 - <dec:I_InsurPrice>string</dec:I_InsurPrice>  
536 - <dec:I_InsurAmount>string</dec:I_InsurAmount>  
537 - <dec:I_InsurNote>string</dec:I_InsurNote>  
538 - <dec:E_IsDutyDel>s</dec:E_IsDutyDel>  
539 - <dec:GNameOther>string</dec:GNameOther>  
540 - <dec:CodeTsOther>stringstri</dec:CodeTsOther>  
541 - <dec:IsClassDecision>s</dec:IsClassDecision>  
542 - <dec:DecisionNO>string</dec:DecisionNO>  
543 - <dec:CodeTsDecision>stringstri</dec:CodeTsDecision>  
544 - <dec:DecisionCus>stri</dec:DecisionCus>  
545 - <dec:IsSampleTest>s</dec:IsSampleTest>  
546 - <dec:GOptions>string</dec:GOptions>  
547 - <dec:TrafMode>s</dec:TrafMode>  
548 - <dec:IsDirectTraf>s</dec:IsDirectTraf>  
549 - <dec:TransitCountry>string</dec:TransitCountry>  
550 - <dec:DestPort>stri</dec:DestPort>  
551 - <dec:DeclPort>stri</dec:DeclPort>  
552 - <dec:BillNo>string</dec:BillNo>  
553 - <dec:OriginCountry>str</dec:OriginCountry>  
554 - <dec:OriginMark>strin</dec:OriginMark>  
555 - <dec:CertCountry>string</dec:CertCountry>  
556 - <dec:CertNO>string</dec:CertNO>  
557 - <dec:CertStandard>s</dec:CertStandard>  
558 - <dec:OtherNote>string</dec:OtherNote>  
559 - <dec:IsSecret>s</dec:IsSecret>  
560 - <dec:AgentType>s</dec:AgentType>  
561 - <dec:DeclAddr>string</dec:DeclAddr>  
562 - <dec:DeclPost>string</dec:DeclPost>  
563 - <dec:DeclTel>string</dec:DeclTel>  
564 - </dec:DecSupplementList>  
565 - </dec:DecSupplementLists>  
566 - <!--1 to 10 repetitions:-->  
567 - <dec:EdocRealation>  
568 - <dec:EdocID>string</dec:EdocID>  
569 - <dec:EdocCode>stringst</dec:EdocCode>  
570 - <dec:EdocFomatType>st</dec:EdocFomatType>  
571 - <dec:OpNote>string</dec:OpNote>  
572 - <dec:EdocCopId>string</dec:EdocCopId>  
573 - <dec:EdocOwnerCode>stringstri</dec:EdocOwnerCode>  
574 - <dec:SignUnit>string</dec:SignUnit>  
575 - <dec:SignTime>stringstringst</dec:SignTime>  
576 - <!--Optional:-->  
577 - <dec:EdocOwnerName>string</dec:EdocOwnerName>  
578 - <!--Optional:-->  
579 - <dec:EdocSize>string</dec:EdocSize>  
580 - </dec:EdocRealation>  
581 - <!--0 to 20 repetitions:-->  
582 - <dec:EcoRelation>  
583 - <dec:CertType>str</dec:CertType>  
584 - <dec:EcoCertNo>stringstringstringstringstringstringstringstringstringstringstri</dec:EcoCertNo>  
585 - <dec:DecGNo>string</dec:DecGNo>  
586 - <dec:EcoGNo>string</dec:EcoGNo>  
587 - <!--Optional:-->  
588 - <dec:ExtendFiled>string</dec:ExtendFiled>  
589 - </dec:EcoRelation>  
590 - <!--Optional:-->  
591 - <dec:SddTax>  
592 - <dec:SddTaxHead>  
593 - <!--Optional:-->  
594 - <dec:FileName>string</dec:FileName>  
595 - <!--Optional:-->  
596 - <dec:SeqNo>string</dec:SeqNo>  
597 - <!--Optional:-->  
598 - <dec:SddNo>string</dec:SddNo>  
599 - <!--Optional:-->  
600 - <dec:IEFlag>s</dec:IEFlag>  
601 - <!--Optional:-->  
602 - <dec:DeclPort>stri</dec:DeclPort>  
603 - <!--Optional:-->  
604 - <dec:DDate>string</dec:DDate>  
605 - <!--Optional:-->  
606 - <dec:TradeCo>stringstri</dec:TradeCo>  
607 - <!--Optional:-->  
608 - <dec:TradeName>string</dec:TradeName>  
609 - <!--Optional:-->  
610 - <dec:InRatio>string</dec:InRatio>  
611 - <!--Optional:-->  
612 - <dec:TradeMode>stri</dec:TradeMode>  
613 - <!--Optional:-->  
614 - <dec:CutMode>str</dec:CutMode>  
615 - <!--Optional:-->  
616 - <dec:TransMode>s</dec:TransMode>  
617 - <!--Optional:-->  
618 - <dec:FeeMark>s</dec:FeeMark>  
619 - <!--Optional:-->  
620 - <dec:FeeCurr>str</dec:FeeCurr>  
621 - <!--Optional:-->  
622 - <dec:FeeRate>string</dec:FeeRate>  
623 - <!--Optional:-->  
624 - <dec:InsurMark>s</dec:InsurMark>  
625 - <!--Optional:-->  
626 - <dec:InsurCurr>str</dec:InsurCurr>  
627 - <!--Optional:-->  
628 - <dec:InsurRate>string</dec:InsurRate>  
629 - <!--Optional:-->  
630 - <dec:OtherMark>s</dec:OtherMark>  
631 - <!--Optional:-->  
632 - <dec:OtherCurr>str</dec:OtherCurr>  
633 - <!--Optional:-->  
634 - <dec:OtherRate>string</dec:OtherRate>  
635 - <!--Optional:-->  
636 - <dec:ManualNo>string</dec:ManualNo>  
637 - <!--Optional:-->  
638 - <dec:TradeCoScc>stringstringstring</dec:TradeCoScc>  
639 - <!--Optional:-->  
640 - <dec:GrossWt>string</dec:GrossWt>  
641 - <!--Optional:-->  
642 - <dec:NoteS>string</dec:NoteS>  
643 - <dec:LegalLiability>string</dec:LegalLiability>  
644 - <dec:Sign>string</dec:Sign>  
645 - <!--Optional:-->  
646 - <dec:MessId>string</dec:MessId>  
647 - <!--Optional:-->  
648 - <dec:CertSeqNo>string</dec:CertSeqNo>  
649 - <!--Optional:-->  
650 - <dec:Status>string</dec:Status>  
651 - <!--Optional:-->  
652 - <dec:F_DATE>string</dec:F_DATE>  
653 - <dec:TAX_NO>string</dec:TAX_NO>  
654 - </dec:SddTaxHead>  
655 - <dec:SddTaxLists>  
656 - <!--1 to 50 repetitions:-->  
657 - <dec:SddTaxList>  
658 - <dec:GNo>string</dec:GNo>  
659 - <!--Optional:-->  
660 - <dec:CodeTs>string</dec:CodeTs>  
661 - <!--Optional:-->  
662 - <dec:GName>string</dec:GName>  
663 - <!--Optional:-->  
664 - <dec:OriginCountry>str</dec:OriginCountry>  
665 - <!--Optional:-->  
666 - <dec:AgreementId>str</dec:AgreementId>  
667 - <!--Optional:-->  
668 - <dec:Qty1>string</dec:Qty1>  
669 - <!--Optional:-->  
670 - <dec:Unit1>str</dec:Unit1>  
671 - <!--Optional:-->  
672 - <dec:Qty2>string</dec:Qty2>  
673 - <!--Optional:-->  
674 - <dec:Unit2>str</dec:Unit2>  
675 - <!--Optional:-->  
676 - <dec:TradeCurr>str</dec:TradeCurr>  
677 - <!--Optional:-->  
678 - <dec:DeclPrice>string</dec:DeclPrice>  
679 - <!--Optional:-->  
680 - <dec:DeclTotal>string</dec:DeclTotal>  
681 - <!--Optional:-->  
682 - <dec:DutyMode>s</dec:DutyMode>  
683 - <!--Optional:-->  
684 - <dec:Antidumping>s</dec:Antidumping>  
685 - <!--Optional:-->  
686 - <dec:Antisubsidy>s</dec:Antisubsidy>  
687 - <!--Optional:-->  
688 - <dec:DutyValue>string</dec:DutyValue>  
689 - <!--Optional:-->  
690 - <dec:DutyRate>string</dec:DutyRate>  
691 - <!--Optional:-->  
692 - <dec:QtyDutyRate>string</dec:QtyDutyRate>  
693 - <!--Optional:-->  
694 - <dec:RegRate>string</dec:RegRate>  
695 - <!--Optional:-->  
696 - <dec:QtyRegRate>string</dec:QtyRegRate>  
697 - <!--Optional:-->  
698 - <dec:TaxRate>string</dec:TaxRate>  
699 - <!--Optional:-->  
700 - <dec:AntidumpingRate>string</dec:AntidumpingRate>  
701 - <!--Optional:-->  
702 - <dec:AntisubsidyRate>string</dec:AntisubsidyRate>  
703 - <!--Optional:-->  
704 - <dec:TrashfundRate>string</dec:TrashfundRate>  
705 - </dec:SddTaxList>  
706 - </dec:SddTaxLists>  
707 - <dec:SddTaxDetails>  
708 - <!--1 to 500 repetitions:-->  
709 - <dec:SddTaxDetail>  
710 - <dec:GNo>string</dec:GNo>  
711 - <dec:TaxType>s</dec:TaxType>  
712 - <dec:RealTax>string</dec:RealTax>  
713 - </dec:SddTaxDetail>  
714 - </dec:SddTaxDetails>  
715 - </dec:SddTax>  
716 - <!--Optional:-->  
717 - <dec:DecRisk>  
718 - <dec:Risk>string</dec:Risk>  
719 - <dec:Sign>string</dec:Sign>  
720 - <dec:SignDate>string</dec:SignDate>  
721 - <dec:Note>string</dec:Note>  
722 - </dec:DecRisk>  
723 -</dec:DecMessage>