生效失效速度优化

main
FOAM 2024-11-08 17:56:46 +08:00
parent 8224648b19
commit b465423508
3 changed files with 135 additions and 77 deletions

View File

@ -1068,13 +1068,26 @@ public class DefaultOrderManager extends DefaultBaseManager implements
// System.out.println("end==="+new Date());
availableTransOrderSB(ids, Boolean.FALSE, UserHolder.getUser()
.getName());
System.out.println("===生效完成===="+new Date());
}
public void availableTransOrderSB(List<Long> ids, Boolean equipment,
String userName) {
Long startTime = System.currentTimeMillis();
// int i=1;//九江
// int j=1;//非九江
Order o = commonDao.get(Order.class, ids.get(0));
Boolean is_yqft=Boolean.FALSE;
if(o.getConsignor().getCode().equals("YQFT")){
System.out.println("===生成一汽丰田费用===="+new Date());
createYQFT_JJFee(o);
createYQFT_FJJFee(o);
is_yqft=Boolean.TRUE;
System.out.println("===生成一汽丰田费用结束===="+new Date());
}
for (Long id : ids) {
Order order = commonDao.get(Order.class, id);
System.out.println(order.getRelateBill3()+"===生效===="+new Date());
if (order.getStatus().equals("INPUT")
|| order.getStatus().equals("CHECKED")
|| order.getStatus().equals("AVAILABLE")) {
@ -1089,23 +1102,30 @@ public class DefaultOrderManager extends DefaultBaseManager implements
order.setVolume(DoubleUtils.formatByPrecision(
order.getVolumeTwo(), 7));
}
System.out.println("===1===="+new Date());
orderPrescription(order);
System.out.println("===2===="+new Date());
publishEdiServerAvailableOrder(order);
System.out.println("===3===="+new Date());
if (order.getCash() > 0) {
FeeType ft = getFeeType(SysCodeValue.YS_FYKM);
feeManager.createFee(id, BillObjectType.ORDER, ft, "CASH",
0, userName);
}
System.out.println("===4===="+new Date());
if (order.getFee11() > 0) {
feeManager.saveInputFee(id, BillObjectType.ORDER, null,
"代收运费", order.getFee11());
}
System.out.println("===6===="+new Date());
if(!is_yqft){
createCusFee(order);
feeManager.refreshBillFee(order.getId(), BillObjectType.ORDER,
Boolean.TRUE);
}
System.out.println("===7===="+new Date());
if (!equipment) {
operationHisManager
.storeOperationHis(order.getId(), order
operationHisManager.storeOperationHis(order.getId(), order
.getRelateBill3(), null, null, "订单管理-订单维护",
"生效", OperationHisUtil
.operationHisStatus("INPUT"),
@ -1114,30 +1134,31 @@ public class DefaultOrderManager extends DefaultBaseManager implements
order.getQuantity(), order.getWeight(),
order.getVolume(), 0, order
.getDescription(), "TMS");
System.out.println("===1===="+new Date());
}
if (order.getContractor().isBeSale()) {
List<Legs> legs = this.commonDao.findByQuery(
"from Legs l where l.order.id=:orderId",
new String[] { "orderId" },
new Object[] { order.getId() });
if (legs.size() > 0) {
List<Separate> ss = this.commonDao
.findByQuery("from Separate s where s.order.id="
+ order.getId());
for (int i = ss.size(); i < (int) order.getQuantity(); i++) {
Separate separate = new Separate();
separate.setBoxNumber(i + 1);// 箱序号
separate.setSeparateQty(1);
separate.setContainerNo(order.getRelateBill3()
+ "_" + (i + 1));// 分单号
separate.setOperator(UserHolder.getUser().getName());
separate.setOperatorDate(new Date());
separate.setOrder(order);
separate.setLegs1(legs.get(0));
this.commonDao.store(separate);
}
}
}
// if (order.getContractor().isBeSale()) {
// List<Legs> legs = this.commonDao.findByQuery(
// "from Legs l where l.order.id=:orderId",
// new String[] { "orderId" },
// new Object[] { order.getId() });
// if (legs.size() > 0) {
// List<Separate> ss = this.commonDao
// .findByQuery("from Separate s where s.order.id="
// + order.getId());
// for (int i = ss.size(); i < (int) order.getQuantity(); i++) {
// Separate separate = new Separate();
// separate.setBoxNumber(i + 1);// 箱序号
// separate.setSeparateQty(1);
// separate.setContainerNo(order.getRelateBill3()
// + "_" + (i + 1));// 分单号
// separate.setOperator(UserHolder.getUser().getName());
// separate.setOperatorDate(new Date());
// separate.setOrder(order);
// separate.setLegs1(legs.get(0));
// this.commonDao.store(separate);
// }
// }
// }
}
}
Long endTime = System.currentTimeMillis();
@ -1524,7 +1545,7 @@ public class DefaultOrderManager extends DefaultBaseManager implements
this.createYDSPFJFee(order);
} else if (cusCode.equals("YXZC")) {
this.createYXZCFee(order);
} else if (cusCode.equals("YQFT")) {
} else if (cusCode.equals("YQFT")) {//一汽丰田
this.createYQFTFee(order);
} else if (cusCode.equals("YCCQ")) {
this.createYCCQFee(order);
@ -2319,6 +2340,7 @@ public class DefaultOrderManager extends DefaultBaseManager implements
*/
public void unAvailableOrder(List<Long> ids) {
unAvailableOrderSB(ids, Boolean.FALSE, null, null, null);
System.out.println("=====失效结束===="+new Date());
}
public void unAvailableOrderSB(List<Long> ids, Boolean equipment,
@ -2326,6 +2348,7 @@ public class DefaultOrderManager extends DefaultBaseManager implements
for (Order order : loadAllOrder(ids)) {
if (OrderStatus.TRANS_AVAILABLE.equals(order.getStatus())) {
// 失效订单直接返回录入中状态,待录入确认后重新包装和审核库存
System.out.println(order.getRelateBill3()+"=====失效开始===="+new Date());
deleteOpFee(order);
order.setStatus(OrderStatus.AVAILABLE);
List<OrderPackage> ops = new ArrayList<OrderPackage>();
@ -2343,14 +2366,41 @@ public class DefaultOrderManager extends DefaultBaseManager implements
commonDao.store(tempShip);
}
}
// List<Fee> fs = commonDao
// .findByQuery("from Fee f where f.beShare=1 and f.billObject='ORDER' and f.billId="
// + order.getId() + " and f.operator='system'");
List<Fee> fs = commonDao
.findByQuery("from Fee f where f.beShare=1 and f.billObject='ORDER' and f.billId="
+ order.getId() + " and f.operator='system'");
+ order.getId());
for (Fee f : fs) {
this.commonDao.delete(f);
}
feeManager.refreshBillFee(order.getId(), BillObjectType.ORDER,
Boolean.TRUE);
order.setReceivefee(DoubleUtils.format3Fraction(0));
order.setMatFee(DoubleUtils.format3Fraction(0));
order.setPwdd(DoubleUtils.format3Fraction(0));
order.setPayfee(DoubleUtils.format3Fraction(0));
order.setProfit(DoubleUtils.format3Fraction(0));
order.setFee1(0);
order.setFee2(0);
order.setFee3(0);
order.setFee4(0);
order.setFee11(0);
if(order.getFee4()==0&&order.getConsignor().getCode().equals("DJKT")){
//删除明细下的保险费
List<OrderDetail> ods=this.commonDao.findByQuery("from OrderDetail od where od.order.id="+order.getId());
for(OrderDetail od:ods){
od.setFee1(0);
od.setReceivedQuantity(0);
this.commonDao.store(od);
}
}
order.setFee5(0);
order.setFee6(0);
order.setFee7(0);
order.setFee8(0);
order.setFee9(0);
// feeManager.refreshBillFee(order.getId(), BillObjectType.ORDER,
// Boolean.TRUE);
order.removeAllOrderLegs(legs);
setUpdateInfo(order);
// 向EDI-Server接口发送订单失效消息.....
@ -2358,14 +2408,10 @@ public class DefaultOrderManager extends DefaultBaseManager implements
InterfaceLogConstant.ORDER_INVALID, order.getId()));
// 失效删除分单信息
List<Separate> Separates = this.commonDao.findByQuery(
List<Separate> separates = this.commonDao.findByQuery(
"from Separate s where s.order.id=:id",
new String[] { "id" }, new Object[] { order.getId() });
if (Separates.size() > 0) {
for (Separate s : Separates) {
commonDao.delete(s);
}
}
commonDao.deleteAll(separates);
} else {
throw new BusinessException("order.status.error");
@ -2387,6 +2433,7 @@ public class DefaultOrderManager extends DefaultBaseManager implements
order.getVolume(), 0, order.getDescription(), "TMS",
Boolean.TRUE, platFormId, userId, userName);
}
System.out.println(order.getRelateBill3()+"=====失效结束===="+new Date());
}
}
@ -8545,8 +8592,48 @@ public class DefaultOrderManager extends DefaultBaseManager implements
}
void createYQFT_JJFee(Order order) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
int i=1;
List<Order> orders = commonDao
.findByQuery(" from Order o where o.consignor.id=:id and to_char(o.planFromDate,'yyyy-MM-dd')=:planFromDate and o.toCityCountiy.name='九江市' ",
new String[] { "id", "planFromDate" },
new Object[] { order.getConsignor().getId(),
sdf.format(order.getPlanFromDate()) });
double ysf = 1500.00 / orders.size();
for (Order o : orders) {
feeManager.saveInputFee(o.getId(), BillObjectType.ORDER,
null, "运输费", ysf);
feeManager.refreshBillFee(o.getId(), BillObjectType.ORDER,
Boolean.TRUE);
}
}
void createYQFT_FJJFee(Order order) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
int i=1;
List<Order> orders = commonDao
.findByQuery(" from Order o where o.consignor.id=:id and to_char(o.planFromDate,'yyyy-MM-dd')=:planFromDate and o.toCityCountiy.name!='九江市' ",
new String[] { "id", "planFromDate" },
new Object[] { order.getConsignor().getId(),
sdf.format(order.getPlanFromDate()) });
double ysf = 900.00 / orders.size();
for (Order o : orders) {
feeManager.saveInputFee(o.getId(), BillObjectType.ORDER,
null, "运输费", ysf);
feeManager.refreshBillFee(o.getId(), BillObjectType.ORDER,
Boolean.TRUE);
}
}
void createYQFTFee(Order order) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
int i=1;
System.out.println("===费用结算"+i+++"==="+new Date());
if (order.getToCityCountiy().getName().equals("九江市")) {
Long piao = (Long) commonDao
.findByQuery(
@ -8555,21 +8642,26 @@ public class DefaultOrderManager extends DefaultBaseManager implements
new Object[] { order.getConsignor().getId(),
sdf.format(order.getPlanFromDate()),
order.getToName() }).get(0);
double ysf = 1500 / piao;
System.out.println("==="+i+++"==="+new Date());
double ysf = 1500.00 / piao;
List<Order> Orders = commonDao
.findByQuery(
" from Order o where o.consignor.id=:id and to_char(o.planFromDate,'yyyy-MM-dd')=:planFromDate and o.toCityCountiy.name='九江市' ",
new String[] { "id", "planFromDate" },
new Object[] { order.getConsignor().getId(),
sdf.format(order.getPlanFromDate()) });
System.out.println("==="+i+++"==="+new Date());
if (Orders.size() > 0) {
for (Order o : Orders) {
feeManager.saveInputFee(o.getId(), BillObjectType.ORDER,
null, "运输费", ysf);
System.out.println("==="+i+++"==="+new Date());
feeManager.refreshBillFee(o.getId(), BillObjectType.ORDER,
Boolean.TRUE);
System.out.println("==="+i+++"==="+new Date());
}
}
} else {
Long piao = (Long) commonDao
.findByQuery(
@ -8578,7 +8670,8 @@ public class DefaultOrderManager extends DefaultBaseManager implements
new Object[] { order.getConsignor().getId(),
sdf.format(order.getPlanFromDate()),
order.getToName() }).get(0);
double ysf = 900 / piao;
System.out.println(piao+"2==="+i+++"==="+new Date());
double ysf = 900.00 / piao;
List<Order> Orders = commonDao
.findByQuery(
" from Order o where o.consignor.id=:id and to_char(o.planFromDate,'yyyy-MM-dd')=:planFromDate and o.toCityCountiy.name!='九江市' ",
@ -8589,8 +8682,10 @@ public class DefaultOrderManager extends DefaultBaseManager implements
for (Order o : Orders) {
feeManager.saveInputFee(o.getId(), BillObjectType.ORDER,
null, "运输费", ysf);
System.out.println("4==="+i+++"==="+new Date());
feeManager.refreshBillFee(o.getId(), BillObjectType.ORDER,
Boolean.TRUE);
System.out.println("5==="+i+++"==="+new Date());
}
}
}

