Browse Source

初次提交

zhouy 2 years ago
parent
commit
566327c79a

+ 23 - 0
src/main/java/com/uas/eis/config/PNSConfig.java

@@ -0,0 +1,23 @@
+package com.uas.eis.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+@Component
+@ConfigurationProperties(prefix = "extral.panasonic")
+@Data
+public class PNSConfig {
+    /**
+     * 请求路径
+     */
+   private String route ;
+   /**
+    * 密钥
+    * */
+   private String if_key;
+   /**
+    * 经销商ID
+    * */
+   private String cust_id;
+}

+ 184 - 0
src/main/java/com/uas/eis/entity/PNSSendData.java

@@ -0,0 +1,184 @@
+package com.uas.eis.entity;
+
+import java.util.Date;
+
+public class PNSSendData {
+    /**
+     * 序号
+     * */
+    private Integer row_number;
+    /**
+     * 期间
+     * */
+    private String ymonth;
+    /**
+     * 数据类型 INV:库存 SALES:销售
+     * */
+    private String data_type;
+    /**
+     * 部门code
+     * */
+    private String division_no;
+
+    public Integer getRow_number() {
+        return row_number;
+    }
+
+    public void setRow_number(Integer row_number) {
+        this.row_number = row_number;
+    }
+
+    public String getYmonth() {
+        return ymonth;
+    }
+
+    public void setYmonth(String ymonth) {
+        this.ymonth = ymonth;
+    }
+
+    public String getData_type() {
+        return data_type;
+    }
+
+    public void setData_type(String data_type) {
+        this.data_type = data_type;
+    }
+
+    public String getDivision_no() {
+        return division_no;
+    }
+
+    public void setDivision_no(String division_no) {
+        this.division_no = division_no;
+    }
+
+    public String getCust_id() {
+        return cust_id;
+    }
+
+    public void setCust_id(String cust_id) {
+        this.cust_id = cust_id;
+    }
+
+    public String getCust_code() {
+        return cust_code;
+    }
+
+    public void setCust_code(String cust_code) {
+        this.cust_code = cust_code;
+    }
+
+    public String getCust_name() {
+        return cust_name;
+    }
+
+    public void setCust_name(String cust_name) {
+        this.cust_name = cust_name;
+    }
+
+    public String getFinal_buyer_cust() {
+        return final_buyer_cust;
+    }
+
+    public void setFinal_buyer_cust(String final_buyer_cust) {
+        this.final_buyer_cust = final_buyer_cust;
+    }
+
+    public String getFinal_buyer_isp() {
+        return final_buyer_isp;
+    }
+
+    public void setFinal_buyer_isp(String final_buyer_isp) {
+        this.final_buyer_isp = final_buyer_isp;
+    }
+
+    public String getFinal_buyer_name() {
+        return final_buyer_name;
+    }
+
+    public void setFinal_buyer_name(String final_buyer_name) {
+        this.final_buyer_name = final_buyer_name;
+    }
+
+    public String getModel_no_cust() {
+        return model_no_cust;
+    }
+
+    public void setModel_no_cust(String model_no_cust) {
+        this.model_no_cust = model_no_cust;
+    }
+
+    public String getModel_no_isp() {
+        return model_no_isp;
+    }
+
+    public void setModel_no_isp(String model_no_isp) {
+        this.model_no_isp = model_no_isp;
+    }
+
+    public Date getConfirm_date() {
+        return confirm_date;
+    }
+
+    public void setConfirm_date(Date confirm_date) {
+        this.confirm_date = confirm_date;
+    }
+
+    public Float getQuantity() {
+        return quantity;
+    }
+
+    public void setQuantity(Float quantity) {
+        this.quantity = quantity;
+    }
+
+    public Float getAmount() {
+        return amount;
+    }
+
+    public void setAmount(Float amount) {
+        this.amount = amount;
+    }
+
+    /**
+     * 经销商id
+     * */
+    private String cust_id;
+    /**
+     * 经销商CODE
+     * */
+    private String cust_code;
+    /**
+     *  经销商名称
+     * */
+    private String cust_name;
+    /**
+     * 最终客户id
+     * */
+    private String final_buyer_cust;
+    private String final_buyer_isp;
+    /**
+     * 最终客户名称
+     * */
+    private String final_buyer_name;
+    /**
+     * 经销商内部型号
+     * */
+    private String model_no_cust;
+    /**
+     * 型号
+     * */
+    private String model_no_isp;
+    /**
+     *库存日期or销售日期
+     * */
+    private Date confirm_date;
+    /**
+     * 数量
+     * */
+    private Float quantity;
+    /**
+     * 金额
+     * */
+    private Float amount;
+}

