Browse Source

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

chenw 7 years ago
parent
commit
05a25db2b4
29 changed files with 319 additions and 63 deletions
  1. 3 0
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/exception/BizExceptionCode.java
  2. 4 0
      applications/document/document-server/src/main/resources/mapper/BankinformationMapper.xml
  3. 1 1
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/FundtransferdetailMapper.java
  4. 19 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/po/Fundtransferdetail.java
  5. 2 2
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/FundtransferServiceImpl.java
  6. 36 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/OthreceiptsServiceImpl.java
  7. 5 3
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/OthspendingsServiceImpl.java
  8. 15 0
      applications/money/money-server/src/main/resources/mapper/FundtransferdetailMapper.xml
  9. 1 1
      applications/money/money-server/src/main/resources/mapper/PaybalancedetMapper.xml
  10. 1 1
      applications/money/money-server/src/main/resources/mapper/RecbalancedetMapper.xml
  11. 4 0
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/mapper/PurchaseMapper.java
  12. 11 0
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/PurchaseServiceImpl.java
  13. 9 0
      applications/purchase/purchase-server/src/main/resources/mapper/PurchaseMapper.xml
  14. 4 4
      base-servers/auth/auth-server/src/main/java/com/usoftchina/saas/auth/controller/AuthController.java
  15. 0 28
      framework/server-starter/src/main/java/com/usoftchina/saas/server/error/ServletErrorUtils.java
  16. 41 0
      framework/server-starter/src/main/java/com/usoftchina/saas/server/web/ServletUtils.java
  17. 13 0
      frontend/saas-portal-web/config/env.js
  18. 25 0
      frontend/saas-portal-web/src/js/main.js
  19. 2 1
      frontend/saas-web/Dockerfile
  20. 1 1
      frontend/saas-web/app.json
  21. 8 6
      frontend/saas-web/app/view/core/dbfind/DbfindGridPanel.js
  22. 17 9
      frontend/saas-web/app/view/core/dbfind/DbfindTrigger.js
  23. 79 1
      frontend/saas-web/app/view/core/dbfind/types/WarehouseDbfindTrigger.js
  24. 2 2
      frontend/saas-web/app/view/document/kind/ChildForm.js
  25. 3 1
      frontend/saas-web/app/view/document/product/FormPanel.js
  26. 1 1
      frontend/saas-web/app/view/money/othspendings/FormPanel.js
  27. 0 1
      frontend/saas-web/app/view/purchase/purchaseIn/QueryPanel.js
  28. 2 0
      frontend/saas-web/app/view/stock/make/QueryPanel.js
  29. 10 0
      frontend/saas-web/set-token.html

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

