| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386 |
- package com.uas.eis;
- import com.fasterxml.jackson.core.JsonProcessingException;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.fasterxml.jackson.databind.PropertyName;
- import com.fasterxml.jackson.databind.introspect.AnnotatedClass;
- import com.fasterxml.jackson.dataformat.xml.JacksonXmlAnnotationIntrospector;
- import com.sun.xml.internal.bind.v2.util.XmlFactory;
- import com.uas.eis.config.VwmsConfig;
- import com.uas.eis.dao.*;
- import com.uas.eis.entity.vwms.req.BaseItemsReq;
- import com.uas.eis.entity.vwms.req.BaseReq;
- import com.uas.eis.entity.vwms.req.ProductReq;
- import com.uas.eis.entity.vwms.resp.BaseVastResp;
- import com.uas.eis.service.ERPService;
- import com.uas.eis.utils.CollectionUtil;
- import com.uas.eis.utils.HttpUtil;
- import com.uas.eis.utils.StringUtil;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.test.context.SpringBootTest;
- import org.springframework.test.context.junit4.SpringRunner;
- import java.io.*;
- import java.util.*;
- import com.fasterxml.jackson.dataformat.xml.XmlMapper;
- @RunWith(SpringRunner.class)
- @SpringBootTest(classes = {UasEisApplication.class})
- public class UasEisApplicationTests {
- private final Logger logger = LoggerFactory.getLogger(this.getClass());
- @Autowired
- private BaseDao baseDao;
- // @Autowired
- // private ObjectMapper objectMapper; // 注入Jackson的ObjectMapper
- @Autowired
- private ERPService erpService;
- @Autowired
- private VwmsConfig vwmsConfig;
- @Test
- public void testSendProdByEv(){
- // 设置测试数据
- String master = "DATACENTER";
- Map<String, Object> result = new HashMap<>();
- String id = "100072167";
- String emCode = "ADMIN";
- String caller = "Product";
- result = erpService.sendProd(master, id, emCode,caller);
- //客户资料
- /*String id = "86362";
- String emCode = "ADMIN";
- String caller = "Customer!Base";
- Map<String, Object> result = erpService.sendCust(master, id, emCode,caller);*/
- System.out.println("result:"+result.toString());
- }
- @Test
- public void testSendCustError(){
- // 设置测试数据
- String master = "DATACENTER_P";
- String id = "86362";
- // 86361 测试测试
- // 86362 测试测试2
- String emCode = "ADMIN";
- String caller = "Customer!Base";
- Map<String, Object> result = erpService.sendCust(master, id, emCode,caller);
- System.out.println("result:"+result.toString());
- }
- @Test
- public void testSendVendError(){
- // 设置测试数据
- String master = "DATACENTER_P";
- String id = "104018";
- // 104017 测试测试
- // 104018 测试测试2
- String emCode = "ADMIN";
- String caller = "Vendor";
- Map<String, Object> result = erpService.sendVend(master, id, emCode,caller);
- System.out.println("result:"+result.toString());
- }
- @Test
- public void testSendIO(){
- // 设置测试数据
- String master = "LHWX_SZ_P";
- String id = "50790687";
- String emCode = "E0263";
- String caller = "ProdInOut!Sale";
- Map<String, Object> result = erpService.sendIO(master, id, emCode,caller);
- System.out.println("result:"+result.toString());
- }
- @Test
- public void testSendIn(){
- // 设置测试数据
- String master = "HUAXK_P";
- String id = "50793193";
- String emCode = "E0263";
- String caller = "ProdInOut!PurcCheckin";
- Map<String, Object> result = erpService.sendIO(master, id, emCode,caller);
- System.out.println("result:"+result.toString());
- }
- @Test
- public void init_vend() {
- //DATACENTER_P
- String ids = baseDao.queryForObject(" select wm_concat(ve_id) from ( select ve_id from DATACENTER.vendor where ve_auditstatus='已审核' and nvl(ve_sendwmsflag,0) = 0 order by ve_id ) where rownum <1000 "
- ,String.class);
- if(ids!=null){
- erpService.sendVend("DATACENTER",ids,"admin","Vendor");
- }else {
- logger.info("初始化完毕");
- }
- }
- @Test
- public void init_cust() {
- String master ="DATACENTER";
- String ids = baseDao.queryForObject(" select wm_concat(cu_id) from ( select cu_id FROM(SELECT cu_id from "+master+".customer " +
- "where cu_auditstatus='已审核' and nvl(cu_sendwmsflag,0) = 0 " +
- "and (cu_code,cu_name) not in (select ve_code,ve_name from vendor where ve_auditstatus='已审核' and nvl(ve_sendwmsflag,0) = -1) " +
- "order by cu_id) where rownum <1000 )"
- ,String.class);
- if(ids!=null){
- Map<String, Object> result = erpService.sendCust(master,ids,"admin","Customer!Base");
- String message = "";
- if (result.get("success") == null || !"true".equals(result.get("success").toString())) {
- baseDao.execute("update "+master+".customer set cu_sendwmsflag=-1,cu_sendwmsstatus='同步成功',cu_sendwmserr=null where cu_id in ("+ids+")");
- if(result.get("errList")!=null){
- try {
- List<Map<String,Object>> errList = (List<Map<String,Object>>) result.get("errList");
- for(Map<String,Object> map:errList){
- if(StringUtil.hasText(map.get("code"))){
- message = map.get("eMsg") == null? "同步失败" : map.get("eMsg").toString();
- message = message.replaceAll("'","''");
- baseDao.execute("update "+master+".customer set cu_sendwmsstatus='同步失败',cu_sendwmserr='"+message+"' where cu_id in ("+ids+")");
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }else {
- baseDao.execute("update "+master+".customer set cu_sendwmsflag=-1,cu_sendwmsstatus='同步成功',cu_sendwmserr=null where cu_id in ("+ids+")");
- System.out.println("同步成功");
- }
- }else {
- logger.info("初始化完毕");
- }
- }
- @Test
- public void init_prod() {
- //DATACENTER_P
- // String ids = baseDao.queryForObject(" select wm_concat(pr_id) from ( select pr_id FROM(SELECT pr_id FROM PRODUCT WHERE nvl(pr_sendwmsflag,0)=0 and PR_cODE IN(select 物料编号 FROM A_原厂型号初始化 where 原厂型号外箱 is not null or 原厂型号内箱 is not null) order by pr_id) " +
- // "where rownum <1000 )"
- // ,String.class);
- // String ids="100072205";
- String master ="DATACENTER";
- String ids = baseDao.queryForObject(" select wm_concat(pr_id) from ( select pr_id FROM(SELECT pr_id FROM "+master+".PRODUCT a " +
- " WHERE nvl(a.pr_sendwmsflag,0)=0 and pr_ycxh is not null order by pr_id) " +
- "where rownum <1000 )",String.class);
- if(ids!=null){
- Map<String, Object> result = erpService.sendProd(master, ids, "admin","Product");
- String message = "";
- if (result.get("success") == null || !"true".equals(result.get("success").toString())) {
- baseDao.execute("update "+master+".product set pr_sendwmsflag=-1,pr_sendwmsstatus='同步成功',pr_sendwmserr=null where pr_id in ("+ids+")");
- if(result.get("errList")!=null){
- try {
- List<Map<String,Object>> errList = (List<Map<String,Object>>) result.get("errList");
- for(Map<String,Object> map:errList){
- if(StringUtil.hasText(map.get("code"))){
- message = map.get("eMsg") == null? "同步失败" : map.get("eMsg").toString();
- message = message.replaceAll("'","''");
- baseDao.execute("update "+master+".product set pr_sendwmsstatus='同步失败',pr_sendwmserr='"+message+"' where pr_id in ("+ids+")");
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }else {
- baseDao.execute("update "+master+".product set pr_sendwmsflag=-1,pr_sendwmsstatus='同步成功',pr_sendwmserr=null where pr_id in ("+ids+")");
- System.out.println("同步成功");
- }
- }else {
- logger.info("初始化完毕");
- }
- }
- @Test
- public void testSendProdByXml(){
- // 设置测试数据
- List<ProductReq> prodList = new ArrayList<>();
- // 创建BaseReq对象
- BaseItemsReq<ProductReq> prodBaseItemsReq = new BaseItemsReq();
- prodBaseItemsReq.setActionType("update");
- prodBaseItemsReq.setWarehouseCode(vwmsConfig.getWarehouseCode());
- prodBaseItemsReq.setOwnerCode(vwmsConfig.getOwnerCode());
- prodBaseItemsReq.setOutBizCode("sendProd-"+System.currentTimeMillis());
- // 创建BaseVastItem对象
- BaseItemsReq.BaseItems prodBaseItems = new BaseItemsReq<ProductReq>().new BaseItems<ProductReq>();
- // 设置BaseVastItem的item属性
- ProductReq productReq = new ProductReq.Builder()
- .itemId("TESTXML")
- .itemCode("TESTXML")
- .barCode("TESTXML")
- .itemName("TESTXML")
- .goodsCode("TESTXML")
- .brandName("TESTXML")
- .categoryName("TESTXML")
- .stockUnit("")
- .ExtendProps(new ProductReq.ExtendProps() {{
- setKey1("1000.0");
- }})
- .build();
- prodList.add(productReq);
- ProductReq productReq2 = new ProductReq.Builder()
- .itemId("TESTXML2")
- .itemCode("TESTXML2")
- .barCode("TESTXML2")
- .itemName("TESTXML2")
- .goodsCode("TESTXML2")
- .brandName("TESTXML2")
- .categoryName("TESTXML2")
- .stockUnit("")
- .ExtendProps(new ProductReq.ExtendProps() {{
- setKey1("1000.0");
- }})
- .build();
- prodList.add(productReq2);
- prodBaseItems.setItem(prodList);
- prodBaseItemsReq.setItems(prodBaseItems);
- // 创建RequestWrapper对象
- // BaseReq<BaseItemsReq<ProductReq>> prodBaseReq = new BaseReq();
- // prodBaseReq.setRequest(prodBaseItemsReq);
- try {
- // 将prodBaseReq对象转换为XML字符串
- // 创建XmlMapper实例
- XmlMapper xmlMapper = new XmlMapper();
- // 配置XML根元素名称为 "request"
- // xmlMapper.setAnnotationIntrospector(new JacksonXmlAnnotationIntrospector() {
- // @Override
- // public PropertyName findRootName(AnnotatedClass ac) {
- // return PropertyName.construct("request", null);
- // }
- // });
- String xml = xmlMapper.writeValueAsString(prodBaseItemsReq);
- logger.info("Request XML: {}", xml);
- // 使用postXml方法发送请求
- // byte[] responseBytes = HttpUtil.postXmlToVWMS("openapi.items.synchronize",xml, "UTF-8",vwmsConfig);
- // String responseText = new String(responseBytes, "UTF-8");
- String responseText="<?xml version=\"1.0\" encoding=\"utf-8\"?><response><flag>success</flag><code>201</code><message>openapi.items.synchronize successfully</message></response>";
- System.out.println("responseText:"+responseText);
- // 处理响应
- // if(responseBytes != null) {
- // 解析XML响应
- BaseVastResp baseVastResp = xmlMapper.readValue(responseText, BaseVastResp.class);
- BaseVastResp.Response baseVastRespResponse= baseVastResp.getResponse();
- if(baseVastRespResponse!=null){
- //默认成功
- if("success".equals(baseVastRespResponse.getFlag())){
- logger.info("response-success code: {} message: {}", baseVastRespResponse.getCode(),baseVastRespResponse.getMessage());
- }else {
- logger.info("response-failure code: {} message: {}", baseVastRespResponse.getCode(),baseVastRespResponse.getMessage());
- //不一定全部失败,此处只会返回失败提示
- BaseVastResp.Items items = baseVastRespResponse.getItems();
- if(items!=null&&!CollectionUtil.isEmpty(items.getItem())){
- for (BaseVastResp.Item item : items.getItem()) {
- logger.info("response-failure-item code: {} message: {}", item.getItemCode(),item.getMessage());
- }
- }
- }
- }
- // }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- @Test
- public void testSendProd(){
- // 设置测试数据
- String master = "HUAXK";
- String id = "100047433";
- String emCode = "test";
- String caller = "test";
- // 调用待测方法
- Map<String, Object> result = erpService.sendProd(master, id, emCode,caller);
- System.out.println("result:"+result.toString());
- }
- @Test
- public void testTransfer(){
- // String str = "\u8d27\u54c1\u4ee3\u7801\u6216\u6761\u7801\u957f\u5ea6\u4e0d\u6ee1\u8db3";
- // System.out.println(str);
- System.out.println("l:"+"".length());
- }
- @Test
- public void testSendVend(){
- String master = "HUAXK";
- String id = "98660";
- String emCode = "test";
- String caller = "test";
- Map<String, Object> result = erpService.sendVend(master, id, emCode,caller);
- System.out.println("result:"+result.toString());
- }
- @Test
- public void testSendCustomer(){
- String master = "HUAXK";
- String id = "70779";
- String emCode = "test";
- String caller = "test";
- Map<String, Object> result = erpService.sendCust(master, id, emCode,caller);
- System.out.println("result:"+result.toString());
- }
- @Test
- public void testSendAddCGYS(){
- // 设置测试数据
- String master = "HUAXK";
- String id = "50735758";
- String emCode = "test";
- String caller = "ProdInOut!PurcCheckin";
- Map<String, Object> result = erpService.sendIO(master, id, emCode,caller);
- System.out.println("result:"+result.toString());
- }
- @Test
- public void testSendCancelCGYS(){
- // 设置测试数据
- String master = "HUAXK";
- String id = "50735836";
- String emCode = "test";
- // String caller = "ProdInOut!PurcCheckin";
- String caller = "ProdInOut!Sale";
- Map<String, Object> result = erpService.cancelIO(master, id, emCode,caller,"反提交");
- System.out.println("result:"+result.toString());
- }
- @Test
- public void testSendAddXSCH(){
- // 设置测试数据
- String master = "HUAXK";
- String id = "50735836";
- String emCode = "test";
- String caller = "ProdInOut!Sale";
- Map<String, Object> result = erpService.sendIO(master, id, emCode,caller);
- System.out.println("result:"+result.toString());
- }
- @Test
- public void testSendAddBCCK(){
- // 设置测试数据
- String master = "HUAXK";
- String id = "50736049";
- String emCode = "test";
- String caller = "ProdInOut!AppropriationOut";
- Map<String, Object> result = erpService.sendIO(master, id, emCode,caller);
- System.out.println("result:"+result.toString());
- }
- @Test
- public void testSendAddQTCKZF(){
- // 设置测试数据
- String master = "HUAXK";
- String id = "50736053";
- String emCode = "test";
- String caller = "ProdInOut!OtherOut";
- Map<String, Object> result = erpService.sendIO(master, id, emCode,caller);
- System.out.println("result:"+result.toString());
- }
- @Test
- public void testSendStockData(){
- // 设置测试数据
- String master = "HUAXK";
- String emCode = "test";
- Map<String, Object> result = erpService.sendStockData(master, emCode);
- System.out.println("result:"+result.toString());
- }
- }
|