ソースを参照

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

rainco 7 年 前
コミット
3d537153f3
28 ファイル変更288 行追加87 行削除
  1. 1 0
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/exception/BizExceptionCode.java
  2. 59 0
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/po/Feedback.java
  3. 34 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/FeedbackController.java
  4. 1 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/ShareController.java
  5. 9 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/mapper/FeedbackMapper.java
  6. 12 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/FeedbackService.java
  7. 26 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/impl/FeedbackServiceImpl.java
  8. 3 3
      applications/document/document-dto/src/main/java/com/usoftchina/saas/document/entities/BomDetail.java
  9. 7 7
      applications/document/document-server/src/main/resources/mapper/BomDetailMapper.xml
  10. 2 0
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/mapper/ProdInOutMapper.java
  11. 6 1
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/ProdInOutServiceImpl.java
  12. 5 0
      applications/sale/sale-server/src/main/resources/mapper/ProdInOutMapper.xml
  13. 2 0
      applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/po/StockTaking.java
  14. 2 0
      applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/po/report/ProdinoutCountView.java
  15. 2 0
      applications/storage/storage-server/src/main/resources/mapper/ProdInOutReportMapper.xml
  16. 4 3
      applications/storage/storage-server/src/main/resources/mapper/StockTakingMapper.xml
  17. 2 5
      base-servers/auth/auth-client/src/main/java/com/usoftchina/saas/auth/client/interceptor/AuthRestInterceptor.java
  18. 12 0
      frontend/saas-web/app/view/core/dbfind/types/BomDbfindTrigger.js
  19. 1 1
      frontend/saas-web/app/view/core/form/FormPanel.js
  20. 3 2
      frontend/saas-web/app/view/document/product/FormPanel.js
  21. 2 1
      frontend/saas-web/app/view/money/report/CustomerCheck.js
  22. 7 0
      frontend/saas-web/app/view/money/report/CustomerCheckController.js
  23. 2 1
      frontend/saas-web/app/view/money/report/VendorCheck.js
  24. 7 0
      frontend/saas-web/app/view/money/report/VendorCheckController.js
  25. 1 0
      frontend/saas-web/app/view/purchase/report/Purchase.js
  26. 9 0
      frontend/saas-web/app/view/stock/make/FormPanelController.js
  27. 47 41
      frontend/saas-web/overrides/exporter/Stylesheet.js
  28. 20 22
      frontend/saas-web/overrides/exporter/file/Style.js

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