@@ -46,6 +46,9 @@ public enum BizExceptionCode implements BaseExceptionCode {
     DEAL_FAILED(79800, "编号:<u>%s</u>处理失败,%s"),
     USING_EXISTS(79504, ""),
 
+    VENDOR_ISCLOSE(79505, "供应商已关闭"),
+    PRODUCT_ISCLOSE(79506, "物料已关闭"),
+    CUSTOMER_ISCLOSE(79507, "客户资料已关闭"),
 
 
     //采购 70000-71999

+ 4 - 0
applications/document/document-server/src/main/resources/mapper/BankinformationMapper.xml

@@ -340,6 +340,10 @@
         select bk_bankcode from bankinformation where bk_bankcode = #{bk_bankcode,jdbcType=VARCHAR}
     </select>
 
+  <select id="selectBankId" parameterType="java.lang.String" resultType="java.lang.Long">
+        select bk_id from bankinformation where bk_bankcode = #{bk_bankcode,jdbcType=VARCHAR}
+   </select>
+
   <select id="check" parameterMap="checkParamMap" statementType="CALLABLE">
         CALL SP_LIMITBASE(?, ?, ?, ?,?)
     </select>

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

@@ -13,7 +13,7 @@ public interface FundtransferdetailMapper {
 
     int insertSelective(Fundtransferdetail record);
 
-    List<Fundtransferdetail> selectByPrimaryKey(@Param("id") Integer ftdId, @Param("companyId") Integer companyId);
+    List<Fundtransferdetail> selectByPrimaryKeyList(@Param("id") Integer ftdId, @Param("companyId") Integer companyId);
 
     int updateByPrimaryKeySelective(Fundtransferdetail record);
 

+ 19 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/po/Fundtransferdetail.java

@@ -47,6 +47,25 @@ public class Fundtransferdetail extends CommonBaseEntity implements Serializable
 
     private String ftd_text5;
 
+    private Double bk_outthisamount;
+    private Double bk_inthisamount;
+
+    public Double getBk_outthisamount() {
+        return bk_outthisamount;
+    }
+
+    public void setBk_outthisamount(Double bk_outthisamount) {
+        this.bk_outthisamount = bk_outthisamount;
+    }
+
+    public Double getBk_inthisamount() {
+        return bk_inthisamount;
+    }
+
+    public void setBk_inthisamount(Double bk_inthisamount) {
+        this.bk_inthisamount = bk_inthisamount;
+    }
+
     public Date getFt_date() {
         return ft_date;
     }

+ 2 - 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
 
         //资金
         //取从表金额
-        List<Fundtransferdetail> fundtransferdetailList = fundtransferdetailMapper.selectByPrimaryKey(id, Math.toIntExact(BaseContextHolder.getCompanyId()));
+        List<Fundtransferdetail> fundtransferdetailList = fundtransferdetailMapper.selectByPrimaryKeyList(id, Math.toIntExact(BaseContextHolder.getCompanyId()));
         Iterator isList = fundtransferdetailList.iterator();
         while (isList.hasNext()){
             Fundtransferdetail fundtransferdetail = (Fundtransferdetail) isList.next();
@@ -305,7 +305,7 @@ public class FundtransferServiceImpl extends CommonBaseServiceImpl<FundtransferM
     public Fundtran select(int id) {
         Fundtran fundtran = new Fundtran();
         fundtran.setMain(fundtransferMapper.selectByPrimaryKey(id));
-        fundtran.setItems(fundtransferdetailMapper.selectByPrimaryKey(id, Math.toIntExact(BaseContextHolder.getCompanyId())));
+        fundtran.setItems(fundtransferdetailMapper.selectByPrimaryKeyList(id, Math.toIntExact(BaseContextHolder.getCompanyId())));
         return fundtran;
     }
 

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

@@ -209,6 +209,7 @@ public class OthreceiptsServiceImpl extends CommonBaseServiceImpl<OthreceiptsMap
         //删除中间表
         othreceipts = othreceiptsMapper.selectByPrimaryKey(id);
         banksubledgerMapper.deleteByPrimaryKey(othreceipts.getOr_code(), "其他收入单");
+        subledgerMapper.deleteByPrimaryKey(othreceipts.getOr_code(), "其他收入单");
 
         //更新资金
         Double amount = banksubledgerMapper.selectThisamount(othreceipts.getOr_bankcode());
@@ -220,6 +221,41 @@ public class OthreceiptsServiceImpl extends CommonBaseServiceImpl<OthreceiptsMap
                     othreceipts.getOr_bankcode(), "-");
         }
 
+        //资金账号表
+        int bk_inid = othreceipts.getOr_bankid();
+
+        Double or_amount = othreceipts.getOr_amount();
+        //收款
+        Bankinformation bankinformation = bankinformationMapper.selectByPrimaryKey(bk_inid);
+        Double beginamount = bankinformation.getBk_beginamount();
+        Double spending = bankinformation.getBk_spending() == null ? new Double(0) : bankinformation.getBk_spending();
+        Double incomme = bankinformation.getBk_income() == null ? new Double(0) : bankinformation.getBk_income();
+        bankinformation.setBk_thisamount(beginamount + incomme - spending - or_amount);
+        bankinformation.setBk_income(incomme - or_amount);
+        bankinformation.setBk_spending(spending);
+        bankinformationMapper.updateByPrimaryKeySelective(bankinformation);
+
+        //客户付款
+        /**
+         * 更新客户资料
+         * cu_preamount=nvl(cu_preamount,0)+rb_preamount,
+         * cu_recamount=nvl(cu_recamount,0)-rb_rbdamount,
+         * cu_leftamount=cu_beginaramount-cu_beginprerecamount+cu_recamount-cu_preamount;
+         */
+        Customer customerData = recbalanceMapper.selectCustomerByPrimaryKey(othreceipts.getOr_custid());
+        Double preamount = customerData.getCu_preamount()==null?new Double(0):customerData.getCu_preamount();
+        Double beginapamount = customerData.getCu_beginaramount()==null?new Double(0):customerData.getCu_beginaramount();
+        Double beginprepayamount= customerData.getCu_beginprerecamount()==null?new Double(0):customerData.getCu_beginprerecamount();
+        Double recamount = customerData.getCu_recamount()==null?new Double(0):customerData.getCu_recamount();
+
+        Customer customer = new Customer();
+        customer.setId(Long.valueOf(othreceipts.getOr_custid()));
+        customer.setCu_preamount(preamount);
+        customer.setCu_recamount(recamount-or_amount);
+        customer.setCu_leftamount(beginapamount+beginprepayamount-recamount+or_amount+preamount);
+        recbalanceMapper.updateCustomerByPrimaryKeySelective(customer);
+
+
         //计算期间金额
         Statsinfo statsinfo = new Statsinfo();
         List<Integer> ymList = othreceiptsdetailMapper.selectYm(id);

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

@@ -177,6 +177,7 @@ public class OthspendingsServiceImpl extends CommonBaseServiceImpl<OthspendingsM
         bankinformation.setBk_thisamount(beginamount + incomme - spending - bk_amount);
         bankinformation.setBk_income(incomme);
         bankinformation.setBk_spending(spending + bk_amount);
+        bankinformationMapper.updateByPrimaryKeySelective(bankinformation);
 
         /**
          * ve_preamount=nvl(ve_preamount,0)+pb_preamount,
@@ -239,7 +240,7 @@ public class OthspendingsServiceImpl extends CommonBaseServiceImpl<OthspendingsM
 
         //删除中间表
         othspendings = othspendingsMapper.selectByPrimaryKey(id);
-        banksubledgerMapper.deleteByPrimaryKey(othspendings.getOs_code(), "其他收入单");
+        banksubledgerMapper.deleteByPrimaryKey(othspendings.getOs_code(), "其他支出单");
         subledgerMapper.deleteByPrimaryKey(othspendings.getOs_code(), "其他支出单");
 
         //资金
@@ -262,9 +263,10 @@ public class OthspendingsServiceImpl extends CommonBaseServiceImpl<OthspendingsM
         Double beginamount = bankinformation.getBk_beginamount();
         Double spending = bankinformation.getBk_spending() == null ? new Double(0) : bankinformation.getBk_spending();
         Double incomme = bankinformation.getBk_income() == null ? new Double(0) : bankinformation.getBk_income();
-        bankinformation.setBk_thisamount(beginamount + incomme - spending - bk_amount);
+        bankinformation.setBk_thisamount(beginamount + incomme - spending + bk_amount);
         bankinformation.setBk_income(incomme);
-        bankinformation.setBk_spending(spending + bk_amount);
+        bankinformation.setBk_spending(spending - bk_amount);
+        bankinformationMapper.updateByPrimaryKeySelective(bankinformation);
 
         /**
          * ve_preamount=nvl(ve_preamount,0)+pb_preamount,

+ 15 - 0
applications/money/money-server/src/main/resources/mapper/FundtransferdetailMapper.xml

@@ -25,12 +25,17 @@
     <result column="ftd_text3" property="ftd_text3" jdbcType="VARCHAR" />
     <result column="ftd_text4" property="ftd_text4" jdbcType="VARCHAR" />
     <result column="ftd_text5" property="ftd_text5" jdbcType="VARCHAR" />
+      <result column="bk_outthisamount" property="bk_outthisamount" jdbcType="DOUBLE" />
+      <result column="bk_inthisamount" property="bk_inthisamount" jdbcType="DOUBLE" />
   </resultMap>
   <sql id="Base_Column_List" >
     ftd_id, ftd_ftid, ftd_detno, ftd_ym, ftd_bankid, ftd_bankcode, ftd_bankname, ftd_inbankid, 
     ftd_inbankcode, ftd_inbankname, ftd_nowbalance, ftd_paymethod, ftd_paycode, ftd_remark, 
     companyid, updaterId, updatedate, ftd_text1, ftd_text2, ftd_text3, ftd_text4, ftd_text5
   </sql>
+    <sql id="Bank_Column_List">
+        b.bk_thisamount as bk_outthisamount,c.bk_thisamount as bk_inthisamount
+    </sql>
   <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
     select 
     <include refid="Base_Column_List" />
@@ -38,6 +43,16 @@
     where ftd_ftid = #{id,jdbcType=INTEGER} and companyId = #{companyId}
   </select>
 
+    <select id="selectByPrimaryKeyList" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+    select
+    <include refid="Base_Column_List"/>,
+        <include refid="Bank_Column_List" />
+    from fundtransferdetail,
+    (select bk_id,bk_thisamount from bankinformation) b,
+    (select bk_id, bk_thisamount from bankinformation)c
+    where ftd_ftid = #{id,jdbcType=INTEGER} and companyId = #{companyId} and ftd_bankid = b.bk_id and
+    ftd_inbankid = c.bk_id
+    </select>
   <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
     delete from fundtransferdetail
     where ftd_ftid = #{id,jdbcType=INTEGER}

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

@@ -32,7 +32,7 @@
     select 
     <include refid="Base_Column_List" />
     from paybalancedet
-    where pd_pbid = #{id,jdbcType=INTEGER} order by pd_id desc
+    where pd_pbid = #{id,jdbcType=INTEGER} order by pd_detno asc
   </select>
   <delete id="deleteItem" parameterType="java.lang.Integer" >
     delete from paybalancedet

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

@@ -90,7 +90,7 @@
     select 
     <include refid="Base_Column_List" />
     from recbalancedet
-    where rd_rbid = #{id,jdbcType=INTEGER} order by rd_id desc
+    where rd_rbid = #{id,jdbcType=INTEGER} order by rd_detno asc
   </select>
   <delete id="deleteItem" parameterType="java.lang.Integer">
     delete from recbalancedet

+ 4 - 0
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/mapper/PurchaseMapper.java

@@ -32,4 +32,8 @@ public interface PurchaseMapper extends CommonBaseMapper<Purchase>{
     Integer checkTurnInstatus(Long id);
 
     void updateCreator(@Param("userId") Long userId,@Param("userName") String userName,@Param("id") Long pu_id);
+
+    Integer validateVendor(@Param("id") Long id);
+
+    Integer validateProduct(@Param("id") Long id);
 }

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

@@ -499,6 +499,17 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
     public Result singleAudit(Long id) {
         DocBaseDTO docBaseDTO = getBaseDTOById(id);
         Result result = Result.success(docBaseDTO);
+        //检查供应商是否开启状态
+        Integer count =0;
+        count = purchaseMapper.validateVendor(id);
+        if (count != 0) {
+            throw new BizException(BizExceptionCode.VENDOR_ISCLOSE);
+        }
+        //检查物料是否开启状态
+        count = purchaseMapper.validateProduct(id);
+        if (count != 0) {
+            throw new BizException(BizExceptionCode.PRODUCT_ISCLOSE);
+        }
         //检查最小包装数
         result.setMessage(purchasedetailMapper.checkzxbzs(id));
         commonService.commonAudit("purchase", "pu_id=" + id, "pu_status",

+ 9 - 0
applications/purchase/purchase-server/src/main/resources/mapper/PurchaseMapper.xml

@@ -436,5 +436,14 @@
     update purchase set creatorId = #{userId} , creatorName=#{userName} where pu_id=#{id}
   </update>
 
+  <select id="validateVendor" resultType="int" >
+    select count(1) from vendor where ve_id = (select pu_vendid from purchase where pu_id=#{id}) and ve_statuscode='CLOSE';
+  </select>
+
+  <select id="validateProduct" resultType="int" >
+    select count(1) from purchasedetail left join product on PD_PRODID=pr_id where  pd_puid=#{id} and pr_statuscode='CLOSE';
+  </select>
+
+
 
 </mapper>

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

@@ -21,7 +21,7 @@ import com.usoftchina.saas.exception.BizException;
 import com.usoftchina.saas.exception.ExceptionCode;
 import com.usoftchina.saas.page.PageDefault;
 import com.usoftchina.saas.page.PageRequest;
-import com.usoftchina.saas.server.error.ServletErrorUtils;
+import com.usoftchina.saas.server.web.ServletUtils;
 import com.usoftchina.saas.socket.api.SocketMessageApi;
 import com.usoftchina.saas.utils.BeanMapper;
 import com.usoftchina.saas.utils.CollectionUtils;
@@ -136,7 +136,7 @@ public class AuthController {
                     accountDTO = createAccountByCookieInfo(info);
                 } else {
                     logger.error(result.getMessage());
-                    ServletErrorUtils.writeJsonPMessage(response, callback, false);
+                    ServletUtils.writeJsonPMessage(response, callback, false);
                     return;
                 }
             } else {
@@ -147,7 +147,7 @@ public class AuthController {
                     Result updateResult = accountApi.update(BeanMapper.map(accountDTO, AccountUpdateDTO.class));
                     if (!updateResult.isSuccess()) {
                         logger.error(updateResult.getMessage());
-                        ServletErrorUtils.writeJsonPMessage(response, callback, false);
+                        ServletUtils.writeJsonPMessage(response, callback, false);
                         return;
                     }
                 }
@@ -170,7 +170,7 @@ public class AuthController {
                 socketMessageApi.sendToClient(clientId, "/sso/callback",
                         JsonUtils.toJsonString(new AuthDTO(tokenDTO, accountDTO)));
             }
-            ServletErrorUtils.writeJsonPMessage(response, callback, true);
+            ServletUtils.writeJsonPMessage(response, callback, true);
         }
     }
 

+ 0 - 28
framework/server-starter/src/main/java/com/usoftchina/saas/server/error/ServletErrorUtils.java

@@ -50,32 +50,4 @@ public class ServletErrorUtils {
         writer.flush();
     }
 
-    public static void writeMessage(HttpServletResponse response, String text) throws IOException {
-        response.setContentType(MediaType.TEXT_HTML_VALUE);
-        response.setCharacterEncoding("UTF-8");
-        PrintWriter writer = response.getWriter();
-        writer.print(text);
-        writer.flush();
-    }
-
-    /**
-     * 输出jsonp
-     *
-     * @param response
-     * @param callbackFn
-     * @param success
-     * @throws IOException
-     */
-    public static void writeJsonPMessage(HttpServletResponse response, String callbackFn, boolean success) throws IOException {
-        response.setContentType(MediaType.TEXT_HTML_VALUE);
-        response.setCharacterEncoding("UTF-8");
-        PrintWriter writer = response.getWriter();
-        writer.print(buildJsonPMessage(callbackFn, success));
-        writer.flush();
-    }
-
-    public static String buildJsonPMessage(String callbackFn, boolean success) {
-        return String.format("%s({success:\"%s\"})", callbackFn, success ? 1 : 0);
-    }
-
 }

