Browse Source

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

hy 7 years ago
parent
commit
08622dfa4d

+ 5 - 74
applications/document/document-dto/src/main/java/com.usoftchina.saas.document.dto/ProductReserveCostDTO.java

@@ -1,12 +1,14 @@
 package com.usoftchina.saas.document.dto;
 
 import com.usoftchina.saas.base.dto.CommonBaseDTO;
+import lombok.Data;
 
 import java.io.Serializable;
 
 /**
  * 物料库存数量金额表
  */
+@Data
 public class ProductReserveCostDTO extends CommonBaseDTO implements Serializable {
 
     /**
@@ -36,85 +38,14 @@ public class ProductReserveCostDTO extends CommonBaseDTO implements Serializable
     /**
      * 数量
      */
-    private String rc_number;
+    private Double rc_number;
     /**
      * 单价
      */
-    private String rc_price;
+    private Double rc_price;
     /**
      * 金额
      */
-    private String rc_amount;
+    private Double rc_amount;
 
-    public String getRc_prodCode() {
-        return rc_prodCode;
-    }
-
-    public void setRc_prodCode(String rc_prodCode) {
-        this.rc_prodCode = rc_prodCode;
-    }
-
-    public String getRc_prodDetail() {
-        return rc_prodDetail;
-    }
-
-    public void setRc_prodDetail(String rc_prodDetail) {
-        this.rc_prodDetail = rc_prodDetail;
-    }
-
-    public String getRc_prodSpec() {
-        return rc_prodSpec;
-    }
-
-    public void setRc_prodSpec(String rc_prodSpec) {
-        this.rc_prodSpec = rc_prodSpec;
-    }
-
-    public String getRc_prodUnit() {
-        return rc_prodUnit;
-    }
-
-    public void setRc_prodUnit(String rc_prodUnit) {
-        this.rc_prodUnit = rc_prodUnit;
-    }
-
-    public String getRc_whCode() {
-        return rc_whCode;
-    }
-
-    public void setRc_whCode(String rc_whCode) {
-        this.rc_whCode = rc_whCode;
-    }
-
-    public String getRc_whName() {
-        return rc_whName;
-    }
-
-    public void setRc_whName(String rc_whName) {
-        this.rc_whName = rc_whName;
-    }
-
-    public String getRc_number() {
-        return rc_number;
-    }
-
-    public void setRc_number(String rc_number) {
-        this.rc_number = rc_number;
-    }
-
-    public String getRc_price() {
-        return rc_price;
-    }
-
-    public void setRc_price(String rc_price) {
-        this.rc_price = rc_price;
-    }
-
-    public String getRc_amount() {
-        return rc_amount;
-    }
-
-    public void setRc_amount(String rc_amount) {
-        this.rc_amount = rc_amount;
-    }
 }

+ 4 - 1
applications/document/document-server/src/main/resources/application.yml

@@ -73,4 +73,7 @@ mybatis:
   type-aliases-package: com.usoftchina.saas.document.entities
   mapper-locations: classpath:mapper/*.xml
 auth:
-  public-key: auth/pub.key
+  public-key: auth/pub.key
+ribbon:
+  ReadTimeout: 6000
+  ConnectTimeout: 6000

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

@@ -218,7 +218,7 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
                 total1 += nowbalanceDet;
 
                 //单据金额
-                Double amount = det.getVd_amount();
+                Double amount = det.getSl_namount();
                 //核销金额
                 if(amount.doubleValue()>0 && nowbalanceDet.doubleValue()<0){
                     String msg = BizExceptionCode.MONEY_NOWAMOUNT_POSITIVE.getMessage();
@@ -262,7 +262,7 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
                 Double namount = det.getSl_namount()==null?new Double(0):det.getSl_namount();
                 Double nowbalance = det.getVd_nowbalance()==null?new Double(0):det.getVd_nowbalance();
                 if(namount.doubleValue()<nowbalance.doubleValue()){
-                    throw new BizException(500, BizExceptionCode.VERIFICATION_CHECK_BALANCE.getMessage());
+                    throw new BizException(500, BizExceptionCode.RECALANCE_OUTNOWBALANCE.getMessage());
                 }
             }
         }
@@ -270,14 +270,15 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
     }
 
     //插入中间表
-    private Subledger changSubledgerUntil(VerificationDTO verification){
+    private Subledger changSubledgerUntil(VerificationDTO verification, int cs){
         Subledger subledger = new Subledger();
         String kind = verification.getVc_kind();
         subledger.setCompanyId(BaseContextHolder.getCompanyId());
         subledger.setSl_code(verification.getVc_code());
+        Double amount1 = verification.getVc_amount1()==null?new Double(0):verification.getVc_amount1();
+        Double amount2 = verification.getVc_amount2()==null?new Double(0):verification.getVc_amount2();
 
-        if(kind.equals("receipts_offset_receivable") || kind.equals("prepaid_offset_payable") ||
-                kind.equals("receivable_offset_payable")){
+        if(kind.equals("receipts_offset_receivable") || kind.equals("prepaid_offset_payable") ){
 
             /*
              ['receipts_offset_receivable', '预收冲应收'],
@@ -286,27 +287,31 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
                 ['receivable_to_receivable', '应收转应收'],
                 ['payable_to_payable', '应付转应付']
              */
