Browse Source

Merge branch 'dev-feature-quotation' into dev

dev_feature_入会申请变更
wuyilin 2 weeks ago
parent
commit
465703d38b
  1. 76
      application-tenant/tenant-admin/src/main/java/apelet/tenantadmin/tenant/plugin/QuotationPlugin.java
  2. 25
      application-tenant/tenant-admin/src/main/java/apelet/tenantadmin/tenant/plugin/StatusChangePlugin.java
  3. 2
      application-tenant/tenant-admin/src/main/resources/application-config.yml
  4. 14
      application-tenant/tenant-admin/src/main/resources/tenant-admin-dev.yml
  5. 9
      pom.xml

76
application-tenant/tenant-admin/src/main/java/apelet/tenantadmin/tenant/plugin/QuotationPlugin.java

@ -0,0 +1,76 @@
package apelet.tenantadmin.tenant.plugin;
import apelet.common.core.object.ObjectCollection;
import apelet.common.core.object.ObjectValue;
import apelet.common.core.object.TokenData;
import apelet.common.core.util.ApplicationContextHolder;
import apelet.common.generator.utils.OrmGenDataSourceUtil;
import apelet.common.online.abstractplugin.ExecutePluginParent;
import apelet.common.online.model.constant.AttributeEnum;
import java.math.BigDecimal;
/*
报价单插件
*/
public class QuotationPlugin extends ExecutePluginParent {
private static final OrmGenDataSourceUtil ORM_GEN_DATA_SOURCE_UTIL = ApplicationContextHolder.getBean(OrmGenDataSourceUtil.class);
@Override
public void formCreated(String widgetVariableName, ObjectValue objectValue){
super.formCreated(widgetVariableName, objectValue);
//获取当前登录的用户ID
TokenData tokenData = TokenData.takeFromRequest();
Long userId = tokenData.getUserId();
//查询当前用户信息
ObjectValue sysUserInfo = ORM_GEN_DATA_SOURCE_UTIL.queryOne("xy_sys_user", userId);
//赋值
if (sysUserInfo != null){
this.setWidgetAttribute("managerperson", AttributeEnum.VALUE_CHANGE, sysUserInfo);
}
//隐藏拒绝理由
this.setWidgetAttribute("canaelreason",AttributeEnum.SHOW,false);
//设置报价单状态
this.setWidgetAttribute("status",AttributeEnum.VALUE_CHANGE,"1");
//设置总价初始值为0
this.setWidgetAttribute("qty",AttributeEnum.VALUE_CHANGE,0);
}
@Override
public void change(String widgetVariableName, ObjectValue objectValue){
super.change(widgetVariableName, objectValue);
//获取报价单状态
String status = objectValue.getString("status");
//若status为"4"
if(status.equals("4")){
this.setWidgetAttribute("canaelreason",AttributeEnum.SHOW,true);
}else {
this.setWidgetAttribute("canaelreason",AttributeEnum.SHOW,false);
}
//获取单据体
ObjectCollection quotationE = objectValue.getObjectCollection("quotation_e");
// 总金额
BigDecimal allTotalAmount = BigDecimal.ZERO;
//判断是否有数据
if (quotationE != null && !quotationE.isEmpty()){
for (int i = 0; i < quotationE.size(); i++ ){
// 获取行数据
ObjectValue row = quotationE.getObject(i);
//获取指导折扣价
BigDecimal discount = row.getBigDecimal("discount");
// 判空处理
if (discount == null) {
discount = BigDecimal.ZERO;
}
//获取数量
int num = row.getInt("num");
// 计算总价 = 折扣价 * 数量
BigDecimal totalAmount = discount.multiply(BigDecimal.valueOf(num));
allTotalAmount = allTotalAmount.add(totalAmount);
}
this.setWidgetAttribute("qty",AttributeEnum.VALUE_CHANGE,allTotalAmount);
}
}
}

25
application-tenant/tenant-admin/src/main/java/apelet/tenantadmin/tenant/plugin/StatusChangePlugin.java

@ -0,0 +1,25 @@
package apelet.tenantadmin.tenant.plugin;
import apelet.common.core.object.ObjectCollection;
import apelet.common.core.object.ObjectValue;
import apelet.common.online.plugin.BeforeExecuteOperationArgs;
import apelet.common.online.plugin.OperationServicePlugIn;
//提交后修改状态
public class StatusChangePlugin extends OperationServicePlugIn {
@Override
public void beforeExecuteOperationTransaction(BeforeExecuteOperationArgs e){
super.beforeExecuteOperationTransaction(e);
ObjectCollection modelCollcetion = e.getModelCollcetion();
if(modelCollcetion != null && !modelCollcetion.isEmpty()){
for (int i = 0; i < modelCollcetion.size(); i++) {
// 获取单据对象
ObjectValue bill = modelCollcetion.getObject(i);
bill.setString("status","2");
//保存入库
}
}
}
}