+ 41 - 0
framework/server-starter/src/main/java/com/usoftchina/saas/server/web/ServletUtils.java

@@ -0,0 +1,41 @@
+package com.usoftchina.saas.server.web;
+
+import org.springframework.http.MediaType;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+/**
+ * @author yingp
+ * @date 2018/11/19
+ */
+public class ServletUtils {
+    public static void writeMessage(HttpServletResponse response, String text) throws IOException {
+        response.setContentType(MediaType.TEXT_HTML_VALUE);
+        response.setCharacterEncoding("UTF-8");
+        PrintWriter writer = response.getWriter();
+        writer.print(text);
+        writer.flush();
+    }
+
+    /**
+     * 输出jsonp
+     *
+     * @param response
+     * @param callbackFn
+     * @param success
+     * @throws IOException
+     */
+    public static void writeJsonPMessage(HttpServletResponse response, String callbackFn, boolean success) throws IOException {
+        response.setContentType(MediaType.TEXT_HTML_VALUE);
+        response.setCharacterEncoding("UTF-8");
+        PrintWriter writer = response.getWriter();
+        writer.print(buildJsonPMessage(callbackFn, success));
+        writer.flush();
+    }
+
+    public static String buildJsonPMessage(String callbackFn, boolean success) {
+        return String.format("%s({success:\"%s\"})", callbackFn, success ? 1 : 0);
+    }
+}

