调整集团订单

dev
lisai17@sina.com 2020-08-20 17:30:37 +08:00
parent 8a47eb9ddb
commit 740c681766
27 changed files with 972 additions and 221 deletions

View File

@ -4,6 +4,7 @@ import com.jfinal.kit.StrKit;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateTimeUtil {
@ -64,4 +65,29 @@ public class DateTimeUtil {
return false;
}
}
public static boolean isEarlyDate(String date, Date flag){
try {
Date d = sdf.get().parse(date);
Calendar c = Calendar.getInstance();
c.setTime(flag);
c.set(Calendar.HOUR_OF_DAY,0);
c.set(Calendar.MINUTE,0);
c.set(Calendar.SECOND,0);
c.set(Calendar.MILLISECOND,0);
return d.getTime() < c.getTime().getTime();
}catch (Exception e){
return false;
}
}
/**
*
* @param date
* @return
*/
public static boolean isEarlyToday(String date){
return isEarlyDate(date, new Date());
}
}

View File

@ -5,7 +5,7 @@ import com.jfinal.plugin.activerecord.IBean;
import com.alibaba.fastjson.annotation.JSONField;
/**
* Generated by COWR Sun May 17 21:43:18 CST 2020
* Generated by COWR Thu Aug 20 11:16:08 CST 2020
* TableName: customer
* Remarks: -
* PrimaryKey: id
@ -262,5 +262,27 @@ public abstract class BaseCustomer<M extends BaseCustomer<M>> extends BaseModel<
return getInt("type");
}
/**
* name: invoice_type
* type: INT(10)
* isNullable: NO
* isPrimaryKey: NO
* defaultValue: 1
* @param invoiceType 1.2.
*/
@JSONField(name="invoice_type")
public void setInvoiceType(Integer invoiceType) {
set("invoice_type", invoiceType);
}
/**
* @return invoice_type 1.2.
*/
@JSONField(name="invoice_type")
public Integer getInvoiceType() {
return getInt("invoice_type");
}
}

View File