2
application-tenant/tenant-admin/src/main/resources/application-config.yml

@ -145,7 +145,7 @@ common-redis:
# master-slave: # master-slave:
# 每个节点逗号分隔,第一个为主节点,其余为从节点。同时每个节点前必须以redis://开头。 # 每个节点逗号分隔,第一个为主节点,其余为从节点。同时每个节点前必须以redis://开头。
# address: redis://localhost:6379,redis://localhost:6378,... # address: redis://localhost:6379,redis://localhost:6378,...
address: redis://192.168.100.25:6379 address: redis://localhost:6379
# 链接超时,单位毫秒。 # 链接超时,单位毫秒。
timeout: 6000 timeout: 6000
# 单位毫秒。分布式锁的超时检测时长。 # 单位毫秒。分布式锁的超时检测时长。

14
application-tenant/tenant-admin/src/main/resources/tenant-admin-dev.yml

@ -5,7 +5,7 @@ logging:
config: classpath:logback-spring.xml config: classpath:logback-spring.xml
server: server:
port: 8075 port: 8077
application: application:
# Jwt令牌加密的签名值。该值的长度要超过10个字符(过短会报错)。 # Jwt令牌加密的签名值。该值的长度要超过10个字符(过短会报错)。
@ -203,17 +203,17 @@ spring:
druid: druid:
# 租户管理数据源。 # 租户管理数据源。
tenant-admin: tenant-admin:
url: jdbc:mysql://192.168.100.18:3306/apelet_admin_xk?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai url: jdbc:mysql://frp-use.com:51850/apelet_xhgl?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
username: root username: root
password: X7&9p8L2@6z4K7!8 password: X7&9p8L2@6z4K7!8
# 租户业务平台的通用业务数据,如字典、在线表单、流程、报表的定义等数据。 # 租户业务平台的通用业务数据,如字典、在线表单、流程、报表的定义等数据。
tenant-common: tenant-common:
url: jdbc:mysql://192.168.100.18:3306/apelet_admin_xk?characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai url: jdbc:mysql://frp-use.com:51850/apelet_xhgl?characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai
username: root username: root
password: X7&9p8L2@6z4K7!8 password: X7&9p8L2@6z4K7!8
# 默认生成的操作日志数据源配置。 # 默认生成的操作日志数据源配置。
operation-log: operation-log:
url: jdbc:mysql://192.168.100.18:3306/apelet_admin_xk?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai url: jdbc:mysql://frp-use.com:51850/apelet_xhgl?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
username: root username: root
password: X7&9p8L2@6z4K7!8 password: X7&9p8L2@6z4K7!8
driverClassName: com.mysql.cj.jdbc.Driver driverClassName: com.mysql.cj.jdbc.Driver
@ -305,3 +305,9 @@ cqurl:
username: username:
accountId: accountId:
flowable:
# 关闭自动创建/更新表,只检查
database-schema-update: false
# 关闭事件注册引擎(你 99% 不需要)
event-registry:
enabled: false

9
pom.xml

@ -70,9 +70,9 @@
<properties> <properties>
<profile.name>dev</profile.name> <profile.name>dev</profile.name>
<!-- 注册中心地址 --> <!-- 注册中心地址 -->
<discovery.server-addr>192.168.100.25:8848</discovery.server-addr> <discovery.server-addr>localhost:8848</discovery.server-addr>
<!-- 配置中心地址 --> <!-- 配置中心地址 -->
<config.server-addr>192.168.100.25:8848</config.server-addr> <config.server-addr>localhost:8848</config.server-addr>
<!-- 配置中心的分组和名字空间 --> <!-- 配置中心的分组和名字空间 -->
<config.group>DEFAULT_GROUP</config.group> <config.group>DEFAULT_GROUP</config.group>
<!-- 如果是public可以保持为空,否则一定要填写名字空间id,而非名称 --> <!-- 如果是public可以保持为空,否则一定要填写名字空间id,而非名称 -->
@ -286,6 +286,11 @@
<type>pom</type> <type>pom</type>
<scope>import</scope> <scope>import</scope>
</dependency> </dependency>
<dependency>
<groupId>apelet</groupId>
<artifactId>common-orm</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>

Loading…
Cancel
Save