diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index 976bfbad..500d45cd 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -137,12 +137,15 @@ public class IoOrderController extends BaseController { List list = orderService.getfilterList(filterOrderRequest); for (IoOrderResponse ioOrderResponse : list) { + if(ioOrderResponse.getCheckStatus() == null){ + ioOrderResponse.setCheckStatus(0+""); + } FilterOrderDetailCodeRequest filterOrderDetailCodeRequest = new FilterOrderDetailCodeRequest(); filterOrderDetailCodeRequest.setOrderIdFk(ioOrderResponse.getBillNo()); List ioOrderDetailCodeResponses = orderDetailBizService.getfilterList(filterOrderDetailCodeRequest); BigDecimal amount=new BigDecimal(0.00); for (IoOrderDetailCodeResponse ioOrderDetailCodeRespons : ioOrderDetailCodeResponses) { - if(ioOrderDetailCodeRespons.getCount() != 0) { + if(ioOrderDetailCodeRespons.getCount() != 0 && ioOrderDetailCodeRespons.getPrice()!=null) { amount = amount.add(new BigDecimal(ioOrderDetailCodeRespons.getCount()).multiply(ioOrderDetailCodeRespons.getPrice())); } } diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java index bbdfd029..9eca7837 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java @@ -483,8 +483,8 @@ public class IoOrderDetailBizController extends BaseController { @PostMapping("/udiwms/inout/order/delBizProduct") @Log(title = "单据管理", businessType = BusinessType.DELETE) public BaseResponse delBizProduct(@RequestBody DeleteRequest deleteRequest) { - IoOrderDetailBizEntity orderDetailBizEntity = orderDetailBizService.selectById(Integer.parseInt(deleteRequest.getId())); - int result = orderDetailBizService.deleteById(Integer.parseInt(deleteRequest.getId())); + IoOrderDetailBizEntity orderDetailBizEntity = orderDetailBizService.selectById(Long.parseLong(deleteRequest.getId())); + int result = orderDetailBizService.deleteById(Long.parseLong(deleteRequest.getId())); if (result > 0) { boolean r1 = orderDetailBizService.isExit(orderDetailBizEntity.getOrderIdFk()); boolean r2 = orderDetailCodeService.isExit(orderDetailBizEntity.getOrderIdFk()); @@ -572,18 +572,16 @@ public class IoOrderDetailBizController extends BaseController { ioOrderDetailBizEntity.setOrderIdFk(ioOrderInvoiceEntity.getOrderIdFk()); - ioOrderDetailBizEntity.setId(ioOrderInvoiceResponse.getBizIdFk().intValue()); - - ioOrderInvoiceService.deleteByInvId(ioOrderInvoiceEntity.getId()+""); + ioOrderDetailBizEntity.setId(ioOrderInvoiceResponse.getBizIdFk().longValue()); + ioOrderInvoiceService.deleteByInvId(ioOrderInvoiceEntity.getId() + ""); List list = orderDetailBizService.filterListInv(filterOrderDetailBizRequest); - if(list.size()==0){ + if (list.size() == 0) { ioOrderDetailBizEntity.setRegStatus(false); } orderDetailCodeService.updateOrderDetailBiz(ioOrderDetailBizEntity); return ResultVOUtils.success(); - } /** @@ -607,16 +605,16 @@ public class IoOrderDetailBizController extends BaseController { public BaseResponse insertInvoice(@RequestBody IoOrderInvoiceEntity ioOrderInvoice) { for (IoOrderDetailBizEntity ioOrderDetailBizEntity : ioOrderInvoice.getList()) { - IoOrderInvoiceEntity ioOrderInvoiceEntity = new IoOrderInvoiceEntity(); - ioOrderInvoiceEntity.setOrderIdFk(ioOrderDetailBizEntity.getOrderIdFk()); - ioOrderInvoiceEntity.setBindRlFk(ioOrderDetailBizEntity.getBindRlFk() + ""); - ioOrderInvoiceEntity.setBatchNo(ioOrderDetailBizEntity.getBatchNo()); - ioOrderInvoiceEntity.setProductDate(ioOrderDetailBizEntity.getProductDate()); - ioOrderInvoiceEntity.setExpireDate(ioOrderDetailBizEntity.getExpireDate()); - ioOrderInvoiceEntity.setBizIdFk(ioOrderDetailBizEntity.getId()); - ioOrderInvoiceEntity.setCreateTime(new Date()); - ioOrderInvoiceEntity.setUpdateTime(new Date()); - ioOrderInvoiceEntity.setId(IdUtil.getSnowflakeNextId()); + IoOrderInvoiceEntity ioOrderInvoiceEntity = new IoOrderInvoiceEntity(); + ioOrderInvoiceEntity.setOrderIdFk(ioOrderDetailBizEntity.getOrderIdFk()); + ioOrderInvoiceEntity.setBindRlFk(ioOrderDetailBizEntity.getBindRlFk() + ""); + ioOrderInvoiceEntity.setBatchNo(ioOrderDetailBizEntity.getBatchNo()); + ioOrderInvoiceEntity.setProductDate(ioOrderDetailBizEntity.getProductDate()); + ioOrderInvoiceEntity.setExpireDate(ioOrderDetailBizEntity.getExpireDate()); + ioOrderInvoiceEntity.setBizIdFk(ioOrderDetailBizEntity.getId()); + ioOrderInvoiceEntity.setCreateTime(new Date()); + ioOrderInvoiceEntity.setUpdateTime(new Date()); + ioOrderInvoiceEntity.setId(IdUtil.getSnowflakeNextId()); ioOrderInvoiceEntity.setMachineNo(ioOrderInvoice.getMachineNo()); ioOrderInvoiceEntity.setInvoiceCode(ioOrderInvoice.getInvoiceCode()); ioOrderInvoiceEntity.setInvoiceEncode(ioOrderInvoice.getInvoiceEncode()); @@ -624,14 +622,14 @@ public class IoOrderDetailBizController extends BaseController { ioOrderInvoiceEntity.setPrice(ioOrderInvoice.getPrice()); ioOrderInvoiceEntity.setRemark(ioOrderInvoice.getRemark()); ioOrderInvoiceEntity.setLicenseUrl(ioOrderInvoice.getLicenseUrl()); - boolean b = ioOrderInvoiceService.insertInvoice(ioOrderInvoiceEntity); + boolean b = ioOrderInvoiceService.insertInvoice(ioOrderInvoiceEntity); } return ResultVOUtils.success("成功"); } @PostMapping("/udiwms/inout/biz/updateorderBiz") - public BaseResponse updateorderBiz(@RequestBody List list) { + public BaseResponse updateorderBiz(@RequestBody List list) { for (IoOrderDetailCodeEntity ioOrderDetailBizEntity : list) { ioOrderDetailBizEntity.setRegStatus(true); orderDetailCodeService.updateOrderDetailBiz(ioOrderDetailBizEntity); @@ -641,7 +639,6 @@ public class IoOrderDetailBizController extends BaseController { } - /** * 查询单据业务详情列表 * @@ -652,7 +649,9 @@ public class IoOrderDetailBizController extends BaseController { public BaseResponse filterBizOrderList(FilterOrderDetailCodeRequest orderDetailBizRequest) { List ioOrderDetailCodeResponses = orderDetailBizService.getfilterList(orderDetailBizRequest); for (IoOrderDetailCodeResponse ioOrderDetailCodeRespons : ioOrderDetailCodeResponses) { - ioOrderDetailCodeRespons.setAmount(new BigDecimal(ioOrderDetailCodeRespons.getCount()).multiply(ioOrderDetailCodeRespons.getPrice())); + if (ioOrderDetailCodeRespons.getCount() != 0 && ioOrderDetailCodeRespons.getPrice() != null) { + ioOrderDetailCodeRespons.setAmount(new BigDecimal(ioOrderDetailCodeRespons.getCount()).multiply(ioOrderDetailCodeRespons.getPrice())); + } String msg = ""; IoOrderInvoiceRequest ioOrderInvoiceEntity = new IoOrderInvoiceRequest(); ioOrderInvoiceEntity.setOrderIdFk(ioOrderDetailCodeRespons.getOrderIdFk()); diff --git a/src/main/java/com/glxp/api/controller/sync/SpsSyncDownloadController.java b/src/main/java/com/glxp/api/controller/sync/SpsSyncDownloadController.java index e7e2e008..f580f0f3 100644 --- a/src/main/java/com/glxp/api/controller/sync/SpsSyncDownloadController.java +++ b/src/main/java/com/glxp/api/controller/sync/SpsSyncDownloadController.java @@ -117,22 +117,30 @@ public class SpsSyncDownloadController { @AuthRuleAnnotation("") @GetMapping("sps/sync/order") public BaseResponse getOrder(SpsSyncDataRequest spsSyncDataRequest) { - BaseResponse baseResponse = spsSyncDownloadService.findOrder(spsSyncDataRequest); BasicExportStatusEntity basicExportStatusEntity = basicExportService.findByData(ConstantStatus.SYNC_SCAN_ORDER, 3); String logs = ""; + BaseResponse baseResponse = new BaseResponse<>(); if (basicExportStatusEntity != null) { - String fileFullPath = null; - try { - fileFullPath = writeFile(filePrefix, BasicProcessStatus.NEW_ALL_BUS_ORDER, JSONUtil.toJsonStr(baseResponse.getData())); - } catch (IOException e) { - e.printStackTrace(); + if (StrUtil.isBlank(basicExportStatusEntity.getCacheFilePath())) { + baseResponse = spsSyncDownloadService.findOrder(spsSyncDataRequest); + String fileFullPath = null; + try { + fileFullPath = writeFile(filePrefix, BasicProcessStatus.NEW_ALL_BUS_ORDER, JSONUtil.toJsonStr(baseResponse.getData())); + } catch (IOException e) { + e.printStackTrace(); + } + basicExportStatusEntity.setCacheFilePath(fileFullPath); + basicExportStatusEntity.setRemark(baseResponse.getData().getSyncRemark()); + basicExportService.updateExportStatus(basicExportStatusEntity); + } else { + String content = readDataFile(basicExportStatusEntity.getCacheFilePath()); + baseResponse.setData(JSONUtil.toBean(content, SpsSyncOrderResponse.class)); } - basicExportStatusEntity.setCacheFilePath(fileFullPath); - basicExportStatusEntity.setRemark(baseResponse.getData().getSyncRemark()); - basicExportService.updateExportStatus(basicExportStatusEntity); SpsSyncOrderResponse spsSyncOrderResponse = baseResponse.getData(); spsSyncOrderResponse.setTaskId(basicExportStatusEntity.getId()); baseResponse.setData(spsSyncOrderResponse); + baseResponse.setCode(20000); + baseResponse.setMessage("success"); } return baseResponse; } @@ -378,7 +386,7 @@ public class SpsSyncDownloadController { basicDownloadService.insertDownloadStatus(downloadStatus); return ResultVOUtils.success(); } catch (Exception e) { - log.error("",e); + log.error("", e); e.printStackTrace(); return ResultVOUtils.error(ResultEnum.NOT_NETWORK, e.getMessage()); } diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailBizEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailBizEntity.java index 6e3afc18..f2bb0ca6 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailBizEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailBizEntity.java @@ -9,8 +9,8 @@ import java.util.List; @Data @TableName(value = "io_order_detail_biz") public class IoOrderDetailBizEntity { - @TableId(value = "id", type = IdType.AUTO) - private Integer id; + @TableId(value = "id", type = IdType.INPUT) + private Long id; /** * 订单号外键 @@ -93,7 +93,7 @@ public class IoOrderDetailBizEntity { /** * 价格 */ - @TableField(value = "price",fill = FieldFill.UPDATE) + @TableField(value = "price", fill = FieldFill.UPDATE) private BigDecimal price; /** @@ -187,7 +187,6 @@ public class IoOrderDetailBizEntity { private String checkFileName; - @TableField(exist = false) private boolean checkSuccess; @@ -202,5 +201,4 @@ public class IoOrderDetailBizEntity { private boolean regStatus; - } diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailCodeEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailCodeEntity.java index 2f7635e1..b92d17d8 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderDetailCodeEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderDetailCodeEntity.java @@ -11,8 +11,8 @@ import java.math.BigDecimal; @Data @TableName(value = "io_order_detail_code") public class IoOrderDetailCodeEntity { - @TableId(value = "id", type = IdType.AUTO) - private Integer id; + @TableId(value = "id", type = IdType.INPUT) + private Long id; /** * 订单号外键 diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderInvoiceEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderInvoiceEntity.java index 5087c26b..adca1dd9 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoOrderInvoiceEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoOrderInvoiceEntity.java @@ -106,10 +106,10 @@ public class IoOrderInvoiceEntity { private String remark; @TableField(value = "bizIdFk") - private Integer bizIdFk; + private Long bizIdFk; @TableField(exist = false) - private Integer regId; + private Integer regId; @TableField(exist = false) diff --git a/src/main/java/com/glxp/api/idc/controller/IdcController.java b/src/main/java/com/glxp/api/idc/controller/IdcController.java index 8eac70e9..d70d4cdf 100644 --- a/src/main/java/com/glxp/api/idc/controller/IdcController.java +++ b/src/main/java/com/glxp/api/idc/controller/IdcController.java @@ -112,7 +112,6 @@ public class IdcController { response.setContentType("application/force-download"); idcService.downloadFile(fileName, response); } - } @RequestMapping("/mapi/**") diff --git a/src/main/java/com/glxp/api/idc/service/IdcService.java b/src/main/java/com/glxp/api/idc/service/IdcService.java index 67ebe23a..61c981d0 100644 --- a/src/main/java/com/glxp/api/idc/service/IdcService.java +++ b/src/main/java/com/glxp/api/idc/service/IdcService.java @@ -38,5 +38,5 @@ public interface IdcService { void downloadFile(String fileName,HttpServletResponse response) ; BaseResponse onceSync(String tableName,boolean isUpload); - boolean signleDownloadFile(String syncIp, String fileName); + boolean signleDownloadFile(String syncIp, String fileFullName); } diff --git a/src/main/java/com/glxp/api/idc/service/impl/IdcServiceImpl.java b/src/main/java/com/glxp/api/idc/service/impl/IdcServiceImpl.java index 333f28af..63f28029 100644 --- a/src/main/java/com/glxp/api/idc/service/impl/IdcServiceImpl.java +++ b/src/main/java/com/glxp/api/idc/service/impl/IdcServiceImpl.java @@ -629,7 +629,8 @@ public class IdcServiceImpl implements IdcService { public void downloadFile(String fileName, HttpServletResponse response) { OutputStream os; String filePathSlash = filePath.substring(filePath.length() - 1).equals("/") ? "" : fileName.substring(0, 1).equals("/") ? "" : "/"; - String sourceFileName = filePath +filePathSlash+imagePath +fileName; +// String sourceFileName = filePath +filePathSlash+imagePath +fileName; + String sourceFileName = fileName; try { if (FileUtils.isFileExist(sourceFileName)) { byte[] bytes = FileUtils.readFileByBytes(sourceFileName); @@ -1162,68 +1163,129 @@ public class IdcServiceImpl implements IdcService { return success; } - @Override - public boolean signleDownloadFile(String syncIp, String fileName) { - String filePathSlash = filePath.substring(filePath.length() - 1).equals("/") ? "" : "/"; - if(!FileUtils.makeDirectory(filePath + filePathSlash + imagePath)) - IDCUtils.createDirectory(filePath + filePathSlash + imagePath); - OkHttpClient client = new OkHttpClient().newBuilder() - .build(); - ; - MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded"); +// @Override +// public boolean signleDownloadFile(String syncIp, String fileName) { +// String filePathSlash = filePath.substring(filePath.length() - 1).equals("/") ? "" : "/"; +// if(!FileUtils.makeDirectory(filePath + filePathSlash + imagePath)) +// IDCUtils.createDirectory(filePath + filePathSlash + imagePath); +// OkHttpClient client = new OkHttpClient().newBuilder() +// .build(); +// ; +// MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded"); +// +// RequestBody body = RequestBody.create(mediaType, "fileName=" + fileName); +// +// Request request = new Request.Builder() +// .url(syncIp + "/spssync/common/downloadFile") +// .post(body) +// .addHeader("Content-Type", "application/x-www-form-urlencoded") +// .build(); +// int total=0; +// try { +// Response result = client.newCall(request).execute(); +// String msg = result!=null ? result.message().length()>200 ? result.message().substring(0,200) : result.message() : ""; +// +// if (result!=null&&result.isSuccessful()&&MediaType.parse("application/force-download").equals(result.body().contentType())) { +// try (InputStream inputStream = result.body().byteStream()) { +// +// +// +// FileOutputStream outputStream = new FileOutputStream(filePath + filePathSlash + imagePath+fileName); +// +// byte b[] = new byte[1024]; +// +// int len = 0; +// while ((len = inputStream.read(b)) != -1) { +// total += len; +// outputStream.write(b, 0, len); +// +// } +// +// outputStream.flush(); +// outputStream.close(); +// if(!(total>0)) { +// new File(filePath + filePathSlash + imagePath+fileName).delete(); +// executeSql("delete from idc_file where filePath='"+fileName+"'"); +// } +// +// } catch (Exception e) { +// +// +// } +// } +// if(!(total>0)) { +// String sql = "replace idc_file (filePath,createTime,msg) values ('"+fileName+"',now(),'"+msg+"')"; +// executeSql(sql); +// } +// +// } catch (IOException e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } +// +// return (total>0); +// } +@Override +public boolean signleDownloadFile(String syncIp, String fileFullName) { + OkHttpClient client = new OkHttpClient().newBuilder() + .build(); + ; + MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded"); + + RequestBody body = RequestBody.create(mediaType, "fileName=" + fileFullName); + + Request request = new Request.Builder() + .url(syncIp + "/spssync/common/downloadFile") + .post(body) + .addHeader("Content-Type", "application/x-www-form-urlencoded") + .build(); + int total = 0; + try { + Response result = client.newCall(request).execute(); + String msg = result!=null ? result.message().length()>200 ? result.message().substring(0,200) : result.message() : ""; + + if (result!=null&&result.isSuccessful()&&MediaType.parse("application/force-download").equals(result.body().contentType())) { + try (InputStream inputStream = result.body().byteStream()) { + + String path = fileFullName.substring(0,fileFullName.lastIndexOf("/")); + if(!FileUtils.makeDirectory(path)) + IDCUtils.createDirectory(path); + + + FileOutputStream outputStream = new FileOutputStream(fileFullName); + + byte b[] = new byte[1024]; + + int len = 0; + while ((len = inputStream.read(b)) != -1) { + total += len; + outputStream.write(b, 0, len); - RequestBody body = RequestBody.create(mediaType, "fileName=" + fileName); + } - Request request = new Request.Builder() - .url(syncIp + "/spssync/common/downloadFile") - .post(body) - .addHeader("Content-Type", "application/x-www-form-urlencoded") - .build(); - int total=0; - try { - Response result = client.newCall(request).execute(); - String msg = result!=null ? result.message().length()>200 ? result.message().substring(0,200) : result.message() : ""; - - if (result!=null&&result.isSuccessful()&&MediaType.parse("application/force-download").equals(result.body().contentType())) { - try (InputStream inputStream = result.body().byteStream()) { - - - - FileOutputStream outputStream = new FileOutputStream(filePath + filePathSlash + imagePath+fileName); - - byte b[] = new byte[1024]; - - int len = 0; - while ((len = inputStream.read(b)) != -1) { - total += len; - outputStream.write(b, 0, len); - - } - - outputStream.flush(); - outputStream.close(); - if(!(total>0)) { - new File(filePath + filePathSlash + imagePath+fileName).delete(); - executeSql("delete from idc_file where filePath='"+fileName+"'"); - } - - } catch (Exception e) { + outputStream.flush(); + outputStream.close(); + if(!(total>0)) { + new File(fileFullName).delete(); + executeSql("delete from idc_file where filePath='"+fileFullName+"'"); + } + } catch (Exception e) { - } - } - if(!(total>0)) { - String sql = "replace idc_file (filePath,createTime,msg) values ('"+fileName+"',now(),'"+msg+"')"; - executeSql(sql); - } - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + } + } + if(!(total>0)) { + String sql = "replace idc_file (filePath,createTime,msg) values ('"+fileFullName+"',now(),'"+msg+"')"; + executeSql(sql); } - return (total>0); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); } + return (total>0); +} /*获取转发服务地址,当前值允许单向,只使用参数upper_server_ip*/ private String getNextHost() { diff --git a/src/main/java/com/glxp/api/req/inout/BizBindUpdateRequest.java b/src/main/java/com/glxp/api/req/inout/BizBindUpdateRequest.java index 43710c4b..722386dc 100644 --- a/src/main/java/com/glxp/api/req/inout/BizBindUpdateRequest.java +++ b/src/main/java/com/glxp/api/req/inout/BizBindUpdateRequest.java @@ -5,7 +5,7 @@ import lombok.Data; @Data public class BizBindUpdateRequest { - private Integer id; + private Long id; private Long bindRlFk; private String supId; diff --git a/src/main/java/com/glxp/api/req/inout/IoOrderInvoiceRequest.java b/src/main/java/com/glxp/api/req/inout/IoOrderInvoiceRequest.java index 5e0ddb7b..07ee07cc 100644 --- a/src/main/java/com/glxp/api/req/inout/IoOrderInvoiceRequest.java +++ b/src/main/java/com/glxp/api/req/inout/IoOrderInvoiceRequest.java @@ -67,7 +67,7 @@ public class IoOrderInvoiceRequest { private String remark; - private Integer bizIdFk; + private Long bizIdFk; public static final String COL_ID = "id"; diff --git a/src/main/java/com/glxp/api/req/inv/FilterInvPreProductDetailRequest.java b/src/main/java/com/glxp/api/req/inv/FilterInvPreProductDetailRequest.java index 45ccf4c8..0eea3de3 100644 --- a/src/main/java/com/glxp/api/req/inv/FilterInvPreProductDetailRequest.java +++ b/src/main/java/com/glxp/api/req/inv/FilterInvPreProductDetailRequest.java @@ -76,4 +76,6 @@ public class FilterInvPreProductDetailRequest extends ListPageRequest { */ private String updateTime; + private String orderBy; + } diff --git a/src/main/java/com/glxp/api/req/inv/FilterInvProductDetailRequest.java b/src/main/java/com/glxp/api/req/inv/FilterInvProductDetailRequest.java index c9cda9af..160d5cac 100644 --- a/src/main/java/com/glxp/api/req/inv/FilterInvProductDetailRequest.java +++ b/src/main/java/com/glxp/api/req/inv/FilterInvProductDetailRequest.java @@ -85,4 +85,6 @@ public class FilterInvProductDetailRequest extends ListPageRequest { * 失效日期 */ private String expireDate; + + private String orderBy; } diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java index 2af0db85..2d908e88 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderDetailBizResponse.java @@ -10,7 +10,7 @@ import java.math.BigDecimal; @Data public class IoOrderDetailBizResponse { - private Integer id; + private Long id; /** * 订单号外键 diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderDetailCodeResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderDetailCodeResponse.java index 06963fcd..5ec35663 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderDetailCodeResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderDetailCodeResponse.java @@ -11,7 +11,7 @@ import java.math.BigDecimal; @Data public class IoOrderDetailCodeResponse { - private Integer id; + private Long id; /** * 订单号外键 diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java b/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java index 7d96ecf1..a8853daf 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderDetailBizService.java @@ -12,7 +12,7 @@ import java.util.List; public interface IoOrderDetailBizService { - IoOrderDetailBizEntity selectById(Integer id); + IoOrderDetailBizEntity selectById(Long id); List findByOrderId(String orderId); @@ -22,13 +22,13 @@ public interface IoOrderDetailBizService { int update(IoOrderDetailBizEntity orderDetailBizEntity); - int deleteById(Integer id); + int deleteById(Long id); int deleteByOrderId(String billNo); boolean isExit(String billNo); - boolean isExit(Long relId, String bacthNo, Integer ignoreId, String orderId); + boolean isExit(Long relId, String bacthNo, Long ignoreId, String orderId); IoOrderDetailBizEntity findByUnique(String orderId, Long relId, String bacthNo, String productDate, String expireDate); diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java b/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java index c7747a5c..d1294be9 100644 --- a/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java +++ b/src/main/java/com/glxp/api/service/inout/IoOrderDetailCodeService.java @@ -19,7 +19,7 @@ public interface IoOrderDetailCodeService { int update(IoOrderDetailCodeEntity orderDetailCodeEntity); - int deleteById(Integer id); + int deleteById(Long id); /** * 查询单据扫码详情VO列表 diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java index f24865ca..1c27807a 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailBizServiceImpl.java @@ -1,6 +1,7 @@ package com.glxp.api.service.inout.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; @@ -34,7 +35,7 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService { IoOrderDetailBizDao ioOrderDetailBizDao; @Override - public IoOrderDetailBizEntity selectById(Integer id) { + public IoOrderDetailBizEntity selectById(Long id) { return ioOrderDetailBizDao.selectById(id); } @@ -59,7 +60,8 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService { @Override public int insert(IoOrderDetailBizEntity orderDetailBizEntity) { - orderDetailBizEntity.setId(null); + if (orderDetailBizEntity.getId() == null) + orderDetailBizEntity.setId(IdUtil.getSnowflakeNextId()); return ioOrderDetailBizDao.insert(orderDetailBizEntity); } @@ -69,7 +71,7 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService { } @Override - public int deleteById(Integer id) { + public int deleteById(Long id) { return ioOrderDetailBizDao.deleteById(id); } @@ -87,7 +89,7 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService { @Override - public boolean isExit(Long relId, String bacthNo, Integer ignoreId, String orderId) { + public boolean isExit(Long relId, String bacthNo, Long ignoreId, String orderId) { return ioOrderDetailBizDao.exists(new QueryWrapper().eq("bindRlFk", relId).eq(StrUtil.isNotEmpty(bacthNo), "batchNo", bacthNo) .isNull(StrUtil.isEmpty(bacthNo), "batchNo").eq("orderIdFk", orderId).ne("id", ignoreId)); } diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java index 071c6071..07b00d69 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderDetailCodeServiceImpl.java @@ -2,6 +2,7 @@ package com.glxp.api.service.inout.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageHelper; @@ -55,7 +56,9 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService { @Override public int insert(IoOrderDetailCodeEntity orderDetailCodeEntity) { - orderDetailCodeEntity.setId(null); + if (orderDetailCodeEntity.getId() == null) { + orderDetailCodeEntity.setId(IdUtil.getSnowflakeNextId()); + } return ioOrderDetailCodeDao.insert(orderDetailCodeEntity); } @@ -65,7 +68,7 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService { } @Override - public int deleteById(Integer id) { + public int deleteById(Long id) { return ioOrderDetailCodeDao.deleteById(id); } @@ -118,7 +121,7 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService { @Override public Boolean updateOrderDetailBiz(IoOrderDetailCodeEntity orderDetailCodeEntity) { - return ioOrderDetailCodeDao.updateById(orderDetailCodeEntity)>0; + return ioOrderDetailCodeDao.updateById(orderDetailCodeEntity) > 0; } } diff --git a/src/main/java/com/glxp/api/service/sync/SpsSyncDownloadService.java b/src/main/java/com/glxp/api/service/sync/SpsSyncDownloadService.java index 17549878..cc69ddbc 100644 --- a/src/main/java/com/glxp/api/service/sync/SpsSyncDownloadService.java +++ b/src/main/java/com/glxp/api/service/sync/SpsSyncDownloadService.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; @@ -115,6 +116,17 @@ public class SpsSyncDownloadService { orderStatusEntity.setStatus(BasicExportStatusEnum.WAIT_SYNC.getCode()); orderStatusEntity.setStartTime(new Date()); orderStatusEntity.setScheduleType(BasicProcessStatus.SCHEDULE_NORMAL); + + if (lastUpdateTime != null) { + String fileFullPath = null; + try { + fileFullPath = writeFile(filePath, BasicProcessStatus.NEW_ALL_BUS_ORDER, JSONUtil.toJsonStr(baseResponse.getData())); + orderStatusEntity.setCacheFilePath(fileFullPath); + orderStatusEntity.setRemark(baseResponse.getData().getSyncRemark()); + } catch (IOException e) { + e.printStackTrace(); + } + } basicExportService.insertExportStatus(orderStatusEntity); } } @@ -187,21 +199,21 @@ public class SpsSyncDownloadService { switch (exportType) { case BASIC_DATA: if (needExec(info.getBasicProducts(), info.getBasicCorp(), info.getSupCert())) { - basicExportInfoCreate(exportType, now + basicExportInfoCreate(exportType, syncTime, now , x -> x.generateBasicDataFile(info, now, false, syncTime) , x -> x.generateBasicDataFile(info, now, true, syncTime)); } break; case OTHER_DATA: if (needExec(info.getUdiCodeLost(), info.getUdiCodeRel())) { - basicExportInfoCreate(exportType, now + basicExportInfoCreate(exportType, syncTime, now , x -> x.generateOtherDataFile(info, now, false, syncTime) , x -> x.generateOtherDataFile(info, now, true, syncTime)); } break; case DOCUMENT_TYPE_DATA: // if (needExec(info.getTypeBus(), info.getTypeScan(), info.getTypeThird())) { -// basicExportInfoCreate(exportType, now +// basicExportInfoCreate(exportType, syncTime, now // , x -> x.generateDocumentTypeDataFile(info, now, false, syncTime) // , x -> x.generateDocumentTypeDataFile(info, now, true, syncTime)); // } @@ -230,7 +242,7 @@ public class SpsSyncDownloadService { * @param hasDataMethod 判断时候有无数据方法 * @param createFileMethod 执行文件生成方法 */ - private void basicExportInfoCreate(BasicExportTypeEnum exportEnum, Date now, Function hasDataMethod, Function createFileMethod) { + private void basicExportInfoCreate(BasicExportTypeEnum exportEnum, Date syncTime, Date now, Function hasDataMethod, Function createFileMethod) { //防止出现同时调用问题 String redisKey = String.format("spsm-sync-create:%s", exportEnum.getKey()); boolean result = redisUtil.setIfAbsent(redisKey, 1, 10); @@ -256,13 +268,16 @@ public class SpsSyncDownloadService { } exportStatus = BasicExportStatusEntity.builder() .id(CustomUtil.getId()) - .status(BasicExportStatusEnum.WAIT_TRIGGERED.getCode()) + .status(syncTime == null ? BasicExportStatusEnum.WAIT_TRIGGERED.getCode() : BasicExportStatusEnum.WAIT_BUILT.getCode()) .idDatas(exportEnum.getKey()) .type(exportEnum.getRemark()) .scheduleType(0) .updateTime(cn.hutool.core.date.DateUtil.date()) .startTime(now) .build(); + if (syncTime != null) { + createFileMethod.apply(applicationContext.getBean(this.getClass())); + } basicExportService.save(exportStatus); } else if (exportStatus.getStatus().equals(BasicExportStatusEnum.WAIT_BUILT.getCode())) {//文件待生成 createFileMethod.apply(applicationContext.getBean(this.getClass())); @@ -723,7 +738,9 @@ public class SpsSyncDownloadService { WeakHashMap returnMap = new WeakHashMap<>(10); returnMap.put("isNew", isNew); returnMap.put("oldDate", isNew ? null : timeInfo.getLastUpdateTime()); - returnMap.put("id", timeInfo.getId()); + if (createFile) { + returnMap.put("id", timeInfo.getId()); + } return returnMap; } diff --git a/src/main/resources/mybatis/mapper/auth/InvWarehouseDao.xml b/src/main/resources/mybatis/mapper/auth/InvWarehouseDao.xml index 566069aa..b1fd31c8 100644 --- a/src/main/resources/mybatis/mapper/auth/InvWarehouseDao.xml +++ b/src/main/resources/mybatis/mapper/auth/InvWarehouseDao.xml @@ -371,7 +371,8 @@ auth_warehouse.name, auth_warehouse.parentId, auth_warehouse.parentCode, - auth_dept.name warehouseName + auth_dept.name warehouseName, + auth_warehouse.advanceType from auth_warehouse inner join auth_dept on auth_warehouse.parentId = auth_dept.code LEFT join auth_warehouse_user on auth_warehouse.code = auth_warehouse_user.code diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml b/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml index 23f94082..e0aa523e 100644 --- a/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml +++ b/src/main/resources/mybatis/mapper/inout/IoOrderDetailBizDao.xml @@ -60,15 +60,19 @@ AND ic.orderIdFk = #{orderIdFk} + + AND (ic.orderIdFk is null or ic.orderIdFk = '') + AND ic.bindRlFk = #{relId} AND ic.batchNo = #{batchNo} - - AND ic.bizIdFk = #{bizIdFk} + + AND (ic.batchNo is null or ic.batchNo = '') + GROUP BY ic.id diff --git a/src/main/resources/mybatis/mapper/inv/InvPreInProductDetailDao.xml b/src/main/resources/mybatis/mapper/inv/InvPreInProductDetailDao.xml index 7cdf1c38..a6848e36 100644 --- a/src/main/resources/mybatis/mapper/inv/InvPreInProductDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvPreInProductDetailDao.xml @@ -51,6 +51,16 @@ AND updateTime #{updateTime} + + + + order by ${orderBy} ${sort} + + + ORDER BY updateTime DESC + + + diff --git a/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml b/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml index 1dc755be..560680ab 100644 --- a/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml @@ -51,6 +51,16 @@ AND updateTime #{updateTime} + + + + + order by ${orderBy} ${sort} + + + ORDER BY updateTime DESC + + diff --git a/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml b/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml index bf4eae52..041ea0ae 100644 --- a/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml @@ -60,6 +60,15 @@ AND updateTime #{updateTime} + + + + order by ${orderBy} ${sort} + + + ORDER BY updateTime DESC + + diff --git a/src/main/resources/mybatis/mapper/sync/BasicExportDao.xml b/src/main/resources/mybatis/mapper/sync/BasicExportDao.xml index 6878841f..addfbbcf 100644 --- a/src/main/resources/mybatis/mapper/sync/BasicExportDao.xml +++ b/src/main/resources/mybatis/mapper/sync/BasicExportDao.xml @@ -49,7 +49,13 @@ parameterType="com.glxp.api.entity.sync.BasicExportStatusEntity"> replace INTO basic_export_status(id, idDatas, status, `type`, updateTime, scheduleType, startTime, endTime, - remark, receiveStatus) + remark, receiveStatus + + + ,cacheFilePath + + + ) values (#{id}, #{idDatas}, #{status}, @@ -59,7 +65,11 @@ #{startTime}, #{endTime}, #{remark}, - #{receiveStatus}) + #{receiveStatus} + + ,#{cacheFilePath} + + ) diff --git a/src/main/resources/schemas/schema_v2.1.sql b/src/main/resources/schemas/schema_v2.1.sql index 636f59da..c46b149b 100644 --- a/src/main/resources/schemas/schema_v2.1.sql +++ b/src/main/resources/schemas/schema_v2.1.sql @@ -37,7 +37,6 @@ CALL Pro_Temp_ColumnWork('io_order', 'regStatus', 'varchar(255) ', 1); - CALL Pro_Temp_ColumnWork('io_code_lost', 'nameCode', 'varchar(255) ', 1); CALL Pro_Temp_ColumnWork('thr_bustype_origin', 'thirdSysName', 'varchar(255) ', 3); @@ -372,4 +371,10 @@ CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'spaceOut', 'tinyint', 1); +CALL Pro_Temp_ColumnWork('io_order_detail_code', 'id', 'bigint ', 2); +CALL Pro_Temp_ColumnWork('io_order_detail_biz', 'id', 'bigint ', 2); + + + +