|
@@ -24,6 +24,7 @@ import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
|
+import java.sql.Timestamp;
|
|
import java.text.DateFormat;
|
|
import java.text.DateFormat;
|
|
import java.text.ParseException;
|
|
import java.text.ParseException;
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
@@ -287,34 +288,64 @@ public class PosMachineController {
|
|
//返回结果集
|
|
//返回结果集
|
|
ResultData resultData = null;
|
|
ResultData resultData = null;
|
|
if(stationId !=null && classStructureNo !=null){
|
|
if(stationId !=null && classStructureNo !=null){
|
|
|
|
+ logger.info("查看POS上某个班结参数信息:油站ID:"+ stationId.toString() + "班结好:"+ classStructureNo);
|
|
StationClassStructure classes =new StationClassStructure();
|
|
StationClassStructure classes =new StationClassStructure();
|
|
classes.setStationId(stationId);
|
|
classes.setStationId(stationId);
|
|
classes.setClassStructureNo(classStructureNo);
|
|
classes.setClassStructureNo(classStructureNo);
|
|
|
|
+ StationClassesSummary scs = new StationClassesSummary();
|
|
|
|
+ scs.setStationId(stationId);
|
|
|
|
+ scs.setClassesNo(classStructureNo);
|
|
|
|
+ List<StationClassesSummary> stationClassesSummaryList = stationClassesSummaryService.selectStationClassesSummaryList(scs);
|
|
|
|
+ classes.setClassStartDate(stationClassesSummaryList.get(0).getStartDate());
|
|
|
|
+ classes.setClassStructureDate(stationClassesSummaryList.get(0).getEndDate());
|
|
|
|
+ classes.setStatus("1");
|
|
|
|
+
|
|
|
|
+ //总数据
|
|
classes.setGroupBy("");
|
|
classes.setGroupBy("");
|
|
List<Map<String, String>> listSum = stationClassStructureService.selectClassStructureSum(classes);
|
|
List<Map<String, String>> listSum = stationClassStructureService.selectClassStructureSum(classes);
|
|
|
|
+
|
|
|
|
+ //listSum 添加退款总金额 refundAmtSum
|
|
|
|
+ classes.setStatus("3");
|
|
|
|
+ PayOrder payOrder = new PayOrder();
|
|
|
|
+ payOrder.setStatus("3");
|
|
|
|
+ payOrder.setStationId(stationId);
|
|
|
|
+ DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
+ payOrder.setBeginTime(dateFormat.format(stationClassesSummaryList.get(0).getStartDate()));
|
|
|
|
+ payOrder.setEndTime(dateFormat.format(stationClassesSummaryList.get(0).getEndDate()));
|
|
|
|
+ Map<String, Object> refundAmtResult = payOrderService.selectRefundAmtSum(payOrder);
|
|
|
|
+ if(refundAmtResult !=null && refundAmtResult.containsKey("refundAmtSum")){
|
|
|
|
+ listSum.get(0).put("refundAmtSum", refundAmtResult.get("refundAmtSum").toString());
|
|
|
|
+ }else {
|
|
|
|
+ listSum.get(0).put("refundAmtSum", "0.00");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //按照油品名称
|
|
classes.setGroupBy("oilName");
|
|
classes.setGroupBy("oilName");
|
|
|
|
+ classes.setStatus("1");
|
|
List<Map<String, String>> listSumGroupByOilName = stationClassStructureService.selectClassStructureSum(classes);
|
|
List<Map<String, String>> listSumGroupByOilName = stationClassStructureService.selectClassStructureSum(classes);
|
|
|
|
+
|
|
|
|
+ //按照支付方式
|
|
classes.setGroupBy("payType");
|
|
classes.setGroupBy("payType");
|
|
|
|
+ classes.setStatus("1");
|
|
List<Map<String, String>> listSumGroupByPayType = stationClassStructureService.selectClassStructureSum(classes);
|
|
List<Map<String, String>> listSumGroupByPayType = stationClassStructureService.selectClassStructureSum(classes);
|
|
|
|
+
|
|
|
|
+ //退款金额按照支付方式
|
|
|
|
+ classes.setGroupBy("payType");
|
|
|
|
+ classes.setStatus("3");
|
|
|
|
+ List<Map<String, String>> listSumGroupByPayTypeRefund = stationClassStructureService.selectClassStructureSum(classes);
|
|
|
|
+
|
|
|
|
+ //班结人、时间
|
|
classes.setGroupBy("timeAndMan");
|
|
classes.setGroupBy("timeAndMan");
|
|
List<Map<String, String>> timeList = stationClassStructureService.selectClassStructureSum(classes);
|
|
List<Map<String, String>> timeList = stationClassStructureService.selectClassStructureSum(classes);
|
|
-// if(timeList !=null && listSum.size() ==0){
|
|
|
|
-// //第一次班结
|
|
|
|
-// if(timeList.get(0).get("beginTime").equals("")){
|
|
|
|
-// PayOrder payOrder = new PayOrder();
|
|
|
|
-// payOrder.setStatus("1");
|
|
|
|
-// payOrder.setStationId(stationId);
|
|
|
|
-// PayOrder payOrderInfoMin = payOrderService.getPayOrderInfoMin(payOrder);
|
|
|
|
-// DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
-// //没有班结过:第一次班结
|
|
|
|
-// timeList.get(0).replace("beginTime", dateFormat.format(payOrderInfoMin.getPayDate()));
|
|
|
|
-// }
|
|
|
|
-// }
|
|
|
|
|
|
+
|
|
|
|
+ //返回POS结果
|
|
Map<String, Object> map = new HashMap();
|
|
Map<String, Object> map = new HashMap();
|
|
map.put("listSumGroupByOilName", listSumGroupByOilName);
|
|
map.put("listSumGroupByOilName", listSumGroupByOilName);
|
|
map.put("listSum", listSum);
|
|
map.put("listSum", listSum);
|
|
map.put("timeList", timeList);
|
|
map.put("timeList", timeList);
|
|
map.put("listSumGroupByPayType", listSumGroupByPayType);
|
|
map.put("listSumGroupByPayType", listSumGroupByPayType);
|
|
|
|
+ map.put("listSumGroupByPayTypeRefund", listSumGroupByPayTypeRefund);
|
|
resultData = ResultData.success(map);
|
|
resultData = ResultData.success(map);
|
|
}
|
|
}
|
|
return gson.toJson(resultData);
|
|
return gson.toJson(resultData);
|
|
@@ -334,22 +365,20 @@ public class PosMachineController {
|
|
//返回结果集
|
|
//返回结果集
|
|
ResultData resultData = null;
|
|
ResultData resultData = null;
|
|
if(stationId !=null){
|
|
if(stationId !=null){
|
|
- StationClassStructure classes =new StationClassStructure();
|
|
|
|
- classes.setStationId(stationId);
|
|
|
|
- //查询出上次班结,最后一条数据
|
|
|
|
- StationClassStructure sss =stationClassStructureService.selectStationClassStructureMax(classes);
|
|
|
|
String beginTime="";
|
|
String beginTime="";
|
|
//当前时间
|
|
//当前时间
|
|
Date date= new Date();
|
|
Date date= new Date();
|
|
- StationClassStructure classesStructure =new StationClassStructure();
|
|
|
|
- classesStructure.setStationId(stationId);
|
|
|
|
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
- if(sss != null){
|
|
|
|
|
|
+ //获取当油站是否有班结的记录存在
|
|
|
|
+ StationClassesSummary stationClassesSummary = new StationClassesSummary();
|
|
|
|
+ stationClassesSummary.setStationId(stationId);
|
|
|
|
+ List<StationClassesSummary> stationClassesSummaryList = stationClassesSummaryService.selectStationClassesSummaryList(stationClassesSummary);
|
|
|
|
+ if(stationClassesSummaryList != null && stationClassesSummaryList.size() >0){
|
|
//班结过
|
|
//班结过
|
|
- beginTime= dateFormat.format(sss.getClassStructureDate());
|
|
|
|
|
|
+ beginTime= dateFormat.format(stationClassesSummaryList.get(0).getEndDate());
|
|
}else {
|
|
}else {
|
|
PayOrder payOrder = new PayOrder();
|
|
PayOrder payOrder = new PayOrder();
|
|
- payOrder.setStatus("1");
|
|
|
|
|
|
+ //payOrder.setStatus("1");
|
|
payOrder.setStationId(stationId);
|
|
payOrder.setStationId(stationId);
|
|
PayOrder payOrderInfoMin = payOrderService.getPayOrderInfoMin(payOrder);
|
|
PayOrder payOrderInfoMin = payOrderService.getPayOrderInfoMin(payOrder);
|
|
//没有班结过:第一次班结
|
|
//没有班结过:第一次班结
|
|
@@ -369,6 +398,18 @@ public class PosMachineController {
|
|
order.setGroupBy("");
|
|
order.setGroupBy("");
|
|
List<Map> listSum = payOrderService.selectSum(order);
|
|
List<Map> listSum = payOrderService.selectSum(order);
|
|
|
|
|
|
|
|
+ //listSum 添加退款总金额 refundAmtSum
|
|
|
|
+ order.setStatus("3");
|
|
|
|
+ Map<String, Object> refundAmtResult = payOrderService.selectRefundAmtSum(order);
|
|
|
|
+ if(refundAmtResult !=null && refundAmtResult.containsKey("refundAmtSum")){
|
|
|
|
+ String refundAmtSum = refundAmtResult.get("refundAmtSum").toString();
|
|
|
|
+ listSum.get(0).put("refundAmtSum", refundAmtSum);
|
|
|
|
+ }else {
|
|
|
|
+ listSum.get(0).put("refundAmtSum", "0.00");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
//班结时间
|
|
//班结时间
|
|
List<Map> timeList = new ArrayList<>();
|
|
List<Map> timeList = new ArrayList<>();
|
|
Map<String, String> m = new HashMap<>();
|
|
Map<String, String> m = new HashMap<>();
|
|
@@ -378,15 +419,26 @@ public class PosMachineController {
|
|
|
|
|
|
//查询要班结订单总和按油品分类
|
|
//查询要班结订单总和按油品分类
|
|
order.setGroupBy("oilName");
|
|
order.setGroupBy("oilName");
|
|
|
|
+ order.setStatus("1");
|
|
List<Map> listSumGroupByOilName = payOrderService.selectSum(order);
|
|
List<Map> listSumGroupByOilName = payOrderService.selectSum(order);
|
|
|
|
+
|
|
//查询要班结订单总和按支付方式
|
|
//查询要班结订单总和按支付方式
|
|
order.setGroupBy("payType");
|
|
order.setGroupBy("payType");
|
|
|
|
+ order.setStatus("1");
|
|
List<Map> listSumGroupByPayType = payOrderService.selectSum(order);
|
|
List<Map> listSumGroupByPayType = payOrderService.selectSum(order);
|
|
|
|
+
|
|
|
|
+ //要班结订单退款金额按照支付方式汇总
|
|
|
|
+ order.setGroupBy("payType");
|
|
|
|
+ order.setStatus("3");
|
|
|
|
+ List<Map> listSumGroupByPayTypeRefund = payOrderService.selectSum(order);
|
|
|
|
+
|
|
|
|
+ //返回POS机数据
|
|
Map<String, Object> map = new HashMap();
|
|
Map<String, Object> map = new HashMap();
|
|
map.put("listSumGroupByOilName", listSumGroupByOilName);
|
|
map.put("listSumGroupByOilName", listSumGroupByOilName);
|
|
map.put("listSum", listSum);
|
|
map.put("listSum", listSum);
|
|
map.put("timeList", timeList);
|
|
map.put("timeList", timeList);
|
|
map.put("listSumGroupByPayType", listSumGroupByPayType);
|
|
map.put("listSumGroupByPayType", listSumGroupByPayType);
|
|
|
|
+ map.put("listSumGroupByPayTypeRefund", listSumGroupByPayTypeRefund);
|
|
resultData =ResultData.success(map);
|
|
resultData =ResultData.success(map);
|
|
}else {
|
|
}else {
|
|
resultData =ResultData.error(CodeMsg.PARAMS_NUll);
|
|
resultData =ResultData.error(CodeMsg.PARAMS_NUll);
|
|
@@ -395,8 +447,6 @@ public class PosMachineController {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* pos机班结
|
|
* pos机班结
|
|
* @param stationClassStructure
|
|
* @param stationClassStructure
|
|
@@ -408,325 +458,139 @@ public class PosMachineController {
|
|
@Transactional
|
|
@Transactional
|
|
public Map posClassStructure (@RequestBody StationClassStructure stationClassStructure) throws ParseException {
|
|
public Map posClassStructure (@RequestBody StationClassStructure stationClassStructure) throws ParseException {
|
|
Map map = new HashMap();
|
|
Map map = new HashMap();
|
|
|
|
+ int i =0; // i==1,表示班结成功; i==3,表示已班结;
|
|
//获取当前班结油站
|
|
//获取当前班结油站
|
|
Integer stationId=stationClassStructure.getStationId();
|
|
Integer stationId=stationClassStructure.getStationId();
|
|
- //String stationName=stationClassStructure.getStationName();
|
|
|
|
String username = stationClassStructure.getClassStructureMan();
|
|
String username = stationClassStructure.getClassStructureMan();
|
|
logger.info("POS班结参数信息:油站ID:"+ stationId.toString() + "班结人:"+ username);
|
|
logger.info("POS班结参数信息:油站ID:"+ stationId.toString() + "班结人:"+ username);
|
|
- //根据油站查询出油站是否班结过,班结过就需要查询上次班结的时间
|
|
|
|
- StationClassStructure classes =new StationClassStructure();
|
|
|
|
- classes.setStationId(stationId);
|
|
|
|
- //查询出上次班结,最后一条数据
|
|
|
|
- StationClassStructure sss =stationClassStructureService.selectStationClassStructureMax(classes);
|
|
|
|
- String beginTime="";
|
|
|
|
- //当前时间
|
|
|
|
- Date date= new Date();
|
|
|
|
- StationClassStructure classesStructure =new StationClassStructure();
|
|
|
|
- classesStructure.setStationId(stationId);
|
|
|
|
|
|
+
|
|
|
|
+ //查询上次班结时间的结束时间
|
|
|
|
+ StationClassesSummary stationClassesSummaryParam =new StationClassesSummary();
|
|
|
|
+ stationClassesSummaryParam.setStationId(stationId);
|
|
|
|
+ List<StationClassesSummary> stationClassesSummaryList = stationClassesSummaryService.selectStationClassesSummaryList(stationClassesSummaryParam);
|
|
|
|
+
|
|
|
|
+ //本次班结开始时间
|
|
|
|
+ Date startDate = new Date();
|
|
|
|
+ PayOrder order=new PayOrder();
|
|
|
|
+ order.setStationId(stationId);
|
|
|
|
+ //order.setStatus("1");
|
|
|
|
+
|
|
|
|
+ //班结号
|
|
DateFormat dFormat = new SimpleDateFormat("yyyyMMdd");
|
|
DateFormat dFormat = new SimpleDateFormat("yyyyMMdd");
|
|
- String no=dFormat.format(date);
|
|
|
|
- classesStructure.setLikeClassStructureNo(no);
|
|
|
|
- //查询班结信息中本日班结次数
|
|
|
|
- StationClassStructure structure =stationClassStructureService.selectDistnctClassStructure(classesStructure);
|
|
|
|
- if(structure!=null){
|
|
|
|
- if(structure.getNum()==0){
|
|
|
|
- no = no + "0"+1;
|
|
|
|
- }else{
|
|
|
|
- int num = structure.getNum()+1;
|
|
|
|
- if(num>0 && num<10){
|
|
|
|
- no = no + "0"+num;
|
|
|
|
- }else{
|
|
|
|
- no = no +""+ num;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- int i=0;
|
|
|
|
- DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
- if(sss!=null){
|
|
|
|
- //获取上次班结时间
|
|
|
|
- PayOrder order=new PayOrder();
|
|
|
|
- order.setStationId(stationId);
|
|
|
|
- order.setStatus("1");
|
|
|
|
- beginTime= dateFormat.format(sss.getClassStructureDate());
|
|
|
|
- order.setBeginTime(beginTime);
|
|
|
|
- order.setEndTime( dateFormat.format(date));
|
|
|
|
- List<PayOrder> list = payOrderService.selectPayOrderList(order);
|
|
|
|
- for(PayOrder payOrder:list){
|
|
|
|
- StationClassStructure stationclass =new StationClassStructure();
|
|
|
|
- stationclass.setStationId(payOrder.getStationId());
|
|
|
|
- stationclass.setStationName(payOrder.getStationName());
|
|
|
|
- stationclass.setClassStartDate(dateFormat.parse(beginTime));
|
|
|
|
- stationclass.setClassStructureMan(username);
|
|
|
|
- stationclass.setClassStructureNo(no);
|
|
|
|
- stationclass.setOilPirce(new BigDecimal(payOrder.getOilPirce()));
|
|
|
|
- stationclass.setOilType(payOrder.getOilType());
|
|
|
|
- stationclass.setClassStructureDate(date);
|
|
|
|
- stationclass.setOrderNo(payOrder.getOrderNo());
|
|
|
|
- stationclass.setOilGun(payOrder.getOilGun());
|
|
|
|
- stationclass.setOilName(payOrder.getOilName());
|
|
|
|
- stationclass.setConsumerId(payOrder.getConsumerId());
|
|
|
|
- stationclass.setConsumer(payOrder.getConsumer());
|
|
|
|
- stationclass.setAmt(new BigDecimal(payOrder.getAmt()));
|
|
|
|
- if(payOrder.getReceivableAmt()!=null){
|
|
|
|
- stationclass.setReceivableAmt(new BigDecimal(payOrder.getReceivableAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setReceivableAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getReceivedAmt()!=null){
|
|
|
|
- stationclass.setReceivedAmt(new BigDecimal(payOrder.getReceivedAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setReceivedAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getDiscountAmt()!=null){
|
|
|
|
- stationclass.setDiscountAmt(new BigDecimal(payOrder.getDiscountAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setDiscountAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getDiscountCouponAmt()!=null){
|
|
|
|
- stationclass.setDiscountCouponAmt(new BigDecimal(payOrder.getDiscountCouponAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setDiscountCouponAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getWxAmt()!=null){
|
|
|
|
- stationclass.setWxAmt(new BigDecimal(payOrder.getWxAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setWxAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getZfbAmt()!=null){
|
|
|
|
- stationclass.setZfbAmt(new BigDecimal(payOrder.getZfbAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setZfbAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getPosAmt()!=null){
|
|
|
|
- stationclass.setPosAmt(new BigDecimal(payOrder.getPosAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setPosAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getXjAmt()!=null){
|
|
|
|
- stationclass.setXjAmt(new BigDecimal(payOrder.getXjAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setXjAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getDidiAppAmt()!=null){
|
|
|
|
- stationclass.setDidiAppAmt(new BigDecimal(payOrder.getDidiAppAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setDidiAppAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getTyAppAmt()!=null){
|
|
|
|
- stationclass.setDidiAppAmt(new BigDecimal(payOrder.getTyAppAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setDidiAppAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getOtherAmt()!=null){
|
|
|
|
- stationclass.setOtherAmt(new BigDecimal(payOrder.getOtherAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setOtherAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getDzkAmt()!=null){
|
|
|
|
- stationclass.setDzkAmt(new BigDecimal(payOrder.getDzkAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setDzkAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getMemberAmt()!=null){
|
|
|
|
- stationclass.setMemberAmt(new BigDecimal(payOrder.getMemberAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setMemberAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- stationclass.setOrderLiters(new BigDecimal(payOrder.getOrderLiters()));
|
|
|
|
- stationclass.setPayWay(payOrder.getPayWay());
|
|
|
|
- stationclass.setPayType(payOrder.getPayType());
|
|
|
|
- stationclass.setPayDate(payOrder.getPayDate());
|
|
|
|
- stationclass.setOilPersonnel(payOrder.getOilPersonnel());
|
|
|
|
- stationclass.setOilPersonnelId(payOrder.getOilPersonnelId());
|
|
|
|
- stationclass.setOrderType(payOrder.getOrderType());
|
|
|
|
- if(payOrder.getPrintCount()!=null){
|
|
|
|
- stationclass.setPrintNum(payOrder.getPrintCount());
|
|
|
|
- }else{
|
|
|
|
- stationclass.setPrintNum(Integer.valueOf("0"));
|
|
|
|
|
|
+ String no=dFormat.format(new Date());
|
|
|
|
+
|
|
|
|
+ //判断当前油站是否有班结记录:
|
|
|
|
+ if(stationClassesSummaryList !=null && stationClassesSummaryList.size() >0){
|
|
|
|
+ //如果有记录,则当前油站最后一次的班结时间结束时间为新班结的开始时间;
|
|
|
|
+ startDate = stationClassesSummaryList.get(0).getEndDate();
|
|
|
|
+ //班结的班号
|
|
|
|
+ String classesNo = stationClassesSummaryList.get(0).getClassesNo();
|
|
|
|
+ //获取最新一笔订单的支付时间
|
|
|
|
+ List<PayOrder> payOrderList = payOrderService.selectPayOrderListFormater(order);
|
|
|
|
+ Timestamp payDate = payOrderList.get(0).getPayDate();
|
|
|
|
+ if(startDate.compareTo(new Date(payDate.getTime())) != -1){
|
|
|
|
+ //如果最近一次班结时间 < 油站的最新一笔订单的支付时间,则说明已班结;
|
|
|
|
+ i = 3;
|
|
|
|
+ }else {
|
|
|
|
+ //开始班结
|
|
|
|
+ //获取要班结的汇总数据
|
|
|
|
+ stationClassStructure.setClassStartDate(startDate);
|
|
|
|
+ stationClassStructure.setClassStructureDate(new Date());
|
|
|
|
+ stationClassStructure.setStatus("1");
|
|
|
|
+ StationClassStructure classSumResult = stationClassStructureService.selectSummyByPayOrder(stationClassStructure);
|
|
|
|
+ if(classSumResult !=null){
|
|
|
|
+ StationClassesSummary staClassSum =new StationClassesSummary();
|
|
|
|
+ staClassSum.setStationId(stationId); //班结站点
|
|
|
|
+ staClassSum.setClassesMan(username); //班结人
|
|
|
|
+ staClassSum.setEndDate(new Date()); //班结结束时间
|
|
|
|
+ staClassSum.setStartDate(startDate); //班结开始时间
|
|
|
|
+ //班结号
|
|
|
|
+ String substring = classesNo.substring(0,8);
|
|
|
|
+ if(substring.equals(no)){
|
|
|
|
+ String substring1 = classesNo.substring(8);
|
|
|
|
+ int ii = Integer.parseInt(substring1);
|
|
|
|
+ ii = ii+1;
|
|
|
|
+ if(ii < 10){
|
|
|
|
+ classesNo = substring + "0" + ii;
|
|
|
|
+ }else {
|
|
|
|
+ classesNo = substring + ii;
|
|
|
|
+ }
|
|
|
|
+ }else {
|
|
|
|
+ classesNo = no + "01";
|
|
|
|
+ }
|
|
|
|
+ staClassSum.setClassesNo(classesNo); //班结号
|
|
|
|
+
|
|
|
|
+ //汇总的数据
|
|
|
|
+ staClassSum.setDiscountAmt(classSumResult.getDiscountAmt()); //优惠总金额
|
|
|
|
+ staClassSum.setAmt(classSumResult.getAmt()); //实际支付总金额
|
|
|
|
+ staClassSum.setDzkAmt(classSumResult.getDzkAmt()); //电子卡支付总金额
|
|
|
|
+ staClassSum.setOrderNum(classSumResult.getNum()); //支付订单总数
|
|
|
|
+ staClassSum.setPrintNum(classSumResult.getPrintNum()); //小票打印总数量
|
|
|
|
+ staClassSum.setWxAmt(classSumResult.getWxAmt()); //微信支付总金额
|
|
|
|
+ staClassSum.setZfbAmt(classSumResult.getZfbAmt()); //支付宝支付总金额
|
|
|
|
+ staClassSum.setSaleLiters(classSumResult.getOrderLiters()); //加油总升数
|
|
|
|
+ staClassSum.setSaleAmt(classSumResult.getReceivableAmt()); //应收总金额
|
|
|
|
+ staClassSum.setRefundAmt(new BigDecimal("0.00")); //退款总金额
|
|
|
|
+ //获取退款总金额
|
|
|
|
+ stationClassStructure.setStatus("3");
|
|
|
|
+ StationClassStructure classSumRefundResult = stationClassStructureService.selectSummyByPayOrder(stationClassStructure);
|
|
|
|
+ if(classSumRefundResult !=null){
|
|
|
|
+ staClassSum.setRefundAmt(classSumRefundResult.getAmt());
|
|
|
|
+ }
|
|
|
|
+ i=stationClassesSummaryService.insertStationClassesSummary(staClassSum);
|
|
}
|
|
}
|
|
- i= stationClassStructureService.insertStationClassStructure(stationclass);
|
|
|
|
}
|
|
}
|
|
- }else{
|
|
|
|
- //初次班结 班结时间默认为当前时间,班结人username
|
|
|
|
- //根据班结时间查询订单
|
|
|
|
- PayOrder order=new PayOrder();
|
|
|
|
- order.setStationId(stationId);
|
|
|
|
- order.setStatus("1");
|
|
|
|
- //获取第一个最早时间的订单
|
|
|
|
|
|
+ }else {
|
|
|
|
+ //如果没有记录,则开始班结的时间为当前油站的第一笔订单的支付时间;
|
|
PayOrder payOrderInfoMin = payOrderService.getPayOrderInfoMin(order);
|
|
PayOrder payOrderInfoMin = payOrderService.getPayOrderInfoMin(order);
|
|
- //没有班结过:第一次班结获取第一个订单的下单时间
|
|
|
|
- beginTime =dateFormat.format(payOrderInfoMin.getPayDate());
|
|
|
|
- order.setBeginTime(beginTime);
|
|
|
|
- order.setEndTime(dateFormat.format(date));
|
|
|
|
-
|
|
|
|
- List<PayOrder> list = payOrderService.selectPayOrderList(order);
|
|
|
|
- for(PayOrder payOrder:list){
|
|
|
|
- StationClassStructure stationclass =new StationClassStructure();
|
|
|
|
- stationclass.setClassStartDate(payOrderInfoMin.getPayDate());
|
|
|
|
- stationclass.setStationId(payOrder.getStationId());
|
|
|
|
- stationclass.setStationName(payOrder.getStationName());
|
|
|
|
- stationclass.setClassStructureMan(username);
|
|
|
|
- stationclass.setClassStructureDate(date);
|
|
|
|
- stationclass.setClassStructureNo(no);
|
|
|
|
- stationclass.setOrderNo(payOrder.getOrderNo());
|
|
|
|
- stationclass.setOilGun(payOrder.getOilGun());
|
|
|
|
- stationclass.setOilName(payOrder.getOilName());
|
|
|
|
- stationclass.setOilPirce(new BigDecimal(payOrder.getOilPirce()));
|
|
|
|
- stationclass.setOilType(payOrder.getOilType());
|
|
|
|
- stationclass.setConsumerId(payOrder.getConsumerId());
|
|
|
|
- stationclass.setConsumer(payOrder.getConsumer());
|
|
|
|
- stationclass.setAmt(new BigDecimal(payOrder.getAmt()));
|
|
|
|
- if(payOrder.getReceivableAmt()!=null){
|
|
|
|
- stationclass.setReceivableAmt(new BigDecimal(payOrder.getReceivableAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setReceivableAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getReceivedAmt()!=null){
|
|
|
|
- stationclass.setReceivedAmt(new BigDecimal(payOrder.getReceivedAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setReceivedAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getDiscountAmt()!=null){
|
|
|
|
- stationclass.setDiscountAmt(new BigDecimal(payOrder.getDiscountAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setDiscountAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getDiscountCouponAmt()!=null){
|
|
|
|
- stationclass.setDiscountCouponAmt(new BigDecimal(payOrder.getDiscountCouponAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setDiscountCouponAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getWxAmt()!=null){
|
|
|
|
- stationclass.setWxAmt(new BigDecimal(payOrder.getWxAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setWxAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getZfbAmt()!=null){
|
|
|
|
- stationclass.setZfbAmt(new BigDecimal(payOrder.getZfbAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setZfbAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getPosAmt()!=null){
|
|
|
|
- stationclass.setPosAmt(new BigDecimal(payOrder.getPosAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setPosAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getXjAmt()!=null){
|
|
|
|
- stationclass.setXjAmt(new BigDecimal(payOrder.getXjAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setXjAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getDidiAppAmt()!=null){
|
|
|
|
- stationclass.setDidiAppAmt(new BigDecimal(payOrder.getDidiAppAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setDidiAppAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getTyAppAmt()!=null){
|
|
|
|
- stationclass.setDidiAppAmt(new BigDecimal(payOrder.getTyAppAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setDidiAppAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getOtherAmt()!=null){
|
|
|
|
- stationclass.setOtherAmt(new BigDecimal(payOrder.getOtherAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setOtherAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getDzkAmt()!=null){
|
|
|
|
- stationclass.setDzkAmt(new BigDecimal(payOrder.getDzkAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setDzkAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getMemberAmt()!=null){
|
|
|
|
- stationclass.setMemberAmt(new BigDecimal(payOrder.getMemberAmt()));
|
|
|
|
- }else{
|
|
|
|
- stationclass.setMemberAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(payOrder.getOrderLiters() !=null){
|
|
|
|
- stationclass.setOrderLiters(new BigDecimal(payOrder.getOrderLiters()));
|
|
|
|
- }else {
|
|
|
|
- stationclass.setOrderLiters(new BigDecimal(0));
|
|
|
|
- }
|
|
|
|
- stationclass.setPayWay(payOrder.getPayWay());
|
|
|
|
- stationclass.setPayType(payOrder.getPayType());
|
|
|
|
- stationclass.setPayDate(payOrder.getPayDate());
|
|
|
|
- stationclass.setOilPersonnel(payOrder.getOilPersonnel());
|
|
|
|
- stationclass.setOilPersonnelId(payOrder.getOilPersonnelId());
|
|
|
|
- stationclass.setOrderType(payOrder.getOrderType());
|
|
|
|
- if(payOrder.getPrintCount()!=null){
|
|
|
|
- stationclass.setPrintNum(payOrder.getPrintCount());
|
|
|
|
- }else{
|
|
|
|
- stationclass.setPrintNum(Integer.valueOf("0"));
|
|
|
|
- }
|
|
|
|
- i= stationClassStructureService.insertStationClassStructure(stationclass);
|
|
|
|
|
|
+ if(payOrderInfoMin !=null){
|
|
|
|
+ //获取第一个最早时间的订单
|
|
|
|
+ startDate = payOrderInfoMin.getPayDate();
|
|
|
|
+ }
|
|
|
|
+ StationClassesSummary staClassSum =new StationClassesSummary();
|
|
|
|
+ staClassSum.setStationId(stationId); //班结站点
|
|
|
|
+ staClassSum.setClassesMan(username); //班结人
|
|
|
|
+ staClassSum.setEndDate(new Date()); //班结结束时间
|
|
|
|
+ staClassSum.setStartDate(startDate); //班结开始时间
|
|
|
|
+ staClassSum.setClassesNo(no+"01"); //班结号
|
|
|
|
+
|
|
|
|
+ //获取要班结的汇总数据
|
|
|
|
+ stationClassStructure.setClassStartDate(startDate);
|
|
|
|
+ stationClassStructure.setClassStructureDate(new Date());
|
|
|
|
+ stationClassStructure.setStatus("1");
|
|
|
|
+ StationClassStructure classSumResult = stationClassStructureService.selectSummyByPayOrder(stationClassStructure);
|
|
|
|
+ if(classSumResult !=null){
|
|
|
|
+ //汇总的数据
|
|
|
|
+ staClassSum.setDiscountAmt(classSumResult.getDiscountAmt()); //优惠总金额
|
|
|
|
+ staClassSum.setAmt(classSumResult.getAmt()); //实际支付总金额
|
|
|
|
+ staClassSum.setDzkAmt(classSumResult.getDzkAmt()); //电子卡支付总金额
|
|
|
|
+ staClassSum.setOrderNum(classSumResult.getNum()); //支付订单总数
|
|
|
|
+ staClassSum.setPrintNum(classSumResult.getPrintNum()); //小票打印总数量
|
|
|
|
+ staClassSum.setWxAmt(classSumResult.getWxAmt()); //微信支付总金额
|
|
|
|
+ staClassSum.setZfbAmt(classSumResult.getZfbAmt()); //支付宝支付总金额
|
|
|
|
+ staClassSum.setSaleLiters(classSumResult.getOrderLiters()); //加油总升数
|
|
|
|
+ staClassSum.setSaleAmt(classSumResult.getReceivableAmt()); //应收总金额
|
|
|
|
+
|
|
|
|
+ staClassSum.setRefundAmt(new BigDecimal("0.00")); //退款总金额
|
|
|
|
+ //获取退款总金额
|
|
|
|
+ stationClassStructure.setStatus("3");
|
|
|
|
+ StationClassStructure classSumRefundResult = stationClassStructureService.selectSummyByPayOrder(stationClassStructure);
|
|
|
|
+ if(classSumRefundResult !=null){
|
|
|
|
+ staClassSum.setRefundAmt(classSumRefundResult.getAmt());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ i=stationClassesSummaryService.insertStationClassesSummary(staClassSum);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- StationClassStructure scs =new StationClassStructure();
|
|
|
|
- scs.setClassStructureNo(no);
|
|
|
|
- scs.setStationId(stationId);
|
|
|
|
- //汇总班结数据将汇总的数据插入到汇总数据中
|
|
|
|
- StationClassStructure stationclass = stationClassStructureService.selectSummyClassStructure(scs);
|
|
|
|
- if(stationclass!=null){
|
|
|
|
- StationClassesSummary stationClassesSummary =new StationClassesSummary();
|
|
|
|
- stationClassesSummary.setClassesNo(stationclass.getClassStructureNo());
|
|
|
|
- if(stationclass.getClassStartDate()!=null){
|
|
|
|
- stationClassesSummary.setStartDate(stationclass.getClassStartDate());
|
|
|
|
- }
|
|
|
|
- if(stationclass.getClassStructureDate()!=null){
|
|
|
|
- stationClassesSummary.setEndDate(stationclass.getClassStructureDate());
|
|
|
|
- }
|
|
|
|
- //stationClassesSummary.setStationName(stationclass.getStationName());
|
|
|
|
- if(stationclass.getStationId()!=null){
|
|
|
|
- stationClassesSummary.setStationId(stationclass.getStationId());
|
|
|
|
- }
|
|
|
|
- if(stationclass.getNum()!=null){
|
|
|
|
- stationClassesSummary.setOrderNum(Integer.valueOf(stationclass.getNum()));
|
|
|
|
- }
|
|
|
|
- if(stationclass.getPrintNum()!=null){
|
|
|
|
- stationClassesSummary.setPrintNum(stationclass.getPrintNum());
|
|
|
|
- }else {
|
|
|
|
- stationClassesSummary.setPrintNum(Integer.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(stationclass.getOrderLiters()!=null){
|
|
|
|
- stationClassesSummary.setSaleLiters(stationclass.getOrderLiters());
|
|
|
|
- }
|
|
|
|
- if(stationclass.getReceivableAmt()!=null){
|
|
|
|
- stationClassesSummary.setSaleAmt(stationclass.getReceivableAmt());
|
|
|
|
- }
|
|
|
|
- if(stationclass.getDzkAmt()!=null){
|
|
|
|
- stationClassesSummary.setDzkAmt(stationclass.getDzkAmt());
|
|
|
|
- }else{
|
|
|
|
- stationClassesSummary.setDzkAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(stationclass.getZfbAmt()!=null){
|
|
|
|
- stationClassesSummary.setZfbAmt(stationclass.getZfbAmt());
|
|
|
|
- }else{
|
|
|
|
- stationClassesSummary.setZfbAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if(stationclass.getWxAmt()!=null){
|
|
|
|
- stationClassesSummary.setWxAmt(stationclass.getWxAmt());
|
|
|
|
- }else{
|
|
|
|
- stationClassesSummary.setWxAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(stationclass.getAmt() !=null){
|
|
|
|
- stationClassesSummary.setAmt(stationclass.getAmt());
|
|
|
|
- }else {
|
|
|
|
- stationClassesSummary.setAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- if(stationclass.getDiscountAmt() !=null){
|
|
|
|
- stationClassesSummary.setDiscountAmt(stationclass.getDiscountAmt());
|
|
|
|
- }else {
|
|
|
|
- stationClassesSummary.setDiscountAmt(BigDecimal.valueOf(0));
|
|
|
|
- }
|
|
|
|
- stationClassesSummary.setClassesMan(stationclass.getClassStructureMan());
|
|
|
|
- i=stationClassesSummaryService.insertStationClassesSummary(stationClassesSummary);
|
|
|
|
- if(i==1){
|
|
|
|
- map.put("retCode","0");
|
|
|
|
- map.put("msg","班结成功");
|
|
|
|
- }
|
|
|
|
- }else{
|
|
|
|
|
|
+ if(i == 1){
|
|
|
|
+ map.put("retCode","0");
|
|
|
|
+ map.put("msg","班结成功");
|
|
|
|
+ }else if(i== 3){
|
|
map.put("retCode","-1");
|
|
map.put("retCode","-1");
|
|
map.put("msg","已班结");
|
|
map.put("msg","已班结");
|
|
|
|
+ }else {
|
|
|
|
+ map.put("retCode","-2");
|
|
|
|
+ map.put("msg","班结失败");
|
|
}
|
|
}
|
|
return map;
|
|
return map;
|
|
}
|
|
}
|