跳转集团订单
parent
43b18cffc6
commit
b2a350944c
|
|
@ -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 存储对象
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,9 +4,9 @@ import java.util.ArrayList;
|
|||
import java.util.List;
|
||||
|
||||
/**
|
||||
100 超市管理员
|
||||
101 超市管理调度
|
||||
102 超市装卸货
|
||||
100 砂站管理员
|
||||
101 砂站管理调度
|
||||
102 砂站装卸货
|
||||
|
||||
201 物流管理人员
|
||||
202 司机
|
||||
|
|
|
|||
|
|
@ -5,14 +5,14 @@ import java.util.List;
|
|||
|
||||
/**
|
||||
type 和 role 对应,每类 type 下还会对应多个 role
|
||||
1,超市用户
|
||||
负责具体某个超市相关操作的用户需要关联某个超市
|
||||
1,砂站用户
|
||||
负责具体某个砂站相关操作的用户需要关联某个砂站
|
||||
2,物流公司用户
|
||||
需要关联物流公司
|
||||
3,用户开放注册时的用户注册,可以审核关联客户表信息,否则就是个人用户不进行customer关联
|
||||
修改操作不允许修改此字段
|
||||
4. 司机
|
||||
5. 砂石公司用户,可以查看管理全部超市情况
|
||||
5. 砂石公司用户,可以查看管理全部砂站情况
|
||||
*/
|
||||
public enum UserTypeEnum {
|
||||
CONFIG(0), // 系统配置管理
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ public abstract class BaseCctvChannels<M extends BaseCctvChannels<M>> extends Ba
|
|||
* isNullable: NO
|
||||
* isPrimaryKey: YES
|
||||
* defaultValue:
|
||||
* @param unitId 超市id,砂场id前加 s
|
||||
* @param unitId 砂站id,砂场id前加 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 超市id,砂场id前加 s
|
||||
* @return unit_id 砂站id,砂场id前加 s
|
||||
*/
|
||||
@JSONField(name="unit_id")
|
||||
public java.lang.String getUnitId() {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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,物流公司用户
|
||||
需要关联物流公司
|
||||
3,用户开放注册时的用户注册,可以审核关联客户表信息,否则就是个人用户不进行customer关联
|
||||
修改操作不允许修改此字段
|
||||
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,物流公司用户
|
||||
需要关联物流公司
|
||||
3,用户开放注册时的用户注册,可以审核关联客户表信息,否则就是个人用户不进行customer关联
|
||||
修改操作不允许修改此字段
|
||||
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 司机
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询未完成的集团订单
|
||||
* 设置已执行、剩余量
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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("金额");
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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"));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 是否预付费
|
||||
|
|
|
|||
|
|
@ -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"));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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<>(); //车辆出场识别队列,同进同出
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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()));
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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())) {
|
||||
|
|
|
|||
|
|
@ -556,7 +556,7 @@ public class TransportSyncService {
|
|||
/**
|
||||
* 手动创建出入场记录
|
||||
*
|
||||
* @param supermarket_id 超市id
|
||||
* @param supermarket_id 砂站id
|
||||
* @param truck_license 车牌号
|
||||
* @param first_weight 第一次重量
|
||||
* @param second_weight 第二次重量
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ socketserver.port=21002
|
|||
#和 web 端的 socket.io 通信端口
|
||||
socketio.port=12002
|
||||
|
||||
#当前部署本地程序的超市id
|
||||
#当前部署本地程序的砂站id
|
||||
current.supermarket_id=1
|
||||
|
||||
#打印用到的配置信息
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ socketserver.port=21002
|
|||
#和 web 端的 socket.io 通信端口
|
||||
socketio.port=12002
|
||||
|
||||
#当前部署本地程序的超市id
|
||||
#当前部署本地程序的砂站id
|
||||
current.supermarket_id=1
|
||||
|
||||
#打印用到的配置信息
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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");
|
||||
}});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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<>(); // 砂站基础信息缓存,常用配置数据,避免重复请求数据库
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 订单簇 - 集团客户订单
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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()));
|
||||
}
|
||||
}
|
||||
|
|
@ -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()));
|
||||
}
|
||||
}
|
||||
|
|
@ -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()));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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()));
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
Loading…
Reference in New Issue