dev
parent
6fb1bf253f
commit
e355a82417
|
|
@ -43,7 +43,14 @@ public class OrderclusterService extends BaseService {
|
|||
return Result.failed("登录用户和订单信息不匹配");
|
||||
}
|
||||
|
||||
return Result.success(ordercluster);
|
||||
Record record = ordercluster.toRecord();
|
||||
|
||||
List<OrderclusterTruck> trucks = OrderclusterTruck.dao.find("select * from ordercluster_truck t where t.ordercluster_id = ? ", record.getInt("id"));
|
||||
|
||||
record.set("truck_num", trucks.size());
|
||||
record.set("trucks", trucks);
|
||||
|
||||
return Result.success(record);
|
||||
}
|
||||
|
||||
public Page<Record> findTemp(PageParam pp,
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ package com.cowr.ssjygl.order.ordercluster.truck;
|
|||
|
||||
import com.cowr.common.Const;
|
||||
import com.cowr.common.base.BaseService;
|
||||
import com.cowr.common.enums.OrderStateEnum;
|
||||
import com.cowr.common.utils.DateTimeUtil;
|
||||
import com.cowr.common.view.PageParam;
|
||||
import com.cowr.model.OrderclusterTruck;
|
||||
import com.jfinal.kit.StrKit;
|
||||
|
|
@ -9,6 +11,8 @@ import com.jfinal.plugin.activerecord.Db;
|
|||
import com.jfinal.plugin.activerecord.Page;
|
||||
import com.jfinal.plugin.activerecord.Record;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
|
|
@ -45,4 +49,34 @@ public class OrderclusterTruckService extends BaseService {
|
|||
public List<OrderclusterTruck> list() {
|
||||
return OrderclusterTruck.dao.find("select * from ordercluster_truck");
|
||||
}
|
||||
|
||||
|
||||
public OrderclusterTruck checkValidLicense(int supermarket_id, String truck_license) {
|
||||
if (StrKit.isBlank(truck_license)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
Calendar c = Calendar.getInstance();
|
||||
c.set(Calendar.HOUR_OF_DAY,0);
|
||||
c.set(Calendar.MINUTE,0);
|
||||
c.set(Calendar.SECOND,0);
|
||||
c.set(Calendar.MILLISECOND,0);
|
||||
Date start = c.getTime();
|
||||
c.add(Calendar.HOUR_OF_DAY, 24);
|
||||
Date end = c.getTime();
|
||||
|
||||
return OrderclusterTruck.dao.findFirst("select * from ordercluster_truck t\n" +
|
||||
" left join ordercluster c on c.id = t.ordercluster_id \n" +
|
||||
" where c.supermarket_id = ? \n" +
|
||||
" and c.state < ?" +
|
||||
" and c.cutoff_time >= ? \n" +
|
||||
" and c.cutoff_time < ? \n" +
|
||||
" and t.truck_license = ? \n" +
|
||||
" limit 0,1",
|
||||
supermarket_id,
|
||||
OrderStateEnum.RECEIVED.getStateid(), // 只有未完成的订单才有效
|
||||
start,
|
||||
end,
|
||||
truck_license);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import com.cowr.common.utils.DataUtil;
|
|||
import com.cowr.common.view.PageParam;
|
||||
import com.cowr.common.enums.OrderStateEnum;
|
||||
import com.cowr.ssjygl.customer.receiver.CustomerReceiverService;
|
||||
import com.cowr.ssjygl.order.ordercluster.truck.OrderclusterTruckService;
|
||||
import com.cowr.ssjygl.prepay.prepaycustomer.PrepayCustomerService;
|
||||
import com.jfinal.kit.StrKit;
|
||||
import com.jfinal.log.Log;
|
||||
|
|
@ -109,12 +110,7 @@ public class PrepayService {
|
|||
return null;
|
||||
}
|
||||
|
||||
OrderclusterTruck ot = OrderclusterTruck.dao.findFirst("select * from ordercluster_truck t \n" +
|
||||
" where t.truck_license = ? \n" +
|
||||
" and t.valid_date = ? ",
|
||||
transport.getTruckLicense(),
|
||||
DateTimeUtil.sdf.get().format(transport.getInTime())
|
||||
);
|
||||
OrderclusterTruck ot = OrderclusterTruckService.me.checkValidLicense(transport.getSupermarketId(), transport.getTruckLicense());
|
||||
|
||||
if (ot == null) {
|
||||
return null;
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public class PrepayDetailService extends BaseService {
|
|||
}
|
||||
};
|
||||
|
||||
public Page<Record> find(PageParam pp, String name, String stm, String etm, Integer state) {
|
||||
public Page<Record> find(PageParam pp, Integer customer_id, String name, String stm, String etm, Integer state) {
|
||||
String selectsql = "select t.*, c.name customer_name, c.address, c.texpayer_name, c.texpayer_num, c.memo, p.surplus";
|
||||
String fromsql = " from prepay_detail t \n" +
|
||||
" left join customer c on t.customer_id = c.id" +
|
||||
|
|
@ -54,6 +54,11 @@ public class PrepayDetailService extends BaseService {
|
|||
paraList.add("%" + name + "%");
|
||||
}
|
||||
|
||||
if (customer_id != null) {
|
||||
fromsql += " and c.id = ?";
|
||||
paraList.add(customer_id);
|
||||
}
|
||||
|
||||
if (StrKit.notBlank(stm)) {
|
||||
fromsql += " and t.create_time >= ?";
|
||||
paraList.add(stm);
|
||||
|
|
@ -89,14 +94,14 @@ public class PrepayDetailService extends BaseService {
|
|||
}
|
||||
|
||||
public List<Record> list(Integer customer_id, String stm, String etm) {
|
||||
if(customer_id != null){
|
||||
if (customer_id != null) {
|
||||
return Db.find("select t.*, c.name customer_name from prepay_detail t \n" +
|
||||
" left join customer c on c.id = t.customer_id" +
|
||||
" where t.state = 2 \n" +
|
||||
" and t.customer_id = ? \n" +
|
||||
" and t.verify_time >= ? \n" +
|
||||
" and t.verify_time <= ? ", customer_id, stm, etm);
|
||||
}else{
|
||||
} else {
|
||||
return Db.find("select t.*, c.name customer_name from prepay_detail t \n" +
|
||||
" left join customer c on c.id = t.customer_id" +
|
||||
" where t.state = 2 \n" +
|
||||
|
|
|
|||
|
|
@ -131,46 +131,4 @@ public class PrepayTruckService extends BaseService {
|
|||
return Db.find(findSql, paraList.toArray());
|
||||
}
|
||||
|
||||
/**
|
||||
* 车牌号当日是否可以进对应的砂站进行预付费业务
|
||||
* @param supermarket_id
|
||||
* @param truck_license
|
||||
* @return
|
||||
*/
|
||||
public PrepayTruck checkTruckLicense(int supermarket_id, String truck_license) {
|
||||
if (StrKit.isBlank(truck_license)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return PrepayTruck.dao.findFirst("select * from prepay_truck t \n" +
|
||||
" where t.supermarket_id = ? \n" +
|
||||
" and t.valid_date = ?" +
|
||||
" and truck_license like ? \n" +
|
||||
" limit 0,1",
|
||||
supermarket_id,
|
||||
sdfday.get().format(new Date()),
|
||||
"%" + truck_license.substring(1));
|
||||
}
|
||||
|
||||
/**
|
||||
* 从预付费车辆中直接查询当天车牌对象
|
||||
* 用完整的车牌查
|
||||
* @param supermarket_id
|
||||
* @param truck_license
|
||||
* @return
|
||||
*/
|
||||
public Record checkValidLicense(int supermarket_id, String truck_license) {
|
||||
if (StrKit.isBlank(truck_license)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return Db.findFirst("select t.truck_license license, t.trans_co_id from prepay_truck t \n" +
|
||||
" where t.supermarket_id = ? \n" +
|
||||
" and t.valid_date = ? \n" +
|
||||
" and t.truck_license = ? \n" +
|
||||
" limit 0,1",
|
||||
supermarket_id,
|
||||
sdfday.get().format(new Date()),
|
||||
truck_license);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -384,19 +384,14 @@ public class OrderStatService {
|
|||
*/
|
||||
public Record monthgrid(String tm, Integer supermarket_id, Integer customer_id) {
|
||||
// 使用实际支付金额统计
|
||||
String sql = "select t.customer_id \n" +
|
||||
", case \n" +
|
||||
" when t.type = 1 then ifnull(t.customer_name, '民用') \n" +
|
||||
" when t.type = 3 then case when isnull(t.customer_name) then '外销' else concat(t.customer_name, '(外销)') end \n" +
|
||||
" end customer_name \n" +
|
||||
" , t.supermarket_id, s.name supermarket_name, count(*) as cnt, sum(t.total_price) as total\n" +
|
||||
String sql = "select t.customer_id, max(t.customer_name) customer_name, t.supermarket_id, max(s.name) supermarket_name, count(*) cnt, sum(t.total_price) total \n" +
|
||||
" from (\n" +
|
||||
" select t.customer_id, t.customer_name, t.supermarket_id, t.paid, t.total_price, 1 type \n" +
|
||||
" select t.customer_id, ifnull(t.customer_name, '民用') customer_name, t.supermarket_id, t.paid, t.total_price, 1 type \n" +
|
||||
" from order_sale t\n" +
|
||||
" where t.state = ? \n" +
|
||||
" and t.create_time like ?\n" +
|
||||
" union all\n" +
|
||||
" select t.customer_id, t.customer_name, t.supermarket_id, t.paid, t.total_price, 3 type \n" +
|
||||
" select t.customer_id, case when isnull(t.customer_name) then '民用' else t.customer_name end customer_name , t.supermarket_id, t.paid, t.total_price, 3 type \n" +
|
||||
" from order_temp t\n" +
|
||||
" where t.state = ? \n" +
|
||||
" and t.create_time like ?\n" +
|
||||
|
|
|
|||
|
|
@ -1,10 +1,22 @@
|
|||
package com.cowr.local.ssjygl.invoice.log;
|
||||
|
||||
import com.cowr.local.ssjygl.base.BaseSyncService;
|
||||
import com.cowr.model.InvoiceReceive;
|
||||
import com.jfinal.log.Log;
|
||||
|
||||
public class InvoiceLogSyncService extends BaseSyncService {
|
||||
private static Log log = Log.getLog(InvoiceLogSyncService.class);
|
||||
public static InvoiceLogSyncService me = new InvoiceLogSyncService();
|
||||
|
||||
public InvoiceReceive lastReceive(int supermarket_id) {
|
||||
String sql = "select * from invoice_receive t\n" +
|
||||
" where t.supermarket_id = ? \n" +
|
||||
" and t.surplus > 0\n" +
|
||||
" order by t.start_code asc\n" +
|
||||
" limit 1";
|
||||
|
||||
InvoiceReceive receive = InvoiceReceive.dao.findFirst(sql, supermarket_id);
|
||||
|
||||
return receive;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -96,8 +96,16 @@ public class OrderclusterController extends BaseController {
|
|||
*/
|
||||
@Before(OrderclusterPKValidator.class)
|
||||
public void get() {
|
||||
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
|
||||
|
||||
// 是客户账户
|
||||
if (tokenuser == null) {
|
||||
renderJson(Result.noauth());
|
||||
return;
|
||||
}
|
||||
|
||||
Ordercluster model = getModel(Ordercluster.class, "", true); // 忽略不在model中的字段
|
||||
renderJson(OrderclusterService.me.findByPk(model));
|
||||
renderJson(Result.object(OrderclusterService.me.get(model.getId(), tokenuser)));
|
||||
}
|
||||
|
||||
@Before(SupermarketIdValidator.class)
|
||||
|
|
|
|||
|
|
@ -36,12 +36,13 @@ public class PrepayDetailController extends Controller {
|
|||
* 分页查找 prepay_detail 客户相关 - 客户预付费
|
||||
*/
|
||||
public void find(){
|
||||
Integer customer_id = getInt("customer_id");
|
||||
String name = get("name");
|
||||
String stm = get("stm");
|
||||
String etm = get("etm");
|
||||
Integer state = getInt("state");
|
||||
PageParam pp = getBean(PageParam.class, "", true);
|
||||
renderJson(Result.object(PrepayDetailService.me.find(pp, name, stm, etm, state)));
|
||||
renderJson(Result.object(PrepayDetailService.me.find(pp, customer_id, name, stm, etm, state)));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ import com.cowr.ssjygl.CacheData;
|
|||
import com.cowr.ssjygl.authlicense.AuthLicenseService;
|
||||
import com.cowr.ssjygl.blacklist.BlacklistService;
|
||||
import com.cowr.ssjygl.modifylog.ModifyLogService;
|
||||
import com.cowr.ssjygl.order.ordercluster.truck.OrderclusterTruckService;
|
||||
import com.cowr.ssjygl.prepay.prepaytruck.PrepayTruckService;
|
||||
import com.cowr.ssjygl.transport.TransportService;
|
||||
import com.cowr.ssjygl.truck.TruckService;
|
||||
|
|
@ -217,18 +218,14 @@ public class TransportSyncService {
|
|||
// 从预付费车辆中找
|
||||
// 单独用 pt 对象存储,是后面还要用是否有预付费,来判断订单类型
|
||||
// 是预付,则肯定是销售或者外销,如果有物流公司id,则肯定是销售,否是外销
|
||||
Record pt = PrepayTruckService.me.checkValidLicense(supermarket_id, result.getLicense());
|
||||
OrderclusterTruck ot = OrderclusterTruckService.me.checkValidLicense(supermarket_id, result.getLicense());
|
||||
|
||||
Record lichisobj = new Record();
|
||||
if (pt != null) {
|
||||
lichisobj = pt;
|
||||
} else {
|
||||
lichisobj.set("license", result.getLicense());
|
||||
}
|
||||
|
||||
TransportDeviceService.me.addLicenseHistory(lichisobj, which, lichisobj.get("trans_co_id") != null ? TruckRodState.state_2 : TruckRodState.state_1);
|
||||
|
||||
if (pt == null && !AuthLicenseService.me.isAuthLicense(result.getLicense())) {
|
||||
if (ot == null && !AuthLicenseService.me.isAuthLicense(result.getLicense())) {
|
||||
log.error("【%s】未授权,可能是在黑名单中,或者第一次入场", result.getLicense());
|
||||
Config.socketio.pubMessage(new Record().set("truck_license", result.getLicense()).set("msg", result.getLicense() + " 未授权。可能是在黑名单中,或者第一次入场"));
|
||||
return result;
|
||||
|
|
@ -251,10 +248,8 @@ public class TransportSyncService {
|
|||
transport.setState(OrderStateEnum.ENTERED.getStateid()); // 2,入场
|
||||
transport.setFirstPic(saveImg(file));
|
||||
|
||||
// 入场的时候,就可以根据是否预付车辆,确定类型
|
||||
if (pt != null) {
|
||||
transport.setType(pt.get("trans_co_id") != null ? OrderTypeEnum.SALE.getTypeid() : OrderTypeEnum.TEMP.getTypeid());
|
||||
}
|
||||
// 浠水只有外销
|
||||
transport.setType(OrderTypeEnum.TEMP.getTypeid());
|
||||
|
||||
boolean ret = Db.tx(new IAtom() {
|
||||
@Override
|
||||
|
|
@ -339,9 +334,9 @@ public class TransportSyncService {
|
|||
*/
|
||||
private PostLicenseResult common(int supermarket_id, PostLicenseResult result, File file, String which) {
|
||||
// 从预付费车辆中找
|
||||
Record pt = PrepayTruckService.me.checkValidLicense(supermarket_id, result.getLicense());
|
||||
OrderclusterTruck ot = OrderclusterTruckService.me.checkValidLicense(supermarket_id, result.getLicense());
|
||||
|
||||
if (pt == null && !AuthLicenseService.me.isAuthLicense(result.getLicense())) {
|
||||
if (ot == null && !AuthLicenseService.me.isAuthLicense(result.getLicense())) {
|
||||
log.error("车牌【%s】未授权,可能是在黑名单中,或者第一次入场", result.getLicense());
|
||||
//TODO: 发消息到web端?
|
||||
return result;
|
||||
|
|
@ -362,10 +357,8 @@ public class TransportSyncService {
|
|||
transport.setState(OrderStateEnum.ENTERED.getStateid());
|
||||
transport.setFirstPic(saveImg(file));
|
||||
|
||||
// 入场的时候,就可以根据是否预付车辆,确定类型
|
||||
if (pt != null) {
|
||||
transport.setType(pt.get("trans_co_id") != null ? OrderTypeEnum.SALE.getTypeid() : OrderTypeEnum.TEMP.getTypeid());
|
||||
}
|
||||
// 浠水只有外销
|
||||
transport.setType(OrderTypeEnum.TEMP.getTypeid());
|
||||
|
||||
Transport finalTransport = transport;
|
||||
ret = Db.tx(new IAtom() {
|
||||
|
|
@ -644,9 +637,9 @@ public class TransportSyncService {
|
|||
// 从预付费车辆中找
|
||||
// 单独用 pt 对象存储,是后面还要用是否有预付费,来判断订单类型
|
||||
// 是预付,则肯定是销售或者外销,如果有物流公司id,则肯定是销售,否是外销
|
||||
Record pt = PrepayTruckService.me.checkValidLicense(supermarket_id, truck_license);
|
||||
OrderclusterTruck ot = OrderclusterTruckService.me.checkValidLicense(supermarket_id, truck_license);
|
||||
|
||||
if (pt == null && !AuthLicenseService.me.isAuthLicense(truck_license)) {
|
||||
if (ot == null && !AuthLicenseService.me.isAuthLicense(truck_license)) {
|
||||
return Result.failedstr("车牌【%s】未授权,或者第一次入场", truck_license);
|
||||
}
|
||||
|
||||
|
|
@ -664,10 +657,8 @@ public class TransportSyncService {
|
|||
transport.setInWhich(which);
|
||||
transport.setState(OrderStateEnum.ENTERED.getStateid()); // 2,入场
|
||||
|
||||
// 入场的时候,就可以根据是否预付车辆,确定类型
|
||||
if (pt != null) {
|
||||
transport.setType(pt.get("trans_co_id") != null ? OrderTypeEnum.SALE.getTypeid() : OrderTypeEnum.TEMP.getTypeid());
|
||||
}
|
||||
// 浠水只有外销
|
||||
transport.setType(OrderTypeEnum.TEMP.getTypeid());
|
||||
|
||||
boolean ret = Db.tx(new IAtom() {
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ public class AuthInterceptor implements Interceptor {
|
|||
add("/prepay/consumption");
|
||||
add("/prepay/flow");
|
||||
add("/prepay/prepaydetail");
|
||||
add("/prepaydetail/find");
|
||||
|
||||
add("/orderclustertruck/find");
|
||||
add("/orderclustertruck/save");
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public class OrderclusterTruckSyncService extends BaseSyncService {
|
|||
return Result.failed("关联集团订单信息错误,没有关联客户信息");
|
||||
} else if (sysuser.getEntityId() == null) {
|
||||
return Result.failed("当前登录用户不是客户账户");
|
||||
} else if (sysuser.getEntityId().equals(ordercluster.getCustomerId())) {
|
||||
} else if (!sysuser.getEntityId().equals(ordercluster.getCustomerId())) {
|
||||
log.error("登录用户 entity_id: %s 和集团订单 customer_id: %s 不一致", sysuser.getEntityId(), ordercluster.getCustomerId());
|
||||
return Result.failed("操作失败");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.cowr.service.ssjygl.prepay.prepaydetail;
|
||||
|
||||
import com.cowr.common.enums.UserTypeEnum;
|
||||
import com.cowr.common.validator.CustomerIdValidator;
|
||||
import com.cowr.common.validator.StartAndEndTimeValidator;
|
||||
import com.cowr.common.view.ExcelRender;
|
||||
|
|
@ -103,12 +104,23 @@ public class PrepayDetailController extends Controller {
|
|||
* 分页查找 prepay_detail 预付费客户付费详情
|
||||
*/
|
||||
public void find(){
|
||||
Integer customer_id = getInt("customer_id");
|
||||
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
|
||||
|
||||
// 是客户账户
|
||||
if (tokenuser == null) {
|
||||
renderJson(Result.noauth());
|
||||
return;
|
||||
} else if (tokenuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()) {
|
||||
customer_id = tokenuser.getEntityId();
|
||||
}
|
||||
|
||||
String name = get("name");
|
||||
String stm = get("stm");
|
||||
String etm = get("etm");
|
||||
Integer state = getInt("state");
|
||||
PageParam pp = getBean(PageParam.class, "", true);
|
||||
renderJson(Result.object(PrepayDetailService.me.find(pp, name, stm, etm, state)));
|
||||
renderJson(Result.object(PrepayDetailService.me.find(pp, customer_id, name, stm, etm, state)));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in New Issue