Jelajahi Sumber

怡海能达发邮件项目

zhoudw 6 tahun lalu
induk
melakukan
d269b02bf1
45 mengubah file dengan 290 tambahan dan 3565 penghapusan
  1. 6 0
      pom.xml
  2. 0 52
      src/main/java/com/uas/eis/controller/LoginController.java
  3. 0 27
      src/main/java/com/uas/eis/controller/ProductController.java
  4. 0 31
      src/main/java/com/uas/eis/controller/QueryController.java
  5. 0 31
      src/main/java/com/uas/eis/controller/StockController.java
  6. 0 163
      src/main/java/com/uas/eis/controller/TestController.java
  7. 0 77
      src/main/java/com/uas/eis/controller/YundingController.java
  8. 0 64
      src/main/java/com/uas/eis/core/WebAppConfig.java
  9. 0 83
      src/main/java/com/uas/eis/core/support/LoginInterceptor.java
  10. 11 33
      src/main/java/com/uas/eis/dao/BaseDao.java
  11. 0 13
      src/main/java/com/uas/eis/dao/EdiLogDao.java
  12. 0 14
      src/main/java/com/uas/eis/dao/EdiPostLogDao.java
  13. 0 14
      src/main/java/com/uas/eis/dao/EdiSuccessLogDao.java
  14. 0 37
      src/main/java/com/uas/eis/dao/RoleDao.java
  15. 0 13
      src/main/java/com/uas/eis/dao/SaleDao.java
  16. 0 12
      src/main/java/com/uas/eis/dao/SaleDetailDao.java
  17. 0 13
      src/main/java/com/uas/eis/dao/SaleReturnDao.java
  18. 0 13
      src/main/java/com/uas/eis/dao/SaleReturnDetailDao.java
  19. 0 473
      src/main/java/com/uas/eis/dao/SqlMap.java
  20. 7 11
      src/main/java/com/uas/eis/model/SqlRowList.java
  21. 0 11
      src/main/java/com/uas/eis/service/ProductService.java
  22. 0 15
      src/main/java/com/uas/eis/service/QueryService.java
  23. 0 9
      src/main/java/com/uas/eis/service/SaleReturnService.java
  24. 0 9
      src/main/java/com/uas/eis/service/SaleService.java
  25. 11 0
      src/main/java/com/uas/eis/service/SendArbillmailService.java
  26. 9 0
      src/main/java/com/uas/eis/service/SendMailService.java
  27. 0 13
      src/main/java/com/uas/eis/service/StockService.java
  28. 0 17
      src/main/java/com/uas/eis/service/YundingService.java
  29. 0 126
      src/main/java/com/uas/eis/serviceImpl/ProductServiceImpl.java
  30. 0 261
      src/main/java/com/uas/eis/serviceImpl/QueryServiceImpl.java
  31. 0 124
      src/main/java/com/uas/eis/serviceImpl/SaleReturnServiceImpl.java
  32. 0 126
      src/main/java/com/uas/eis/serviceImpl/SaleServiceImpl.java
  33. 72 0
      src/main/java/com/uas/eis/serviceImpl/SendArbillmailServiceImpl.java
  34. 148 0
      src/main/java/com/uas/eis/serviceImpl/SendMailServciceImpl.java
  35. 0 355
      src/main/java/com/uas/eis/serviceImpl/StockServiceImpl.java
  36. 0 277
      src/main/java/com/uas/eis/serviceImpl/YundingServiceImpl.java
  37. 7 6
      src/main/java/com/uas/eis/task/ArbillTask.java
  38. 0 21
      src/main/java/com/uas/eis/task/SaleReturnTask.java
  39. 0 21
      src/main/java/com/uas/eis/task/StockTask.java
  40. 0 124
      src/main/java/com/uas/eis/utils/LogUtil.java
  41. 14 0
      src/main/java/com/uas/eis/utils/Mail.java
  42. 1 1
      src/main/java/com/uas/eis/utils/RowConvert.java
  43. 0 863
      src/main/java/com/uas/eis/utils/SqlUtil.java
  44. 4 4
      src/main/resources/application.yml
  45. 0 8
      src/test/java/com/uas/eis/UasEisApplicationTests.java

+ 6 - 0
pom.xml

@@ -126,6 +126,12 @@
 			<version>1.0.26</version>
 		</dependency>
 
+		<dependency>
+			<groupId>javax.mail</groupId>
+			<artifactId>mail</artifactId>
+			<version>1.4.5</version>
+		</dependency>
+
 	</dependencies>
 
 	<build>

+ 0 - 52
src/main/java/com/uas/eis/controller/LoginController.java

@@ -1,52 +0,0 @@
-package com.uas.eis.controller;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-
-import com.uas.eis.entity.ErrorMsg;
-import com.uas.eis.exception.SystemException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.uas.eis.service.QueryService;
-import com.uas.eis.utils.BaseUtil;
-
-@RestController
-@RequestMapping("/EIS")
-public class LoginController {
-
-	@Autowired
-	private QueryService queryService;
-	
-	/**
-	 * 首次登录请求token
-	 */
-	@RequestMapping("/login")
-	public Object login(HttpServletRequest request, String username, String password){
-		Map<String, Object> res = new HashMap<String, Object>();
-		String token = queryService.login(username, password);
-		request.getSession().removeAttribute("token");
-		if(token != null) {
-			request.getSession().setAttribute("token", token);
-			res.put("success", true);
-			res.put("token", token);
-		}else {
-			throw new SystemException(ErrorMsg.BAD_USERINFO);
-		}
-		return res;
-	}
-	
-	/**
-	 * 退出登录
-	 */
-	@RequestMapping("/logout")
-	public Object logout(HttpServletRequest request){
-		Map<String, Object> res = new HashMap<String, Object>();
-		request.getSession().removeAttribute("token");
-		res.put("success", true);
-		return res;
-	}
-}

+ 0 - 27
src/main/java/com/uas/eis/controller/ProductController.java

@@ -1,27 +0,0 @@
-package com.uas.eis.controller;
-
-import com.uas.eis.service.ProductService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.Map;
-
-/**
- *
- */
-@RestController
-public class ProductController {
-
-    @Autowired
-    private ProductService productService;
-
-
-    @PostMapping(value = "/yunding/product")
-    public Map<String,Object> postProductToYunding(@RequestParam Integer id){
-        return productService.postProductToYunding(id);
-    }
-
-
-}

+ 0 - 31
src/main/java/com/uas/eis/controller/QueryController.java

@@ -1,31 +0,0 @@
-package com.uas.eis.controller;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.uas.eis.service.QueryService;
-
-@RestController
-@RequestMapping("/EIS/")
-public class QueryController {
-
-	@Autowired
-	private QueryService queryService;
-	
-	@RequestMapping("/api/query")
-	public Object query(String code, String param){
-		Map<String, Object> map = new HashMap<String, Object>();
-		return queryService.query(code, param);
-	}
-	
-	@RequestMapping("/api/doAction")
-	public Object doAction(String code, String param){
-		Map<String, Object> map = new HashMap<String, Object>();
-		return queryService.doAction(code, param);
-	}
-	
-}

+ 0 - 31
src/main/java/com/uas/eis/controller/StockController.java

@@ -1,31 +0,0 @@
-package com.uas.eis.controller;
-
-import com.uas.eis.service.StockService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Created by luhg on 2018/4/19.
- * 出入库相关
- */
-@RestController
-public class StockController {
-
-    @Autowired
-    private StockService stockService;
-
-    @PostMapping(value = "/yunding/stock")
-    public Map<String,Object> postStockToYunding(@RequestParam Integer id){
-        return stockService.postStockToYunding(id);
-    }
-
-
-
-}

+ 0 - 163
src/main/java/com/uas/eis/controller/TestController.java

@@ -1,163 +0,0 @@
-package com.uas.eis.controller;
-
-import com.uas.eis.dao.BaseDao;
-import com.uas.eis.utils.JacksonUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.jdbc.support.rowset.SqlRowSet;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.net.Socket;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Created by luhg on 2018/4/24.
- * 测试用
- */
-@RestController
-@Transactional
-public class TestController {
-
-    private final Logger logger = LoggerFactory.getLogger(this.getClass());
-
-    @Autowired
-    BaseDao baseDao;
-
-    @GetMapping(value = "/test/jdbc")
-    public String testJdbc(Integer id){
-        String res = "1";
-        SqlRowSet rs = baseDao.getJdbcTemplate().queryForRowSet("select pi_inoutno from prodinout where rownum=1");
-        if(rs.next()){
-            res = rs.getString("pi_inoutno");
-            System.out.println(res);
-        }
-        return res;
-    }
-
-    @GetMapping(value = "/test/socket")
-    public void testSocket(Integer id){
-        logger.error("test");
-        try{
-            Socket socket = new Socket("scope2015.oicp.net",1521);
-            System.out.println("connect success");
-        }catch (Exception e){
-            e.printStackTrace();
-        }
-    }
-
-    @PostMapping(value = "/test/stock")
-    public Map<String,Object> testStock(@RequestBody String str){
-        System.out.println("request body:" + str);
-
-        Map<String,Object> res = new HashMap<>();
-
-        Map<String,Object> msg_json = new HashMap<>();
-        List<String> sno = new LinkedList<>();
-        List<String> fno = new LinkedList<>();
-        sno.add("YS180400051");
-        fno.add("2");
-        msg_json.put("s_no",sno);
-        msg_json.put("f_no",fno);
-
-        res.put("code",0);
-        res.put("message","test");
-        res.put("msg_json",msg_json);
-        return res;
-    }
-
-    @PostMapping(value = "/test/stockpost")
-    public Map<String,Object> testStockPost(@RequestBody String str){
-        System.out.println("request body:" + str);
-
-        Map<String,Object> res = new HashMap<>();
-
-        List<Map<String,Object>> data = new LinkedList<>();
-
-        Map<String,Object> code1 = new HashMap<>();
-        code1.put("outer_no","YS180400051");
-        code1.put("order_status",2);
-        code1.put("src_order_type","采购验收单");
-        data.add(code1);
-
-        Map<String,Object> code2 = new HashMap<>();
-        code2.put("outer_no","YS1803232");
-        code2.put("order_status",2);
-        code2.put("src_order_type","采购验退单");
-        data.add(code2);
-
-        res.put("code",132);
-        res.put("message","test");
-        res.put("total_count",100);
-        res.put("data",data);
-        return res;
-    }
-
-    @PostMapping(value = "/test/getoutstorage")
-    public Map<String,Object> getOutStorage(@RequestBody String str){
-        System.out.println("request body:" + str);
-
-        Map<String,Object> res = new HashMap<>();
-
-        List<Map<String,Object>> data = new LinkedList<>();
-
-        List<Map<String,Object>> detail = new LinkedList<>();
-        Map<String,Object> detailMap = new HashMap<>();
-        detailMap.put("spec_no","A.BA00002");
-        detailMap.put("goods_count",123);
-        detailMap.put("sell_price",100);
-        detailMap.put("id123",100);
-        detail.add(detailMap);
-
-        Map<String,Object> code1 = new HashMap<>();
-        code1.put("order_no","abc123");
-        code1.put("consign_time","2015-07-01 16:39:35");
-        code1.put("customer_no","2017070003");
-        code1.put("customer_name","创趣-华米分销商");
-        code1.put("details_list",detail);
-
-        data.add(code1);
-
-        res.put("code",0);
-        res.put("message","test");
-        res.put("total_count",100);
-        res.put("stockout_list",data);
-        return res;
-    }
-
-    @PostMapping(value = "/test/getoutrefund")
-    public Map<String,Object> getOutRefund(@RequestBody String str){
-        System.out.println("request body:" + str);
-
-        Map<String,Object> res = new HashMap<>();
-
-        List<Map<String,Object>> data = new LinkedList<>();
-
-        List<Map<String,Object>> detail = new LinkedList<>();
-        Map<String,Object> detailMap = new HashMap<>();
-        detailMap.put("tid","SS17060005");
-        detailMap.put("spec_no","A.AA00010");
-        detailMap.put("stockin_num",100);
-        detail.add(detailMap);
-
-        Map<String,Object> code1 = new HashMap<>();
-        code1.put("refund_no","abc123");
-        code1.put("warehouse_no","YD001");
-        code1.put("shop_n","2017070003");
-        code1.put("refund_orders_list",detail);
-        data.add(code1);
-
-        res.put("code",0);
-        res.put("message","test");
-        res.put("total_count",100);
-        res.put("data",data);
-        return res;
-    }
-}

+ 0 - 77
src/main/java/com/uas/eis/controller/YundingController.java

@@ -1,77 +0,0 @@
-package com.uas.eis.controller;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.uas.eis.service.YundingService;
-//import com.uas.eis.service.UserService;
-
-@RestController
-public class YundingController {
-
-	@Autowired
-	private YundingService yundingService;
-	
-	/**
-	 * 出入库单审核传云顶数据中心接口
-	 */
-	@RequestMapping("/ProdInOutAuidted.action")
-	@ResponseBody
-	public Map<String, Object> ProdInOutAuidted(int id,String piclass){
-		Map<String, Object> modelMap = new HashMap<String, Object>();
-		yundingService.ProdInOutAuidted(id,piclass);
-		modelMap.put("success", true);
-		return modelMap;
-	} 
-	
-	/**
-	 * 出入库单云顶数据中心传UAS过账接口
-	 */
-	@RequestMapping("/ProdInOutPOST.action")
-	@ResponseBody
-	public Map<String, Object> ProdInOutPOST(String Store){
-		Map<String, Object> modelMap = new HashMap<String, Object>();
-		yundingService.ProdInOutPOST(Store);
-		modelMap.put("success", true);
-		return modelMap;
-	} 
-	
-	/**
-	 * 销售订单云顶数据中心传UAS并生成一张已过账销售出货单接口
-	 */
-	@RequestMapping("/Salereceive.action")
-	@ResponseBody
-	public Map<String, Object> Salereceive(String Store){
-		Map<String, Object> modelMap = new HashMap<String, Object>();
-		yundingService.Salereceive(Store);
-		modelMap.put("success", true);
-		return modelMap;
-	} 
-	/**
-	 * 销售退货单云顶数据中心传UAS并过账接口
-	 */
-	@RequestMapping("/SaleReturn.action")
-	@ResponseBody
-	public Map<String, Object> SaleReturn(String Store){
-		Map<String, Object> modelMap = new HashMap<String, Object>();
-		yundingService.SaleReturn(Store);
-		modelMap.put("success", true);
-		return modelMap;
-	} 
-	/**
-	 * 销售退货单云顶数据中心传UAS反过账删除接口
-	 */
-	@RequestMapping("/SaleReturnDelete.action")
-	@ResponseBody
-	public Map<String, Object> SaleReturnDelete(String Store){
-		Map<String, Object> modelMap = new HashMap<String, Object>();
-		yundingService.SaleReturnDelete(Store);
-		modelMap.put("success", true);
-		return modelMap;
-	} 
-}

+ 0 - 64
src/main/java/com/uas/eis/core/WebAppConfig.java

@@ -1,64 +0,0 @@
-package com.uas.eis.core;
-
-import java.nio.charset.Charset;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.List;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.http.converter.HttpMessageConverter;
-import org.springframework.http.converter.StringHttpMessageConverter;
-import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
-import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.uas.eis.core.support.DataSourceInterceptor;
-import com.uas.eis.core.support.LoginInterceptor;
-
-@Configuration
-public class WebAppConfig extends WebMvcConfigurationSupport{
-
-	@Bean
-	public LoginInterceptor loginInterceptor(){
-		return new LoginInterceptor();
-	}
-	
-	public void addInterceptors(InterceptorRegistry registry){
-		registry.addInterceptor(loginInterceptor()).addPathPatterns("/**")
-				.excludePathPatterns("/EIS/login")
-				.excludePathPatterns("/test/*")
-				.excludePathPatterns("/favicon.ico")
-				.excludePathPatterns("/error");
-		registry.addInterceptor(new DataSourceInterceptor()).addPathPatterns("/*/**");
-	}
-	
-	@Bean
-    public HttpMessageConverter<String> responseBodyConverter() {
-        StringHttpMessageConverter converter = new StringHttpMessageConverter(Charset.forName("UTF-8"));
-        return converter;
-    }
-
-	@Bean
-	public MappingJackson2HttpMessageConverter MappingJacksonHttpMessageConverter(){
-		MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
-		ObjectMapper objectMapper = new ObjectMapper();
-		objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
-		converter.setObjectMapper(objectMapper);
-		return converter;
-	}
-	
-    @Override
-    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
-        super.configureMessageConverters(converters);
-        converters.add(responseBodyConverter());
-        converters.add(MappingJacksonHttpMessageConverter());
-    }
-
-    @Override
-    public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
-        configurer.favorPathExtension(false);
-    }
-}

+ 0 - 83
src/main/java/com/uas/eis/core/support/LoginInterceptor.java

@@ -1,83 +0,0 @@
-package com.uas.eis.core.support;
-
-import com.uas.eis.entity.ErrorMsg;
-import com.uas.eis.exception.SystemException;
-import com.uas.eis.service.QueryService;
-import io.jsonwebtoken.Claims;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.servlet.HandlerInterceptor;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.Date;
-
-public class LoginInterceptor implements HandlerInterceptor{
-
-	@Autowired
-	private QueryService userService;
-	
-	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
-/*		String token = request.getParameter("token");
-		Claims claims = parseToken(token); // 验证并解析token
-		String username = (String) claims.get("username");
-		String password = (String) claims.get("password");
-		checkUser(username, password); // 验证用户是否合法
-		String actionUrl = request.getRequestURI();
-		checkActionAccess(username, actionUrl); // 验证请求权限*/
-		return true;
-	}
-	
-	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
-			ModelAndView modelAndView) throws Exception {
-	}
-	
-	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler,
-			Exception ex) throws Exception {
-	}
-	
-	private Claims parseToken(String token) {
-		if(token == null || token.isEmpty()) {
-			throw new SystemException(ErrorMsg.NULL_TOKEN);
-		}
-		Claims claims = TokenHandler.parseToken(token);
-		if(claims == null) {
-			throw new SystemException(ErrorMsg.INVALID_TOKEN);
-		}
-		Date now = new Date();
-		Date start = claims.getNotBefore();
-		Date end = claims.getExpiration();
-		
-		if (now.after(start) && now.before(end)) {
-			return claims;
-		}else {
-			throw new SystemException(ErrorMsg.EXPIRED_TOKEN);
-		}
-	}
-	
-	private boolean checkUser(String username, String password) {
-		boolean enable = false;
-		if(username != null && password != null) {
-			if(username.equals("uas") && password.equals("123")) {
-				enable = true;
-			}else {
-				enable = userService.checkUser(username, password);
-			}
-		}
-		if(!enable) {
-			throw new SystemException(ErrorMsg.INVALID_USER);
-		}
-		return enable;
-	}
-	
-	private boolean checkActionAccess(String username, String action) {
-		if(username.equals("uas")) {
-			return true;
-		}
-		boolean enable = userService.checkAction(username, action);
-		if(!enable) {
-			throw new SystemException(ErrorMsg.PERMISSION_DENIED_REQUEST);
-		}
-		return enable;
-	}
-}

