跳转集团订单

dev
lisai17@sina.com 2020-08-25 16:39:53 +08:00
parent 43b18cffc6
commit b2a350944c
97 changed files with 1080 additions and 317 deletions

View File

@ -1,15 +1,16 @@
package com.cowr.common;
public class Const {
public static final String DEFAULT_PASSWORD = "678910"; // 新建用户默认密码
public static final String LOGIC_DEL_KEY = "del"; // 逻辑删除字段
public static final int LOGIC_DEL_INVALID = 1; // 标记为逻辑删除
public static final int LOGIC_DEL_VALID = 0; // 标记为有效数据
public static final int DEFAULT_SN_LEN = 4; // 订单号结尾的序列号默认长度
public static final int DEFAULT_SN_MAX = Double.valueOf(Math.pow(10, DEFAULT_SN_LEN) - 1).intValue(); // 订单号结尾的序列号默认最大值
public static final String ORDER_BY_ASC = "asc"; // 正序
public static final String ORDER_BY_DESC = "desc"; // 倒叙
public static final String REDIS_SEPARATE = ":"; // reids 分隔符
public static final String REDIS_CACHENAME = "mian"; // redis 默认 cache 对象别名
public static final String REDIS_JSON = "json"; // redis 按 json 存储对象
public static final String DEFAULT_PASSWORD = "678910"; // 新建用户默认密码
public static final int DEFAULT_PRODUCT_ID = 1; // 默认品类id
public static final String LOGIC_DEL_KEY = "del"; // 逻辑删除字段
public static final int LOGIC_DEL_INVALID = 1; // 标记为逻辑删除
public static final int LOGIC_DEL_VALID = 0; // 标记为有效数据
public static final int DEFAULT_SN_LEN = 4; // 订单号结尾的序列号默认长度
public static final int DEFAULT_SN_MAX = Double.valueOf(Math.pow(10, DEFAULT_SN_LEN) - 1).intValue(); // 订单号结尾的序列号默认最大值
public static final String ORDER_BY_ASC = "asc"; // 正序
public static final String ORDER_BY_DESC = "desc"; // 倒叙
public static final String REDIS_SEPARATE = ":"; // reids 分隔符
public static final String REDIS_CACHENAME = "mian"; // redis 默认 cache 对象别名
public static final String REDIS_JSON = "json"; // redis 按 json 存储对象
}

View File

@ -4,9 +4,9 @@ import java.util.ArrayList;
import java.util.List;
/**
100
101
102
100
101
102
201
202

View File

@ -5,14 +5,14 @@ import java.util.List;
/**
type role type role
1
1
2
3customer
4.
5.
5.
*/
public enum UserTypeEnum {
CONFIG(0), // 系统配置管理

View File

@ -217,6 +217,8 @@ public class Result {
&& !s.getClassName().contains("com.cowr.common.view.Result")
&& !s.getClassName().contains("com.cowr.common.handler.GlobalHandler")
&& !s.getClassName().contains("com.cowr.common.Interceptor")
&& !s.getClassName().contains("com.cowr.local.ssjygl.main.AuthInterceptor")
&& !s.getClassName().contains("com.cowr.service.ssjygl.main.AuthInterceptor")
)
log.debug("-> " + s);
}

View File

@ -5,7 +5,7 @@ import com.cowr.model.base.BasePrepayCustomer;
/**
* Generated by COWR Sun May 17 21:43:18 CST 2020
* TableName: prepay_customer
* Remarks: -
* Remarks: -
* PrimaryKey: id
*/
@SuppressWarnings("serial")

View File

@ -5,7 +5,7 @@ import com.cowr.model.base.BaseSupermarket;
/**
* Generated by COWR Sun Apr 12 21:56:10 CST 2020
* TableName: supermarket
* Remarks: -
* Remarks: -
* PrimaryKey: id
*/
@SuppressWarnings("serial")

View File

@ -5,7 +5,7 @@ import com.cowr.model.base.BaseSupermarketProduct;
/**
* Generated by COWR Sun Apr 12 21:56:10 CST 2020
* TableName: supermarket_product
* Remarks: - product
* Remarks: - product
* PrimaryKey: supermarket_id,product_id
*/
@SuppressWarnings("serial")

View File

@ -5,7 +5,7 @@ import com.cowr.model.base.BaseSupermarketReceiverDistance;
/**
* Generated by COWR Sun Apr 12 21:56:10 CST 2020
* TableName: supermarket_receiver_distance
* Remarks: -
* Remarks: -
* PrimaryKey: supermarket_id,customer_receiver_id
*/
@SuppressWarnings("serial")

View File

