Browse Source

Merge branches 'dev' and 'dev' of ssh://10.10.100.21/source/saas-platform into dev

jinsy 7 years ago
parent
commit
57dbc165ac
94 changed files with 1559 additions and 839 deletions
  1. 65 0
      README.md
  2. 1 0
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/exception/BizExceptionCode.java
  3. 20 0
      applications/commons/commons-server/src/main/resources/config/application-docker-prod.yml
  4. 0 6
      applications/document/document-dto/src/main/java/com.usoftchina.saas.document.dto/CustomerDTO.java
  5. 0 213
      applications/document/document-dto/src/main/java/com/usoftchina/saas/document/entities/Customer.java
  6. 0 6
      applications/document/document-dto/src/main/java/com/usoftchina/saas/document/entities/CustomerList.java
  7. 1 2
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/BomMapper.java
  8. 5 4
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/BomServiceImpl.java
  9. 1 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/CustomerServiceImpl.java
  10. 1 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/VendorServiceImpl.java
  11. 23 0
      applications/document/document-server/src/main/resources/config/application-docker-prod.yml
  12. 2 2
      applications/document/document-server/src/main/resources/mapper/BomMapper.xml
  13. 0 3
      applications/document/document-server/src/main/resources/mapper/CustomerListMapper.xml
  14. 1 34
      applications/document/document-server/src/main/resources/mapper/CustomerMapper.xml
  15. 1 1
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/BanksubledgerMapper.java
  16. 1 1
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/SubledgerMapper.java
  17. 1 1
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/VerificationMapper.java
  18. 3 2
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/FundtransferServiceImpl.java
  19. 6 4
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/OthreceiptsServiceImpl.java
  20. 7 4
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/OthspendingsServiceImpl.java
  21. 7 4
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/PaybalanceServiceImpl.java
  22. 20 32
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/RecbalanceServiceImpl.java
  23. 25 22
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/VerificationServiceImpl.java
  24. 23 0
      applications/money/money-server/src/main/resources/config/application-docker-prod.yml
  25. 2 1
      applications/money/money-server/src/main/resources/mapper/BanksubledgerMapper.xml
  26. 2 1
      applications/money/money-server/src/main/resources/mapper/SubledgerMapper.xml
  27. 3 2
      applications/money/money-server/src/main/resources/mapper/VerificationMapper.xml
  28. 0 6
      applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/ProdInOutDTO.java
  29. 1 7
      applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/ProdInOutListDTO.java
  30. 0 6
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/po/ProdInOut.java
  31. 0 6
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/po/ProdInOutList.java
  32. 0 2
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/PurchaseServiceImpl.java
  33. 20 0
      applications/purchase/purchase-server/src/main/resources/config/application-docker-prod.yml
  34. 0 3
      applications/purchase/purchase-server/src/main/resources/mapper/ProdIODetailMapper.xml
  35. 0 6
      applications/purchase/purchase-server/src/main/resources/mapper/ProdInOutListMapper.xml
  36. 1 26
      applications/purchase/purchase-server/src/main/resources/mapper/ProdInOutMapper.xml
  37. 0 4
      applications/purchase/purchase-server/src/main/resources/mapper/PurchaseListMapper.xml
  38. 1 6
      applications/purchase/purchase-server/src/main/resources/mapper/PurchaseMapper.xml
  39. 1 1
      applications/purchase/purchase-server/src/main/resources/mapper/PurchaseReportMapper.xml
  40. 0 3
      applications/purchase/purchase-server/src/main/resources/mapper/PurchasedetailMapper.xml
  41. 20 0
      applications/sale/sale-server/src/main/resources/config/application-docker-prod.yml
  42. 2 1
      applications/sale/sale-server/src/main/resources/mapper/SaleMapper.xml
  43. 0 6
      applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/dto/ProdInOutDTO.java
  44. 0 6
      applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/dto/ProdInOutListDTO.java
  45. 0 6
      applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/po/Make.java
  46. 0 6
      applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/po/ProdInOut.java
  47. 0 6
      applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/po/ProdInOutList.java
  48. 16 15
      applications/storage/storage-server/src/main/java/com/usoftchina/saas/storage/service/impl/MakeServiceImpl.java
  49. 0 5
      applications/storage/storage-server/src/main/java/com/usoftchina/saas/storage/service/impl/ProdInOutServiceImpl.java
  50. 20 0
      applications/storage/storage-server/src/main/resources/config/application-docker-prod.yml
  51. 3 54
      applications/storage/storage-server/src/main/resources/mapper/MakeMapper.xml
  52. 12 15
      applications/storage/storage-server/src/main/resources/mapper/MakematerialMapper.xml
  53. 0 3
      applications/storage/storage-server/src/main/resources/mapper/ProdIODetailMapper.xml
  54. 0 6
      applications/storage/storage-server/src/main/resources/mapper/ProdInOutListMapper.xml
  55. 1 29
      applications/storage/storage-server/src/main/resources/mapper/ProdInOutMapper.xml
  56. 25 0
      base-servers/account/account-server/src/main/resources/config/application-docker-prod.yml
  57. 9 0
      base-servers/admin-server/src/main/resources/config/application-docker-prod.yml
  58. 23 0
      base-servers/auth/auth-server/src/main/resources/config/application-docker-prod.yml
  59. 7 0
      base-servers/eureka-server/src/main/resources/config/application-docker-prod.yml
  60. 1 1
      base-servers/file/file-server/src/main/java/com/usoftchina/saas/file/controller/FileController.java
  61. 26 0
      base-servers/file/file-server/src/main/resources/config/application-docker-prod.yml
  62. 5 3
      base-servers/file/file-server/src/test/java/com/usoftchina/saas/file/controller/FileControllerTest.java
  63. 19 0
      base-servers/gateway-server/src/main/resources/config/application-docker-prod.yml
  64. 23 0
      base-servers/mail/mail-server/src/main/resources/config/application-docker-prod.yml
  65. 19 0
      base-servers/socket/socket-server/src/main/resources/config/application-docker-prod.yml
  66. 19 0
      base-servers/ui-server/src/main/resources/config/application-docker-prod.yml
  67. 13 0
      base-servers/zipkin-server/src/main/resources/config/application-docker-prod.yml
  68. 4 2
      frontend/saas-web/app/view/core/chart/ChartBase.js
  69. 30 0
      frontend/saas-web/app/view/core/chart/ChartBase.scss
  70. 1 1
      frontend/saas-web/app/view/core/dbfind/types/VendorDbfindTrigger.js
  71. 47 1
      frontend/saas-web/app/view/core/query/QueryGridPanel.js
  72. 67 16
      frontend/saas-web/app/view/core/report/ReportPanel.js
  73. 0 2
      frontend/saas-web/app/view/home/Home.js
  74. 1 1
      frontend/saas-web/app/view/home/Home.scss
  75. 3 0
      frontend/saas-web/app/view/home/HomeModel.js
  76. 29 16
      frontend/saas-web/app/view/home/charts/MonthIO.js
  77. 25 0
      frontend/saas-web/app/view/home/charts/MonthIO.scss
  78. 11 14
      frontend/saas-web/app/view/home/charts/MonthPurchase.js
  79. 4 11
      frontend/saas-web/app/view/home/charts/MonthSale.js
  80. 11 16
      frontend/saas-web/app/view/home/charts/PurchaseTrend.js
  81. 5 12
      frontend/saas-web/app/view/home/charts/SaleTrend.js
  82. 11 16
      frontend/saas-web/app/view/home/charts/StockAmount.js
  83. 72 0
      frontend/saas-web/app/view/money/othreceipts/FormPanelController.js
  84. 72 0
      frontend/saas-web/app/view/money/othspendings/FormPanelController.js
  85. 68 0
      frontend/saas-web/app/view/money/payBalance/FormPanelController.js
  86. 72 0
      frontend/saas-web/app/view/money/recBalance/FormPanelController.js
  87. 150 112
      frontend/saas-web/app/view/money/report/VendorCheck.js
  88. 59 10
      frontend/saas-web/app/view/money/verification/FormPanel.js
  89. 279 18
      frontend/saas-web/app/view/money/verification/FormPanelController.js
  90. 7 3
      frontend/saas-web/app/view/stock/inventory/EditDataList.js
  91. 8 3
      frontend/saas-web/ext/packages/ux/src/feature/MySummary.js
  92. 9 0
      script/mysql/init/auth.sql
  93. 5 1
      script/mysql/init/base.sql
  94. 1 1
      script/mysql/init/mail.sql

+ 65 - 0
README.md

@@ -83,6 +83,8 @@
 | --------   | :-----: | :-----:  | :----:  | :----: | :------  |
 | saas_account | mysql | 192.168.253.12:3306 |  root  | select111*** |  账户中心  |
 | saas_auth | mysql | 192.168.253.12:3306 |  root  | select111*** |  鉴权系统  |
+| saas_file | mysql | 192.168.253.12:3306 |  root  | select111*** |  文件系统  |
+| saas_mail | mysql | 192.168.253.12:3306 |  root  | select111*** |  邮件系统  |
 | saas_biz | mysql | 192.168.253.12:3306 |  root  | select111*** |  业务系统  |
 | saas_ui | mongo | 192.168.253.12:27017 |    |  |  UI配置  |
 