+ 13 - 0
src/main/java/com/uas/eis/entity/PNSSendResp.java

@@ -0,0 +1,13 @@
+package com.uas.eis.entity;
+
+import lombok.Data;
+
+@Data
+public class PNSSendResp {
+    private String if_name;
+    private String if_key;
+    private String current_page;
+    private String if_batch_no;
+    private Boolean success;
+
+}

+ 99 - 0
src/main/java/com/uas/eis/task/PnsDataSyncTask.java

@@ -0,0 +1,99 @@
+package com.uas.eis.task;
+
+import com.uas.eis.config.PNSConfig;
+import com.uas.eis.dao.BaseDao;
+import com.uas.eis.entity.PNSSendData;
+import com.uas.eis.entity.PNSSendResp;
+import com.uas.eis.utils.FlexJsonUtil;
+import com.uas.eis.utils.HttpUtil;
+import com.uas.eis.utils.StringUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.EmptyResultDataAccessException;
+import org.springframework.http.HttpStatus;
+import org.springframework.jdbc.core.BeanPropertyRowMapper;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class PnsDataSyncTask {
+    private final Logger logger = LoggerFactory.getLogger(this.getClass());
+
+    private int  pageSize = 100;
+    @Autowired
+    private PNSConfig pnsConfig;
+    @Autowired
+    private BaseDao baseDao;
+
+    public void UploadSaleData(){
+        logger.info("Sale Upload Start---");
+        List<PNSSendData> saleUploads = getSaleDataUpload();
+        if(saleUploads.size() < 1 ) {
+            return;
+        }
+        //分页上传
+        int a =  saleUploads.size() / pageSize;
+        int b =  saleUploads.size() % pageSize;
+        int pages = a + (b>0?1:0);
+        HashMap<String, String> reqHeader = new HashMap<>();
+        reqHeader.put("fromsys","ISP");
+        Map<String, String> pageReq = new HashMap<>();
+         pageReq.put("if_name","ISPP-PSI-UPLOAD");
+         pageReq.put("if_key" , pnsConfig.getIf_key());
+         pageReq.put("total_page", String.valueOf(pages));
+         pageReq.put("total_data_count", String.valueOf(saleUploads.size()));
+         logger.info("Sale Upload totalSize {}", pages);
+        for(int i = 0 ; i < pages; i++) {
+            pageReq.put("current_page", String.valueOf(i));
+            if((i+1)*pageSize > saleUploads.size()) {
+                pageReq.put("current_data_count", String.valueOf(b));
+                pageReq.put("detail", FlexJsonUtil.toJsonArrayDeep(saleUploads.subList(i*pageSize, i*pageSize+b)));
+            }else {
+                pageReq.put("current_data_count", String.valueOf(pageSize));
+                pageReq.put("detail", FlexJsonUtil.toJsonArrayDeep(saleUploads.subList(i*pageSize, (i+1)*pageSize)));
+            }
+            logger.info("{}",pageReq);
+            try {
+               HttpUtil.Response response = HttpUtil.sendPostRequest(pnsConfig.getRoute(), reqHeader, pageReq, false);
+                if (response.getStatusCode() == HttpStatus.OK.value()) {
+                    String data = response.getResponseText();
+                    if (StringUtil.hasText(data)) {
+                        PNSSendResp resp = FlexJsonUtil.fromJson(data, PNSSendResp.class);
+                        if(resp.getSuccess()) {
+                            logger.info("Sale Upload success Size {}", i);
+                            pageReq.put("if_batch_no",resp.getIf_batch_no());
+                        }
+                    }
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
+        }
+    }
+
+    public List<PNSSendData> getSaleDataUpload() {
+        try {
+            List<PNSSendData> sendSales = baseDao
+                    .getJdbcTemplate()
+                    .query("SELECT * FROM PNS_SENDDATADETAIL WHERE MAIN_ID=1 ", new BeanPropertyRowMapper<PNSSendData>(PNSSendData.class));
+            int num = 0;
+            for(PNSSendData sendSale : sendSales) {
+                num ++;
+                if(num > pageSize) {
+                    num = 1;
+                }
+                sendSale.setRow_number(num); //分页处理序号问题
+                sendSale.setCust_id(pnsConfig.getCust_id());
+            }
+            return sendSales;
+        } catch (EmptyResultDataAccessException e) {
+            return null;
+        }
+    };
+}

+ 0 - 169
src/main/java/com/uas/eis/task/ProductMITask.java

@@ -24,173 +24,4 @@ import java.util.List;
 @EnableScheduling
 @EnableScheduling
 public class ProductMITask {
 public class ProductMITask {
     private final Logger logger = LoggerFactory.getLogger(this.getClass());
     private final Logger logger = LoggerFactory.getLogger(this.getClass());
-
-    @Autowired
-    private BaseDao baseDao;
-
-    @Scheduled(cron = "0 0/5 * * * ?")
-    public void syncProductMIImg() {
-        SqlRowList sl = baseDao.queryForRowSet("SELECT  * FROM  (SELECT PR_MIIMG,PR_CODE FROM ZN_P.PRODUCT WHERE PR_GROUPCODE='成品' AND NVL(PR_MISTATUS,' ')='已上网' AND PR_MIIMG IS NULL ORDER BY PR_ID DESC) WHERE ROWNUM<=200");
-        File file = null;
-        List<String> sqls = new ArrayList<>();
-        String prCode = " ";
-        logger.info("更新型号开始");
-        File parentFile = new File("/app/MI/ZN/PPE/KaiLiaoImages");
-        //获取所有KaiLiao目录下的文件名
-        String[] fileNames= parentFile.list();
-        String fileName= "";
-        int flag =0;
-        while (sl.next()) {
-             prCode = sl.getGeneralString("PR_CODE");
-             file = new File("/app/MI/ZN/PPE/KaiLiaoImages/"+prCode+".jpg");
-             logger.info("遍历开料路径:{}"+file.getPath());
-             if(file.exists()){
-                 sqls.add("UPDATE ZN_P.PRODUCT SET PR_MIIMG='"+prCode+"' WHERE PR_CODE='"+prCode+"'");
-                 sqls.add("INSERT INTO  ZN_P.USER_PRODUCTIMG_UPDATE(PRCODE,PRIMG) VALUES ('"+prCode+"','"+prCode+"')");
-                 logger.info("更新生产型号大写:{}, IMG:{}",prCode,prCode);
-             }else{
-                 file = new File("/app/MI/ZN/PPE/KaiLiaoImages/"+prCode.toLowerCase()+".jpg");
-                 if(file.exists()){
-                     sqls.add("UPDATE ZN_P.PRODUCT SET PR_MIIMG='"+prCode.toLowerCase()+"' WHERE PR_CODE='"+prCode+"'");
-                     sqls.add("INSERT INTO  ZN_P.USER_PRODUCTIMG_UPDATE(PRCODE,PRIMG) VALUES ('"+prCode+"','"+prCode.toLowerCase()+"')");
-                     logger.info("更新生产型号小写:{}, IMG:{}",prCode,prCode.toLowerCase());
-                 }else {
-                     flag = 0;
-                     for(int i=0 ; i<fileNames.length ;i++) {
-                         flag = 0;
-                         fileName = fileNames[i];
-                         if(fileName.indexOf(".")>0 && fileName.toUpperCase().startsWith(prCode)){
-                             sqls.add("UPDATE ZN_P.PRODUCT SET PR_MIIMG='"+fileName.substring(0, fileName.lastIndexOf("."))+"' WHERE PR_CODE='"+prCode+"'");
-                             sqls.add("INSERT INTO  ZN_P.USER_PRODUCTIMG_UPDATE(PRCODE,PRIMG) VALUES ('"+prCode+"','"+fileName.substring(0, fileName.lastIndexOf("."))+"')");
-                             logger.info("更新生产型号异常:{}, IMG:{}",prCode,fileName.substring(0, fileName.lastIndexOf(".")));
-                             flag = 1;
-                             break;
-                         }
-                     }
-                     /**未匹配到任何文件*/
-                     if(flag == 0) {
-                         sqls.add("UPDATE ZN_P.PRODUCT SET PR_MIIMG='NOIMG' WHERE PR_CODE='"+prCode+"'");
-                         sqls.add("INSERT INTO  ZN_P.USER_PRODUCTIMG_UPDATE(PRCODE,PRIMG) VALUES ('"+prCode+"','NOIMG')");
-                         logger.info("未匹配到文件生产型号:{}",prCode);
-                     }
-
-                 }
-             }
-        }
-        baseDao.execute(sqls);
-        logger.info("更新型号结束");
-    }
-
-
-    @Scheduled(cron = "0 0/5 * * * ?")
-    public void syncJXKXProductMIImg() {
-        SqlRowList sl = baseDao.queryForRowSet("SELECT  * FROM  (SELECT PR_MIIMG,PR_CODE FROM N_KX_JXKX.PRODUCT WHERE PR_GROUPCODE='成品' AND NVL(PR_MISTATUS,' ')='已上网' AND PR_MIIMG IS NULL ORDER BY PR_ID DESC) WHERE ROWNUM<=200");
-        File file = null;
-        List<String> sqls = new ArrayList<>();
-        String prCode = " ";
-        logger.info("更新江西科翔型号开始");
-        File parentFile = new File("/app/MI/JXKX/PPE/KaiLiaoImages");
-        //获取所有KaiLiao目录下的文件名
-        String[] fileNames= parentFile.list();
-        String fileName= "";
-        int flag =0;
-        while (sl.next()) {
-            prCode = sl.getGeneralString("PR_CODE");
-            file = new File("/app/MI/JXKX/PPE/KaiLiaoImages/"+prCode+".jpg");
-            logger.info("遍历开料路径:{}"+file.getPath());
-            if(file.exists()){
-                sqls.add("UPDATE N_KX_JXKX.PRODUCT SET PR_MIIMG='"+prCode+"' WHERE PR_CODE='"+prCode+"'");
-                sqls.add("INSERT INTO  N_KX_JXKX.USER_PRODUCTIMG_UPDATE(PRCODE,PRIMG) VALUES ('"+prCode+"','"+prCode+"')");
-                logger.info("更新生产型号大写:{}, IMG:{}",prCode,prCode);
-            }else{
-                file = new File("/app/MI/JXKX/PPE/KaiLiaoImages/"+prCode.toLowerCase()+".jpg");
-                if(file.exists()){
-                    sqls.add("UPDATE N_KX_JXKX.PRODUCT SET PR_MIIMG='"+prCode.toLowerCase()+"' WHERE PR_CODE='"+prCode+"'");
-                    sqls.add("INSERT INTO  N_KX_JXKX.USER_PRODUCTIMG_UPDATE(PRCODE,PRIMG) VALUES ('"+prCode+"','"+prCode.toLowerCase()+"')");
-                    logger.info("更新生产型号小写:{}, IMG:{}",prCode,prCode.toLowerCase());
-                }else {
-                    flag = 0;
-                    for(int i=0 ; i<fileNames.length ;i++) {
-                        flag = 0;
-                        fileName = fileNames[i];
-                        if(fileName.indexOf(".")>0 && fileName.toUpperCase().startsWith(prCode)){
-                            sqls.add("UPDATE N_KX_JXKX.PRODUCT SET PR_MIIMG='"+fileName.substring(0, fileName.lastIndexOf("."))+"' WHERE PR_CODE='"+prCode+"'");
-                            sqls.add("INSERT INTO  N_KX_JXKX.USER_PRODUCTIMG_UPDATE(PRCODE,PRIMG) VALUES ('"+prCode+"','"+fileName.substring(0, fileName.lastIndexOf("."))+"')");
-                            logger.info("更新生产型号异常:{}, IMG:{}",prCode,fileName.substring(0, fileName.lastIndexOf(".")));
-                            flag = 1;
-                            break;
-                        }
-                    }
-                    /**未匹配到任何文件*/
-                    if(flag == 0) {
-                        sqls.add("UPDATE N_KX_JXKX.PRODUCT SET PR_MIIMG='NOIMG' WHERE PR_CODE='"+prCode+"'");
-                        sqls.add("INSERT INTO  N_KX_JXKX.USER_PRODUCTIMG_UPDATE(PRCODE,PRIMG) VALUES ('"+prCode+"','NOIMG')");
-                        logger.info("未匹配到文件生产型号:{}",prCode);
-                    }
-
-                }
-            }
-        }
-        baseDao.execute(sqls);
-        logger.info("更新江西科翔型号结束");
-    }
-    @Scheduled(cron = "0 0/5 * * * ?")
-    public void syncGZKXProductMIImg() {
-        SqlRowList sl = baseDao.queryForRowSet("SELECT  * FROM  (SELECT PR_MIIMG,PR_CODE FROM GZKX.PRODUCT WHERE PR_GROUPCODE='成品' AND NVL(PR_MISTATUS,' ')='已上网' AND PR_MIIMG IS NULL ORDER BY PR_ID DESC) WHERE ROWNUM<=200");
-        File file = null;
-        List<String> sqls = new ArrayList<>();
-        String prCode = " ";
-        logger.info("更新赣州科翔型号开始");
-        File parentFile = new File("/app/MI/HYHY/PPE/KaiLiaoImages");
-        //获取所有KaiLiao目录下的文件名
-        String[] fileNames= parentFile.list();
-        String fileName= "";
-        int flag =0;
-        String MIIMG = "";
-        while (sl.next()) {
-            prCode = sl.getGeneralString("PR_CODE");
-            file = new File("/app/MI/HYHY/PPE/KaiLiaoImages/"+prCode+".jpg");
-            logger.info("遍历开料路径:{}"+file.getPath());
-            if(file.exists()){
-                sqls.add("UPDATE GZKX.PRODUCT SET PR_MIIMG='"+prCode+"' WHERE PR_CODE='"+prCode+"'");
-                sqls.add("INSERT INTO  GZKX.USER_PRODUCTIMG_UPDATE(PRCODE,PRIMG) VALUES ('"+prCode+"','"+prCode+"')");
-                MIIMG = prCode;
-                logger.info("更新生产型号大写:{}, IMG:{}",prCode,prCode);
-            }else{
-                file = new File("/app/MI/HYHY/PPE/KaiLiaoImages/"+prCode.toLowerCase()+".jpg");
-                if(file.exists()){
-                    sqls.add("UPDATE GZKX.PRODUCT SET PR_MIIMG='"+prCode.toLowerCase()+"' WHERE PR_CODE='"+prCode+"'");
-                    sqls.add("INSERT INTO  GZKX.USER_PRODUCTIMG_UPDATE(PRCODE,PRIMG) VALUES ('"+prCode+"','"+prCode.toLowerCase()+"')");
-                    MIIMG = prCode.toLowerCase();
-                    logger.info("更新生产型号小写:{}, IMG:{}",prCode,prCode.toLowerCase());
-                }else {
-                    flag = 0;
-                    for(int i=0 ; i<fileNames.length ;i++) {
-                        flag = 0;
-                        fileName = fileNames[i];
-                        if(fileName.indexOf(".")>0 && fileName.toUpperCase().startsWith(prCode)){
-                            sqls.add("UPDATE GZKX.PRODUCT SET PR_MIIMG='"+fileName.substring(0, fileName.lastIndexOf("."))+"' WHERE PR_CODE='"+prCode+"'");
-                            sqls.add("INSERT INTO  GZKX.USER_PRODUCTIMG_UPDATE(PRCODE,PRIMG) VALUES ('"+prCode+"','"+fileName.substring(0, fileName.lastIndexOf("."))+"')");
-                            MIIMG = fileName.substring(0, fileName.lastIndexOf("."));
-                            logger.info("更新生产型号异常:{}, IMG:{}",prCode,fileName.substring(0, fileName.lastIndexOf(".")));
-                            flag = 1;
-                            break;
-                        }
-                    }
-                    /**未匹配到任何文件*/
-                    if(flag == 0) {
-                        sqls.add("UPDATE GZKX.PRODUCT SET PR_MIIMG='NOIMG' WHERE PR_CODE='"+prCode+"'");
-                        sqls.add("INSERT INTO  GZKX.USER_PRODUCTIMG_UPDATE(PRCODE,PRIMG) VALUES ('"+prCode+"','NOIMG')");
-                        MIIMG = "NOIMG";
-                        logger.info("未匹配到文件生产型号:{}",prCode);
-                    }
-                }
-            }
-            sqls.add("UPDATE HYHY.PRODUCT SET PR_MIIMG='"+MIIMG+"' WHERE PR_CODE='"+prCode+"'");
-            sqls.add("UPDATE GZKX_ONE.PRODUCT SET PR_MIIMG='"+MIIMG+"' WHERE PR_CODE='"+prCode+"'");
-            sqls.add("UPDATE GZKX_TWO.PRODUCT SET PR_MIIMG='"+MIIMG+"' WHERE PR_CODE='"+prCode+"'");
-        }
-        baseDao.execute(sqls);
-        logger.info("更新赣州科翔型号开始");
-    }
 }
 }

+ 0 - 2
src/main/java/com/uas/eis/utils/HttpUtil.java

@@ -579,9 +579,7 @@ public class HttpUtil {
 				}
 				}
 			}
 			}
 			request.setEntity(new UrlEncodedFormEntity(nvps));
 			request.setEntity(new UrlEncodedFormEntity(nvps));