@ -5,9 +5,9 @@ import com.jfinal.plugin.activerecord.IBean;
import com.alibaba.fastjson.annotation.JSONField;
/**
* Generated by COWR Fri Apr 17 16:59:35 CST 2020
* Generated by COWR Thu Aug 20 14:45:13 CST 2020
* TableName: ordercluster
* Remarks: -
* Remarks: -
* PrimaryKey: id
*/
@SuppressWarnings("serial")
@ -29,7 +29,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param id
*/
@JSONField(name="id")
public void setId(java.lang.Integer id) {
public void setId(Integer id) {
set("id", id);
}
@ -38,7 +38,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return id
*/
@JSONField(name="id")
public java.lang.Integer getId() {
public Integer getId() {
return getInt("id");
}
@ -51,7 +51,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param uuid UUID
*/
@JSONField(name="uuid")
public void setUuid(java.lang.String uuid) {
public void setUuid(String uuid) {
set("uuid", uuid);
}
@ -60,7 +60,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return uuid UUID
*/
@JSONField(name="uuid")
public java.lang.String getUuid() {
public String getUuid() {
return getStr("uuid");
}
@ -136,7 +136,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* isNullable: NO
* isPrimaryKey: NO
* defaultValue:
* @param cutoffTime
* @param cutoffTime
*/
@JSONField(name="cutoff_time")
public void setCutoffTime(java.util.Date cutoffTime) {
@ -145,7 +145,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
/**
* @return cutoff_time
* @return cutoff_time
*/
@JSONField(name="cutoff_time")
public java.util.Date getCutoffTime() {
@ -177,10 +177,10 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
/**
* name: unit_price
* type: DECIMAL(12,2)
* isNullable: NO
* isNullable: YES
* isPrimaryKey: NO
* defaultValue:
* @param unitPrice
* @param unitPrice
*/
@JSONField(name="unit_price")
public void setUnitPrice(java.math.BigDecimal unitPrice) {
@ -189,7 +189,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
/**
* @return unit_price
* @return unit_price
*/
@JSONField(name="unit_price")
public java.math.BigDecimal getUnitPrice() {
@ -205,7 +205,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param state 1., 2. 5.9.
*/
@JSONField(name="state")
public void setState(java.lang.Integer state) {
public void setState(Integer state) {
set("state", state);
}
@ -214,7 +214,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return state 1., 2. 5.9.
*/
@JSONField(name="state")
public java.lang.Integer getState() {
public Integer getState() {
return getInt("state");
}
@ -227,7 +227,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param supermarketId id
*/
@JSONField(name="supermarket_id")
public void setSupermarketId(java.lang.Integer supermarketId) {
public void setSupermarketId(Integer supermarketId) {
set("supermarket_id", supermarketId);
}
@ -236,7 +236,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return supermarket_id id
*/
@JSONField(name="supermarket_id")
public java.lang.Integer getSupermarketId() {
public Integer getSupermarketId() {
return getInt("supermarket_id");
}
@ -271,7 +271,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param payType 1 2线
*/
@JSONField(name="pay_type")
public void setPayType(java.lang.Integer payType) {
public void setPayType(Integer payType) {
set("pay_type", payType);
}
@ -280,7 +280,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return pay_type 1 2线
*/
@JSONField(name="pay_type")
public java.lang.Integer getPayType() {
public Integer getPayType() {
return getInt("pay_type");
}
@ -293,7 +293,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param createUserId id
*/
@JSONField(name="create_user_id")
public void setCreateUserId(java.lang.Integer createUserId) {
public void setCreateUserId(Integer createUserId) {
set("create_user_id", createUserId);
}
@ -302,7 +302,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return create_user_id id
*/
@JSONField(name="create_user_id")
public java.lang.Integer getCreateUserId() {
public Integer getCreateUserId() {
return getInt("create_user_id");
}
@ -315,7 +315,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param createUserName
*/
@JSONField(name="create_user_name")
public void setCreateUserName(java.lang.String createUserName) {
public void setCreateUserName(String createUserName) {
set("create_user_name", createUserName);
}
@ -324,7 +324,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return create_user_name
*/
@JSONField(name="create_user_name")
public java.lang.String getCreateUserName() {
public String getCreateUserName() {
return getStr("create_user_name");
}
@ -337,7 +337,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param reqReceipt 0 1
*/
@JSONField(name="req_receipt")
public void setReqReceipt(java.lang.Integer reqReceipt) {
public void setReqReceipt(Integer reqReceipt) {
set("req_receipt", reqReceipt);
}
@ -346,7 +346,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return req_receipt 0 1
*/
@JSONField(name="req_receipt")
public java.lang.Integer getReqReceipt() {
public Integer getReqReceipt() {
return getInt("req_receipt");
}
@ -375,13 +375,13 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
/**
* name: product_id
* type: INT(10)
* isNullable: YES
* isNullable: NO
* isPrimaryKey: NO
* defaultValue:
* @param productId id
*/
@JSONField(name="product_id")
public void setProductId(java.lang.Integer productId) {
public void setProductId(Integer productId) {
set("product_id", productId);
}
@ -390,20 +390,20 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return product_id id
*/
@JSONField(name="product_id")
public java.lang.Integer getProductId() {
public Integer getProductId() {
return getInt("product_id");
}
/**
* name: product_name
* type: VARCHAR(255)
* isNullable: YES
* isNullable: NO
* isPrimaryKey: NO
* defaultValue:
* @param productName
*/
@JSONField(name="product_name")
public void setProductName(java.lang.String productName) {
public void setProductName(String productName) {
set("product_name", productName);
}
@ -412,20 +412,20 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return product_name
*/
@JSONField(name="product_name")
public java.lang.String getProductName() {
public String getProductName() {
return getStr("product_name");
}
/**
* name: customer_id
* type: INT(10)
* isNullable: YES
* isNullable: NO
* isPrimaryKey: NO
* defaultValue:
* @param customerId
*/
@JSONField(name="customer_id")
public void setCustomerId(java.lang.Integer customerId) {
public void setCustomerId(Integer customerId) {
set("customer_id", customerId);
}
@ -434,7 +434,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return customer_id
*/
@JSONField(name="customer_id")
public java.lang.Integer getCustomerId() {
public Integer getCustomerId() {
return getInt("customer_id");
}
@ -447,7 +447,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param customerName
*/
@JSONField(name="customer_name")
public void setCustomerName(java.lang.String customerName) {
public void setCustomerName(String customerName) {
set("customer_name", customerName);
}
@ -456,7 +456,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return customer_name
*/
@JSONField(name="customer_name")
public java.lang.String getCustomerName() {
public String getCustomerName() {
return getStr("customer_name");
}
@ -469,7 +469,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param customerTexpayerName
*/
@JSONField(name="customer_texpayer_name")
public void setCustomerTexpayerName(java.lang.String customerTexpayerName) {
public void setCustomerTexpayerName(String customerTexpayerName) {
set("customer_texpayer_name", customerTexpayerName);
}
@ -478,7 +478,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return customer_texpayer_name
*/
@JSONField(name="customer_texpayer_name")
public java.lang.String getCustomerTexpayerName() {
public String getCustomerTexpayerName() {
return getStr("customer_texpayer_name");
}
@ -491,7 +491,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param customerTexpayerNum
*/
@JSONField(name="customer_texpayer_num")
public void setCustomerTexpayerNum(java.lang.String customerTexpayerNum) {
public void setCustomerTexpayerNum(String customerTexpayerNum) {
set("customer_texpayer_num", customerTexpayerNum);
}
@ -500,7 +500,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return customer_texpayer_num
*/
@JSONField(name="customer_texpayer_num")
public java.lang.String getCustomerTexpayerNum() {
public String getCustomerTexpayerNum() {
return getStr("customer_texpayer_num");
}
@ -513,7 +513,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param customerAddress
*/
@JSONField(name="customer_address")
public void setCustomerAddress(java.lang.String customerAddress) {
public void setCustomerAddress(String customerAddress) {
set("customer_address", customerAddress);
}
@ -522,7 +522,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return customer_address
*/
@JSONField(name="customer_address")
public java.lang.String getCustomerAddress() {
public String getCustomerAddress() {
return getStr("customer_address");
}
@ -535,7 +535,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param customerPhone
*/
@JSONField(name="customer_phone")
public void setCustomerPhone(java.lang.String customerPhone) {
public void setCustomerPhone(String customerPhone) {
set("customer_phone", customerPhone);
}
@ -544,7 +544,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return customer_phone
*/
@JSONField(name="customer_phone")
public java.lang.String getCustomerPhone() {
public String getCustomerPhone() {
return getStr("customer_phone");
}
@ -557,7 +557,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param customerBankName
*/
@JSONField(name="customer_bank_name")
public void setCustomerBankName(java.lang.String customerBankName) {
public void setCustomerBankName(String customerBankName) {
set("customer_bank_name", customerBankName);
}
@ -566,7 +566,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return customer_bank_name
*/
@JSONField(name="customer_bank_name")
public java.lang.String getCustomerBankName() {
public String getCustomerBankName() {
return getStr("customer_bank_name");
}
@ -579,7 +579,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param customerBankAccount
*/
@JSONField(name="customer_bank_account")
public void setCustomerBankAccount(java.lang.String customerBankAccount) {
public void setCustomerBankAccount(String customerBankAccount) {
set("customer_bank_account", customerBankAccount);
}
@ -588,7 +588,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return customer_bank_account
*/
@JSONField(name="customer_bank_account")
public java.lang.String getCustomerBankAccount() {
public String getCustomerBankAccount() {
return getStr("customer_bank_account");
}
@ -601,7 +601,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param customerReceiverName
*/
@JSONField(name="customer_receiver_name")
public void setCustomerReceiverName(java.lang.String customerReceiverName) {
public void setCustomerReceiverName(String customerReceiverName) {
set("customer_receiver_name", customerReceiverName);
}
@ -610,7 +610,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return customer_receiver_name
*/
@JSONField(name="customer_receiver_name")
public java.lang.String getCustomerReceiverName() {
public String getCustomerReceiverName() {
return getStr("customer_receiver_name");
}
@ -623,7 +623,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param customerReceiverPhone
*/
@JSONField(name="customer_receiver_phone")
public void setCustomerReceiverPhone(java.lang.String customerReceiverPhone) {
public void setCustomerReceiverPhone(String customerReceiverPhone) {
set("customer_receiver_phone", customerReceiverPhone);
}
@ -632,7 +632,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return customer_receiver_phone
*/
@JSONField(name="customer_receiver_phone")
public java.lang.String getCustomerReceiverPhone() {
public String getCustomerReceiverPhone() {
return getStr("customer_receiver_phone");
}
@ -645,7 +645,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param customerReceiverAddress
*/
@JSONField(name="customer_receiver_address")
public void setCustomerReceiverAddress(java.lang.String customerReceiverAddress) {
public void setCustomerReceiverAddress(String customerReceiverAddress) {
set("customer_receiver_address", customerReceiverAddress);
}
@ -654,7 +654,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return customer_receiver_address
*/
@JSONField(name="customer_receiver_address")
public java.lang.String getCustomerReceiverAddress() {
public String getCustomerReceiverAddress() {
return getStr("customer_receiver_address");
}
@ -711,7 +711,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param transCoId
*/
@JSONField(name="trans_co_id")
public void setTransCoId(java.lang.Integer transCoId) {
public void setTransCoId(Integer transCoId) {
set("trans_co_id", transCoId);
}
@ -720,7 +720,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return trans_co_id
*/
@JSONField(name="trans_co_id")
public java.lang.Integer getTransCoId() {
public Integer getTransCoId() {
return getInt("trans_co_id");
}
@ -733,7 +733,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param transCoName
*/
@JSONField(name="trans_co_name")
public void setTransCoName(java.lang.String transCoName) {
public void setTransCoName(String transCoName) {
set("trans_co_name", transCoName);
}
@ -742,7 +742,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return trans_co_name
*/
@JSONField(name="trans_co_name")
public java.lang.String getTransCoName() {
public String getTransCoName() {
return getStr("trans_co_name");
}
@ -755,7 +755,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param transCoTexpayerName
*/
@JSONField(name="trans_co_texpayer_name")
public void setTransCoTexpayerName(java.lang.String transCoTexpayerName) {
public void setTransCoTexpayerName(String transCoTexpayerName) {
set("trans_co_texpayer_name", transCoTexpayerName);
}
@ -764,7 +764,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return trans_co_texpayer_name
*/
@JSONField(name="trans_co_texpayer_name")
public java.lang.String getTransCoTexpayerName() {
public String getTransCoTexpayerName() {
return getStr("trans_co_texpayer_name");
}
@ -777,7 +777,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param transCoTexpayerNum
*/
@JSONField(name="trans_co_texpayer_num")
public void setTransCoTexpayerNum(java.lang.String transCoTexpayerNum) {
public void setTransCoTexpayerNum(String transCoTexpayerNum) {
set("trans_co_texpayer_num", transCoTexpayerNum);
}
@ -786,7 +786,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return trans_co_texpayer_num
*/
@JSONField(name="trans_co_texpayer_num")
public java.lang.String getTransCoTexpayerNum() {
public String getTransCoTexpayerNum() {
return getStr("trans_co_texpayer_num");
}
@ -799,7 +799,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param transCoAddress
*/
@JSONField(name="trans_co_address")
public void setTransCoAddress(java.lang.String transCoAddress) {
public void setTransCoAddress(String transCoAddress) {
set("trans_co_address", transCoAddress);
}
@ -808,7 +808,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return trans_co_address
*/
@JSONField(name="trans_co_address")
public java.lang.String getTransCoAddress() {
public String getTransCoAddress() {
return getStr("trans_co_address");
}
@ -821,7 +821,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param transCoPhone
*/
@JSONField(name="trans_co_phone")
public void setTransCoPhone(java.lang.String transCoPhone) {
public void setTransCoPhone(String transCoPhone) {
set("trans_co_phone", transCoPhone);
}
@ -830,7 +830,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return trans_co_phone
*/
@JSONField(name="trans_co_phone")
public java.lang.String getTransCoPhone() {
public String getTransCoPhone() {
return getStr("trans_co_phone");
}
@ -843,7 +843,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param transCoBankName
*/
@JSONField(name="trans_co_bank_name")
public void setTransCoBankName(java.lang.String transCoBankName) {
public void setTransCoBankName(String transCoBankName) {
set("trans_co_bank_name", transCoBankName);
}
@ -852,7 +852,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return trans_co_bank_name
*/
@JSONField(name="trans_co_bank_name")
public java.lang.String getTransCoBankName() {
public String getTransCoBankName() {
return getStr("trans_co_bank_name");
}
@ -865,7 +865,7 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @param transCoBankAccount
*/
@JSONField(name="trans_co_bank_account")
public void setTransCoBankAccount(java.lang.String transCoBankAccount) {
public void setTransCoBankAccount(String transCoBankAccount) {
set("trans_co_bank_account", transCoBankAccount);
}
@ -874,9 +874,53 @@ public abstract class BaseOrdercluster<M extends BaseOrdercluster<M>> extends Ba
* @return trans_co_bank_account
*/
@JSONField(name="trans_co_bank_account")
public java.lang.String getTransCoBankAccount() {
public String getTransCoBankAccount() {
return getStr("trans_co_bank_account");
}
/**
* name: time_interval
* type: SMALLINT(5)
* isNullable: NO
* isPrimaryKey: NO
* defaultValue: 1
* @param timeInterval 1.2.3.
*/
@JSONField(name="time_interval")
public void setTimeInterval(Integer timeInterval) {
set("time_interval", timeInterval);
}
/**
* @return time_interval 1.2.3.
*/
@JSONField(name="time_interval")
public Integer getTimeInterval() {
return getInt("time_interval");
}
/**
* name: mini_truck
* type: INT(10)
* isNullable: NO
* isPrimaryKey: NO
* defaultValue: 1
* @param miniTruck
*/
@JSONField(name="mini_truck")
public void setMiniTruck(Integer miniTruck) {
set("mini_truck", miniTruck);
}
/**
* @return mini_truck
*/
@JSONField(name="mini_truck")
public Integer getMiniTruck() {
return getInt("mini_truck");
}
}

View File

@ -5,7 +5,7 @@ import com.jfinal.plugin.activerecord.IBean;
import com.alibaba.fastjson.annotation.JSONField;
/**
* Generated by COWR Fri Apr 17 16:59:35 CST 2020
* Generated by COWR Thu Aug 20 11:16:08 CST 2020
* TableName: supermarket
* Remarks: -
* PrimaryKey: id
@ -29,7 +29,7 @@ public abstract class BaseSupermarket<M extends BaseSupermarket<M>> extends Base
* @param id
*/
@JSONField(name="id")
public void setId(java.lang.Integer id) {
public void setId(Integer id) {
set("id", id);
}
@ -38,7 +38,7 @@ public abstract class BaseSupermarket<M extends BaseSupermarket<M>> extends Base
* @return id
*/
@JSONField(name="id")
public java.lang.Integer getId() {
public Integer getId() {
return getInt("id");
}
@ -51,7 +51,7 @@ public abstract class BaseSupermarket<M extends BaseSupermarket<M>> extends Base
* @param name
*/
@JSONField(name="name")
public void setName(java.lang.String name) {
public void setName(String name) {
set("name", name);
}
@ -60,7 +60,7 @@ public abstract class BaseSupermarket<M extends BaseSupermarket<M>> extends Base
* @return name
*/
@JSONField(name="name")
public java.lang.String getName() {
public String getName() {
return getStr("name");
}
@ -73,7 +73,7 @@ public abstract class BaseSupermarket<M extends BaseSupermarket<M>> extends Base
* @param name2
*/
@JSONField(name="name2")
public void setName2(java.lang.String name2) {
public void setName2(String name2) {
set("name2", name2);
}
@ -82,7 +82,7 @@ public abstract class BaseSupermarket<M extends BaseSupermarket<M>> extends Base
* @return name2
*/
@JSONField(name="name2")
public java.lang.String getName2() {
public String getName2() {
return getStr("name2");
}
@ -139,7 +139,7 @@ public abstract class BaseSupermarket<M extends BaseSupermarket<M>> extends Base
* @param address
*/
@JSONField(name="address")
public void setAddress(java.lang.String address) {
public void setAddress(String address) {
set("address", address);
}
@ -148,7 +148,7 @@ public abstract class BaseSupermarket<M extends BaseSupermarket<M>> extends Base
* @return address
*/
@JSONField(name="address")
public java.lang.String getAddress() {
public String getAddress() {
return getStr("address");
}
@ -161,7 +161,7 @@ public abstract class BaseSupermarket<M extends BaseSupermarket<M>> extends Base
* @param phone
*/
@JSONField(name="phone")
public void setPhone(java.lang.String phone) {
public void setPhone(String phone) {
set("phone", phone);
}
@ -170,7 +170,7 @@ public abstract class BaseSupermarket<M extends BaseSupermarket<M>> extends Base
* @return phone
*/
@JSONField(name="phone")
public java.lang.String getPhone() {
public String getPhone() {
return getStr("phone");
}
@ -183,7 +183,7 @@ public abstract class BaseSupermarket<M extends BaseSupermarket<M>> extends Base
* @param del
*/
@JSONField(name="del")
public void setDel(java.lang.Integer del) {
public void setDel(Integer del) {
set("del", del);
}
@ -192,7 +192,7 @@ public abstract class BaseSupermarket<M extends BaseSupermarket<M>> extends Base
* @return del
*/
@JSONField(name="del")
public java.lang.Integer getDel() {
public Integer getDel() {
return getInt("del");
}
@ -206,7 +206,7 @@ public abstract class BaseSupermarket<M extends BaseSupermarket<M>> extends Base
线
*/
@JSONField(name="isdeploy")
public void setIsdeploy(java.lang.Integer isdeploy) {
public void setIsdeploy(Integer isdeploy) {
set("isdeploy", isdeploy);
}
@ -216,9 +216,31 @@ public abstract class BaseSupermarket<M extends BaseSupermarket<M>> extends Base
线
*/
@JSONField(name="isdeploy")
public java.lang.Integer getIsdeploy() {
public Integer getIsdeploy() {
return getInt("isdeploy");
}
/**
* name: invoice_type
* type: INT(10)
* isNullable: NO
* isPrimaryKey: NO
* defaultValue: 1
* @param invoiceType 1.2.
*/
@JSONField(name="invoice_type")
public void setInvoiceType(Integer invoiceType) {
set("invoice_type", invoiceType);
}
/**
* @return invoice_type 1.2.
*/
@JSONField(name="invoice_type")
public Integer getInvoiceType() {
return getInt("invoice_type");
}
}

View File

@ -25,9 +25,20 @@ public class CustomerValidator extends CrudParamValidator {
validateString("address", 0, 256, "address", "address 长度 0~256");
validateString("phone", 0, 11, "phone", "phone 长度 0~11");
validateString("texpayer_name", 0, 255, "texpayer_name", "texpayer_name 长度 0~255");
validateString("texpayer_num", 0, 20, "texpayer_num", "texpayer_num 长度 0~20");
validateString("bank_name", 0, 128, "bank_name", "bank_name 长度 0~128");
validateString("bank_account", 0, 20, "bank_account", "bank_account 长度 0~20");
if (StrKit.notBlank(c.get("invoice_type"))) {
validateInteger("invoice_type", 1, 2, "invoice_type", "invoice_type 范围 1~2");
if(c.getInt("invoice_type") == 2){
validateString("texpayer_num", 1, 20, "texpayer_num", "开具专票必须录入有效纳税人识别号");
validateString("bank_name", 1, 128, "bank_name", "开具专票必须录入有效开户行信息");
validateString("bank_account", 1, 20, "bank_account", "开具专票必须录入有效开户行账号");
}
}
validateString("memo", 0, 256, "memo", "memo 长度 0~256");
// 使用 model 更新时model 不能只有主键有值

View File

@ -108,13 +108,30 @@ public class OrderclusterService extends BaseService {
}
/**
*
*
*
* @param supermarket_id
* @param customer_id
* @return
*/
public List<Record> undoneOrdercluster(int supermarket_id, Integer customer_id) {
public List<Record> undonlist(int supermarket_id, Integer customer_id, String date) {
String sql = "select * from ordercluster t \n" +
" where t.state < ? \n" +
" and t.supermarket_id = ? \n" +
" and t.customer_id = ? \n" +
" and t.cutoff_time like ? \n";
return Db.find(sql, OrderStateEnum.RECEIVED.getStateid(), supermarket_id, customer_id, date + "%");
}
/**
*
*
* @param supermarket_id
* @param customer_id
* @return
*/
public List<Record> undonlist(int supermarket_id, Integer customer_id) {
String sql = "select * from ordercluster t \n" +
" where t.state < ? \n" +
" and t.supermarket_id = ? \n";
@ -127,7 +144,19 @@ public class OrderclusterService extends BaseService {
paraList.add(customer_id);
}
List<Record> list = Db.find(sql, paraList.toArray());
return Db.find(sql, paraList.toArray());
}
/**
*
*
*
* @param supermarket_id
* @param customer_id
* @return
*/
public List<Record> undoneOrdercluster(int supermarket_id, Integer customer_id) {
List<Record> list = undonlist(supermarket_id, customer_id);
setOverWeight(list);

View File

@ -1,5 +1,6 @@
package com.cowr.ssjygl.order.ordercluster;
import com.cowr.common.utils.DateTimeUtil;
import com.cowr.common.utils.StrUtil;
import com.jfinal.core.Controller;
import com.jfinal.kit.StrKit;
@ -10,7 +11,7 @@ import com.cowr.model.Ordercluster;
/**
* Generated by COWR Fri Apr 17 16:59:39 CST 2020
* TableName: ordercluster
* Remarks: -
* Remarks: -
* PrimaryKey: id
*/
public class OrderclusterValidator extends CrudParamValidator {
@ -33,6 +34,10 @@ public class OrderclusterValidator extends CrudParamValidator {
validateString("cutoff_time", 1, 19, "cutoff_time", "cutoff_time 长度 1~19");
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");
validateInteger("pay_type", 0, 1, "pay_type", "pay_type 范围 0~1");
validateInteger("req_receipt", 0, 1, "req_receipt", "req_receipt 范围 0~1");
@ -53,6 +58,8 @@ public class OrderclusterValidator extends CrudParamValidator {
validateBigDecimal("customer_receiver_lttd", new java.math.BigDecimal(3.75), new java.math.BigDecimal(53.7), "customer_receiver_lttd", "customer_receiver_lttd 范围 3.75~53.7");
}
validateInteger("time_interval", 1, 3, "time_interval", "time_interval 范围 1~3");
validateInteger("mini_truck", 1, 2147483647, "mini_truck", "mini_truck 范围 1~2147483647");
// 使用 model 更新时model 不能只有主键有值
// 这里用 getActionMethodName 写死,判断是 update 时,才做验证

View File

@ -26,12 +26,6 @@ import java.util.Map;
public class SupermarketService extends BaseService {
public static final SupermarketService me = new SupermarketService();
public BigDecimal getSupUnitPrice(Integer supermarket_id, Integer product_id){
SupermarketProduct sp = SupermarketProduct.dao.findByIds(supermarket_id, product_id);
return sp == null ? new BigDecimal(0) : sp.getUnitPrice();
}
/**
*
*

View File

@ -20,13 +20,16 @@ public class SupermarketValidator extends CrudParamValidator {
validateRequired("id", "id", "id 必填");
validateInteger("id", 1, 2147483647, "id", "id 范围 1~2147483647");
}
validateString("name", 1, 128, "name", "name 长度 1~128");
validateString("name2", 0, 128, "name2", "name2 长度 0~128");
validateBigDecimal("lgtd", new java.math.BigDecimal(74), new java.math.BigDecimal(135), "lgtd", "lgtd 范围 74~135");
validateBigDecimal("lttd", new java.math.BigDecimal(3.75), new java.math.BigDecimal(53.7), "lttd", "lttd 范围 3.75~53.7");
validateString("address", 0, 256, "address", "address 长度 0~256");
if (StrKit.notBlank(c.get("invoice_type"))) {
validateInteger("invoice_type", 1, 2, "invoice_type", "invoice_type 范围 1~2");
}
validateString("phone", 0, 11, "phone", "phone 长度 0~11");
// 使用 model 更新时model 不能只有主键有值

View File

@ -1,4 +1,4 @@
package com.cowr.local.ssjygl.supermarket.product;
package com.cowr.ssjygl.supermarket.product;
import com.cowr.common.Const;
import com.cowr.common.base.BaseService;

View File

@ -0,0 +1,267 @@
package com.cowr.local.ssjygl.devicectrl.device;
import com.jfinal.log.Log;
import org.apache.poi.util.HexDump;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.nio.charset.Charset;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.locks.ReentrantLock;
public class LEDThread extends Device implements Runnable {
private static Log log = Log.getLog(LED.class);
private static final String LEDWeightFormat = "%s\\n %s \\n重: %s吨";
private static final String LEDInfoFormat = "%s\\n %s \\n%s";
private String license = "";
private String text = "系统启动";
private String format = LEDInfoFormat;
private boolean running = true;
public void setRunning(boolean running) {
this.running = running;
}
public void setInfo(String license, String text) {
this.license = license;
this.text = text;
this.format = LEDInfoFormat;
}
public void setWeightInfo(String license, String text) {
this.license = license;
this.text = text;
this.format = LEDWeightFormat;
}
private static final ThreadLocal<SimpleDateFormat> sdf = new ThreadLocal<SimpleDateFormat>() {
protected SimpleDateFormat initialValue() {
return new SimpleDateFormat("MM-dd HH:mm");
}
};
private ReentrantLock lock = new ReentrantLock();
protected Socket socket;
public LEDThread(String id, String ip) {
super(id, ip);
}
public LEDThread(String id, String ip, int port) {
super(id, ip, port);
}
@Override
public void run() {
while (this.running){
try {
screen();
Thread.sleep(1000);
}catch (Exception e){
log.error(e.getMessage(), e);
}
System.out.println("running" + running);
}
System.out.println("led 线程退出");
}
public void screen() {
lock.lock();
try {
if (this.license == null) {
return;
}
// 重连一次
if (!isConnected()) {
connect();
}
String date = sdf.get().format(new Date());
String dataStr = String.format(this.format, date, this.license, this.text);
byte[] data = dataStr.getBytes(Charset.forName("gb2312"));
int dataLen = data.length;
byte[] msg = new byte[frameHead.length + packetHead.length + b.length + dataLen];
System.arraycopy(frameHead, 0, msg, 0, frameHead.length);
// System.out.println(HexDump.toHex(msg));
packetHead[packetHead.length - 2] = (byte) (b.length + dataLen);
System.arraycopy(packetHead, 0, msg, frameHead.length, packetHead.length);
// System.out.println(HexDump.toHex(msg));
int areaLen = b.length - 9 + dataLen;
b[7] = (byte) areaLen;
b[32] = (byte) dataLen;
System.arraycopy(b, 0, msg, packetHead.length + frameHead.length, b.length);
// System.out.println(HexDump.toHex(msg));
System.arraycopy(data, 0, msg, packetHead.length + frameHead.length + b.length, dataLen);
// System.out.println(HexDump.toHex(msg));
byte[] toCrc = new byte[msg.length - 8];
System.arraycopy(msg, 8, toCrc, 0, toCrc.length);
int crc = CalcCRC(toCrc, toCrc.length);
byte[] msgCrc = new byte[msg.length + 3];
System.arraycopy(msg, 0, msgCrc, 0, msg.length);
// System.out.println(HexDump.toHex(msgCrc));
msgCrc[msgCrc.length - 2] = (byte) (crc >> 8);
msgCrc[msgCrc.length - 3] = (byte) crc;
msgCrc[msgCrc.length - 1] = frameTail;
// System.out.println(HexDump.toHex(msgCrc));
socket.getOutputStream().write(msgCrc);
socket.getOutputStream().flush();
InputStream in = socket.getInputStream();
byte[] buf = new byte[in.available()];
in.read(buf);
// LED 返回
// BufferedInputStream bis = new BufferedInputStream(socket.getInputStream());
// byte[] y = new byte[128];
// int read = bis.read(y);
// while (!(read > 0)) {
// read = bis.read(y);
// }
// byte[] z = new byte[read];
// System.arraycopy(y, 0, z, 0, read);
// System.out.println("LED 返回:");
// System.out.println(HexDump.toHex(z));
// socket.close();
} catch (Exception e) {
log.error(e.getMessage(), e);
} finally {
lock.unlock();
}
}
private static byte[] frameHead = new byte[]{(byte) 0xa5, (byte) 0xa5, (byte) 0xa5, (byte) 0xa5, (byte) 0xa5, (byte) 0xa5, (byte) 0xa5, (byte) 0xa5};
private static byte[] packetHead = new byte[]{
(byte) 0xfe, (byte) 0xff,//屏号
0x00, (byte) 0x80, //客户端
0x00, 0x00, 0x00, //Reserved
0x00, //option
0x00, //CheckMode
0x00,//DisplayMode
0x61, //设备型号
0x02,//协议版本
0x00, 0x00//datalen
};
private static byte[] b = new byte[]{
(byte) 0xa3,//指令分组,发送实时显示区域数据
0x06,//结合上一个
0x01,//0x01需要回复,0x02不用回复
0x00,//ProcessMode,无用
0x00,//Reserved
0x00,//删除编号区域,无用
0x01,//本次命令更新区域个数
0x00, 0x00,//区域0数据长度动态计算,下标9~len-1
//区域0数据
0x00,//AreaType,未知
0x00, (byte) 0x80, //AreaX
0x00, 0x00, //AreaY
0x60, (byte) 0x80,//width
0x30, 0x00,//height
0x00,//DynamicAreaLoc
0x00,//Lines_sizes
0x01,//Runmode
0x02, 0x00, //timeout
0x00,//sound mode
0x00, 0x00,////Reserved
0x02,//多行,0x01单行
0x01,//手动换行
0x02,//display mod 静止
0x00,//exit mod
0x02,//speed
0x00,//stay time
0x00, 0x00, 0x00, 0x00,//data len, 下标31,32,33,34
//data
//...区域n数据长度,区域n数据,无用
};
private static byte[] ping = new byte[]{
0x05, 0x00,//长度
(byte) 0xa2,
0x00,
0x01,
0x00, 0x00
};
private static byte frameTail = 0x5a;
private static int CRC(int crc, byte b) {
return (((crc) >> 8) ^ tabel[((crc) ^ (int) (b)) & 0XFF]);
}
private static int[] tabel = new int[]{0X0000, 0XC0C1, 0XC181, 0X0140, 0XC301, 0X03C0, 0X0280, 0XC241, 0XC601, 0X06C0, 0X0780, 0XC741, 0X0500, 0XC5C1, 0XC481, 0X0440, 0XCC01, 0X0CC0, 0X0D80, 0XCD41, 0X0F00, 0XCFC1, 0XCE81, 0X0E40, 0X0A00, 0XCAC1, 0XCB81, 0X0B40, 0XC901, 0X09C0, 0X0880, 0XC841, 0XD801, 0X18C0, 0X1980, 0XD941, 0X1B00, 0XDBC1, 0XDA81, 0X1A40, 0X1E00, 0XDEC1, 0XDF81, 0X1F40, 0XDD01, 0X1DC0, 0X1C80, 0XDC41, 0X1400, 0XD4C1, 0XD581, 0X1540, 0XD701, 0X17C0, 0X1680, 0XD641, 0XD201, 0X12C0, 0X1380, 0XD341, 0X1100, 0XD1C1, 0XD081, 0X1040, 0XF001, 0X30C0, 0X3180, 0XF141, 0X3300, 0XF3C1, 0XF281, 0X3240, 0X3600, 0XF6C1, 0XF781, 0X3740, 0XF501, 0X35C0, 0X3480, 0XF441, 0X3C00, 0XFCC1, 0XFD81, 0X3D40, 0XFF01, 0X3FC0, 0X3E80, 0XFE41, 0XFA01, 0X3AC0, 0X3B80, 0XFB41, 0X3900, 0XF9C1, 0XF881, 0X3840, 0X2800, 0XE8C1, 0XE981, 0X2940, 0XEB01, 0X2BC0, 0X2A80, 0XEA41, 0XEE01, 0X2EC0, 0X2F80, 0XEF41, 0X2D00, 0XEDC1, 0XEC81, 0X2C40, 0XE401, 0X24C0, 0X2580, 0XE541, 0X2700, 0XE7C1, 0XE681, 0X2640, 0X2200, 0XE2C1, 0XE381, 0X2340, 0XE101, 0X21C0, 0X2080, 0XE041, 0XA001, 0X60C0, 0X6180, 0XA141, 0X6300, 0XA3C1, 0XA281, 0X6240, 0X6600, 0XA6C1, 0XA781, 0X6740, 0XA501, 0X65C0, 0X6480, 0XA441, 0X6C00, 0XACC1, 0XAD81, 0X6D40, 0XAF01, 0X6FC0, 0X6E80, 0XAE41, 0XAA01, 0X6AC0, 0X6B80, 0XAB41, 0X6900, 0XA9C1, 0XA881, 0X6840, 0X7800, 0XB8C1, 0XB981, 0X7940, 0XBB01, 0X7BC0, 0X7A80, 0XBA41, 0XBE01, 0X7EC0, 0X7F80, 0XBF41, 0X7D00, 0XBDC1, 0XBC81, 0X7C40, 0XB401, 0X74C0, 0X7580, 0XB541, 0X7700, 0XB7C1, 0XB681, 0X7640, 0X7200, 0XB2C1, 0XB381, 0X7340, 0XB101, 0X71C0, 0X7080, 0XB041, 0X5000, 0X90C1, 0X9181, 0X5140, 0X9301, 0X53C0, 0X5280, 0X9241, 0X9601, 0X56C0, 0X5780, 0X9741, 0X5500, 0X95C1, 0X9481, 0X5440, 0X9C01, 0X5CC0, 0X5D80, 0X9D41, 0X5F00, 0X9FC1, 0X9E81, 0X5E40, 0X5A00, 0X9AC1, 0X9B81, 0X5B40, 0X9901, 0X59C0, 0X5880, 0X9841,
0X8801, 0X48C0, 0X4980, 0X8941, 0X4B00, 0X8BC1, 0X8A81, 0X4A40, 0X4E00, 0X8EC1, 0X8F81, 0X4F40, 0X8D01, 0X4DC0, 0X4C80, 0X8C41, 0X4400, 0X84C1, 0X8581, 0X4540, 0X8701, 0X47C0, 0X4680, 0X8641, 0X8201, 0X42C0, 0X4380, 0X8341, 0X4100, 0X81C1, 0X8081, 0X4040};
private static int CalcCRC(byte[] data, int size) {
int i;
int crc = 0;
for (i = 0; i < size; i++) {
crc = CRC(crc, data[i]);
}
return crc;
}
@Override
public boolean connect() throws IOException {
lock.lock();
try {
socket = new Socket();
socket.setSoTimeout(1000);
socket.connect(new InetSocketAddress(getIp(), getPort()), 3000);
} finally {
lock.unlock();
}
return isConnected();
}
@Override
public boolean isConnected() {
return socket != null && socket.isConnected() && !socket.isClosed();
}
@Override
public void disconnect() {
try {
log.debug("销毁LED连接");
if (socket != null) {
socket.close();
}
running = false;
} catch (Exception e) {
log.error(e.getMessage(), e);
}
socket = null;
}
public static void main(String[] args) {
try {
LEDThread led = new LEDThread("", "192.168.1.16", 5005);
Thread thread = new Thread(led);
thread.setDaemon(true);
thread.start();
// thread.interrupt();
System.out.println("LED 启动");
Thread.sleep(10000);
led.running = false;
Thread.sleep(10000);
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@ -7,7 +7,7 @@ import com.cowr.common.utils.DateTimeUtil;
import com.cowr.common.view.Result;
import com.cowr.local.ssjygl.order.OrderService;
import com.cowr.local.ssjygl.order.orderseq.OrderSeqService;
import com.cowr.local.ssjygl.supermarket.product.SupermarketProductService;
import com.cowr.ssjygl.supermarket.product.SupermarketProductService;
import com.cowr.local.ssjygl.synctask.SyncTaskService;
import com.cowr.local.ssjygl.system.sysuser.SysuserSyncService;
import com.cowr.model.*;
@ -54,7 +54,7 @@ public class OrderSaleSyncService {
return Result.failed("进出场记录以完成,或者已经被取消,不能使用");
}
if(Truck.dao.findById(transport.getTruckLicense()) == null){
if (Truck.dao.findById(transport.getTruckLicense()) == null) {
return Result.failedstr("【%s】不是物流公司车辆", transport.getTruckLicense());
}
@ -241,7 +241,7 @@ public class OrderSaleSyncService {
return Result.failed("进出场记录以完成,或者已经被取消,不能使用");
}
if(Truck.dao.findById(transport.getTruckLicense()) == null){
if (Truck.dao.findById(transport.getTruckLicense()) == null) {
return Result.failedstr("【%s】不是物流公司车辆", transport.getTruckLicense());
}
@ -290,7 +290,7 @@ public class OrderSaleSyncService {
return Result.failedstr("【%s】不是今日预付费车辆", transport.getTruckLicense());
}
if(pt.getType() != OrderTypeEnum.SALE.getTypeid()){
if (pt.getType() != OrderTypeEnum.SALE.getTypeid()) {
return Result.failedstr("【%s】不是配送预付费车辆", transport.getTruckLicense());
}

View File

@ -6,9 +6,10 @@ import com.cowr.common.enums.OrderTypeEnum;
import com.cowr.common.utils.DateTimeUtil;
import com.cowr.common.view.Result;
import com.cowr.local.ssjygl.invoice.log.InvoiceLogSyncService;
import com.cowr.local.ssjygl.main.Config;
import com.cowr.local.ssjygl.order.OrderService;
import com.cowr.local.ssjygl.order.orderseq.OrderSeqService;
import com.cowr.local.ssjygl.supermarket.product.SupermarketProductService;
import com.cowr.ssjygl.supermarket.product.SupermarketProductService;
import com.cowr.local.ssjygl.synctask.SyncTaskService;
import com.cowr.local.ssjygl.system.sysuser.SysuserSyncService;
import com.cowr.model.*;
@ -84,6 +85,10 @@ public class OrderTempSyncService {
return Result.failedstr("重量数据有误,第一次称重:%.4f,第二次称重:%.4f", transport.getFirstWeight(), transport.getSecondWeight());
}
if(transport.getSecondWeight().compareTo(BigDecimal.valueOf(Config.configprop.getInt("weigh.max"))) > 0){
return Result.failedstr("毛重不能超过 %.2f 吨", Config.configprop.getInt("weigh.max"));
}
BigDecimal net_weight = transport.getSecondWeight().subtract(transport.getFirstWeight()); // 销售的用第二次减第一次
if (req_receipt == 1) { // 需要同时开具发票
@ -113,7 +118,7 @@ public class OrderTempSyncService {
order.setProductName(product.getName());
// 支付信息
order.setUnitPrice(SupermarketService.me.getSupUnitPrice(transport.getSupermarketId(), product.getId()));
order.setUnitPrice(SupermarketProductService.me.getUnitPrice(transport.getSupermarketId(), product.getId()));
order.setWeight(net_weight); // 使用净重更新重量
order.setTotalPrice(TransPriceService.me.caleTotalPrice(up, net_weight)); // 获取根据净重和单价计算的总价,作为实付金额
order.setPaid(order.getTotalPrice()); // 实际应付金额,预付费走另外的接口
@ -129,12 +134,12 @@ public class OrderTempSyncService {
// 更新 transport 出入场信息
// 线下支付才同步将出入场记录设置为完成
if (order.getPayType() == 1) {
// if (order.getPayType() == 1) {
transport.setArriveTime(now);
order.setState(OrderStateEnum.RECEIVED.getStateid()); // 直接完成,没有前面的过程
} else {
order.setState(OrderStateEnum.LEAVE.getStateid()); // 等等付款
}
// } else {
// order.setState(OrderStateEnum.LEAVE.getStateid()); // 等等付款
// }
transport.setState(order.getState()); // 使用 order 的 state
transport.setType(OrderTypeEnum.TEMP.getTypeid());
@ -202,11 +207,11 @@ public class OrderTempSyncService {
}
});
if (order.getPayType() == 1) {
// if (order.getPayType() == 1) {
return OrderService.me.orderPayComplete(ret, order.toRecord(), transport, printerId);
} else {
return ret ? Result.success(order) : Result.failed("结算失败");
}
// } else {
// return ret ? Result.success(order) : Result.failed("结算失败");
// }
}
public Result payordercluster(
@ -271,6 +276,10 @@ public class OrderTempSyncService {
return Result.failedstr("重量数据有误,第一次称重:%.4f,第二次称重:%.4f", transport.getFirstWeight(), transport.getSecondWeight());
}
if(transport.getSecondWeight().compareTo(BigDecimal.valueOf(Config.configprop.getInt("weigh.max"))) > 0){
return Result.failedstr("毛重不能超过 %.2f 吨", Config.configprop.getInt("weigh.max"));
}
BigDecimal net_weight = transport.getSecondWeight().subtract(transport.getFirstWeight()); // 销售的用第二次减第一次
if (req_receipt == 1) { // 需要同时开具发票
@ -474,6 +483,10 @@ public class OrderTempSyncService {
return Result.failedstr("重量数据有误,第一次称重:%.4f,第二次称重:%.4f", transport.getFirstWeight(), transport.getSecondWeight());
}
if(transport.getSecondWeight().compareTo(BigDecimal.valueOf(Config.configprop.getInt("weigh.max"))) > 0){
return Result.failedstr("毛重不能超过 %.2f 吨", Config.configprop.getInt("weigh.max"));
}
BigDecimal net_weight = transport.getSecondWeight().subtract(transport.getFirstWeight()); // 销售的用第二次减第一次
if (ordercluster_id != null) {

View File

@ -1,17 +1,12 @@
package com.cowr.local.ssjygl.prepay.prepaytruck;
import com.alibaba.fastjson.JSONArray;
import com.cowr.common.base.BaseController;
import com.cowr.common.view.PageParam;
import com.cowr.common.view.Result;
import com.cowr.local.ssjygl.system.sysuser.SysuserSyncService;
import com.cowr.model.PrepayTruck;
import com.cowr.model.Sysuser;
import com.cowr.ssjygl.prepay.prepaytruck.PrepayTruckPKValidator;
import com.cowr.ssjygl.prepay.prepaytruck.PrepayTruckService;
import com.cowr.ssjygl.prepay.prepaytruck.PrepayTruckValidator;
import com.jfinal.aop.Before;
import com.jfinal.log.Log;
/**
* Generated by COWR Sun Feb 23 21:22:12 CST 2020
@ -20,7 +15,6 @@ import com.jfinal.log.Log;
* PrimaryKey: id
*/
public class PrepayTruckController extends BaseController {
private static Log log = Log.getLog(PrepayTruckController.class);
/**
*
@ -34,82 +28,6 @@ public class PrepayTruckController extends BaseController {
renderJson(PrepayTruckService.me.checkExistsByPk(model));
}
/**
* prepay_truck
*/
@Before(PrepayTruckValidator.class)
public void save() {
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
if (tokenuser == null) {
renderJson(Result.noauth());
return;
}
try {
String trucks = get("trucks");
JSONArray truckarr = JSONArray.parseArray(trucks);
if (truckarr == null) {
renderJson(Result.failed("trucks 参数格式错误"));
} else {
renderJson(PrepayTruckSyncService.me.save(truckarr, tokenuser));
}
} catch (Exception e) {
log.error(e.getMessage(), e);
renderJson(Result.failed("参数解析格式不正确"));
}
}
/**
* prepay_truck
*/
@Before(PrepayTruckPKValidator.class)
public void del() {
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
if (tokenuser == null) {
renderJson(Result.noauth());
return;
}
PrepayTruck model = getModel(PrepayTruck.class, "", true); // 忽略不在model中的字段
renderJson(PrepayTruckSyncService.me.delete(model, tokenuser));
}
/**
* prepay_truck
*/
@Before(PrepayTruckPKValidator.class)
public void restore() {
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
if (tokenuser == null) {
renderJson(Result.noauth());
return;
}
PrepayTruck model = getModel(PrepayTruck.class, "", true); // 忽略不在model中的字段
renderJson(PrepayTruckSyncService.me.restore(model, tokenuser));
}
/**
* prepay_truck
*/
@Before(PrepayTruckValidator.class)
public void edit() {
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
if (tokenuser == null) {
renderJson(Result.noauth());
return;
}
PrepayTruck model = getModel(PrepayTruck.class, "", true); // 忽略不在model中的字段
renderJson(PrepayTruckSyncService.me.update(model, tokenuser));
}
/**
* prepay_truck
*/

View File

@ -8,7 +8,7 @@ import com.cowr.common.utils.ImageUtil;
import com.cowr.common.view.Result;
import com.cowr.local.ssjygl.main.Config;
import com.cowr.local.ssjygl.order.OrderService;
import com.cowr.local.ssjygl.supermarket.product.SupermarketProductService;
import com.cowr.ssjygl.supermarket.product.SupermarketProductService;
import com.cowr.model.*;
import com.cowr.ssjygl.order.ordersale.OrderSaleService;
import com.cowr.ssjygl.order.ordertemp.OrderTempService;

View File

@ -19,6 +19,8 @@ print.vendorTaxId=91421125MA49GYYK2B
#如果物流车辆入场重量大大超过皮重(>=10%),则认为是转运车辆
#2019-08-01 暂定 50%
weight.distinguish=0.5
#最大毛重不超过 49 吨,超过 49 吨不能上高速
weigh.max=49
#起步运输距离
start.trans.distance=5

View File

@ -2,12 +2,16 @@ package com.cowr.service.ssjygl.order.ordercluster;
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.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.jfinal.log.Log;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.IAtom;
@ -16,6 +20,7 @@ import com.jfinal.plugin.activerecord.Record;
import java.math.BigDecimal;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;
public class OrderclusterSyncService extends BaseSyncService {
public static OrderclusterSyncService me = new OrderclusterSyncService();
@ -43,17 +48,43 @@ public class OrderclusterSyncService extends BaseSyncService {
model.setTransCoTexpayerNum(transCoObj.getTexpayerNum());
}
Customer customerObj = Customer.dao.findById(model.getCustomerId());
Supermarket supermarket = Supermarket.dao.findById(model.getSupermarketId());
if (supermarket == null) {
return Result.failed("超市信息无效");
}
Customer customerObj = Customer.dao.findById(model.getCustomerId());
if (customerObj == null) {
return Result.failed(false, "新增失败, 客户信息验证失败");
}
List<Record> list = OrderclusterService.me.undonlist(model.getSupermarketId(), model.getCustomerId());
if(list != null && !list.isEmpty()){
return Result.failed("还有未完成的集团订单");
}
PrepayCustomer prepayCustomer = PrepayCustomerService.me.getPrepayCustomer(model.getCustomerId(), model.getSupermarketId());
if (prepayCustomer == null) {
return Result.failed("不是预付费用户");
}
Product product = Product.dao.findById(model.getProductId());
if (product == null) {
return Result.failedstr("没有找到商品信息【%s】", model.getProductId());
}
BigDecimal unitprice = SupermarketProductService.me.getUnitPrice(model.getSupermarketId(), model.getProductId());
if (unitprice == null) {
return Result.failed("未配置商品单价");
}
if(unitprice.multiply(model.getTotalWeight()).compareTo(prepayCustomer.getSurplus()) > 0){
return Result.failedstr("余额 %.2f 不足以购买 %.2f 吨 %s", prepayCustomer.getSurplus(), model.getTotalWeight(), product.getName());
}
// TODO 最少车辆数需要在前端计算,计算结果用户可以修改
model.setProductName(product.getName());
// 客户信息
@ -66,7 +97,7 @@ public class OrderclusterSyncService extends BaseSyncService {
model.setCustomerTexpayerName(customerObj.getTexpayerName());
model.setCustomerTexpayerNum(customerObj.getTexpayerNum());
model.setUnitPrice(SupermarketService.me.getSupUnitPrice(model.getSupermarketId(), model.getProductId())); // 后端获取数据库中单价
model.setUnitPrice(unitprice); // 后端获取数据库中单价
model.setCreateTime(new Date()); // 当前系统时间
model.setCreateUserId(sysuser.getId()); // 当前用户id
model.setCreateUserName(sysuser.getName());
@ -82,7 +113,7 @@ public class OrderclusterSyncService extends BaseSyncService {
public boolean run() throws SQLException {
try {
return model.save()
&& SyncTaskService.me.save(new SyncTask().addSaveData(model))
&& SyncTaskService.me.save(new SyncTask().addSaveData(model), model.getSupermarketId())
&& ModifyLogService.me.save(model, null, Enums.DataOpType.SAVE.getId(), sysuser);
} catch (Exception e) {
log.error(e.getMessage(), e);
@ -117,7 +148,7 @@ public class OrderclusterSyncService extends BaseSyncService {
oldobj.setAvgWeight(model.getAvgWeight());
}
if(model.getTotalWeight() != null ){
if (model.getTotalWeight() != null) {
String sql = "select t.ordercluster_id, sum(t.weight) weight from order_sale t \n" +
" where t.state = ? \n" +
" and t.ordercluster_id = ? \n" +
@ -130,13 +161,13 @@ public class OrderclusterSyncService extends BaseSyncService {
Record record = Db.findFirst(sql, OrderStateEnum.RECEIVED.getStateid(), model.getId(), OrderStateEnum.RECEIVED.getStateid(), model.getId());
if(record != null){
if(model.getTotalWeight().compareTo(record.getBigDecimal("weight")) < 0){
if (record != null) {
if (model.getTotalWeight().compareTo(record.getBigDecimal("weight")) < 0) {
return Result.failedstr("总量不能低于已运输量(%.2f", record.getBigDecimal("weight"));
}else{
} else {
oldobj.setTotalWeight(model.getTotalWeight());
}
}else{
} else {
oldobj.setTotalWeight(model.getTotalWeight());
}
}
@ -144,19 +175,19 @@ public class OrderclusterSyncService extends BaseSyncService {
oldobj.setCutoffTime(model.getCutoffTime());
oldobj.setAvgWeight(model.getAvgWeight());
if(model.getTransDistance() != null){
if (model.getTransDistance() != null) {
oldobj.setTransDistance(model.getTransDistance());
}
if(model.getReqReceipt() != null) {
if (model.getReqReceipt() != null) {
oldobj.setReqReceipt(model.getReqReceipt());
}
if(model.getCustomerTexpayerName() != null){
if (model.getCustomerTexpayerName() != null) {
oldobj.setCustomerTexpayerName(model.getCustomerTexpayerName());
}
if(model.getCustomerTexpayerNum() != null){
if (model.getCustomerTexpayerNum() != null) {
oldobj.setCustomerTexpayerNum(model.getCustomerTexpayerNum());
}

View File

@ -66,7 +66,7 @@ public class PrepayDetailSyncService extends BaseSyncService {
synctask.addSaveData(model);
synctask.addSaveData(his);
return SyncTaskService.me.save(synctask)
return SyncTaskService.me.save(synctask, model.getSupermarketId())
&& ModifyLogService.me.save(model, null, Enums.DataOpType.SAVE.getId(), user);
}
});

View File

@ -0,0 +1,22 @@
package com.cowr.service.ssjygl.prepay.prepaytruck;
import com.cowr.common.validator.CrudParamValidator;
import com.cowr.common.view.Result;
import com.jfinal.core.Controller;
import com.jfinal.kit.StrKit;
/**
* Generated by COWR Thu Jun 27 17:01:16 CST 2019
*/
public class DayValidator extends CrudParamValidator {
@Override
protected void validate(Controller c) {
if(StrKit.notBlank(c.get("valid_date"))){
validateDate("valid_date", "yyyy-MM-dd","valid_date","valid_date 格式必须为 yyyy-MM-dd");
}
}
protected void handleError(Controller c) {
c.renderJson(Result.failed(getErrmsg()));
}
}

View File

@ -1,13 +1,18 @@
package com.cowr.service.ssjygl.prepay.prepaytruck;
import com.alibaba.fastjson.JSONArray;
import com.cowr.common.base.BaseController;
import com.cowr.common.view.PageParam;
import com.cowr.common.view.Result;
import com.cowr.model.PrepayTruck;
import com.cowr.model.Sysuser;
import com.cowr.service.ssjygl.system.sysuser.SysuserSyncService;
import com.cowr.ssjygl.prepay.prepaytruck.DayValidator;
import com.cowr.ssjygl.prepay.prepaytruck.PrepayTruckPKValidator;
import com.cowr.ssjygl.prepay.prepaytruck.PrepayTruckService;
import com.cowr.ssjygl.prepay.prepaytruck.PrepayTruckValidator;
import com.jfinal.aop.Before;
import com.jfinal.log.Log;
/**
* Generated by COWR Sun Feb 23 21:22:12 CST 2020
@ -16,6 +21,7 @@ import com.jfinal.aop.Before;
* PrimaryKey: id
*/
public class PrepayTruckController extends BaseController {
private static Log log = Log.getLog(PrepayTruckController.class);
/**
*
@ -29,6 +35,82 @@ public class PrepayTruckController extends BaseController {
renderJson(PrepayTruckService.me.checkExistsByPk(model));
}
/**
* prepay_truck
*/
@Before(com.cowr.ssjygl.prepay.prepaytruck.PrepayTruckValidator.class)
public void save() {
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
if (tokenuser == null) {
renderJson(Result.noauth());
return;
}
try {
String trucks = get("trucks");
JSONArray truckarr = JSONArray.parseArray(trucks);
if (truckarr == null) {
renderJson(Result.failed("trucks 参数格式错误"));
} else {
// renderJson(PrepayTruckSyncService.me.save(truckarr, tokenuser));
}
} catch (Exception e) {
log.error(e.getMessage(), e);
renderJson(Result.failed("参数解析格式不正确"));
}
}
/**
* prepay_truck
*/
@Before(PrepayTruckPKValidator.class)
public void del() {
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
if (tokenuser == null) {
renderJson(Result.noauth());
return;
}
PrepayTruck model = getModel(PrepayTruck.class, "", true); // 忽略不在model中的字段
renderJson(PrepayTruckSyncService.me.delete(model, tokenuser));
}
/**
* prepay_truck
*/
@Before(PrepayTruckPKValidator.class)
public void restore() {
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
if (tokenuser == null) {
renderJson(Result.noauth());
return;
}
PrepayTruck model = getModel(PrepayTruck.class, "", true); // 忽略不在model中的字段
renderJson(PrepayTruckSyncService.me.restore(model, tokenuser));
}
/**
* prepay_truck
*/
@Before(PrepayTruckValidator.class)
public void edit() {
Sysuser tokenuser = SysuserSyncService.me.getSysuserByToken(get("token"));
if (tokenuser == null) {
renderJson(Result.noauth());
return;
}
PrepayTruck model = getModel(PrepayTruck.class, "", true); // 忽略不在model中的字段
renderJson(PrepayTruckSyncService.me.update(model, tokenuser));
}
/**
* prepay_truck
*/

View File

@ -0,0 +1,147 @@
package com.cowr.service.ssjygl.prepay.prepaytruck;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
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.ssjygl.order.ordercluster.OrderclusterService;
import com.jfinal.kit.StrKit;
import com.jfinal.log.Log;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.IAtom;
import com.jfinal.plugin.activerecord.Record;
import java.sql.SQLException;
import java.util.*;
public class PrepayTruckSyncService extends BaseSyncService {
public static PrepayTruckSyncService me = new PrepayTruckSyncService();
private static Log log = Log.getLog(PrepayTruckSyncService.class);
/**
* @param truckarr [
* {
* customer_id
* truck_license
* supermarket_id
* valid_date
* type
* }
* ]
* @param sysuser
* @return
*/
public Result save(int customer_id, String truckarr, Date valid_date, int supermarket_id, Sysuser sysuser) {
try {
Customer customer = Customer.dao.findById(customer_id);
if (customer == null) {
return Result.failed("客户信息无效");
}
Supermarket supermarket = Supermarket.dao.findById(supermarket_id);
if (supermarket == null) {
return Result.failed("超市信息无效");
}
List<Record> list = OrderclusterService.me.undonlist(supermarket_id, customer_id, DateTimeUtil.sdf.get().format(valid_date));
if(list == null || list.isEmpty()){
return Result.failed("未找到有效的集团订单信息");
}
// TODO: 过期订单怎么处理?顺延?取消
//
// List<String> ts = new ArrayList<>();
// List<String> tsql = new ArrayList<>();
//
// Map<String, Boolean> co_trucks = new HashMap<>(); // 物流公司车辆
// List<String> co_tsql = new ArrayList<>();
//
// List<Record> pts = new ArrayList<>();
//
// for (int i = 0; i < truckarr.size(); i++) {
// JSONObject obj = truckarr.getJSONObject(i);
//
// ts.add(obj.getString("truck_license"));
// tsql.add("?");
//
// if (obj.getIntValue("type") == 1) {
// co_trucks.put(obj.getString("truck_license"), true);
// co_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, ",") + " 车牌号在黑名单中");
// }
//
// if (!co_trucks.isEmpty()) {
// List<Truck> trucks = Truck.dao.find(
// "select * from truck where license in ("
// + StrKit.join(co_tsql, ",") + ")", co_trucks.keySet().toArray());
//
// if (trucks != null && !trucks.isEmpty()) {
// for (Truck bl : trucks) {
// co_trucks.remove(bl.getLicense());
// }
//
// ts = new ArrayList<>();
//
// for (String s : co_trucks.keySet()) {
// ts.add(s);
// }
// }
//
// if (!co_trucks.isEmpty()) {
// return Result.failed(StrKit.join(ts, ",") + " 车牌不是物流公司车辆");
// }
// }
//
// for (int i = 0; i < truckarr.size(); i++) {
// JSONObject obj = truckarr.getJSONObject(i);
// Record record = new Record().setColumns(obj.getInnerMap());
// record.set("create_user_id", sysuser.getId());
// pts.add(record);
// }
//
// if (pts.isEmpty()) {
// return Result.failed("truck_license 参数错误");
// }
//
// // TODO: 这里要不要加入同步,上传到服务端。预付费车辆只再本超市使用
// boolean ret = Db.tx(new IAtom() {
// @Override
// public boolean run() throws SQLException {
// int[] ret = Db.batchSave(PrepayTruck.tablename, pts, pts.size());
//
// return ret.length == pts.size();
// }
// });
// return ret ? Result.success() : Result.failed(false, "新增失败");
return null;
} catch (Exception e) {
if (e.getMessage().contains("prepay_truck_license_customer")) {
return Result.failed("同一辆车同一天只能分配一次");
}
log.error(e.getMessage(), e);
return Result.failed(false, e.getMessage());
}
}
}

View File

@ -0,0 +1,37 @@
package com.cowr.service.ssjygl.prepay.prepaytruck;
import com.cowr.common.validator.CrudParamValidator;
import com.cowr.common.view.Result;
import com.cowr.model.PrepayTruck;
import com.jfinal.core.Controller;
/**
* Generated by COWR Sun Feb 23 21:22:13 CST 2020
* TableName: prepay_truck
* Remarks:
* PrimaryKey: id
*/
public class PrepayTruckValidator extends CrudParamValidator {
@Override
protected void validate(Controller c) {
// 默认新增时,前端不需要传主键。若需要前端传主键,需要去掉这个判断
if (!"save".equals(getActionMethodName())) {
validateRequired("id", "id", "id 必填");
validateInteger("id", 1, 2147483647, "id", "id 范围 1~2147483647");
}
validateRequired("trucks", "trucks", "trucks 必填");
// 使用 model 更新时model 不能只有主键有值
// 这里用 getActionMethodName 写死,判断是 update 时,才做验证
// 如果确实是需要将主键外的字段置为 null可以在代码生成后删掉这段
if ("edit".equals(getActionMethodName())) {
validateUpdateModel(PrepayTruck.class, "", true); // 忽略不在model中的字段
}
}
protected void handleError(Controller c) {
c.renderJson(Result.failed(getErrmsg()));
}
}

View File

@ -86,7 +86,7 @@ public class RefundDetailSyncService extends BaseSyncService {
synctask.addSaveData(model);
synctask.addSaveData(his);
return SyncTaskService.me.save(synctask)
return SyncTaskService.me.save(synctask, model.getSupermarketId())
&& ModifyLogService.me.save(model, null, Enums.DataOpType.SAVE.getId(), user);
}
});

View File

@ -75,6 +75,7 @@ public class SyncTaskService {
int[] ret = Db.batchSave(list, list.size());
for (int i : ret) {
// 必须是每条 sql 修改一条记录
if (i != 1) {
return false;
}
@ -165,7 +166,7 @@ public class SyncTaskService {
List<SyncTask> list = unsynclist();
if (!list.isEmpty()) {
log.debug("开始下发未同步完成的数据");
log.debug("开始下发未同步完成的数据 " + list.size());
}
for (SyncTask obj : list) {

View File

@ -4,6 +4,7 @@ import com.cowr.common.utils.StrUtil;
import com.cowr.common.validator.CrudParamValidator;
import com.cowr.common.view.Result;
import com.jfinal.core.Controller;
import com.jfinal.kit.StrKit;
public class RegisterUserValidator extends CrudParamValidator {
@Override
@ -13,12 +14,22 @@ public class RegisterUserValidator extends CrudParamValidator {
validateString("sysuser.password", 6, 20, "sysuser.password", "用户密码长度在6~20之间"); // 必填项字段长度必须大于0不能超过最大长度
validateString("customer.texpayer_name", 1, 255, "customer.texpayer_name", "公司名称的长度在1~255之间");
validateString("customer.address", 1, 256, "customer.address", "公司地址的长度在1~255之间");
validateString("customer.phone", 1, 20, "customer.phone", "开票电话格式不正确");
validateString("customer.texpayer_num", 1, 20, "customer.texpayer_num", "纳税人识别号格式不正确");
validateString("customer.bank_name", 1, 128, "customer.bank_name", "开户银行名称格式不正确");
validateString("customer.bank_account", 1, 20, "customer.bank_account", "开户银行账号格式不正确");
validateString("customer.memo", 0, 256, "customer.memo", "备注长度在0~256之间");
validateInteger("customer.invoice_type", 0, 3, "invoice_type", "请选择是开具普票还是专票");
if(c.getInt("customer.invoice_type") == 2){
validateString("customer.texpayer_num", 1, 20, "customer.texpayer_num", "开具专票必须录入有效纳税人识别号");
validateString("customer.bank_name", 1, 128, "customer.bank_name", "开具专票必须录入有效开户行信息");
validateString("customer.bank_account", 1, 20, "customer.bank_account", "开具专票必须录入有效开户行账号");
validateString("customer.address", 1, 256, "customer.address", "公司地址的长度在1~255之间");
validateString("customer.phone", 1, 20, "customer.phone", "开票电话格式不正确");
}else{
validateString("customer.texpayer_num", 0, 20, "customer.texpayer_num", "纳税人识别号格式不正确");
validateString("customer.bank_name", 0, 128, "customer.bank_name", "开户银行名称格式不正确");
validateString("customer.bank_account", 0, 20, "customer.bank_account", "开户银行账号格式不正确");
validateString("customer.address", 0, 256, "customer.address", "公司地址的长度在1~255之间");
validateString("customer.phone", 0, 20, "customer.phone", "开票电话格式不正确");
}
validateString("receiver.name", 1, 128, "receiver.name", "收货人姓名在1~8之间");
validateRegex("receiver.phone", StrUtil.regphone, "receiver.phone", "收货人手机号格式不正确");

View File

@ -218,13 +218,6 @@ public class SysuserController extends Controller {
Customer customer = getModel(Customer.class, "customer", true);
CustomerReceiver receiver = getModel(CustomerReceiver.class, "receiver", true);
renderJson(CustomerRegisterService.me.save(sysuser, customer, receiver));
}
@Clear(AuthInterceptor.class)
public void checkRegister() {
String sysuser_phone = get("sysuser_phone", "");
renderJson(CustomerRegisterService.me.checkRegister(sysuser_phone));
renderJson(SysuserSyncService.me.register(sysuser, customer, receiver));
}
}

View File

@ -682,4 +682,73 @@ public class SysuserSyncService extends BaseSyncService {
return Db.find("select * " + sqlbuf.toString(), paraList.toArray());
}
public Result register(Sysuser sysuser, Customer customer, CustomerReceiver receiver){
if(sysuser.checkDuplicate("phone")){
return Result.failedstr("手机号 %s 已存在", sysuser.getPhone());
}
customer.setName(customer.getTexpayerName());
if(customer.checkDuplicate("name")){
return Result.failed("用户已存在");
}
if(customer.checkDuplicate("texpayer_name")){
return Result.failed("用户已存在");
}
// 开专票的,必填验证
if(customer.getInvoiceType() == 2){
if(customer.checkDuplicate("texpayer_num")){
return Result.failed("用户已存在");
}
if(customer.checkDuplicate("bank_account")){
return Result.failed("用户已存在");
}
}
sysuser.setType(UserTypeEnum.CUSTOMER.getTypeid());
sysuser.setPassword(getPwdMD5(sysuser.getPhone(), sysuser.getPassword()));
boolean ret = Db.tx(new IAtom() {
@Override
public boolean run() {
try{
boolean ret = customer.save();
if(!ret){
log.debug("客户信息保存失败");
return false;
}
sysuser.setEntityId(customer.getId());
sysuser.setRole(RoleEnum.CUSTOMER.getRoleid());
receiver.setCustomerId(customer.getId());
ret = sysuser.save() && receiver.save();
if(!ret){
log.debug("用户或者收获信息保存失败");
return false;
}
SyncTask synctask = new SyncTask();
synctask.addSaveData(sysuser);
synctask.addSaveData(customer);
synctask.addSaveData(receiver);
return SyncTaskService.me.save(synctask);
}catch (Exception e){
log.error(e.getMessage(), e);
}
return false;
}
});
return ret ? Result.success("注册成功") : Result.failed("注册失败");
}
}