@@ -124,4 +126,67 @@
 * [admin](http://192.168.0.181:8520) **账号** admin **密码** select111***
 * [zipkin](http://192.168.0.181:8540) **账号** admin **密码** select111***
 
+> 访问
 
+* [门户 https://saas-dev.usoftchina.com:5443](https://saas-dev.usoftchina.com:5443)
+* [系统 https://trade-dev.usoftchina.com:5443](https://trade-dev.usoftchina.com:5443)
+* [打印 https://saas-report-dev.usoftchina.com:5443](https://saas-report-dev.usoftchina.com:5443)
+* [接口 https://saas-api-dev.usoftchina.com:5443](https://saas-api-dev.usoftchina.com:5443)
+
+# 生产环境
+
+> 数据库
+
+| 数据库      | 类型   | 地址   |  账号  |  密码  |  说明  |
+| --------   | :-----: | :-----:  | :----:  | :----: | :------  |
+| saas_account | mysql | 10.10.100.18:3306 |  saas  | select111*** |  账户中心  |
+| saas_auth | mysql | 10.10.100.18:3306 |  saas  | select111*** |  鉴权系统  |
+| saas_file | mysql | 10.10.100.18:3306 |  saas  | select111*** |  文件系统  |
+| saas_mail | mysql | 10.10.100.18:3306 |  saas  | select111*** |  邮件系统  |
+| saas_biz | mysql | 10.10.100.18:3306 |  saas  | select111*** |  业务系统  |
+| saas_ui | mongo | 10.10.100.123:27017 |    |  |  UI配置  |
+
+> 中间件
+
+| 类型 | 地址 | 账号 | 密码 | 说明 |
+| ---- | :----: | :----: | :----: | ---- |
+| rabbitmq | 10.10.100.103:5672 | saas | select123*** | 消息中间件 [控制台](http://10.10.100.103:15672)|
+| redis | 10.10.100.173:6379 | | | 内存数据库 |
+
+
+> 服务器
+
+| IP      |  账号  |  密码  |  环境  |  资源  |
+| --------   | :----:  | :----: | :------:  | :------:  |
+| 10.10.100.103 |  centos  | mykey.key |  CentOS6, RabbitMQ  | Cpu: 4, Mem: 8G, Disk: 35G |
+| 10.10.100.123 |  centos  | mykey.key |  CentOS6, MongoDB  | Cpu: 8, Mem: 8G, Disk: 60G |
+| 10.10.100.160 |  centos  | mykey.key |  CentOS6, ELK  | Cpu: 8, Mem: 8G, Disk: 60G |
+| 10.10.100.173 |  centos  | mykey.key |  CentOS6, Redis  | Cpu: 4, Mem: 8G, Disk: 35G |
+| 10.10.100.23 |  root  | 62cddbcc624b1b072d84117cc0e5a4db |  CentOS7, Docker  | Cpu: 40, Mem: 128G, Disk: 800G |
+| 10.10.100.24 |  root  | 4fd19c28ee472ef9ebc3c06de9277c1b |  CentOS7, Docker  | Cpu: 40, Mem: 128G, Disk: 800G |
+| 10.10.100.25 |  root  | 61a12a65cd42ef77a52dfef8e436bacc |  CentOS7, Docker  | Cpu: 40, Mem: 128G, Disk: 800G |
+| 10.10.100.26 |  root  | 8743e445c7a308edf4588b7997b21c73 |  CentOS7, Docker  | Cpu: 40, Mem: 128G, Disk: 800G |
+
+> 构建
+
+* [jenkins](http://10.10.100.200:5001/job/saas/job/prod) **账号** admin **密码** select123***
+
+> 日志
+
+* [kibana](http://10.10.100.160:5601)
+* [logstash](tcp://10.10.100.160:5000)
+* [elasticsearch](http://10.10.100.160:9200/_search?pretty)
+
+> 服务
+
+* [eureka http://10.10.100.23:8500](http://10.10.100.23:8500) **账号** admin **密码** select111***
+* [gateway http://10.10.100.23:8560](https://saas-api.usoftchina.com)
+* [admin](http://10.10.100.23:8520) **账号** admin **密码** select111***
+* [zipkin](http://10.10.100.23:8540) **账号** admin **密码** select111***
+
+> 访问
+
+* [门户 https://saas.usoftchina.com](https://saas.usoftchina.com)
+* [系统 https://trade.usoftchina.com](https://trade.usoftchina.com)
+* [打印 https://saas-report.usoftchina.com](https://saas-report.usoftchina.com)
+* [接口 https://saas-api.usoftchina.com](https://saas-api.usoftchina.com)

+ 1 - 0
applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/exception/BizExceptionCode.java

@@ -86,6 +86,7 @@ public enum BizExceptionCode implements BaseExceptionCode {
     SUBLEDGER_NOT_EXIS(74005,"来源单据不存在"),
     CHECK_SETACOUNT_EXIS(74006, "不能删除单据日期小于等于结账期间<u>%s</u>的单据"),
     VERIFICATION_CHECK_BALANCE(74007,"核销金额不能大于未核销金额"),
+    DELETE_NOT_EXIS(74008,"删除失败,当前单据不存在!"),
 
 
 

+ 20 - 0
applications/commons/commons-server/src/main/resources/config/application-docker-prod.yml

@@ -0,0 +1,20 @@
+eureka:
+  instance:
+    hostname: saas-commons-server
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server:8500/eureka/
+spring:
+  rabbitmq:
+    host: 10.10.100.103
+    port: 5672
+    virtual-host: docker
+    username: saas
+    password: select123***
+  datasource:
+    url: jdbc:mysql://10.10.100.18:3306/saas_biz?characterEncoding=utf-8&useSSL=false
+    username: saas
+    password: select111***
+logging:
+  destination: 10.10.100.160:5000

+ 0 - 6
applications/document/document-dto/src/main/java/com.usoftchina.saas.document.dto/CustomerDTO.java

@@ -42,12 +42,6 @@ public class CustomerDTO extends CommonBaseDTO implements Serializable {
 
     private String cu_statuscode;
 
-    private Integer cu_recordmanid;
-
-    private String cu_recordman;
-
-    private Date cu_recorddate;
-
     private String cu_text1;
 
     private String cu_text2;

+ 0 - 213
applications/document/document-dto/src/main/java/com/usoftchina/saas/document/entities/Customer.java

@@ -38,12 +38,6 @@ public class Customer extends CommonBaseEntity implements Serializable {
 
     private String cu_statuscode;
 
-    private Integer cu_recordmanid;
-
-    private String cu_recordman;
-
-    private Date cu_recorddate;
-
     private String cu_text1;
 
     private String cu_text2;
@@ -60,211 +54,4 @@ public class Customer extends CommonBaseEntity implements Serializable {
 
     private Double cu_preamount;
 
-    public String getCu_code() {
-        return cu_code;
-    }
-
-    public void setCu_code(String cu_code) {
-        this.cu_code = cu_code;
-    }
-
-    public String getCu_name() {
-        return cu_name;
-    }
-
-    public void setCu_name(String cu_name) {
-        this.cu_name = cu_name;
-    }
-
-    public String getCu_uu() {
-        return cu_uu;
-    }
-
-    public void setCu_uu(String cu_uu) {
-        this.cu_uu = cu_uu;
-    }
-
-    public String getCu_type() {
-        return cu_type;
-    }
-
-    public void setCu_type(String cu_type) {
-        this.cu_type = cu_type;
-    }
-
-    public Date getCu_begindate() {
-        return cu_begindate;
-    }
-
-    public void setCu_begindate(Date cu_begindate) {
-        this.cu_begindate = cu_begindate;
-    }
-
-    public Double getCu_beginaramount() {
-        return cu_beginaramount;
-    }
-
-    public void setCu_beginaramount(Double cu_beginaramount) {
-        this.cu_beginaramount = cu_beginaramount;
-    }
-
-    public Double getCu_beginprerecamount() {
-        return cu_beginprerecamount;
-    }
-
-    public void setCu_beginprerecamount(Double cu_beginprerecamount) {
-        this.cu_beginprerecamount = cu_beginprerecamount;
-    }
-
-    public Double getCu_promisedays() {
-        return cu_promisedays;
-    }
-
-    public void setCu_promisedays(Double cu_promisedays) {
-        this.cu_promisedays = cu_promisedays;
-    }
-
-    public Double getCu_taxrate() {
-        return cu_taxrate;
-    }
-
-    public void setCu_taxrate(Double cu_taxrate) {
-        this.cu_taxrate = cu_taxrate;
-    }
-
-    public Integer getCu_sellerid() {
-        return cu_sellerid;
-    }
-
-    public void setCu_sellerid(Integer cu_sellerid) {
-        this.cu_sellerid = cu_sellerid;
-    }
-
-    public String getCu_sellercode() {
-        return cu_sellercode;
-    }
-
-    public void setCu_sellercode(String cu_sellercode) {
-        this.cu_sellercode = cu_sellercode;
-    }
-
-    public String getCu_sellername() {
-        return cu_sellername;
-    }
-
-    public void setCu_sellername(String cu_sellername) {
-        this.cu_sellername = cu_sellername;
-    }
-
-    public Double getCu_credit() {
-        return cu_credit;
-    }
-
-    public void setCu_credit(Double cu_credit) {
-        this.cu_credit = cu_credit;
-    }
-
-    public String getCu_status() {
-        return cu_status;
-    }
-
-    public void setCu_status(String cu_status) {
-        this.cu_status = cu_status;
-    }
-
-    public String getCu_statuscode() {
-        return cu_statuscode;
-    }
-
-    public void setCu_statuscode(String cu_statuscode) {
-        this.cu_statuscode = cu_statuscode;
-    }
-
-    public Integer getCu_recordmanid() {
-        return cu_recordmanid;
-    }
-
-    public void setCu_recordmanid(Integer cu_recordmanid) {
-        this.cu_recordmanid = cu_recordmanid;
-    }
-
-    public String getCu_recordman() {
-        return cu_recordman;
-    }
-
-    public void setCu_recordman(String cu_recordman) {
-        this.cu_recordman = cu_recordman;
-    }
-
-    public Date getCu_recorddate() {
-        return cu_recorddate;
-    }
-
-    public void setCu_recorddate(Date cu_recorddate) {
-        this.cu_recorddate = cu_recorddate;
-    }
-
-    public String getCu_text1() {
-        return cu_text1;
-    }
-
-    public void setCu_text1(String cu_text1) {
-        this.cu_text1 = cu_text1;
-    }
-
-    public String getCu_text2() {
-        return cu_text2;
-    }
-
-    public void setCu_text2(String cu_text2) {
-        this.cu_text2 = cu_text2;
-    }
-
-    public String getCu_text3() {
-        return cu_text3;
-    }
-
-    public void setCu_text3(String cu_text3) {
-        this.cu_text3 = cu_text3;
-    }
-
-    public String getCu_text4() {
-        return cu_text4;
-    }
-
-    public void setCu_text4(String cu_text4) {
-        this.cu_text4 = cu_text4;
-    }
-
-    public String getCu_text5() {
-        return cu_text5;
-    }
-
-    public void setCu_text5(String cu_text5) {
-        this.cu_text5 = cu_text5;
-    }
-
-    public Double getCu_leftamount() {
-        return cu_leftamount;
-    }
-
-    public void setCu_leftamount(Double cu_leftamount) {
-        this.cu_leftamount = cu_leftamount;
-    }
-
-    public Double getCu_recamount() {
-        return cu_recamount;
-    }
-
-    public void setCu_recamount(Double cu_recamount) {
-        this.cu_recamount = cu_recamount;
-    }
-
-    public Double getCu_preamount() {
-        return cu_preamount;
-    }
-
-    public void setCu_preamount(Double cu_preamount) {
-        this.cu_preamount = cu_preamount;
-    }
 }

+ 0 - 6
applications/document/document-dto/src/main/java/com/usoftchina/saas/document/entities/CustomerList.java

@@ -43,12 +43,6 @@ public class CustomerList extends CommonBaseEntity{
 
     private String cu_statuscode;
 
-    private Integer cu_recordmanid;
-
-    private String cu_recordman;
-
-    private Date cu_recorddate;
-
     private String cu_text1;
 
     private String cu_text2;

+ 1 - 2
applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/BomMapper.java

@@ -23,14 +23,13 @@ public interface BomMapper extends CommonBaseMapper<Bom> {
 
     int validCodeAndVersionWhenUpdate(@Param("code") String code, @Param("id") Long id, @Param("version") String version, @Param("companyId") Long companyId);
 
-
     int validateCodeWhenInsert(@Param("code") String code, @Param("companyId") Long companyId);
 
     int validateCodeWhenUpdate(@Param("code") String code, @Param("id") Long id, @Param("companyId") Long company);
 
     List<Bom> getListData(@Param("condition") String condition, @Param("companyId") Long companyId);
 
-    int getCountFromMake(Long id);
+    int getCountFromMake(@Param("code") String code,@Param("version") String version);
 
     void updateCreator(@Param("userId") Long userId,@Param("userName") String userName,@Param("id") Long id);
 }

+ 5 - 4
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/BomServiceImpl.java

@@ -124,7 +124,8 @@ public class BomServiceImpl extends CommonBaseServiceImpl<BomMapper, Bom> implem
         }
         //校验BOM资料是否已被使用
         Long prodId = getMapper().selectByPrimaryKey(id).getBo_motherid();
-        int count = getMapper().getCountFromMake(prodId);
+        Bom bom = getMapper().selectByPrimaryKey(id);
+        int count = getMapper().getCountFromMake(bom.getBo_mothercode(),bom.getBo_version());
         if (count > 0){
             throw new BizException(BizExceptionCode.BIZ_RELDELETE);
         }
@@ -194,12 +195,13 @@ public class BomServiceImpl extends CommonBaseServiceImpl<BomMapper, Bom> implem
         if(id != null && id > 0){
             //校验BOM资料是否已被使用
             Long prodId = getMapper().selectByPrimaryKey(id).getBo_motherid();
-            int count = getMapper().getCountFromMake(prodId);
+            Bom bom = getMapper().selectByPrimaryKey(id);
+            int count = getMapper().getCountFromMake(bom.getBo_mothercode(),bom.getBo_version());
             if (count > 0){
                 throw new BizException(BizExceptionCode.BIZ_RELCLOSE);
             }
 
-            Bom bom = new Bom();
+            bom = new Bom();
             bom.setId(id);
             bom.setBo_status(Status.CLOSE.getDisplay());
             bom.setBo_statuscode(Status.CLOSE.name());
@@ -232,7 +234,6 @@ public class BomServiceImpl extends CommonBaseServiceImpl<BomMapper, Bom> implem
                 bom.setBo_status(Status.OPEN.getDisplay());
                 bom.setUpdateTime(new Date());
                 bom.setUpdaterId(BaseContextHolder.getUserId());
-
                 getMapper().updateByPrimaryKeySelective(bom);
                 //记录LOG
                 DocBaseDTO docBaseDTO = generateMsgObj(id, code);

+ 1 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/CustomerServiceImpl.java

@@ -147,6 +147,7 @@ public class CustomerServiceImpl extends CommonBaseServiceImpl<CustomerMapper, C
                 String mes = String.format(BizExceptionCode.LIMIT_PERIOD_CUSTOMER.getMessage(),YM);
                 throw new BizException(code , mes);
             }
+            YM = beginDate;
         }
         //编号校验
         cu_code = RegexpUtils.replaceSpecCharacter(cu_code);

+ 1 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/VendorServiceImpl.java

@@ -133,6 +133,7 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
                 String mes = String.format(BizExceptionCode.LIMIT_PERIOD_VENDOR.getMessage(),YM);
                 throw new BizException(code , mes);
             }
+            YM = beginDate;
         }
         ve_code = RegexpUtils.replaceSpecCharacter(ve_code);
         String code = pushMaxnubmer(ve_code, main.getId());

+ 23 - 0
applications/document/document-server/src/main/resources/config/application-docker-prod.yml

@@ -0,0 +1,23 @@
+eureka:
+  instance:
+    hostname: saas-document-server
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server:8500/eureka/
+spring:
+  rabbitmq:
+    host: 10.10.100.103
+    port: 5672
+    virtual-host: docker
+    username: saas
+    password: select123***
+  datasource:
+    url: jdbc:mysql://10.10.100.18:3306/saas_biz?characterEncoding=utf-8&useSSL=false
+    username: saas
+    password: select111***
+  redis:
+    host: 10.10.100.173
+    port: 6379
+logging:
+  destination: 10.10.100.160:5000

+ 2 - 2
applications/document/document-server/src/main/resources/mapper/BomMapper.xml

@@ -295,8 +295,8 @@
     </where>
     ORDER BY BO_ID DESC
   </select>
-  <select id="getCountFromMake" parameterType="java.lang.Long" resultType="int">
-      SELECT COUNT(*) FROM MAKE WHERE MA_PRODID = #{id}
+  <select id="getCountFromMake" resultType="int">
+      SELECT COUNT(*) FROM MAKE WHERE  ma_prodcode = #{code} and ma_version = #{version}
   </select>
 
   <update id="updateCreator">

+ 0 - 3
applications/document/document-server/src/main/resources/mapper/CustomerListMapper.xml

@@ -18,9 +18,6 @@
     <result column="cu_credit" jdbcType="DOUBLE" property="cu_credit" />
     <result column="cu_status" jdbcType="VARCHAR" property="cu_status" />
     <result column="cu_statuscode" jdbcType="VARCHAR" property="cu_statuscode" />
-    <result column="cu_recordmanid" jdbcType="INTEGER" property="cu_recordmanid" />
-    <result column="cu_recordman" jdbcType="VARCHAR" property="cu_recordman" />
-    <result column="cu_recorddate" jdbcType="TIMESTAMP" property="cu_recorddate" />
     <result column="cu_leftamount" jdbcType="DOUBLE" property="cu_leftamount" />
     <result column="cu_recamount" jdbcType="DOUBLE" property="cu_recamount" />
     <result column="cu_preamount" jdbcType="DOUBLE" property="cu_preamount" />

+ 1 - 34
applications/document/document-server/src/main/resources/mapper/CustomerMapper.xml

@@ -18,9 +18,6 @@
     <result column="cu_credit" jdbcType="DOUBLE" property="cu_credit" />
     <result column="cu_status" jdbcType="VARCHAR" property="cu_status" />
     <result column="cu_statuscode" jdbcType="VARCHAR" property="cu_statuscode" />
-    <result column="cu_recordmanid" jdbcType="INTEGER" property="cu_recordmanid" />
-    <result column="cu_recordman" jdbcType="VARCHAR" property="cu_recordman" />
-    <result column="cu_recorddate" jdbcType="TIMESTAMP" property="cu_recorddate" />
     <result column="companyid" jdbcType="INTEGER" property="companyId" />
     <result column="updaterid" jdbcType="INTEGER" property="updaterId" />
     <result column="updatetime" jdbcType="TIMESTAMP" property="updateTime" />
@@ -36,7 +33,7 @@
   <sql id="Base_Column_List">
     cu_id, cu_code, cu_name, cu_uu, cu_type, cu_begindate, cu_beginaramount, cu_beginprerecamount, 
     cu_promisedays, cu_taxrate, cu_sellerid, cu_sellercode, cu_sellername, cu_credit, 
-    cu_status, cu_statuscode, cu_recordmanid, cu_recordman, cu_recorddate, companyid, 
+    cu_status, cu_statuscode, companyid,
     updaterid, updatetime, cu_text1, cu_text2, cu_text3, cu_text4, cu_text5, cu_leftamount, 
     cu_recamount,cu_preamount
   </sql>
@@ -102,15 +99,6 @@
       <if test="cu_statuscode != null">
         cu_statuscode,
       </if>
-      <if test="cu_recordmanid != null">
-        cu_recordmanid,
-      </if>
-      <if test="cu_recordman != null">
-        cu_recordman,
-      </if>
-      <if test="cu_recorddate != null">
-        cu_recorddate,
-      </if>
       <if test="companyId != null">
         companyid,
       </if>
@@ -192,15 +180,6 @@
       <if test="cu_statuscode != null">
         #{cu_statuscode,jdbcType=VARCHAR},
       </if>
-      <if test="cu_recordmanid != null">
-        #{cu_recordmanid,jdbcType=INTEGER},
-      </if>
-      <if test="cu_recordman != null">
-        #{cu_recordman,jdbcType=VARCHAR},
-      </if>
-      <if test="cu_recorddate != null">
-        #{cu_recorddate,jdbcType=TIMESTAMP},
-      </if>
       <if test="companyId != null">
         #{companyId,jdbcType=INTEGER},
       </if>
@@ -284,15 +263,6 @@
       <if test="cu_statuscode != null">
         cu_statuscode = #{cu_statuscode,jdbcType=VARCHAR},
       </if>
-      <if test="cu_recordmanid != null">
-        cu_recordmanid = #{cu_recordmanid,jdbcType=INTEGER},
-      </if>
-      <if test="cu_recordman != null">
-        cu_recordman = #{cu_recordman,jdbcType=VARCHAR},
-      </if>
-      <if test="cu_recorddate != null">
-        cu_recorddate = #{cu_recorddate,jdbcType=TIMESTAMP},
-      </if>
       <if test="companyId != null">
         companyid = #{companyId,jdbcType=INTEGER},
       </if>
@@ -346,9 +316,6 @@
       cu_credit = #{cu_credit,jdbcType=DOUBLE},
       cu_status = #{cu_status,jdbcType=VARCHAR},
       cu_statuscode = #{cu_statuscode,jdbcType=VARCHAR},
-      cu_recordmanid = #{cu_recordmanid,jdbcType=INTEGER},
-      cu_recordman = #{cu_recordman,jdbcType=VARCHAR},
-      cu_recorddate = #{cu_recorddate,jdbcType=TIMESTAMP},
       companyid = #{companyid,jdbcType=INTEGER},
       updaterid = #{updaterid,jdbcType=INTEGER},
       updatetime = #{updatetime,jdbcType=TIMESTAMP},

+ 1 - 1
applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/BanksubledgerMapper.java

@@ -17,7 +17,7 @@ public interface BanksubledgerMapper extends CommonBaseMapper<Banksubledger> {
 
     int deleteByExample(BanksubledgerExample example);
 
-    int deleteByPrimaryKey(@Param("code") String code, @Param("kind") String kind);
+    int deleteByPrimaryKey(@Param("code") String code, @Param("kind") String kind ,@Param("companyid") Long companyid);
 
 //    Long insert(Banksubledger record);
 

+ 1 - 1
applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/SubledgerMapper.java

@@ -13,7 +13,7 @@ import java.util.List;
  * @date 2018/11/6 10:33
  **/
 public interface SubledgerMapper {
-    int deleteByPrimaryKey(@Param("code") String code, @Param("kind") String kind);
+    int deleteByPrimaryKey(@Param("code") String code, @Param("kind") String kind , @Param("companyid") Long companyid);
 
     int insert(Subledger record);
 

+ 1 - 1
applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/VerificationMapper.java

@@ -39,5 +39,5 @@ public interface VerificationMapper extends CommonBaseMapper<Verification> {
 
     String validateResAudit(Long id);
 
-    int validateSetAcount(int detno);
+    int validateSetAcount(@Param("detno") int detno,@Param("companyid")Long companyid);
 }

+ 3 - 2
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/FundtransferServiceImpl.java

@@ -200,7 +200,7 @@ public class FundtransferServiceImpl extends CommonBaseServiceImpl<FundtransferM
 
         //删除中间表
         fundtransfer = fundtransferMapper.selectByPrimaryKey(id);
-        banksubledgerMapper.deleteByPrimaryKey(fundtransfer.getFt_code(), "资金转账");
+        banksubledgerMapper.deleteByPrimaryKey(fundtransfer.getFt_code(), "资金转账",BaseContextHolder.getCompanyId());
 
         //资金
         //取从表金额
@@ -256,9 +256,10 @@ public class FundtransferServiceImpl extends CommonBaseServiceImpl<FundtransferM
 
     @Override
     public void delete(int id) {
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
         fundtransferMapper.deleteByPrimaryKey(id);
         fundtransferdetailMapper.deleteByPrimaryKey(id);
-        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+
         //日志记录
         messageLogService.delete(baseDTO);
     }

+ 6 - 4
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/OthreceiptsServiceImpl.java

@@ -216,7 +216,7 @@ public class OthreceiptsServiceImpl extends CommonBaseServiceImpl<OthreceiptsMap
 
         //删除中间表
         othreceipts = othreceiptsMapper.selectByPrimaryKey(id);
-        banksubledgerMapper.deleteByPrimaryKey(othreceipts.getOr_code(), "其他收入单");
+        banksubledgerMapper.deleteByPrimaryKey(othreceipts.getOr_code(), "其他收入单",BaseContextHolder.getCompanyId());
 
 
         //更新资金
@@ -263,7 +263,7 @@ public class OthreceiptsServiceImpl extends CommonBaseServiceImpl<OthreceiptsMap
             customer.setCu_recamount(recamount - or_amount);
             customer.setCu_leftamount(beginapamount + beginprepayamount + recamount - or_amount - preamount);
             recbalanceMapper.updateCustomerByPrimaryKeySelective(customer);
-            subledgerMapper.deleteByPrimaryKey(othreceipts.getOr_code(), "其他收入单");
+            subledgerMapper.deleteByPrimaryKey(othreceipts.getOr_code(), "其他收入单",BaseContextHolder.getCompanyId());
         }
 
 
@@ -287,16 +287,18 @@ public class OthreceiptsServiceImpl extends CommonBaseServiceImpl<OthreceiptsMap
 
     @Override
     public void delete(int id) {
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
         othreceiptsMapper.deleteByPrimaryKey(id);
         othreceiptsdetailMapper.deleteByPrimaryKey(id);
-        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+
         //日志记录
         messageLogService.delete(baseDTO);
     }
 
     public void deleteItem(int id) {
-        othreceiptsdetailMapper.deleteItem(id);
         DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        othreceiptsdetailMapper.deleteItem(id);
+
         //日志记录
         messageLogService.deleteDetail(baseDTO);
     }

+ 7 - 4
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/OthspendingsServiceImpl.java

@@ -106,17 +106,20 @@ public class OthspendingsServiceImpl extends CommonBaseServiceImpl<OthspendingsM
 
     @Override
     public void delete(int id) {
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+
         othspendingsMapper.deleteByPrimaryKey(id);
         othspendingsdetailMapper.deleteItem(id);
-        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+
         //日志记录
         messageLogService.delete(baseDTO);
     }
 
     @Override
     public void deleteItem(int id) {
-        othspendingsdetailMapper.deleteItem(id);
         DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        othspendingsdetailMapper.deleteItem(id);
+
         //日志记录
         messageLogService.deleteDetail(baseDTO);
     }
@@ -248,7 +251,7 @@ public class OthspendingsServiceImpl extends CommonBaseServiceImpl<OthspendingsM
 
         //删除中间表
         othspendings = othspendingsMapper.selectByPrimaryKey(id);
-        banksubledgerMapper.deleteByPrimaryKey(othspendings.getOs_code(), "其他支出单");
+        banksubledgerMapper.deleteByPrimaryKey(othspendings.getOs_code(), "其他支出单",BaseContextHolder.getCompanyId());
 
         //资金
         Double amount = banksubledgerMapper.selectThisamount(othspendings.getOs_bankcode());
@@ -294,7 +297,7 @@ public class OthspendingsServiceImpl extends CommonBaseServiceImpl<OthspendingsM
             vendor.setVe_leftamount(beginapamount + beginprepayamount - payamount + bk_amount + preamount);
             paybalanceMapper.updateVendorByPrimaryKeySelective(vendor);
 
-            subledgerMapper.deleteByPrimaryKey(othspendings.getOs_code(), "其他支出单");
+            subledgerMapper.deleteByPrimaryKey(othspendings.getOs_code(), "其他支出单",BaseContextHolder.getCompanyId());
         }
 
 

+ 7 - 4
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/PaybalanceServiceImpl.java

@@ -354,8 +354,8 @@ public class PaybalanceServiceImpl extends CommonBaseServiceImpl<PaybalanceMappe
 
         //删除中间表
         paybalance = paybalanceMapper.selectByPrimaryKey(Long.valueOf(id));
-        subledgerMapper.deleteByPrimaryKey(paybalance.getPb_code(), paybalance.getPb_kind());
-        banksubledgerMapper.deleteByPrimaryKey(paybalance.getPb_code(), paybalance.getPb_kind());
+        subledgerMapper.deleteByPrimaryKey(paybalance.getPb_code(), paybalance.getPb_kind(),BaseContextHolder.getCompanyId());
+        banksubledgerMapper.deleteByPrimaryKey(paybalance.getPb_code(), paybalance.getPb_kind(),BaseContextHolder.getCompanyId());
 
         //计算期间金额
         Statsinfo statsinfo = new Statsinfo();
@@ -377,10 +377,12 @@ public class PaybalanceServiceImpl extends CommonBaseServiceImpl<PaybalanceMappe
     }
 
     public void delete(int id){
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+
         paybalanceMapper.deleteByPrimaryKey(id);
         paybalancedetailMapper.deleteByPrimaryKey(id);
         paybalancedetMapper.deleteByPrimaryKey(id);
-        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+
         //日志记录
         messageLogService.delete(baseDTO);
     }
@@ -395,8 +397,9 @@ public class PaybalanceServiceImpl extends CommonBaseServiceImpl<PaybalanceMappe
 
     @Override
     public void deleteItems(int id) {
-        paybalancedetailMapper.deleteItem(id);
         DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        paybalancedetailMapper.deleteItem(id);
+
         //日志记录
         messageLogService.deleteDetail(baseDTO);
     }

+ 20 - 32
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/RecbalanceServiceImpl.java

@@ -192,10 +192,12 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
 
     @Override
     public void delete(int id) {
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+
         recbalanceMapper.deleteByPrimaryKey(id);
-        recbalancedetMapper.deleteByPrimaryKey(id);
         recbalancedetailMapper.deleteByPrimaryKey(id);
-        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        recbalancedetMapper.deleteByPrimaryKey(id);
+
         //日志记录
         messageLogService.delete(baseDTO);
     }
@@ -214,16 +216,18 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
 
     @Override
     public void deleteItem(int id) {
-        recbalancedetMapper.deleteItem(id);
         DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        recbalancedetMapper.deleteItem(id);
+
         //日志记录
         messageLogService.deleteDetail(baseDTO);
     }
 
     @Override
     public void deleteItems(int id) {
-        recbalancedetailMapper.deleteItem(id);
         DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        recbalancedetailMapper.deleteItem(id);
+
         //日志记录
         messageLogService.deleteDetail(baseDTO);
     }
@@ -378,8 +382,8 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
 
         //删除中间表
         recbalance = recbalanceMapper.selectByPrimaryKey(id.intValue());
-        subledgerMapper.deleteByPrimaryKey(recbalance.getRb_code(), recbalance.getRb_kind());
-        banksubledgerMapper.deleteByPrimaryKey(recbalance.getRb_code(), recbalance.getRb_kind());
+        subledgerMapper.deleteByPrimaryKey(recbalance.getRb_code(), recbalance.getRb_kind(),BaseContextHolder.getCompanyId());
+        banksubledgerMapper.deleteByPrimaryKey(recbalance.getRb_code(), recbalance.getRb_kind(),BaseContextHolder.getCompanyId());
 
         //更新源单数据
         List<Recbalancedetail> recbalancedetail = recbalancedetailMapper.selectByPrimaryKey(Math.toIntExact(id));
@@ -516,32 +520,15 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
         subledger.setSl_vendid(0);
         subledger.setSl_date(recbalance.getRb_date());
         subledger.setSl_ym(DateUtils.getYm(recbalance.getRb_date()));
-        if (recbalance.getRb_rdamount() == null){
-            subledger.setSl_amount((double) 0);
-        }else {
-            subledger.setSl_amount(recbalance.getRb_rdamount() * -1);
-        }
-        subledger.setSl_orderamount(recbalance.getRb_rdamount());
-
-        Double yamount = recbalance.getRb_preamount();
-        if (yamount == null){
-            yamount = Double.valueOf(0);
-        }
-        if (yamount > 0 || yamount < 0){
-            subledger.setSl_yamount(yamount);
-        }else {
-            subledger.setSl_yamount((double) 0);
-        }
-        if (subledger.getSl_orderamount() == null){
-            subledger.setSl_orderamount((double) 0);
-        }
+        Double rdamount = recbalance.getRb_rdamount()==null?new Double(0):recbalance.getRb_rdamount();
+        Double preamount = recbalance.getRb_preamount()==null?new Double(0):recbalance.getRb_preamount();
+        subledger.setSl_amount(-rdamount);
+        subledger.setSl_yamount(preamount);
+        subledger.setSl_orderamount(rdamount);
 
-        if (subledger.getSl_discount() == null){
-            subledger.setSl_discount((double) 0);
-        }
-        subledger.setSl_namount(subledger.getSl_orderamount() + subledger.getSl_discount() - subledger.getSl_yamount());
+        subledger.setSl_namount(rdamount-preamount);
         subledger.setSl_remark(subledger.getSl_remark());
-        subledger.setSl_preamount(subledger.getSl_preamount());
+        subledger.setSl_preamount(preamount);
 
         subledgerMapper.insertSelective(subledger);
     }
@@ -569,10 +556,11 @@ public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMappe
             banksubledger.setBl_assid(recbalance.getRb_custid());
             banksubledger.setBl_asscode(recbalance.getRb_custcode());
             banksubledger.setBl_assname(recbalance.getRb_custname());
-            banksubledger.setBl_spending(recbalancedet.getRd_amount());
+            Double amount = recbalancedet.getRd_amount()==null?new Double(0):recbalancedet.getRd_amount();
+            banksubledger.setBl_spending(amount);
             banksubledger.setBl_manname(recbalance.getRb_manname());
             banksubledger.setBl_remark(recbalancedet.getRd_remark());
-            banksubledger.setBl_orderamount(recbalancedet.getRd_amount());
+            banksubledger.setBl_orderamount(amount);
             if (banksubledgerMapper.selectCode(banksubledger.getBl_code()) == null){
                 banksubledgerMapper.insertSelective(banksubledger);
             }else {

+ 25 - 22
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/VerificationServiceImpl.java

@@ -373,27 +373,30 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
         if (null != id) {
             Verification verification = verificationMapper.selectByPrimaryKey(Math.toIntExact(id));
             SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMM");
-            String ym = simpleDateFormat.format(verification.getVc_date());
-            int detno = Integer.valueOf(ym);
-            if(checkSetAcount(detno)){
-                throw new BizException(500, BizExceptionCode.CHECK_SETACOUNT_EXIS.getMessage());
+            if(verification!=null){
+                String ym = simpleDateFormat.format(verification.getVc_date());
+                int detno = Integer.valueOf(ym);
+                if(checkSetAcount(detno)){
+                    throw new BizException(500, String.format(BizExceptionCode.CHECK_SETACOUNT_EXIS.getMessage(),detno));
+                }
+                //删除中间表
+                subledgerMapper.deleteByPrimaryKey(verification.getVc_code(),verification.getVc_kind(),BaseContextHolder.getCompanyId());
+
+                //从表删除
+                verificationdetMapper.deleteByParentPrimaryKey(id);
+                verificationdetailMapper.deleteByParentPrimaryKey(id);
+                //主表删除
+                verificationMapper.deleteByPrimaryKey(id);
+
+                DocBaseDTO baseDTO = new DocBaseDTO();
+                baseDTO.setId(id);
+                baseDTO.setCode(verification.getVc_code());
+                baseDTO.setName(BillCodeSeq.VERIFICATION.getName());
+                //日志
+                messageLogService.delete(baseDTO);
+            }else{
+                throw new BizException(500, BizExceptionCode.DELETE_NOT_EXIS.getMessage());
             }
-            //删除中间表
-            subledgerMapper.deleteByPrimaryKey(verification.getVc_code(),verification.getVc_kind());
-
-            //从表删除
-            verificationdetMapper.deleteByParentPrimaryKey(id);
-            verificationdetailMapper.deleteByParentPrimaryKey(id);
-            //主表删除
-            verificationMapper.deleteByPrimaryKey(id);
-
-            String code = verificationMapper.selectCodeById(id);
-            DocBaseDTO baseDTO = new DocBaseDTO();
-            baseDTO.setId(id);
-            baseDTO.setCode(code);
-            baseDTO.setName(BillCodeSeq.VERIFICATION.getName());
-            //日志
-            messageLogService.delete(baseDTO);
         }
     }
 
@@ -401,9 +404,9 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
      *
      * @param detno
      */
-    private boolean checkSetAcount(Integer detno){
+    private boolean checkSetAcount(int detno){
         boolean isSetAcount = false;
-        int count = verificationMapper.validateSetAcount(detno);
+        int count = verificationMapper.validateSetAcount(detno,BaseContextHolder.getCompanyId());
         if(count>0){
             isSetAcount = true;
         }

+ 23 - 0
applications/money/money-server/src/main/resources/config/application-docker-prod.yml

@@ -0,0 +1,23 @@
+eureka:
+  instance:
+    hostname: saas-money-server
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server:8500/eureka/
+spring:
+  rabbitmq:
+    host: 10.10.100.103
+    port: 5672
+    virtual-host: docker
+    username: saas
+    password: select123***
+  datasource:
+    url: jdbc:mysql://10.10.100.18:3306/saas_biz?characterEncoding=utf-8&useSSL=false
+    username: saas
+    password: select111***
+  redis:
+    host: 10.10.100.173
+    port: 6379
+logging:
+  destination: 10.10.100.160:5000

+ 2 - 1
applications/money/money-server/src/main/resources/mapper/BanksubledgerMapper.xml

@@ -107,9 +107,10 @@
         from banksubledger
         where bl_id = #{bl_id,jdbcType=INTEGER}
     </select>
-    <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
+    <delete id="deleteByPrimaryKey">
     delete from banksubledger
     where bl_id = #{code,jdbcType=VARCHAR} and bl_kind = #{kind, jdbcType=VARCHAR}
+    and companyid = #{companyid}
   </delete>
     <delete id="deleteByExample" parameterType="com.usoftchina.saas.money.po.BanksubledgerExample">
         delete from banksubledger

+ 2 - 1
applications/money/money-server/src/main/resources/mapper/SubledgerMapper.xml

@@ -37,9 +37,10 @@
     from subledger
     where sl_id = #{sl_id,jdbcType=INTEGER}
   </select>
-  <delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
+  <delete id="deleteByPrimaryKey" >
     delete from subledger
     where sl_code = #{code,jdbcType=VARCHAR} and sl_kind = #{kind, jdbcType=VARCHAR}
+    and companyid = #{companyid}
   </delete>
   <insert id="insert" parameterType="com.usoftchina.saas.money.po.Subledger" >
     insert into subledger (sl_id, sl_code, sl_kind, 

+ 3 - 2
applications/money/money-server/src/main/resources/mapper/VerificationMapper.xml

@@ -645,8 +645,9 @@
     select vc_code from Verification where vc_id = #{id} and IFNULL(vc_statuscode,'UNAUDITED')='UNAUDITED'
   </select>
 
-  <select id="validateSetAcount" parameterType="long" resultType="java.lang.String">
-    select count(1) from periodsdetail where pd_detno = #{detno} and IFNULL(pd_status,0)=0
+  <select id="validateSetAcount" resultType="java.lang.Integer">
+    select count(1) from periodsdetail where pd_detno = #{detno} and IFNULL(pd_status,0)=99
+    and companyid= #{companyid}
   </select>
   <select id="checkStatus" resultType="int">
     select count(1) from Verification where ifnull(vc_statuscode,'')='AUDITED' and vc_id= #{id,jdbcType=INTEGER}

+ 0 - 6
applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/ProdInOutDTO.java

@@ -43,12 +43,6 @@ public class ProdInOutDTO extends CommonBaseDTO implements Serializable {
 
     private Double pi_nettotal;
 
-    private Long pi_recordmanid;
-
-    private String pi_recordman;
-
-    private Date pi_recorddate;
-
     private String pi_status;
 
     private String pi_statuscode;

+ 1 - 7
applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/ProdInOutListDTO.java

@@ -40,13 +40,7 @@ public class ProdInOutListDTO extends CommonBaseDTO implements Serializable {
     private String pi_sacode;
 
     private Double pi_total;
-
-    private Integer pi_recordmanid;
-
-    private String pi_recordman;
-
-    private Date pi_recorddate;
-
+    
     private String pi_status;
 
     private String pi_statuscode;

+ 0 - 6
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/po/ProdInOut.java

@@ -39,12 +39,6 @@ public class ProdInOut extends CommonBaseEntity implements Serializable {
 
     private Double pi_nettotal;
 
-    private Long pi_recordmanid;
-
-    private String pi_recordman;
-
-    private Date pi_recorddate;
-
     private String pi_status;
 
     private String pi_statuscode;

+ 0 - 6
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/po/ProdInOutList.java

@@ -40,12 +40,6 @@ public class ProdInOutList extends CommonBaseEntity{
 
     private Double pi_total;
 
-    private Integer pi_recordmanid;
-
-    private String pi_recordman;
-
-    private Date pi_recorddate;
-
     private String pi_status;
 
     private String pi_statuscode;

+ 0 - 2
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/PurchaseServiceImpl.java

@@ -432,7 +432,6 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
         prodInOut.setPi_date(new Date());
         prodInOut.setPi_status("未审核");
         prodInOut.setPi_statuscode("UNAUDITED");
-        prodInOut.setPi_recorddate(new Date());
         prodInOut.setPi_vendid(purchase.getPu_vendid());
         prodInOut.setPi_vendcode(purchase.getPu_vendcode());
         prodInOut.setPi_vendname(purchase.getPu_vendname());
@@ -441,7 +440,6 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
         //设置付款状态
         prodInOut.setPi_prstatus(Status.PAYNONE.getDisplay());
         prodInOut.setPi_prstatuscode(Status.PAYNONE.name());
-
         //设置公司id
         prodInOut.setCompanyId(purchase.getCompanyId());
         prodInOut.setCreatorId(userId);

+ 20 - 0
applications/purchase/purchase-server/src/main/resources/config/application-docker-prod.yml

@@ -0,0 +1,20 @@
+eureka:
+  instance:
+    hostname: saas-purchase-server
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server:8500/eureka/
+spring:
+  rabbitmq:
+    host: 10.10.100.103
+    port: 5672
+    virtual-host: docker
+    username: saas
+    password: select123***
+  datasource:
+    url: jdbc:mysql://10.10.100.18:3306/saas_biz?characterEncoding=utf-8&useSSL=false
+    username: saas
+    password: select111***
+logging:
+  destination: 10.10.100.160:5000

+ 0 - 3
applications/purchase/purchase-server/src/main/resources/mapper/ProdIODetailMapper.xml

@@ -62,9 +62,6 @@
       <result column="pr_vendid" property="pr_vendid"/>
       <result column="pr_vendname" property="pr_vendname"/>
       <result column="pr_vendcode" property="pr_vendcode"/>
-      <result column="pr_docdate" property="pr_docdate"/>
-      <result column="pr_recordmanid" property="pr_recordmanid"/>
-      <result column="pr_recordman" property="pr_recordman"/>
       <result column="pr_status" property="pr_status"/>
       <result column="pr_statuscode" property="pr_statuscode"/>
       <result column="pr_text1" property="pr_text1"/>

+ 0 - 6
applications/purchase/purchase-server/src/main/resources/mapper/ProdInOutListMapper.xml

@@ -17,9 +17,6 @@
     <result column="pi_said" jdbcType="INTEGER" property="pi_said" />
     <result column="pi_sacode" jdbcType="VARCHAR" property="pi_sacode" />
     <result column="pi_total" jdbcType="DOUBLE" property="pi_total" />
-    <result column="pi_recordmanid" jdbcType="INTEGER" property="pi_recordmanid" />
-    <result column="pi_recordman" jdbcType="VARCHAR" property="pi_recordman" />
-    <result column="pi_recorddate" jdbcType="TIMESTAMP" property="pi_recorddate" />
     <result column="pi_status" jdbcType="VARCHAR" property="pi_status" />
     <result column="pi_statuscode" jdbcType="VARCHAR" property="pi_statuscode" />
     <result column="pi_printstatus" jdbcType="VARCHAR" property="pi_printstatus" />
@@ -96,9 +93,6 @@
     <result column="pr_vendid" property="pr_vendid"/>
     <result column="pr_vendname" property="pr_vendname"/>
     <result column="pr_vendcode" property="pr_vendcode"/>
-    <result column="pr_docdate" property="pr_docdate"/>
-    <result column="pr_recordmanid" property="pr_recordmanid"/>
-    <result column="pr_recordman" property="pr_recordman"/>
     <result column="pr_status" property="pr_status"/>
     <result column="pr_statuscode" property="pr_statuscode"/>
     <result column="pr_text1" property="pr_text1"/>

+ 1 - 26
applications/purchase/purchase-server/src/main/resources/mapper/ProdInOutMapper.xml

@@ -17,9 +17,6 @@
     <result column="pi_said" jdbcType="INTEGER" property="pi_said" />
     <result column="pi_sacode" jdbcType="VARCHAR" property="pi_sacode" />
     <result column="pi_total" jdbcType="DOUBLE" property="pi_total" />
-    <result column="pi_recordmanid" jdbcType="INTEGER" property="pi_recordmanid" />
-    <result column="pi_recordman" jdbcType="VARCHAR" property="pi_recordman" />
-    <result column="pi_recorddate" jdbcType="TIMESTAMP" property="createTime" />
     <result column="pi_status" jdbcType="VARCHAR" property="pi_status" />
     <result column="pi_statuscode" jdbcType="VARCHAR" property="pi_statuscode" />
     <result column="pi_printstatus" jdbcType="VARCHAR" property="pi_printstatus" />
@@ -52,8 +49,7 @@
 
   <sql id="Base_Column_List">
     pi_id, pi_inoutno, pi_class, pi_date, pi_vendid, pi_vendcode, pi_vendname, pi_custid, 
-    pi_custcode, pi_custname, pi_puid, pi_pucode, pi_said, pi_sacode, pi_total, pi_recordmanid, 
-    pi_recordman, pi_recorddate, pi_status, pi_statuscode, pi_printstatus, pi_printstatuscode, 
+    pi_custcode, pi_custname, pi_puid, pi_pucode, pi_said, pi_sacode, pi_total, pi_status, pi_statuscode, pi_printstatus, pi_printstatuscode,
     companyid, updaterid,updaterName,updatetime,creatorid,creatorName,createtime, pi_text1, pi_text2, pi_text3, pi_text4, pi_text5,pi_auditdate,
     pi_auditman,pi_remark,pi_ioid,pi_iocode,pi_prstatus,pi_prstatuscode
   </sql>
@@ -123,12 +119,6 @@
       <if test="pi_total != null">
         pi_total,
       </if>
-      <if test="pi_recordmanid != null">
-        pi_recordmanid,
-      </if>
-      <if test="pi_recordman != null">
-        pi_recordman,
-      </if>
       <if test="pi_status != null">
         pi_status,
       </if>
@@ -247,12 +237,6 @@
       <if test="pi_total != null">
         #{pi_total,jdbcType=DOUBLE},
       </if>
-      <if test="pi_recordmanid != null">
-        #{pi_recordmanid,jdbcType=INTEGER},
-      </if>
-      <if test="pi_recordman != null">
-        #{pi_recordman,jdbcType=VARCHAR},
-      </if>
       <if test="pi_status != null">
         #{pi_status,jdbcType=VARCHAR},
       </if>
@@ -375,15 +359,6 @@
       <if test="pi_total != null">
         pi_total = #{pi_total,jdbcType=DOUBLE},
       </if>
-      <if test="pi_recordmanid != null">
-        pi_recordmanid = #{pi_recordmanid,jdbcType=INTEGER},
-      </if>
-      <if test="pi_recordman != null">
-        pi_recordman = #{pi_recordman,jdbcType=VARCHAR},
-      </if>
-      <if test="createTime != null">
-        pi_recorddate = #{createTime,jdbcType=TIMESTAMP},
-      </if>
       <if test="pi_status != null">
         pi_status = #{pi_status,jdbcType=VARCHAR},
       </if>

+ 0 - 4
applications/purchase/purchase-server/src/main/resources/mapper/PurchaseListMapper.xml

@@ -16,7 +16,6 @@
         <result column="PU_TOTAL" property="pu_total" jdbcType="DOUBLE" />
         <result column="PU_REMARK" property="pu_remark" jdbcType="VARCHAR" />
         <result column="PU_TOTALUPPER" property="pu_totalupper" jdbcType="VARCHAR" />
-        <result column="PU_INDATE" property="createTime" jdbcType="TIMESTAMP" />
         <result column="PU_PRINTSTATUS" property="pu_printstatus" jdbcType="VARCHAR" />
         <result column="PU_PRINTSTATUSCODE" property="pu_printstatuscode" jdbcType="VARCHAR" />
         <result column="PU_ACCEPTSTATUSCODE" property="pu_acceptstatuscode" jdbcType="VARCHAR" />
@@ -79,9 +78,6 @@
         <result column="pr_vendid" property="pr_vendid"/>
         <result column="pr_vendname" property="pr_vendname"/>
         <result column="pr_vendcode" property="pr_vendcode"/>
-        <result column="pr_docdate" property="pr_docdate"/>
-        <result column="pr_recordmanid" property="pr_recordmanid"/>
-        <result column="pr_recordman" property="pr_recordman"/>
         <result column="pr_status" property="pr_status"/>
         <result column="pr_statuscode" property="pr_statuscode"/>
         <result column="pr_text1" property="pr_text1"/>

+ 1 - 6
applications/purchase/purchase-server/src/main/resources/mapper/PurchaseMapper.xml

@@ -16,7 +16,6 @@
     <result column="PU_TOTAL" property="pu_total" jdbcType="DOUBLE" />
     <result column="PU_REMARK" property="pu_remark" jdbcType="VARCHAR" />
     <result column="PU_TOTALUPPER" property="pu_totalupper" jdbcType="VARCHAR" />
-    <result column="PU_INDATE" property="createTime" jdbcType="TIMESTAMP" />
     <result column="PU_PRINTSTATUS" property="pu_printstatus" jdbcType="VARCHAR" />
     <result column="PU_PRINTSTATUSCODE" property="pu_printstatuscode" jdbcType="VARCHAR" />
     <result column="PU_ACCEPTSTATUSCODE" property="pu_acceptstatuscode" jdbcType="VARCHAR" />
@@ -44,7 +43,7 @@
 
   <sql id="Base_Column_List" >
     pu_id, pu_code, pu_date, pu_vendid, PU_VENDCODE, PU_VENDNAME, PU_BUYERID, PU_BUYERCODE, 
-    PU_BUYERNAME, PU_DELIVERY, PU_TAXTOTAL, PU_TOTAL, PU_REMARK, PU_TOTALUPPER, PU_INDATE, 
+    PU_BUYERNAME, PU_DELIVERY, PU_TAXTOTAL, PU_TOTAL, PU_REMARK, PU_TOTALUPPER,
     PU_PRINTSTATUS, PU_PRINTSTATUSCODE, PU_ACCEPTSTATUSCODE, PU_ACCEPTSTATUS, PU_STATUSCODE, 
     PU_STATUS, companyid, updaterId,updaterName,updateTime,creatorid,creatorName,createtime, pu_text1, pu_text2, pu_text3, pu_text4,
     pu_text5,pu_auditman,pu_auditdate
@@ -309,9 +308,6 @@
       <if test="pu_totalupper != null" >
         PU_TOTALUPPER = #{pu_totalupper,jdbcType=VARCHAR},
       </if>
-      <if test="createTime != null" >
-        PU_INDATE = #{createTime,jdbcType=TIMESTAMP},
-      </if>
       <if test="pu_printstatus != null" >
         PU_PRINTSTATUS = #{pu_printstatus,jdbcType=VARCHAR},
       </if>
@@ -378,7 +374,6 @@
       PU_TOTAL = #{pu_total,jdbcType=DOUBLE},
       PU_REMARK = #{pu_remark,jdbcType=VARCHAR},
       PU_TOTALUPPER = #{pu_totalupper,jdbcType=VARCHAR},
-      PU_INDATE = #{createTime,jdbcType=TIMESTAMP},
       PU_PRINTSTATUS = #{pu_printstatus,jdbcType=VARCHAR},
       PU_PRINTSTATUSCODE = #{pu_printstatuscode,jdbcType=VARCHAR},
       PU_ACCEPTSTATUSCODE = #{pu_acceptstatuscode,jdbcType=VARCHAR},

+ 1 - 1
applications/purchase/purchase-server/src/main/resources/mapper/PurchaseReportMapper.xml

@@ -17,7 +17,7 @@
 
     <result column="creatorid" property="creatorId" jdbcType="INTEGER"/>
     <result column="createtime" property="createTime" jdbcType="TIMESTAMP" />
-    <result column="creator" property="creator" jdbcType="VARCHAR" />
+    <result column="creator" property="creatorName" jdbcType="VARCHAR" />
   </resultMap>
   <resultMap id="ListMap" type="com.usoftchina.saas.purchase.po.report.PurchaseReportDetail">
     <id column="pu_id" property="pu_id" jdbcType="INTEGER" />

+ 0 - 3
applications/purchase/purchase-server/src/main/resources/mapper/PurchasedetailMapper.xml

@@ -50,9 +50,6 @@
       <result column="pr_vendid" property="pr_vendid"/>
       <result column="pr_vendname" property="pr_vendname"/>
       <result column="pr_vendcode" property="pr_vendcode"/>
-      <result column="pr_docdate" property="pr_docdate"/>
-      <result column="pr_recordmanid" property="pr_recordmanid"/>
-      <result column="pr_recordman" property="pr_recordman"/>
       <result column="pr_status" property="pr_status"/>
       <result column="pr_statuscode" property="pr_statuscode"/>
       <result column="pr_text1" property="pr_text1"/>

+ 20 - 0
applications/sale/sale-server/src/main/resources/config/application-docker-prod.yml

@@ -0,0 +1,20 @@
+eureka:
+  instance:
+    hostname: saas-sale-server
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server:8500/eureka/
+spring:
+  rabbitmq:
+    host: 10.10.100.103
+    port: 5672
+    virtual-host: docker
+    username: saas
+    password: select123***
+  datasource:
+    url: jdbc:mysql://10.10.100.18:3306/saas_biz?characterEncoding=utf-8&useSSL=false
+    username: saas
+    password: select111***
+logging:
+  destination: 10.10.100.160:5000

+ 2 - 1
applications/sale/sale-server/src/main/resources/mapper/SaleMapper.xml

@@ -35,6 +35,7 @@
     <result column="sa_date" property="sa_date" jdbcType="TIMESTAMP"/>
     <result column="creatorName" property="creatorName" jdbcType="VARCHAR" />
     <result column="updaterName" property="updaterName" jdbcType="VARCHAR" />
+    <result column="createTime" property="createTime" jdbcType="TIMESTAMP"/>
   </resultMap>
   <sql id="Base_Column_List" >
     sa_id, sa_code, sa_custid, sa_custcode, sa_custname, sa_toplace, sa_total, sa_totalupper, 
@@ -419,7 +420,7 @@
     and ifnull(sd_yqty, 0) > 0;
   </select>
   <update id="updateCreator">
-    update sale set creatorId = #{userId} , creatorName=#{userName} where sa_id=#{id}
+    update sale set creatorId = #{userId} ,createTime=now(), creatorName=#{userName} where sa_id=#{id}
   </update>
 
   <select id="checkIsTurnPurchase"  resultType="java.lang.String">

+ 0 - 6
applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/dto/ProdInOutDTO.java

@@ -45,12 +45,6 @@ public class ProdInOutDTO extends CommonBaseDTO implements Serializable {
 
     private Double pi_nettotal;
 
-    private Long pi_recordmanid;
-
-    private String pi_recordman;
-
-    private Date pi_recorddate;
-
     private String pi_status;
 
     private String pi_statuscode;

+ 0 - 6
applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/dto/ProdInOutListDTO.java

@@ -41,12 +41,6 @@ public class ProdInOutListDTO extends CommonBaseEntity implements Serializable {
 
     private Double pi_total;
 
-    private Long pi_recordmanid;
-
-    private String pi_recordman;
-
-    private Date pi_recorddate;
-
     private String pi_status;
 
     private String pi_statuscode;

+ 0 - 6
applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/po/Make.java

@@ -36,12 +36,6 @@ public class Make extends CommonBaseEntity implements Serializable {
 
     private String ma_whname;
 
-    private Date ma_recorddate;
-
-    private Integer ma_recordid;
-
-    private String ma_recorder;
-
     private Double ma_price;
 
     private Double ma_total;

+ 0 - 6
applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/po/ProdInOut.java

@@ -39,12 +39,6 @@ public class ProdInOut extends CommonBaseEntity implements Serializable {
 
     private Double pi_nettotal;
 
-    private Long pi_recordmanid;
-
-    private String pi_recordman;
-
-    private Date pi_recorddate;
-
     private String pi_status;
 
     private String pi_statuscode;

+ 0 - 6
applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/po/ProdInOutList.java

@@ -40,12 +40,6 @@ public class ProdInOutList extends CommonBaseEntity{
 
     private Double pi_total;
 
-    private Long pi_recordmanid;
-
-    private String pi_recordman;
-
-    private Date pi_recorddate;
-
     private String pi_status;
 
     private String pi_statuscode;

+ 16 - 15
applications/storage/storage-server/src/main/java/com/usoftchina/saas/storage/service/impl/MakeServiceImpl.java

@@ -353,6 +353,11 @@ public class MakeServiceImpl extends CommonBaseServiceImpl<MakeMapper, Make> imp
         Make make = makeListDTO.getMain();
         Long ma_id = make.getId();
         List<MakeMaterial> items = makeListDTO.getItems();
+        //公司ID
+        Long companyId = BaseContextHolder.getCompanyId();
+        //人员Id
+        Long userId = BaseContextHolder.getUserId();
+        String userName = BaseContextHolder.getUserName();
         Result res = null;
         Object result =  null;
         if ("组装".equals(make.getMa_type())){
@@ -363,18 +368,17 @@ public class MakeServiceImpl extends CommonBaseServiceImpl<MakeMapper, Make> imp
             String code = maxnumberService.getMaxnumber("MakeOut", true).getData();
             prodInOut.setPi_inoutno(code);
             prodInOut.setPi_date(new Date());       //出入库日期
-            prodInOut.setPi_recorddate(new Date());     //录入日期
             prodInOut.setPi_auditdate(new Date());      //审核日期
             prodInOut.setPi_auditman("");               //审核人
             prodInOut.setPi_status(Status.UNAUDITED.getDisplay());  //单据状态
             prodInOut.setPi_statuscode(Status.UNAUDITED.name());    //单据状态码
             prodInOut.setPi_macode(make.getMa_code());       //制造单号
             prodInOut.setPi_maid(make.getId());             //制造单ID
-            prodInOut.setCompanyId(BaseContextHolder.getCompanyId());   //公司ID
-            prodInOut.setCreateTime(new Date());
-            prodInOut.setCreatorId(BaseContextHolder.getUserId());      //创建人ID
+            prodInOut.setCompanyId(companyId);   //公司ID
             prodInOutMapper.insertSelective(prodInOut);
             long pi_id = prodInOut.getId();
+            //更新录入人
+            prodInOutMapper.updateCreator(userId, userName, pi_id);
             //b.从表
             List<ProdIODetail> prodIODetailList = new ArrayList<ProdIODetail>();
             int detno = 0;
@@ -422,19 +426,18 @@ public class MakeServiceImpl extends CommonBaseServiceImpl<MakeMapper, Make> imp
             code = maxnumberService.getMaxnumber("MakeIn", true).getData();
             prodInOut.setPi_inoutno(code);
             prodInOut.setPi_date(new Date());       //出入库日期
-            prodInOut.setPi_recorddate(new Date());     //录入日期
             prodInOut.setPi_auditdate(new Date());      //审核日期
             prodInOut.setPi_auditman("");               //审核人
             prodInOut.setPi_status(Status.UNAUDITED.getDisplay());  //单据状态
             prodInOut.setPi_statuscode(Status.UNAUDITED.name());    //单据状态码
             prodInOut.setPi_macode(make.getMa_code());       //制造单号
             prodInOut.setPi_maid(make.getId());             //制造单ID
-            prodInOut.setCompanyId(BaseContextHolder.getCompanyId());   //公司ID
-            prodInOut.setCreateTime(new Date());
-            prodInOut.setCreatorId(BaseContextHolder.getUserId());      //创建人ID
+            prodInOut.setCompanyId(companyId);   //公司ID
             prodInOut.setPi_total(make.getMa_total());
             prodInOutMapper.insertSelective(prodInOut);
             pi_id = prodInOut.getId();
+            //更新录入人
+            prodInOutMapper.updateCreator(userId, userName, pi_id);
             //b.从表
             ProdIODetail prodIODetail = new ProdIODetail();
             prodIODetail.setPd_piid(pi_id);     //主表ID
@@ -474,18 +477,17 @@ public class MakeServiceImpl extends CommonBaseServiceImpl<MakeMapper, Make> imp
             String code = maxnumberService.getMaxnumber("MakeOut", true).getData();
             prodInOut.setPi_inoutno(code);
             prodInOut.setPi_date(new Date());       //出入库日期
-            prodInOut.setPi_recorddate(new Date());     //录入日期
             prodInOut.setPi_auditdate(new Date());      //审核日期
             prodInOut.setPi_auditman("");               //审核人
             prodInOut.setPi_status(Status.UNAUDITED.getDisplay());  //单据状态
             prodInOut.setPi_statuscode(Status.UNAUDITED.name());    //单据状态码
             prodInOut.setPi_macode(make.getMa_code());       //制造单号
             prodInOut.setPi_maid(make.getId());             //制造单ID
-            prodInOut.setCompanyId(BaseContextHolder.getCompanyId());   //公司ID
-            prodInOut.setCreateTime(new Date());
-            prodInOut.setCreatorId(BaseContextHolder.getUserId());      //创建人ID
+            prodInOut.setCompanyId(companyId);   //公司ID
             prodInOutMapper.insertSelective(prodInOut);
             long pi_id = prodInOut.getId();
+            //更新录入人
+            prodInOutMapper.updateCreator(userId, userName, pi_id);
             //b.从表
             ProdIODetail prodIODetail = new ProdIODetail();
             prodIODetail.setPd_piid(pi_id);     //主表ID
@@ -534,7 +536,6 @@ public class MakeServiceImpl extends CommonBaseServiceImpl<MakeMapper, Make> imp
             code = maxnumberService.getMaxnumber("MakeIn", true).getData();
             prodInOut.setPi_inoutno(code);
             prodInOut.setPi_date(new Date());       //出入库日期
-            prodInOut.setPi_recorddate(new Date());     //录入日期
             prodInOut.setPi_auditdate(new Date());      //审核日期
             prodInOut.setPi_auditman("");               //审核人
             prodInOut.setPi_status(Status.UNAUDITED.getDisplay());  //单据状态
@@ -542,10 +543,10 @@ public class MakeServiceImpl extends CommonBaseServiceImpl<MakeMapper, Make> imp
             prodInOut.setPi_macode(make.getMa_code());       //制造单号
             prodInOut.setPi_maid(make.getId());             //制造单ID
             prodInOut.setCompanyId(BaseContextHolder.getCompanyId());   //公司ID
-            prodInOut.setCreateTime(new Date());
-            prodInOut.setCreatorId(BaseContextHolder.getUserId());      //创建人ID
             prodInOutMapper.insertSelective(prodInOut);
             pi_id = prodInOut.getId();
+            //更新录入人
+            prodInOutMapper.updateCreator(userId, userName, pi_id);
             //计算完工入库单主表金额
             prodIODetailMapper.calcProdIn(pi_id);
             //b.从表

+ 0 - 5
applications/storage/storage-server/src/main/java/com/usoftchina/saas/storage/service/impl/ProdInOutServiceImpl.java

@@ -113,8 +113,6 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
         //人员Id
         Long userId = BaseContextHolder.getUserId();
         String userName = BaseContextHolder.getUserName();
-
-
         //获取主表信息
         ProdInOutDTO main = formdata.getMain();
         List<ProdIODetailDTO> items = formdata.getItems();
@@ -128,8 +126,6 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
         String pi_class = main.getPi_class();
         ProdInOut prodInOut = BeanMapper.map(main,ProdInOut.class);
         prodInOut.setCompanyId(companyId);
-        prodInOut.setCreatorId(userId);
-        prodInOut.setCreateTime(prodInOut.getPi_recorddate()==null?new Date():prodInOut.getPi_recorddate());
         prodInOut.setPi_date(prodInOut.getPi_date()==null?new Date():prodInOut.getPi_date());
         //编号获取
         pi_inoutno = pushMaxnubmer(prodInOut);
@@ -150,7 +146,6 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
                 detail.setCompanyId(companyId);
                 detail.setCreatorId(userId);
                 detail.setCreateTime(new Date());
-
                 insertDetails.add(detail);
             }
             //插入从表

+ 20 - 0
applications/storage/storage-server/src/main/resources/config/application-docker-prod.yml

@@ -0,0 +1,20 @@
+eureka:
+  instance:
+    hostname: saas-storage-server
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server:8500/eureka/
+spring:
+  rabbitmq:
+    host: 10.10.100.103
+    port: 5672
+    virtual-host: docker
+    username: saas
+    password: select123***
+  datasource:
+    url: jdbc:mysql://10.10.100.18:3306/saas_biz?characterEncoding=utf-8&useSSL=false
+    username: saas
+    password: select111***
+logging:
+  destination: 10.10.100.160:5000

+ 3 - 54
applications/storage/storage-server/src/main/resources/mapper/MakeMapper.xml

@@ -17,9 +17,6 @@
     <result column="ma_whid" property="ma_whid" jdbcType="INTEGER" />
     <result column="ma_whcode" property="ma_whcode" jdbcType="VARCHAR" />
     <result column="ma_whname" property="ma_whname" jdbcType="VARCHAR" />
-    <result column="ma_recorddate" property="createTime" jdbcType="TIMESTAMP" />
-    <result column="ma_recordid" property="ma_recordid" jdbcType="INTEGER" />
-    <result column="ma_recorder" property="ma_recorder" jdbcType="VARCHAR" />
     <result column="ma_price" property="ma_price" jdbcType="DOUBLE" />
     <result column="ma_total" property="ma_total" jdbcType="DOUBLE" />
     <result column="ma_auditman" property="ma_auditman" jdbcType="DOUBLE" />
@@ -40,10 +37,6 @@
 
 
 
-
-
-
-
   <resultMap id="ResultMapWithBLOBs" type="com.usoftchina.saas.storage.po.ProdInOut">
     <id column="pi_id" jdbcType="INTEGER" property="id" />
     <result column="pi_inoutno" jdbcType="VARCHAR" property="pi_inoutno" />
@@ -60,8 +53,6 @@
     <result column="pi_said" jdbcType="INTEGER" property="pi_said" />
     <result column="pi_sacode" jdbcType="VARCHAR" property="pi_sacode" />
     <result column="pi_total" jdbcType="DOUBLE" property="pi_total" />
-    <result column="pi_recordmanid" jdbcType="INTEGER" property="pi_recordmanid" />
-    <result column="pi_recordman" jdbcType="VARCHAR" property="pi_recordman" />
     <result column="pi_recorddate" jdbcType="TIMESTAMP" property="createTime" />
     <result column="pi_status" jdbcType="VARCHAR" property="pi_status" />
     <result column="pi_statuscode" jdbcType="VARCHAR" property="pi_statuscode" />
@@ -86,15 +77,9 @@
   </resultMap>
 
 
-
-
-
-
-
   <sql id="Base_Column_List" >
     ma_id, ma_code, ma_status, ma_statuscode, ma_type, ma_prodid, ma_prodcode, ma_proddetail, 
-    ma_prodspec, ma_version, ma_produnit, ma_qty, ma_whid, ma_whcode, ma_whname, ma_recorddate,
-    ma_recordid, ma_recorder, ma_price, ma_total,ma_auditman,ma_auditdate, companyId, updaterId,updaterName,updateTime,creatorid,creatorName,createtime, ma_text1,
+    ma_prodspec, ma_version, ma_produnit, ma_qty, ma_whid, ma_whcode, ma_whname,ma_price, ma_total,ma_auditman,ma_auditdate, companyId, updaterId,updaterName,updateTime,creatorid,creatorName,createtime, ma_text1,
     ma_text2, ma_text3, ma_text4, ma_text5
   </sql>
   <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" >
@@ -115,8 +100,7 @@
       ma_statuscode, ma_type, ma_prodid, 
       ma_prodcode, ma_proddetail, ma_prodspec, 
       ma_version, ma_produnit, ma_qty, 
-      ma_whid, ma_whcode, ma_whname, ma_recorddate,
-      ma_recordid, ma_recorder, ma_price, 
+      ma_whid, ma_whcode, ma_whname, ma_price,
       ma_total, ma_auditman,ma_auditdate,companyId, updaterId,
       updateTime, ma_text1, ma_text2, 
       ma_text3, ma_text4, ma_text5
@@ -125,8 +109,7 @@
       #{ma_statuscode,jdbcType=VARCHAR}, #{ma_type,jdbcType=VARCHAR}, #{ma_prodid,jdbcType=INTEGER}, 
       #{ma_prodcode,jdbcType=VARCHAR}, #{ma_proddetail,jdbcType=VARCHAR}, #{ma_prodspec,jdbcType=VARCHAR}, 
       #{ma_version,jdbcType=VARCHAR}, #{ma_produnit,jdbcType=VARCHAR}, #{ma_qty,jdbcType=DOUBLE}, 
-      #{ma_whid,jdbcType=INTEGER}, #{ma_whcode,jdbcType=VARCHAR}, #{ma_whname,jdbcType=VARCHAR}, #{ma_recorddate,jdbcType=TIMESTAMP},
-      #{ma_recordid,jdbcType=INTEGER}, #{ma_recorder,jdbcType=VARCHAR}, #{ma_price,jdbcType=DOUBLE}, 
+      #{ma_whid,jdbcType=INTEGER}, #{ma_whcode,jdbcType=VARCHAR}, #{ma_whname,jdbcType=VARCHAR}, #{ma_price,jdbcType=DOUBLE},
       #{ma_total,jdbcType=DOUBLE}, #{ma_auditman,jdbcType=VARCHAR},#{ma_auditdate.jdbcType=TIMESTAMP},#{companyId,jdbcType=INTEGER}, #{updaterId,jdbcType=INTEGER},
       #{updateTime,jdbcType=TIMESTAMP}, #{ma_text1,jdbcType=VARCHAR}, #{ma_text2,jdbcType=VARCHAR}, 
       #{ma_text3,jdbcType=VARCHAR}, #{ma_text4,jdbcType=VARCHAR}, #{ma_text5,jdbcType=VARCHAR}
@@ -181,15 +164,6 @@
       <if test="ma_whname != null">
         ma_whname,
       </if>
-      <if test="ma_recorddate != null">
-        ma_recorddate,
-      </if>
-      <if test="ma_recordid != null">
-        ma_recordid,
-      </if>
-      <if test="ma_recorder != null">
-        ma_recorder,
-      </if>
       <if test="ma_price != null">
         ma_price,
       </if>
@@ -283,15 +257,6 @@
       <if test="ma_whname != null">
         #{ma_whname,jdbcType=VARCHAR},
       </if>
-      <if test="ma_recorddate != null">
-        #{ma_recorddate,jdbcType=TIMESTAMP},
-      </if>
-      <if test="ma_recordid != null">
-        #{ma_recordid,jdbcType=INTEGER},
-      </if>
-      <if test="ma_recorder != null">
-        #{ma_recorder,jdbcType=VARCHAR},
-      </if>
       <if test="ma_price != null">
         #{ma_price,jdbcType=DOUBLE},
       </if>
@@ -387,15 +352,6 @@
       <if test="ma_whname != null" >
         ma_whname = #{ma_whname,jdbcType=VARCHAR},
       </if>
-      <if test="ma_recorddate != null" >
-        ma_recorddate = #{ma_recorddate,jdbcType=TIMESTAMP},
-      </if>
-      <if test="ma_recordid != null" >
-        ma_recordid = #{ma_recordid,jdbcType=INTEGER},
-      </if>
-      <if test="ma_recorder != null" >
-        ma_recorder = #{ma_recorder,jdbcType=VARCHAR},
-      </if>
       <if test="ma_price != null" >
         ma_price = #{ma_price,jdbcType=DOUBLE},
       </if>
@@ -408,9 +364,6 @@
       <if test="ma_auditdate !=null">
         ma_auditdate =  #{ma_auditdate,jdbcType=TIMESTAMP},
       </if>
-
-
-
       <if test="companyId != null" >
         companyId = #{companyId,jdbcType=INTEGER},
       </if>
@@ -454,14 +407,10 @@
       ma_whid = #{ma_whid,jdbcType=INTEGER},
       ma_whcode = #{ma_whcode,jdbcType=VARCHAR},
       ma_whname = #{ma_whname,jdbcType=VARCHAR},
-      ma_recorddate = #{ma_recorddate,jdbcType=TIMESTAMP},
-      ma_recordid = #{ma_recordid,jdbcType=INTEGER},
-      ma_recorder = #{ma_recorder,jdbcType=VARCHAR},
       ma_price = #{ma_price,jdbcType=DOUBLE},
       ma_total = #{ma_total,jdbcType=DOUBLE},
       ma_auditman = #{ma_auditman,jdbcType=VARCHAR},
       ma_auditdate = #{ma_auditdate,jdbcType=TIMESTAMP},
-
       companyId = #{companyId,jdbcType=INTEGER},
       updaterId = #{updaterId,jdbcType=INTEGER},
       updateTime = #{updateTime,jdbcType=TIMESTAMP},

+ 12 - 15
applications/storage/storage-server/src/main/resources/mapper/MakematerialMapper.xml

@@ -39,9 +39,6 @@
         <result column="pr_vendid" property="pr_vendid" jdbcType="INTEGER" />
         <result column="pr_vendcode" property="pr_vendcode" jdbcType="VARCHAR" />
         <result column="pr_vendname" property="pr_vendname" jdbcType="VARCHAR" />
-        <result column="pr_docdate" property="pr_docdate" jdbcType="TIMESTAMP" />
-        <result column="pr_recordmanid" property="pr_recordmanid" jdbcType="INTEGER" />
-        <result column="pr_recordman" property="pr_recordman" jdbcType="VARCHAR" />
         <result column="pr_status" property="pr_status" jdbcType="VARCHAR" />
         <result column="pr_statuscode" property="pr_statuscode" jdbcType="VARCHAR" />
         <result column="updateTime" property="updateTime" jdbcType="TIMESTAMP" />
@@ -100,9 +97,9 @@
       <if test="mm_whcode != null" >
         mm_whcode,
       </if>
-        <if test="mm_whname != null" >
-            mm_whname,
-        </if>
+      <if test="mm_whname != null" >
+          mm_whname,
+      </if>
       <if test="mm_price != null" >
         mm_price,
       </if>
@@ -150,9 +147,9 @@
       <if test="mm_whcode != null" >
         #{mm_whcode,jdbcType=VARCHAR},
       </if>
-        <if test="mm_whname != null" >
-            #{mm_whname,jdbcType=VARCHAR},
-        </if>
+      <if test="mm_whname != null" >
+        #{mm_whname,jdbcType=VARCHAR},
+      </if>
       <if test="mm_price != null" >
         #{mm_price,jdbcType=DOUBLE},
       </if>
@@ -203,9 +200,9 @@
       <if test="mm_whcode != null" >
         mm_whcode = #{mm_whcode,jdbcType=VARCHAR},
       </if>
-        <if test="mm_whname != null" >
-            mm_whname = #{mm_whname,jdbcType=VARCHAR},
-        </if>
+      <if test="mm_whname != null" >
+          mm_whname = #{mm_whname,jdbcType=VARCHAR},
+      </if>
       <if test="mm_price != null" >
         mm_price = #{mm_price,jdbcType=DOUBLE},
       </if>
@@ -303,9 +300,9 @@
         <if test="item.mm_whcode != null" >
           mm_whcode = #{item.mm_whcode,jdbcType=VARCHAR},
         </if>
-          <if test="item.mm_whname != null" >
-              mm_whname = #{item.mm_whname,jdbcType=VARCHAR},
-          </if>
+        <if test="item.mm_whname != null" >
+          mm_whname = #{item.mm_whname,jdbcType=VARCHAR},
+        </if>
         <if test="item.mm_price != null" >
           mm_price = #{item.mm_price,jdbcType=DOUBLE},
         </if>

+ 0 - 3
applications/storage/storage-server/src/main/resources/mapper/ProdIODetailMapper.xml

@@ -62,9 +62,6 @@
       <result column="pr_vendid" property="pr_vendid"/>
       <result column="pr_vendname" property="pr_vendname"/>
       <result column="pr_vendcode" property="pr_vendcode"/>
-      <result column="pr_docdate" property="pr_docdate"/>
-      <result column="pr_recordmanid" property="pr_recordmanid"/>
-      <result column="pr_recordman" property="pr_recordman"/>
       <result column="pr_status" property="pr_status"/>
       <result column="pr_statuscode" property="pr_statuscode"/>
       <result column="pr_text1" property="pr_text1"/>

+ 0 - 6
applications/storage/storage-server/src/main/resources/mapper/ProdInOutListMapper.xml

@@ -17,9 +17,6 @@
     <result column="pi_said" jdbcType="INTEGER" property="pi_said" />
     <result column="pi_sacode" jdbcType="VARCHAR" property="pi_sacode" />
     <result column="pi_total" jdbcType="DOUBLE" property="pi_total" />
-    <result column="pi_recordmanid" jdbcType="INTEGER" property="pi_recordmanid" />
-    <result column="pi_recordman" jdbcType="VARCHAR" property="pi_recordman" />
-    <result column="pi_recorddate" jdbcType="TIMESTAMP" property="pi_recorddate" />
     <result column="pi_status" jdbcType="VARCHAR" property="pi_status" />
     <result column="pi_statuscode" jdbcType="VARCHAR" property="pi_statuscode" />
     <result column="pi_printstatus" jdbcType="VARCHAR" property="pi_printstatus" />
@@ -95,9 +92,6 @@
     <result column="pr_vendid" property="pr_vendid"/>
     <result column="pr_vendname" property="pr_vendname"/>
     <result column="pr_vendcode" property="pr_vendcode"/>
-    <result column="pr_docdate" property="pr_docdate"/>
-    <result column="pr_recordmanid" property="pr_recordmanid"/>
-    <result column="pr_recordman" property="pr_recordman"/>
     <result column="pr_status" property="pr_status"/>
     <result column="pr_statuscode" property="pr_statuscode"/>
     <result column="pr_text1" property="pr_text1"/>

+ 1 - 29
applications/storage/storage-server/src/main/resources/mapper/ProdInOutMapper.xml

@@ -17,9 +17,6 @@
     <result column="pi_said" jdbcType="INTEGER" property="pi_said" />
     <result column="pi_sacode" jdbcType="VARCHAR" property="pi_sacode" />
     <result column="pi_total" jdbcType="DOUBLE" property="pi_total" />
-    <result column="pi_recordmanid" jdbcType="INTEGER" property="pi_recordmanid" />
-    <result column="pi_recordman" jdbcType="VARCHAR" property="pi_recordman" />
-    <result column="pi_recorddate" jdbcType="TIMESTAMP" property="createTime" />
     <result column="pi_status" jdbcType="VARCHAR" property="pi_status" />
     <result column="pi_statuscode" jdbcType="VARCHAR" property="pi_statuscode" />
     <result column="pi_printstatus" jdbcType="VARCHAR" property="pi_printstatus" />
@@ -49,8 +46,7 @@
 
   <sql id="Base_Column_List">
     pi_id, pi_inoutno, pi_class, pi_date, pi_vendid, pi_vendcode, pi_vendname, pi_custid, 
-    pi_custcode, pi_custname, pi_puid, pi_pucode, pi_said, pi_sacode, pi_total, pi_recordmanid, 
-    pi_recordman, pi_recorddate, pi_status, pi_statuscode, pi_printstatus, pi_printstatuscode, 
+    pi_custcode, pi_custname, pi_puid, pi_pucode, pi_said, pi_sacode, pi_total,pi_status, pi_statuscode, pi_printstatus, pi_printstatuscode,
     companyid, updaterid,updaterName,updatetime,creatorid,creatorName,createtime, pi_text1, pi_text2, pi_text3, pi_text4, pi_text5,pi_auditdate,
     pi_auditman,pi_remark,pi_ioid
   </sql>
@@ -119,12 +115,6 @@
       <if test="pi_total != null">
         pi_total,
       </if>
-      <if test="pi_recordmanid != null">
-        pi_recordmanid,
-      </if>
-      <if test="pi_recordman != null">
-        pi_recordman,
-      </if>
       <if test="pi_status != null">
         pi_status,
       </if>
@@ -137,7 +127,6 @@
       <if test="pi_printstatuscode != null">
         pi_printstatuscode,
       </if>
-
       <if test="companyId != null" >
         companyid,
       </if>
@@ -240,12 +229,6 @@
       <if test="pi_total != null">
         #{pi_total,jdbcType=DOUBLE},
       </if>
-      <if test="pi_recordmanid != null">
-        #{pi_recordmanid,jdbcType=INTEGER},
-      </if>
-      <if test="pi_recordman != null">
-        #{pi_recordman,jdbcType=VARCHAR},
-      </if>
       <if test="pi_status != null">
         #{pi_status,jdbcType=VARCHAR},
       </if>
@@ -258,7 +241,6 @@
       <if test="pi_printstatuscode != null">
         #{pi_printstatuscode,jdbcType=VARCHAR},
       </if>
-
       <if test="companyId != null" >
         #{companyId,jdbcType=INTEGER},
       </if>
@@ -277,7 +259,6 @@
       <if test="creatorName != null">
         #{creatorName,jdbcType=VARCHAR},
       </if>
-
       <if test="createTime != null" >
         #{createTime,jdbcType=TIMESTAMP},
       </if>
@@ -365,15 +346,6 @@
       <if test="pi_total != null">
         pi_total = #{pi_total,jdbcType=DOUBLE},
       </if>
-      <if test="pi_recordmanid != null">
-        pi_recordmanid = #{pi_recordmanid,jdbcType=INTEGER},
-      </if>
-      <if test="pi_recordman != null">
-        pi_recordman = #{pi_recordman,jdbcType=VARCHAR},
-      </if>
-      <if test="createTime != null">
-        pi_recorddate = #{createTime,jdbcType=TIMESTAMP},
-      </if>
       <if test="pi_status != null">
         pi_status = #{pi_status,jdbcType=VARCHAR},
       </if>

+ 25 - 0
base-servers/account/account-server/src/main/resources/config/application-docker-prod.yml

@@ -0,0 +1,25 @@
+eureka:
+  instance:
+    hostname: saas-account-server
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server:8500/eureka/
+spring:
+  rabbitmq:
+    host: 10.10.100.103
+    port: 5672
+    virtual-host: docker
+    username: saas
+    password: select123***
+  datasource:
+    url: jdbc:mysql://10.10.100.18:3306/saas_account?characterEncoding=utf-8&useSSL=false
+    username: saas
+    password: select111***
+  redis:
+    host: 10.10.100.173
+    port: 6379
+logging:
+  destination: 10.10.100.160:5000
+sso:
+  base-url: https://sso.ubtob.com

+ 9 - 0
base-servers/admin-server/src/main/resources/config/application-docker-prod.yml

@@ -0,0 +1,9 @@
+eureka:
+  instance:
+    hostname: saas-admin-server
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server:8500/eureka/
+logging:
+  destination: 10.10.100.160:5000

+ 23 - 0
base-servers/auth/auth-server/src/main/resources/config/application-docker-prod.yml

@@ -0,0 +1,23 @@
+eureka:
+  instance:
+    hostname: saas-auth-server
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server:8500/eureka/
+spring:
+  rabbitmq:
+    host: 10.10.100.103
+    port: 5672
+    virtual-host: docker
+    username: saas
+    password: select123***
+  datasource:
+    url: jdbc:mysql://10.10.100.18:3306/saas_auth?characterEncoding=utf-8&useSSL=false
+    username: saas
+    password: select111***
+  redis:
+    host: 10.10.100.173
+    port: 6379
+logging:
+  destination: 10.10.100.160:5000

+ 7 - 0
base-servers/eureka-server/src/main/resources/config/application-docker-prod.yml

@@ -0,0 +1,7 @@
+eureka:
+  instance:
+    hostname: saas-eureka-server
+server:
+  port: 8500
+logging:
+  destination: 10.10.100.160:5000

+ 1 - 1
base-servers/file/file-server/src/main/java/com/usoftchina/saas/file/controller/FileController.java

@@ -199,7 +199,7 @@ public class FileController {
 
     @ApiOperation(value = "查看子文件")
     @GetMapping(value = "/list")
-    public Result<List<FileInfoDTO>> listFiles(@RequestParam("folderId") Long folderId) {
+    public Result<List<FileInfoDTO>> listFiles(@RequestParam(value = "folderId", required = false) Long folderId) {
         List<FileInfo> files = fileService.findByFolderId(checkFolder(folderId).getId());
         return Result.success(BeanMapper.mapList(files, FileInfoDTO.class));
     }

+ 26 - 0
base-servers/file/file-server/src/main/resources/config/application-docker-prod.yml

@@ -0,0 +1,26 @@
+eureka:
+  instance:
+    hostname: saas-file-server
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server:8500/eureka/
+spring:
+  rabbitmq:
+    host: 10.10.100.103
+    port: 5672
+    virtual-host: docker
+    username: saas
+    password: select123***
+  datasource:
+    url: jdbc:mysql://10.10.100.18:3306/saas_file?characterEncoding=utf-8&useSSL=false
+    username: saas
+    password: select111***
+  redis:
+    host: 10.10.100.173
+    port: 6379
+fdfs:
+  tracker-list:
+    - 10.10.100.200:22122
+logging:
+  destination: 10.10.100.160:5000

+ 5 - 3
base-servers/file/file-server/src/test/java/com/usoftchina/saas/file/controller/FileControllerTest.java

@@ -3,6 +3,7 @@ package com.usoftchina.saas.file.controller;
 import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.file.dto.FileInfoDTO;
 import com.usoftchina.saas.file.dto.FolderDTO;
+import com.usoftchina.saas.file.dto.FolderSaveDTO;
 import com.usoftchina.saas.file.util.RandomTextFile;
 import com.usoftchina.saas.test.BaseControllerTest;
 import org.apache.commons.lang.RandomStringUtils;
@@ -28,9 +29,10 @@ public class FileControllerTest extends BaseControllerTest {
     public static Long folder_1_2_1;
 
     private FolderDTO newFolder(Long folderId, String name) throws Exception{
-        MvcResult mvcResult = mockMvc.perform(post("/folder")
-                .param("folderId", String.valueOf(folderId))
-                .param("name", name))
+        FolderSaveDTO folderSaveDTO = new FolderSaveDTO();
+        folderSaveDTO.setFolderId(folderId);
+        folderSaveDTO.setName(name);
+        MvcResult mvcResult = mockMvc.perform(requestBody("/folder", folderSaveDTO))
                 .andExpect(isSuccess())
                 .andReturn();
         Result<FolderDTO> result = result(mvcResult, FolderDTO.class);

+ 19 - 0
base-servers/gateway-server/src/main/resources/config/application-docker-prod.yml

@@ -0,0 +1,19 @@
+eureka:
+  instance:
+    hostname: saas-gateway-server
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server:8500/eureka/
+spring:
+  rabbitmq:
+    host: 10.10.100.103
+    port: 5672
+    virtual-host: docker
+    username: saas
+    password: select123***
+  redis:
+    host: 10.10.100.173
+    port: 6379
+logging:
+  destination: 10.10.100.160:5000

+ 23 - 0
base-servers/mail/mail-server/src/main/resources/config/application-docker-prod.yml

@@ -0,0 +1,23 @@
+eureka:
+  instance:
+    hostname: saas-mail-server
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server:8500/eureka/
+spring:
+  rabbitmq:
+    host: 10.10.100.103
+    port: 5672
+    virtual-host: docker
+    username: saas
+    password: select123***
+  datasource:
+    url: jdbc:mysql://10.10.100.18:3306/saas_mail?characterEncoding=utf-8&useSSL=false
+    username: saas
+    password: select111***
+  redis:
+    host: 10.10.100.173
+    port: 6379
+logging:
+  destination: 10.10.100.160:5000

+ 19 - 0
base-servers/socket/socket-server/src/main/resources/config/application-docker-prod.yml

@@ -0,0 +1,19 @@
+eureka:
+  instance:
+    hostname: saas-socket-server
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server:8500/eureka/
+spring:
+  rabbitmq:
+    host: 10.10.100.103
+    port: 5672
+    virtual-host: docker
+    username: saas
+    password: select123***
+  redis:
+    host: 10.10.100.173
+    port: 6379
+logging:
+  destination: 10.10.100.160:5000

+ 19 - 0
base-servers/ui-server/src/main/resources/config/application-docker-prod.yml

@@ -0,0 +1,19 @@
+eureka:
+  instance:
+    hostname: saas-ui-server
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server:8500/eureka/
+spring:
+  rabbitmq:
+    host: 10.10.100.103
+    port: 5672
+    virtual-host: docker
+    username: saas
+    password: select123***
+  data:
+    mongodb:
+      uri: mongodb://10.10.100.123:27017/saas_ui
+logging:
+  destination: 10.10.100.160:5000

+ 13 - 0
base-servers/zipkin-server/src/main/resources/config/application-docker-prod.yml

@@ -0,0 +1,13 @@
+eureka:
+  instance:
+    hostname: saas-zipkin-server
+    prefer-ip-address: false
+  client:
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@saas-eureka-server:8500/eureka/
+zipkin:
+  collector:
+    rabbitmq:
+      uri: amqp://saas:select123***@10.10.100.103:5672/docker
+logging:
+  destination: 10.10.100.160:5000

+ 4 - 2
frontend/saas-web/app/view/core/chart/ChartBase.js

@@ -10,8 +10,6 @@ Ext.define('saas.view.core.chart.ChartBase', {
 
     layout: 'fit',
 
-    cls: 'quick-graph-panel shadow',
-
     defaults: {
         width: '100%'
     },
@@ -19,6 +17,10 @@ Ext.define('saas.view.core.chart.ChartBase', {
     initComponent: function() {
         var me = this;
 
+        Ext.apply(me, {
+            cls: 'quick-graph-panel ' + (me.cls || '')
+        });
+
         me.callParent(arguments);
     }
 });

+ 30 - 0
frontend/saas-web/app/view/core/chart/ChartBase.scss

@@ -0,0 +1,30 @@
+.quick-graph-panel {
+
+    .x-panel-header-default {
+        background-color: #fff;
+        border: none;
+        padding: 0;
+        margin-top: 20px;
+
+        .x-panel-header-title-default {
+            .x-title-text {
+
+                font-size: 14px;
+                color: #485465;
+                letter-spacing: -0.07px;
+                padding-left: 15px;
+
+                &:before {
+                    content: ' ';
+                    position: absolute;
+                    width: 9px;
+                    height: 9px;
+                    background: #2C82BE;
+                    // border-radius: 50%;
+                    left: 0px;
+                    top: 5px;
+                }
+            }
+        }
+    } 
+}

+ 1 - 1
frontend/saas-web/app/view/core/dbfind/types/VendorDbfindTrigger.js

@@ -61,7 +61,7 @@ Ext.define('saas.view.core.dbfind.types.VendorDbfindTrigger', {
             var format = '0.' + xr.join();
             return Ext.util.Format.number(v, format);
         }
-    }, {
+    },{
         text: "结算天数",
         dataIndex: "ve_promisedays",
         width: 110,

+ 47 - 1
frontend/saas-web/app/view/core/query/QueryGridPanel.js

@@ -59,6 +59,27 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
         }
 
         Ext.apply(me, {
+            actions: {
+                copy: {
+                    iconCls: 'x-fa fa-copy',
+                    text: '复制单元格',
+                    handler: function() {
+                        me.onCopy(me.selectedData);
+                    }
+                }
+            },
+            viewConfig: {
+                deferEmptyText: false,
+                emptyText: '无数据',
+                listeners: {
+                    itemcontextmenu: function(view, rec, node, index, e) {
+                        e.stopEvent();
+                        me.getContextMenu().show().setLocalXY(e.getXY());
+                        me.selectedData = e.target.innerText;
+                        return false;
+                    }
+                }
+            },
             columns: me.initColumns(),
             store: Ext.create('Ext.data.Store', {
                 fields: me.getFields(),
@@ -420,5 +441,30 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
                 }
             });
 		return data;
-    } 
+    },
+
+    getContextMenu: function() {
+        var me = this;
+
+        return me.contextMenu || (me.contextMenu = me.add({
+            xtype: 'menu',
+            items: [
+                // Actions can be converted into MenuItems
+                '@copy',
+            ]
+        }));
+    },
+
+    onCopy: function(text) {
+		var target = Ext.DomHelper.append(document.body, {
+			tag: 'textarea',
+			style: 'opacity: 0;position: absolute;top: -10000px;right: 0;',
+			html: text
+		});
+		target.focus();
+		target.select();
+	    document.execCommand('Copy');
+	    target.blur();
+	    document.body.removeChild(target);
+	},
 });

+ 67 - 16
frontend/saas-web/app/view/core/report/ReportPanel.js

@@ -151,6 +151,27 @@ Ext.define('saas.view.core.report.ReportPanel', {
                     displayInfo: true,
                     store: store
                 }],
+                actions: {
+                    copy: {
+                        iconCls: 'x-fa fa-copy',
+                        text: '复制单元格',
+                        handler: function() {
+                            me.onCopy(me.selectedData);
+                        }
+                    }
+                },
+                viewConfig: {
+                    deferEmptyText: false,
+                    emptyText: '无数据',
+                    listeners: {
+                        itemcontextmenu: function(view, rec, node, index, e) {
+                            e.stopEvent();
+                            me.getContextMenu().show().setLocalXY(e.getXY());
+                            me.selectedData = e.target.innerText;
+                            return false;
+                        }
+                    }
+                },
             }]
         });
 
@@ -250,13 +271,15 @@ Ext.define('saas.view.core.report.ReportPanel', {
                             value: defaultCondition
                         });
                     }
-                    Ext.apply(store.proxy.extraParams, {
+
+                    var params = me.applyParams({
                         number: store.exportNumber?store.exportNumber:op._page,
                         size: store.exportPageSize?store.exportPageSize:store.pageSize,
                         mode: 'DETAIL',
                         condition: JSON.stringify(condition),
                         calculateFields: JSON.stringify(summarys)
                     });
+                    Ext.apply(store.proxy.extraParams, params);
     
                 }
             }
@@ -349,25 +372,23 @@ Ext.define('saas.view.core.report.ReportPanel', {
                 });
             }
             // 设置model绑定
-            if(!ignore) {
-                if(bind) {
-                    if(!Ext.isString(bind)) {
-                        bind = name;
-                        Ext.apply(bind, {
-                            value: '{form.' + bind + '}'
-                        });
-                    }else {
-                        bind = name;
-                        item.bind = '{form.' + bind + '}';
-                    }
+            if(bind) {
+                if(!Ext.isString(bind)) {
+                    bind = name;
+                    Ext.apply(bind, {
+                        value: '{form.' + bind + '}'
+                    });
                 }else {
                     bind = name;
                     item.bind = '{form.' + bind + '}';
                 }
-                // 设置默认值
-                if(defaultValue) {
-                    viewModel.set('form.' + bind, defaultValue);
-                }
+            }else {
+                bind = name;
+                item.bind = '{form.' + bind + '}';
+            }
+            // 设置默认值
+            if(defaultValue) {
+                viewModel.set('form.' + bind, defaultValue);
             }
         });
 
@@ -477,4 +498,34 @@ Ext.define('saas.view.core.report.ReportPanel', {
 
         return conditionValue;
     },
+
+    applyParams: function(p) {
+        return p;
+    },
+
+    getContextMenu: function() {
+        var me = this,
+        grid = me.items.items[1];
+
+        return grid.contextMenu || (grid.contextMenu = grid.add({
+            xtype: 'menu',
+            items: [
+                // Actions can be converted into MenuItems
+                '@copy',
+            ]
+        }));
+    },
+
+    onCopy: function(text) {
+		var target = Ext.DomHelper.append(document.body, {
+			tag: 'textarea',
+			style: 'opacity: 0;position: absolute;top: -10000px;right: 0;',
+			html: text
+		});
+		target.focus();
+		target.select();
+	    document.execCommand('Copy');
+	    target.blur();
+	    document.body.removeChild(target);
+	},
 });

+ 0 - 2
frontend/saas-web/app/view/home/Home.js

@@ -40,7 +40,6 @@ Ext.define('saas.view.home.Home', {
         // title: '2018年11月经营分析',
         latyout: 'responsivecolumn',
         defaults: {
-            cls: 'x-home-chart',
             margin: '0 0 0 14',
             userCls: 'big-33 small-50',
         },
@@ -60,7 +59,6 @@ Ext.define('saas.view.home.Home', {
             marginBottom: '0'
         },
         defaults: {
-            cls: 'x-home-chart',
             margin: '0 0 0 14',
             userCls: 'big-33 small-50',
         },

+ 1 - 1
frontend/saas-web/app/view/home/Home.scss

@@ -132,7 +132,7 @@ $unaudit-purc-container-color: dynamic(#e91e63);
     }
 }
 
-.x-home-chart {
+.quick-graph-panel {
     box-shadow: none;
 
     .x-panel-header-default {

+ 3 - 0
frontend/saas-web/app/view/home/HomeModel.js

@@ -7,6 +7,9 @@ Ext.define('saas.view.home.HomeModel', {
         month_purchase_amount: '0', // 本月采购合计
         month_in: '0', // 本月收入合计
         month_out: '0', // 本月支出合计
+
+        insetPadding: '12 0 0 0', // 图表insetPadding
+        maxBarWidth: 20, // 最大柱宽
     },
 
     stores: {

+ 29 - 16
frontend/saas-web/app/view/home/charts/MonthIO.js

@@ -3,35 +3,46 @@ Ext.define('saas.view.home.charts.MonthIO', {
     xtype: 'month-io',
     id: 'month_io',
 
+    bind: {
+        title: '本月收入支出额(万元)<div style="text-align: right;"><span style="font-weight:bold;">收入:{month_in}</span><span style="font-weight:bold;margin-left: 10px;">支出:{month_out}</span></div>'
+    },
+
     initComponent: function () {
         var me = this;
 
         Ext.apply(me, {
             items: [{
                 xtype: 'cartesian',
-                insetPadding: '28 0 0 0',
                 colors: [
                     '#2C82BE',
                     '#82CCFF'
                 ],
                 bind: {
-                    captions: {
-                        title: {
-                            text: '本月收入支出额(万元)\n收入:{month_in}\t支出:{month_out}',
-                            style: {
-                                'font-size': '14px',
-                                'color': '#485465',
-                                'letter-spacing': '-0.07px'
-                            },
-                            align: 'left'
-                        },
-                    },
+                    // captions: {
+                    //     title: {
+                    //         text: '收入:{month_in}\t支出:{month_out}',
+                    //         style: {
+                    //             'color': '#485465',
+                    //             'letter-spacing': '-0.07px'
+                    //         },
+                    //         align: 'left'
+                    //     },
+                    // },
+                    insetPadding: '{insetPadding}',
                     store: '{month_io}'
                 },
                 // legend: {
                 //     type: 'sprite',
                 //     docked: 'bottom'
                 // },
+                legend: {
+                    type: 'dom',
+                    docked: 'top',
+                    padding: 0,
+                    bodyPadding: 0,
+                    border: 0,
+                    cls: 'x-monthio-legend'
+                },
                 axes: [{
                     type: 'numeric',
                     position: 'left',
@@ -71,10 +82,12 @@ Ext.define('saas.view.home.charts.MonthIO', {
                     xField: 'x',
                     yField: ['main', 'other'],
                     stacked: true,
-                    style: {
-                        lineWidth: 0,
-                        strokeStyle: 'transparent',
-                        maxBarWidth: 50,
+                    bind: {
+                        style: {
+                            lineWidth: 0,
+                            strokeStyle: 'transparent',
+                            maxBarWidth: '{maxBarWidth}',
+                        },
                     },
                     tooltip: {
                         trackMouse: true,

+ 25 - 0
frontend/saas-web/app/view/home/charts/MonthIO.scss

@@ -0,0 +1,25 @@
+.quick-graph-panel .x-panel-header-default .x-panel-header-title-default > .x-title-text-default {
+    display: grid;
+    grid-template-columns: 1fr 1fr;
+}
+
+.x-monthio-legend {
+
+    .x-legend-inner {
+        padding: 0;
+
+        .x-legend-container {
+
+            .x-legend-item {
+                border: none !important;
+                outline: none !important;
+                text-align: left;
+
+                .x-legend-item-marker {
+                    box-shadow: none;
+                    border-radius: 50%;
+                }
+            }
+        }
+    }
+}

+ 11 - 14
frontend/saas-web/app/view/home/charts/MonthPurchase.js

@@ -4,27 +4,22 @@ Ext.define('saas.view.home.charts.MonthPurchase', {
 
     id: 'month-purchase',
 
+    bind: {
+        title: '本月采购额(万元):{month_purchase_amount}'
+    },
+
     initComponent: function() {
         var me = this;
 
         Ext.apply(me, {
             items: [{
                 xtype: 'cartesian',
-                insetPadding: '28 0 0 0',
                 colors: [
                     '#34BAF6'
                 ],
                 bind: {
+                    insetPadding: '{insetPadding}',
                     store: '{month_purchase}',
-                    captions: {
-                        title: {
-                            text: '本月采购额(万元):{month_purchase_amount}',
-                            align: 'left',
-                            style: {
-                                'color': '#485465',
-                            },
-                        }
-                    },
                 },
                 axes: [{
                     type: 'category',
@@ -64,10 +59,12 @@ Ext.define('saas.view.home.charts.MonthPurchase', {
                     type: 'bar',
                     xField: 'x',
                     yField: ['y'],
-                    style: {
-                        lineWidth: 0,
-                        strokeStyle: 'transparent',
-                        maxBarWidth: 50,
+                    bind: {
+                        style: {
+                            lineWidth: 0,
+                            strokeStyle: 'transparent',
+                            maxBarWidth: '{maxBarWidth}',
+                        },
                     },
                     tooltip: {
                         trackMouse: true,

+ 4 - 11
frontend/saas-web/app/view/home/charts/MonthSale.js

@@ -4,6 +4,10 @@ Ext.define('saas.view.home.charts.MonthSale', {
 
     id: 'month_sale',
 
+    bind: {
+        title: '本月销售额(万元):{month_sale_amount}'
+    },
+
     initComponent: function() {
         var me = this;
 
@@ -13,17 +17,6 @@ Ext.define('saas.view.home.charts.MonthSale', {
                 width: '100%',
                 height: '100%',
                 bind: {
-                    captions: {
-                        title: {
-                            text: '本月销售额(万元):{month_sale_amount}',
-                            style: {
-                                'font-size': '14px',
-                                'color': '#485465',
-                                'letter-spacing': '-0.07px'
-                            },
-                            align: 'left'
-                        }
-                    },
                     store: '{month_sale}',
                 },
                 colors: [

+ 11 - 16
frontend/saas-web/app/view/home/charts/PurchaseTrend.js

@@ -4,28 +4,21 @@ Ext.define('saas.view.home.charts.PurchaseTrend', {
 
     id: 'purchase_trend',
 
+    bind: {
+        title: '近六月采购趋势图'
+    },
+
     initComponent: function() {
         var me = this;
 
         Ext.apply(me, {
             items: [{
                 xtype: 'cartesian',
-                insetPadding: '28 0 0 0',
                 colors: [
                     '#34BAF6'
                 ],
                 bind: {
-                    captions: {
-                        title: {
-                            text: '近六月采购趋势图',
-                            style: {
-                                'font-size': '14px',
-                                'color': '#485465',
-                                'letter-spacing': '-0.07px'
-                            },
-                            align: 'left'
-                        }
-                    },
+                    insetPadding: '{insetPadding}',
                     store: '{purchase_trend}',
                 },
                 axes: [{
@@ -78,10 +71,12 @@ Ext.define('saas.view.home.charts.PurchaseTrend', {
                     //     fontSize: '12px',
                     //     strokeStyle: '#fff',
                     // },
-                    style: {
-                        lineWidth: 0,
-                        strokeStyle: 'transparent',
-                        maxBarWidth: 30,
+                    bind: {
+                        style: {
+                            lineWidth: 0,
+                            strokeStyle: 'transparent',
+                            maxBarWidth: '{maxBarWidth}',
+                        },
                     },
                 }]
             }]

+ 5 - 12
frontend/saas-web/app/view/home/charts/SaleTrend.js

@@ -4,29 +4,22 @@ Ext.define('saas.view.home.charts.SaleTrend', {
 
     id: 'sale_trend',
 
+    bind: {
+        title: '近六月销售趋势图'
+    },
+
     initComponent: function() {
         var me = this;
 
         Ext.apply(me, {
             items: [{
                 xtype: 'cartesian',
-                insetPadding: '28 0 0 0',
                 colors: [
                     '#64B0E4',
                     '#FF1038'
                 ],
                 bind: {
-                    captions: {
-                        title: {
-                            text: '近六月销售趋势图',
-                            style: {
-                                'font-size': '14px',
-                                'color': '#485465',
-                                'letter-spacing': '-0.07px'
-                            },
-                            align: 'left'
-                        }
-                    },
+                    insetPadding: '{insetPadding}',
                     store: '{sale_trend}',
                 },
                 // legend: {

+ 11 - 16
frontend/saas-web/app/view/home/charts/StockAmount.js

@@ -4,28 +4,21 @@ Ext.define('saas.view.home.charts.StockAmount', {
 
     id: 'stock_amount',
 
+    bind: {
+        title: '近六月库存金额图'
+    },
+
     initComponent: function() {
         var me = this;
 
         Ext.apply(me, {
             items: [{
                 xtype: 'cartesian',
-                insetPadding: '28 0 0 0',
                 colors: [
                     '#34BAF6'
                 ],
                 bind: {
-                    captions: {
-                        title: {
-                            text: '近六月库存金额图',
-                            style: {
-                                'font-size': '14px',
-                                'color': '#485465',
-                                'letter-spacing': '-0.07px'
-                            },
-                            align: 'left'
-                        }
-                    },
+                    insetPadding: '{insetPadding}',
                     store: '{stock_amount}',
                 },
                 axes: [{
@@ -72,10 +65,12 @@ Ext.define('saas.view.home.charts.StockAmount', {
                         trackMouse: true,
                         renderer: me.onBarTipRender
                     },
-                    style: {
-                        lineWidth: 0,
-                        strokeStyle: 'transparent',
-                        maxBarWidth: 30,
+                    bind: {
+                        style: {
+                            lineWidth: 0,
+                            strokeStyle: 'transparent',
+                            maxBarWidth: '{maxBarWidth}',
+                        },
                     },
                 }]
             }]

+ 72 - 0
frontend/saas-web/app/view/money/othreceipts/FormPanelController.js

@@ -8,6 +8,78 @@ Ext.define('saas.view.money.othreceipts.FormPanelController', {
             'customerDbfindTrigger[name=or_custname]': {
                 beforerender: function (f) {
                     Ext.apply(f, {
+                        dbColumns: [{
+                            conditionCode: 'id',
+                            text: "客户ID",
+                            dataIndex: "id",
+                            hidden:true,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_code',
+                            text: "客户编号",
+                            dataIndex: "cu_code",
+                            width: 150,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_name',
+                            text: "客户名称",
+                            dataIndex: "cu_name",
+                            width: 200,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_type',
+                            text: "客户类型",
+                            dataIndex: "cu_type",
+                            width: 110,
+                            xtype: "",
+                        }, {
+                            text: "业务员编号",
+                            dataIndex: "cu_sellercode",
+                            width:110
+                        }, {
+                            text: "业务员",
+                            dataIndex: "cu_sellername",
+                            width:110
+                        }, {
+                            text: "税率",
+                            dataIndex: "cu_taxrate",
+                            xtype: 'numbercolumn',
+                            width:80,
+                            renderer: function (v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        },{
+                            text: "应收款余额",
+                            dataIndex: "cu_leftamount",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                var arr = (v + '.').split('.');
+                                var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+                                var format = '0.' + xr.join();
+                                return Ext.util.Format.number(v, format);
+                            }
+                        }, {
+                            text: "结算天数",
+                            dataIndex: "cu_promisedays",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer: function (v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        }, {
+                            text: "额度",
+                            dataIndex: "cu_credit",
+                            width:110,
+                            xtype: 'numbercolumn',
+                        }, {
+                            text: "客户地址",
+                            dataIndex: "ca_address",
+                            width: 250
+                        }],
                         dbfinds: [{
                             from: 'id',
                             to: 'or_custid',ignore:true

+ 72 - 0
frontend/saas-web/app/view/money/othspendings/FormPanelController.js

@@ -8,6 +8,78 @@ Ext.define('saas.view.money.othspendings.FormPanelController', {
             'vendorDbfindTrigger[name=os_vendname]': {
                 beforerender: function (f) {
                     Ext.apply(f, {
+                        dbColumns: [{
+                            conditionCode: 'id',
+                            text: "客户ID",
+                            dataIndex: "id",
+                            hidden:true,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_code',
+                            text: "客户编号",
+                            dataIndex: "cu_code",
+                            width: 150,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_name',
+                            text: "客户名称",
+                            dataIndex: "cu_name",
+                            width: 200,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_type',
+                            text: "客户类型",
+                            dataIndex: "cu_type",
+                            width: 110,
+                            xtype: "",
+                        }, {
+                            text: "业务员编号",
+                            dataIndex: "cu_sellercode",
+                            width:110
+                        }, {
+                            text: "业务员",
+                            dataIndex: "cu_sellername",
+                            width:110
+                        }, {
+                            text: "税率",
+                            dataIndex: "cu_taxrate",
+                            xtype: 'numbercolumn',
+                            width:80,
+                            renderer: function (v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        },{
+                            text: "应收款余额",
+                            dataIndex: "cu_leftamount",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                var arr = (v + '.').split('.');
+                                var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+                                var format = '0.' + xr.join();
+                                return Ext.util.Format.number(v, format);
+                            }
+                        }, {
+                            text: "结算天数",
+                            dataIndex: "cu_promisedays",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer: function (v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        }, {
+                            text: "额度",
+                            dataIndex: "cu_credit",
+                            width:110,
+                            xtype: 'numbercolumn',
+                        }, {
+                            text: "客户地址",
+                            dataIndex: "ca_address",
+                            width: 250
+                        }],
                         dbfinds: [{
                             from: 'id',
                             to: 'os_vendid',

+ 68 - 0
frontend/saas-web/app/view/money/payBalance/FormPanelController.js

@@ -9,6 +9,74 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
             'dbfindtrigger[name=pb_vendname]':{
                 beforerender: function (f) {
                     Ext.apply(f, {
+                        dbColumns:[{
+                            text: "供应商ID",
+                            hidden: true,
+                            dataIndex: "id",
+                            xtype: "numbercolumn"
+                        },{
+                            text: "供应商编号",
+                            dataIndex: "ve_code",
+                            width: 150
+                        }, {
+                            text: "供应商名称",
+                            dataIndex: "ve_name",
+                            width: 200
+                        }, {
+                            text: "供应商类型",
+                            dataIndex: "ve_type",
+                            width: 110,
+                        }, {
+                            text: "税率",
+                            dataIndex: "ve_taxrate",
+                            width: 80,
+                            xtype: 'numbercolumn',
+                            align:'end',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                var arr = (v + '.').split('.');
+                                var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+                                var format = '0.' + xr.join();
+                                return Ext.util.Format.number(v, format);
+                            }
+                        }, {
+                            text: "应付款余额",
+                            dataIndex: "ve_leftamount",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                var arr = (v + '.').split('.');
+                                var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+                                var format = '0.' + xr.join();
+                                return Ext.util.Format.number(v, format);
+                            }
+                        },{
+                            text: "结算天数",
+                            dataIndex: "ve_promisedays",
+                            width: 110,
+                            xtype: 'numbercolumn',
+                            align: 'end',
+                            renderer : function(v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        }, {
+                            text: "纳税人识别号",
+                            dataIndex: "ve_nsrzh",
+                            width: 150
+                        }, {
+                            text: "开户银行",
+                            dataIndex: "ve_bankcode",
+                            width: 150
+                        }, {
+                            text: "银行账户",
+                            dataIndex: "ve_bankaccount",
+                            width: 200
+                        }],
                         dbfinds: [{
                             from: 've_code',
                             to: 'pb_vendcode'

+ 72 - 0
frontend/saas-web/app/view/money/recBalance/FormPanelController.js

@@ -8,6 +8,78 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
             'dbfindtrigger[name=rb_custname]':{
                 beforerender:function(f){
                     Ext.apply(f,{
+                        dbColumns: [{
+                            conditionCode: 'id',
+                            text: "客户ID",
+                            dataIndex: "id",
+                            hidden:true,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_code',
+                            text: "客户编号",
+                            dataIndex: "cu_code",
+                            width: 150,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_name',
+                            text: "客户名称",
+                            dataIndex: "cu_name",
+                            width: 200,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_type',
+                            text: "客户类型",
+                            dataIndex: "cu_type",
+                            width: 110,
+                            xtype: "",
+                        }, {
+                            text: "业务员编号",
+                            dataIndex: "cu_sellercode",
+                            width:110
+                        }, {
+                            text: "业务员",
+                            dataIndex: "cu_sellername",
+                            width:110
+                        }, {
+                            text: "税率",
+                            dataIndex: "cu_taxrate",
+                            xtype: 'numbercolumn',
+                            width:80,
+                            renderer: function (v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        },{
+                            text: "应收款余额",
+                            dataIndex: "cu_leftamount",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                var arr = (v + '.').split('.');
+                                var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+                                var format = '0.' + xr.join();
+                                return Ext.util.Format.number(v, format);
+                            }
+                        }, {
+                            text: "结算天数",
+                            dataIndex: "cu_promisedays",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer: function (v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        }, {
+                            text: "额度",
+                            dataIndex: "cu_credit",
+                            width:110,
+                            xtype: 'numbercolumn',
+                        }, {
+                            text: "客户地址",
+                            dataIndex: "ca_address",
+                            width: 250
+                        }],
                         //赋值 
                         dbfinds:[{
                             from: 'id', to: 'rb_custid',ignore:true

+ 150 - 112
frontend/saas-web/app/view/money/report/VendorCheck.js

@@ -11,129 +11,167 @@ Ext.define('saas.view.money.report.VendorCheck', {
     listUrl: '/api/money/report/vendorCheck',
     defaultCondition: null,
     reportTitle: '供应商对账单',
-    QueryWidth:0.25,
+    QueryWidth:0.2,
     autoLoad:false,
     //筛选:供应商、日期(必填)
     searchItems: [ {
         xtype: 'vendorDbfindTrigger',
         name: 'pi_vendname',
         fieldLabel: '供应商名称',
-        columnWidth: 0.25,
+        columnWidth: 0.2,
         allowBlank:false,
+    }, {
+        xtype: 'monthdatefield',
+        name: 'ym',
+        fieldLabel: '期初日期',
+        columnWidth: 0.2
     }, {
         xtype: 'condatefield',
         name: 'pi_date',
         fieldLabel: '单据日期',
-        columnWidth: 0.5
+        columnWidth: 0.4
+    }],
+
+    reportColumns: [{
+        text: 'id',
+        dataIndex: 'pi_id',
+        hidden: true
+    }, {
+        text: '单号',
+        dataIndex: 'pi_inoutno',
+        width: 150
+    }, {
+        text: '单据类型',
+        dataIndex: 'pi_class',
+        width: 110
+    }, {
+        text: '单据日期',
+        dataIndex: 'pi_date',
+        xtype:'datecolumn',
+        width: 110
+    }, {
+        text: '序号',
+        dataIndex: 'pd_pdno',
+        width: 80
+    },{
+        text:'供应商编号',
+        dataIndex:'pi_vendcode',
+        width: 150
+    },{
+        text:'供应商名称',
+        dataIndex:'pi_vendname',
+        width: 200
+    },{
+        text: '物料编号',
+        dataIndex: 'pr_code',
+        width: 150
+    }, {
+        text: '物料名称',
+        dataIndex: 'pr_detail',
+        width: 200
+    }, {
+        text: '物料规格',
+        dataIndex: 'pr_spec',
+        width: 150
+    }, {
+        text: '单位',
+        dataIndex: 'pd_unit',
+        width: 80
+    }, {
+        text: '采购数量',
+        xtype: 'numbercolumn',
+        dataIndex: 'qty',
+        xtype: 'numbercolumn',
+        width: 110,
+        // renderer : function(v) {
+        //     var arr = (v + '.').split('.');
+        //     var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+            //    var format = '0.' + xr.join();
+        //     return Ext.util.Format.number(v, format);
+        // },
+        // summaryType: 'sum',
+        // summaryRenderer: function(v) {
+        //     var arr = (v + '.').split('.');
+        //     var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+            //    var format = '0.' + xr.join();
+        //     return Ext.util.Format.number(v, format);
+        // }
+    }, {
+        text: '单价',
+        dataIndex: 'pd_orderprice',
+        xtype: 'numbercolumn',
+        width: 110
+    }, {
+        text: '税率',
+        dataIndex: 'pd_taxrate',
+        xtype: 'numbercolumn',
+        width: 80
+    }, {
+        text: '金额',
+        xtype: 'numbercolumn',
+        dataIndex: 'pd_total',
+        xtype: 'numbercolumn',
+        width: 110,
+        // renderer : function(v) {
+        //     var arr = (v + '.').split('.');
+        //     var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
+        //     var format = '0,000.' + xr.join();
+        //     return Ext.util.Format.number(v, format);
+        // },
+        // summaryType: 'sum',
+        // summaryRenderer: function(v) {
+        //     var arr = (v + '.').split('.');
+        //     var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
+        //     var format = '0,000.' + xr.join();
+        //     return Ext.util.Format.number(v, format);
+        // }
+    }, {
+        text: '不含税单价',
+        dataIndex: 'pd_netprice',
+        xtype: 'numbercolumn',
+        width: 110
+    }, {
+        text: '不含税金额',
+        dataIndex: 'pd_nettotal',
+        xtype: 'numbercolumn',
+        width: 110
+    }, {
+        text: '备注',
+        dataIndex: 'pd_remark',
+        width: 250
+    }, {
+        text: '期初应付',
+        dataIndex: 'beginamount',
+        hidden: true,
+        width: 0,
+        summaryType: 'cus',
+    }, {
+        text: '本期发生',
+        dataIndex: 'nowamount',
+        hidden: true,
+        width: 0,
+        summaryType: 'cus',
+    }, {
+        text: '本期付款',
+        dataIndex: 'nowpay',
+        hidden: true,
+        width: 0,
+        summaryType: 'cus',
+    }, {
+        text: '本期结余',
+        dataIndex: 'nowbalance',
+        hidden: true,
+        width: 0,
+        summaryType: 'cus',
     }],
+    applyParams: function(p) {
+        var me = this,
+        viewModel = me.getViewModel(),
+        formData = viewModel.get('form'),
+        ym = formData.ym;
 
-    reportColumns: [
-        {
-            text: 'id',
-            dataIndex: 'pi_id',
-            hidden: true
-        }, {
-            text: '单号',
-            dataIndex: 'pi_inoutno',
-            width: 150
-        }, {
-            text: '单据类型',
-            dataIndex: 'pi_class',
-            width: 110
-        }, {
-            text: '单据日期',
-            dataIndex: 'pi_date',
-            xtype:'datecolumn',
-            width: 110
-        }, {
-            text: '序号',
-            dataIndex: 'pd_pdno',
-            width: 80
-        },{
-            text:'供应商编号',
-            dataIndex:'pi_vendcode',
-            width: 150
-        },{
-            text:'供应商名称',
-            dataIndex:'pi_vendname',
-            width: 200
-        },{
-            text: '物料编号',
-            dataIndex: 'pr_code',
-            width: 150
-        }, {
-            text: '物料名称',
-            dataIndex: 'pr_detail',
-            width: 200
-        }, {
-            text: '物料规格',
-            dataIndex: 'pr_spec',
-            width: 150
-        }, {
-            text: '单位',
-            dataIndex: 'pd_unit',
-            width: 80
-        }, {
-            text: '采购数量',
-            xtype: 'numbercolumn',
-            dataIndex: 'qty',
-            xtype: 'numbercolumn',
-            width: 110,
-            // renderer : function(v) {
-            //     var arr = (v + '.').split('.');
-            //     var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
-	         //    var format = '0.' + xr.join();
-            //     return Ext.util.Format.number(v, format);
-            // },
-            // summaryType: 'sum',
-            // summaryRenderer: function(v) {
-            //     var arr = (v + '.').split('.');
-            //     var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
-	         //    var format = '0.' + xr.join();
-            //     return Ext.util.Format.number(v, format);
-            // }
-        }, {
-            text: '单价',
-            dataIndex: 'pd_orderprice',
-            xtype: 'numbercolumn',
-            width: 110
-        }, {
-            text: '税率',
-            dataIndex: 'pd_taxrate',
-            xtype: 'numbercolumn',
-            width: 80
-        }, {
-            text: '金额',
-            xtype: 'numbercolumn',
-            dataIndex: 'pd_total',
-            xtype: 'numbercolumn',
-            width: 110,
-            // renderer : function(v) {
-            //     var arr = (v + '.').split('.');
-            //     var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
-            //     var format = '0,000.' + xr.join();
-            //     return Ext.util.Format.number(v, format);
-            // },
-            // summaryType: 'sum',
-            // summaryRenderer: function(v) {
-            //     var arr = (v + '.').split('.');
-            //     var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
-            //     var format = '0,000.' + xr.join();
-            //     return Ext.util.Format.number(v, format);
-            // }
-        }, {
-            text: '不含税单价',
-            dataIndex: 'pd_netprice',
-            xtype: 'numbercolumn',
-            width: 110
-        }, {
-            text: '不含税金额',
-            dataIndex: 'pd_nettotal',
-            xtype: 'numbercolumn',
-            width: 110
-        }, {
-            text: '备注',
-            dataIndex: 'pd_remark',
-            width: 250
-        }]
+        return Ext.Object.merge(p, {
+            ym: ym
+        });
+    }
 });

+ 59 - 10
frontend/saas-web/app/view/money/verification/FormPanel.js

@@ -301,11 +301,54 @@ Ext.define('saas.view.money.verification.FormPanel', {
             }]
         },
         other: [{
-            fieldLabel: '备注',
             xtype: 'textfield',
+            name: 'vc_remark',
             columnWidth: 1,
-            name: 'vc_remark'
-        }],
+            fieldLabel: '备注'
+        }, {
+            xtype : "hidden",
+            name : "creatorId",
+            fieldLabel : "录入人ID",
+            readOnly:true
+        },
+            {
+                xtype : "textfield",
+                name : "creatorName",
+                fieldLabel : "录入人",
+                readOnly:true
+            }, {
+                xtype : "datefield",
+                name : "createTime",
+                fieldLabel : "录入日期",
+                readOnly:true,
+                defaultValue: new Date()
+            },{
+                xtype : "hidden",
+                name : "updaterId",
+                fieldLabel : "更新人ID",
+                readOnly:true
+            },{
+                xtype : "hidden",
+                name : "updaterName",
+                fieldLabel : "更新人",
+                readOnly:true
+            }, {
+                xtype : "hidden",
+                name : "updateTime",
+                fieldLabel : "更新日期",
+                readOnly:true,
+                defaultValue: new Date()
+            },{
+                xtype: 'textfield',
+                name: 'vc_auditman',
+                fieldLabel: '审核人',
+                readOnly: true
+            },{
+                xtype: "datefield",
+                name: "vc_auditdate",
+                fieldLabel: "审核日期",
+                readOnly: true
+            }],
 
         // 预收冲应收
         receipts_offset_receivable : {
@@ -340,8 +383,9 @@ Ext.define('saas.view.money.verification.FormPanel', {
                 xtype: "hidden",
                 name: "vc_amount2",
                 fieldLabel: "未核销金额"
-            },],
-            details: ['detail1', 'detail2']
+            }],
+            details: ['detail1', 'detail2'],
+            other: ['other']
         },
 
         // 预付冲应付
@@ -378,7 +422,8 @@ Ext.define('saas.view.money.verification.FormPanel', {
                 name: "vc_amount2",
                 fieldLabel: "未核销金额"
             }],
-            details: ['detail1', 'detail2']
+            details: ['detail1', 'detail2'],
+            other: ['other']
         },
 
         // 应收冲应付
@@ -432,7 +477,8 @@ Ext.define('saas.view.money.verification.FormPanel', {
                 name: "vc_amount2",
                 fieldLabel: "未核销金额"
             }],
-            details: ['detail1', 'detail2']
+            details: ['detail1', 'detail2'],
+            other: ['other']
         },
 
         // 应收转应收
@@ -485,7 +531,8 @@ Ext.define('saas.view.money.verification.FormPanel', {
                 name: "vc_amount2",
                 fieldLabel: "未核销金额"
             }],
-            details: ['detail1']
+            details: ['detail1'],
+            other: ['other']
         },
 
         // 应付转应付
@@ -538,7 +585,8 @@ Ext.define('saas.view.money.verification.FormPanel', {
                 name: "vc_amount2",
                 fieldLabel: "未核销金额"
             }],
-            details: ['detail1']
+            details: ['detail1'],
+            other: ['other']
         },
 
         defaultConditions: {
@@ -546,7 +594,8 @@ Ext.define('saas.view.money.verification.FormPanel', {
                 'ifnull(sl_custid,0)={vc_custid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0 ' +
                 'and sl_kind in (\'期初余额\',\'出货单\',\'销售退货单\')'],
             prepaid_offset_payable: ['ifnull(sl_vendid,0)={vc_vendid} and ifnull(sl_preamount,0)<>0 and ifnull(sl_namount,0)<>0',
-                'ifnull(sl_vendid,0)={vc_vendid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0'],
+                'ifnull(sl_vendid,0)={vc_vendid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0' +
+                'and sl_kind in (\'期初余额\',\'采购验收单\',\'采购验退单\')'],
             receivable_offset_payable: ['ifnull(sl_custid,0)={vc_custid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0',
                 'ifnull(sl_vendid,0)={vc_vendid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0'],
             receivable_to_receivable: ['ifnull(sl_custid,0)={vc_custid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0 ' +

+ 279 - 18
frontend/saas-web/app/view/money/verification/FormPanelController.js

@@ -9,6 +9,78 @@ Ext.define('saas.view.money.verification.FormPanelController', {
             'dbfindtrigger[name=vc_custname]':{
                 beforerender:function(f){
                     Ext.apply(f,{
+                        dbColumns: [{
+                            conditionCode: 'id',
+                            text: "客户ID",
+                            dataIndex: "id",
+                            hidden:true,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_code',
+                            text: "客户编号",
+                            dataIndex: "cu_code",
+                            width: 150,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_name',
+                            text: "客户名称",
+                            dataIndex: "cu_name",
+                            width: 200,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_type',
+                            text: "客户类型",
+                            dataIndex: "cu_type",
+                            width: 110,
+                            xtype: "",
+                        }, {
+                            text: "业务员编号",
+                            dataIndex: "cu_sellercode",
+                            width:110
+                        }, {
+                            text: "业务员",
+                            dataIndex: "cu_sellername",
+                            width:110
+                        }, {
+                            text: "税率",
+                            dataIndex: "cu_taxrate",
+                            xtype: 'numbercolumn',
+                            width:80,
+                            renderer: function (v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        },{
+                            text: "应收款余额",
+                            dataIndex: "cu_leftamount",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                var arr = (v + '.').split('.');
+                                var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+                                var format = '0.' + xr.join();
+                                return Ext.util.Format.number(v, format);
+                            }
+                        }, {
+                            text: "结算天数",
+                            dataIndex: "cu_promisedays",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer: function (v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        }, {
+                            text: "额度",
+                            dataIndex: "cu_credit",
+                            width:110,
+                            xtype: 'numbercolumn',
+                        }, {
+                            text: "客户地址",
+                            dataIndex: "ca_address",
+                            width: 250
+                        }],
                         //赋值 
                         dbfinds:[{
                             from: 'id', to: 'vc_custid',ignore:true
@@ -25,6 +97,78 @@ Ext.define('saas.view.money.verification.FormPanelController', {
             'dbfindtrigger[name=vc_turncustname]':{
                 beforerender:function(f){
                     Ext.apply(f,{
+                        dbColumns: [{
+                            conditionCode: 'id',
+                            text: "客户ID",
+                            dataIndex: "id",
+                            hidden:true,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_code',
+                            text: "客户编号",
+                            dataIndex: "cu_code",
+                            width: 150,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_name',
+                            text: "客户名称",
+                            dataIndex: "cu_name",
+                            width: 200,
+                            xtype: "",
+                        }, {
+                            conditionCode: 'cu_type',
+                            text: "客户类型",
+                            dataIndex: "cu_type",
+                            width: 110,
+                            xtype: "",
+                        }, {
+                            text: "业务员编号",
+                            dataIndex: "cu_sellercode",
+                            width:110
+                        }, {
+                            text: "业务员",
+                            dataIndex: "cu_sellername",
+                            width:110
+                        }, {
+                            text: "税率",
+                            dataIndex: "cu_taxrate",
+                            xtype: 'numbercolumn',
+                            width:80,
+                            renderer: function (v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        },{
+                            text: "应收款余额",
+                            dataIndex: "cu_leftamount",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                var arr = (v + '.').split('.');
+                                var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+                                var format = '0.' + xr.join();
+                                return Ext.util.Format.number(v, format);
+                            }
+                        }, {
+                            text: "结算天数",
+                            dataIndex: "cu_promisedays",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer: function (v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        }, {
+                            text: "额度",
+                            dataIndex: "cu_credit",
+                            width:110,
+                            xtype: 'numbercolumn',
+                        }, {
+                            text: "客户地址",
+                            dataIndex: "ca_address",
+                            width: 250
+                        }],
                         //赋值 
                         dbfinds:[{
                             from: 'id', to: 'vc_turncustid',ignore:true
@@ -41,6 +185,74 @@ Ext.define('saas.view.money.verification.FormPanelController', {
             'dbfindtrigger[name=vc_vendname]':{
                 beforerender: function (f) {
                     Ext.apply(f, {
+                        dbColumns:[{
+                            text: "供应商ID",
+                            hidden: true,
+                            dataIndex: "id",
+                            xtype: "numbercolumn"
+                        },{
+                            text: "供应商编号",
+                            dataIndex: "ve_code",
+                            width: 150
+                        }, {
+                            text: "供应商名称",
+                            dataIndex: "ve_name",
+                            width: 200
+                        }, {
+                            text: "供应商类型",
+                            dataIndex: "ve_type",
+                            width: 110,
+                        }, {
+                            text: "税率",
+                            dataIndex: "ve_taxrate",
+                            width: 80,
+                            xtype: 'numbercolumn',
+                            align:'end',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                var arr = (v + '.').split('.');
+                                var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+                                var format = '0.' + xr.join();
+                                return Ext.util.Format.number(v, format);
+                            }
+                        }, {
+                            text: "应付款余额",
+                            dataIndex: "ve_leftamount",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                var arr = (v + '.').split('.');
+                                var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+                                var format = '0.' + xr.join();
+                                return Ext.util.Format.number(v, format);
+                            }
+                        },{
+                            text: "结算天数",
+                            dataIndex: "ve_promisedays",
+                            width: 110,
+                            xtype: 'numbercolumn',
+                            align: 'end',
+                            renderer : function(v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        }, {
+                            text: "纳税人识别号",
+                            dataIndex: "ve_nsrzh",
+                            width: 150
+                        }, {
+                            text: "开户银行",
+                            dataIndex: "ve_bankcode",
+                            width: 150
+                        }, {
+                            text: "银行账户",
+                            dataIndex: "ve_bankaccount",
+                            width: 200
+                        }],
                         dbfinds: [{
                             from: 'id',
                             to: 'vc_vendid',
@@ -56,29 +268,78 @@ Ext.define('saas.view.money.verification.FormPanelController', {
 
                 }
             },
-            // 转供应商
-            'dbfindtrigger[name=vc_outvendname]':{
+            // 转供应商
+            'dbfindtrigger[name=vc_turnvendname]':{
                 beforerender: function (f) {
                     Ext.apply(f, {
-                        dbfinds: [{
-                            from: 'id',
-                            to: 'vc_outvendid',
-                            ignore: true
+                        dbColumns:[{
+                            text: "供应商ID",
+                            hidden: true,
+                            dataIndex: "id",
+                            xtype: "numbercolumn"
+                        },{
+                            text: "供应商编号",
+                            dataIndex: "ve_code",
+                            width: 150
                         }, {
-                            from: 've_code',
-                            to: 'vc_outvendcode'
+                            text: "供应商名称",
+                            dataIndex: "ve_name",
+                            width: 200
                         }, {
-                            from: 've_name',
-                            to: 'vc_outvendname'
+                            text: "供应商类型",
+                            dataIndex: "ve_type",
+                            width: 110,
+                        }, {
+                            text: "税率",
+                            dataIndex: "ve_taxrate",
+                            width: 80,
+                            xtype: 'numbercolumn',
+                            align:'end',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                var arr = (v + '.').split('.');
+                                var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+                                var format = '0.' + xr.join();
+                                return Ext.util.Format.number(v, format);
+                            }
+                        }, {
+                            text: "应付款余额",
+                            dataIndex: "ve_leftamount",
+                            width:110,
+                            xtype: 'numbercolumn',
+                            renderer : function(v) {
+                                if(!v) {
+                                    return 0;
+                                }
+                                var arr = (v + '.').split('.');
+                                var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
+                                var format = '0.' + xr.join();
+                                return Ext.util.Format.number(v, format);
+                            }
+                        },{
+                            text: "结算天数",
+                            dataIndex: "ve_promisedays",
+                            width: 110,
+                            xtype: 'numbercolumn',
+                            align: 'end',
+                            renderer : function(v) {
+                                return Ext.util.Format.number(v, '0');
+                            }
+                        }, {
+                            text: "纳税人识别号",
+                            dataIndex: "ve_nsrzh",
+                            width: 150
+                        }, {
+                            text: "开户银行",
+                            dataIndex: "ve_bankcode",
+                            width: 150
+                        }, {
+                            text: "银行账户",
+                            dataIndex: "ve_bankaccount",
+                            width: 200
                         }],
-                    });
-
-                }
-            },
-            // 转入供应商
-            'dbfindtrigger[name=vc_turnvendname]':{
-                beforerender: function (f) {
-                    Ext.apply(f, {
                         dbfinds: [{
                             from: 'id',
                             to: 'vc_turnvendid',

+ 7 - 3
frontend/saas-web/app/view/stock/inventory/EditDataList.js

@@ -153,13 +153,13 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
     {
         text : "物料类别", 
         dataIndex : "st_prodkind", 
-        width : 150.0, 
+        width : 100.0, 
         xtype : "", 
     },
     {
         text : "单位", 
         dataIndex : "st_produnit", 
-        width : 150.0, 
+        width : 75.0, 
         xtype : "", 
     },
     {
@@ -171,7 +171,8 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
     {
         text : "仓库编号", 
         dataIndex : "st_whcode", 
-        width : 150.0, 
+        width : 0,
+        hidden:true, 
         xtype : "", 
     },
     {
@@ -432,6 +433,9 @@ Ext.define('saas.view.stock.inventory.EditDataList', {
                         initId: intValue
                     });
                 }
+                if(!localJson.data.outData && !localJson.data.inData){
+                    saas.util.BaseUtil.showErrorToast('没有需要生成的盘盈盘亏单');
+                }
             }
         })
         .catch(function(res) {

+ 8 - 3
frontend/saas-web/ext/packages/ux/src/feature/MySummary.js

@@ -63,8 +63,13 @@ Ext.define('Ext.ux.feature.MySummary', {
                             '<tbody>',
                                 '<tr>',
                                     '<tpl for=".">',
-                                    '<td class="x-grid-cell x-grid-td x-grid-cell-numbercolumn-1526 x-unselectable x-mysummary-item">' +
-                                        '<div class="x-grid-cell-inner x-mysummary-item-cell">{label}({typeLabel}): {value}</div>' +
+                                    '<td class="x-grid-cell x-grid-td x-grid-cell-numbercolumn-1526 x-unselectable x-mysummary-item">',
+                                        '<div class="x-grid-cell-inner x-mysummary-item-cell">{label}',
+                                            '<tpl if="typeLabel">',
+                                            '({typeLabel})',
+                                            '</tpl>',
+                                            ': {value}',
+                                        '</div>',
                                     '</td>',
                                     '</tpl>',
                                 '</tr>',
@@ -107,7 +112,7 @@ Ext.define('Ext.ux.feature.MySummary', {
                     name: c.dataIndex,
                     label: c.text,
                     type: c.summaryType,
-                    typeLabel: typeLabels[c.summaryType],
+                    typeLabel: c.summaryType ? typeLabels[c.summaryType] : '',
                     value: c.summaryValue || 0
                 });
             } 

+ 9 - 0
script/mysql/init/auth.sql

@@ -8,4 +8,13 @@ create table `au_authorize_log` (
   client_ip varchar(100) comment '客户端IP',
   user_agent varchar(300) comment 'User Agent',
   login_time datetime comment '登录时间'
+) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='登录日志';
+
+create table `au_virtual_authorize_log` (
+  id int unsigned primary key not null auto_increment,
+  app_id varchar(30) comment '应用',
+  mobile varchar(20) not null comment '手机号',
+  client_ip varchar(100) comment '客户端IP',
+  user_agent varchar(300) comment 'User Agent',
+  login_time datetime comment '登录时间'
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='登录日志';

+ 5 - 1
script/mysql/init/base.sql

@@ -1,3 +1,7 @@
 CREATE USER 'saas'@'%' IDENTIFIED BY 'select111***';
-GRANT All privileges ON 'saas_*'.* TO 'saas'@'%';
+GRANT All privileges ON saas_account.* TO 'saas'@'%' identified by 'select111***' with grant option;
+GRANT All privileges ON saas_auth.* TO 'saas'@'%' identified by 'select111***' with grant option;
+GRANT All privileges ON saas_file.* TO 'saas'@'%' identified by 'select111***' with grant option;
+GRANT All privileges ON saas_mail.* TO 'saas'@'%' identified by 'select111***' with grant option;
+GRANT All privileges ON saas_biz.* TO 'saas'@'%' identified by 'select111***' with grant option;
 flush privileges;

+ 1 - 1
script/mysql/init/mail.sql

@@ -14,7 +14,7 @@ create table `m_log` (
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='邮件日志';
 
 create table `m_template` (
-  `id` varchar(300) primary key not null,
+  `id` varchar(100) primary key not null,
   `subject` varchar(300) not null comment '主题',
   `text` text comment '内容'
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='邮件模板';