-            subledger.setSl_custid(0);
+            subledger.setSl_custid(verification.getVc_custid());
             subledger.setSl_vendid(verification.getVc_vendid());
+            subledger.setSl_amount(-amount2);
+            subledger.setSl_preamount(-amount1);
         }else{
-            subledger.setSl_custid(verification.getVc_custid());
-            subledger.setSl_vendid(0);
+            if( cs == 2){
+                subledger.setSl_custid(verification.getVc_turncustid());
+                subledger.setSl_vendid(verification.getVc_turnvendid());
+                subledger.setSl_amount(amount1);
+                subledger.setSl_preamount(new Double(0));
+            } else {
+                subledger.setSl_custid(verification.getVc_custid());
+                subledger.setSl_vendid(verification.getVc_vendid());
+                subledger.setSl_amount(-amount1);
+                subledger.setSl_preamount(new Double(0));
+            }
         }
-        Double amount1 = verification.getVc_amount1()==null?new Double(0):verification.getVc_amount1();
-        Double amount2 = verification.getVc_amount2()==null?new Double(0):verification.getVc_amount2();
+
         subledger.setSl_date(verification.getVc_date());
         subledger.setSl_ym(DateUtils.getYm(verification.getVc_date()));
-        subledger.setSl_amount(-amount2);
         subledger.setSl_orderamount(new Double(0));
         subledger.setSl_yamount(new Double(0));
         subledger.setSl_remark(verification.getVc_remark());
         subledger.setSl_discount(new Double(0));
         subledger.setSl_ym(DateUtils.getYm(verification.getVc_date()));
-        if(kind.equals("receipts_offset_receivable") || kind.equals("prepaid_offset_payable")){
-            subledger.setSl_preamount(-amount1);
-        }else{
-            subledger.setSl_preamount(new Double(0));
-        }
         kind = transferKind(kind);
         subledger.setSl_kind(kind);
         return subledger;
@@ -553,10 +558,20 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
         formData.getMain().setVc_auditdate(new Date());
         baseDTO = this.saveFormData(formData);
         Long id = baseDTO.getId();
+
             VerificationDTO verificationDTO = formData.getMain();
-            Subledger subledger = changSubledgerUntil(verificationDTO);
+
+            Subledger subledger = changSubledgerUntil(verificationDTO, 1);
             subledgerMapper.insertSelective(subledger);
 
+        if ("receivable_to_receivable".equals(verificationDTO.getVc_kind()) ||
+                "receivable_offset_payable".equals(verificationDTO.getVc_kind())
+                || "payable_to_payable".equals(verificationDTO.getVc_kind())){
+            Subledger subledger1 = changSubledgerUntil(verificationDTO,2);
+            subledgerMapper.insertSelective(subledger1);
+
+        }
+
             //更新客户或者供应商的金额
             updateAuditCustomer(verificationDTO);
             updateAuditVendor(verificationDTO);

+ 3 - 6
base-servers/auth/auth-server/src/main/java/com/usoftchina/saas/auth/controller/AuthController.java

@@ -33,7 +33,6 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.web.bind.annotation.*;
 
-import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
@@ -219,7 +218,7 @@ public class AuthController {
      * @param info
      * @return
      */
-    @GetMapping(value = "/sso/callback/{clientId}", produces = {"application/javascript"})
+    @GetMapping("/sso/callback/{clientId}")
     public void ssoCallback(HttpServletRequest request, HttpServletResponse response,
                             @PathVariable(required = false) String clientId, CookieInfo info, String callback) throws IOException{
         if (null != info && null != info.getMobile()) {
@@ -232,7 +231,7 @@ public class AuthController {
                 } else {
                     logger.error(result.getMessage());
                     ServletUtils.writeJsonPMessage(response, callback, false);
-//                    return "successCallback({success:'0'})";
+                    return;
                 }
             } else {
                 accountDTO = result.getData();
@@ -243,7 +242,7 @@ public class AuthController {
                     if (!updateResult.isSuccess()) {
                         logger.error(updateResult.getMessage());
                         ServletUtils.writeJsonPMessage(response, callback, false);
-//                        return "successCallback({success:'0'})";
+                        return;
                     }
                 }
             }
@@ -266,9 +265,7 @@ public class AuthController {
                         JsonUtils.toJsonString(new AuthDTO(tokenDTO, accountDTO)));
             }
             ServletUtils.writeJsonPMessage(response, callback, true);
-//            return "successCallback({success:'1'})";
         }