-			System.out.println(request);
 			response = httpClient.execute(request);
 			response = httpClient.execute(request);
-			System.out.println(response);
 			return Response.getResponse(response);
 			return Response.getResponse(response);
 		} finally {
 		} finally {
 			request.releaseConnection();
 			request.releaseConnection();

+ 9 - 3
src/main/resources/application-prod.yml

@@ -2,9 +2,9 @@ spring:
     datasource:
     datasource:
         type: com.alibaba.druid.pool.DruidDataSource
         type: com.alibaba.druid.pool.DruidDataSource
         driverClassName: oracle.jdbc.OracleDriver
         driverClassName: oracle.jdbc.OracleDriver
-        username: DATACENTER_KX
+        username: YITOA_DATACENTER
         password: select!#%*(
         password: select!#%*(
-        url: jdbc:oracle:thin:@10.100.100.25:1521:orcl
+        url: jdbc:oracle:thin:@10.1.81.208:11756:orcl
         initialSize: 1
         initialSize: 1
         maxActive: 3
         maxActive: 3
         maxWait: 30000
         maxWait: 30000
@@ -26,4 +26,10 @@ server:
 
 
 action:
 action:
     api_action: /EIS/api,/EIS/mes,/EIS/erp
     api_action: /EIS/api,/EIS/mes,/EIS/erp
-    public_actions: /EIS/logout,/EIS/hello1
+    public_actions: /EIS/logout,/EIS/hello1
+
+extral:
+    panasonic:
+        route: http://47.100.162.77:10001/esb/open/api/ISP_customerEDI/route
+        if_key: 230517Vxy3rDjP5VgcNoyoknUnrHTw
+        cust_id: 80946488

+ 3 - 2
src/test/java/com/uas/eis/UasEisApplicationTests.java

@@ -2,6 +2,7 @@ package com.uas.eis;
 
 
 import com.uas.eis.beans.result.CrmQueryResult;
 import com.uas.eis.beans.result.CrmQueryResult;
 import com.uas.eis.listener.UasProdInOutListener;
 import com.uas.eis.listener.UasProdInOutListener;
+import com.uas.eis.task.PnsDataSyncTask;
 import org.junit.Test;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -11,12 +12,12 @@ import org.springframework.test.context.junit4.SpringRunner;
 @SpringBootTest(classes = {UasEisApplication.class})
 @SpringBootTest(classes = {UasEisApplication.class})
 public class UasEisApplicationTests {
 public class UasEisApplicationTests {
 	@Autowired
 	@Autowired
-	private UasProdInOutListener uasProdInOutListener;
+	private PnsDataSyncTask pnsDataSyncTask;
 
 
 
 
 	@Test
 	@Test
 	public void Test() {
 	public void Test() {
-
+		pnsDataSyncTask.UploadSaleData();
 
 
 	}
 	}