@ -48,7 +48,7 @@ public abstract class BaseCctvChannels<M extends BaseCctvChannels<M>> extends Ba
* isNullable: NO
* isPrimaryKey: YES
* defaultValue:
* @param unitId idid s
* @param unitId idid s
*/
@JSONField(name="unit_id")
public void setUnitId(java.lang.String unitId) {
@ -57,7 +57,7 @@ public abstract class BaseCctvChannels<M extends BaseCctvChannels<M>> extends Ba
/**
* @return unit_id idid s
* @return unit_id idid s
*/
@JSONField(name="unit_id")
public java.lang.String getUnitId() {

View File

@ -26,7 +26,7 @@ public abstract class BaseDeviceConfig<M extends BaseDeviceConfig<M>> extends Ba
* isNullable: NO
* isPrimaryKey: YES
* defaultValue:
* @param supermarketId id
* @param supermarketId id
*/
@JSONField(name="supermarket_id")
public void setSupermarketId(Integer supermarketId) {
@ -35,7 +35,7 @@ public abstract class BaseDeviceConfig<M extends BaseDeviceConfig<M>> extends Ba
/**
* @return supermarket_id id
* @return supermarket_id id
*/
@JSONField(name="supermarket_id")
public Integer getSupermarketId() {

View File

@ -224,7 +224,7 @@ public abstract class BaseInvoiceReceive<M extends BaseInvoiceReceive<M>> extend
* isNullable: NO
* isPrimaryKey: NO
* defaultValue:
* @param supermarketId id
* @param supermarketId id
*/
@JSONField(name="supermarket_id")
public void setSupermarketId(Integer supermarketId) {
@ -233,7 +233,7 @@ public abstract class BaseInvoiceReceive<M extends BaseInvoiceReceive<M>> extend
/**
* @return supermarket_id id
* @return supermarket_id id
*/
@JSONField(name="supermarket_id")
public Integer getSupermarketId() {

View File

@ -92,7 +92,7 @@ public abstract class BaseOrderPurchase<M extends BaseOrderPurchase<M>> extends
* isNullable: NO
* isPrimaryKey: NO
* defaultValue:
* @param supermarketId id
* @param supermarketId id
*/
@JSONField(name="supermarket_id")
public void setSupermarketId(Integer supermarketId) {
@ -101,7 +101,7 @@ public abstract class BaseOrderPurchase<M extends BaseOrderPurchase<M>> extends
/**
* @return supermarket_id id
* @return supermarket_id id
*/
@JSONField(name="supermarket_id")
public Integer getSupermarketId() {

View File

@ -92,7 +92,7 @@ public abstract class BaseOrderSale<M extends BaseOrderSale<M>> extends BaseMode
* isNullable: NO
* isPrimaryKey: NO
* defaultValue:
* @param supermarketId id
* @param supermarketId id
*/
@JSONField(name="supermarket_id")
public void setSupermarketId(Integer supermarketId) {
@ -101,7 +101,7 @@ public abstract class BaseOrderSale<M extends BaseOrderSale<M>> extends BaseMode
/**
* @return supermarket_id id
* @return supermarket_id id
*/
@JSONField(name="supermarket_id")
public Integer getSupermarketId() {

View File

@ -48,7 +48,7 @@ public abstract class BaseOrderSeq<M extends BaseOrderSeq<M>> extends BaseModel<
* isNullable: NO
* isPrimaryKey: YES
* defaultValue:
* @param supermarketId id
* @param supermarketId id
*/
@JSONField(name="supermarket_id")
public void setSupermarketId(Integer supermarketId) {
@ -57,7 +57,7 @@ public abstract class BaseOrderSeq<M extends BaseOrderSeq<M>> extends BaseModel<
/**
* @return supermarket_id id
* @return supermarket_id id
*/
@JSONField(name="supermarket_id")
public Integer getSupermarketId() {

View File

@ -92,7 +92,7 @@ public abstract class BaseOrderTemp<M extends BaseOrderTemp<M>> extends BaseMode
* isNullable: NO
* isPrimaryKey: NO
* defaultValue:
* @param supermarketId id
* @param supermarketId id
*/
@JSONField(name="supermarket_id")
public void setSupermarketId(Integer supermarketId) {
@ -101,7 +101,7 @@ public abstract class BaseOrderTemp<M extends BaseOrderTemp<M>> extends BaseMode
/**
* @return supermarket_id id
* @return supermarket_id id
*/
@JSONField(name="supermarket_id")
public Integer getSupermarketId() {

View File

@ -92,7 +92,7 @@ public abstract class BaseOrderTransfer<M extends BaseOrderTransfer<M>> extends
* isNullable: NO
* isPrimaryKey: NO
* defaultValue:
* @param supermarketId id
* @param supermarketId id
*/
@JSONField(name="supermarket_id")
public void setSupermarketId(Integer supermarketId) {
@ -101,7 +101,7 @@ public abstract class BaseOrderTransfer<M extends BaseOrderTransfer<M>> extends
/**
* @return supermarket_id id
* @return supermarket_id id
*/
@JSONField(name="supermarket_id")
public Integer getSupermarketId() {

View File

@ -93,7 +93,7 @@ public abstract class BaseOrderTrash<M extends BaseOrderTrash<M>> extends BaseMo
* isNullable: NO
* isPrimaryKey: NO
* defaultValue:
* @param supermarketId id
* @param supermarketId id
*/
@JSONField(name="supermarket_id")
public void setSupermarketId(Integer supermarketId) {
@ -102,7 +102,7 @@ public abstract class BaseOrderTrash<M extends BaseOrderTrash<M>> extends BaseMo
/**
* @return supermarket_id id
* @return supermarket_id id
*/
@JSONField(name="supermarket_id")
public Integer getSupermarketId() {

View File

@ -224,7 +224,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* isNullable: NO
* isPrimaryKey: NO
* defaultValue:
* @param supermarketId id
* @param supermarketId id
*/
@JSONField(name="supermarket_id")
public void setSupermarketId(Integer supermarketId) {
@ -233,7 +233,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
/**
* @return supermarket_id id
* @return supermarket_id id
*/
@JSONField(name="supermarket_id")
public Integer getSupermarketId() {
@ -419,7 +419,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
/**
* name: customer_id
* type: INT(10)
* isNullable: NO
* isNullable: YES
* isPrimaryKey: NO
* defaultValue:
* @param customerId

View File

@ -22,7 +22,7 @@ public abstract class BaseOrderclusterTruck<M extends BaseOrderclusterTruck<M>>
/**
* name: id
* type: CHAR(1)
* type: CHAR(32)
* isNullable: NO
* isPrimaryKey: YES
* defaultValue:

View File

@ -7,7 +7,7 @@ import com.alibaba.fastjson.annotation.JSONField;
/**
* Generated by COWR Sun May 17 21:43:18 CST 2020
* TableName: prepay_customer
* Remarks: -
* Remarks: -
* PrimaryKey: id
*/
@SuppressWarnings("serial")
@ -70,7 +70,7 @@ public abstract class BasePrepayCustomer<M extends BasePrepayCustomer<M>> extend
* isNullable: YES
* isPrimaryKey: NO
* defaultValue:
* @param supermarketId id
* @param supermarketId id
*/
@JSONField(name="supermarket_id")
public void setSupermarketId(Integer supermarketId) {
@ -79,7 +79,7 @@ public abstract class BasePrepayCustomer<M extends BasePrepayCustomer<M>> extend
/**
* @return supermarket_id id
* @return supermarket_id id
*/
@JSONField(name="supermarket_id")
public Integer getSupermarketId() {

View File

@ -70,7 +70,7 @@ public abstract class BasePrepayDetail<M extends BasePrepayDetail<M>> extends Ba
* isNullable: YES
* isPrimaryKey: NO
* defaultValue:
* @param supermarketId id
* @param supermarketId id
*/
@JSONField(name="supermarket_id")
public void setSupermarketId(Integer supermarketId) {
@ -79,7 +79,7 @@ public abstract class BasePrepayDetail<M extends BasePrepayDetail<M>> extends Ba
/**
* @return supermarket_id id
* @return supermarket_id id
*/
@JSONField(name="supermarket_id")
public Integer getSupermarketId() {

View File

@ -114,7 +114,7 @@ public abstract class BasePrepayTruck<M extends BasePrepayTruck<M>> extends Base
* isNullable: NO
* isPrimaryKey: NO
* defaultValue:
* @param supermarketId id
* @param supermarketId id
*/
@JSONField(name="supermarket_id")
public void setSupermarketId(Integer supermarketId) {
@ -123,7 +123,7 @@ public abstract class BasePrepayTruck<M extends BasePrepayTruck<M>> extends Base
/**
* @return supermarket_id id
* @return supermarket_id id
*/
@JSONField(name="supermarket_id")
public Integer getSupermarketId() {

View File

@ -70,7 +70,7 @@ public abstract class BaseRefundDetail<M extends BaseRefundDetail<M>> extends Ba
* isNullable: YES
* isPrimaryKey: NO
* defaultValue:
* @param supermarketId id
* @param supermarketId id
*/
@JSONField(name="supermarket_id")
public void setSupermarketId(Integer supermarketId) {
@ -79,7 +79,7 @@ public abstract class BaseRefundDetail<M extends BaseRefundDetail<M>> extends Ba
/**
* @return supermarket_id id
* @return supermarket_id id
*/
@JSONField(name="supermarket_id")
public Integer getSupermarketId() {

View File

@ -26,7 +26,7 @@ public abstract class BaseStock<M extends BaseStock<M>> extends BaseModel<M> imp
* isNullable: NO
* isPrimaryKey: YES
* defaultValue:
* @param supermarketId id
* @param supermarketId id
*/
@JSONField(name="supermarket_id")
public void setSupermarketId(Integer supermarketId) {
@ -35,7 +35,7 @@ public abstract class BaseStock<M extends BaseStock<M>> extends BaseModel<M> imp
/**
* @return supermarket_id id
* @return supermarket_id id
*/
@JSONField(name="supermarket_id")
public Integer getSupermarketId() {
@ -70,7 +70,7 @@ public abstract class BaseStock<M extends BaseStock<M>> extends BaseModel<M> imp
* isNullable: NO
* isPrimaryKey: NO
* defaultValue:
* @param stockWeight
* @param stockWeight
*/
@JSONField(name="stock_weight")
public void setStockWeight(java.math.BigDecimal stockWeight) {
@ -79,7 +79,7 @@ public abstract class BaseStock<M extends BaseStock<M>> extends BaseModel<M> imp
/**
* @return stock_weight
* @return stock_weight
*/
@JSONField(name="stock_weight")
public java.math.BigDecimal getStockWeight() {

View File

@ -48,7 +48,7 @@ public abstract class BaseStockModifyLog<M extends BaseStockModifyLog<M>> extend
* isNullable: NO
* isPrimaryKey: NO
* defaultValue:
* @param supermarketId id
* @param supermarketId id
*/
@JSONField(name="supermarket_id")
public void setSupermarketId(Integer supermarketId) {
@ -57,7 +57,7 @@ public abstract class BaseStockModifyLog<M extends BaseStockModifyLog<M>> extend
/**
* @return supermarket_id id
* @return supermarket_id id
*/
@JSONField(name="supermarket_id")
public Integer getSupermarketId() {
@ -92,7 +92,7 @@ public abstract class BaseStockModifyLog<M extends BaseStockModifyLog<M>> extend
* isNullable: NO
* isPrimaryKey: NO
* defaultValue:
* @param oldStockWeight
* @param oldStockWeight
*/
@JSONField(name="old_stock_weight")
public void setOldStockWeight(java.math.BigDecimal oldStockWeight) {
@ -101,7 +101,7 @@ public abstract class BaseStockModifyLog<M extends BaseStockModifyLog<M>> extend
/**
* @return old_stock_weight
* @return old_stock_weight
*/
@JSONField(name="old_stock_weight")
public java.math.BigDecimal getOldStockWeight() {
@ -114,7 +114,7 @@ public abstract class BaseStockModifyLog<M extends BaseStockModifyLog<M>> extend
* isNullable: NO
* isPrimaryKey: NO
* defaultValue:
* @param newStockWeight
* @param newStockWeight
*/
@JSONField(name="new_stock_weight")
public void setNewStockWeight(java.math.BigDecimal newStockWeight) {
@ -123,7 +123,7 @@ public abstract class BaseStockModifyLog<M extends BaseStockModifyLog<M>> extend
/**
* @return new_stock_weight
* @return new_stock_weight
*/
@JSONField(name="new_stock_weight")
public java.math.BigDecimal getNewStockWeight() {

View File

@ -7,7 +7,7 @@ import com.alibaba.fastjson.annotation.JSONField;
/**
* Generated by COWR Thu Aug 20 11:16:08 CST 2020
* TableName: supermarket
* Remarks: -
* Remarks: -
* PrimaryKey: id
*/
@SuppressWarnings("serial")
@ -203,7 +203,7 @@ public abstract class BaseSupermarket<M extends BaseSupermarket<M>> extends Base
* isPrimaryKey: NO
* defaultValue: 0
* @param isdeploy 0.1.
线
线
*/
@JSONField(name="isdeploy")
public void setIsdeploy(Integer isdeploy) {
@ -213,7 +213,7 @@ public abstract class BaseSupermarket<M extends BaseSupermarket<M>> extends Base
/**
* @return isdeploy 0.1.
线
线
*/
@JSONField(name="isdeploy")
public Integer getIsdeploy() {

View File

@ -7,7 +7,7 @@ import com.alibaba.fastjson.annotation.JSONField;
/**
* Generated by COWR Fri Apr 17 16:59:35 CST 2020
* TableName: supermarket_product
* Remarks: - product
* Remarks: - product
* PrimaryKey: supermarket_id,product_id
*/
@SuppressWarnings("serial")
@ -26,7 +26,7 @@ public abstract class BaseSupermarketProduct<M extends BaseSupermarketProduct<M>
* isNullable: NO
* isPrimaryKey: YES
* defaultValue:
* @param supermarketId id
* @param supermarketId id
*/
@JSONField(name="supermarket_id")
public void setSupermarketId(java.lang.Integer supermarketId) {
@ -35,7 +35,7 @@ public abstract class BaseSupermarketProduct<M extends BaseSupermarketProduct<M>
/**
* @return supermarket_id id
* @return supermarket_id id
*/
@JSONField(name="supermarket_id")
public java.lang.Integer getSupermarketId() {
@ -70,7 +70,7 @@ public abstract class BaseSupermarketProduct<M extends BaseSupermarketProduct<M>
* isNullable: NO
* isPrimaryKey: NO
* defaultValue:
* @param unitPrice
* @param unitPrice
*/
@JSONField(name="unit_price")
public void setUnitPrice(java.math.BigDecimal unitPrice) {
@ -79,7 +79,7 @@ public abstract class BaseSupermarketProduct<M extends BaseSupermarketProduct<M>
/**
* @return unit_price
* @return unit_price
*/
@JSONField(name="unit_price")
public java.math.BigDecimal getUnitPrice() {

View File

@ -7,7 +7,7 @@ import com.alibaba.fastjson.annotation.JSONField;
/**
* Generated by COWR Fri Apr 17 16:59:35 CST 2020
* TableName: supermarket_receiver_distance
* Remarks: -
* Remarks: -
* PrimaryKey: supermarket_id,customer_receiver_id
*/
@SuppressWarnings("serial")
@ -26,7 +26,7 @@ public abstract class BaseSupermarketReceiverDistance<M extends BaseSupermarketR
* isNullable: NO
* isPrimaryKey: YES
* defaultValue:
* @param supermarketId id
* @param supermarketId id
*/
@JSONField(name="supermarket_id")
public void setSupermarketId(java.lang.Integer supermarketId) {
@ -35,7 +35,7 @@ public abstract class BaseSupermarketReceiverDistance<M extends BaseSupermarketR
/**
* @return supermarket_id id
* @return supermarket_id id
*/
@JSONField(name="supermarket_id")
public java.lang.Integer getSupermarketId() {

View File

@ -27,7 +27,7 @@ public abstract class BaseSupermarketSandfarmDistance<M extends BaseSupermarketS
* isNullable: NO
* isPrimaryKey: YES
* defaultValue:
* @param supermarketId id
* @param supermarketId id
*/
@JSONField(name="supermarket_id")
public void setSupermarketId(java.lang.Integer supermarketId) {
@ -36,7 +36,7 @@ public abstract class BaseSupermarketSandfarmDistance<M extends BaseSupermarketS
/**
* @return supermarket_id id
* @return supermarket_id id
*/
@JSONField(name="supermarket_id")
public java.lang.Integer getSupermarketId() {

View File

@ -92,7 +92,7 @@ public abstract class BaseSyncTask<M extends BaseSyncTask<M>> extends BaseModel<
* isNullable: NO
* isPrimaryKey: NO
* defaultValue:
* @param supermarketId id
* @param supermarketId id
*/
@JSONField(name="supermarket_id")
public void setSupermarketId(Integer supermarketId) {
@ -101,7 +101,7 @@ public abstract class BaseSyncTask<M extends BaseSyncTask<M>> extends BaseModel<
/**
* @return supermarket_id id
* @return supermarket_id id
*/
@JSONField(name="supermarket_id")
public Integer getSupermarketId() {

View File

@ -114,14 +114,14 @@ public abstract class BaseSysuser<M extends BaseSysuser<M>> extends BaseModel<M>
* isNullable: NO
* isPrimaryKey: NO
* defaultValue:
* @param type 1
* @param type 1
2
3customer
4.
5.
5.
*/
@JSONField(name="type")
public void setType(java.lang.Integer type) {
@ -130,14 +130,14 @@ public abstract class BaseSysuser<M extends BaseSysuser<M>> extends BaseModel<M>
/**
* @return type 1
* @return type 1
2
3customer
4.
5.
5.
*/
@JSONField(name="type")
public java.lang.Integer getType() {
@ -150,7 +150,7 @@ public abstract class BaseSysuser<M extends BaseSysuser<M>> extends BaseModel<M>
* isNullable: YES
* isPrimaryKey: NO
* defaultValue:
* @param entityId ,
* @param entityId ,
*/
@JSONField(name="entity_id")
public void setEntityId(java.lang.Integer entityId) {
@ -159,7 +159,7 @@ public abstract class BaseSysuser<M extends BaseSysuser<M>> extends BaseModel<M>
/**
* @return entity_id ,
* @return entity_id ,
*/
@JSONField(name="entity_id")
public java.lang.Integer getEntityId() {
@ -172,9 +172,9 @@ public abstract class BaseSysuser<M extends BaseSysuser<M>> extends BaseModel<M>
* isNullable: YES
* isPrimaryKey: NO
* defaultValue:
* @param role 100
101
102
* @param role 100
101
102
201
202
@ -193,9 +193,9 @@ public abstract class BaseSysuser<M extends BaseSysuser<M>> extends BaseModel<M>
/**
* @return role 100
101
102
* @return role 100
101
102
201
202

View File

@ -70,7 +70,7 @@ public abstract class BaseTransport<M extends BaseTransport<M>> extends BaseMode
* isNullable: NO
* isPrimaryKey: NO
* defaultValue:
* @param supermarketId id
* @param supermarketId id
*/
@JSONField(name="supermarket_id")
public void setSupermarketId(Integer supermarketId) {
@ -79,7 +79,7 @@ public abstract class BaseTransport<M extends BaseTransport<M>> extends BaseMode
/**
* @return supermarket_id id
* @return supermarket_id id
*/
@JSONField(name="supermarket_id")
public Integer getSupermarketId() {

View File

@ -26,7 +26,7 @@ public class CctvService extends BaseService {
List<Record> supCctv = Db.find("select t.* from cctv t");
if(supCctv == null || supCctv.isEmpty()){
return Result.failed("未找到超市配置信息");
return Result.failed("未找到砂站配置信息");
}
List<CctvChannels> list = CctvChannels.dao.find("select id, name, default_select, unit_id from cctv_channels");

View File

@ -29,7 +29,7 @@ import java.util.Map;
public class OrderclusterService extends BaseService {
public static final OrderclusterService me = new OrderclusterService();
public Result get(Integer id, Sysuser sysuser){
public Result get(Integer id, Sysuser sysuser) {
Ordercluster ordercluster = Ordercluster.dao.findById(id);
if (ordercluster == null) {
@ -45,6 +45,162 @@ public class OrderclusterService extends BaseService {
return Result.success(ordercluster);
}
public Page<Record> findTemp(PageParam pp,
Integer supermarket_id,
String customer_name,
String stm,
String etm,
Integer state,
Integer product_id
) {
String selectsql = "select t.*, s.name supermarket_name, a.truck_num ";
String fromsql = "from ordercluster t \n" +
" left join supermarket s on s.id = t.supermarket_id \n" +
" left join ( \n" +
" select t.ordercluster_id, count(*) truck_num from ordercluster_truck t \n" +
" group by t.ordercluster_id \n" +
" ) a on ordercluster_id = t.id \n" +
" where t.customer_id is null \n ";
List<Object> paraList = new ArrayList<>();
if (supermarket_id != null) {
fromsql += " and t.supermarket_id = ? \n";
paraList.add(supermarket_id);
}
if (state != null) {
fromsql += " and t.state = ? ";
paraList.add(state);
}
if (StrKit.notBlank(customer_name)) {
fromsql += " and t.customer_name like ? \n";
paraList.add("%" + customer_name + "%");
}
if (product_id != null) {
fromsql += " and t.product_id = ? \n";
paraList.add(product_id);
}
if (StrKit.notBlank(stm)) {
fromsql += " and t.cutoff_time >= ? \n";
paraList.add(stm);
}
if (StrKit.notBlank(etm)) {
fromsql += " and t.cutoff_time <= ? \n";
paraList.add(etm);
}
String totalRowSql = "select count(*) " + fromsql;
String findSql = selectsql + fromsql;
// 前端传了排序字段,并且排序字段存在相关表中
if (StrKit.notBlank(pp.getSort_field()) && Ordercluster.dao.hasColunm(pp.getSort_field())) {
findSql += " order by t." + pp.getSort_field() + " is null, t." + pp.getSort_field();
if (Const.ORDER_BY_ASC.equals(pp.getSort_order())) {
findSql += " " + Const.ORDER_BY_ASC;
} else {
findSql += " " + Const.ORDER_BY_DESC;
}
} else {
findSql += " order by t.cutoff_time desc";
}
Page<Record> page = Db.paginateByFullSql(pp.getPage(), pp.getSize(), totalRowSql, findSql, paraList.toArray());
List<Record> list = page.getList();
setOverWeight(list);
return page;
}
public Page<Record> findCluster(PageParam pp,
Integer supermarket_id,
Integer trans_co_id,
Integer customer_id,
String customer_name,
String stm,
String etm,
Integer state,
Integer product_id
) {
String selectsql = "select t.*, s.name supermarket_name, a.truck_num ";
String fromsql = "from ordercluster t \n" +
" left join supermarket s on s.id = t.supermarket_id \n " +
" left join ( \n" +
" select t.ordercluster_id, count(*) truck_num from ordercluster_truck t \n" +
" group by t.ordercluster_id \n" +
" ) a on ordercluster_id = t.id \n" +
" where t.customer_id is not null \n ";
List<Object> paraList = new ArrayList<>();
if (supermarket_id != null) {
fromsql += " and t.supermarket_id = ? \n";
paraList.add(supermarket_id);
}
if (trans_co_id != null) {
fromsql += " and t.trans_co_id = ? ";
paraList.add(trans_co_id);
}
if (state != null) {
fromsql += " and t.state = ? ";
paraList.add(state);
}
if (StrKit.notBlank(customer_name)) {
fromsql += " and t.customer_name like ? \n";
paraList.add("%" + customer_name + "%");
}
if (customer_id != null) {
fromsql += " and t.customer_id = ? \n";
paraList.add(customer_id);
}
if (StrKit.notBlank(stm)) {
fromsql += " and t.cutoff_time >= ? \n";
paraList.add(stm);
}
if (StrKit.notBlank(etm)) {
fromsql += " and t.cutoff_time <= ? \n";
paraList.add(etm);
}
if (product_id != null) {
fromsql += " and t.product_id = ? \n";
paraList.add(product_id);
}
String totalRowSql = "select count(*) " + fromsql;
String findSql = selectsql + fromsql;
// 前端传了排序字段,并且排序字段存在相关表中
if (StrKit.notBlank(pp.getSort_field()) && Ordercluster.dao.hasColunm(pp.getSort_field())) {
findSql += " order by t." + pp.getSort_field() + " is null, t." + pp.getSort_field();
if (Const.ORDER_BY_ASC.equals(pp.getSort_order())) {
findSql += " " + Const.ORDER_BY_ASC;
} else {
findSql += " " + Const.ORDER_BY_DESC;
}
} else {
findSql += " order by t.cutoff_time desc";
}
Page<Record> page = Db.paginateByFullSql(pp.getPage(), pp.getSize(), totalRowSql, findSql, paraList.toArray());
List<Record> list = page.getList();
setOverWeight(list);
return page;
}
public Page<Record> find(PageParam pp,
Integer supermarket_id,
Integer trans_co_id,
@ -87,12 +243,12 @@ public class OrderclusterService extends BaseService {
}
if (StrKit.notBlank(stm)) {
fromsql += " and t.create_time >= ? \n";
fromsql += " and t.cutoff_time >= ? \n";
paraList.add(stm);
}
if (StrKit.notBlank(etm)) {
fromsql += " and t.create_time <= ? \n";
fromsql += " and t.cutoff_time <= ? \n";
paraList.add(etm);
}
@ -124,7 +280,7 @@ public class OrderclusterService extends BaseService {
}
/**
*
*
*
* @param supermarket_id
* @param customer_id
@ -141,7 +297,7 @@ public class OrderclusterService extends BaseService {
}
/**
*
*
*
* @param supermarket_id
* @param customer_id
@ -163,6 +319,14 @@ public class OrderclusterService extends BaseService {
return Db.find(sql, paraList.toArray());
}
public List<Record> undonlist(int supermarket_id, String customer_name) {
String sql = "select * from ordercluster t \n" +
" where t.state < ? \n" +
" and t.supermarket_id = ? \n" +
" and t.customer_name = ? ";
return Db.find(sql, OrderStateEnum.RECEIVED.getStateid(), supermarket_id, customer_name);
}
/**
*
*

View File

@ -16,7 +16,7 @@ public class OrderclusterTruckPKValidator extends CrudParamValidator {
@Override
protected void validate(Controller c) {
validateRequired("id", "id", "id 必填");
validateString("id", 1, 1, "id", "id 长度 1~1");
validateString("id", 32, 32, "id", "id 长度 32");
}
protected void handleError(Controller c) {

View File

@ -3,7 +3,6 @@ package com.cowr.ssjygl.order.ordercluster.truck;
import com.jfinal.core.Controller;
import com.cowr.common.validator.CrudParamValidator;
import com.cowr.common.view.Result;
import com.cowr.model.OrderclusterTruck;
/**
* Generated by COWR Mon Aug 24 16:29:54 CST 2020
@ -14,22 +13,8 @@ import com.cowr.model.OrderclusterTruck;
public class OrderclusterTruckValidator extends CrudParamValidator {
@Override
protected void validate(Controller c) {
// 默认新增时,前端不需要传主键。若需要前端传主键,需要去掉这个判断
if (!"save".equals(getActionMethodName())) {
validateRequired("id", "id", "id 必填");
validateString("id", 1, 1, "id", "id 长度 1~1");
}
validateInteger("ordercluster_id", 1, 2147483647, "ordercluster_id", "ordercluster_id 范围 1~2147483647");
validateString("truck_license", 1, 20, "truck_license", "truck_license 长度 1~20");
// 使用 model 更新时model 不能只有主键有值
// 这里用 getActionMethodName 写死,判断是 update 时,才做验证
// 如果确实是需要将主键外的字段置为 null可以在代码生成后删掉这段
if ("edit".equals(getActionMethodName())) {
validateUpdateModel(OrderclusterTruck.class, "", true); // 忽略不在model中的字段
}
validateString("trucks", 1, 2000, "trucks", "trucks 长度 1~2000");
}
protected void handleError(Controller c) {

View File

@ -348,7 +348,7 @@ public class PrepayService {
int a = 0;
row.createCell(a++).setCellValue("单号");
row.createCell(a++).setCellValue("时间");
row.createCell(a++).setCellValue("超市");
row.createCell(a++).setCellValue("砂站");
row.createCell(a++).setCellValue("车牌号");
row.createCell(a++).setCellValue("购买量(吨)");
row.createCell(a++).setCellValue("金额");

View File

@ -8,7 +8,7 @@ import com.jfinal.core.Controller;
/**
* Generated by COWR Sun Feb 23 21:22:13 CST 2020
* TableName: prepay_truck
* Remarks:
* Remarks:
* PrimaryKey: id
*/
public class PrepayTruckPKValidator extends CrudParamValidator {

View File

@ -22,7 +22,7 @@ import java.util.*;
/**
* Generated by COWR Sun Feb 23 21:36:39 CST 2020
* TableName: prepay_truck
* Remarks:
* Remarks:
* PrimaryKey: id
*/
public class PrepayTruckService extends BaseService {
@ -132,7 +132,7 @@ public class PrepayTruckService extends BaseService {
}
/**
*
*
* @param supermarket_id
* @param truck_license
* @return

View File

@ -9,7 +9,7 @@ import com.jfinal.kit.StrKit;
/**
* Generated by COWR Sun Feb 23 21:22:13 CST 2020
* TableName: prepay_truck
* Remarks:
* Remarks:
* PrimaryKey: id
*/
public class PrepayTruckValidator extends CrudParamValidator {

View File

@ -153,9 +153,9 @@ public class OrderPurchaseStatService {
row.createCell(a++).setCellValue("入场时间");
row.createCell(a++).setCellValue("采购单编号");
row.createCell(a++).setCellValue("采购砂场");
// 筛选添加了超市时,列表中不显示超市
// 筛选添加了砂站时,列表中不显示砂站
if (sup_name == null) {
row.createCell(a++).setCellValue("超市");
row.createCell(a++).setCellValue("砂站");
}
row.createCell(a++).setCellValue("物流公司");
@ -189,7 +189,7 @@ public class OrderPurchaseStatService {
row.createCell(a++).setCellValue(StrUtil.getRecordStr(record, "sn"));
row.createCell(a++).setCellValue(StrUtil.getRecordStr(record, "purchase_name"));
// 筛选添加了超市时,列表中不显示超市
// 筛选添加了砂站时,列表中不显示砂站
if (sup_name == null) {
row.createCell(a++).setCellValue(StrUtil.getRecordStr(record, "supermarket_name"));
}

View File

@ -24,7 +24,7 @@ public class OrderStatService {
*
*
* @param tm yyyy-MM-dd
* @param supermarket_id id
* @param supermarket_id id
* @param trans_co_id id
* @param customer_id id
* @param customer_name
@ -275,9 +275,9 @@ public class OrderStatService {
row.createCell(a++).setCellValue("净重(吨)");
row.createCell(a++).setCellValue("金额(元)");
row.createCell(a++).setCellValue("客户");
// 筛选添加了超市时,列表中不显示超市
// 筛选添加了砂站时,列表中不显示砂站
if (sup_name == null) {
row.createCell(a++).setCellValue("超市");
row.createCell(a++).setCellValue("砂站");
}
row.createCell(a++).setCellValue("物流公司");
row.createCell(a++).setCellValue("车牌号");
@ -377,7 +377,7 @@ public class OrderStatService {
}
/**
* /
* /
*
* @param tm YYYY-MM
* @return
@ -485,7 +485,7 @@ public class OrderStatService {
}
/**
* /
* /
*
* @param tm
* @return
@ -695,7 +695,7 @@ public class OrderStatService {
row.setHeight((short) (30 * 20));
int a = 0;
row.createCell(a++).setCellValue("超市");
row.createCell(a++).setCellValue("砂站");
row.createCell(a++).setCellValue("品类");
row.createCell(a++).setCellValue("订单量");
row.createCell(a++).setCellValue("销量(单位:吨)");
@ -961,14 +961,14 @@ public class OrderStatService {
/**
*
*
* <p>
* tm stm, etm
*
* @param tm YYYY-MM-DD YYYY-MM
* @param stm YYYY-MM-DD
* @param etm YYYY-MM-DD
* @param supermarket_id id
* @param supermarket_id id
* @param stat_product
* @param product_id id
* @param isprepaid
@ -1224,14 +1224,14 @@ public class OrderStatService {
/**
*
*
* <p>
* tm stm, etm
*
* @param tm YYYY-MM-DD YYYY-MM
* @param stm YYYY-MM-DD
* @param etm YYYY-MM-DD
* @param supermarket_id id
* @param supermarket_id id
* @param stat_product
* @param product_id id
* @param isprepaid

View File

@ -150,9 +150,9 @@ public class OrderTransferStatService {
row.createCell(a++).setCellValue("序号");
row.createCell(a++).setCellValue("转运单编号");
row.createCell(a++).setCellValue("转运砂场");
// 筛选添加了超市时,列表中不显示超市
// 筛选添加了砂站时,列表中不显示砂站
if (sup_name == null) {
row.createCell(a++).setCellValue("超市");
row.createCell(a++).setCellValue("砂站");
}
row.createCell(a++).setCellValue("物流公司");
@ -183,7 +183,7 @@ public class OrderTransferStatService {
row.createCell(a++).setCellValue(StrUtil.getRecordStr(record, "sn"));
row.createCell(a++).setCellValue(StrUtil.getRecordStr(record, "sandfarm_name"));
// 筛选添加了超市时,列表中不显示超市
// 筛选添加了砂站时,列表中不显示砂站
if (sup_name == null) {
row.createCell(a++).setCellValue(StrUtil.getRecordStr(record, "supermarket_name"));
}

View File

@ -8,13 +8,13 @@ import com.jfinal.core.Controller;
/**
* Generated by COWR Thu Jun 27 15:45:07 CST 2019
* TableName: supermarket
* Remarks:
* Remarks:
* PrimaryKey: id
*/
public class SupermarketIdValidator extends CrudParamValidator {
@Override
protected void validate(Controller c) {
validateRequired("supermarket_id", "supermarket_id", "必须选定一个超市");
validateRequired("supermarket_id", "supermarket_id", "必须选定一个砂站");
}
protected void handleError(Controller c) {

View File

@ -9,7 +9,7 @@ import com.jfinal.core.Controller;
/**
* Generated by COWR Sat Apr 04 17:23:04 CST 2020
* TableName: supermarket
* Remarks:
* Remarks:
* PrimaryKey: id
*/
public class SupermarketPKValidator extends CrudParamValidator {

View File

@ -20,14 +20,14 @@ import java.util.Map;
/**
* Generated by COWR Sat Apr 04 17:23:04 CST 2020
* TableName: supermarket
* Remarks:
* Remarks:
* PrimaryKey: id
*/
public class SupermarketService extends BaseService {
public static final SupermarketService me = new SupermarketService();
/**
*
*
*
* @return
*/
@ -113,7 +113,7 @@ public class SupermarketService extends BaseService {
Supermarket supermarket = Supermarket.dao.findById(id);
if(supermarket == null){
return Result.failed("未找到超市记录");
return Result.failed("未找到砂站记录");
}
Record out = supermarket.toRecord();

View File

@ -9,7 +9,7 @@ import com.cowr.model.Supermarket;
/**
* Generated by COWR Sat Apr 04 17:23:04 CST 2020
* TableName: supermarket
* Remarks:
* Remarks:
* PrimaryKey: id
*/
public class SupermarketValidator extends CrudParamValidator {

View File

@ -16,7 +16,7 @@ import java.util.List;
/**
* Generated by COWR Fri Apr 17 16:59:39 CST 2020
* TableName: supermarket_product
* Remarks: - product
* Remarks: - product
* PrimaryKey: supermarket_id,product_id
*/
public class SupermarketProductService extends BaseService {

View File

@ -9,7 +9,7 @@ import com.jfinal.core.Controller;
/**
* Generated by COWR Mon Apr 06 21:35:28 CST 2020
* TableName: supermarket_receiver_distance
* Remarks:
* Remarks:
* PrimaryKey: supermarket_id,customer_receiver_id
*/
public class SupermarketReceiverDistancePKValidator extends CrudParamValidator {

View File

@ -21,7 +21,7 @@ import java.util.Map;
/**
* Generated by COWR Mon Apr 06 21:35:28 CST 2020
* TableName: supermarket_receiver_distance
* Remarks:
* Remarks:
* PrimaryKey: supermarket_id,customer_receiver_id
*/
public class SupermarketReceiverDistanceService extends BaseService {
@ -52,7 +52,9 @@ public class SupermarketReceiverDistanceService extends BaseService {
public BigDecimal getDistance(int supermarket_id, int customer_receiver_id) {
try {
return Db.queryBigDecimal("select distance from supermarket_receiver_distance where supermarket_id = ? and customer_receiver_id = ?", supermarket_id, customer_receiver_id);
BigDecimal out = Db.queryBigDecimal("select distance from supermarket_receiver_distance where supermarket_id = ? and customer_receiver_id = ?", supermarket_id, customer_receiver_id);
return out == null ? new BigDecimal(0) : out;
} catch (Exception e) {
log.error(e.getMessage(), e);
@ -129,7 +131,7 @@ public class SupermarketReceiverDistanceService extends BaseService {
}
/**
*
*
*
* @param pp
* @param customer_receiver_id

View File

@ -9,7 +9,7 @@ import com.cowr.model.SupermarketReceiverDistance;
/**
* Generated by COWR Mon Apr 06 21:35:28 CST 2020
* TableName: supermarket_receiver_distance
* Remarks:
* Remarks:
* PrimaryKey: supermarket_id,customer_receiver_id
*/
public class SupermarketReceiverDistanceValidator extends CrudParamValidator {

View File

@ -55,7 +55,7 @@ public class TransportService extends BaseService {
* @param stm
* @param etm
* @param truck_license
* @param supermarket_id
* @param supermarket_id
* @param trans_co_id
* @return
*/
@ -156,7 +156,7 @@ public class TransportService extends BaseService {
}
/**
*
*
*
* @param supermarket_id
* @param truck_license

View File

@ -19,7 +19,7 @@ public class CacheController extends Controller {
Supermarket s = Supermarket.dao.findById(Config.configprop.getInt("current.supermarket_id"));
if(s == null) {
renderJson(Result.failed("没有获取到有效的超市信息,检查配置是否正确"));
renderJson(Result.failed("没有获取到有效的砂站信息,检查配置是否正确"));
return;
}

View File

@ -9,7 +9,7 @@ import java.util.List;
import java.util.Map;
public class CliCacheData {
public static Supermarket SUP = null; // 当前超市对象
public static Supermarket SUP = null; // 当前砂站对象
public static Map<String, List<String>> licenseInQueue = new HashMap<>(); //车辆入场识别队列,兼容多个出入口
public static Map<String, List<String>> licenseOutQueue = new HashMap<>(); //车辆出场识别队列,兼容多个出入口
public static Map<String, List<String>> licenseSameQueue = new HashMap<>(); //车辆出场识别队列,同进同出

View File

@ -290,7 +290,7 @@ public class Config extends JFinalConfig {
CliCacheData.SUP = Supermarket.dao.findById(configprop.getInt("current.supermarket_id"));
if (CliCacheData.SUP == null) {
log.error("没有获取到有效的超市信息,检查配置是否正确");
log.error("没有获取到有效的砂站信息,检查配置是否正确");
try {
Thread.sleep(10000);

View File

@ -16,7 +16,7 @@ import java.util.List;
* netty socketio
* web socketio
* web socketio
* TODO:
* TODO:
*/
public class SocketIOService {
private static Log log = Log.getLog(SocketIOService.class);

View File

@ -246,7 +246,7 @@ public class OrderService {
Supermarket supermarket = Supermarket.dao.findById(order.get("supermarket_id"));
if (supermarket == null) {
log.error("获取超市信息失败 %s", order.getInt("supermarket_id"));
log.error("获取砂站信息失败 %s", order.getInt("supermarket_id"));
return null;
}
@ -291,7 +291,7 @@ public class OrderService {
Supermarket supermarket = Supermarket.dao.findById(order.get("supermarket_id"));
if (supermarket == null) {
log.error("获取超市信息失败 %s", order.getInt("supermarket_id"));
log.error("获取砂站信息失败 %s", order.getInt("supermarket_id"));
return null;
}
@ -333,7 +333,7 @@ public class OrderService {
Supermarket supermarket = Supermarket.dao.findById(order.get("supermarket_id"));
if (supermarket == null) {
log.error("获取超市信息失败 %s", order.getInt("supermarket_id"));
log.error("获取砂站信息失败 %s", order.getInt("supermarket_id"));
return null;
}
@ -365,7 +365,7 @@ public class OrderService {
Supermarket supermarket = Supermarket.dao.findById(order.get("supermarket_id"));
if (supermarket == null) {
log.error("获取超市信息失败 %s", order.getInt("supermarket_id"));
log.error("获取砂站信息失败 %s", order.getInt("supermarket_id"));
return null;
}
@ -387,7 +387,7 @@ public class OrderService {
Supermarket supermarket = Supermarket.dao.findById(order.get("supermarket_id"));
if (supermarket == null) {
log.error("获取超市信息失败 %s", order.getInt("supermarket_id"));
log.error("获取砂站信息失败 %s", order.getInt("supermarket_id"));
return null;
}

View File

@ -11,7 +11,7 @@ import com.jfinal.aop.Before;
/**
* Generated by COWR Sun Feb 23 21:22:12 CST 2020
* TableName: prepay_truck
* Remarks:
* Remarks:
* PrimaryKey: id
*/
public class PrepayTruckController extends BaseController {
@ -29,7 +29,7 @@ public class PrepayTruckController extends BaseController {
}
/**
* prepay_truck
* prepay_truck
*/
@Before(DayValidator.class)
public void find() {
@ -43,7 +43,7 @@ public class PrepayTruckController extends BaseController {
}
/**
* prepay_truck
* prepay_truck
*/
@Before(PrepayTruckPKValidator.class)
public void findByPk() {
@ -52,7 +52,7 @@ public class PrepayTruckController extends BaseController {
}
/**
* prepay_truck
* prepay_truck
*/
@Before(PrepayTruckPKValidator.class)
public void get() {
@ -61,7 +61,7 @@ public class PrepayTruckController extends BaseController {
}
/**
* prepay_truck
* prepay_truck
*/
public void list() {
Integer customer_id = getInt("customer_id");

View File

@ -110,7 +110,7 @@ public class PrepayTruckSyncService extends BaseSyncService {
return Result.failed("truck_license 参数错误");
}
// TODO: 这里要不要加入同步,上传到服务端。预付费车辆只再本超市使用
// TODO: 这里要不要加入同步,上传到服务端。预付费车辆只再本砂站使用
boolean ret = Db.tx(new IAtom() {
@Override
public boolean run() throws SQLException {

View File

@ -8,7 +8,7 @@ import com.jfinal.core.Controller;
/**
* Generated by COWR Sun Feb 23 21:22:13 CST 2020
* TableName: prepay_truck
* Remarks:
* Remarks:
* PrimaryKey: id
*/
public class PrepayTruckValidator extends CrudParamValidator {

View File

@ -61,7 +61,7 @@ public class OrderStatController extends BaseController {
}
/**
* /
* /
*/
@Before(MonthValidator.class)
public void monthgrid() {
@ -172,8 +172,8 @@ public class OrderStatController extends BaseController {
if (export == 0) {
renderJson(Result.object(OrderStatService.me.statTrans(tm, null, null, supermarket_id, stat_product, product_id, isprepaid)));
} else {
Workbook wb = OrderStatService.me.statTransExport("超市日销售汇总表", tm, null, null, supermarket_id, stat_product, product_id, isprepaid);
render(new ExcelRender(tm + "_超市日" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
Workbook wb = OrderStatService.me.statTransExport("砂站日销售汇总表", tm, null, null, supermarket_id, stat_product, product_id, isprepaid);
render(new ExcelRender(tm + "_砂站日" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
}
}
@ -192,8 +192,8 @@ public class OrderStatController extends BaseController {
if (export == 0) {
renderJson(Result.object(OrderStatService.me.statTrans(tm, null, null, supermarket_id, stat_product, product_id, isprepaid)));
} else {
Workbook wb = OrderStatService.me.statTransExport("超市月销售汇总表", tm, null, null, supermarket_id, stat_product, product_id, isprepaid);
render(new ExcelRender(tm + "_超市月" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
Workbook wb = OrderStatService.me.statTransExport("砂站月销售汇总表", tm, null, null, supermarket_id, stat_product, product_id, isprepaid);
render(new ExcelRender(tm + "_砂站月" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
}
}
@ -210,8 +210,8 @@ public class OrderStatController extends BaseController {
if (export == 0) {
renderJson(Result.object(OrderStatService.me.statTrans(null, stm, etm, supermarket_id, stat_product, product_id, isprepaid)));
} else {
Workbook wb = OrderStatService.me.statTransExport("超市时段销售汇总表", null, stm, etm, supermarket_id, stat_product, product_id, isprepaid);
render(new ExcelRender(stm + "_" + etm + "_超市" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
Workbook wb = OrderStatService.me.statTransExport("砂站时段销售汇总表", null, stm, etm, supermarket_id, stat_product, product_id, isprepaid);
render(new ExcelRender(stm + "_" + etm + "_砂站" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
}
}
@ -232,8 +232,8 @@ public class OrderStatController extends BaseController {
if (export == 0) {
renderJson(Result.object(OrderStatService.me.statCustomer(tm, null, null, supermarket_id, customer_id, stat_product, product_id, isprepaid)));
} else {
Workbook wb = OrderStatService.me.statCustomerExport("超市日销售汇总表", tm, null, null, supermarket_id, customer_id, stat_product, product_id, isprepaid);
render(new ExcelRender(tm + "_超市日" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
Workbook wb = OrderStatService.me.statCustomerExport("砂站日销售汇总表", tm, null, null, supermarket_id, customer_id, stat_product, product_id, isprepaid);
render(new ExcelRender(tm + "_砂站日" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
}
}
@ -253,8 +253,8 @@ public class OrderStatController extends BaseController {
if (export == 0) {
renderJson(Result.object(OrderStatService.me.statCustomer(tm, null, null, supermarket_id, customer_id, stat_product, product_id, isprepaid)));
} else {
Workbook wb = OrderStatService.me.statCustomerExport("超市月销售汇总表", tm, null, null, supermarket_id, customer_id, stat_product, product_id, isprepaid);
render(new ExcelRender(tm + "_超市月" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
Workbook wb = OrderStatService.me.statCustomerExport("砂站月销售汇总表", tm, null, null, supermarket_id, customer_id, stat_product, product_id, isprepaid);
render(new ExcelRender(tm + "_砂站月" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
}
}
@ -272,8 +272,8 @@ public class OrderStatController extends BaseController {
if (export == 0) {
renderJson(Result.object(OrderStatService.me.statCustomer(null, stm, etm, supermarket_id, customer_id, stat_product, product_id, isprepaid)));
} else {
Workbook wb = OrderStatService.me.statCustomerExport("超市时段销售汇总表", null, stm, etm, supermarket_id, customer_id, stat_product, product_id, isprepaid);
render(new ExcelRender(stm + "_" + etm + "_超市" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
Workbook wb = OrderStatService.me.statCustomerExport("砂站时段销售汇总表", null, stm, etm, supermarket_id, customer_id, stat_product, product_id, isprepaid);
render(new ExcelRender(stm + "_" + etm + "_砂站" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
}
}
}

View File

@ -11,7 +11,7 @@ import com.jfinal.core.Controller;
/**
* Generated by COWR Sat Apr 04 17:23:04 CST 2020
* TableName: supermarket
* Remarks:
* Remarks:
* PrimaryKey: id
*/
public class SupermarketController extends Controller {
@ -29,7 +29,7 @@ public class SupermarketController extends Controller {
}
/**
* supermarket
* supermarket
*/
public void find(){
PageParam pp = getBean(PageParam.class, "", true);
@ -39,7 +39,7 @@ public class SupermarketController extends Controller {
}
/**
* supermarket
* supermarket
*/
@Before(SupermarketPKValidator.class)
public void findByPk(){
@ -48,7 +48,7 @@ public class SupermarketController extends Controller {
}
/**
* supermarket
* supermarket
*/
@Before(SupermarketPKValidator.class)
public void get(){
@ -56,7 +56,7 @@ public class SupermarketController extends Controller {
}
/**
* supermarket
* supermarket
*/
public void list(){
renderJson(Result.object(SupermarketService.me.list()));

View File

@ -14,7 +14,7 @@ import java.math.BigDecimal;
/**
* Generated by COWR Mon Apr 06 21:35:28 CST 2020
* TableName: supermarket_receiver_distance
* Remarks:
* Remarks:
* PrimaryKey: supermarket_id,customer_receiver_id
*/
public class SupermarketReceiverDistanceController extends Controller {
@ -32,7 +32,7 @@ public class SupermarketReceiverDistanceController extends Controller {
}
/**
* supermarket_receiver_distance
* supermarket_receiver_distance
*/
public void find(){
PageParam pp = getBean(PageParam.class, "", true);
@ -43,7 +43,7 @@ public class SupermarketReceiverDistanceController extends Controller {
}
/**
* supermarket_receiver_distance
* supermarket_receiver_distance
*/
@Before(SupermarketReceiverDistancePKValidator.class)
public void findByPk(){
@ -52,7 +52,7 @@ public class SupermarketReceiverDistanceController extends Controller {
}
/**
* supermarket_receiver_distance
* supermarket_receiver_distance
*/
@Before(SupermarketReceiverDistancePKValidator.class)
public void get(){
@ -61,7 +61,7 @@ public class SupermarketReceiverDistanceController extends Controller {
}
/**
* supermarket_receiver_distance
* supermarket_receiver_distance
*/
public void list(){
Integer supermarket_id = getInt("supermarket_id");

View File

@ -75,7 +75,7 @@ public class StockSyncService {
Supermarket supermarket = Supermarket.dao.findById(model.getSupermarketId());
if (supermarket == null) {
return Result.failed("超市信息获取失败");
return Result.failed("砂站信息获取失败");
}
Product product = Product.dao.findById(model.getProductId());

View File

@ -137,7 +137,7 @@ public class SyncTaskService {
@Override
public boolean run() {
try {
JSONArray saveauthlics = new JSONArray(); // 授权车牌号需要推送更新到其他超市
JSONArray saveauthlics = new JSONArray(); // 授权车牌号需要推送更新到其他砂站
JSONArray deleteauthlics = new JSONArray();
if (save_data != null && !save_data.isEmpty()) {
@ -181,6 +181,7 @@ public class SyncTaskService {
int[] ret = Db.batchUpdate(tablename, pks, list, list.size());
// 没有的记录更新影响的行数应该是 0
if (ret.length != list.size()) {
return false;
}
@ -242,7 +243,7 @@ public class SyncTaskService {
/**
* auth_license
* auth_license
*
* @param savearr
* @param deletearr

View File

@ -49,7 +49,7 @@ public class SysuserSyncService extends BaseService {
}
/**
*
*
*
* @param roleid
* @return
@ -61,7 +61,7 @@ public class SysuserSyncService extends BaseService {
}
/**
*
*
*
* @param roleid
* @return
@ -73,7 +73,7 @@ public class SysuserSyncService extends BaseService {
}
/**
*
*
*
* @param roleid
* @return
@ -85,7 +85,7 @@ public class SysuserSyncService extends BaseService {
}
/**
* 2020-03-7
* 2020-03-7
*
*
* @param roleid
@ -97,7 +97,7 @@ public class SysuserSyncService extends BaseService {
}
/**
* 2020-03-7
* 2020-03-7
*
*
* @param roleid

View File

@ -79,7 +79,7 @@ public class TransportQueryController extends BaseController {
Supermarket supermarket = Supermarket.dao.findById(supermarket_id);
if (supermarket == null) {
renderJson(Result.failed("未找到有效的超市信息"));
renderJson(Result.failed("未找到有效的砂站信息"));
return;
}

View File

@ -188,7 +188,7 @@ public class TransportQueryService {
Supermarket supermarket = Supermarket.dao.findById(supermarket_id);
if (supermarket == null) {
return Result.failed("未找到有效的超市信息");
return Result.failed("未找到有效的砂站信息");
}
if (StrKit.isBlank(which) || !which.startsWith(Enums.CtrlFlowEnum.C.name())) {
@ -217,7 +217,7 @@ public class TransportQueryService {
Supermarket supermarket = Supermarket.dao.findById(supermarket_id);
if (supermarket == null) {
return Result.failed("未找到有效的超市信息");
return Result.failed("未找到有效的砂站信息");
}
if (StrKit.isBlank(which) || !which.startsWith(Enums.CtrlFlowEnum.C.name())) {
@ -280,7 +280,7 @@ public class TransportQueryService {
Supermarket supermarket = Supermarket.dao.findById(supermarket_id);
if (supermarket == null) {
return Result.failed("未找到有效的超市信息");
return Result.failed("未找到有效的砂站信息");
}
if (StrKit.isBlank(which) || !which.startsWith(Enums.CtrlFlowEnum.C.name())) {

View File

@ -556,7 +556,7 @@ public class TransportSyncService {
/**
*
*
* @param supermarket_id id
* @param supermarket_id id
* @param truck_license
* @param first_weight
* @param second_weight

View File

@ -9,7 +9,7 @@ socketserver.port=21002
#和 web 端的 socket.io 通信端口
socketio.port=12002
#当前部署本地程序的超市id
#当前部署本地程序的砂站id
current.supermarket_id=1
#打印用到的配置信息

View File

@ -1,12 +1,12 @@
# mysql
# GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.119' IDENTIFIED BY 'Local_1' WITH GRANT OPTION;
jdbcUrl=jdbc:mysql://rm-wz9wa070076b2uge2ro.mysql.rds.aliyuncs.com:3306/ssjy_xsx_dev?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&useInformationSchema=true&serverTimezone=GMT%2B8&autoReconnect=true
user=ssjy_xsx
password=Ssjy_xs_890
#jdbcUrl=jdbc:mysql://rm-wz9wa070076b2uge2ro.mysql.rds.aliyuncs.com:3306/ssjy_xsx_dev?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&useInformationSchema=true&serverTimezone=GMT%2B8&autoReconnect=true
#user=ssjy_xsx
#password=Ssjy_xs_890
#jdbcUrl=jdbc:mysql://192.168.1.119:3306/ssjy_xsx_dev?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&useInformationSchema=true&serverTimezone=GMT%2B8&autoReconnect=true
#user=root
#password=Local_1
jdbcUrl=jdbc:mysql://192.168.1.119:3306/ssjy_xsx_dev?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&useInformationSchema=true&serverTimezone=GMT%2B8&autoReconnect=true
user=root
password=Local_1
# redis
redis.basekey=ssjcgl_xsx_dev

View File

@ -9,7 +9,7 @@ socketserver.port=21002
#和 web 端的 socket.io 通信端口
socketio.port=12002
#当前部署本地程序的超市id
#当前部署本地程序的砂站id
current.supermarket_id=1
#打印用到的配置信息

View File

@ -91,6 +91,8 @@ public class CustomerSyncService extends BaseSyncService {
return Result.failed(false, "按主键未找到对应记录");
}
Customer saveold = oldobj.clone();
if (model.getName() != null) {
Customer chk = model.findByColumns("name");
@ -115,6 +117,12 @@ public class CustomerSyncService extends BaseSyncService {
}
}
// 将修改后的对象返回
String[] keys = model._getAttrNames();
for (String key : keys) {
oldobj.set(key, model.get(key));
}
boolean ret = Db.tx(new IAtom() {
@Override
public boolean run() {
@ -153,8 +161,8 @@ public class CustomerSyncService extends BaseSyncService {
return false;
}
return SyncTaskService.me.save(new SyncTask().addUpdateData(model))
&& ModifyLogService.me.save(model, oldobj, Enums.DataOpType.UPDATE.getId(), sysuser);
return SyncTaskService.me.save(new SyncTask().addUpdateData(oldobj))
&& ModifyLogService.me.save(model, saveold, Enums.DataOpType.UPDATE.getId(), sysuser);
} catch (Exception e) {
log.error(e.getMessage(), e);
return false;
@ -162,12 +170,6 @@ public class CustomerSyncService extends BaseSyncService {
}
});
// 将修改后的对象返回
String[] keys = model._getAttrNames();
for (String key : keys) {
oldobj.set(key, model.get(key));
}
return ret ? Result.object(oldobj) : Result.failed(false, "修改失败");
} catch (Exception e) {
log.error(e.getMessage(), e);

View File

@ -7,6 +7,7 @@ import com.cowr.model.Supermarket;
import com.cowr.model.SyncTask;
import com.cowr.model.Sysuser;
import com.cowr.service.ssjygl.base.BaseSyncService;
import com.cowr.service.ssjygl.main.SvrCacheData;
import com.cowr.service.ssjygl.synctask.SyncTaskService;
import com.cowr.ssjygl.modifylog.ModifyLogService;
import com.jfinal.kit.StrKit;
@ -27,13 +28,13 @@ public class InvoiceReceiveSyncService extends BaseSyncService {
receive.setReceiveUserName(receive_user.getName());
Supermarket supermarket = Supermarket.dao.findById(receive.getSupermarketId());
Supermarket supermarket = SvrCacheData.SUP_CACHE.get(receive.getSupermarketId());
if(supermarket == null){
return Result.failed("未找到对应超市信息");
return Result.failed("未找到对应砂站信息");
}
// TODO: 这里需要验证输入的起始发票号码和领用份数,避免多个批次的领用和多个超市的领用出现发票代码重复的情况
// TODO: 这里需要验证输入的起始发票号码和领用份数,避免多个批次的领用和多个砂站的领用出现发票代码重复的情况
receive.setId(StrKit.getRandomUUID());
receive.setSurplus(receive.getNum());
@ -44,7 +45,7 @@ public class InvoiceReceiveSyncService extends BaseSyncService {
public boolean run() {
try {
return receive.save()
&& SyncTaskService.me.save(new SyncTask().addSaveData(receive), receive.getSupermarketId()) // 下发到指定的超市
&& SyncTaskService.me.save(new SyncTask().addSaveData(receive), receive.getSupermarketId()) // 下发到指定的砂站
&& ModifyLogService.me.save(receive, null, Enums.DataOpType.SAVE.getId(), user);
} catch (Exception e) {
log.error(e.getMessage(), e);

View File

@ -0,0 +1,84 @@
package com.cowr.service.ssjygl.jobs;
import com.cowr.common.enums.OrderStateEnum;
import com.cowr.model.Ordercluster;
import com.cowr.model.SyncTask;
import com.cowr.service.ssjygl.synctask.SyncTaskService;
import com.jfinal.log.Log;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.IAtom;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class CheckUndonOrderclusterJob implements Job {
private static Log log = Log.getLog(CheckUndonOrderclusterJob.class);
@Override
public void execute(JobExecutionContext jobExecutionContext) {
try {
List<Ordercluster> undonlist = Ordercluster.dao.find(
"select * from ordercluster t \n" +
" where t.state < ? \n" +
" and t.cutoff_time < now() ",
OrderStateEnum.RECEIVED.getStateid());
if (undonlist != null && !undonlist.isEmpty()) {
log.debug("完成未执行完的订单 %d", undonlist.size());
Map<Integer, SyncTask> syncmap = new HashMap<>();
for (Ordercluster ordercluster : undonlist) {
if (!syncmap.containsKey(ordercluster.getSupermarketId())) {
syncmap.put(ordercluster.getSupermarketId(), new SyncTask());
}
if (ordercluster.getState() == OrderStateEnum.INITIAL.getStateid()) {
ordercluster.setState(OrderStateEnum.INVALID.getStateid());
} else {
ordercluster.setState(OrderStateEnum.RECEIVED.getStateid());
}
syncmap.get(ordercluster.getSupermarketId()).addUpdateData(ordercluster);
}
boolean ret = Db.tx(new IAtom() {
@Override
public boolean run() {
try {
int[] ret = Db.batchUpdate(undonlist, undonlist.size());
for (int i : ret) {
// 必须是每条 sql 修改一条记录
if (i != 1) {
return false;
}
}
// 各个超市分开同步
for(Map.Entry<Integer, SyncTask> entry : syncmap.entrySet()){
if(!SyncTaskService.me.save(entry.getValue(), entry.getKey())){
return false;
}
}
return true;
} catch (Exception e) {
log.error(e.getMessage(), e);
return false;
}
}
});
log.debug("更新集团订单状态完成, %s", ret);
} else {
log.debug("无未完成的订单");
}
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
}

View File

@ -26,6 +26,7 @@ public class AuthInterceptor implements Interceptor {
add("/order/ordercluster/find");
add("/order/ordercluster/get");
add("/order/ordercluster/findChildren");
add("/order/ordercluster/findCluster");
add("/order/temp/find");
add("/order/temp/get");
@ -37,9 +38,10 @@ public class AuthInterceptor implements Interceptor {
add("/prepay/consumption");
add("/prepay/flow");
add("/prepay/prepaydetail");
add("/prepaytruck/find");
add("/prepaytruck/save");
add("/prepaytruck/del");
add("/orderclustertruck/find");
add("/orderclustertruck/save");
add("/orderclustertruck/del");
}});
}

View File

@ -6,5 +6,5 @@ import java.util.HashMap;
import java.util.Map;
public class SvrCacheData {
public static Map<Integer, Supermarket> SUP_CACHE = new HashMap<>(); // 超市基础信息缓存,常用配置数据,避免重复请求数据库
public static Map<Integer, Supermarket> SUP_CACHE = new HashMap<>(); // 砂站基础信息缓存,常用配置数据,避免重复请求数据库
}

View File

@ -1,5 +1,6 @@
package com.cowr.service.ssjygl.order.ordercluster;
import com.alibaba.fastjson.JSONArray;
import com.cowr.common.base.BaseController;
import com.cowr.common.enums.RoleEnum;
import com.cowr.common.enums.UserTypeEnum;
@ -12,9 +13,54 @@ import com.cowr.ssjygl.order.ordercluster.OrderclusterPKValidator;
import com.cowr.ssjygl.order.ordercluster.OrderclusterService;
import com.cowr.ssjygl.order.ordercluster.OrderclusterValidator;
import com.jfinal.aop.Before;
import com.jfinal.log.Log;
import java.util.Date;
public class OrderclusterController extends BaseController {
private static Log log = Log.getLog(OrderclusterController.class);
@Before(SaveClusterValidator.class)
public void saveCluster() {
try {
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
if (tokenuser == null) {
renderJson(Result.noauth());
return;
}
int customer_id = getInt("customer_id");
Date cutoff_time = getDate("cutoff_time");
String suparrstr = get("suparr");
JSONArray suparr = JSONArray.parseArray(suparrstr);
renderJson(OrderclusterSyncService.me.saveCluster(customer_id, cutoff_time, suparr, tokenuser));
} catch (Exception e) {
log.error(e.getMessage(), e);
renderJson(Result.failed("保存错误"));
}
}
@Before(SaveValidator.class)
public void saveTemp() {
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
if (tokenuser == null) {
renderJson(Result.noauth());
return;
}
String customer_name = get("customer_name");
String customer_texpayer_num = get("customer_texpayer_num");
Integer req_receipt = getInt("req_receipt");
double total_weight = getParaToDouble("total_weight");
Date cutoff_time = getDate("cutoff_time");
int supermarket_id = getInt("supermarket_id");
String trucks = get("trucks");
renderJson(OrderclusterSyncService.me.save(customer_name, customer_texpayer_num, req_receipt, total_weight, cutoff_time, supermarket_id, trucks, tokenuser));
}
/**
* ordercluster -
@ -47,6 +93,54 @@ public class OrderclusterController extends BaseController {
Ordercluster model = getModel(Ordercluster.class, "", true); // 忽略不在model中的字段
renderJson(OrderclusterSyncService.me.update(model, tokenuser));
}
/**
* ordercluster -
*/
public void findTemp() {
PageParam pp = getBean(PageParam.class, "", true);
String stm = get("stm");
String etm = get("etm");
String customer_name = get("customer_name");
Integer supermarket_id = getInt("supermarket_id");
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
// 是客户账户
if (tokenuser == null) {
renderJson(Result.noauth());
return;
}
Integer state = getInt("state");
Integer product_id = getInt("product_id");
renderJson(Result.object(OrderclusterService.me.findTemp(pp, supermarket_id, customer_name, stm, etm, product_id, state)));
}
/**
* ordercluster -
*/
public void findCluster() {
PageParam pp = getBean(PageParam.class, "", true);
String stm = get("stm");
String etm = get("etm");
String customer_name = get("customer_name");
Integer supermarket_id = getInt("supermarket_id");
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();
}
Integer state = getInt("state");
Integer product_id = getInt("product_id");
Integer trans_co_id = getInt("trans_co_id");
renderJson(Result.object(OrderclusterService.me.findCluster(pp, supermarket_id, trans_co_id, customer_id, customer_name, stm, etm, product_id, state)));
}
/**
* ordercluster -

View File

@ -1,5 +1,6 @@
package com.cowr.service.ssjygl.order.ordercluster;
import com.cowr.common.utils.DateTimeUtil;
import com.cowr.common.utils.StrUtil;
import com.cowr.common.validator.CrudParamValidator;
import com.cowr.common.view.Result;
@ -16,13 +17,20 @@ import com.jfinal.kit.StrKit;
public class OrderclusterEditValidator extends CrudParamValidator {
@Override
protected void validate(Controller c) {
validateRequired("id", "id", "id 必填");
validateInteger("id", 1, 2147483647, "id", "id 范围 1~2147483647");
validateRequired("id", "id", "id 必填");
validateInteger("id", 1, 2147483647, "id", "id 范围 1~2147483647");
if (StrKit.notBlank(c.get("cutoff_time")) && DateTimeUtil.isEarlyToday(c.get("cutoff_time"))) {
addError("cutoff_time", "截止时间不能早于今天");
}
validateDate("cutoff_time", "yyyy-MM-dd HH:mm:ss", false, "cutoff_time", "cutoff_time 格式 yyyy-MM-dd HH:mm:ss"); // 默认时间时间字符串格式,生成后根据情况调整
validateBigDecimal("avg_weight", new java.math.BigDecimal(0), new java.math.BigDecimal(9.999999999999E10), "avg_weight", "avg_weight 范围 0~9.999999999999E10");
validateBigDecimal("total_weight", new java.math.BigDecimal(0), new java.math.BigDecimal(9.9999999999E10), "total_weight", "total_weight 范围 0~9.9999999999E10");
validateInteger("time_interval", 1, 3, "time_interval", "time_interval 范围 1~3");
validateInteger("mini_truck", 1, 2147483647, "mini_truck", "mini_truck 范围 1~2147483647");
// 选了物流公司,就必须填收获地址,运距
if (StrKit.notBlank(c.get("trans_co_id"))) { // 可为空字段,当传入值时,才做验证
validateInteger("trans_co_id", 1, 2147483647, "trans_co_id", "trans_co_id 范围 1~2147483647");

View File

@ -1,17 +1,23 @@
package com.cowr.service.ssjygl.order.ordercluster;
import com.alibaba.fastjson.JSONArray;
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.utils.DateTimeUtil;
import com.cowr.common.view.Result;
import com.cowr.model.*;
import com.cowr.service.ssjygl.base.BaseSyncService;
import com.cowr.service.ssjygl.main.SvrCacheData;
import com.cowr.service.ssjygl.synctask.SyncTaskService;
import com.cowr.ssjygl.modifylog.ModifyLogService;
import com.cowr.ssjygl.order.ordercluster.OrderclusterService;
import com.cowr.ssjygl.prepay.prepaycustomer.PrepayCustomerService;
import com.cowr.ssjygl.supermarket.SupermarketService;
import com.cowr.ssjygl.supermarket.product.SupermarketProductService;
import com.cowr.ssjygl.supermarket.receiverdistance.SupermarketReceiverDistanceService;
import com.jfinal.kit.StrKit;
import com.jfinal.log.Log;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.IAtom;
@ -19,13 +25,320 @@ import com.jfinal.plugin.activerecord.Record;
import java.math.BigDecimal;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;
import java.util.*;
public class OrderclusterSyncService extends BaseSyncService {
public static OrderclusterSyncService me = new OrderclusterSyncService();
private static Log log = Log.getLog(OrderclusterSyncService.class);
/**
* [{
* supermarket_id: 1,
* time_interval: 1,
* mini_truck: 2,
* total_weight: 100.23
* }, {
* supermarket_id: 2,
* time_interval: 1,
* mini_truck: 2,
* total_weight: 100.23
* }
* ]
*
* @param customer_id
* @param cutoff_time
* @param suparr
* @return
*/
public Result saveCluster(int customer_id, Date cutoff_time, JSONArray suparr, Sysuser sysuser) {
if (suparr == null || suparr.isEmpty()) {
return Result.failed("砂站配额不能为空");
}
Customer customerObj = Customer.dao.findById(customer_id);
if (customerObj == null) {
return Result.failed("客户信息错误");
}
PrepayCustomer prepayCustomer = PrepayCustomerService.me.getPrepayCustomer(customer_id);
if (prepayCustomer == null) {
return Result.failed("不是预付费用户");
}
Product product = Product.dao.findById(Const.DEFAULT_PRODUCT_ID);
if (product == null) {
return Result.failedstr("商品信息配置错误");
}
List<Ordercluster> newlist = new ArrayList<>();
Map<Integer, SyncTask> syncmap = new HashMap<>();
List<Integer> chksup = new ArrayList<>();
for (int i = 0; i < suparr.size(); i++) {
JSONObject obj = suparr.getJSONObject(i);
try {
int supermarket_id = obj.getIntValue("supermarket_id");
int time_interval = obj.getIntValue("time_interval");
int mini_truck = obj.getIntValue("mini_truck");
double total_weight = obj.getDouble("total_weight");
if (!SvrCacheData.SUP_CACHE.containsKey(supermarket_id)) {
return Result.failedstr("砂站id(%s)错误", supermarket_id);
}
if (chksup.contains(supermarket_id)) {
return Result.failed("同一个客户不能重复给超市分配配额");
} else {
chksup.add(supermarket_id);
syncmap.put(supermarket_id, new SyncTask());
}
if (time_interval < 1 || time_interval > 3) {
return Result.failed("时间段错误");
}
if (mini_truck < 1) {
return Result.failed("最低运输车辆数错误");
}
if (total_weight == 0) {
log.debug("重量为 0 的超市id:%s跳过", supermarket_id);
continue;
}
List<Record> undonlist = OrderclusterService.me.undonlist(supermarket_id, customer_id);
if (undonlist != null && !undonlist.isEmpty()) {
return Result.failedstr("客户[%s]在砂站[%s]还有未完成的配额", customerObj.getName(), SvrCacheData.SUP_CACHE.get(supermarket_id).getName());
}
BigDecimal unitprice = SupermarketProductService.me.getUnitPrice(supermarket_id, product.getId());
if (unitprice == null) {
return Result.failed("未配置商品单价");
}
if (unitprice.multiply(new BigDecimal(total_weight)).compareTo(prepayCustomer.getSurplus()) > 0) {
return Result.failedstr("余额 %.2f 不足以购买 %.2f 吨 %s", prepayCustomer.getSurplus(), total_weight, product.getName());
}
Ordercluster model = new Ordercluster();
model.setCustomerId(customerObj.getId());
model.setCustomerAddress(customerObj.getAddress());
model.setCustomerBankAccount(customerObj.getBankAccount());
model.setCustomerBankName(customerObj.getBankName());
model.setCustomerName(customerObj.getName());
model.setCustomerPhone(customerObj.getPhone());
model.setCustomerTexpayerName(customerObj.getTexpayerName());
model.setCustomerTexpayerNum(customerObj.getTexpayerNum());
model.setTransDistance(SupermarketReceiverDistanceService.me.getDistance(supermarket_id, customer_id));
model.setTotalWeight(new BigDecimal(total_weight));
model.setCutoffTime(cutoff_time);
model.setSupermarketId(supermarket_id);
model.setTimeInterval(time_interval);
model.setMiniTruck(mini_truck);
model.setProductId(product.getId());
model.setProductName(product.getName());
model.setUnitPrice(unitprice); // 后端获取数据库中单价
model.setCreateTime(new Date()); // 当前系统时间
model.setCreateUserId(sysuser.getId()); // 当前用户id
model.setCreateUserName(sysuser.getName());
model.setState(OrderStateEnum.INITIAL.getStateid()); // 新增固定为 1
model.setReqReceipt(1); // 固定供砂客户肯定是需要发票的,至于是普票还是专票,由客户信息决定
model.setPayType(2);
model.setUuid(StrKit.getRandomUUID());
newlist.add(model);
syncmap.get(supermarket_id).addSaveData(model);
} catch (Exception e) {
log.error(e.getMessage(), e);
return Result.failed("数据解析错误");
}
}
if (newlist.isEmpty()) {
return Result.failed("无效数据");
}
boolean ret = Db.tx(new IAtom() {
@Override
public boolean run() {
try {
int[] ret = Db.batchSave(newlist, newlist.size());
for (int i : ret) {
// 必须是每条 sql 修改一条记录
if (i != 1) {
return false;
}
}
// 将订单同步到不同的超市
for (Map.Entry<Integer, SyncTask> entry : syncmap.entrySet()) {
if (!SyncTaskService.me.save(entry.getValue(), entry.getKey())) {
return false;
}
}
return true;
} catch (Exception e) {
log.error(e.getMessage(), e);
return false;
}
}
});
return ret ? Result.success() : Result.failed("创建失败");
}
public Result save(
String customer_name,
String customer_texpayer_num,
Integer req_receipt,
double total_weight,
Date cutoff_time,
int supermarket_id,
String trucks,
Sysuser sysuser
) {
if (!SvrCacheData.SUP_CACHE.containsKey(supermarket_id)) {
return Result.failedstr("砂站id(%s)错误", supermarket_id);
}
List<Record> undonlist = OrderclusterService.me.undonlist(supermarket_id, customer_name);
if (undonlist != null && !undonlist.isEmpty()) {
return Result.failedstr("客户[%s]在砂站[%s]还有未完成的配额", customer_name, SvrCacheData.SUP_CACHE.get(supermarket_id).getName());
}
Product product = Product.dao.findById(Const.DEFAULT_PRODUCT_ID);
if (product == null) {
return Result.failedstr("商品信息配置错误");
}
BigDecimal unitprice = SupermarketProductService.me.getUnitPrice(supermarket_id, product.getId());
if (unitprice == null) {
return Result.failed("未配置商品单价");
}
SyncTask synctask = new SyncTask();
Ordercluster model = new Ordercluster();
model.setCustomerName(customer_name);
// 判断是否需要开具发票
if (req_receipt == 1) {
model.setCustomerTexpayerNum(customer_texpayer_num);
}
model.setTransDistance(new BigDecimal(0));
model.setTotalWeight(new BigDecimal(total_weight));
model.setCutoffTime(cutoff_time);
model.setSupermarketId(supermarket_id);
model.setTimeInterval(1);
model.setMiniTruck(1);
model.setProductId(product.getId());
model.setProductName(product.getName());
model.setUnitPrice(unitprice); // 后端获取数据库中单价
model.setCreateTime(new Date()); // 当前系统时间
model.setCreateUserId(sysuser.getId()); // 当前用户id
model.setCreateUserName(sysuser.getName());
model.setState(OrderStateEnum.INITIAL.getStateid()); // 新增固定为 1
model.setReqReceipt(req_receipt); // 固定供砂客户肯定是需要发票的,至于是普票还是专票,由客户信息决定
model.setPayType(1);
model.setUuid(StrKit.getRandomUUID());
synctask.addSaveData(model);
List<String> chk = new ArrayList<>();
String[] truckarr = trucks.split(",");
List<String> ts = new ArrayList<>();
List<String> tsql = new ArrayList<>();
if(truckarr.length == 0){
return Result.failed("车牌号参数错误");
}
for (String truck_license : truckarr) {
if (chk.contains(truck_license)) {
return Result.failedstr("车牌号 %s 重复", truck_license);
} else {
chk.add(truck_license);
}
ts.add(truck_license);
tsql.add("?");
}
List<Blacklist> list = Blacklist.dao.find(
"select * from blacklist \n" +
" where remove_user_id is null \n" +
" and truck_license in (" + StrKit.join(tsql, ",") + ")", ts.toArray());
if (list != null && !list.isEmpty()) {
ts = new ArrayList<>();
for (Blacklist bl : list) {
ts.add(bl.getTruckLicense());
}
return Result.failed(StrKit.join(ts, ",") + " 车牌号在黑名单中");
}
boolean ret = Db.tx(new IAtom() {
@Override
public boolean run() {
try {
boolean ret = model.save();
List<OrderclusterTruck> savelist = new ArrayList<>();
for (String truck_license : truckarr) {
OrderclusterTruck oct = new OrderclusterTruck();
oct.setId(StrKit.getRandomUUID());
oct.setOrderclusterId(model.getId());
oct.setTruckLicense(truck_license);
synctask.addSaveData(oct);
savelist.add(oct);
}
if (savelist.isEmpty()) {
return false;
}
int[] octret = Db.batchSave(savelist, savelist.size());
for (int i : octret) {
// 必须是每条 sql 修改一条记录
if (i != 1) {
return false;
}
}
return SyncTaskService.me.save(synctask, supermarket_id);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
return false;
}
});
return ret ? Result.success() : Result.failed("创建失败");
}
public Result save(Ordercluster model, Sysuser sysuser) {
if (model.checkDuplicate("uuid")) {
return Result.failed(false, "新增失败, uuid 已存在");
@ -48,9 +361,9 @@ public class OrderclusterSyncService extends BaseSyncService {
model.setTransCoTexpayerNum(transCoObj.getTexpayerNum());
}
Supermarket supermarket = Supermarket.dao.findById(model.getSupermarketId());
Supermarket supermarket = SvrCacheData.SUP_CACHE.get(model.getSupermarketId());
if (supermarket == null) {
return Result.failed("超市信息无效");
return Result.failed("砂站信息无效");
}
Customer customerObj = Customer.dao.findById(model.getCustomerId());
@ -222,7 +535,7 @@ public class OrderclusterSyncService extends BaseSyncService {
public boolean run() throws SQLException {
try {
return oldobj.update()
&& SyncTaskService.me.save(new SyncTask().addUpdateData(model))
&& SyncTaskService.me.save(new SyncTask().addUpdateData(oldobj))
&& ModifyLogService.me.save(model, null, Enums.DataOpType.UPDATE.getId(), sysuser);
} catch (Exception e) {
log.error(e.getMessage(), e);

View File

@ -0,0 +1,25 @@
package com.cowr.service.ssjygl.order.ordercluster;
import com.cowr.common.utils.DateTimeUtil;
import com.cowr.common.validator.CrudParamValidator;
import com.cowr.common.view.Result;
import com.jfinal.core.Controller;
import com.jfinal.kit.StrKit;
public class SaveClusterValidator extends CrudParamValidator {
@Override
protected void validate(Controller c) {
validateRequiredString("suparr", "suparr", "suparr 必填");
validateInteger("customer_id", 1, 2147483647, "customer_id", "customer_id 范围 1~2147483647");
validateDate("cutoff_time", "yyyy-MM-dd HH:mm:ss", false, "cutoff_time", "cutoff_time 格式 yyyy-MM-dd HH:mm:ss"); // 默认时间时间字符串格式,生成后根据情况调整
if (StrKit.notBlank(c.get("cutoff_time")) && DateTimeUtil.isEarlyToday(c.get("cutoff_time"))) {
addError("cutoff_time", "截止时间不能早于今天");
}
}
@Override
protected void handleError(Controller c) {
c.renderJson(Result.failed(getErrmsg()));
}
}

View File

@ -0,0 +1,31 @@
package com.cowr.service.ssjygl.order.ordercluster;
import com.cowr.common.utils.DateTimeUtil;
import com.cowr.common.validator.CrudParamValidator;
import com.cowr.common.view.Result;
import com.jfinal.core.Controller;
import com.jfinal.kit.StrKit;
public class SaveValidator extends CrudParamValidator {
@Override
protected void validate(Controller c) {
validateString("customer_name", 1, 128, "customer_name", "customer_name 长度 1~128");
validateString("customer_texpayer_num", 0, 20, "customer_texpayer_num", "customer_texpayer_num 长度 0~20");
validateInteger("req_receipt", 0, 1, "req_receipt", "req_receipt 范围 0~1");
validateBigDecimal("total_weight", new java.math.BigDecimal(1), new java.math.BigDecimal(9.9999999999E10), "total_weight", "total_weight 范围 1~9.9999999999E10");
validateDate("cutoff_time", "yyyy-MM-dd HH:mm:ss", false, "cutoff_time", "cutoff_time 格式 yyyy-MM-dd HH:mm:ss"); // 默认时间时间字符串格式,生成后根据情况调整
if (StrKit.notBlank(c.get("cutoff_time")) && DateTimeUtil.isEarlyToday(c.get("cutoff_time"))) {
addError("cutoff_time", "截止时间不能早于今天");
}
validateInteger("supermarket_id", 1, 2147483647, "supermarket_id", "supermarket_id 范围 1~2147483647");
validateRequiredString("trucks", "trucks", "trucks 必填");
}
@Override
protected void handleError(Controller c) {
c.renderJson(Result.failed(getErrmsg()));
}
}

View File

@ -3,12 +3,15 @@ package com.cowr.service.ssjygl.order.ordercluster.truck;
import com.cowr.common.view.PageParam;
import com.cowr.common.view.Result;
import com.cowr.model.OrderclusterTruck;
import com.cowr.model.Sysuser;
import com.cowr.service.ssjygl.system.sysuser.SysuserSyncService;
import com.cowr.ssjygl.order.ordercluster.truck.OrderclusterTruckPKValidator;
import com.cowr.ssjygl.order.ordercluster.truck.OrderclusterTruckService;
import com.cowr.ssjygl.order.ordercluster.truck.OrderclusterTruckValidator;
import com.jfinal.aop.Before;
import com.jfinal.core.Controller;
/**
* Generated by COWR Mon Aug 24 16:29:54 CST 2020
* TableName: ordercluster_truck
@ -24,7 +27,7 @@ public class OrderclusterTruckController extends Controller {
* data = false
*/
@Before(OrderclusterTruckPKValidator.class)
public void checkExistsByPk(){
public void checkExistsByPk() {
OrderclusterTruck model = getModel(OrderclusterTruck.class, "", true); // 忽略不在model中的字段
renderJson(OrderclusterTruckService.me.checkExistsByPk(model));
}
@ -33,24 +36,40 @@ public class OrderclusterTruckController extends Controller {
* ordercluster_truck -
*/
@Before(OrderclusterTruckValidator.class)
public void save(){
OrderclusterTruck model = getModel(OrderclusterTruck.class, "", true); // 忽略不在model中的字段
renderJson(OrderclusterTruckService.me.save(model));
public void save() {
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
if (tokenuser == null) {
renderJson(Result.noauth());
return;
}
int ordercluster_id = getInt("ordercluster_id");
String trucks = get("trucks");
renderJson(OrderclusterTruckSyncService.me.save(ordercluster_id, trucks, tokenuser));
}
/**
* ordercluster_truck -
*/
@Before(OrderclusterTruckPKValidator.class)
public void del(){
public void del() {
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
if (tokenuser == null) {
renderJson(Result.noauth());
return;
}
OrderclusterTruck model = getModel(OrderclusterTruck.class, "", true); // 忽略不在model中的字段
renderJson(OrderclusterTruckService.me.delete(model));
renderJson(OrderclusterTruckSyncService.me.delete(model, tokenuser));
}
/**
* ordercluster_truck -
*/
public void find(){
public void find() {
PageParam pp = getBean(PageParam.class, "", true);
renderJson(Result.object(OrderclusterTruckService.me.find(pp)));
}
@ -59,7 +78,7 @@ public class OrderclusterTruckController extends Controller {
* ordercluster_truck -
*/
@Before(OrderclusterTruckPKValidator.class)
public void findByPk(){
public void findByPk() {
OrderclusterTruck model = getModel(OrderclusterTruck.class, "", true); // 忽略不在model中的字段
renderJson(OrderclusterTruckService.me.findByPk(model));
}
@ -68,7 +87,7 @@ public class OrderclusterTruckController extends Controller {
* ordercluster_truck -
*/
@Before(OrderclusterTruckPKValidator.class)
public void get(){
public void get() {
OrderclusterTruck model = getModel(OrderclusterTruck.class, "", true); // 忽略不在model中的字段
renderJson(OrderclusterTruckService.me.findByPk(model));
}
@ -76,7 +95,7 @@ public class OrderclusterTruckController extends Controller {
/**
* ordercluster_truck -
*/
public void list(){
public void list() {
renderJson(Result.object(OrderclusterTruckService.me.list()));
}
}

View File

@ -27,6 +27,18 @@ public class OrderclusterTruckSyncService extends BaseSyncService {
return Result.failed("未找到集团订单信息");
}
// 是客户的,只能修改自己的
if (sysuser.getType() == UserTypeEnum.CUSTOMER.getTypeid()) {
if (ordercluster.getCustomerId() == null) {
return Result.failed("关联集团订单信息错误,没有关联客户信息");
} else if (sysuser.getEntityId() == null) {
return Result.failed("当前登录用户不是客户账户");
} else if (sysuser.getEntityId().equals(ordercluster.getCustomerId())) {
log.error("登录用户 entity_id: %s 和集团订单 customer_id: %s 不一致", sysuser.getEntityId(), ordercluster.getCustomerId());
return Result.failed("操作失败");
}
}
List<String> chk = new ArrayList<>();
String[] truckarr = trucks.split(",");
List<String> ts = new ArrayList<>();
@ -58,6 +70,7 @@ public class OrderclusterTruckSyncService extends BaseSyncService {
return Result.failed(StrKit.join(ts, ",") + " 车牌号在黑名单中");
}
ts.add(0, ordercluster_id + ""); // 加到查询参数里面
List<OrderclusterTruck> otlist = OrderclusterTruck.dao.find(
"select * from ordercluster_truck \n" +
" where ordercluster_id = ? \n" +
@ -88,7 +101,7 @@ public class OrderclusterTruckSyncService extends BaseSyncService {
oct.setOrderclusterId(ordercluster_id);
oct.setTruckLicense(truck_license);
synctask.addUpdateData(oct);
synctask.addSaveData(oct);
savelist.add(oct);
}

View File

@ -20,7 +20,7 @@ import java.util.Date;
/**
* Generated by COWR Sun Feb 23 21:22:12 CST 2020
* TableName: prepay_truck
* Remarks:
* Remarks:
* PrimaryKey: id
*/
public class PrepayTruckController extends BaseController {
@ -39,7 +39,7 @@ public class PrepayTruckController extends BaseController {
}
/**
* prepay_truck
* prepay_truck
*/
@Before(PrepayTruckValidator.class)
public void save() {
@ -63,7 +63,7 @@ public class PrepayTruckController extends BaseController {
}
/**
* prepay_truck
* prepay_truck
*/
@Before(PrepayTruckPKValidator.class)
public void del() {
@ -79,7 +79,7 @@ public class PrepayTruckController extends BaseController {
}
/**
* prepay_truck
* prepay_truck
*/
@Before(DayValidator.class)
public void find() {
@ -104,7 +104,7 @@ public class PrepayTruckController extends BaseController {
}
/**
* prepay_truck
* prepay_truck
*/
@Before(PrepayTruckPKValidator.class)
public void findByPk() {
@ -113,7 +113,7 @@ public class PrepayTruckController extends BaseController {
}
/**
* prepay_truck
* prepay_truck
*/
@Before(PrepayTruckPKValidator.class)
public void get() {
@ -122,7 +122,7 @@ public class PrepayTruckController extends BaseController {
}
/**
* prepay_truck
* prepay_truck
*/
public void list() {
Integer customer_id = getInt("customer_id");

View File

@ -7,6 +7,7 @@ import com.cowr.common.utils.DateTimeUtil;
import com.cowr.common.view.Result;
import com.cowr.model.*;
import com.cowr.service.ssjygl.base.BaseSyncService;
import com.cowr.service.ssjygl.main.SvrCacheData;
import com.cowr.service.ssjygl.synctask.SyncTaskService;
import com.cowr.ssjygl.modifylog.ModifyLogService;
import com.cowr.ssjygl.order.ordercluster.OrderclusterService;
@ -34,9 +35,9 @@ public class PrepayTruckSyncService extends BaseSyncService {
return Result.failed("客户信息无效");
}
Supermarket supermarket = Supermarket.dao.findById(supermarket_id);
Supermarket supermarket = SvrCacheData.SUP_CACHE.get(supermarket_id);
if (supermarket == null) {
return Result.failed("超市信息无效");
return Result.failed("砂站信息无效");
}
List<Ordercluster> undonlist = OrderclusterService.me.undonlist(supermarket_id, customer_id, DateTimeUtil.sdf.get().format(valid_date));

View File

@ -8,7 +8,7 @@ import com.jfinal.core.Controller;
/**
* Generated by COWR Sun Feb 23 21:22:13 CST 2020
* TableName: prepay_truck
* Remarks:
* Remarks:
* PrimaryKey: id
*/
public class PrepayTruckValidator extends CrudParamValidator {

View File

@ -75,7 +75,7 @@ public class OrderStatController extends BaseController {
}
/**
* /
* /
*/
@Before(MonthValidator.class)
public void monthgrid() {
@ -197,8 +197,8 @@ public class OrderStatController extends BaseController {
if (export == 0) {
renderJson(Result.object(OrderStatService.me.statTrans(tm, null, null, supermarket_id, stat_product, product_id, isprepaid)));
} else {
Workbook wb = OrderStatService.me.statTransExport("超市日销售汇总表", tm, null, null, supermarket_id, stat_product, product_id, isprepaid);
render(new ExcelRender(tm + "_超市日" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
Workbook wb = OrderStatService.me.statTransExport("砂站日销售汇总表", tm, null, null, supermarket_id, stat_product, product_id, isprepaid);
render(new ExcelRender(tm + "_砂站日" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
}
}
@ -217,8 +217,8 @@ public class OrderStatController extends BaseController {
if (export == 0) {
renderJson(Result.object(OrderStatService.me.statTrans(tm, null, null, supermarket_id, stat_product, product_id, isprepaid)));
} else {
Workbook wb = OrderStatService.me.statTransExport("超市月销售汇总表", tm, null, null, supermarket_id, stat_product, product_id, isprepaid);
render(new ExcelRender(tm + "_超市月" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
Workbook wb = OrderStatService.me.statTransExport("砂站月销售汇总表", tm, null, null, supermarket_id, stat_product, product_id, isprepaid);
render(new ExcelRender(tm + "_砂站月" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
}
}
@ -235,8 +235,8 @@ public class OrderStatController extends BaseController {
if (export == 0) {
renderJson(Result.object(OrderStatService.me.statTrans(null, stm, etm, supermarket_id, stat_product, product_id, isprepaid)));
} else {
Workbook wb = OrderStatService.me.statTransExport("超市时段销售汇总表",null, stm, etm, supermarket_id, stat_product, product_id, isprepaid);
render(new ExcelRender(stm + "_" + etm + "_超市" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
Workbook wb = OrderStatService.me.statTransExport("砂站时段销售汇总表",null, stm, etm, supermarket_id, stat_product, product_id, isprepaid);
render(new ExcelRender(stm + "_" + etm + "_砂站" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
}
}
@ -268,8 +268,8 @@ public class OrderStatController extends BaseController {
if (export == 0) {
renderJson(Result.object(OrderStatService.me.statCustomer(tm, null, null, supermarket_id, customer_id, stat_product, product_id, isprepaid)));
} else {
Workbook wb = OrderStatService.me.statCustomerExport("超市日销售汇总表", tm, null, null, supermarket_id, customer_id, stat_product, product_id, isprepaid);
render(new ExcelRender(tm + "_超市日" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
Workbook wb = OrderStatService.me.statCustomerExport("砂站日销售汇总表", tm, null, null, supermarket_id, customer_id, stat_product, product_id, isprepaid);
render(new ExcelRender(tm + "_砂站日" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
}
}
@ -300,8 +300,8 @@ public class OrderStatController extends BaseController {
if (export == 0) {
renderJson(Result.object(OrderStatService.me.statCustomer(tm, null, null, supermarket_id, customer_id, stat_product, product_id, isprepaid)));
} else {
Workbook wb = OrderStatService.me.statCustomerExport("超市月销售汇总表", tm, null, null, supermarket_id, customer_id, stat_product, product_id, isprepaid);
render(new ExcelRender(tm + "_超市月" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
Workbook wb = OrderStatService.me.statCustomerExport("砂站月销售汇总表", tm, null, null, supermarket_id, customer_id, stat_product, product_id, isprepaid);
render(new ExcelRender(tm + "_砂站月" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
}
}
@ -330,8 +330,8 @@ public class OrderStatController extends BaseController {
if (export == 0) {
renderJson(Result.object(OrderStatService.me.statCustomer(null, stm, etm, supermarket_id, customer_id, stat_product, product_id, isprepaid)));
} else {
Workbook wb = OrderStatService.me.statCustomerExport("超市时段销售汇总表",null, stm, etm, supermarket_id, customer_id, stat_product, product_id, isprepaid);
render(new ExcelRender(stm + "_" + etm + "_超市" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
Workbook wb = OrderStatService.me.statCustomerExport("砂站时段销售汇总表",null, stm, etm, supermarket_id, customer_id, stat_product, product_id, isprepaid);
render(new ExcelRender(stm + "_" + etm + "_砂站" + (isprepaid != null && isprepaid == 1 ? "预付费" : "") + "销售汇总表_" + System.currentTimeMillis() + ".xlsx", wb));
}
}
}

View File

@ -14,13 +14,13 @@ import com.jfinal.aop.Before;
/**
* Generated by COWR Mon Apr 06 09:50:28 CST 2020
* TableName: supermarket
* Remarks:
* Remarks:
* PrimaryKey: id
*/
public class SupermarketController extends BaseController {
/**
* supermarket
* supermarket
*/
@Before(SupermarketValidator.class)
public void edit(){
@ -38,7 +38,7 @@ public class SupermarketController extends BaseController {
}
/**
* supermarket
* supermarket
*/
public void find(){
PageParam pp = getBean(PageParam.class, "", true);
@ -48,7 +48,7 @@ public class SupermarketController extends BaseController {
}
/**
* supermarket
* supermarket
*/
@Before(SupermarketPKValidator.class)
public void get(){
@ -56,7 +56,7 @@ public class SupermarketController extends BaseController {
}
/**
* supermarket
* supermarket
*/
public void list(){
renderJson(Result.object(SupermarketService.me.list()));

View File

@ -20,7 +20,7 @@ public class SupermarketSyncService extends BaseSyncService {
public static SupermarketSyncService me = new SupermarketSyncService();
/**
*
*
*/
public void initSupCache() {
SvrCacheData.SUP_CACHE = new HashMap<>();
@ -31,7 +31,7 @@ public class SupermarketSyncService extends BaseSyncService {
}
/**
*
*
*
* @param supermarket_id
* @param product_id
@ -40,10 +40,10 @@ public class SupermarketSyncService extends BaseSyncService {
* @return
*/
public Result addProduct(int supermarket_id, int product_id, double unit_price, Sysuser sysuser) {
Supermarket supermarket = Supermarket.dao.findById(supermarket_id);
Supermarket supermarket = SvrCacheData.SUP_CACHE.get(supermarket_id);
if (supermarket == null) {
return Result.failed("未找到超市信息");
return Result.failed("未找到砂站信息");
}
Product product = Product.dao.findById(product_id);
@ -105,7 +105,7 @@ public class SupermarketSyncService extends BaseSyncService {
/**
*
*
*
* @param supermarket_id
* @param product_id

View File

@ -15,7 +15,7 @@ import com.jfinal.core.Controller;
/**
* Generated by COWR Mon Apr 06 21:35:28 CST 2020
* TableName: supermarket_receiver_distance
* Remarks:
* Remarks:
* PrimaryKey: supermarket_id,customer_receiver_id
*/
public class SupermarketReceiverDistanceController extends BaseController {
@ -33,7 +33,7 @@ public class SupermarketReceiverDistanceController extends BaseController {
}
/**
* supermarket_receiver_distance
* supermarket_receiver_distance
*/
@Before(SupermarketReceiverDistanceValidator.class)
public void save(){
@ -65,7 +65,7 @@ public class SupermarketReceiverDistanceController extends BaseController {
}
/**
* supermarket_receiver_distance
* supermarket_receiver_distance
*/
@Before(SupermarketReceiverDistancePKValidator.class)
public void del(){
@ -81,7 +81,7 @@ public class SupermarketReceiverDistanceController extends BaseController {
}
/**
* supermarket_receiver_distance
* supermarket_receiver_distance
*/
@Before(SupermarketReceiverDistancePKValidator.class)
public void restore(){
@ -97,7 +97,7 @@ public class SupermarketReceiverDistanceController extends BaseController {
}
/**
* supermarket_receiver_distance
* supermarket_receiver_distance
*/
@Before(SupermarketReceiverDistanceValidator.class)
public void edit(){
@ -116,7 +116,7 @@ public class SupermarketReceiverDistanceController extends BaseController {
}
/**
* supermarket_receiver_distance
* supermarket_receiver_distance
*/
public void find(){
PageParam pp = getBean(PageParam.class, "", true);
@ -127,7 +127,7 @@ public class SupermarketReceiverDistanceController extends BaseController {
}
/**
* supermarket_receiver_distance
* supermarket_receiver_distance
*/
@Before(SupermarketReceiverDistancePKValidator.class)
public void findByPk(){
@ -136,7 +136,7 @@ public class SupermarketReceiverDistanceController extends BaseController {
}
/**
* supermarket_receiver_distance
* supermarket_receiver_distance
*/
public void get(){
Integer supermarket_id = getInt("supermarket_id");
@ -145,7 +145,7 @@ public class SupermarketReceiverDistanceController extends BaseController {
}
/**
* supermarket_receiver_distance
* supermarket_receiver_distance
*/
public void list(){
Integer supermarket_id = getInt("supermarket_id");

View File

@ -3,6 +3,7 @@ package com.cowr.service.ssjygl.supermarket.receiverdistance;
import com.cowr.common.view.Result;
import com.cowr.model.*;
import com.cowr.service.ssjygl.base.BaseSyncService;
import com.cowr.service.ssjygl.main.SvrCacheData;
import java.math.BigDecimal;
@ -10,10 +11,10 @@ public class SupermarketReceiverDistanceSyncService extends BaseSyncService {
public static SupermarketReceiverDistanceSyncService me = new SupermarketReceiverDistanceSyncService();
public Result save(int customer_id, int supermarket_id, double distance, Sysuser sysuser){
Supermarket supermarket = Supermarket.dao.findById(supermarket_id);
Supermarket supermarket = SvrCacheData.SUP_CACHE.get(supermarket_id);
if(supermarket == null){
return Result.failed("未找到对应超市信息");
return Result.failed("未找到对应砂站信息");
}
Customer customer = Customer.dao.findById(customer_id);
@ -37,10 +38,10 @@ public class SupermarketReceiverDistanceSyncService extends BaseSyncService {
}
public Result update(int customer_id, int supermarket_id, double distance, Sysuser sysuser){
Supermarket supermarket = Supermarket.dao.findById(supermarket_id);
Supermarket supermarket = SvrCacheData.SUP_CACHE.get(supermarket_id);
if(supermarket == null){
return Result.failed("未找到对应超市信息");
return Result.failed("未找到对应砂站信息");
}
Customer customer = Customer.dao.findById(customer_id);
@ -76,10 +77,10 @@ public class SupermarketReceiverDistanceSyncService extends BaseSyncService {
}
public Result save(SupermarketReceiverDistance model, Sysuser sysuser){
Supermarket supermarket = Supermarket.dao.findById(model.getSupermarketId());
Supermarket supermarket = SvrCacheData.SUP_CACHE.get(model.getSupermarketId());
if(supermarket == null){
return Result.failed("未找到对应超市信息");
return Result.failed("未找到对应砂站信息");
}
CustomerReceiver cr = CustomerReceiver.dao.findById(model.getCustomerReceiverId());
@ -98,10 +99,10 @@ public class SupermarketReceiverDistanceSyncService extends BaseSyncService {
* @return
*/
public Result saveOrupdate(SupermarketReceiverDistance model, Sysuser sysuser){
Supermarket supermarket = Supermarket.dao.findById(model.getSupermarketId());
Supermarket supermarket = SvrCacheData.SUP_CACHE.get(model.getSupermarketId());
if(supermarket == null){
return Result.failed("未找到对应超市信息");
return Result.failed("未找到对应砂站信息");
}
CustomerReceiver cr = CustomerReceiver.dao.findById(model.getCustomerReceiverId());

View File

@ -3,15 +3,16 @@ package com.cowr.service.ssjygl.supermarket.sandfarmdistance;
import com.cowr.common.view.Result;
import com.cowr.model.*;
import com.cowr.service.ssjygl.base.BaseSyncService;
import com.cowr.service.ssjygl.main.SvrCacheData;
public class SupermarketSandfarmDistanceSyncService extends BaseSyncService {
public static SupermarketSandfarmDistanceSyncService me = new SupermarketSandfarmDistanceSyncService();
public Result save(SupermarketSandfarmDistance model, Sysuser sysuser) {
Supermarket supermarket = Supermarket.dao.findById(model.getSupermarketId());
Supermarket supermarket = SvrCacheData.SUP_CACHE.get(model.getSupermarketId());
if(supermarket == null){
return Result.failed("未找到对应超市信息");
return Result.failed("未找到对应砂站信息");
}
Sandfarm sandfarm = Sandfarm.dao.findById(model.getSandfarmId());

View File

@ -49,7 +49,7 @@ public class SyncTaskService {
for (Map.Entry<Integer, Supermarket> entry : SvrCacheData.SUP_CACHE.entrySet()) {
Supermarket supermarket = entry.getValue();
// 只对已经部署了客户端的超市同步数据
// 只对已经部署了客户端的砂站同步数据
if (supermarket.getIsdeploy() == 0) {
continue;
}
@ -64,7 +64,7 @@ public class SyncTaskService {
}
if (list.isEmpty()) {
log.error("没有已部署的超市"); // 没有数据插入的,直接返回 true
log.error("没有已部署的砂站"); // 没有数据插入的,直接返回 true
return true;
} else {
@ -100,7 +100,7 @@ public class SyncTaskService {
}
/**
*
*
*
* @param model
* @param supermarket_id
@ -110,6 +110,12 @@ public class SyncTaskService {
if (!isEnable()) {
return true;
}
Supermarket supermarket = SvrCacheData.SUP_CACHE.get(supermarket_id);
// 只对已经部署了客户端的砂站同步数据
if (supermarket.getIsdeploy() == 0) {
return true;
}
model.setJson(); // 使用逐步加入的数据设置数据
model.setSupermarketId(supermarket_id);
@ -213,7 +219,7 @@ public class SyncTaskService {
@Override
public boolean run() {
try {
JSONArray saveauthlics = new JSONArray(); // 授权车牌号需要推送更新到其他超市
JSONArray saveauthlics = new JSONArray(); // 授权车牌号需要推送更新到其他砂站
JSONArray deleteauthlics = new JSONArray();
if (save_data != null && !save_data.isEmpty()) {
@ -316,7 +322,7 @@ public class SyncTaskService {
}
/**
* auth_license
* auth_license
*
* @param savearr
* @param deletearr
@ -330,7 +336,7 @@ public class SyncTaskService {
for (Map.Entry<Integer, Supermarket> entry : SvrCacheData.SUP_CACHE.entrySet()) {
Supermarket supermarket = entry.getValue();
// 只对已经部署了客户端的超市同步数据
// 只对已经部署了客户端的砂站同步数据
// 从下面上报的数据,再广播出去
if (supermarket.getIsdeploy() == 0 || supermarket.getId() == current_supermarket_id) {
continue;

View File

@ -11,6 +11,7 @@ import com.cowr.model.*;
import com.cowr.service.ssjygl.base.BaseSyncService;
import com.cowr.service.ssjygl.customer.register.CustomerRegisterService;
import com.cowr.service.ssjygl.main.Config;
import com.cowr.service.ssjygl.main.SvrCacheData;
import com.cowr.service.ssjygl.synctask.SyncTaskService;
import com.cowr.ssjygl.modifylog.ModifyLogService;
import com.jfinal.kit.HashKit;
@ -51,7 +52,7 @@ public class SysuserSyncService extends BaseSyncService {
}
/**
*
*
*
* @param roleid
* @return
@ -63,7 +64,7 @@ public class SysuserSyncService extends BaseSyncService {
}
/**
*
*
*
* @param roleid
* @return
@ -75,7 +76,7 @@ public class SysuserSyncService extends BaseSyncService {
}
/**
*
*
*
* @param roleid
* @return
@ -97,7 +98,7 @@ public class SysuserSyncService extends BaseSyncService {
}
/**
* 2020-03-7
* 2020-03-7
*
*
* @param roleid
@ -109,7 +110,7 @@ public class SysuserSyncService extends BaseSyncService {
}
/**
* 2020-03-7
* 2020-03-7
*
*
* @param roleid
@ -192,7 +193,7 @@ public class SysuserSyncService extends BaseSyncService {
switch (UserTypeEnum.getUserType(model.getType())) { // 前面必须对 type 做必填、int验证保障这里不报空指针
case SUPERMARKET:
baseModel = Supermarket.dao.findById(model.getEntityId());
baseModel = SvrCacheData.SUP_CACHE.get(model.getEntityId());
break;
case TRANSCO:
baseModel = TransportCompany.dao.findById(model.getEntityId());

View File

@ -1,12 +1,12 @@
# mysql
jdbcUrl=jdbc:mysql://rm-wz9wa070076b2uge2ro.mysql.rds.aliyuncs.com:3306/ssjy_xsx_service_dev?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&useInformationSchema=true&serverTimezone=GMT%2B8&autoReconnect=true
user=ssjy_xsx
password=Ssjy_xs_890
#jdbcUrl=jdbc:mysql://rm-wz9wa070076b2uge2ro.mysql.rds.aliyuncs.com:3306/ssjy_xsx_service_dev?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&useInformationSchema=true&serverTimezone=GMT%2B8&autoReconnect=true
#user=ssjy_xsx
#password=Ssjy_xs_890
# mysql
#jdbcUrl=jdbc:mysql://192.168.1.165:3306/ssjy_xsx_service_dev?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&useInformationSchema=true&serverTimezone=GMT%2B8&autoReconnect=true
#user=root
#password=Local_1
jdbcUrl=jdbc:mysql://192.168.1.165:3306/ssjy_xsx_service_dev?characterEncoding=utf8&useSSL=false&zeroDateTimeBehavior=convertToNull&useInformationSchema=true&serverTimezone=GMT%2B8&autoReconnect=true
user=root
password=Local_1
# redis
redis.basekey=ssjcgl_xsx_dev

View File

@ -2,4 +2,10 @@
#.job 部分前面不能以 job结尾
synctask.job=com.cowr.service.ssjygl.jobs.SyncJob
synctask.cron= 0 * * * * ?
synctask.enable=true
synctask.enable=true
# 在零点检查前一天未完成的集团订单,将开始执行的置为已完成,将未开始的置为取消
checkundonordercluster.job=com.cowr.service.ssjygl.jobs.CheckUndonOrderclusterJob
#checkundonordercluster.cron= 1 0 0 * * ?
checkundonordercluster.cron= 1 0 * * * ?
checkundonordercluster.enable=true