View File

@ -1,37 +0,0 @@
/images/
/index.html
/north.html
/south.html
/WEB-INF/
/css/
/fullLogin.html
/loadReport.html
/reportError.html
/richtext/
/runqianReport4Applet.jar
/scripts/
/setupLicense.html
/setupLicenseError.html
/setupLicenseExpired.html
/0A28F8F478484F023BE40A2C81BDB213.cache.html
/548CDF11D6FE9011F3447CA200D7FB7F.cache.png
/5FD9B3A562360A2F37F2BFEC788DF8CE.gwt.rpc
/6A78DAF7318804B41125967BB0F3E42F.cache.html
/6DD3558FBD8478C9D2F453FA4EC17188.gwt.rpc
/6FE682106BFF7C3B2AB310C462A073DC.cache.html
/907DFFE9188944362B4742BAEC2F7B81.cache.html
/9DA92932034707C17CFF15F95086D53F.cache.png
/A7CD51F9E5A7DED5F85AD1D82BA67A8A.cache.png
/ApplicationWindow.css
/ApplicationWindow.html
/F02AAC2312918BD524C42F2F3ABD31E1.cache.html
/GwtExt.css
/ReportCenter.css
/ReportCenter.html
/STMS.css
/STMS.html
/clear.cache.gif
/com.dev.stms.STMS.nocache.js
/gwt-hosted.html
/history.html
/hosted.html