From 239f6f7169f77f20c97f4b7213e43f26fdea6c43 Mon Sep 17 00:00:00 2001 From: lisai Date: Wed, 21 Dec 2022 13:23:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=A2=84=E4=BB=98=E5=8F=96?= =?UTF-8?q?=E6=B6=88=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presellorder/PresellOrderSyncService.java | 509 +++++++++--------- .../src/main/java/dataadjustment/Main.java | 51 +- 2 files changed, 282 insertions(+), 278 deletions(-) diff --git a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/presellorder/PresellOrderSyncService.java b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/presellorder/PresellOrderSyncService.java index 3f83961..6aff708 100644 --- a/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/presellorder/PresellOrderSyncService.java +++ b/ssjygl-xsx-service/src/main/java/com/cowr/service/ssjygl/presellorder/PresellOrderSyncService.java @@ -1,253 +1,256 @@ -package com.cowr.service.ssjygl.presellorder; - -import com.alibaba.fastjson.JSONObject; -import com.cowr.common.Const; -import com.cowr.common.enums.Enums; -import com.cowr.common.enums.OrderStateEnum; -import com.cowr.common.view.Result; -import com.cowr.model.*; -import com.cowr.service.ssjygl.base.BaseSyncService; -import com.cowr.service.ssjygl.synctask.SyncTaskService; -import com.cowr.ssjygl.modifylog.ModifyLogService; -import com.cowr.ssjygl.prepay.prepaycustomer.PrepayCustomerService; -import com.jfinal.kit.StrKit; -import com.jfinal.log.Log; -import com.jfinal.plugin.activerecord.Db; -import com.jfinal.plugin.activerecord.IAtom; - -import java.math.BigDecimal; -import java.sql.SQLException; -import java.util.Date; -import java.util.List; - -/** - * Generated by COWR Wed Dec 15 11:37:33 CST 2021 - * TableName: presell_order - * Remarks: - * PrimaryKey: id - */ -public class PresellOrderSyncService extends BaseSyncService { - private static final Log log = Log.getLog(PresellOrderSyncService.class); - public static final PresellOrderSyncService me = new PresellOrderSyncService(); - - public Result save(PresellOrder model, Sysuser tokenuser) { - try { - Integer customer_id = model.getCustomerId(); - Customer customer = Customer.dao.findById(customer_id); - - if (customer == null) { - return Result.failed(false,"按客户id未找到对应客户信息"); - } - Integer type = customer.getType(); - if (type == null || type != 1) { - return Result.failed(false,"选择的客户不是预付费客户"); - } - - PrepayCustomer prepayCustomer = PrepayCustomerService.me.getPrepayCustomer(customer.getId()); - if (prepayCustomer == null) { - return Result.failed(false,"未获取到预付费客户信息"); - } - - PrepayCustomer prepayCustomerSurplus = PrepayCustomerService.me.getPrepayCustomerSurplus(customer.getId()); - if (prepayCustomerSurplus == null) { - return Result.failed(false,"未获取到预付费客户可用余额信息"); - } - - if (model.getPresellAmount().compareTo(prepayCustomerSurplus.getSurplus()) == 1) { // 预售金额大于可用余额 - return Result.failed(false,"余额不足,当前客户可用余额【"+ prepayCustomerSurplus.getSurplus()+"】元"); - } - - model.setId(StrKit.getRandomUUID()); - model.setCreateTime(new Date()); - model.setCreateUserId(tokenuser.getId()); - model.setCreateUserName(tokenuser.getName()); - - SyncTask synctask = new SyncTask(); - SyncTask synctaskincrement = new SyncTask(); - boolean ret = Db.tx(new IAtom() { - @Override - public boolean run() throws SQLException { - boolean ret = model.save(); - - if (!ret) { - return false; - } - - synctask.addSaveData(model); - Integer presellType = customer.getPresellType(); - if (presellType == 0) { - customer.setPresellType(1); - ret = customer.update(); - - synctask.addUpdateData(customer); - - if (!ret) { - return false; - } - } - - prepayCustomer.setSurplus(prepayCustomer.getSurplus().subtract(model.getPresellAmount())); - - // 余额变化需要广播 - synctaskincrement.addIncrementData( - prepayCustomer.getTablename(), - "id", - prepayCustomer.getId(), - new JSONObject().fluentPut("surplus", new BigDecimal(0).subtract(model.getPresellAmount())) - ); - - SyncTaskService.me.save(synctaskincrement); - - ret = prepayCustomer.update(); - - if (!ret) { - return false; - } - - return SyncTaskService.me.save(synctask) - && ModifyLogService.me.save(model, null, Enums.DataOpType.SAVE.getId(), tokenuser); - } - }); - // todo客户余额变更时需短信通知 - - return ret ? Result.object(model) : Result.failed(false, "新增失败"); - } catch (Exception e) { - log.error(e.getMessage(), e); - return Result.failed(false, e.getMessage()); - } - } - - public Result edit(PresellOrder model, Sysuser tokenuser) { - try { - // 注意这里有 !,找到后才做 update 操作 - PresellOrder oldobj = model.findByPk(); - - if (oldobj == null) { - return Result.failed(false, "按主键未找到对应记录"); - } - - PresellOrder saveold = oldobj.clone(); - oldobj.setPresellDate(model.getPresellDate()); - oldobj.setInvoiceCode(model.getInvoiceCode()); - oldobj.setInvoiceNumber(model.getInvoiceNumber()); - oldobj.setMemo(model.getMemo()); - - SyncTask synctask = new SyncTask(); - boolean ret = Db.tx(new IAtom() { - @Override - public boolean run() { - try { - boolean ret = oldobj.update(); - if (!ret) { - return false; - } - - synctask.addUpdateData(oldobj); - return SyncTaskService.me.save(synctask) - && ModifyLogService.me.save(model, saveold, Enums.DataOpType.UPDATE.getId(), tokenuser); - } catch (Exception e) { - log.error(e.getMessage(), e); - return false; - } - } - }); - - if (ret) { - SyncTaskService.me.send(synctask); - } - - return ret ? Result.object(oldobj) : Result.failed(false, "修改失败"); - } catch (Exception e) { - log.error(e.getMessage(), e); - return Result.failed(false, "修改失败"); - } - } - - /** - * 删除 - * - * @param model BaseModel - * @return Result - */ - public Result delete(PresellOrder model, Sysuser tokenuser) { - try { - // 注意这里有 !,找到后才做 delete 操作 - if (!model.checkExistsByPk()) { - return Result.failed(false, "按主键未找到对应记录"); - } - - // 如果预售单已经进行了配额则不能删除 - List list = Ordercluster.dao.find("select * from ordercluster where presell_order_id = ? and state != ?", - model.getId(), OrderStateEnum.INVALID.getStateid()); - if (list.size() > 0) { - return Result.failed(false, "预售单已配额"); - } - - PresellOrder oldobj = model.findByPk(); // 找到旧记录进行更新 - if (oldobj == null) { - return Result.failed(false, "按主键未找到对应记录"); - } - - if (!oldobj.hasDelKey()) { - return Result.failed(false, "不存在逻辑删除字段"); - } - - PrepayCustomer prepayCustomer = PrepayCustomerService.me.getPrepayCustomer(oldobj.getCustomerId()); - if (prepayCustomer == null) { - return Result.failed(false,"未获取到预付费客户信息"); - } - - PresellOrder saveold = oldobj.clone(); - oldobj.setDel(Const.LOGIC_DEL_INVALID); // 逻辑删除字段统一用 del - - SyncTask synctask = new SyncTask(); - SyncTask synctaskincrement = new SyncTask(); - boolean ret = Db.tx(new IAtom() { - @Override - public boolean run() { - try { - boolean ret = oldobj.update(); - - if (!ret) { - return false; - } - - prepayCustomer.setSurplus(prepayCustomer.getSurplus().add(saveold.getPresellAmount())); - - synctaskincrement.addIncrementData( - prepayCustomer.getTablename(), - "id", - prepayCustomer.getId(), - new JSONObject().fluentPut("surplus", saveold.getPresellAmount()) - ); - - // 余额变化需要广播 - SyncTaskService.me.save(synctaskincrement); - ret = prepayCustomer.update(); - - if (!ret) { - return false; - } - - synctask.addUpdateData(oldobj); - - return SyncTaskService.me.save(synctask) - && ModifyLogService.me.save(oldobj, saveold, Enums.DataOpType.UPDATE.getId(), tokenuser); - } catch (Exception e) { - log.error(e.getMessage(), e); - return false; - } - } - }); - - if (ret) { - SyncTaskService.me.send(synctask); - } - - return ret ? Result.object(oldobj) : Result.failed(false, "取消失败"); - } catch (Exception e) { - log.error(e.getMessage(), e); - return Result.failed(false, "取消失败"); - } - } -} +package com.cowr.service.ssjygl.presellorder; + +import com.alibaba.fastjson.JSONObject; +import com.cowr.common.Const; +import com.cowr.common.enums.Enums; +import com.cowr.common.enums.OrderStateEnum; +import com.cowr.common.view.Result; +import com.cowr.model.*; +import com.cowr.service.ssjygl.base.BaseSyncService; +import com.cowr.service.ssjygl.synctask.SyncTaskService; +import com.cowr.ssjygl.modifylog.ModifyLogService; +import com.cowr.ssjygl.prepay.prepaycustomer.PrepayCustomerService; +import com.jfinal.kit.StrKit; +import com.jfinal.log.Log; +import com.jfinal.plugin.activerecord.Db; +import com.jfinal.plugin.activerecord.IAtom; + +import java.math.BigDecimal; +import java.sql.SQLException; +import java.util.Date; +import java.util.List; + +/** + * Generated by COWR Wed Dec 15 11:37:33 CST 2021 + * TableName: presell_order + * Remarks: + * PrimaryKey: id + */ +public class PresellOrderSyncService extends BaseSyncService { + private static final Log log = Log.getLog(PresellOrderSyncService.class); + public static final PresellOrderSyncService me = new PresellOrderSyncService(); + + public Result save(PresellOrder model, Sysuser tokenuser) { + try { + Integer customer_id = model.getCustomerId(); + Customer customer = Customer.dao.findById(customer_id); + + if (customer == null) { + return Result.failed(false,"按客户id未找到对应客户信息"); + } + Integer type = customer.getType(); + if (type == null || type != 1) { + return Result.failed(false,"选择的客户不是预付费客户"); + } + + PrepayCustomer prepayCustomer = PrepayCustomerService.me.getPrepayCustomer(customer.getId()); + if (prepayCustomer == null) { + return Result.failed(false,"未获取到预付费客户信息"); + } + + PrepayCustomer prepayCustomerSurplus = PrepayCustomerService.me.getPrepayCustomerSurplus(customer.getId()); + if (prepayCustomerSurplus == null) { + return Result.failed(false,"未获取到预付费客户可用余额信息"); + } + + if (model.getPresellAmount().compareTo(prepayCustomerSurplus.getSurplus()) == 1) { // 预售金额大于可用余额 + return Result.failed(false,"余额不足,当前客户可用余额【"+ prepayCustomerSurplus.getSurplus()+"】元"); + } + + model.setId(StrKit.getRandomUUID()); + model.setCreateTime(new Date()); + model.setCreateUserId(tokenuser.getId()); + model.setCreateUserName(tokenuser.getName()); + + SyncTask synctask = new SyncTask(); + SyncTask synctaskincrement = new SyncTask(); + boolean ret = Db.tx(new IAtom() { + @Override + public boolean run() throws SQLException { + boolean ret = model.save(); + + if (!ret) { + return false; + } + + synctask.addSaveData(model); + Integer presellType = customer.getPresellType(); + if (presellType == 0) { + customer.setPresellType(1); + ret = customer.update(); + + synctask.addUpdateData(customer); + + if (!ret) { + return false; + } + } + + prepayCustomer.setSurplus(prepayCustomer.getSurplus().subtract(model.getPresellAmount())); + + // 余额变化需要广播 + synctaskincrement.addIncrementData( + prepayCustomer.getTablename(), + "id", + prepayCustomer.getId(), + new JSONObject().fluentPut("surplus", new BigDecimal(0).subtract(model.getPresellAmount())) + ); + + SyncTaskService.me.save(synctaskincrement); + + ret = prepayCustomer.update(); + + if (!ret) { + return false; + } + + return SyncTaskService.me.save(synctask) + && ModifyLogService.me.save(model, null, Enums.DataOpType.SAVE.getId(), tokenuser); + } + }); + // todo客户余额变更时需短信通知 + + return ret ? Result.object(model) : Result.failed(false, "新增失败"); + } catch (Exception e) { + log.error(e.getMessage(), e); + return Result.failed(false, e.getMessage()); + } + } + + public Result edit(PresellOrder model, Sysuser tokenuser) { + try { + // 注意这里有 !,找到后才做 update 操作 + PresellOrder oldobj = model.findByPk(); + + if (oldobj == null) { + return Result.failed(false, "按主键未找到对应记录"); + } + + PresellOrder saveold = oldobj.clone(); + oldobj.setPresellDate(model.getPresellDate()); + oldobj.setInvoiceCode(model.getInvoiceCode()); + oldobj.setInvoiceNumber(model.getInvoiceNumber()); + oldobj.setMemo(model.getMemo()); + + SyncTask synctask = new SyncTask(); + boolean ret = Db.tx(new IAtom() { + @Override + public boolean run() { + try { + boolean ret = oldobj.update(); + if (!ret) { + return false; + } + + synctask.addUpdateData(oldobj); + return SyncTaskService.me.save(synctask) + && ModifyLogService.me.save(model, saveold, Enums.DataOpType.UPDATE.getId(), tokenuser); + } catch (Exception e) { + log.error(e.getMessage(), e); + return false; + } + } + }); + + if (ret) { + SyncTaskService.me.send(synctask); + } + + return ret ? Result.object(oldobj) : Result.failed(false, "修改失败"); + } catch (Exception e) { + log.error(e.getMessage(), e); + return Result.failed(false, "修改失败"); + } + } + + /** + * 删除 + * + * @param model BaseModel + * @return Result + */ + public Result delete(PresellOrder model, Sysuser tokenuser) { + try { + // 注意这里有 !,找到后才做 delete 操作 + if (!model.checkExistsByPk()) { + return Result.failed(false, "按主键未找到对应记录"); + } + + // 如果预售单已经进行了配额则不能删除 + List list = Ordercluster.dao.find("select * from ordercluster where presell_order_id = ? and state != ?", + model.getId(), OrderStateEnum.INVALID.getStateid()); + if (list.size() > 0) { + return Result.failed(false, "预售单已配额"); + } + + PresellOrder oldobj = model.findByPk(); // 找到旧记录进行更新 + if (oldobj == null) { + return Result.failed(false, "按主键未找到对应记录"); + } + + if (!oldobj.hasDelKey()) { + return Result.failed(false, "不存在逻辑删除字段"); + } + + PrepayCustomer prepayCustomer = PrepayCustomerService.me.getPrepayCustomer(oldobj.getCustomerId()); + if (prepayCustomer == null) { + return Result.failed(false,"未获取到预付费客户信息"); + } + + PresellOrder saveold = oldobj.clone(); + oldobj.setDel(Const.LOGIC_DEL_INVALID); // 逻辑删除字段统一用 del + + SyncTask synctask = new SyncTask(); + SyncTask synctaskincrement = new SyncTask(); + + synctask.setSupermarketId(saveold.getSupermarketId()); + + boolean ret = Db.tx(new IAtom() { + @Override + public boolean run() { + try { + boolean ret = oldobj.update(); + + if (!ret) { + return false; + } + + prepayCustomer.setSurplus(prepayCustomer.getSurplus().add(saveold.getPresellAmount())); + + synctaskincrement.addIncrementData( + prepayCustomer.getTablename(), + "id", + prepayCustomer.getId(), + new JSONObject().fluentPut("surplus", saveold.getPresellAmount()) + ); + + // 余额变化需要广播 + SyncTaskService.me.save(synctaskincrement); + ret = prepayCustomer.update(); + + if (!ret) { + return false; + } + + synctask.addUpdateData(oldobj); + + return SyncTaskService.me.save(synctask) + && ModifyLogService.me.save(oldobj, saveold, Enums.DataOpType.UPDATE.getId(), tokenuser); + } catch (Exception e) { + log.error(e.getMessage(), e); + return false; + } + } + }); + + if (ret) { + SyncTaskService.me.send(synctask); + } + + return ret ? Result.object(oldobj) : Result.failed(false, "取消失败"); + } catch (Exception e) { + log.error(e.getMessage(), e); + return Result.failed(false, "取消失败"); + } + } +} diff --git a/ssjygl-xsx-service/src/main/java/dataadjustment/Main.java b/ssjygl-xsx-service/src/main/java/dataadjustment/Main.java index 3f80009..b574619 100644 --- a/ssjygl-xsx-service/src/main/java/dataadjustment/Main.java +++ b/ssjygl-xsx-service/src/main/java/dataadjustment/Main.java @@ -73,37 +73,37 @@ public class Main { System.out.println("orders : " + orders.size()); -// List orders = OrderTemp.dao.find("select * from order_temp where customer_id = 172 and state = 5 and create_time >= '2022-03-04' and create_time < '2022-04-25'"); +// //List orders = OrderTemp.dao.find("select * from order_temp where customer_id = 172 and state = 5 and create_time >= '2022-03-04' and create_time < '2022-04-25'"); // -// - Db.tx(new IAtom() { - @Override - public boolean run() { - try { - for (int i = 0; i < orders.size(); i++) { - System.out.println("处理 " + i); - DOrder o = orders.get(i); +// Db.tx(new IAtom() { +// @Override +// public boolean run() { +// try { +// for (int i = 0; i < orders.size(); i++) { +// System.out.println("处理 " + i); +// DOrder o = orders.get(i); +// // if (!m.pass(o, now)) { // return false; // } - - if (!m.updateErrorData(o, now)) { - return false; - } - } - - return true; - } catch (Exception e) { - e.printStackTrace(); - return false; - } - } - }); +// +//// if (!m.updateErrorData(o, now)) { +//// return false; +//// } +// } +// +// return true; +// } catch (Exception e) { +// e.printStackTrace(); +// return false; +// } +// } +// }); } private List imp() throws ParseException { - String filepath = "C:\\Users\\lisai\\OneDrive\\文档\\黄砂经营管理\\浠水\\9月1日到11月7日补开普票统计.xlsx"; + String filepath = "C:\\Users\\lisai\\OneDrive\\文档\\黄砂经营管理\\浠水\\9月1日到11月7日补开普票统计给李工处理新普票号-程兴提供.xls"; List out = new ArrayList<>(); try (FileInputStream in = new FileInputStream(new File(filepath))) { @@ -158,7 +158,8 @@ public class Main { if (!StrKit.notBlank(发票代码, 发票编号)) { System.out.println("发票代码错误 " + 客户 + ", " + j); - return null; + continue; +// return null; } String[] 起止 = 起止时间.split("至"); @@ -199,7 +200,7 @@ public class Main { } for (OrderTemp o : orders) { - if (StrKit.isBlank(o.getInvoiceNumber())) { + if (StrKit.notBlank(o.getInvoiceNumber())) { out.add(new DOrder(o, 发票代码, 发票编号, 申请人, 审批人)); } }