+ 11 - 33
src/main/java/com/uas/eis/dao/BaseDao.java

@@ -1,15 +1,10 @@
 package com.uas.eis.dao;
 
-import java.sql.CallableStatement;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.sql.Timestamp;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
+import com.uas.eis.model.SqlRowList;
+import com.uas.eis.utils.BaseUtil;
+import com.uas.eis.utils.Constant;
+import com.uas.eis.utils.DateUtil;
+import net.sf.json.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.dao.DataAccessException;
 import org.springframework.dao.EmptyResultDataAccessException;
@@ -19,10 +14,11 @@ import org.springframework.jdbc.core.CallableStatementCreator;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.stereotype.Repository;
 
-import com.uas.eis.utils.BaseUtil;
-import com.uas.eis.utils.Constant;
-import com.uas.eis.utils.DateUtil;
-import net.sf.json.JSONObject;
+import java.sql.CallableStatement;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.sql.Timestamp;
+import java.util.*;
 
 @Repository
 public class BaseDao{
@@ -130,25 +126,7 @@ public class BaseDao{
 		}
 	}
 	
-	/**
-	 * 批量执行Sql
-	 * 
-	 * @param sqls
-	 * @param callbackSqls
-	 */
-	public void batchExecute(List<SqlMap> sqls, List<String> callbackSqls) {
-		if (sqls.size() > 0) {
-			StringBuffer sb = new StringBuffer("begin ");
-			for (SqlMap sql : sqls) {
-				sb.append("execute immediate '").append(sql.getSql(false).replace("'", "''")).append("';");
-			}
-			for (String sql : callbackSqls) {
-				sb.append("execute immediate '").append(sql.replace("'", "''")).append("';");
-			}
-			sb.append("end;");
-			jdbcTemplate.execute(sb.toString());
-		}
-	}
+
 	
 	public void deleteById(String tablename, String keyField, long id) {
 		deleteByCondition(tablename, keyField + "=" + id);

+ 0 - 13
src/main/java/com/uas/eis/dao/EdiLogDao.java

@@ -1,13 +0,0 @@
-package com.uas.eis.dao;
-
-import com.uas.eis.entity.EdiLog;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-/**
- * Created by luhg on 2018/4/24.
- * 日志记录Dao
- */
-@Repository
-public interface EdiLogDao  extends JpaRepository<EdiLog,Long>{
-}

+ 0 - 14
src/main/java/com/uas/eis/dao/EdiPostLogDao.java

@@ -1,14 +0,0 @@
-package com.uas.eis.dao;
-
-import com.uas.eis.entity.EdiPostLog;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-/**
- * Created by luhg on 2018/4/24.
- * 出入库过账成功记录
- */
-@Repository
-public interface EdiPostLogDao extends JpaRepository<EdiPostLog,Long> {
-    EdiPostLog findByCodeAndPiClass(String code,String piClass);
-}

+ 0 - 14
src/main/java/com/uas/eis/dao/EdiSuccessLogDao.java

@@ -1,14 +0,0 @@
-package com.uas.eis.dao;
-
-import com.uas.eis.entity.EdiSuccessLog;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-/**
- * Created by luhg on 2018/4/26.
- * 记录操作成功的数据
- */
-@Repository
-public interface EdiSuccessLogDao extends JpaRepository<EdiSuccessLog,Long> {
-    EdiSuccessLog findByCodeAndType(String code,String type);
-}

+ 0 - 37
src/main/java/com/uas/eis/dao/RoleDao.java

@@ -1,37 +0,0 @@
-package com.uas.eis.dao;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.jdbc.core.support.JdbcDaoSupport;
-import org.springframework.stereotype.Component;
-
-import com.uas.eis.core.support.TokenHandler;
-
-public class RoleDao extends JdbcDaoSupport{
-	
-	@Autowired
-	private BaseDao baseDao;
-	
-	public String login(String username, String password) {
-		return TokenHandler.createToken(username, password);
-	}
-	
-	public boolean getEnable(String username) {
-		int enable = baseDao.queryForObject("select er_enable from EIS_ROLE where er_name = '" + username + "'", Integer.class);
-		return enable == -1;
-	}
-	
-	public boolean checkActionAccess(String username, String action) {
-		String role = baseDao.queryForObject("select eu_role from EIS_USER; where eu_name = '" + username + "'", String.class);
-		String roles = baseDao.queryForObject("select ei_roles from EIS_INTERFACE where ei_path = '" + action + "'", String.class);
-		String[] allRoles = roles.split(",");
-		boolean flag = false;
-		
-		for(String r: allRoles){
-	        if(r.equals(role)) {
-	        	flag = true;
-	        	break;
-	        }
-	    }
-		return flag;
-	}
-}

+ 0 - 13
src/main/java/com/uas/eis/dao/SaleDao.java

@@ -1,13 +0,0 @@
-package com.uas.eis.dao;
-
-import com.uas.eis.entity.Sale;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-/**
- * Created by luhg on 2018/4/26.
- * 销售订单Dao
- */
-@Repository
-public interface SaleDao extends JpaRepository<Sale,Long> {
-}

+ 0 - 12
src/main/java/com/uas/eis/dao/SaleDetailDao.java

@@ -1,12 +0,0 @@
-package com.uas.eis.dao;
-
-import com.uas.eis.entity.Sale;
-import com.uas.eis.entity.SaleDetail;
-import org.springframework.data.jpa.repository.JpaRepository;
-
-/**
- * Created by luhg on 2018/4/26.
- * 销售订单明细
- */
-public interface SaleDetailDao extends JpaRepository<SaleDetail,Long> {
-}

+ 0 - 13
src/main/java/com/uas/eis/dao/SaleReturnDao.java

@@ -1,13 +0,0 @@
-package com.uas.eis.dao;
-
-import com.uas.eis.entity.SaleReturn;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-/**
- * Created by luhg on 2018/4/26.
- * 销售退货单
- */
-@Repository
-public interface SaleReturnDao extends JpaRepository<SaleReturn,Long> {
-}

+ 0 - 13
src/main/java/com/uas/eis/dao/SaleReturnDetailDao.java

@@ -1,13 +0,0 @@
-package com.uas.eis.dao;
-
-import com.uas.eis.entity.SaleReturnDetail;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-/**
- * Created by luhg on 2018/4/26.
- * 销售退货单明细
- */
-@Repository
-public interface SaleReturnDetailDao extends JpaRepository<SaleReturnDetail,Long> {
-}

+ 0 - 473
src/main/java/com/uas/eis/dao/SqlMap.java

@@ -1,473 +0,0 @@
-package com.uas.eis.dao;
-
-import java.io.Serializable;
-import java.sql.PreparedStatement;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.springframework.dao.DataAccessException;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.jdbc.core.support.AbstractLobCreatingPreparedStatementCallback;
-import org.springframework.jdbc.support.lob.LobCreator;
-import org.springframework.jdbc.support.lob.LobHandler;
-import org.springframework.util.StringUtils;
-
-import com.uas.eis.utils.BaseUtil;
-import com.uas.eis.utils.Constant;
-import com.uas.eis.utils.ContextUtil;
-import com.uas.eis.utils.DateUtil;
-
-/**
- * 封装sql操作,提供对特殊类型的值的灵活处理
- * 
- * @author yingp
- * 
- * @since 2015-11-26
- *        <p>
- *        增加更新功能,参考构造函数;增加对lob数据的处理
- *        </p>
- * 
- */
-public class SqlMap implements Serializable {
-
-	/**
-	 * 
-	 */
-	private static final long serialVersionUID = 7665440776209042811L;
-
-	/**
-	 * 如果sysdate,getdate()等符合该正则表达式的字符串不需要特殊处理<br>
-	 * 就调用set(String, Object, boolean)方法,第三个参数为false
-	 */
-	private static final String REG_SPECIAL = "(?:sysdate|getdate\\(\\))";
-
-	private static final int longStringBytes = 4000;// 字符串最长字节数,超过了就得使用lob类型
-
-	private String table;
-
-	/**
-	 * 主键
-	 */
-	private String primaryKey;
-	/**
-	 * 主键值
-	 */
-	private Object primaryValue;
-
-	private boolean isNew = true;
-
-	private List<String> fields;
-
-	private Object[] values;
-
-	private Set<String> specialKeys;
-
-	public SqlMap() {
-		fields = new ArrayList<String>();
-		values = new Object[] {};
-		specialKeys = new HashSet<String>();
-	}
-
-	/**
-	 * 新增模式
-	 * 
-	 * @param table
-	 *            待插入的表
-	 */
-	public SqlMap(String table) {
-		this();
-		this.table = table;
-	}
-
-	/**
-	 * 修改模式
-	 * 
-	 * @param table
-	 *            待插入的表
-	 * @param primaryKey
-	 *            主键
-	 */
-	public SqlMap(String table, String primaryKey) {
-		this(table);
-		this.primaryKey = primaryKey;
-		isNew = false;
-	}
-
-	/**
-	 * 修改模式
-	 * 
-	 * @param table
-	 *            待插入的表
-	 * @param primaryKey
-	 *            主键
-	 * @param primaryValue
-	 *            主键值
-	 */
-	public SqlMap(String table, String primaryKey, Object primaryValue) {
-		this(table);
-		this.primaryKey = primaryKey;
-		this.primaryValue = primaryValue;
-		isNew = false;
-	}
-
-	/**
-	 * 添加要插入的字段
-	 * 
-	 * @param field
-	 *            toSql字段
-	 * @param value
-	 *            字段的值
-	 * @param type
-	 *            字段的类型
-	 */
-	public void set(String field, Object value) {
-		if (!isNew && field.equals(primaryKey)) {
-			primaryValue = value;
-		} else {
-			if (isSpecial(value)) {
-				setSpecial(field, value);
-			} else {
-				if (value != null) {
-					if (value.toString().matches(Constant.REG_DATE)) {
-						setDate(field, value.toString(), Constant.YMD);
-					} else if (value.toString().matches(Constant.REG_DATETIME)) {
-						setDate(field, value.toString(), Constant.YMD_HMS);
-					} else {
-						setObject(field, value);
-					}
-				} else {
-					setObject(field, value);
-				}
-			}
-		}
-	}
-
-	public void setObject(String field, Object value) {
-		if (fields.contains(field)) {
-			int index = fields.indexOf(field);
-			values[index] = value;
-		} else {
-			fields.add(field);
-			values = Arrays.copyOf(values, values.length + 1);
-			values[values.length - 1] = value;
-		}
-	}
-
-	/**
-	 * 添加要插入的字段
-	 * 
-	 * @param field
-	 *            toSql字段
-	 * @param value
-	 *            字段的值
-	 * @param special
-	 *            是否是特殊字符,比如调用数据库函数,参数等
-	 */
-	public void set(String field, Object value, boolean special) {
-		if (!isNew && field.equals(primaryKey)) {
-			primaryValue = value;
-		} else {
-			if (special) {
-				setSpecial(field, value);
-			} else {
-				if (value != null) {
-					if (value.toString().matches(Constant.REG_DATE)) {
-						setDate(field, value.toString(), Constant.YMD);
-					} else if (value.toString().matches(Constant.REG_DATETIME)) {
-						setDate(field, value.toString(), Constant.YMD_HMS);
-					} else {
-						setObject(field, value);
-					}
-				} else {
-					setObject(field, value);
-				}
-			}
-		}
-	}
-
-	/**
-	 * 添加要插入的字段
-	 * 
-	 * @param field
-	 *            toSql字段
-	 * @param value
-	 *            字段的值
-	 */
-	public void setSpecial(String field, Object value) {
-		if (!isNew && field.equals(primaryKey)) {
-			primaryValue = value;
-		} else {
-			setObject(field, value);
-			specialKeys.add(field);
-		}
-	}
-
-	/**
-	 * 添加要插入的字段 <b>字段值为空</b>
-	 * 
-	 * @param field
-	 *            toSql字段
-	 * @param value
-	 *            字段的值
-	 */
-	public void setNull(String field) {
-		setSpecial(field, "null");
-	}
-
-	/**
-	 * 添加要插入的字段<b>Double型</b>
-	 * 
-	 * @param field
-	 *            toSql字段
-	 * @param value
-	 *            {Double}字段的值
-	 */
-	public void setDouble(String field, Double value) {
-		value = value == null ? 0 : value;
-		setSpecial(field, value);
-	}
-
-	/**
-	 * 添加要插入的字段<b>日期型</b>
-	 * 
-	 * @param to
-	 *            toSql字段
-	 * @param value
-	 *            {Date}字段的值
-	 */
-	public void setDate(String field, Date value) {
-		setDate(field, value, Constant.YMD_HMS);
-	}
-
-	/**
-	 * 添加要插入的字段<b>日期型</b>
-	 * 
-	 * @param to
-	 *            toSql字段
-	 * @param value
-	 *            {Date}字段的值
-	 * @param format
-	 *            格式
-	 */
-	public void setDate(String field, Date value, String format) {
-		if (value == null)
-			setNull(field);
-		else
-			setSpecial(field, DateUtil.parseDateToOracleString(format, value));
-	}
-
-	/**
-	 * 添加要插入的字段<b>日期型</b>
-	 * 
-	 * @param to
-	 *            toSql字段
-	 * @param value
-	 *            {Date}字段的值
-	 */
-	public void setDate(String field, String value) {
-		setDate(field, value, Constant.YMD_HMS);
-	}
-
-	/**
-	 * 添加要插入的字段<b>日期型</b>
-	 * 
-	 * @param to
-	 *            toSql字段
-	 * @param value
-	 *            {Date}字段的值
-	 * @param format
-	 *            格式
-	 */
-	public void setDate(String field, String value, String format) {
-		if (value == null)
-			setNull(field);
-		else
-			setSpecial(field, DateUtil.parseDateToOracleString(format, value));
-	}
-
-	private static boolean isSpecial(Object value) {
-		if (value != null) {
-			return value.toString().matches(REG_SPECIAL);
-		}
-		return false;
-	}
-
-	/**
-	 * 是否lob类型
-	 * 
-	 * @param value
-	 * @return
-	 */
-	private static boolean isLob(Object value) {
-		return value != null && value.toString().getBytes().length > longStringBytes;
-	}
-
-	/**
-	 * insert语句
-	 * 
-	 * @param mark
-	 *            {true: value以参数形式传入}
-	 * @return
-	 */
-	public String getInsertSql(boolean mark) {
-		StringBuffer sb = new StringBuffer();
-		sb.append("INSERT INTO ").append(table).append("(").append(BaseUtil.parseList2Str(fields, ",", true)).append(") VALUES (")
-				.append(getEnd(mark)).append(")");
-		return sb.toString();
-	}
-
-	/**
-	 * update语句
-	 * 
-	 * @param mark
-	 *            {true: value以参数形式传入}
-	 * @return
-	 */
-	public String getUpdateSql(boolean mark) {
-		StringBuffer sb = new StringBuffer();
-		sb.append("UPDATE ").append(table).append(" SET ").append(getEnd(mark));
-		return sb.toString();
-	}
-
-	/**
-	 * 行复制语句
-	 * 
-	 * @param mark
-	 *            {true: value以参数形式传入}
-	 * @return
-	 */
-	public String getCopySql(String condition) {
-		StringBuffer sb = new StringBuffer("begin ");
-		sb.append("for rs in (select * from ");
-		sb.append(table);
-		if (!StringUtils.isEmpty(condition))
-			sb.append(" where ").append(condition);
-		else if (primaryValue != null)
-			sb.append(" where ").append(primaryKey).append("=").append(primaryValue);
-		sb.append(") loop");
-		int i = 0;
-		for (String f : fields) {
-			sb.append(" rs.");
-			sb.append(f);
-			sb.append(":=");
-			if (specialKeys.contains(f)) {
-				sb.append(values[i++]);
-			} else {
-				sb.append("'").append(values[i++]).append("'");
-			}
-			sb.append(";");
-		}
-		sb.append(" insert into ");
-		sb.append(table);
-		sb.append(" values rs;");
-		sb.append(" end loop; ");
-		sb.append(" end;");
-		return sb.toString();
-	}
-
-	/**
-	 * insertOrUpdate语句
-	 * 
-	 * @param mark
-	 *            {true: value以参数形式传入}
-	 * @return
-	 */
-	public String getSql(boolean mark) {
-		return isNew ? getInsertSql(mark) : getUpdateSql(mark);
-	}
-
-	/**
-	 * 执行sql
-	 */
-	public void execute() {
-		BaseDao baseDao = (BaseDao) ContextUtil.getBean("baseDao");
-		baseDao.getJdbcTemplate().update(getSql(true), values);
-	}
-
-	/**
-	 * 执行sql
-	 */
-	public void executeCopy(String condition) {
-		BaseDao baseDao = (BaseDao) ContextUtil.getBean("baseDao");
-		baseDao.getJdbcTemplate().update(getCopySql(condition));
-	}
-
-	/**
-	 * 执行sql
-	 * 
-	 * @param jdbcTemplate
-	 */
-	public void execute(JdbcTemplate jdbcTemplate, LobHandler lobHandler) {
-		jdbcTemplate.execute(getSql(true), new AbstractLobCreatingPreparedStatementCallback(lobHandler) {
-			@Override
-			protected void setValues(PreparedStatement ps, LobCreator lob) throws SQLException, DataAccessException {				
-				/*int j=1;
-				for (int i=0;i<values.length-1 ;i++) {
-					if(!specialKeys.contains(fields.get(i))){
-						if (isLob(values[i]))
-							lob.setClobAsString(ps, j, values[i].toString());
-						else
-							ps.setObject(j, values[i]);
-						j++;
-					}		
-				}
-				ps.setObject(j, primaryValue);*/
-				int i = 0;
-				for (Object value : values) {
-					i++;
-					if (isLob(value))
-						lob.setClobAsString(ps, i, value.toString());
-					else
-						ps.setObject(i, value);
-				}
-			}
-		});
-	}	
-	/**
-	 * @param mark
-	 *            {true: value以参数形式传入}
-	 * @return
-	 */
-	private String getEnd(boolean mark) {
-		int len = fields.size();
-		StringBuffer sb = new StringBuffer();
-		String field = null;
-		Object[] tmp = new Object[values.length -specialKeys.size()];
-        int k=0;
-		for (int i = 0; i < len; i++) {
-			if (sb.length() > 0)
-				sb.append(",");
-			field = fields.get(i);
-			if (!isNew)
-				sb.append(field).append("=");
-			if (specialKeys.contains(field)) {
-				sb.append(values[i]);				
-			} else {
-				tmp[k]=values[i];
-				k++;
-				if (mark)
-					sb.append("?");
-				else
-					sb.append("'").append(values[i]).append("'");
-			}
-		}
-		if (!isNew) {
-			sb.append(" WHERE ").append(primaryKey).append("=");
-			if (mark) {
-				sb.append("?");
-				tmp=Arrays.copyOf(tmp, tmp.length+1);
-				tmp[tmp.length-1]=primaryValue;
-			} else {
-				sb.append("'").append(primaryValue).append("'");
-			}
-		}
-		values=Arrays.copyOf(tmp, tmp.length);
-		return sb.toString();
-	}
-
-}

+ 7 - 11
src/main/java/com/uas/eis/dao/SqlRowList.java → src/main/java/com/uas/eis/model/SqlRowList.java

@@ -1,18 +1,14 @@
-package com.uas.eis.dao;
+package com.uas.eis.model;
 
-import java.math.BigDecimal;
-import java.sql.Timestamp;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import com.alibaba.fastjson.JSONObject;
 import com.uas.eis.utils.Constant;
 import com.uas.eis.utils.DateUtil;
 import com.uas.eis.utils.NumberUtil;
+import com.uas.eis.utils.RowConvert;
+import net.sf.json.JSONObject;
+
+import java.math.BigDecimal;
+import java.sql.Timestamp;
+import java.util.*;
 
 /**
  * org.springframework.jdbc.support.rowset.SqlRowSet有jdk版本问题

+ 0 - 11
src/main/java/com/uas/eis/service/ProductService.java

@@ -1,11 +0,0 @@
-package com.uas.eis.service;
-
-import java.util.Map;
-
-/**
- * Created by luhg on 2018/4/19.
- * 出入库相关
- */
-public interface ProductService {
-    Map<String,Object> postProductToYunding(Integer id);
-}

+ 0 - 15
src/main/java/com/uas/eis/service/QueryService.java

@@ -1,15 +0,0 @@
-package com.uas.eis.service;
-
-public interface QueryService {
-
-	public abstract String login(String username, String password);
-	
-	public abstract boolean checkUser(String username, String password);
-	
-	public abstract boolean checkAction(String username, String action);
-
-	public Object query(String code, String param);
-	
-	public Object doAction(String code, String param);
-
-}

+ 0 - 9
src/main/java/com/uas/eis/service/SaleReturnService.java

@@ -1,9 +0,0 @@
-package com.uas.eis.service;
-
-/**
- * Created by luhg on 2018/4/26.
- * 销售退货单
- */
-public interface SaleReturnService {
-    void getSaleReturn();
-}

+ 0 - 9
src/main/java/com/uas/eis/service/SaleService.java

@@ -1,9 +0,0 @@
-package com.uas.eis.service;
-
-/**
- * Created by luhg on 2018/4/26.
- * 销售订单
- */
-public interface SaleService {
-    void getSale();
-}

+ 11 - 0
src/main/java/com/uas/eis/service/SendArbillmailService.java

@@ -0,0 +1,11 @@
+package com.uas.eis.service;
+
+/**
+ * Created by zdw
+ * 2019-04-18 11:11.
+ */
+public interface SendArbillmailService {
+
+    public void send_abillmail();
+
+}

+ 9 - 0
src/main/java/com/uas/eis/service/SendMailService.java

@@ -0,0 +1,9 @@
+package com.uas.eis.service;
+
+import java.util.List;
+
+public interface SendMailService {
+
+	void sendSysMail(String title, String context, String tomail, String ccmail, List<String> files);
+
+}

+ 0 - 13
src/main/java/com/uas/eis/service/StockService.java

@@ -1,13 +0,0 @@
-package com.uas.eis.service;
-
-import java.util.Map;
-
-/**
- * Created by luhg on 2018/4/19.
- * 出入库相关
- */
-public interface StockService {
-    Map<String,Object> postStockToYunding(Integer id);
-    void autoPost();
-    void postConfirmToYunding(String code,int type);
-}

+ 0 - 17
src/main/java/com/uas/eis/service/YundingService.java

@@ -1,17 +0,0 @@
-package com.uas.eis.service;
-
-public interface YundingService {
-	
-	public void  ProdInOutAuidted(int id,String piclass);
-	
-	public void  ProdInOutPOST(String Store);
-	
-	public void  Salereceive(String Store);
-
-	public void  TurnProdIN (int id);
-
-	public void  SaleReturn(String Store);
-	
-	public void  SaleReturnDelete(String Store);
-
-}

+ 0 - 126
src/main/java/com/uas/eis/serviceImpl/ProductServiceImpl.java

@@ -1,126 +0,0 @@
-package com.uas.eis.serviceImpl;
-
-import com.uas.eis.dao.BaseDao;
-import com.uas.eis.dao.EdiLogDao;
-import com.uas.eis.dao.EdiSuccessLogDao;
-import com.uas.eis.service.ProductService;
-import com.uas.eis.utils.Constant;
-import com.uas.eis.utils.HttpUtil;
-import com.uas.eis.utils.JacksonUtil;
-import com.uas.eis.utils.LogUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.jdbc.support.rowset.SqlRowSet;
-import org.springframework.stereotype.Service;
-
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Created by zdw
- * 2018-05-15 08:29.
- */
-@Service
-public class ProductServiceImpl implements ProductService{
-
-    private final Logger logger = LoggerFactory.getLogger(this.getClass());
-
-    private static final String sendProductToYundingUrl = "http://dc.oclean.com/putstorespec?sign";
-
-    @Autowired
-    BaseDao baseDao;
-    @Autowired
-    EdiLogDao ediLogDao;
-    @Autowired
-    EdiSuccessLogDao ediSuccessLogDao;
-
-
-    @Override
-    public Map<String, Object> postProductToYunding(Integer id) {
-        Map<String,Object> data = getMainData(id);
-        List<Map<String,Object>> datas = new LinkedList<Map<String,Object>>();
-        datas.add(data);
-
-        String timestamp = String.valueOf(System.currentTimeMillis()/1000);
-        String outerNo = String.valueOf(data.get("goods_no"));
-
-        Map<String,Object> postMapData = new HashMap<>();
-        postMapData.put("app_key", Constant.yundingAppKey);
-        postMapData.put("time_stamp",timestamp);
-        postMapData.put("spec_list",datas);
-
-        return postData(outerNo,postMapData,timestamp);
-    }
-
-    private Map<String,Object> postData(String outerNo,Map<String,Object> data,String timestamp){
-        Map<String,Object> res = new HashMap<>();
-        String jsonData = JacksonUtil.toSortJson(data);
-        System.out.println(jsonData);
-        try{
-
-            HttpUtil.Response response = HttpUtil.doPostToYunding(sendProductToYundingUrl,jsonData,timestamp);
-
-            String responseText = response.getResponseText();
-
-            logger.info("responseText:" + responseText);
-            logger.info("responseCode:" + response.getStatusCode());
-
-            if(response.getStatusCode()!=200){
-                throw new RuntimeException("yunding server error:" + responseText);
-            }
-
-            Map<String,Object> responseMap = JacksonUtil.fromJson(response.getResponseText());
-
-            if(!"0".equals(String.valueOf(responseMap.get("code")))){
-                res.put("success",false);
-                res.put("remark",responseMap.get("message"));
-            }else{
-                Map<String,Object> msgJson = (Map<String,Object>) responseMap.get("msg_json");
-                List<String> successCodes = (List<String>)msgJson.get("s_no");
-                if(successCodes.contains(outerNo)){
-                    res.put("success",true);
-                    ediLogDao.save(LogUtil.getSendSuccessLog(outerNo,jsonData,"send success"));
-                }else{
-                    res.put("success",false);
-                    res.put("remark","云顶数据中心处理失败!");
-                }
-            }
-        }catch (Exception e){
-            e.printStackTrace();
-            logger.error("error",e);
-
-            res.put("success",false);
-            res.put("remark",e.getMessage());
-        }
-        return res;
-    }
-
-    private Map<String,Object> getMainData(Integer id){
-        Map<String,Object> data = new HashMap<>();
-        SqlRowSet rs = baseDao.getJdbcTemplate().queryForRowSet("select pr_code,pr_detail,pr_brand,pr_unit,pr_code,pr_spec,pr_description from Product where pr_id=" + id);
-        if(rs.next()){
-            data.put("goods_no",rs.getString("pr_code"));
-            data.put("goods_name",rs.getString("pr_detail"));
-            data.put("goods_type",1);
-            data.put("class_name","");
-            data.put("brand_name",rs.getString("pr_brand"));
-            data.put("unit_name",rs.getString("pr_unit"));
-            data.put("spec_no",rs.getString("pr_code"));
-            data.put("spec_code","");
-            data.put("spec_name",rs.getString("pr_spec"));
-            data.put("bar_code","");
-            data.put("price","");
-            data.put("guarantee","");
-            data.put("description",rs.getString("pr_description"));
-        }
-        return data;
-    }
-
-
-
-
-
-}

+ 0 - 261
src/main/java/com/uas/eis/serviceImpl/QueryServiceImpl.java

@@ -1,261 +0,0 @@
-package com.uas.eis.serviceImpl;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-
-import com.uas.eis.entity.ActionConfig;
-import com.uas.eis.entity.ErrorMsg;
-import com.uas.eis.exception.SystemException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cache.annotation.Cacheable;
-import org.springframework.stereotype.Service;
-import org.springframework.util.StringUtils;
-
-import com.alibaba.fastjson.JSON;
-import com.uas.eis.core.support.TokenHandler;
-import com.uas.eis.dao.BaseDao;
-import com.uas.eis.entity.QueryArgs;
-import com.uas.eis.entity.QueryConfig;
-import com.uas.eis.entity.QueryConfigDetail;
-import com.uas.eis.service.QueryService;
-import com.uas.eis.utils.BaseUtil;
-
-import net.sf.json.JSONObject;
-
-@Service
-public class QueryServiceImpl implements QueryService {
-
-	@Autowired
-	private BaseDao baseDao;
-	@Autowired
-	private ActionConfig actionConfig;
-	
-	@Override
-	public String login(String username, String password) {
-		if(checkUser(username, password)) {
-			return TokenHandler.createToken(username, password);
-		}else {
-			return null;
-		}
-	}
-	
-	@Override
-	@Cacheable(value="userEnableCache")
-	public boolean checkUser(String username, String password) {
-		return baseDao.checkIf("EIS_USER", "eu_enable=-1 and " + "eu_name='" + username + "' and eu_password='" + password + "'");
-	}
-
-	@Override
-	@Cacheable(value="userActionEnableCache")
-	public boolean checkAction(String username, String action) {
-		boolean flag = false;
-		
-		String roles = baseDao.queryForObject("select eu_role from eis_user where eu_name='" + username + "'", String.class);
-		if(roles == null) {
-			return false;
-		}
-		// 开放公共API的权限
-		String apiAction = actionConfig.getApiAction();
-		if(action.startsWith(apiAction)) {
-			return true;
-		}
-		// 判断是否在不需要权限控制的请求配置中
-		String[] publicActions = actionConfig.getPublicActions();
-		for(String publicAction : publicActions) {
-			if(publicAction.equals(action)) {
-				return true;
-			}
-		}
-		String[] fields = {"er_reg","er_action"};
-		List<JSONObject> res = baseDao.getFieldsJSONDatasByCondition("EIS_ROLE", fields, "er_id in (" + roles + ")");
-		for(int o = 0; o< res.size(); o++) {
-			JSONObject data = res.get(o);
-			String reg = data.containsKey("er_reg") ? data.getString("er_reg") : "(\\S)*";
-			String act = data.containsKey("er_action") ? data.getString("er_action") : "";
-			// 通过正则和预设接口校验请求权限
-			if(action.matches(reg) || act.indexOf(action) != -1) {
-				flag = true;
-				break;
-			}
-		}
-		return flag;
-	}
-	public String getUsers(){
-		String sql = "SELECT EM_NAME,EM_CODE,TO_CHAR(EM_INDATE,'yyyy-MM-dd hh24:mm:ss') EM_INDATE FROM EMPLOYEE WHERE EM_CODE = 'U0818'";
-		Map<String, Object> map = baseDao.getJdbcTemplate().queryForMap(sql);
-		List<Map<String,Object>> list = baseDao.queryForList("SELECT * FROM UPLOADDOCDETAIL WHERE UDD_UDID=284");
-		return BaseUtil.parseDataToJson(map,list);
-	}
-	
-	/**
-	 * 标准查询API
-	 * @param code		查询方案Code
-	 * @param param		参数
-	 * @return
-	 */
-	public Object query(String code, String param){
-		Map<String, Object> resultmap = new HashMap<String, Object>();
-		List<Map<String, Object>> resultList = new ArrayList<Map<String,Object>>();
-		com.alibaba.fastjson.JSONObject json = JSON.parseObject(param);
-		//查询参数配置表
-		String getInOutParamsSql = "select * from queryArgs where qa_qccode = ?";
-		List<QueryArgs> inOutParamList = baseDao.query(getInOutParamsSql,  QueryArgs.class, code);
-		Map<String, String> argsMap = new HashMap<String, String>();	//存参数名对应的参数值
-		Map<String, String> argsTypeMap = new HashMap<String, String>();		//存参数名对应的参数类型
-		for(QueryArgs args : inOutParamList){
-			argsMap.put(args.getQa_param(),json.getString(args.getQa_param()));
-			argsTypeMap.put(args.getQa_param(), args.getQa_paramtype());
-		}
-		//校验查询方案传入的参数是否正确
-		checkParam(code, param);
-		//code对应的查询方案
-		String getQueryConfigsql = "select * from queryconfig where qc_code=? order by qc_detno"; 
-		List<QueryConfig> queryConfigList = baseDao.query(getQueryConfigsql, QueryConfig.class, code);
-		if(queryConfigList != null){
-			List<String> valueList = new ArrayList<String>();
-			Object mainField = baseDao.getFieldDataByCondition("queryArgs", "qa_param", "qa_qccode='"+code+"' and qa_ismainfield=1");
-			if(mainField != null && "array".equals(argsTypeMap.get(mainField))){
-				String argValue = argsMap.get(mainField);
-				String[] valueArray = argValue.replace("[", "").replace("]", "").replaceAll("\"", "").split(",");
-				valueList = new ArrayList<String>(Arrays.asList(valueArray));
-			}else{
-				valueList.add(argsMap.get(mainField));
-			}
-			for(int i = 0; i < valueList.size(); i++){
-				Map<String, Object> map = new HashMap<String, Object>();
-				for(QueryConfig queryConfig : queryConfigList){
-					StringBuilder inParam = new StringBuilder();
-					StringBuilder outParam = new StringBuilder();
-					//查询方案明细表,得到要查询的字段
-					String getQueryFieldssql = "select * from queryConfigDetail where qcd_qcid = ?";
-					List<QueryConfigDetail> queryFieldsList = baseDao.query(getQueryFieldssql, QueryConfigDetail.class, queryConfig.getQc_id());
-					StringBuilder sb = new StringBuilder();
-					sb.append("select ");
-					for(QueryConfigDetail field : queryFieldsList){
-						sb.append(field.getQcd_field() + " \"" + field.getQcd_mappingkey() + "\",");
-					}
-					sb.deleteCharAt(sb.length()-1);			//去掉最后一个 ,
-					sb.append(" from " + queryConfig.getQc_table());
-					//拼接condition
-					String condition = queryConfig.getQc_condition();
-					Pattern pattern = Pattern.compile("@[\\w]+");		//通过正则替换@变量
-					Matcher m = pattern.matcher(condition);
-					List<String> matchList = new ArrayList<String>();
-					while(m.find()){
-						matchList.add(m.group());
-					}
-					for(String match : matchList){
-						/*if("array".equals(argsTypeMap.get(match.replace("@", "")))){
-							String value = argsMap.get(match.replace("@", ""));
-							value = value.replaceAll("\"", "'");
-							condition = condition.replaceAll(match, value);
-						}else{
-							condition = condition.replaceAll(match, "'"+argsMap.get(match.replace("@", ""))+"'");
-						}*/
-						if(match.equals("@"+mainField)){
-							condition = condition.replaceAll(match, "'"+valueList.get(i)+"'");
-							inParam.append(mainField+"="+valueList.get(i)+";");
-						}else{
-							condition = condition.replaceAll(match, "'"+argsMap.get(match.replace("@", ""))+"'");
-							inParam.append(match.replace("@","")+"="+argsMap.get(match.replace("@", ""))+";");
-						}
-					}
-					sb.append(" " + condition);		//append where条件
-					//append order by语句
-					if(!StringUtils.isEmpty(queryConfig.getQc_orderby())){
-						sb.append(" " + queryConfig.getQc_orderby());
-					}
-					if(queryFieldsList != null && queryFieldsList.size()>0){
-						if(queryConfig.getQc_isArray() != null && queryConfig.getQc_isArray() == 0){
-							map.put(queryConfig.getQc_mapkey(), baseDao.getJdbcTemplate().queryForMap(sb.toString()));
-						}else{
-							map.put(queryConfig.getQc_mapkey(), baseDao.queryForList(sb.toString()));
-						}
-					}
-					
-					//获取额外返回值
-					if(!StringUtils.isEmpty(queryConfig.getQc_return())){
-						String getReturnSql = "select " + queryConfig.getQc_return() + " from " + queryConfig.getQc_table() + " " + condition;
-						Map<String, Object> returnMap = baseDao.getJdbcTemplate().queryForMap(getReturnSql);
-						List<Object> list = baseDao.getFieldDatasByCondition("queryArgs", "qa_param", "qa_qccode='"+queryConfig.getQc_code()+"' and qa_relation="+queryConfig.getQc_id()+" order by qa_detno");
-						Iterator<Object> it = returnMap.values().iterator();
-						int j = 0;
-						while(it.hasNext()){
-							String value = String.valueOf(it.next());
-							argsMap.put(String.valueOf(list.get(j)), value);
-							outParam.append(String.valueOf(list.get(j))+"="+value+";");
-							j++;
-						}
-					}
-					//记录日志
-					String insertSql = "INSERT INTO QUERYLOG(QL_ID,QL_QCCODE,QL_PARAM,QL_RETURN,QL_DATE) VALUES(QUERYLOG_SEQ.NEXTVAL,'"+queryConfig.getQc_code()+"','"+inParam.toString()+"','"+outParam.toString()+"',SYSDATE)";
-					baseDao.execute(insertSql);
-				}
-				if(valueList.size() > 1){
-					resultList.add(map);
-				}else{
-					resultmap.putAll(map);
-				}
-			}
-			if(valueList.size() > 1)
-				return resultList;
-			else
-				return resultmap;
-		}else{
-			return resultmap;
-		}
-		
-	}
-	
-	public Object doAction() {
-		return null;
-	}
-	
-	/**
-	 * 传入参数的合法性校验
-	 * @param code
-	 * @param param
-	 */
-	private void checkParam(String code, String param){
-		com.alibaba.fastjson.JSONObject json = JSON.parseObject(param);
-		if(StringUtils.isEmpty(code)){
-			throw new SystemException(ErrorMsg.NULL_QUERY_CODE);
-		}
-		if(json == null){
-			throw new SystemException(ErrorMsg.PARAM_AMOUNT_ERROR);
-		}
-		String getInParamsSql = "select * from queryArgs where qa_qccode = ? and qa_relation is null";
-		List<QueryArgs> inParamList = baseDao.query(getInParamsSql,  QueryArgs.class, code);
-		if(inParamList.size() != json.size()){
-			throw new SystemException(ErrorMsg.PARAM_AMOUNT_ERROR);
-		}else{
-			 for(QueryArgs queryArgs : inParamList){
-				 if(json.getString(queryArgs.getQa_param()) == null){
-					 throw new SystemException(ErrorMsg.PARAM_NAME_ERROR);
-				 }else{
-					 if("array".equals(queryArgs.getQa_paramtype())){
-						 String stringArray = json.getString(queryArgs.getQa_param());
-						 if(!(stringArray.contains("[") && stringArray.contains("]"))){
-							 BaseUtil.showError(ErrorMsg.PARAM_FORMAT_ERROR,"传入的参数:"+queryArgs.getQa_param()+"格式不正确");
-						 }
-					 }
-				 }
-			 }
-		}
-	}
-
-	@Override
-	public Object doAction(String code, String param) {
-		return null;
-	}
-	
-	
-	
-}

+ 0 - 124
src/main/java/com/uas/eis/serviceImpl/SaleReturnServiceImpl.java

@@ -1,124 +0,0 @@
-package com.uas.eis.serviceImpl;
-
-import com.uas.eis.dao.*;
-import com.uas.eis.entity.EdiSuccessLog;
-import com.uas.eis.entity.SaleReturn;
-import com.uas.eis.service.SaleReturnService;
-import com.uas.eis.service.StockService;
-import com.uas.eis.utils.Constant;
-import com.uas.eis.utils.HttpUtil;
-import com.uas.eis.utils.JacksonUtil;
-import com.uas.eis.utils.LogUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Created by luhg on 2018/4/26.
- * 销售退货单
- */
-@Service
-public class SaleReturnServiceImpl implements SaleReturnService{
-    private final Logger logger = LoggerFactory.getLogger(this.getClass());
-
-    public static final String getSaleReturnFromYundingUrl = "http://dc.oclean.com/getoutrefund";
-    //public static final String getSaleReturnFromYundingUrl = "http://127.0.0.1:8008/test/getoutrefund";
-
-    @Autowired
-    BaseDao baseDao;
-    @Autowired
-    EdiLogDao ediLogDao;
-    @Autowired
-    SaleReturnDao saleReturnDao;
-    @Autowired
-    EdiSuccessLogDao ediSuccessLogDao;
-    @Autowired
-    StockService stockService;
-
-    @Override
-    public void getSaleReturn() {
-        String timestamp = String.valueOf(System.currentTimeMillis()/1000);
-
-        Map<String,Object> postMapData = new HashMap<String,Object>();
-        postMapData.put("app_key", Constant.yundingAppKey);
-        postMapData.put("time_stamp",timestamp);
-        postMapData.put("start_time","1970-01-01 00:00:00");
-        postMapData.put("end_time","2099-01-01 00:00:00");
-        postMapData.put("page_size",100);
-        postMapData.put("page_index",0);
-
-        String jsonData = JacksonUtil.toSortJson(postMapData);
-        String responseText = null;
-        try {
-            HttpUtil.Response response = HttpUtil.doPostToYunding(getSaleReturnFromYundingUrl,jsonData,timestamp);
-
-            System.out.println("responseText:" + response.getResponseText());
-
-            if(response.getStatusCode()!=200){
-                responseText = "yunding server error";
-                throw new RuntimeException(response.getResponseText());
-            }
-
-            responseText = response.getResponseText();
-            Map<String,Object> responseMap = JacksonUtil.fromJson(response.getResponseText());
-
-            if(!"0".equals(String.valueOf(responseMap.get("code")))){
-                ediLogDao.save(LogUtil.getRequestFailLog(responseText));
-                return;
-            }
-
-            if(responseMap.get("data")==null){
-                return;
-            }
-
-            List<Map<String,Object>> datas = (List<Map<String,Object>>) responseMap.get("data");
-            if(datas.size()>0){
-                execCreateSaleReturnProcedure(datas,responseText);
-            }
-        }catch (Exception e){
-            e.printStackTrace();
-            logger.error("error",e);
-            ediLogDao.save(LogUtil.getSaleFailLog(responseText,e.getMessage()));
-        }
-    }
-
-    public void execCreateSaleReturnProcedure(List<Map<String,Object>> datas,String responseText){
-        String code = null;
-        String out = null;
-        EdiSuccessLog postSuccessHist = null;
-        String type = "sale_return";
-        for(Map<String,Object> data:datas){
-            code = String.valueOf(data.get("refund_no"));
-
-            postSuccessHist = null;
-            postSuccessHist = ediSuccessLogDao.findByCodeAndType(code,type);
-            if(postSuccessHist!=null){
-                stockService.postConfirmToYunding(code,3);
-                continue;
-            }
-
-            try {
-                SaleReturn saleReturn = JacksonUtil.fromJson(data, SaleReturn.class);
-                saleReturn = saleReturnDao.save(saleReturn);
-
-                out = baseDao.callProcedure("SP_YUNDING_SALERETURN",new Object[]{saleReturn.getId()});
-                if (out!=null){
-                    ediLogDao.save(LogUtil.getSaleReturnFailLog(code,responseText,out));
-                }else{
-                    ediLogDao.save(LogUtil.getSaleReturnSuccessLog(code,responseText));
-                    ediSuccessLogDao.save(LogUtil.getLogToAvoidRepeatPost(code,type));
-                    stockService.postConfirmToYunding(code,3);
-                }
-            }catch (Exception e){
-                e.printStackTrace();
-                logger.error("error",e);
-                ediLogDao.save(LogUtil.getSaleReturnFailLog(code,responseText,e.getMessage()));
-            }
-        }
-    }
-}

+ 0 - 126
src/main/java/com/uas/eis/serviceImpl/SaleServiceImpl.java

@@ -1,126 +0,0 @@
-package com.uas.eis.serviceImpl;
-
-import com.uas.eis.dao.*;
-import com.uas.eis.entity.EdiSuccessLog;
-import com.uas.eis.entity.Sale;
-import com.uas.eis.service.SaleService;
-import com.uas.eis.service.StockService;
-import com.uas.eis.utils.Constant;
-import com.uas.eis.utils.HttpUtil;
-import com.uas.eis.utils.JacksonUtil;
-import com.uas.eis.utils.LogUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Created by luhg on 2018/4/26.
- * 销售订单
- */
-@Service
-public class SaleServiceImpl implements SaleService{
-    private final Logger logger = LoggerFactory.getLogger(this.getClass());
-
-    public static final String getSaleFromYundingUrl = "http://dc.oclean.com/getoutstorage";
-    //public static final String getSaleFromYundingUrl = "http://127.0.0.1:8008/test/getoutstorage";
-
-    @Autowired
-    BaseDao baseDao;
-    @Autowired
-    EdiLogDao ediLogDao;
-    @Autowired
-    SaleDao saleDao;
-    @Autowired
-    EdiSuccessLogDao ediSuccessLogDao;
-    @Autowired
-    StockService stockService;
-
-    @Override
-    public void getSale() {
-        String timestamp = String.valueOf(System.currentTimeMillis()/1000);
-
-        Map<String,Object> postMapData = new HashMap<>();
-        postMapData.put("app_key", Constant.yundingAppKey);
-        postMapData.put("time_stamp",timestamp);
-        postMapData.put("start_time","1970-01-01 00:00:00");
-        postMapData.put("end_time","2099-01-01 00:00:00");
-        postMapData.put("page_size",100);
-        postMapData.put("page_index",0);
-
-        String jsonData = JacksonUtil.toSortJson(postMapData);
-        String responseText = null;
-        try {
-            HttpUtil.Response response = HttpUtil.doPostToYunding(getSaleFromYundingUrl,jsonData,timestamp);
-
-            System.out.println("responseText:" + response.getResponseText());
-
-            if(response.getStatusCode()!=200){
-                responseText = "yunding server error";
-                throw new RuntimeException(response.getResponseText());
-            }
-
-            responseText = response.getResponseText();
-            Map<String,Object> responseMap = JacksonUtil.fromJson(response.getResponseText());
-
-            if(!"0".equals(String.valueOf(responseMap.get("code")))){
-                ediLogDao.save(LogUtil.getRequestFailLog(responseText));
-                return;
-            }
-
-            if(responseMap.get("stockout_list")==null){
-                return;
-            }
-
-            List<Map<String,Object>> datas = (List<Map<String,Object>>) responseMap.get("stockout_list");
-            if(datas.size()>0){
-                execCreateSaleProcedure(datas,responseText);
-            }
-        }catch (Exception e){
-            e.printStackTrace();
-            logger.error("error",e);
-            ediLogDao.save(LogUtil.getSaleFailLog(responseText,e.getMessage()));
-        }
-    }
-
-    public void execCreateSaleProcedure(List<Map<String,Object>> datas,String responseText){
-        String code = null;
-        String wmscode = null;
-        String out = null;
-        EdiSuccessLog postSuccessHist = null;
-        String type = "sale";
-        for(Map<String,Object> data:datas){
-            code = String.valueOf(data.get("trade_no"));
-            wmscode = String.valueOf(data.get("order_no"));
-
-            postSuccessHist = null;
-            postSuccessHist = ediSuccessLogDao.findByCodeAndType(code,type);
-            if(postSuccessHist!=null){
-                stockService.postConfirmToYunding(wmscode,2);
-                continue;
-            }
-
-            try {
-                Sale sale = JacksonUtil.fromJson(data, Sale.class);
-                sale = saleDao.save(sale);
-
-                out = baseDao.callProcedure("SP_YUNDING_SALERECEIVE",new Object[]{sale.getId()});
-                if (out!=null){
-                    ediLogDao.save(LogUtil.getSaleFailLog(code,responseText,out));
-                }else{
-                    ediLogDao.save(LogUtil.getSaleSuccessLog(code,responseText));
-                    ediSuccessLogDao.save(LogUtil.getLogToAvoidRepeatPost(code,type));
-                    stockService.postConfirmToYunding(wmscode,2);
-                }
-            }catch (Exception e){
-                e.printStackTrace();
-                logger.error("error",e);
-                ediLogDao.save(LogUtil.getSaleFailLog(code,responseText,e.getMessage()));
-            }
-        }
-    }
-}

+ 72 - 0
src/main/java/com/uas/eis/serviceImpl/SendArbillmailServiceImpl.java

@@ -0,0 +1,72 @@
+package com.uas.eis.serviceImpl;
+
+import com.uas.eis.core.config.SpObserver;
+import com.uas.eis.dao.BaseDao;
+import com.uas.eis.model.SqlRowList;
+import com.uas.eis.service.SendArbillmailService;
+import com.uas.eis.service.SendMailService;
+import com.uas.eis.utils.DateUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+
+/**
+ * Created by zdw
+ * 2019-04-18 11:12.
+ */
+@Service
+public class SendArbillmailServiceImpl implements SendArbillmailService{
+
+    @Autowired
+    SendMailService sendMailService;
+    @Autowired
+    BaseDao baseDao;
+
+    public void send_abillmail() {
+        send_abillmailbymaster("YHND_SZ");
+        send_abillmailbymaster("YHND_HK");
+    }
+
+
+    public void send_abillmailbymaster(String sob) {
+        String defaultSob = SpObserver.getSp();
+
+        //切换到目标账套
+        SpObserver.putSp(sob);
+        String emsql="select distinct name,mail from( select CU_SELLERNAME name,MAIL1_SELLER mail from UNFULLCOLLECT_VIEW) where mail is not null";
+        StringBuilder message = null;
+        StringBuilder ccman = null;
+        SqlRowList emrs = baseDao.queryForRowSet(emsql);
+        while (emrs.next()){
+            //获得固定抄送人员
+            ccman= new StringBuilder();
+            Object ccdata  = getGdccMail(emrs.getString("name"),emrs.getString("mail"));
+            if (ccdata!=null){
+                ccman.append(ccdata.toString());
+            }
+            message = new StringBuilder();
+            SqlRowList contrs = baseDao.queryForRowSet("select * from UNFULLCOLLECT_VIEW where CU_SELLERNAME = '"+emrs.getString("name")+"' or CU_SERVICENAME = '"+emrs.getString("name")+"'");
+            message.append("<p><font color=\"red\"><b>"+emrs.getString("name")+":</b></font></p><p><font color=\"red\">您好!</font></p><p><font color=\"red\">您有如下客户的应收款将在一周后到期,请及时跟进,谢谢!</font></p><table border=\"1\" cellspacing=\"0\" style=\"font-size:12px;width:100%\"><tr><th width=\"150px\">应收发票</th><th>客户</th><th width=\"100px\">日期</th><th width=\"100px\">应收日期</th><th>未收款金额</th></tr>");
+            while (contrs.next()){
+                message.append("<tr><th>"+contrs.getString("AB_CODE")+"</th><th>"+contrs.getString("AB_CUSTNAME")+"</th><th>"+contrs.getString("AB_DATE")+"</th><th>"+contrs.getString("AB_PAYDATE")+"</th><th align=\"right\">"+contrs.getString("RESAMOUNT")+"</th></tr>");
+            }
+            Object total=baseDao.queryForObject("select to_char(sum(RESAMOUNT), 'fm9999990.00')  from UNFULLCOLLECT_VIEW where CU_SELLERNAME = '"+emrs.getString("name")+"' or CU_SERVICENAME = '"+emrs.getString("name")+"'",String.class);
+            message.append("<tr><th><font color=\"red\">合计<font></th><th></th><th></th><th></th><th align=\"right\"><font color=\"red\">"+total.toString()+"<font></th></tr>");
+            message.append("</table><p><font color=\"red\">如有疑问请联系系统维护人员,谢谢!</font></p><p><font color=\"red\">日期:"+ DateUtil.format(new Date(),"yyyy-MM-dd")+"</font></p>");
+//            sendMailService.sendSysMail("应收款到期7天提醒("+emrs.getString("name")+")",message.toString(),emrs.getString("mail"),ccman.toString(),null);
+			System.out.println(emrs.getString("mail"));
+			System.out.println(ccman.toString());
+			System.out.println(message);
+			System.out.println("------");
+        }
+        //切回原账套
+        SpObserver.putSp(defaultSob);
+    }
+
+    public Object getGdccMail(String seller,String mail){
+        return baseDao.queryForObject("select replace(WMSYS.Wm_Concat(mail),',',';') from (select distinct mail from CCMANARBILLMAIL_VIEW where sellername in ('"+seller+"','固定抄送人') and mail<>'"+mail+"' )",String.class);
+    }
+
+
+}

+ 148 - 0
src/main/java/com/uas/eis/serviceImpl/SendMailServciceImpl.java

@@ -0,0 +1,148 @@
+package com.uas.eis.serviceImpl;
+
+import com.uas.eis.dao.BaseDao;
+import com.uas.eis.service.SendMailService;
+import com.uas.eis.utils.BaseUtil;
+import com.uas.eis.utils.Mail;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.io.FileSystemResource;
+import org.springframework.mail.MailSendException;
+import org.springframework.mail.javamail.JavaMailSenderImpl;
+import org.springframework.mail.javamail.MimeMessageHelper;
+import org.springframework.stereotype.Component;
+
+import javax.mail.internet.InternetAddress;
+import javax.mail.internet.MimeMessage;
+import java.util.Date;
+import java.util.List;
+import java.util.Properties;
+
+@Component
+public class SendMailServciceImpl implements SendMailService {
+	@Autowired
+	private BaseDao baseDao;
+
+	//@Autowired
+	//private EmployeeDao employeeDao;
+	private static JavaMailSenderImpl mailSender;
+    static {
+    	 if(mailSender == null){    		 
+    		 mailSender = new JavaMailSenderImpl();
+    		 mailSender.setHost("smtp.usoftchina.com"); 
+    		 mailSender.setPort(25);
+    		 Properties p = new Properties();
+    		 p.setProperty("mail.smtp.auth", "true");  
+    		 mailSender.setJavaMailProperties(p);
+    	 }
+     }
+	
+
+
+	/**
+	 * 发带附件的邮件
+	 * @param title
+	 * 			邮件标题
+	 * @param context
+	 * 			邮件内容
+	 * @param tomail
+	 * 			邮件接收人
+	 * @param ccmail
+	 * 			抄送邮件接收人
+	 * @param files
+	 * 			附件
+	 */
+	public  void sendSysMail(String title, String context,String tomail,String ccmail,List<String> files){
+		String regex = "^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$";
+		String email= Mail.SetEmail;
+		String password=Mail.SetEmailPassword;
+		String emailsmtp=Mail.SetEmailServer;
+//		Enterprise enterprise =enterpriseService.getEnterprise();
+//		String fromname=enterprise.getEn_Shortname();
+		String fromname="";
+		if((!"".equals(email)&&!"null".equals(email))||(!"".equals(password)&&!"null".equals(password))||(!"".equals(emailsmtp)&&!"null".equals(emailsmtp))){
+
+		}else{
+			BaseUtil.showError("请先联系管理设置默认发件邮箱!");
+		}
+		mailSender.setUsername(email);
+		mailSender.setPassword(password);
+		mailSender.setHost(emailsmtp);
+		//设置邮件
+		MimeMessage mimeMessage = mailSender.createMimeMessage();
+		MimeMessageHelper helper;
+		StringBuffer error = new StringBuffer();
+		try {
+			helper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
+			// 邮箱名必须是已注册的,后面可以添加一个展示名,不添加默认为邮箱名
+			helper.setFrom(email, fromname); //展示名不能为空!
+			if(title == null || "".equals(title)){
+				helper.setSubject(" ");
+			}
+			helper.setSubject(title);
+			if(context == null || "".equals(context)){
+				helper.setText(" ", true);
+			}
+			helper.setText(context, true);
+			helper.setSentDate(new Date());
+			//添加附件
+			if (files!=null){
+				for(String filepath: files){
+					FileSystemResource file = new FileSystemResource(filepath);
+					helper.addAttachment(file.getFilename(), file);
+				}
+			}
+			if (tomail != null){
+				if (tomail.contains(";")){
+					for(String t:tomail.split(";")){
+						if(t.length() > 0){
+							if(!t.matches(regex)) {
+								error.append("邮件错误" + "(" + t + ")<br/>");
+							}
+						}
+					}
+				}else {
+					if(!tomail.matches(regex)){
+						error.append("邮件错误" + "(" + tomail + ")");
+					}
+				}
+				if (error.length()==0){
+                    //添加收件人
+                    InternetAddress[] internetAddressTo = new InternetAddress().parse(tomail.replaceAll(";", ","));
+                    helper.setTo(internetAddressTo);
+                    mailSender.send(mimeMessage);
+                }
+			}
+			if (ccmail != null){
+				if (ccmail.contains(";")){
+					for(String t:ccmail.split(";")){
+						if(t.length() > 0){
+							if(!t.matches(regex)) {
+								error.append("邮件错误" + "(" + t + ")<br/>");
+							}
+						}
+					}
+				}else {
+					if(!ccmail.matches(regex)){
+						error.append("邮件错误" + "(" + ccmail + ")");
+					}
+				}
+				if (error.length()==0){
+                    //添加抄送人
+                    InternetAddress[] internetAddressTo = new InternetAddress().parse(ccmail.replaceAll(";", ","));
+                    helper.setCc(internetAddressTo);
+                    mailSender.send(mimeMessage);
+                }
+			}
+		} catch (Exception e) {
+			if(e instanceof MailSendException){
+				BaseUtil.showError("邮件发送失败!");
+			}
+			e.printStackTrace();
+		} finally {
+			if(error != null && error.length() > 0){
+				BaseUtil.showError(error.toString());
+			}
+		}
+	}
+
+}

+ 0 - 355
src/main/java/com/uas/eis/serviceImpl/StockServiceImpl.java

@@ -1,355 +0,0 @@
-package com.uas.eis.serviceImpl;
-
-import com.uas.eis.dao.*;
-import com.uas.eis.entity.EdiSuccessLog;
-import com.uas.eis.service.StockService;
-import com.uas.eis.utils.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.jdbc.support.rowset.SqlRowSet;
-import org.springframework.stereotype.Service;
-
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Created by luhg on 2018/4/19.
- * 出入库相关
- */
-@Service
-public class StockServiceImpl implements StockService{
-    private final Logger logger = LoggerFactory.getLogger(this.getClass());
-
-    private static final String sendStockToYundingUrl = "http://dc.oclean.com/putinstorage";
-    private static final String stockGetPostFromYundingUrl = "http://dc.oclean.com/getinstorage";
-    private static final String sendStockPostConfirmToYundingUrl = "http://dc.oclean.com/setconfirmstatus";
-
-    @Autowired
-    BaseDao baseDao;
-    @Autowired
-    EdiLogDao ediLogDao;
-    @Autowired
-    EdiSuccessLogDao ediSuccessLogDao;
-
-    @Override
-    public Map<String, Object> postStockToYunding(Integer id) {
-        Map<String,Object> data = getMainData(id);
-        List<Map<String,Object>> datas = new LinkedList<Map<String,Object>>();
-        datas.add(data);
-
-        String timestamp = String.valueOf(System.currentTimeMillis()/1000);
-        String outerNo = String.valueOf(data.get("outer_no"));
-
-        Map<String,Object> postMapData = new HashMap<>();
-        postMapData.put("app_key", Constant.yundingAppKey);
-        postMapData.put("time_stamp",timestamp);
-        postMapData.put("data",datas);
-
-        return postData(outerNo,postMapData,timestamp);
-    }
-
-    private Map<String,Object> postData(String outerNo,Map<String,Object> data,String timestamp){
-        Map<String,Object> res = new HashMap<>();
-        String jsonData = JacksonUtil.toSortJson(data);
-        try{
-
-            HttpUtil.Response response = HttpUtil.doPostToYunding(sendStockToYundingUrl,jsonData,timestamp);
-
-            String responseText = response.getResponseText();
-
-            logger.info("responseText:" + responseText);
-            logger.info("responseCode:" + response.getStatusCode());
-
-            if(response.getStatusCode()!=200){
-                throw new RuntimeException("yunding server error:" + responseText);
-            }
-
-            Map<String,Object> responseMap = JacksonUtil.fromJson(response.getResponseText());
-
-            if(!"0".equals(String.valueOf(responseMap.get("code")))){
-                res.put("success",false);
-                res.put("remark",responseMap.get("message"));
-            }else{
-                Map<String,Object> msgJson = (Map<String,Object>) responseMap.get("msg_json");
-                List<String> successCodes = (List<String>)msgJson.get("s_no");
-                if(successCodes.contains(outerNo)){
-                    res.put("success",true);
-                    ediLogDao.save(LogUtil.getSendSuccessLog(outerNo,jsonData,"send success"));
-                }else{
-                    res.put("success",false);
-                    res.put("remark","云顶数据中心处理失败!");
-                }
-            }
-        }catch (Exception e){
-            e.printStackTrace();
-            logger.error("error",e);
-
-            res.put("success",false);
-            res.put("remark",e.getMessage());
-        }
-        return res;
-    }
-
-    @Override
-    public void autoPost(){
-        String timestamp = String.valueOf(System.currentTimeMillis()/1000);
-
-        Map<String,Object> postMapData = new HashMap<>();
-        postMapData.put("app_key", Constant.yundingAppKey);
-        postMapData.put("time_stamp",timestamp);
-        postMapData.put("start_time","1970-01-01 00:00:00");
-        postMapData.put("end_time","2099-01-01 00:00:00");
-        postMapData.put("status",2);
-        postMapData.put("page_size",100);
-        postMapData.put("page_index",0);
-
-        String jsonData = JacksonUtil.toSortJson(postMapData);
-        String responseText = null;
-        try {
-            HttpUtil.Response response = HttpUtil.doPostToYunding(stockGetPostFromYundingUrl,jsonData,timestamp);
-
-            if(response.getStatusCode()!=200){
-                responseText = "yunding server error";
-                throw new RuntimeException(response.getResponseText());
-            }
-
-            responseText = response.getResponseText();
-
-            logger.info("responseText" + responseText);
-
-            Map<String,Object> responseMap = JacksonUtil.fromJson(response.getResponseText());
-
-            if(!"0".equals(String.valueOf(responseMap.get("code")))){
-                ediLogDao.save(LogUtil.getRequestFailLog(responseText));
-                return;
-            }
-
-            if(responseMap.get("data")==null){
-                return;
-            }
-
-            List<Map<String,Object>> datas = (List<Map<String,Object>>) responseMap.get("data");
-            if(datas.size()>0){
-                execPostProcedure(datas,responseText);
-            }
-        }catch (Exception e){
-            e.printStackTrace();
-            logger.error("error",e);
-            ediLogDao.save(LogUtil.getPostFailLog(responseText,e.getMessage()));
-        }
-    }
-
-    public void execPostProcedure(List<Map<String,Object>> datas,String responseText){
-        String code = null;
-        String piClass = null;
-        EdiSuccessLog postSuccessHist = null;
-        for(Map<String,Object> data:datas){
-            code = String.valueOf(data.get("outer_no"));
-            piClass = String.valueOf(data.get("src_order_type"));
-            postSuccessHist = null;
-            try {
-                postSuccessHist = ediSuccessLogDao.findByCodeAndType(code,piClass);
-                if(postSuccessHist!=null){ //说明之前已经过账成功
-                    postConfirmToYunding(code,1);
-                }else{ //没有记录,说明没有过账成功
-                    String out = baseDao.callProcedure("SP_YUNDING_STOCKPOST",new Object[]{code,piClass});
-                    if (out!=null){
-                        ediLogDao.save(LogUtil.getPostFailLog(code,responseText,out));
-                    }else{
-                        ediLogDao.save(LogUtil.getPostSuccessLog(code,responseText));
-                        ediSuccessLogDao.save(LogUtil.getLogToAvoidRepeatPost(code,piClass));  //记录到edi_post_log,防止调用接口失败,下次重复过账
-                        postConfirmToYunding(code,1);
-                    }
-                }
-
-            }catch (Exception e){
-                e.printStackTrace();
-                logger.error("error",e);
-                ediLogDao.save(LogUtil.getPostFailLog(code,responseText,e.getMessage()));
-            }
-
-        }
-    }
-
-    @Override
-    public void postConfirmToYunding(String code,int type){
-        String timestamp = String.valueOf(System.currentTimeMillis()/1000);
-
-        Map<String,Object> postMapData = new HashMap<>();
-        postMapData.put("app_key", Constant.yundingAppKey);
-        postMapData.put("time_stamp",timestamp);
-        postMapData.put("type",type);
-        postMapData.put("outer_no",code);
-
-        String jsonData = JacksonUtil.toSortJson(postMapData);
-        try{
-            HttpUtil.Response response = HttpUtil.doPostToYunding(sendStockPostConfirmToYundingUrl,jsonData,timestamp);
-            logger.info("confirm response:" + response.getResponseText());
-        }catch (Exception e){
-            e.printStackTrace();
-            logger.error("error",e);
-        }
-    }
-
-    private Map<String,Object> getMainData(Integer id){
-        Map<String,Object> data = new HashMap<>();
-        SqlRowSet rs = baseDao.getJdbcTemplate().queryForRowSet("select pi_id,pi_class,pi_inoutno,pi_whcode,pi_purpose,pi_remark,wh_type,ve_add1,ve_contact,ve_tel,pi_transport from prodinout left join warehouse on pi_whcode=wh_code left join Vendor on pi_cardcode = ve_code where pi_id=" + id);
-        String piClass = null;
-        if(rs.next()){
-            piClass = rs.getString("pi_class");
-            data.put("outer_no",rs.getString("pi_inoutno"));
-            data.put("warehouse_no",getWarehouseCode(piClass,rs.getString("pi_whcode"),rs.getString("pi_purpose")));
-            data.put("out_warehouse_no",rs.getString("pi_whcode"));
-            data.put("remark",rs.getString("pi_remark"));
-            data.put("order_type",getOrderType(piClass));
-            data.put("src_order_type",piClass);
-            data.put("warehouse_type",getWhType(rs.getString("wh_type")));
-            data.put("rec_type",rs.getString("pi_transport"));
-            data.put("rec_address",rs.getString("ve_add1"));
-            data.put("rec_contacts",rs.getString("ve_contact"));
-            data.put("rec_phone",rs.getString("ve_tel"));
-            data.put("details_list",getDetailData(id));
-        }
-        return data;
-    }
-
-    private String getWarehouseCode(String piClass,String piWhCode,String piPurpose){
-        if("拨出单".equals(piClass)){
-            return piPurpose;
-        }
-        return piWhCode;
-    }
-
-    private List<Map<String,Object>> getDetailData(Integer id){
-        List<Map<String,Object>> datas = new LinkedList<>();
-        Map<String,Object> data = new HashMap<>();
-        SqlRowList rs = baseDao.queryForRowSet("select pd_piclass,pd_id,pd_ordercode,pd_orderdetno,pd_batchcode,pd_prodcode,pd_inqty,pd_outqty,pd_description,pd_whcode,pd_inwhcode from prodiodetail where pd_piid=" + id);
-        String piClass = null;
-        String whCode = null;
-        String pdinWhCode = null;
-        while (rs.next()){
-            data = new HashMap<>();
-            piClass = rs.getString("pd_piclass");
-            whCode = rs.getString("pd_whcode");
-            pdinWhCode = rs.getString("pd_inwhcode");
-            data.put("child_no",rs.getString("pd_id"));
-            data.put("purchase_no",rs.getString("pd_ordercode"));
-            data.put("purchase_detno",rs.getString("pd_orderdetno"));
-            data.put("batch_no",rs.getString("pd_batchcode"));
-            data.put("stockin_num",getQty(piClass,rs.getInt("pd_inqty"),rs.getInt("pd_outqty")));
-            data.put("spec_no",rs.getString("pd_prodcode"));
-            data.put("remark",rs.getString("pd_description"));
-            data.put("warehouse_no",getInWarehouseNo(piClass,whCode,pdinWhCode));
-            data.put("out_warehouse_no",getOutWarehouseNo(piClass,whCode));
-
-            datas.add(data);
-        }
-        return datas;
-    }
-
-    private String getInWarehouseNo(String piClass,String whcode,String pdinwhcode){
-        String code = whcode;
-        if("拨出单".equals(piClass)){
-            code = pdinwhcode;
-        }
-        return code;
-    }
-
-    private String getOutWarehouseNo(String piClass,String whcode){
-        String code = null;
-        if("拨出单".equals(piClass)){
-            code = whcode;
-        }
-        return code;
-    }
-
-    private int getQty(String piClass,int inQty,int outQty){
-        int correctQty = 0;
-        switch (piClass){
-            case "采购验收单":
-                correctQty = inQty;
-                break;
-            case "采购验退单":
-                correctQty = outQty;
-                break;
-            case "委外验收单":
-                correctQty = inQty;
-                break;
-            case "委外验退单":
-                correctQty = outQty;
-                break;
-            case "拨出单":
-                correctQty = outQty;
-                break;
-            case "其它出库单":
-                correctQty = outQty;
-                break;
-            case "其它入库单":
-                correctQty = inQty;
-                break;
-            case "借货出货单":
-                correctQty = outQty;
-                break;
-            case "借货归还单":
-                correctQty = inQty;
-                break;
-            default:break;
-        }
-        return correctQty;
-    }
-
-    private int getWhType(String whtype){
-        int whType = -1;
-        switch (whtype){
-            case "良品仓":
-                whType = 1;
-                break;
-            case "不良品仓":
-                whType = 2;
-                break;
-            case "暂收仓":
-                whType = 3;
-                break;
-            default:break;
-        }
-        return whType;
-    }
-
-    private int getOrderType(String piClass){
-        int orderType = -1;
-        switch (piClass){
-            case "采购验收单":
-                orderType = 0;
-                break;
-            case "委外验收单":
-                orderType = 0;
-                break;
-            case "其它入库单":
-                orderType = 0;
-                break;
-            case "借货归还单":
-                orderType = 0;
-                break;
-            case "拨出单":
-                orderType = 1;
-                break;
-            case "采购验退单":
-                orderType = 2;
-                break;
-            case "委外验退单":
-                orderType = 2;
-                break;
-            case "其它出库单":
-                orderType = 2;
-                break;
-            case "借货出货单":
-                orderType = 2;
-                break;
-            default:break;
-        }
-        return orderType;
-    }
-}

+ 0 - 277
src/main/java/com/uas/eis/serviceImpl/YundingServiceImpl.java

@@ -1,277 +0,0 @@
-package com.uas.eis.serviceImpl;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import com.alibaba.fastjson.JSON;
-import com.uas.eis.dao.BaseDao;
-import com.uas.eis.service.YundingService;
-import com.uas.eis.utils.BaseUtil;
-import com.uas.eis.utils.SqlUtil;
-
-
-
-@Service
-public  class YundingServiceImpl implements YundingService  {
-	@Autowired
-	private BaseDao baseDao;
-	
-	
-	/**
-	 * 出入库单审核接口
-	 * 
-	 * @param id
-	 * @param piclass
-	 *            单据主表id
-	 *            单据类型piclass
-	 *            
-	 */
-	@Override
-	public void  ProdInOutAuidted(int id,String piclass) {
-		Map<Object, Object> store = new HashMap<Object, Object>();	
-		//传入查询code、单据ID传回单据主从表信息Map
-		if (piclass=="采购验收单"||piclass=="委外验收单"){
-		//云顶插入采购/委外验收单接口
-		}
-		if (piclass=="采购验退单"||piclass=="委外验退单"){
-			//云顶插入采购/委外验退单接口	
-		}
-		if (piclass=="拨出单"){
-			//云顶插入拨出单接口	
-		}
-		if (piclass=="其他入库单"){
-			//云顶插入其他入库单接口	
-		}
-		if (piclass=="其他出库单"){
-			//云顶插入其他出库单接口	
-		}
-	}
-	
-	
-	/**
-	 * 出入库单云顶数据中心传UAS过账接口
-	 * 
-	 * @param Store
-	 *            单据编号,类型等Json数据 Store
-	 *            
-	 */
-	@Override
-	public void  ProdInOutPOST(String Store) {
-
-
-
-		com.alibaba.fastjson.JSONObject json = JSON.parseObject(Store);
-		String Code=json.getString("xxxxxx").toString();
-		String Piclass=json.getString("xxxxxx").toString();
-		String res=null;
-		baseDao.procedure("SP_GetCostPrice", new Object[] { Piclass, Code });
-		res = baseDao.callProcedure("Sp_SplitProdOut",
-				new Object[] { Piclass, Code, "ADMIN" });
-
-		if (res != null && !res.trim().equals("")) {
-			// 重新添加提示限制信息
-			BaseUtil.showError(res + "  " +Piclass + Code + ",过账失败");
-			// BaseUtil.showError(res);
-		}
-		res = baseDao.callProcedure("Sp_CommitProdInout",
-				new Object[] { Piclass, Code, "ADMIN"});
-		if (res != null && !res.trim().equals("")) {
-			BaseUtil.showError(res);
-		}
-			
-	}
-	
-	
-	
-	/**
-	 * 销售订单云顶数据中心传UAS并生成一张已过账销售出货单接口
-	 * 
-	 * @param Store
-	 *            销售订单主从表Json数据 Store
-	 *            
-	 */
-	@Override
-	public void  Salereceive(String Store) {
-		//销售订单插入
-		com.alibaba.fastjson.JSONObject json = JSON.parseObject(Store);
-		String jsons =json.toString();
-		List<Object[]> mappingList = baseDao.getFieldsDatasByCondition("xxx", new String[] { "TD_FROMFIELD", "TD_TOFIELD" }, "qu_id=1");
-		Map<String, String> resultmap = new HashMap<String, String>();
-		for(Object[] obj : mappingList){
-			resultmap.put(String.valueOf(obj[0]), String.valueOf(obj[1]));
-		}
-		Map<String, Object> njson=BaseUtil.jsonToMap(jsons, resultmap);
-		Map<Object, Object> store = (Map<Object, Object>) njson.get("stockout_list");
-		store.put("sa_status", "已审核");
-		store.put("sa_statuscode", "AUDITED");
-		int id= Integer.valueOf(String.valueOf(baseDao.getFieldDataByCondition("dual", "sale_seq.nextval", "1=1")));
-		store.put("sa_id", id);
-		List<Map<Object, Object>> grid = (List<Map<Object, Object>>) njson.get("details_list");
-		for (Map<Object, Object> map : grid) {
-			map.put("sd_said", id);	
-			map.put("sd_id", "saledetail_seq.nextval");
-			}
-		int count= Integer.valueOf(String.valueOf(baseDao.getFieldDataByCondition("Sale", "count(1)", "sa_code=" + store.get("order_no"))));
-		if (count >0) {
-			// 重新添加提示限制信息
-			BaseUtil.showError(store.get("order_no")  + "编号已存在");
-		}
-		// 保存sale
-		String formSql = SqlUtil.getInsertSqlByMap(store, "Sale");
-		baseDao.execute(formSql);
-		// 保存saleDetail
-		List<String> gridSql = SqlUtil.getInsertSqlbyList(grid, "SaleDetail", "sd_id");
-		baseDao.execute(gridSql);
-		//调用生成出货单方法
-		TurnProdIN(id);
-		//过账生成的出货单
-		String pi_inoutno= String.valueOf(baseDao.getFieldDataByCondition("ProdInOut", "pi_inoutno", "pi_sourcecoe="+store.get("order_no")));
-		String res=null;
-		baseDao.procedure("SP_GetCostPrice", new Object[] { "出货单", pi_inoutno });
-		res = baseDao.callProcedure("Sp_SplitProdOut",
-				new Object[] { "出货单", pi_inoutno, "ADMIN" });
-
-		if (res != null && !res.trim().equals("")) {
-			// 重新添加提示限制信息
-			BaseUtil.showError(res + "  出货单"  + pi_inoutno + ",过账失败");
-			// BaseUtil.showError(res);
-		}
-		res = baseDao.callProcedure("Sp_CommitProdInout",
-				new Object[] { "出货单", pi_inoutno, "ADMIN"});
-		if (res != null && !res.trim().equals("")) {
-			BaseUtil.showError(res);
-		}
-	}
-	
-	
-	
-	
-	
-	/**
-	 * 销售订单形成对应得出货单
-	 * 
-	 * @param id
-	 *            单据类型id
-	 *            
-	 */
-	@Override
-	public void  TurnProdIN(int id) {
-		String code=baseDao.callProcedure("Sp_GetMaxNumber", new Object[] { "ProdInOut!Sale", 2 });
-		int pi_id= Integer.valueOf(String.valueOf(baseDao.getFieldDataByCondition("dual", "ProdInOut_seq.nextval", "1=1")));
-		String contactSql = "insert into ProdInOut (pi_id,pi_inoutno,pi_recordman,pi_operatorcode,pi_recorddate,pi_invostatus,pi_invostatuscode,pi_class,pi_cardid,pi_cardcode,pi_title,pi_status,pi_statuscode,pi_updatedate,pi_updateman,pi_receivecode,pi_receivename,pi_arcode,pi_arname,pi_currency,pi_rate,pi_sellercode,pi_sellername,pi_address,pi_remark,pi_cusaddresssid,pi_paymentcode,pi_cop,pi_departmentcode,pi_departmentname,pi_transport,pi_payment,pi_printstatus,pi_printstatuscode,pi_chargeamount,pi_sourcecoe) "
-						+ "select"+pi_id+","+code+",'admin','ADMIN',sysdate,'在录入','ENTERING','出货单',sa_custid,sa_custcode,sa_custname,'未过账','UNPOST',sysdate,'admin',sa_shcustcode,sa_shcustname,sa_apcustcode,sa_apcustname,sa_currency,sa_rate,sa_sellercode,sa_seller,sa_toplace,sa_remark,sa_cusaddresssid,sa_paymentscode,sa_cop,sa_departmentcode,sa_departmentname,sa_transport,sa_payments,'未打印','UNPRINT',sa_fare,sa_code from sale where sa_id="+id;
-		baseDao.execute(contactSql);
-		contactSql = "insert into ProdIODetail  (pd_id,pd_piid,pd_orderdetno,pd_ordercode,pd_prodcode,pd_sendprice,pd_outqty,pd_beipinoutqty,pd_pocode,pd_piclass,pd_status,pd_auditstatus,pd_taxrate,pd_sdid,pd_remark,pd_custprodcode,pd_custprodspec,pd_discount,pd_inqty,pd_custproddetail,pd_purcprice,pd_commissionrate,pd_whcode,pd_whname) "
-				+ "select ProdIODetail_seq.nextval,"+pi_id+",sd_detno,sa_code,sd_prodcode,sd_price,sd_qty,sd_readyqty,sa_pocode,'出货单',0,'ENTERING',sd_taxrate,sd_id,sd_remark,sd_custprodcode,sd_prodcustcode,sd_discount,0,sd_custproddetail,sd_purcprice,sd_commissionrate,sd_whcode,sd_whcode from saledetail left join sale on sd_said=sa_id where sa_id="+id;
-		baseDao.execute(contactSql);
-		baseDao.execute("update Prodinout set (pi_whcode,pi_whname)=(select pd_whcode,pd_whname from ProdIODetail where pd_piid="
-				+ pi_id + " and pd_pdno=1) where pi_id=" + pi_id + "");
-		
-		baseDao.execute(
-				"update ProdInOut set pi_address=(select cu_add1 from customer where pi_cardcode=cu_code) where pi_id=? and nvl(pi_address,' ')=' '",
-				pi_id);
-		baseDao.execute("update prodinout set pi_purposename=((select max(ca_person) from CustomerAddress left join customer on ca_cuid=cu_id where cu_code=pi_cardcode and ca_address=pi_address))  where pi_purposename is null  and  pi_id="
-				+ pi_id);
-		baseDao.execute("update prodinout set pi_expresscode=((select max(ca_phone) from CustomerAddress left join customer on ca_cuid=cu_id where cu_code=pi_cardcode and ca_address=pi_address))  where pi_expresscode is null  and  pi_id="
-				+ pi_id);
-		baseDao.execute("update prodinout set pi_fax=((select max(ca_fax) from CustomerAddress left join customer on ca_cuid=cu_id where cu_code=pi_cardcode and ca_address=pi_address))  where pi_fax is null  and  pi_id="
-				+ pi_id);
-		baseDao.execute(
-				"update ProdIODetail set pd_netprice=ROUND(pd_sendprice/(1 + pd_taxrate/ 100),6), pd_taxtotal=round(pd_sendprice*pd_outqty/(1+pd_taxrate/100),2), pd_ordertotal=round(pd_outqty*pd_sendprice,2) where pd_piid=?",
-				pi_id);
-		baseDao.execute(
-				"update saleDetail set sdyqty=sd_qty where sd_said=?",
-				id);
-	}
-	
-	
-	
-	
-	
-	
-	/**
-	 * 销售退货单云顶数据中心传UAS并过账接口
-	 * 
-	 * @param Store
-	 *            销售退货单主从表Json数据 Store
-	 *            
-	 */
-	@Override
-	public void  SaleReturn(String Store) {
-		//销售退货单插入
-		com.alibaba.fastjson.JSONObject json = JSON.parseObject(Store);
-		String jsons =json.toString();
-		List<Object[]> mappingList = baseDao.getFieldsDatasByCondition("xxx", new String[] { "TD_FROMFIELD", "TD_TOFIELD" }, "qu_id=1");
-		Map<String, String> resultmap = new HashMap<String, String>();
-		for(Object[] obj : mappingList){
-			resultmap.put(String.valueOf(obj[0]), String.valueOf(obj[1]));
-		}
-		Map<String, Object> njson=BaseUtil.jsonToMap(jsons, resultmap);
-		Map<Object, Object> store = (Map<Object, Object>) njson.get("date");
-		store.put("pi_invostatus", "已审核");
-		store.put("pi_invostatuscode", "AUDITED");
-		int id= Integer.valueOf(String.valueOf(baseDao.getFieldDataByCondition("dual", "ProdInOut_seq.nextval", "1=1")));
-		store.put("pi_id", id);
-		List<Map<Object, Object>> grid = (List<Map<Object, Object>>) njson.get("refund_orders_list");
-		for (Map<Object, Object> map : grid) {
-			map.put("pd_piid", id);	
-			map.put("pd_id", "ProdIODetail_seq.nextval");
-			}
-		int count= Integer.valueOf(String.valueOf(baseDao.getFieldDataByCondition("ProdInOut", "count(1)", "pi_inoutno=" + store.get("refund_no")+"and pi_class='销售退货单'")));
-		if (count >0) {
-			// 重新添加提示限制信息
-			BaseUtil.showError(store.get("refund_no")  + "编号已存在");
-		}
-		// 保存ProdInOut
-		String formSql = SqlUtil.getInsertSqlByMap(store, "ProdInOut");
-		baseDao.execute(formSql);
-		// 保存ProdIODetail
-		List<String> gridSql = SqlUtil.getInsertSqlbyList(grid, "ProdIODetail", "pd_id");
-		baseDao.execute(gridSql);
-		//过账生成的退货单
-		String res=null;
-		baseDao.procedure("SP_GetCostPrice", new Object[] { "出货单", store.get("refund_no") });
-		res = baseDao.callProcedure("Sp_SplitProdOut",
-				new Object[] { "销售退货单", store.get("refund_no"), "ADMIN" });
-
-		if (res != null && !res.trim().equals("")) {
-			// 重新添加提示限制信息
-			BaseUtil.showError(res + "  销售退货单"  + store.get("refund_no") + ",过账失败");
-			// BaseUtil.showError(res);
-		}
-		res = baseDao.callProcedure("Sp_CommitProdInout",
-				new Object[] { "销售退货单", store.get("refund_no"), "ADMIN"});
-		if (res != null && !res.trim().equals("")) {
-			BaseUtil.showError(res);
-		}
-	}
-	
-	
-	/**
-	 * 退货单云顶数据中心传UAS反过账接口
-	 * 
-	 * @param Store
-	 *            单据编号,类型等Json数据 Store
-	 *            
-	 */
-	@Override
-	public void  SaleReturnDelete(String Store) {
-		com.alibaba.fastjson.JSONObject json = JSON.parseObject(Store);
-		String Code=json.getString("refund_no").toString();
-		String Piclass="销售退货单";
-		int piid= Integer.valueOf(String.valueOf(baseDao.getFieldDataByCondition("ProdInOut", "pi_id", "pi_inoutno=" + Code+"and pi_class="+Piclass)));
-		String res=null;
-		res= baseDao.callProcedure("Sp_UnCommitProdInout", Piclass,Code);
-		if (res != null && !res.trim().equals("")) {
-			BaseUtil.showError(res);
-		}
-		baseDao.updateByCondition("ProdInOut", "pi_statuscode='UNPOST',pi_status='未过账',pi_inoutman=null,pi_date1=null", "pi_id=" + piid);
-		//删除反过账销售退货单
-		baseDao.deleteByCondition("ProdIODetail", "pd_piid="+piid);
-		baseDao.deleteByCondition("ProdInOut", "pi_id="+piid);
-		}	
-}

+ 7 - 6
src/main/java/com/uas/eis/task/SaleTask.java → src/main/java/com/uas/eis/task/ArbillTask.java

@@ -1,6 +1,6 @@
 package com.uas.eis.task;
 
-import com.uas.eis.service.SaleService;
+import com.uas.eis.service.SendArbillmailService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
@@ -10,13 +10,14 @@ import org.springframework.stereotype.Component;
  * 销售订单
  */
 @Component
-public class SaleTask {
+public class ArbillTask {
     @Autowired
-    SaleService saleService;
+    SendArbillmailService sendArbillmailService;
 
 
-    @Scheduled(cron = "0 0/55 * * * ?")
-    public void getSale() {
-        saleService.getSale();
+
+    @Scheduled(cron = "0/5 * * * * ?")
+    public void sendArbill() {
+        sendArbillmailService.send_abillmail();
     }
 }

+ 0 - 21
src/main/java/com/uas/eis/task/SaleReturnTask.java

@@ -1,21 +0,0 @@
-package com.uas.eis.task;
-
-import com.uas.eis.service.SaleReturnService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-/**
- * Created by luhg on 2018/4/26.
- * 销售退货单
- */
-@Component
-public class SaleReturnTask {
-    @Autowired
-    SaleReturnService saleReturnService;
-
-    @Scheduled(cron = "0 0 0/1 * * ?")
-    public void getSaleReturn() {
-        saleReturnService.getSaleReturn();
-    }
-}

+ 0 - 21
src/main/java/com/uas/eis/task/StockTask.java

@@ -1,21 +0,0 @@
-package com.uas.eis.task;
-
-import com.uas.eis.service.StockService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-/**
- * Created by luhg on 2018/4/24.
- * 出入库定时任务
- */
-@Component
-public class StockTask {
-    @Autowired
-    StockService stockService;
-
-    @Scheduled(cron = "0 0/50 * * * ?")
-    public void autoPost() {
-        stockService.autoPost(); //出入库定时过账
-    }
-}

+ 0 - 124
src/main/java/com/uas/eis/utils/LogUtil.java

@@ -1,124 +0,0 @@
-package com.uas.eis.utils;
-
-import com.uas.eis.dao.EdiLogDao;
-import com.uas.eis.dao.EdiPostLogDao;
-import com.uas.eis.entity.EdiLog;
-import com.uas.eis.entity.EdiPostLog;
-import com.uas.eis.entity.EdiSuccessLog;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import java.util.Map;
-
-/**
- * Created by luhg on 2018/4/26.
- * 日志记录工具类
- */
-public class LogUtil {
-
-    public static EdiSuccessLog getLogToAvoidRepeatPost(String code, String type){
-        EdiSuccessLog ediSuccessLog = new EdiSuccessLog();
-        ediSuccessLog.setCode(code);
-        ediSuccessLog.setType(type);
-        return ediSuccessLog;
-    }
-
-    public static EdiLog getPostSuccessLog(String code,String responseText){
-        EdiLog ediLog = new EdiLog();
-        ediLog.setKeyValue(code);
-        ediLog.setData(responseText);
-        ediLog.setStatus("success");
-        ediLog.setType("post");
-        return ediLog;
-    }
-
-    public static EdiLog getSendSuccessLog(String outerNo,String data,String type){
-        EdiLog ediLog = new EdiLog();
-        ediLog.setKeyValue(outerNo);
-        ediLog.setData(data);
-        ediLog.setStatus("success");
-        ediLog.setType(type);
-        return ediLog;
-    }
-
-    public static EdiLog getPostFailLog(String code,String responseText,String errMsg){
-        EdiLog ediLog = new EdiLog();
-        ediLog.setKeyValue(code);
-        ediLog.setData(responseText);
-        ediLog.setErrorMsg(errMsg);
-        ediLog.setErrorCode("uas post fail");
-        ediLog.setStatus("fail");
-        ediLog.setType("post");
-        return ediLog;
-    }
-
-    public static EdiLog getSaleFailLog(String code,String responseText,String errMsg){
-        EdiLog ediLog = new EdiLog();
-        ediLog.setKeyValue(code);
-        ediLog.setData(responseText);
-        ediLog.setErrorMsg(errMsg);
-        ediLog.setErrorCode("uas create sale fail");
-        ediLog.setStatus("fail");
-        ediLog.setType("sale");
-        return ediLog;
-    }
-
-    public static EdiLog getSaleReturnFailLog(String code,String responseText,String errMsg){
-        EdiLog ediLog = new EdiLog();
-        ediLog.setKeyValue(code);
-        ediLog.setData(responseText);
-        ediLog.setErrorMsg(errMsg);
-        ediLog.setErrorCode("uas create salereturn fail");
-        ediLog.setStatus("fail");
-        ediLog.setType("sale_return");
-        return ediLog;
-    }
-
-    public static EdiLog getSaleSuccessLog(String code,String responseText){
-        EdiLog ediLog = new EdiLog();
-        ediLog.setKeyValue(code);
-        ediLog.setData(responseText);
-        ediLog.setStatus("success");
-        ediLog.setType("sale");
-        return ediLog;
-    }
-
-    public static EdiLog getSaleReturnSuccessLog(String code,String responseText){
-        EdiLog ediLog = new EdiLog();
-        ediLog.setKeyValue(code);
-        ediLog.setData(responseText);
-        ediLog.setStatus("success");
-        ediLog.setType("sale_return");
-        return ediLog;
-    }
-
-    public static EdiLog getPostFailLog(String responseText,String errMsg){
-        EdiLog ediLog = new EdiLog();
-        ediLog.setData(responseText);
-        ediLog.setErrorMsg(errMsg);
-        ediLog.setErrorCode("uas post fail");
-        ediLog.setStatus("fail");
-        ediLog.setType("post fail");
-        return ediLog;
-    }
-
-    public static EdiLog getSaleFailLog(String responseText,String errMsg){
-        EdiLog ediLog = new EdiLog();
-        ediLog.setData(responseText);
-        ediLog.setErrorMsg(errMsg);
-        ediLog.setErrorCode("uas create sale fail");
-        ediLog.setStatus("fail");
-        ediLog.setType("sale fail");
-        return ediLog;
-    }
-
-    public static EdiLog getRequestFailLog(String responseText){
-        Map<String,Object> responseMap = JacksonUtil.fromJson(responseText);
-        EdiLog ediLog = new EdiLog();
-        ediLog.setData(responseText);
-        ediLog.setErrorCode(String.valueOf(responseMap.get("code")));
-        ediLog.setErrorMsg(String.valueOf(responseMap.get("message")));
-        ediLog.setStatus("fail");
-        ediLog.setType("request");
-        return ediLog;
-    }
-}

+ 14 - 0
src/main/java/com/uas/eis/utils/Mail.java

@@ -0,0 +1,14 @@
+package com.uas.eis.utils;
+
+/**
+ * Created by zdw
+ * 2019-04-18 11:03.
+ */
+public class Mail {
+
+    public final static String SetEmail = "yyyy-MM";
+
+    public final static String SetEmailPassword = "yyyyMM";
+
+    public final static String SetEmailServer = "yyyy-MM-dd";
+}

+ 1 - 1
src/main/java/com/uas/eis/dao/RowConvert.java → src/main/java/com/uas/eis/utils/RowConvert.java

@@ -1,4 +1,4 @@
-package com.uas.eis.dao;
+package com.uas.eis.utils;
 
 import org.springframework.util.NumberUtils;
 

+ 0 - 863
src/main/java/com/uas/eis/utils/SqlUtil.java

@@ -1,863 +0,0 @@
-package com.uas.eis.utils;
-
-import java.io.Writer;
-import java.lang.reflect.Method;
-import java.sql.Clob;
-import java.sql.Connection;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import com.uas.eis.dao.SqlMap;
-
-import oracle.jdbc.OracleConnection;
-
-
-/**
- * 处理一些拼sql的工具包
- * 
- * @author yingp
- * @date 2012-08-02 10:22:17
- * 
- * @since 2015-11-26
- *        <p>
- *        增加对SqlMap的操作方法
- *        </p>
- */
-public class SqlUtil {
-
-	public final static String REG_D = "\\d{4}-\\d{2}-\\d{2}";
-	public final static String REG_DT = "\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}";
-	public final static String REG_TS = "\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}.\\d{1}";
-
-
-	public static String getFullTableName(String tabName, String masterCode) {
-		String[] strs = tabName.split("left join ");
-		StringBuffer sb = new StringBuffer();
-		for (int i = 0, len = strs.length; i < len; i++) {
-			sb.append(masterCode).append(".").append(strs[i]);
-			if (i != len - 1)
-				sb.append("left join ");
-		}
-		return sb.toString();
-	}
-
-
-	/**
-	 * @param map
-	 *            formStore解析成的map
-	 */
-	public static String getInsertSqlByFormStore(Map<?, Object> map, String table, String[] otherFields, Object[] otherValues) {
-		StringBuffer sb1 = new StringBuffer("INSERT into " + table + " (");
-		StringBuffer sb2 = new StringBuffer(" ");
-		Set<?> keys = map.keySet();
-		for (Object key : keys) {
-			String field = (String) key;
-			Object value = map.get(key);
-			for (int i = 0; i < otherFields.length; i++) {
-				if (field.equals(otherFields[i])) {// 字段重复了哦
-					value = otherValues[i];// 优先选用传递过来的value
-				}
-			}
-			sb1.append(field);
-			sb1.append(",");
-			if (value != null) {
-				String val = value.toString();
-				if (value.toString().matches(REG_D)) {// 判断是否是形如yyyy-mm-dd格式的日期类型数据
-					sb2.append(DateUtil.parseDateToOracleString(Constant.YMD, val));
-				} else if (value.toString().matches(REG_DT)) {
-					sb2.append(DateUtil.parseDateToOracleString(Constant.YMD_HMS, val));
-				} else if (value.toString().matches(REG_TS)) {
-					sb2.append(DateUtil.parseDateToOracleString(Constant.YMD_HMS, val.substring(0, val.lastIndexOf("."))));
-				} else if (value.toString().equals("null")) {
-					sb2.append("null");
-				} else if (val.contains("%n")) {
-					sb2.append("'" + val.replaceAll("%n", "\n") + "'");
-				} else if (val.contains("'")) {
-					sb2.append("'" + value.toString().replaceAll("'", "''") + "'");
-				} else {
-					sb2.append("'" + value + "'");
-				}
-			} else {
-				sb2.append("null");
-			}
-			sb2.append(",");
-		}
-		for (int i = 0; i < otherFields.length; i++) {
-			if (!sb1.toString().contains(otherFields[i])) {
-				sb1.append(otherFields[i]);
-				sb1.append(",");
-				sb2.append("'" + otherValues[i] + "'");
-				sb2.append(",");
-			}
-		}
-		return sb1.substring(0, sb1.length() - 1) + ") VALUES (" + sb2.substring(0, sb2.length() - 1) + ")";
-	}
-
-
-	public static List<String> getInsertSqlbyGridStore(List<Map<Object, Object>> maps, String table) {
-		List<String> sqls = new ArrayList<String>();
-		StringBuffer sb1 = null;
-		StringBuffer sb2 = null;
-		for (Map<Object, Object> map : maps) {
-			Set<Object> keys = map.keySet();
-			sb1 = new StringBuffer("INSERT into " + table + " (");
-			sb2 = new StringBuffer(" ");
-			for (Object key : keys) {
-				String field = (String) key;
-				Object value = map.get(key);
-				sb1.append(field);
-				sb1.append(",");
-				if (value != null) {
-					String val = value.toString();
-					if (val.matches(REG_D)) {// 判断是否是形如yyyy-mm-dd格式的日期类型数据
-						sb2.append(DateUtil.parseDateToOracleString(Constant.YMD, val));
-					} else if (val.matches(REG_DT)) {
-						sb2.append(DateUtil.parseDateToOracleString(Constant.YMD_HMS, val));
-					} else if (val.matches(REG_TS)) {
-						sb2.append(DateUtil.parseDateToOracleString(Constant.YMD_HMS, val.substring(0, val.lastIndexOf("."))));
-					} else if (value.toString().equals("null")) {
-						sb2.append("null");
-					} else if (val.contains("%n")) {
-						sb2.append("'" + val.replaceAll("%n", "\n") + "'");
-					} else if (val.contains("'")) {
-						sb2.append("'" + value.toString().replaceAll("'", "''") + "'");
-					} else {
-						sb2.append("'" + value + "'");
-					}
-				} else {
-					sb2.append("null");
-				}
-				sb2.append(",");
-			}
-			sqls.add(sb1.substring(0, sb1.length() - 1) + ") VALUES (" + sb2.substring(0, sb2.length() - 1) + ")");
-		}
-		return sqls;
-	}
-
-	public static List<String> getInsertSqlbyGridStoreWithoutDate(List<Map<Object, Object>> maps, String table) {
-		List<String> sqls = new ArrayList<String>();
-		StringBuffer sb1 = null;
-		StringBuffer sb2 = null;
-		for (Map<Object, Object> map : maps) {
-			Set<Object> keys = map.keySet();
-			sb1 = new StringBuffer("INSERT into " + table + " (");
-			sb2 = new StringBuffer(" ");
-			for (Object key : keys) {
-				String field = (String) key;
-				Object value = map.get(key);
-				sb1.append(field);
-				sb1.append(",");
-				if (value != null) {
-					if (value.toString().equals("null")) {
-						sb2.append("null");
-					} else {
-						sb2.append("'" + value + "'");
-					}
-				} else {
-					sb2.append("null");
-				}
-				sb2.append(",");
-			}
-			sqls.add(sb1.substring(0, sb1.length() - 1) + ") VALUES (" + sb2.substring(0, sb2.length() - 1) + ")");
-		}
-		return sqls;
-	}
-
-	public static List<String> getInsertSqlbyList(List<Map<Object, Object>> maps, String table, String prif) {
-		List<String> sqls = new ArrayList<String>();
-		if (maps != null) {
-			for (Map<Object, Object> map : maps) {
-				sqls.add(getInsertSql(map, table, prif));
-			}
-		}
-		return sqls;
-	}
-
-	/**
-	 * 从map集合格式的数据中解析出insert语句
-	 */
-	public static String getInsertSqlByMap(Map<?, Object> map, String table, String[] otherFields, Object[] otherValues) {
-		StringBuffer sb1 = new StringBuffer("INSERT into " + table + " (");
-		StringBuffer sb2 = new StringBuffer(" ");
-		Object value = null;
-		for (Object field : map.keySet()) {
-			value = map.get(field);
-			if (otherFields != null) {
-				for (int i = 0; i < otherFields.length; i++) {
-					if (field.equals(otherFields[i])) {// 字段重复了哦
-						value = otherValues[i];// 优先选用传递过来的value
-					}
-				}
-			}
-			sb1.append(field);
-			sb1.append(",");
-			if (value != null) {
-				String val = value.toString();
-				if (val.matches(REG_D)) {// 判断是否是形如yyyy-mm-dd格式的日期类型数据
-					sb2.append(DateUtil.parseDateToOracleString(Constant.YMD, val));
-				} else if (val.matches(REG_DT)) {
-					sb2.append(DateUtil.parseDateToOracleString(Constant.YMD_HMS, val));
-				} else if (val.matches(REG_TS)) {
-					sb2.append(DateUtil.parseDateToOracleString(Constant.YMD_HMS, val.substring(0, val.lastIndexOf("."))));
-				} else if (val.equals("null")) {
-					sb2.append("null");
-				} else if (val.contains("%n")) {
-					sb2.append("'" + val.replaceAll("%n", "\n") + "'");
-				} else if (val.contains("'")) {
-					sb2.append("'" + val.replaceAll("'", "''") + "'");
-				} else {
-					sb2.append("'" + value + "'");
-				}
-			} else {
-				sb2.append("null");
-			}
-			sb2.append(",");
-		}
-		if (otherFields != null) {
-			for (int i = 0; i < otherFields.length; i++) {
-				if (!sb1.toString().contains(otherFields[i])) {
-					sb1.append(otherFields[i]);
-					sb1.append(",");
-					sb2.append("'" + otherValues[i] + "'");
-					sb2.append(",");
-				}
-			}
-		}
-		return sb1.substring(0, sb1.length() - 1) + ") VALUES (" + sb2.substring(0, sb2.length() - 1) + ")";
-	}
-
-	public static String getInsertSqlByMap(Map<?, Object> map, String table) {
-		StringBuffer sb1 = new StringBuffer("INSERT into ");
-		sb1.append(table);
-		sb1.append(" (");
-		StringBuffer sb2 = new StringBuffer(" ");
-		Object value = null;
-		for (Object field : map.keySet()) {
-			value = map.get(field);
-			sb1.append(field);
-			sb1.append(",");
-			if (value != null) {
-				String val = value.toString();
-				if (val.matches(REG_D)) {// 判断是否是形如yyyy-mm-dd格式的日期类型数据
-					sb2.append(DateUtil.parseDateToOracleString(Constant.YMD, val));
-				} else if (val.matches(REG_DT)) {
-					sb2.append(DateUtil.parseDateToOracleString(Constant.YMD_HMS, val));
-				} else if (val.matches(REG_TS)) {
-					sb2.append(DateUtil.parseDateToOracleString(Constant.YMD_HMS, val.substring(0, val.lastIndexOf("."))));
-				} else if (val.equals("null")) {
-					sb2.append("null");
-				} else {
-					if (val.contains("'")) {
-						val = val.replaceAll("'", "''");
-					} else if (val.contains("%n")) {
-						val = val.replaceAll("%n", "\n");
-					}
-					// 针对较长字段,比如clob类型,防止ORA-01704的简单处理:切割成多个字符串连接起来
-					if (val.length() > 2000) {
-						sb2.append("''");
-					} else if (val.length() > 1000) {
-						sb2.append(StringUtil.splitAndConcat(val, 1333, "'", "'", "||"));
-					} else {
-						sb2.append("'" + val + "'");
-					}
-				}
-			} else {
-				sb2.append("null");
-			}
-			sb2.append(",");
-		}
-		return sb1.substring(0, sb1.length() - 1) + ") VALUES (" + sb2.substring(0, sb2.length() - 1) + ")";
-	}
-
-	public static String getInsertSql(Map<?, Object> map, String table, String keyField) {
-		StringBuffer sb1 = new StringBuffer("INSERT into ");
-		sb1.append(table);
-		sb1.append(" (");
-		StringBuffer sb2 = new StringBuffer(" ");
-		Object value = null;
-		for (Object field : map.keySet()) {
-			value = map.get(field);
-			sb1.append(field);
-			sb1.append(",");
-			if (field.equals(keyField)) {
-				sb2.append(table).append("_seq.nextval,");
-				continue;
-			}
-			if (value != null) {
-				String val = value.toString();
-				if (val.matches(REG_D)) {// 判断是否是形如yyyy-mm-dd格式的日期类型数据
-					sb2.append(DateUtil.parseDateToOracleString(Constant.YMD, val));
-				} else if (val.matches(REG_DT)) {
-					sb2.append(DateUtil.parseDateToOracleString(Constant.YMD_HMS, val));
-				} else if (val.matches(REG_TS)) {
-					sb2.append(DateUtil.parseDateToOracleString(Constant.YMD_HMS, val.substring(0, val.lastIndexOf("."))));
-				} else if (value.toString().equals("null")) {
-					sb2.append("null");
-				} else if (val.contains("'")) {
-					sb2.append("'" + value.toString().replaceAll("'", "''") + "'");
-				} else if (val.contains("%n")) {
-					sb2.append("'" + val.replaceAll("%n", "\n") + "'");
-				} else {
-					sb2.append("'" + value + "'");
-				}
-			} else {
-				sb2.append("null");
-			}
-			sb2.append(",");
-		}
-		return sb1.substring(0, sb1.length() - 1) + ") VALUES (" + sb2.substring(0, sb2.length() - 1) + ")";
-	}
-
-	public static String getDeleteSql(String tablename, String condition) {
-		StringBuffer sb = new StringBuffer("DELETE FROM ");
-		sb.append(tablename);
-		if (condition != null) {
-			sb.append(" WHERE ");
-			sb.append(condition);
-		}
-		return sb.toString();
-	}
-
-	/**
-	 * 生成更新SQL
-	 * 
-	 * @param map
-	 * @param table
-	 * @param keyField
-	 * @param prefix
-	 *            字段前缀
-	 * @return
-	 */
-	public static String getUpdateSqlByFormStore(Map<Object, Object> map, String table, String keyField, String prefix) {
-		Set<Object> keys = map.keySet();
-		StringBuffer sb1 = new StringBuffer("UPDATE " + table + " SET ");
-		Object keyValue = "";
-		for (Object key : keys) {
-			String field = (String) key;
-			if (null != prefix && !field.startsWith(prefix)) {
-				continue;
-			}
-			Object value = map.get(key);
-			if (field.equals(keyField)) {// 找到了需要的字段哦
-				keyValue = value;
-			}
-			sb1.append(field);
-			sb1.append("=");
-			if (value != null) {
-				String val = value.toString();
-				if (val.matches(REG_D)) {// 判断是否是形如yyyy-mm-dd格式的日期类型数据
-					sb1.append(DateUtil.parseDateToOracleString(Constant.YMD, val));
-				} else if (val.matches(REG_DT)) {
-					sb1.append(DateUtil.parseDateToOracleString(Constant.YMD_HMS, val));
-				} else if (val.matches(REG_TS)) {
-					sb1.append(DateUtil.parseDateToOracleString(Constant.YMD_HMS, val.substring(0, val.lastIndexOf("."))));
-				} else if (val.equals("null")) {
-					sb1.append("null");
-				} else {
-					if (val.contains("'")) {
-						val = val.replaceAll("'", "''");
-					} else if (val.contains("%n")) {
-						val = val.replaceAll("%n", "\n");
-					}
-					// 针对较长字段,比如clob类型,防止ORA-01704的简单处理:切割成多个字符串连接起来
-					if (val.length() > 2000) {
-						sb1.append("''");
-					} else if (val.length() > 1000) {
-						sb1.append(StringUtil.splitAndConcat(val, 666, "'", "'", "||"));
-					} else {
-						sb1.append("'" + val + "'");
-					}
-				}
-			} else {
-				sb1.append("null");
-			}
-			sb1.append(",");
-		}
-		return sb1.substring(0, sb1.length() - 1) + " WHERE " + keyField + "='" + keyValue + "'";
-	}
-
-	public static String getUpdateSqlByFormStore(Map<Object, Object> map, String table, String keyField) {
-		return getUpdateSqlByFormStore(map, table, keyField, null);
-	}
-
-	/**
-	 * 将HashMap的字段及值,转到SqlMap
-	 * 
-	 * @param sql
-	 * @param map
-	 */
-	private static void getSqlMap(SqlMap sql, Map<Object, Object> map) {
-		Object value = null;
-		for (Object field : map.keySet()) {
-			String key = field.toString();
-			value = map.get(field);
-			if (value != null) {
-				String val = value.toString();
-				if (val.matches(REG_D)) {// 判断是否是形如yyyy-mm-dd格式的日期类型数据
-					sql.setDate(key, val, Constant.YMD);
-				} else if (val.matches(REG_DT)) {
-					sql.setDate(key, val);
-				} else if (val.matches(REG_TS)) {
-					sql.setDate(key, val.substring(0, val.lastIndexOf(".")));
-				} else if (val.equals("null")) {
-					sql.setNull(key);
-				} else {
-					if (val.contains("'")) {
-						val = val.replaceAll("'", "''");
-					} else if (val.contains("%n")) {
-						val = val.replaceAll("%n", "\n");
-					}
-					sql.set(key, val);
-				}
-			} else {
-				sql.setNull(key);
-			}
-		}
-	}
-
-	/**
-	 * 多类型sql新增操作
-	 * 
-	 * @param map
-	 * @param table
-	 * @return
-	 */
-	public static SqlMap getSqlMap(Map<Object, Object> map, String table) {
-		SqlMap sql = new SqlMap(table);
-		getSqlMap(sql, map);
-		return sql;
-	}
-
-	/**
-	 * 多类型sql更新操作
-	 * 
-	 * @param map
-	 * @param table
-	 * @param keyField
-	 * @return
-	 */
-	public static SqlMap getSqlMap(Map<Object, Object> map, String table, String keyField) {
-		SqlMap sql = new SqlMap(table, keyField);
-		getSqlMap(sql, map);
-		return sql;
-	}
-
-	/**
-	 * 修改detail数据 将grid数据从字符串形式拼成sql,
-	 * 
-	 * @param
-	 */
-	public static List<String> getUpdateSqlbyGridStore(String gridStore, String table, String keyField) {
-		List<Map<Object, Object>> maps = BaseUtil.parseGridStoreToMaps(gridStore);
-		List<String> sqls = new ArrayList<String>();
-		for (Map<Object, Object> map : maps) {
-			Set<Object> keys = map.keySet();
-			StringBuffer sb1 = new StringBuffer("UPDATE " + table + " SET ");
-			Object keyValue = "";
-			for (Object key : keys) {
-				String field = (String) key;
-				Object value = map.get(key);
-				if (field.equals(keyField)) {
-					// value不为空,即为已存在数据
-					if (value != null && !value.equals("") && !value.equals("null")) {
-						keyValue = value;
-					} else {// 否则,为新添加的数据
-						sb1 = null;
-						break;
-					}
-				}
-				sb1.append(field);
-				sb1.append("=");
-				if (value != null) {
-					String val = value.toString();
-					if (val.matches(REG_D)) {// 判断是否是形如yyyy-mm-dd格式的日期类型数据
-						sb1.append(DateUtil.parseDateToOracleString(Constant.YMD, val));
-					} else if (val.matches(REG_DT)) {
-						sb1.append(DateUtil.parseDateToOracleString(Constant.YMD_HMS, val));
-					} else if (val.matches(REG_TS)) {
-						sb1.append(DateUtil.parseDateToOracleString(Constant.YMD_HMS, val.substring(0, val.lastIndexOf("."))));
-					} else if (value.toString().equals("null")) {
-						sb1.append("null");
-					} else if (val.contains("%n")) {
-						sb1.append("'" + val.replaceAll("%n", "\n") + "'");
-					} else if (val.contains("'")) {
-						sb1.append("'" + value.toString().replaceAll("'", "''") + "'");
-					} else {
-						sb1.append("'" + value + "'");
-					}
-				} else {
-					sb1.append("null");
-				}
-				sb1.append(",");
-			}
-			if (sb1 != null)
-				sqls.add(sb1.substring(0, sb1.length() - 1) + " WHERE " + keyField + "='" + keyValue + "'");
-		}
-
-		return CollectionUtil.reverse(sqls);
-	}
-
-	/**
-	 * get update_sql by GridStore
-	 * 
-	 * @param maps
-	 * @param table
-	 * @param keyField
-	 * @return
-	 */
-	public static List<String> getUpdateSqlbyGridStore(List<Map<Object, Object>> maps, String table, String keyField) {
-		List<String> sqls = new ArrayList<String>();
-		if (maps != null) {
-			for (Map<Object, Object> map : maps) {
-				Set<Object> keys = map.keySet();
-				StringBuffer sb1 = new StringBuffer("UPDATE " + table + " SET ");
-				Object keyValue = "";
-				for (Object key : keys) {
-					String field = (String) key;
-					Object value = map.get(key);
-					if (field.equals(keyField)) {
-						// value不为空,即为已存在数据
-						if (value != null && !value.equals("") && !value.equals("null") && Integer.parseInt(value.toString()) > 0) {
-							keyValue = value;
-						} else {// 否则,为新添加的数据
-							sb1 = null;
-							break;
-						}
-					}
-					sb1.append(field);
-					sb1.append("=");
-					if (value != null) {
-						String val = value.toString();
-						if (val.matches(REG_D)) {// 判断是否是形如yyyy-mm-dd格式的日期类型数据
-							sb1.append(DateUtil.parseDateToOracleString(Constant.YMD, val));
-						} else if (val.matches(REG_DT)) {
-							sb1.append(DateUtil.parseDateToOracleString(Constant.YMD_HMS, val));
-						} else if (val.matches(REG_TS)) {
-							sb1.append(DateUtil.parseDateToOracleString(Constant.YMD_HMS, val.substring(0, val.lastIndexOf("."))));
-						} else if (value.toString().equals("null")) {
-							sb1.append("null");
-						} else if (val.contains("%n")) {
-							sb1.append("'" + val.replaceAll("%n", "\n") + "'");
-						} else if (val.contains("'")) {
-							sb1.append("'" + value.toString().replaceAll("'", "''") + "'");
-						} else {
-							sb1.append("'" + value + "'");
-						}
-					} else {
-						sb1.append("null");
-					}
-					sb1.append(",");
-				}
-				if (sb1 != null) {
-					sqls.add(sb1.substring(0, sb1.length() - 1) + " WHERE " + keyField + "='" + keyValue + "'");
-				}
-			}
-		}
-		return CollectionUtil.reverse(sqls);
-	}
-
-	/**
-	 * get update_sql by GridStore
-	 * 
-	 * @param maps
-	 * @param table
-	 * @param keyField
-	 * @return
-	 */
-	public static List<String> getUpdateSqlbyGridStoreWithoutDate(List<Map<Object, Object>> maps, String table, String keyField) {
-		List<String> sqls = new ArrayList<String>();
-		for (Map<Object, Object> map : maps) {
-			Set<Object> keys = map.keySet();
-			StringBuffer sb1 = new StringBuffer("UPDATE " + table + " SET ");
-			Object keyValue = "";
-			for (Object key : keys) {
-				String field = (String) key;
-				Object value = map.get(key);
-				if (field.equals(keyField)) {
-					// value不为空,即为已存在数据
-					if (value != null && !value.equals("") && !value.equals("null") && Integer.parseInt(value.toString()) > 0) {
-						keyValue = value;
-					} else {// 否则,为新添加的数据
-						sb1 = null;
-						break;
-					}
-				}
-				sb1.append(field);
-				sb1.append("=");
-				if (value != null) {
-					String val = value.toString();
-					if (value.toString().equals("null")) {
-						sb1.append("null");
-					} else if (val.contains("%n")) {
-						sb1.append("'" + val.replaceAll("%n", "\n") + "'");
-					} else if (val.contains("'")) {
-						sb1.append("'" + value.toString().replaceAll("'", "''") + "'");
-					} else {
-						sb1.append("'" + value + "'");
-					}
-				} else {
-					sb1.append("null");
-				}
-				sb1.append(",");
-			}
-			if (sb1 != null) {
-				sqls.add(sb1.substring(0, sb1.length() - 1) + " WHERE " + keyField + "='" + keyValue + "'");
-			}
-		}
-		return CollectionUtil.reverse(sqls);
-	}
-
-	/**
-	 * notice that trigger must be defined
-	 * 
-	 * @param maps
-	 * @param table
-	 * @param keyField
-	 * @return
-	 */
-	public static List<String> getInsertOrUpdateSqlbyGridStore(List<Map<Object, Object>> maps, String table, String keyField) {
-		List<String> sqls = new ArrayList<String>();
-		for (Map<Object, Object> map : maps) {
-			if (map.get(keyField) == null || "".equals(map.get(keyField)) || "null".equals(map.get(keyField))
-					|| Integer.parseInt(String.valueOf(map.get(keyField))) <= 0) {
-				sqls.add(getInsertSql(map, table, keyField));
-				continue;
-			}
-			Set<Object> keys = map.keySet();
-			StringBuffer sb1 = new StringBuffer("UPDATE " + table + " SET ");
-			Object keyValue = "";
-			for (Object key : keys) {
-				String field = (String) key;
-				Object value = map.get(key);
-				if (field.equals(keyField)) {
-					// value不为空,即为已存在数据
-					if (value != null && !value.equals("") && !value.equals("null") && Integer.parseInt(value.toString()) > 0) {
-						keyValue = value;
-					} else {// 否则,为新添加的数据
-						sb1 = null;
-						break;
-					}
-				}
-				sb1.append(field);
-				sb1.append("=");
-				if (value != null) {
-					String val = value.toString();
-					if (val.matches(REG_D)) {// 判断是否是形如yyyy-mm-dd格式的日期类型数据
-						sb1.append(DateUtil.parseDateToOracleString(Constant.YMD, val));
-					} else if (val.matches(REG_DT)) {
-						sb1.append(DateUtil.parseDateToOracleString(Constant.YMD_HMS, val));
-					} else if (val.matches(REG_TS)) {
-						sb1.append(DateUtil.parseDateToOracleString(Constant.YMD_HMS, val.substring(0, val.lastIndexOf("."))));
-					} else if (value.toString().equals("null")) {
-						sb1.append("null");
-					} else if (val.contains("%n")) {
-						sb1.append("'" + val.replaceAll("%n", "\n") + "'");
-					} else if (val.contains("'")) {
-						sb1.append("'" + value.toString().replaceAll("'", "''") + "'");
-					} else {
-						sb1.append("'" + value + "'");
-					}
-				} else {
-					sb1.append("null");
-				}
-				sb1.append(",");
-			}
-			if (sb1 != null)
-				sqls.add(sb1.substring(0, sb1.length() - 1) + " WHERE " + keyField + "='" + keyValue + "'");
-		}
-		return sqls;
-	}
-
-	public static List<String> getInsertOrUpdateSqlbyGridStoreWithoutDate(List<Map<Object, Object>> maps, String table, String keyField) {
-		List<String> sqls = new ArrayList<String>();
-		for (Map<Object, Object> map : maps) {
-			if (map.get(keyField) == null || "".equals(map.get(keyField)) || "null".equals(map.get(keyField))
-					|| Integer.parseInt(String.valueOf(map.get(keyField))) <= 0) {
-				sqls.add(getInsertSql(map, table, keyField));
-				continue;
-			}
-			Set<Object> keys = map.keySet();
-			StringBuffer sb1 = new StringBuffer("UPDATE " + table + " SET ");
-			Object keyValue = "";
-			for (Object key : keys) {
-				String field = (String) key;
-				Object value = map.get(key);
-				if (field.equals(keyField)) {
-					// value不为空,即为已存在数据
-					if (value != null && !value.equals("") && !value.equals("null") && Integer.parseInt(value.toString()) > 0) {
-						keyValue = value;
-					} else {// 否则,为新添加的数据
-						sb1 = null;
-						break;
-					}
-				}
-				sb1.append(field);
-				sb1.append("=");
-				if (value != null) {
-					String val = value.toString();
-					if (value.toString().equals("null")) {
-						sb1.append("null");
-					} else if (val.contains("%n")) {
-						sb1.append("'" + val.replaceAll("%n", "\n") + "'");
-					} else if (val.contains("'")) {
-						sb1.append("'" + value.toString().replaceAll("'", "''") + "'");
-					} else {
-						sb1.append("'" + value + "'");
-					}
-				} else {
-					sb1.append("null");
-				}
-				sb1.append(",");
-			}
-			if (sb1 != null)
-				sqls.add(sb1.substring(0, sb1.length() - 1) + " WHERE " + keyField + "='" + keyValue + "'");
-		}
-		return sqls;
-	}
-
-	public static List<String> getInsertOrUpdateSql(List<Map<Object, Object>> maps, String table, String keyField) {
-		List<String> sqls = new ArrayList<String>();
-		if (maps != null) {
-			for (Map<Object, Object> map : maps) {
-				if (map.get(keyField) == null || "".equals(map.get(keyField)) || "null".equals(map.get(keyField))
-						|| Integer.parseInt(String.valueOf(map.get(keyField))) <= 0) {
-					sqls.add(getInsertSql(map, table, keyField));
-					continue;
-				}
-				Set<Object> keys = map.keySet();
-				StringBuffer sb1 = new StringBuffer("UPDATE " + table + " SET ");
-				Object keyValue = "";
-				for (Object key : keys) {
-					String field = (String) key;
-					Object value = map.get(key);
-					if (field.equals(keyField)) {
-						// value不为空,即为已存在数据
-						if (value != null && !value.equals("") && !value.equals("null") && Integer.parseInt(value.toString()) > 0) {
-							keyValue = value;
-						} else {// 否则,为新添加的数据
-							sb1 = null;
-							break;
-						}
-					}
-					sb1.append(field);
-					sb1.append("=");
-					if (value != null) {
-						String val = value.toString();
-						if (val.matches(REG_D)) {// 判断是否是形如yyyy-mm-dd格式的日期类型数据
-							sb1.append(DateUtil.parseDateToOracleString(Constant.YMD, val));
-						} else if (val.matches(REG_DT)) {
-							sb1.append(DateUtil.parseDateToOracleString(Constant.YMD_HMS, val));
-						} else if (val.matches(REG_TS)) {
-							sb1.append(DateUtil.parseDateToOracleString(Constant.YMD_HMS, val.substring(0, val.lastIndexOf("."))));
-						} else if (value.toString().equals("null")) {
-							sb1.append("null");
-						} else if (val.contains("'")) {
-							sb1.append("'" + val.replaceAll("'", "''") + "'");
-						} else if (val.contains("%n")) {
-							sb1.append("'" + val.replaceAll("%n", "\n") + "'");
-						} else {
-							sb1.append("'" + value + "'");
-						}
-					} else {
-						sb1.append("null");
-					}
-					sb1.append(",");
-				}
-				if (sb1 != null)
-					sqls.add(sb1.substring(0, sb1.length() - 1) + " WHERE " + keyField + "='" + keyValue + "'");
-			}
-		}
-		return sqls;
-	}
-
-	public static Object createOracleLob(OracleConnection conn, String lobClassName) throws Exception {
-		@SuppressWarnings("rawtypes")
-		Class lobClass = conn.getClass().getClassLoader().loadClass(lobClassName);
-		final Integer DURATION_SESSION = new Integer(lobClass.getField("DURATION_SESSION").getInt(null));
-		final Integer MODE_READWRITE = new Integer(lobClass.getField("MODE_READWRITE").getInt(null));
-		@SuppressWarnings("unchecked")
-		Method createTemporary = lobClass.getMethod("createTemporary", new Class[] { Connection.class, boolean.class, int.class });
-		Object lob = createTemporary.invoke(null, new Object[] { conn, false, DURATION_SESSION });
-		@SuppressWarnings("unchecked")
-		Method open = lobClass.getMethod("open", new Class[] { int.class });
-		open.invoke(lob, new Object[] { MODE_READWRITE });
-		return lob;
-	}
-
-	public static String oracleClob2Str(Clob clob) throws Exception {
-		return (clob != null ? clob.getSubString(1, (int) clob.length()) : null);
-	}
-
-	public static Clob oracleStr2Clob(String str, Clob lob) throws Exception {
-		Method methodToInvoke = lob.getClass().getMethod("getCharacterOutputStream", (Class[]) null);
-		Writer writer = (Writer) methodToInvoke.invoke(lob, (Object[]) null);
-		writer.write(str);
-		writer.close();
-		return lob;
-	}
-
-	public static Map<String, String> splitCondition(String condition, String... fields) {
-		if (condition != null && condition.length() > 0) {
-			String[] strs = condition.toUpperCase().split(" AND ");
-			Map<String, String> ns = new HashMap<String, String>();
-			int i = 0;
-			int j = 0;
-			int len = condition.length();
-			for (String s : strs) {
-				i = j;
-				j += s.length();
-				if (i > 0 && j < len) {
-					i += 5;
-					j += 5;
-				}
-				if (s.trim().length() > 0) {
-					for (String field : fields) {
-						if (s.contains(field.toUpperCase()) && s.contains("=")) {
-							String[] su = condition.substring(i, j).split("=");
-							ns.put(field, su[1]);
-							break;
-						}
-					}
-				}
-			}
-			return ns;
-		}
-		return null;
-	}
-
-	/**
-	 * 拆分condition 拆出来的条件还是带单引号的
-	 * 
-	 * @param condition
-	 * @return
-	 */
-	public static Map<String, String> splitCondition(String condition) {
-		if (condition != null && condition.length() > 0) {
-			String[] strs = condition.toUpperCase().split(" AND ");
-			Map<String, String> ns = new HashMap<String, String>();
-			int i = 0;
-			int j = 0;
-			int len = condition.length();
-			for (String s : strs) {
-				i = j;
-				j += s.length();
-				if (i > 0 && j < len) {
-					i += 5;
-					j += 5;
-				}
-				if (s.trim().length() > 0) {
-					if (s.contains("=")) {
-						String[] su = condition.substring(i, j).split("=");
-						ns.put(su[0], su[1]);
-					}
-				}
-			}
-			return ns;
-		}
-		return null;
-	}
-
-}

+ 4 - 4
src/main/resources/application.yml

@@ -2,10 +2,10 @@ spring:
     datasource:
         type: com.alibaba.druid.pool.DruidDataSource
         driverClassName: oracle.jdbc.OracleDriver
-        username: yunding
-        password: select!#%@$^
-#        url: jdbc:oracle:thin:@oclean.uicp.net:1521:orcl
-        url: jdbc:oracle:thin:@127.0.0.1:1521:orcl
+        username: DATACENTER
+        password: select!#%*(
+        url: jdbc:oracle:thin:@sz.hi-mantech.com:1521:orcl
+#        url: jdbc:oracle:thin:@127.0.0.1:1521:orcl
         initialSize: 10
         maxActive: 80
         minIdle: 10

+ 0 - 8
src/test/java/com/uas/eis/UasEisApplicationTests.java

@@ -1,8 +1,6 @@
 package com.uas.eis;
 
 import com.uas.eis.dao.BaseDao;
-import com.uas.eis.service.SaleReturnService;
-import com.uas.eis.service.SaleService;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -13,18 +11,12 @@ import org.springframework.test.context.junit4.SpringRunner;
 @SpringBootTest
 public class UasEisApplicationTests {
 
-	@Autowired
-	private SaleService SaleService;
-	@Autowired
-	private SaleReturnService SaleReturnService;
 	@Autowired
 	private BaseDao baseDao;
 
 
 	@Test
 	public void contextLoads() {
-		SaleReturnService.getSaleReturn();
-
 
 	}