| | |
| | | package com.gs.xky; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.gs.xky.config.*; |
| | | import com.gs.xky.config.ApiResponse; |
| | | import com.gs.xky.config.BodyParam; |
| | | import com.gs.xky.config.DataAcquisitionConfiguration; |
| | | import com.gs.xky.config.XkyCommonParam; |
| | | import com.gs.xky.dto.BarcodeDeliveryNo; |
| | | import com.gs.xky.dto.XkyDetail; |
| | | import com.gs.xky.dto.XkyEntity; |
| | | import com.gs.xky.service.ApiService; |
| | | import com.gs.xky.entity.MesInvItemArn; |
| | | import com.gs.xky.service.*; |
| | | import org.junit.jupiter.api.Test; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.boot.test.context.SpringBootTest; |
| | | |
| | | import java.io.IOException; |
| | | import java.util.List; |
| | | |
| | | @SpringBootTest |
| | | class XkyApplicationTests { |
| | | |
| | | |
| | | @Autowired |
| | | private XkyService xkyService; |
| | | |
| | | @Autowired |
| | | private ApiService apiService; |
| | | |
| | | @Autowired |
| | | private MesStaffService staffService; |
| | | |
| | | @Autowired |
| | | private DeliveryNoticeService deliveryNoticeService; |
| | | |
| | | @Autowired |
| | | private TblBarcodeInformationService barcodeInformationService; |
| | | |
| | | @Autowired |
| | | private MesInvItemArnService invItemArnService; |
| | | @Autowired |
| | | private PurchaseService service; |
| | | @Autowired |
| | | private DingtalkInfoService dingtalkInfoService; |
| | | |
| | | @Test |
| | | void contextLoads() throws IOException { |
| | | |
| | | long currentTimeMillis = System.currentTimeMillis(); |
| | | List<MesInvItemArn> itemArnMinus = invItemArnService.getItemArnMinus(); |
| | | |
| | | ApiCommonParam apiParam = new ApiCommonParam(); |
| | | apiParam.setAppKey(DataAcquisitionConfiguration.TEST_APP_KEY);//发携客云提供的appKey |
| | | apiParam.setVersion("1.0");//接口版本 |
| | | apiParam.setOperateCompanyCode(DataAcquisitionConfiguration.TEST_COMPANY_CODE);//操作者所属公司编码 |
| | | apiParam.setOwnerCompanyCode(DataAcquisitionConfiguration.TEST_COMPANY_CODE);//数据所属公司编码,非集团公司默认赋值为操作公司 |
| | | apiParam.setTimestamps(currentTimeMillis / 1000);//当前时间对应的时间戳(秒数) |
| | | deliveryNoticeService.processMesInvItemArnStatusAsync(itemArnMinus); |
| | | |
| | | String appSecret = DataAcquisitionConfiguration.TEST_APP_SECRET;//携客云提供的appSecret |
| | | } |
| | | |
| | | String sign = SignUtils.buildCurrentSign(JSON.toJSONString(apiParam), appSecret); |
| | | apiParam.setSign(sign); |
| | | @Test |
| | | public void getDeviceRealTimeData() throws IOException { |
| | | xkyService.GetSaveDetail(); |
| | | } |
| | | |
| | | @Test |
| | | void cs() throws IOException { |
| | | |
| | | String str = "2225060624DY;"; |
| | | |
| | | |
| | | // 计算五分钟前的时间戳 |
| | | long startDate = currentTimeMillis - (65 * 60 * 1000); // 5 分钟 = 5 * 60 * 1000 毫秒 |
| | | String[] split = str.split(";"); |
| | | |
| | | for (String s : split) { |
| | | XkyCommonParam param = XkyCommonParam.GetInit(); |
| | | |
| | | // 创建 BodyParam 对象并赋值 |
| | | BodyParam bodyParam = new BodyParam(); |
| | | |
| | | bodyParam.setErpCode(DataAcquisitionConfiguration.TEST_ERP_CODE); |
| | | bodyParam.setDeliveryNo(s); |
| | | |
| | | param.setBody(bodyParam); |
| | | |
| | | ApiResponse<XkyDetail> detail = apiService.sendListRequest(param, XkyDetail.class, "https://openapi.xiekeyun.com/delivery/getDetail.json"); |
| | | |
| | | XkyDetail deliveryNo = detail.getData(); |
| | | |
| | | if (deliveryNo == null) { |
| | | System.out.println("为空的送货单号" + s); |
| | | return; |
| | | } |
| | | |
| | | if ("6".equals(deliveryNo.getStatus()) || "0".equals(deliveryNo.getLogisticsStatus())) { |
| | | XkyEntity xkyEntity = new XkyEntity(); |
| | | xkyEntity.setDeliveryNo(deliveryNo.getDeliveryNo()); |
| | | xkyService.remove1(xkyEntity); |
| | | } else if ("1".equals(deliveryNo.getStatus()) && ("2".equals(deliveryNo.getLogisticsStatus()) || "1".equals(deliveryNo.getLogisticsStatus()))) { |
| | | XkyDetail detail1 = deliveryNo; |
| | | deliveryNoticeService.saveDeliveryNotice(detail1); |
| | | List<BarcodeDeliveryNo> barcodeDeliveryNos = GetBarcodeInformation(deliveryNo.getDeliveryNo()); |
| | | barcodeInformationService.SaveBarcodeInformation(barcodeDeliveryNos, deliveryNo.getDeliveryNo()); |
| | | if ("2".equals(deliveryNo.getLogisticsStatus())) { |
| | | deliveryNoticeService.callPdaReceiptBtn("送货单签收[BTNOK[PL017[" + deliveryNo.getDeliveryNo(), ""); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | private List<BarcodeDeliveryNo> GetBarcodeInformation(String deliveryNo) throws IOException { |
| | | XkyCommonParam param = XkyCommonParam.GetInit(); |
| | | |
| | | // 创建 BodyParam 对象并赋值 |
| | | BodyParam bodyParam = new BodyParam(); |
| | | bodyParam.setStartDate(startDate); |
| | | bodyParam.setEndDate(currentTimeMillis); |
| | | bodyParam.setErpCode("Z106"); |
| | | bodyParam.setStatus(new int[]{1}); |
| | | bodyParam.setLogisticsStatus(2); |
| | | |
| | | XkyCommonParam param = new XkyCommonParam(); |
| | | param.setCommonParam(apiParam); |
| | | bodyParam.setErpCode(DataAcquisitionConfiguration.TEST_ERP_CODE); |
| | | bodyParam.setDeliveryNo(deliveryNo); |
| | | |
| | | param.setBody(bodyParam); |
| | | |
| | | |
| | | ApiResponse<XkyEntity> xkyEntityApiResponse = apiService.sendListRequest(param, XkyEntity.class, "https://openapi.xiekeyun.com/delivery/getNoList.json"); |
| | | ApiResponse<BarcodeDeliveryNo> noList = apiService.sendListRequest(param, BarcodeDeliveryNo.class, "https://openapi.xiekeyun.com/barcode/byDeliveryNo.json"); |
| | | |
| | | System.out.println(JSON.toJSONString(xkyEntityApiResponse)); |
| | | return noList.getDataList(); |
| | | } |
| | | |
| | | } |
| | | @Test |
| | | void cs1() throws IOException { |
| | | // DingTalkParam dingTalkParam = new DingTalkParam(0); |
| | | // |
| | | // DingTalkResponse<EmployeeInfo> employeeInfoDingTalkResponse = apiService.sendListRequest(dingTalkParam, EmployeeInfo.class, "http://192.168.1.64/eHR/eHRExternalService/Service.ashx"); |
| | | // |
| | | // //造梦者(浙江)科技有限公司 cUnitName |
| | | // //http://192.168.1.64/eHR |
| | | // List<EmployeeInfo> collect = employeeInfoDingTalkResponse.getData().stream().filter(s -> "造梦者(浙江)科技有限公司".equals(s.getCUnitName())).collect(Collectors.toList()); |
| | | // System.out.println(collect.size()); |
| | | // |
| | | // List<List<EmployeeInfo>> partition = ListUtil.partition(collect, 500); |
| | | // |
| | | // partition.forEach(list -> { |
| | | // staffService.SaveStaff(list); |
| | | // }); |
| | | XkyCommonParam param = XkyCommonParam.GetInit(); |
| | | String jsonString = JSON.toJSONString(param); |
| | | System.out.println(jsonString); |
| | | } |
| | | |
| | | @Test |
| | | void cs2() throws IOException { |
| | | // DingTalkParam dingTalkParam = new DingTalkParam(1); |
| | | // |
| | | // DingTalkResponse<EmployeeInfo> employeeInfoDingTalkResponse = apiService.sendListRequest(dingTalkParam, EmployeeInfo.class, "http://192.168.1.64/eHR/eHRExternalService/Service.ashx"); |
| | | // |
| | | // //造梦者(浙江)科技有限公司 cUnitName |
| | | // //http://192.168.1.64/eHR |
| | | // List<EmployeeInfo> collect = employeeInfoDingTalkResponse.getData().stream().filter(s -> "造梦者(浙江)科技有限公司".equals(s.getCUnitName())).collect(Collectors.toList()); |
| | | // System.out.println(collect.size()); |
| | | // |
| | | // List<List<EmployeeInfo>> partition = ListUtil.partition(collect, 100); |
| | | // |
| | | // partition.forEach(list -> { |
| | | // staffService.UpdateStaff(list); |
| | | // }); |
| | | |
| | | } |
| | | |
| | | @Test |
| | | void cs3() throws Exception { |
| | | // dingtalkInfoService.sendMessage("CGJY20250412166"); |
| | | |
| | | // XkyEntity xkyEntity = new XkyEntity(); |
| | | // xkyEntity.setDeliveryNo("222505057541"); |
| | | // xkyService.remove1(xkyEntity); |
| | | |
| | | } |
| | | } |