@@ -128,6 +128,7 @@ public enum BizExceptionCode implements BaseExceptionCode {
     UNPOSTSTOCKPROFIT_EXISTS(76500, "存在当前仓库+物料未审核的盘盈盘亏单"),
     STORAGE_WAREHOUSE_SAME(76501, "调拨单拨入拨出仓库一致"),
     STORAGE_WAREHOUSE_SAMES(76502, "调拨单: %s 拨入拨出仓库一致"),
+    SALEIN_OUTOFQTY(76503, "销售退货单数量大于出货单数量"),
     STOCKPROFIT_NULL(76600, "没有需要生成的盘盈盘亏单")
     ;
     private int code;

+ 59 - 0
applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/po/Feedback.java

@@ -0,0 +1,59 @@
+package com.usoftchina.saas.commons.po;
+
+import com.usoftchina.saas.base.entity.CommonBaseEntity;
+
+import java.io.Serializable;
+
+/**
+ * @Description 意见反馈
+ * @Author chenwei
+ * @Date 2018/12/22
+ */
+public class Feedback extends CommonBaseEntity implements Serializable {
+
+    private String fb_msg;
+    private String fb_mobile;
+    private String fb_emial;
+    private String fb_qq;
+    private String fb_wechar;
+
+    public String getFb_msg() {
+        return fb_msg;
+    }
+
+    public void setFb_msg(String fb_msg) {
+        this.fb_msg = fb_msg;
+    }
+
+    public String getFb_mobile() {
+        return fb_mobile;
+    }
+
+    public void setFb_mobile(String fb_mobile) {
+        this.fb_mobile = fb_mobile;
+    }
+
+    public String getFb_emial() {
+        return fb_emial;
+    }
+
+    public void setFb_emial(String fb_emial) {
+        this.fb_emial = fb_emial;
+    }
+
+    public String getFb_qq() {
+        return fb_qq;
+    }
+
+    public void setFb_qq(String fb_qq) {
+        this.fb_qq = fb_qq;
+    }
+
+    public String getFb_wechar() {
+        return fb_wechar;
+    }
+
+    public void setFb_wechar(String fb_wechar) {
+        this.fb_wechar = fb_wechar;
+    }
+}

+ 34 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/FeedbackController.java

@@ -0,0 +1,34 @@
+package com.usoftchina.saas.commons.controller;
+
+import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.commons.po.Feedback;
+import com.usoftchina.saas.commons.service.FeedbackService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @Description 意见反馈
+ * @Author chenwei
+ * @Date 2018/12/22
+ */
+@RestController
+@RequestMapping("/feedBack")
+public class FeedbackController {
+
+    @Autowired
+    private FeedbackService feedbackService;
+
+    /**
+     * 意见反馈
+     * @return
+     */
+    @PostMapping("/save")
+    public Result saveFeedback(@RequestBody Feedback feedback){
+        feedbackService.save(feedback);
+        return Result.success();
+    }
+
+}

+ 1 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/ShareController.java

@@ -74,6 +74,7 @@ public class ShareController {
      * @return
      */
     @GetMapping("/pc")
+    @ResponseBody
     public Result getPcUrl(String basePath, String companyName, @RequestParam(value = "delay", defaultValue = "1")Long delay){
         Long companyId = BaseContextHolder.getCompanyId();
         String username = BaseContextHolder.getUserName();

+ 9 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/mapper/FeedbackMapper.java

@@ -0,0 +1,9 @@
+package com.usoftchina.saas.commons.mapper;
+
+import com.usoftchina.saas.base.mapper.CommonBaseMapper;
+import com.usoftchina.saas.commons.po.Feedback;
+
+public interface FeedbackMapper extends CommonBaseMapper<Feedback> {
+
+
+}

+ 12 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/FeedbackService.java

@@ -0,0 +1,12 @@
+package com.usoftchina.saas.commons.service;
+
+import com.usoftchina.saas.commons.po.Feedback;
+
+public interface FeedbackService {
+    /**
+     * 保存
+     * @param feedback
+     * @return
+     */
+    boolean save(Feedback feedback);
+}

+ 26 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/impl/FeedbackServiceImpl.java

@@ -0,0 +1,26 @@
+package com.usoftchina.saas.commons.service.impl;
+
+import com.usoftchina.saas.base.service.CommonBaseServiceImpl;
+import com.usoftchina.saas.commons.mapper.FeedbackMapper;
+import com.usoftchina.saas.commons.po.Feedback;
+import com.usoftchina.saas.commons.service.FeedbackService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @Description 意见反馈
+ * @Author chenwei
+ * @Date 2018/12/22
+ */
+@Service
+public class FeedbackServiceImpl extends CommonBaseServiceImpl<FeedbackMapper, Feedback> implements FeedbackService {
+
+    @Autowired
+    private FeedbackMapper feedbackMapper;
+
+    @Override
+    public boolean save(Feedback feedback){
+        return feedbackMapper.insertSelective(feedback) > 0;
+    }
+
+}

+ 3 - 3
applications/document/document-dto/src/main/java/com/usoftchina/saas/document/entities/BomDetail.java

@@ -16,7 +16,7 @@ public class BomDetail extends CommonBaseEntity implements Serializable {
 
     private String bd_unit;
 
-    private Integer bd_baseqty;
+    private Double bd_baseqty;
 
     private String bd_replace;
 
@@ -82,11 +82,11 @@ public class BomDetail extends CommonBaseEntity implements Serializable {
         this.bd_unit = bd_unit == null ? null : bd_unit.trim();
     }
 
-    public Integer getBd_baseqty() {
+    public Double getBd_baseqty() {
         return bd_baseqty;
     }
 
-    public void setBd_baseqty(Integer bd_baseqty) {
+    public void setBd_baseqty(Double bd_baseqty) {
         this.bd_baseqty = bd_baseqty;
     }
 

+ 7 - 7
applications/document/document-server/src/main/resources/mapper/BomDetailMapper.xml

@@ -8,7 +8,7 @@
     <result column="bd_sonid" property="bd_sonid" jdbcType="INTEGER" />
     <result column="bd_soncode" property="bd_soncode" jdbcType="VARCHAR" />
     <result column="bd_unit" property="bd_unit" jdbcType="VARCHAR" />
-    <result column="bd_baseqty" property="bd_baseqty" jdbcType="INTEGER" />
+    <result column="bd_baseqty" property="bd_baseqty" jdbcType="DOUBLE" />
     <result column="bd_replace" property="bd_replace" jdbcType="VARCHAR" />
     <result column="bd_remark" property="bd_remark" jdbcType="VARCHAR" />
     <result column="companyId" property="companyId" jdbcType="INTEGER" />
@@ -73,7 +73,7 @@
       creatorId,createTime,creatorName)
     values ( #{bd_bomid,jdbcType=INTEGER}, #{bd_detno,jdbcType=INTEGER},
       #{bd_sonid,jdbcType=INTEGER}, #{bd_soncode,jdbcType=VARCHAR}, #{bd_unit,jdbcType=VARCHAR}, 
-      #{bd_baseqty,jdbcType=INTEGER}, #{bd_replace,jdbcType=VARCHAR}, #{bd_remark,jdbcType=VARCHAR}, 
+      #{bd_baseqty,jdbcType=DOUBLE}, #{bd_replace,jdbcType=VARCHAR}, #{bd_remark,jdbcType=VARCHAR},
       #{companyId,jdbcType=INTEGER}, #{updaterId,jdbcType=INTEGER}, #{updateTime,jdbcType=TIMESTAMP}, 
       #{bd_text1,jdbcType=VARCHAR}, #{bd_text2,jdbcType=VARCHAR}, #{bd_text3,jdbcType=VARCHAR}, 
       #{bd_text4,jdbcType=VARCHAR}, #{bd_text5,jdbcType=VARCHAR},
@@ -157,7 +157,7 @@
         #{bd_unit,jdbcType=VARCHAR},
       </if>
       <if test="bd_baseqty != null" >
-        #{bd_baseqty,jdbcType=INTEGER},
+        #{bd_baseqty,jdbcType=DOUBLE},
       </if>
       <if test="bd_replace != null" >
         #{bd_replace,jdbcType=VARCHAR},
@@ -219,7 +219,7 @@
         bd_unit = #{bd_unit,jdbcType=VARCHAR},
       </if>
       <if test="bd_baseqty != null" >
-        bd_baseqty = #{bd_baseqty,jdbcType=INTEGER},
+        bd_baseqty = #{bd_baseqty,jdbcType=DOUBLE},
       </if>
       <if test="bd_replace != null" >
         bd_replace = #{bd_replace,jdbcType=VARCHAR},
@@ -261,7 +261,7 @@
       bd_sonid = #{bd_sonid,jdbcType=INTEGER},
       bd_soncode = #{bd_soncode,jdbcType=VARCHAR},
       bd_unit = #{bd_unit,jdbcType=VARCHAR},
-      bd_baseqty = #{bd_baseqty,jdbcType=INTEGER},
+      bd_baseqty = #{bd_baseqty,jdbcType=DOUBLE},
       bd_replace = #{bd_replace,jdbcType=VARCHAR},
       bd_remark = #{bd_remark,jdbcType=VARCHAR},
       companyId = #{companyId,jdbcType=INTEGER},
@@ -287,7 +287,7 @@
       (
       #{item.bd_bomid,jdbcType=INTEGER}, #{item.bd_detno,jdbcType=INTEGER},
       #{item.bd_sonid,jdbcType=INTEGER}, #{item.bd_soncode,jdbcType=VARCHAR}, #{item.bd_unit,jdbcType=VARCHAR},
-      #{item.bd_baseqty,jdbcType=INTEGER}, #{item.bd_replace,jdbcType=VARCHAR}, #{item.bd_remark,jdbcType=VARCHAR},
+      #{item.bd_baseqty,jdbcType=DOUBLE}, #{item.bd_replace,jdbcType=VARCHAR}, #{item.bd_remark,jdbcType=VARCHAR},
       #{item.companyId,jdbcType=INTEGER}, #{item.updaterId,jdbcType=INTEGER}, #{item.updateTime,jdbcType=TIMESTAMP},
       #{item.bd_text1,jdbcType=VARCHAR}, #{item.bd_text2,jdbcType=VARCHAR}, #{item.bd_text3,jdbcType=VARCHAR},
       #{item.bd_text4,jdbcType=VARCHAR}, #{item.bd_text5,jdbcType=VARCHAR},
@@ -316,7 +316,7 @@
           bd_unit = #{item.bd_unit,jdbcType=VARCHAR},
         </if>
         <if test="item.bd_baseqty != null" >
-          bd_baseqty = #{item.bd_baseqty,jdbcType=INTEGER},
+          bd_baseqty = #{item.bd_baseqty,jdbcType=DOUBLE},
         </if>
         <if test="item.bd_replace != null" >
           bd_replace = #{item.bd_replace,jdbcType=VARCHAR},

+ 2 - 0
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/mapper/ProdInOutMapper.java

@@ -47,4 +47,6 @@ public interface ProdInOutMapper extends CommonBaseMapper<ProdInOut> {
     List<HashMap<String, Object>> getWareHouseByCode(@Param("code") String code, @Param("companyId") Long companyId);
 
     void updateCreator(@Param("userId") Long userId, @Param("userName") String userName, @Param("id") Long id);
+
+    Integer checkSaleInQty(Long pi_id);
 }

+ 6 - 1
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/ProdInOutServiceImpl.java

@@ -165,6 +165,7 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
                 updateDetails.add(detail);
             }
         }
+
         //插入从表
         if (insertDetails.size()>0) {
             prodIODetailMapper.batchInsert(insertDetails);
@@ -173,7 +174,11 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
         if (updateDetails.size()>0) {
             prodIODetailMapper.batchUpdate(updateDetails);
         }
-
+        //销售退货单的数量必须小于出货单数量
+        Integer inQty = prodInOutMapper.checkSaleInQty(pi_id);
+        if (inQty > 0) {
+            throw new BizException(BizExceptionCode.SALEIN_OUTOFQTY);
+        }
         baseDTO = getBaseDTOById(pi_id,pi_class,pi_inoutno);
         ProdInOut prodInOutNow = checkAndReturnOrder(pi_id);
         //更新明细金额等

+ 5 - 0
applications/sale/sale-server/src/main/resources/mapper/ProdInOutMapper.xml

@@ -565,4 +565,9 @@ update ProdInOut SET
   <update id="updateCreator">
     update ProdInOut set creatorId = #{userId} , createTime=now(), creatorName=#{userName} where pi_id=#{id}
   </update>
+
+  <select id="checkSaleInQty" resultType="int" parameterType="long">
+    select count(1) from prodinout left join prodiodetail a on pi_id=pd_piid where
+    pi_class='销售退货单' and ifnull(pd_inqty,0) > (select ifnull(pd_outqty,0) from prodiodetail where pd_id=a.pd_ioid) and pi_id=#{pi_id};
+  </select>
 </mapper>

+ 2 - 0
applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/po/StockTaking.java

@@ -31,4 +31,6 @@ public class StockTaking extends CommonBaseEntity implements Serializable {
 
     private Double st_num;
 
+    private String pr_brand;
+
 }

+ 2 - 0
applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/po/report/ProdinoutCountView.java

@@ -27,6 +27,8 @@ public class ProdinoutCountView implements Serializable{
     private Double pwm_endqty;
     private Double pwm_endamount;
     private Integer companyid;
+    private String pr_orispeccode;
+    private String pr_brand;
 
 
 }

+ 2 - 0
applications/storage/storage-server/src/main/resources/mapper/ProdInOutReportMapper.xml

@@ -33,6 +33,8 @@
     <result column="pr_detail" jdbcType="VARCHAR" property="pr_detail" />
     <result column="pr_spec" jdbcType="VARCHAR" property="pr_spec" />
     <result column="pr_unit" jdbcType="VARCHAR" property="pr_unit" />
+    <result column="pr_brand" jdbcType="VARCHAR" property="pr_brand" />
+    <result column="pr_orispeccode" jdbcType="VARCHAR" property="pr_orispeccode" />
     <result column="wh_description" jdbcType="VARCHAR" property="wh_description" />
     <result column="pwm_beginqty" jdbcType="DOUBLE" property="pwm_beginqty" />
     <result column="pwm_beginamount" jdbcType="DOUBLE" property="pwm_beginamount" />

+ 4 - 3
applications/storage/storage-server/src/main/resources/mapper/StockTakingMapper.xml

@@ -22,6 +22,7 @@
     <result column="updateTime" jdbcType="TIMESTAMP" property="updateTime" />
     <result column="updaterName" jdbcType="TIMESTAMP" property="updaterName" />
     <result column="updaterId" jdbcType="INTEGER" property="updaterId" />
+    <result column="pr_brand" jdbcType="VARCHAR" property="pr_brand" />
   </resultMap>
   <sql id="Base_Column_List">
     st_id, st_prodid, st_prodcode, st_proddetail, st_prodorispeccode, st_prodkind, st_produnit, 
@@ -231,14 +232,14 @@
 
   <select id="selectStockTakingBycondition" parameterType="java.lang.Integer" resultMap="BaseResultMap">
     select
-    <include refid="Base_Column_List" />
-    from stocktaking
+    stocktaking.*,pr_brand
+    from stocktaking left join product on pr_id = st_prodid
     <where>
       <if test="con != null">
         ${con}
       </if>
       <if test="companyId != null">
-      and companyId = #{companyId}
+      and stocktaking.companyId = #{companyId}
       </if>
 
     </where>

+ 2 - 5
base-servers/auth/auth-client/src/main/java/com/usoftchina/saas/auth/client/interceptor/AuthRestInterceptor.java

@@ -37,19 +37,16 @@ public class AuthRestInterceptor extends HandlerInterceptorAdapter {
             if (annotation != null) {
                 return super.preHandle(request, response, handler);
             }
-            log.info("请求方法: " + request.getRequestURI());
             String token = request.getHeader(authConfig.getAuthHeader());
-            log.info("token: " + request.getRequestURI());
             if (null != token) {
                 JwtInfo infoFromToken = JwtHelper.getInfoFromToken(token, authConfig.getPublicKey());
-                log.info("CompanyId: " + infoFromToken.getCompanyId());
                 BaseContextHolder.setAppId(infoFromToken.getAppId());
                 BaseContextHolder.setUserId(infoFromToken.getUserId());
                 BaseContextHolder.setUserName(infoFromToken.getRealName());
                 BaseContextHolder.setCompanyId(infoFromToken.getCompanyId());
                 BaseContextHolder.setToken(token);
-                log.info("request={} token={} \\r\\n userName={}", request.getRequestURI(),
-                        token, infoFromToken.getUserName());
+                log.info("request={} CompanyId={} token={} \\r\\n userName={}  ", request.getRequestURI(),
+                        infoFromToken.getCompanyId(), token, infoFromToken.getUserName());
             }
         } else {
             // no mapping

+ 12 - 0
frontend/saas-web/app/view/core/dbfind/types/BomDbfindTrigger.js

@@ -56,6 +56,18 @@ Ext.define('saas.view.core.dbfind.types.BomDbfindTrigger', {
         text: "版本",
         width: 80,
         dataIndex: "bo_version"
+    }, {
+        text: "默认仓库id",
+        hidden: true,
+        dataIndex: "pr_whid"
+    }, {
+        text: "默认仓库编号",
+        hidden: true,
+        dataIndex: "pr_whcode"
+    }, {
+        text: "默认仓库名称",
+        hidden: true,
+        dataIndex: "pr_whname"
     }, {
         dataIndex: '',
         flex: 1

+ 1 - 1
frontend/saas-web/app/view/core/form/FormPanel.js

@@ -31,7 +31,7 @@ Ext.define('saas.view.core.form.FormPanel', {
     remoteConfig: true, // 是否需要从远端读取form配置
     toolBtns: [], // 自定义按钮
     codeInHeader: true, // 单据编号显示在toolbar
-    invalidText: '表单校验有误,请检查', // 校验未通过提示内容
+    invalidText: '表单校验有误,请检查后重试', // 校验未通过提示内容
     dirtyAuditText: '表单数据有修改,是否先保存修改?', // 有修改时点击审核提示内容
     noDirtySaveText: '表单数据无修改', // 无修改点击保存提示内容
 

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

@@ -170,7 +170,8 @@ Ext.define('saas.view.document.product.FormPanel', {
     }, {
         xtype : "textfield", 
         name : "pr_vendname", 
-        fieldLabel : "供应商名称"
+        fieldLabel : "供应商名称",
+        readOnly: true
     },{
         ignore:true,
         readOnly:true,
@@ -237,7 +238,7 @@ Ext.define('saas.view.document.product.FormPanel', {
         xtype : "detailGridField", 
         storeModel:'saas.model.document.ProductDetail',
         detnoColumn: 'pd_detno',
-        showCount: false,
+        showCount: true,
         allowEmpty:true,
         // hidden: true,
         deleteDetailUrl:'/api/document/product/deleteDetail',

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

@@ -22,7 +22,8 @@ Ext.define('saas.view.money.report.CustomerCheckCheck', {
         listeners: {
             beforequery: function(f) {
                 return !!f.value;
-            }
+            },
+            change: 'pi_custname_change'
         }
     }, {
         xtype: 'condatefield',

+ 7 - 0
frontend/saas-web/app/view/money/report/CustomerCheckController.js

@@ -15,5 +15,12 @@ Ext.define('saas.view.money.report.CustomerCheckController', {
                 }
             }
         });
+    },
+
+    pi_custname_change: function(field, value) {
+        var me = this,
+        reportPanel = me.getView();
+
+        reportPanel.reportTitle = '客户对账单(' + value + ')'
     }
 });

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

@@ -22,7 +22,8 @@ Ext.define('saas.view.money.report.VendorCheck', {
         listeners: {
             beforequery: function(f) {
                 return !!f.value;
-            }
+            },
+            change: 'pi_vendname_change'
         }
     }, {
     //     xtype: 'monthdatefield',

+ 7 - 0
frontend/saas-web/app/view/money/report/VendorCheckController.js

@@ -15,5 +15,12 @@ Ext.define('saas.view.money.report.VendorCheckController', {
                 }
             }
         });
+    },
+
+    pi_vendname_change: function(field, value) {
+        var me = this,
+        reportPanel = me.getView();
+
+        reportPanel.reportTitle = '供应商对账单(' + value + ')'
     }
 });

+ 1 - 0
frontend/saas-web/app/view/purchase/report/Purchase.js

@@ -135,6 +135,7 @@ Ext.define('saas.view.purchase.report.Purchase', {
     }, {
         text: '税率(%)',
         dataIndex: 'pd_taxrate',
+        exportFormat: 'Integer',
         xtype: 'numbercolumn',
         width: 80
     }, {

+ 9 - 0
frontend/saas-web/app/view/stock/make/FormPanelController.js

@@ -99,6 +99,15 @@ Ext.define('saas.view.stock.make.FormPanelController', {
                         }, {
                             from: 'pr_orispeccode',
                             to: 'ma_prodorispec'
+                        }, {
+                            from: 'pr_whid',
+                            to: 'ma_whid'
+                        }, {
+                            from: 'pr_whcode',
+                            to: 'ma_whcode'
+                        }, {
+                            from: 'pr_whname',
+                            to: 'ma_whname'
                         }],
                         aftertrigger: function (f, record) {
                             me.getBomData(record.data.id)

+ 47 - 41
frontend/saas-web/overrides/exporter/Stylesheet.js

@@ -10,50 +10,56 @@ Ext.define('saas.override.exporter.Stylesheet', {
         'Currency': '"$"#,##0.00',
         'Euro Currency': '"€"#,##0.00',
         /**  new  */
-        'Number0': function(v) {
-            return Ext.util.Format.number(v, '0');
-        },
-        'Number1': function(v) {
-            return Ext.util.Format.number(v, '0.0');
-        },
-        'Number2': function(v) {
-            return Ext.util.Format.number(v, '0.00');
-        },
-        'Number3': function(v) {
-            return Ext.util.Format.number(v, '0.000');
-        },
-        'Number4': function(v) {
-            return Ext.util.Format.number(v, '0.0000');
-        },
-        'Integer': function(v) {
-            return Ext.util.Format.number(v, '0');
-        },
+        // 'Number0': function(v) {
+        //     var t = saas.util.BaseUtil.numberFormat(v, 0, false);
+        //     return Number(t);
+        // },
+        'Number0': '#,##0',
+        // 'Number1': function(v) {
+        //     var t = saas.util.BaseUtil.numberFormat(v, 1, false);
+        //     return Number(t);
+        // },
+        'Number1': '#,##0.0',
+        // 'Number2': function(v) {
+        //     var t = saas.util.BaseUtil.numberFormat(v, 2, false);
+        //     return Number(t);
+        // },
+        'Number2': '#,##0.00',
+        // 'Number3': function(v) {
+        //     var t = saas.util.BaseUtil.numberFormat(v, 3, false);
+        //     return Number(t);
+        // },
+        'Number3': '#,##0.000',
+        // 'Number4': function(v) {
+        //     var t = saas.util.BaseUtil.numberFormat(v, 4, false);
+        //     return Number(t);
+        // },
+        'Number4': '#,##0.0000',
+        // 'Integer': function(v) {
+        //     var t = saas.util.BaseUtil.numberFormat(v, 0, false);
+        //     return Number(t);
+        // },
+        'Integer': '#,##0',
         // 'Total':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);
+        //     var t = saas.util.BaseUtil.numberFormat(v, 2, false);
+        //     return Number(t);
         // },
         'Total': '#,##0.00',
-        'Amount': 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);
-        },
-        'Quantity': function(v) {
-            var arr = (v + '.').split('.');
-            var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
-            var format = '0,000.' + xr.join('');
-            return Ext.util.Format.number(v, format);
-        },
-        'Price': function(v) {
-            var arr = (v + '.').split('.');
-            var xr = (new Array(arr[1].length > 4 ? 4 : arr[1].length)).fill('0');
-            var format = '0,000.' + xr.join('');
-            return Ext.util.Format.number(v, format);
-        },
-        // 'Price': '#,##0.00',
+        // 'Amount': function(v) {
+        //     var t = saas.util.BaseUtil.numberFormat(v, 2, false);
+        //     return Number(t);
+        // },
+        'Amount': '#,##0.00',
+        // 'Quantity': function(v) {
+        //     var t = saas.util.BaseUtil.numberFormat(v, 3, false);
+        //     return Number(t);
+        // },
+        'Quantity': '#,##0.000',
+        // 'Price': function(v) {
+        //     var t = saas.util.BaseUtil.numberFormat(v, 4, false);
+        //     return Number(t);
+        // },
+        'Price': '#,##0.00',
     },
 
 });

+ 20 - 22
frontend/saas-web/overrides/exporter/file/Style.js

@@ -12,37 +12,35 @@ Ext.define('saas.override.exporter.file.Style', {
         }
 
         if(f === 'Number0') {
-            return Ext.util.Format.number(v, '0');
+            var t = saas.util.BaseUtil.numberFormat(v, 0, false);
+            return Number(t);
         }else if(f === 'Number1') {
-            return Ext.util.Format.number(v, '0.0');
+            var t = saas.util.BaseUtil.numberFormat(v, 1, false);
+            return Number(t);
         }else if(f === 'Number2') {
-            return Ext.util.Format.number(v, '0.00');
+            var t = saas.util.BaseUtil.numberFormat(v, 2, false);
+            return Number(t);
         }else if(f === 'Number3') {
-            return Ext.util.Format.number(v, '0.000');
+            var t = saas.util.BaseUtil.numberFormat(v, 3, false);
+            return Number(t);
         }else if(f === 'Number4') {
-            return Ext.util.Format.number(v, '0.0000');
+            var t = saas.util.BaseUtil.numberFormat(v, 4, false);
+            return Number(t);
         }else if(f === 'Integer') { // new
-            return Ext.util.Format.number(v, '0');
+            var t = saas.util.BaseUtil.numberFormat(v, 0, false);
+            return Number(t);
         }else if(f === 'Total') {
-            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);
+            var t = saas.util.BaseUtil.numberFormat(v, 2, false);
+            return Number(t);
         }else if(f === 'Amount') {
-            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);
+            var t = saas.util.BaseUtil.numberFormat(v, 2, false);
+            return Number(t);
         }else if(f === 'Quantity') {
-            var arr = (v + '.').split('.');
-            var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
-            var format = '0,000.' + xr.join('');
-            return Ext.util.Format.number(v, format);
+            var t = saas.util.BaseUtil.numberFormat(v, 3, false);
+            return Number(t);
         }else if(f === 'Price') {
-            var arr = (v + '.').split('.');
-            var xr = (new Array(arr[1].length > 8 ? 8 : arr[1].length)).fill('0');
-            var format = '0,000.' + xr.join('');
-            return Ext.util.Format.number(v, format);
+            var t = saas.util.BaseUtil.numberFormat(v, 4, false);
+            return Number(t);
         }else if(f === 'Currency'){
             return fmt.currency(v);
         }else if(f === 'Euro Currency') {