+ 13 - 0
frontend/saas-portal-web/config/env.js

@@ -1,16 +1,29 @@
 if (process.env.NODE_ENV == 'production') {
     window.env = {
         profile: 'production',
+        frontend: {
+            // 前端地址
+            baseUrl: 'http://192.168.0.181'
+        },
         server: {
+            // 后端接口网关
             baseUrl: 'http://192.168.0.181:8560',
+            // 账户中心接口
             ssoUrl: 'http://192.168.253.12:32323'
         }
     }
 } else {
     window.env = {
         profile: 'development',
+        frontend: {
+            // 前端地址
+            baseUrl: 'http://192.168.0.181'
+            // baseUrl: 'http://127.0.0.1:1841'
+        },
         server: {
+            // 后端接口网关
             baseUrl: 'http://192.168.0.181:8560',
+            // 账户中心接口
             ssoUrl: 'http://192.168.253.12:32323'
         }
     }

+ 25 - 0
frontend/saas-portal-web/src/js/main.js

@@ -155,6 +155,25 @@ $(document).ready(function(){
             });
         });
     };
+    // 系统页面token
+    var Frontend = (function(){
+        var frame;
+        return {
+            init: function() {
+                $('body').append('<iframe id="frontend" hidden src="' + 
+                    env.frontend.baseUrl + '/set-token.html"></iframe>');
+                frame = window.frames[window.frames.length - 1];
+            },
+            set: function(session, callback) {
+                window.addEventListener('message', callback, false);
+                frame.postMessage(JSON.stringify(session), '*');
+            },
+            redirect: function() {
+                window.location.href = env.frontend.baseUrl;
+            }
+        };
+    })();
+    Frontend.init();
     // 关闭弹窗X
     $(".tc-on").click(function(){
         $('#box-zc').css('display','none');
@@ -172,11 +191,17 @@ $(document).ready(function(){
             $('#box').show();
             listenOnCallback(clientId, function(data){
                 var session = data.token, account = data.account;
+                account.companies = account.companies || [];
                 session.account = account;
                 Session.loadData(session);
                 setUserProfile(account);
                 $('#box').hide();
                 $(".zhezhao").css("display","none");
+                // 系统页面token设置
+                Frontend.set(session, function(){
+                    // TODO
+                    Frontend.redirect();
+                });
             });
         } else {
             $('#box').hide();

+ 2 - 1
frontend/saas-web/Dockerfile

@@ -2,4 +2,5 @@ FROM hub.c.163.com/library/nginx
 MAINTAINER USOFTCHINA <yingp@usoftchina.com>
 RUN rm /etc/nginx/conf.d/default.conf
 ADD runtime/nginx/default.conf /etc/nginx/conf.d/
-COPY build/production/saas/ /usr/share/nginx/html/
+COPY build/production/saas/ /usr/share/nginx/html/
+COPY set-token.html /usr/share/nginx/html/

+ 1 - 1
frontend/saas-web/app.json

@@ -296,7 +296,7 @@
         },*/
         "compressor":null,
         "server": {
-            "basePath": "http://192.168.253.181:8560",
+            "basePath": "http://192.168.0.181:8560",
             "urlPattern": "^\/api\/"
         }
     },

+ 8 - 6
frontend/saas-web/app/view/core/dbfind/DbfindGridPanel.js

@@ -36,7 +36,7 @@ Ext.define('saas.view.core.dbfind.DbfindGridPanel', {
                             condition = [];
                         }
                         //添加默认条件
-                        if(me.ownerCt.trigger.defaultCondition) {
+                        if(me.up('window').trigger.defaultCondition) {
                             condition.push({
                                 type: 'condition',
                                 value: me.ownerCt.trigger.defaultCondition
@@ -71,11 +71,7 @@ Ext.define('saas.view.core.dbfind.DbfindGridPanel', {
                     },'->',{
                         xtype:'button',
                         text:'新增',
-                        handler:function(b){
-                            var grid = me;
-                            var trigger = grid.ownerCt.trigger;
-                            saas.util.BaseUtil.openTab(trigger.addXtype, '新增'+trigger.addTitle,trigger.addXtype + '_add');
-                        }
+                        handler: me.onAddClick.bind(me)
                     }])
                 },{
                     xtype: 'pagingtoolbar',
@@ -267,5 +263,11 @@ Ext.define('saas.view.core.dbfind.DbfindGridPanel', {
         }
 
         return conditionValue;
+    },
+
+    onAddClick: function(){
+        var grid = this;
+        var trigger = grid.ownerCt.trigger;
+        saas.util.BaseUtil.openTab(trigger.addXtype, '新增'+trigger.addTitle,trigger.addXtype + '_add');
     }
 });

+ 17 - 9
frontend/saas-web/app/view/core/dbfind/DbfindTrigger.js

@@ -122,6 +122,7 @@ Ext.define('saas.view.core.dbfind.DbfindTrigger', {
     	}
     },
     onTriggerClick:function(f){
+        var me = this;
         this.fireEvent('beforetriggerclick', this);
         f.blur(f);
         //判断dbfindtrigger归属
@@ -135,6 +136,21 @@ Ext.define('saas.view.core.dbfind.DbfindTrigger', {
         var box = panelEl.getBox();
         var height = box.height;
         var width = box.width;
+
+        var dbItem = {
+            xtype:'dbfindgridpanel',
+            columns: f.dbColumns,
+            dataUrl: f.dataUrl,
+            dbfinds: f.dbfinds,
+            belong: f.belong,
+            dbSearchFields:f.dbSearchFields?f.dbSearchFields:[],
+            dbfindtrigger:f,
+        };
+
+        if(me.onAddClick) {
+            dbItem.onAddClick = me.onAddClick;
+        }
+
         var win = panel.add(Ext.create('Ext.window.Window', {   
             trigger:f,
             belong:f.ownerCt,  
@@ -148,15 +164,7 @@ Ext.define('saas.view.core.dbfind.DbfindTrigger', {
             closable: true,
             layout:'fit',
             renderTo:panel.getEl(),
-            items:[{
-                xtype:'dbfindgridpanel',
-                columns: f.dbColumns,
-                dataUrl: f.dataUrl,
-                dbfinds: f.dbfinds,
-                belong: f.belong,
-                dbSearchFields:f.dbSearchFields?f.dbSearchFields:[],
-                dbfindtrigger:f
-            }]
+            items:[dbItem]
         }));
         win.show();
     },

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

@@ -49,6 +49,84 @@ Ext.define('saas.view.core.dbfind.types.WarehouseDbfindTrigger', {
         flex: 1,
         dataIndex: "wh_type",
         xtype: "",
-    }]
+    }],
+
+    onAddClick: function() {
+        var me=this;
+        var tab = saas.util.BaseUtil.getCurrentTab();
+        // this.isEdit = !!record;
+        this.dialog = tab.add({
+            autoScroll:true,
+            xtype: 'document-kind-childwin',
+            bind: {
+                title: '新增仓库资料'
+            },
+            dataKind: 'warehouse',
+            belong: {
+                columns: [{
+                    text: '编号',
+                    dataIndex: 'wh_code',
+                    width: 200
+                },{
+                    text: '仓库名称',
+                    dataIndex: 'wh_description',
+                    width: 200
+                },{
+                    text: '类型',
+                    dataIndex: 'wh_type',
+                    width: 200
+                },{  
+                    text: '仓库状态码',
+                    dataIndex: 'wh_status',
+                    hidden:true,
+                },{
+                    text: '仓库状态',
+                    dataIndex: 'wh_statuscode',
+                    width:90,
+                    xtype: 'actioncolumn',
+                    align : 'center',
+                    items: [{
+                        iconCls:'',
+                        getClass: function(v, meta, rec) {
+                            if(rec.get('wh_statuscode')=='OPEN'){
+                                return 'x-grid-checkcolumn-checked-btn';
+                            }else{
+                                return 'x-grid-checkcolumn-btn';
+                            }
+                        },
+                        handler: function(view, rowIndex, colIndex) {
+                            var rec = view.getStore().getAt(rowIndex);
+                            var type=rec.get('wh_statuscode')=='OPEN'?true:false;
+                            //  禁用/启用
+                            var form = this.ownerCt.ownerCt.ownerCt;
+                            var grid = this.ownerCt.ownerCt;
+                            saas.util.BaseUtil.request({
+                                url: (!type?form._openUrl:form._closeUrl)+'/'+rec.get('id'),
+                                params: '',
+                                method: 'POST',
+                            })
+                            .then(function(localJson) {
+                                if(localJson.success){
+                                    saas.util.BaseUtil.showToast('操作成功');
+                                    grid.store.load();
+                                }
+                            })
+                            .catch(function(res) {
+                                console.error(res);
+                                saas.util.BaseUtil.showToast('操作失败: ' + res.message);
+                            });
+                        }
+                    }]
+                }],
+                keyField:'id',
+                reqUrl: '/api/document/warehouse/save',
+                delUrl: '/api/document/warehouse/delete'
+            },
+            // _parent:this.getView(),
+            // record:record,
+            session: true
+        });
+        this.dialog.show();
+    }
 
 });

+ 2 - 2
frontend/saas-web/app/view/document/kind/ChildForm.js

@@ -416,8 +416,7 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
         .then(function(localJson) {
             me.setLoading(false);
             if(localJson.success){
-                saas.util.BaseUtil.showToast('保存成功');
-                var grid = form.ownerCt._parent.lookup('document-kind-Grid');
+                var grid = form.ownerCt._parent ? form.ownerCt._parent.lookup('document-kind-Grid') : null;
                 if(grid){
                     grid.store.load();
                 }
@@ -426,6 +425,7 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
                         typeof combo.setValue == 'function' && combo.setValue(params._value);
                     });
                 }
+                saas.util.BaseUtil.showToast('保存成功');
                 form.ownerCt.close();
             }
         })

+ 3 - 1
frontend/saas-web/app/view/document/product/FormPanel.js

@@ -201,7 +201,9 @@ Ext.define('saas.view.document.product.FormPanel', {
     }, {
         xtype: 'numberfield',
         fieldLabel: 'L/T',
-        name: 'pr_leadtime'
+        name: 'pr_leadtime',
+        minValue: 0,
+        maxLength: 10
     }, {
         xtype: 'checkbox',
         fieldLabel: '期初设置',

+ 1 - 1
frontend/saas-web/app/view/money/othspendings/FormPanel.js

@@ -97,7 +97,7 @@ Ext.define('saas.view.money.othspendings.FormPanel', {
                         this.dialog = form.getController().getView().add({
                             xtype: 'document-kind-childwin',
                             bind: {
-                                title: '新增收入类别'
+                                title: '新增支出类别'
                             },
                             dataKind:'inoutkind',
                             belong:document.etc['inoutkind'],

+ 0 - 1
frontend/saas-web/app/view/purchase/purchaseIn/QueryPanel.js

@@ -233,7 +233,6 @@ Ext.define('saas.view.purchase.purchaseIn.QueryPanel', {
         },{
             text: '相关单号',
             dataIndex: 'pd_ordercode',
-            xtype:'numbercolumn',
             width: 120
         }]
     }

+ 2 - 0
frontend/saas-web/app/view/stock/make/QueryPanel.js

@@ -26,12 +26,14 @@ Ext.define('saas.view.stock.make.QueryPanel', {
         allowBlank: true,
         editable:false,
         columnWidth: 0.25,
+        emptyText :'全部',
         queryMode: 'local',
         displayField: 'name',
         valueField: 'value',
         store: Ext.create('Ext.data.ArrayStore', {
             fields: ['name', 'value'],
             data: [
+                ["全部", "ALL"],
                 ["组装", "组装"],
                 ["拆件", "拆件"]
             ]

+ 10 - 0
frontend/saas-web/set-token.html

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