-//        return "successCallback({success:'0'})";
     }
 
     /**

+ 1 - 1
base-servers/datacenter/datacenter-dto/src/main/java/com/usoftchina/saas/dc/dto/DataSourceInfoDTO.java

@@ -93,7 +93,7 @@ public class DataSourceInfoDTO implements Connectable, Serializable{
 
     @Override
     public String url() {
-        return String.format("jdbc:mysql://%s:%s/%s?characterEncoding=utf-8&useSSL=false",
+        return String.format("jdbc:mysql://%s:%s/%s?characterEncoding=utf-8&useSSL=false&allowMultiQueries=true",
                 dbHost, dbPort, dbRealName);
     }
 

+ 15 - 0
frontend/saas-portal-web/static/set-token.html

@@ -0,0 +1,15 @@
+<script>
+    // iframe接收消息
+	window.addEventListener('message', function(e) {
+		if (e.source != window.parent) {
+            return;
+        }
+        var storeKey = 'app-state-session';
+        if (e.data) {
+            localStorage.setItem(storeKey, e.data);
+        } else {
+            localStorage.removeItem(storeKey);
+        }
+        window.parent.postMessage("success", "*");
+    });
+</script>

+ 15 - 1
frontend/saas-portal-web/yarn.lock

@@ -2901,7 +2901,7 @@ glob@7.0.5:
     once "^1.3.0"
     path-is-absolute "^1.0.0"
 
-glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2:
+glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3:
   version "7.1.3"
   resolved "http://registry.npm.taobao.org/glob/download/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
   dependencies:
@@ -6941,6 +6941,12 @@ uuid@^3.0.1, uuid@^3.3.2:
   version "3.3.2"
   resolved "http://registry.npm.taobao.org/uuid/download/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
 
+v-distpicker@^1.0.20:
+  version "1.0.21"
+  resolved "http://registry.npm.taobao.org/v-distpicker/download/v-distpicker-1.0.21.tgz#50356c68220586ada9131fe1160fabf0cf805294"
+  dependencies:
+    vue "^2.5.17"
+
 validate-npm-package-license@^3.0.1:
   version "3.0.4"
   resolved "http://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
@@ -7029,10 +7035,18 @@ vue-template-es2015-compiler@^1.5.3, vue-template-es2015-compiler@^1.6.0:
   version "1.6.0"
   resolved "http://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.6.0.tgz#dc42697133302ce3017524356a6c61b7b69b4a18"
 
+vue@^2.5.17:
+  version "2.5.21"
+  resolved "http://registry.npm.taobao.org/vue/download/vue-2.5.21.tgz#3d33dcd03bb813912ce894a8303ab553699c4a85"
+
 vue@^2.5.2:
   version "2.5.17"
   resolved "http://registry.npm.taobao.org/vue/download/vue-2.5.17.tgz#0f8789ad718be68ca1872629832ed533589c6ada"
 
+vuex@^3.0.1:
+  version "3.0.1"
+  resolved "http://registry.npm.taobao.org/vuex/download/vuex-3.0.1.tgz#e761352ebe0af537d4bb755a9b9dc4be3df7efd2"
+
 w3c-hr-time@^1.0.1:
   version "1.0.1"
   resolved "http://registry.npm.taobao.org/w3c-hr-time/download/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045"

+ 3 - 0
frontend/saas-web/app/view/core/form/RemoteCombo.js

@@ -7,6 +7,9 @@ Ext.define('saas.view.core.form.RemoteCombo', {
     displayField: 'display',
     valueField: 'value',
     queryMode: 'local',//只在组件加载的时候请求一次
+    listConfig: {
+        maxHeight: (Ext.isIE?screen.height:window.innerHeight)*0.5-50,
+    },
     initComponent: function() {
         var me = this;
         Ext.applyIf(this,{

+ 2 - 2
frontend/saas-web/app/view/money/report/AccountDetails.js

@@ -10,7 +10,7 @@ Ext.define('saas.view.money.report.AccountDetails', {
     // groupField: null,
     listUrl: '/api/money/report/accountdetails',
     defaultCondition: null,
-    reportTitle: '核销对账表',
+    reportTitle: '核销明细表',
     QueryWidth: 0.2,
     //筛选:客户/供应商、日期、单据类型(必填)
     searchItems: [{
@@ -26,7 +26,7 @@ Ext.define('saas.view.money.report.AccountDetails', {
         datas: [
             ["采购验收单", "采购验收单"],
             ["采购验退单", "采购验退单"],
-            ["出货单", "出货单"],
+            ["出货单", "销售出货单"],
             ["销售退货单", "销售退货单"],
             ["完工入库单", "完工入库单"],
             ["生产领料单", "生产领料单"],

+ 25 - 9
frontend/saas-web/app/view/viewport/ViewportController.js

@@ -23,8 +23,11 @@ Ext.define('saas.view.viewport.ViewportController', {
     },
 
     mainviewboxready: function() {
-        //初始化accountPage地址
-        document.getElementsByName('accountPage')[0].setAttribute('src',getTokenPage());
+        //初始化setSessionPage地址
+        Ext.DomHelper.insertHtml('beforeEnd', document.body, 
+            '<iframe name="setSessionPage" hidden src="' + 
+            Ext.manifest.server.accountCenter + '/static/set-token.html"></iframe>');
+
         if(!Ext.isChrome && !Ext.isFirefox) {
             saas.util.BaseUtil.showConfirm('温馨提示', '为了更好地呈现页面效果,推荐使用Chrome浏览器或火狐浏览器');
         }
@@ -77,7 +80,7 @@ Ext.define('saas.view.viewport.ViewportController', {
             var hasValidCookie = Ext.util.Cookies.get('uid')?me.getAccountCookie():false;
             if(!hasValidCookie){
                 if(window.location.host.indexOf('.usoftchina.com')>-1){
-                    window.location.href = Ext.manifest.server.accountCenter
+                    me.redirectPortal();
                 }else{
                     me.redirectTo('login', {replace: true});
                 }
@@ -122,8 +125,8 @@ Ext.define('saas.view.viewport.ViewportController', {
                         me.saveSession(session);
                     }
                     hasValidCookie = true
-                }else{
-                    window.location.href = Ext.manifest.server.accountCenter
+                } else{
+                    me.redirectPortal();
                 }
             },
             failure: function(response, opts) {
@@ -202,10 +205,8 @@ Ext.define('saas.view.viewport.ViewportController', {
             me.originalRoute = Ext.History.getToken();
             me.terminateSession();
             view.unmask();
-            //跳转到账户中心
-            const frame = window.frames[window.frames.length - 1];
-            frame.postMessage('removeToken','*');
-            window.location.href = getAccountPage();
+            me.syncSessionToPortal();
+            me.redirectPortal();
             //me.redirectTo('login', {replace: true});
         });
     },
@@ -221,6 +222,7 @@ Ext.define('saas.view.viewport.ViewportController', {
                 .then(function(newSession) {
                     newSession.get('account').companyId = companyId;
                     me.initiateSession(newSession);
+                    me.syncSessionToPortal(newSession);
                 })
                 .catch(function(error) {
                     saas.util.BaseUtil.showErrorToast(error.message);
@@ -230,6 +232,20 @@ Ext.define('saas.view.viewport.ViewportController', {
                     window.location.reload();
                 }); 
         }        
+    },
+    /**
+     * 同步session到门户
+     * @param {} session 
+     */
+    syncSessionToPortal: function(session) {
+        const frame = window.frames[window.frames.length - 1];
+        frame.postMessage(session ? JSON.stringify(session) : '', '*');
+    },
+    /**
+     * 跳转门户
+     */
+    redirectPortal: function() {
+        window.location.href = Ext.manifest.server.accountCenter;
     }
 });
 

+ 0 - 9
frontend/saas-web/index.html

@@ -12,15 +12,6 @@
 
     <!-- The line below must be kept intact for Sencha Cmd to build your application -->
     <script id="microloader" data-app="a20e1670-7932-41f6-8e9c-55b77cba3f26" type="text/javascript" src="bootstrap.js"></script>
-    <script>
-        function getTokenPage(){
-            return Ext.manifest.server.accountCenter + "/remove-token.html"
-        }
-        function getAccountPage(){
-            return Ext.manifest.server.accountCenter
-        }
-    </script>
 </head>
-<iframe name="accountPage" hidden></iframe>
 <body class="launching"></body>
 </html>