Sfoglia il codice sorgente

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

chenw 7 anni fa
parent
commit
06fbe863e1
100 ha cambiato i file con 1521 aggiunte e 1053 eliminazioni
  1. 21 92
      applications/document/document-server/src/main/resources/mapper/CustomeraddressMapper.xml
  2. 15 56
      applications/document/document-server/src/main/resources/mapper/CustomercontactMapper.xml
  3. 3 7
      applications/document/document-server/src/main/resources/mapper/WarehouseMapper.xml
  4. 11 3
      applications/document/document-server/src/test/java/com/usoftchina/saas/document/mapper/CustomeraddressMapperTest.java
  5. 7 0
      applications/document/document-server/src/test/java/com/usoftchina/saas/document/mapper/CustomercontactMapperTest.java
  6. 58 0
      applications/document/document-server/src/test/java/com/usoftchina/saas/document/mapper/WarehouseMapperTest.java
  7. 20 2
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/controller/FundtransferController.java
  8. 30 11
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/controller/OthreceiptsController.java
  9. 30 11
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/controller/OthspengdingsController.java
  10. 21 2
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/controller/PaybalanceController.java
  11. 26 3
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/controller/RecbalanceContorller.java
  12. 13 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/controller/VerificationController.java
  13. 1 1
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/BanksubledgerMapper.java
  14. 1 1
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/PaybalanceMapper.java
  15. 1 1
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/RecbalanceMapper.java
  16. 0 2
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/VerificationMapper.java
  17. 0 2
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/VerificationdetMapper.java
  18. 0 2
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/VerificationdetailMapper.java
  19. 8 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/FundtransferService.java
  20. 10 3
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/OthreceiptsService.java
  21. 10 3
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/OthspendingsService.java
  22. 7 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/PaybalanceService.java
  23. 7 1
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/RecbalanceService.java
  24. 13 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/VerificationService.java
  25. 37 7
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/FundtransferServiceImpl.java
  26. 55 19
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/OthreceiptsServiceImpl.java
  27. 55 19
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/OthspendingsServiceImpl.java
  28. 33 1
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/PaybalanceServiceImpl.java
  29. 33 1
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/RecbalanceServiceImpl.java
  30. 30 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/VerificationServiceImpl.java
  31. 1 1
      applications/money/money-server/src/main/resources/mapper/PaybalancedetailMapper.xml
  32. 1 1
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/controller/ProdInOutController.java
  33. 7 4
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/ProdInOutServiceImpl.java
  34. 8 5
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/PurchaseServiceImpl.java
  35. 54 239
      applications/purchase/purchase-server/src/main/resources/mapper/ProdIODetailMapper.xml
  36. 23 0
      applications/purchase/purchase-server/src/test/PurchaseTest.java
  37. 52 0
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/config/WebConfig.java
  38. 4 0
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/controller/SaleController.java
  39. 2 2
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/SaleServiceImpl.java
  40. 1 1
      applications/sale/sale-server/src/main/resources/mapper/SaleMapper.xml
  41. 1 0
      applications/sale/sale-server/src/main/resources/mapper/SaledetailMapper.xml
  42. 1 1
      applications/storage/storage-server/src/main/java/com/usoftchina/saas/storage/controller/ProdInOutController.java
  43. 1 1
      applications/storage/storage-server/src/main/java/com/usoftchina/saas/storage/service/impl/ProdInoutServiceImpl.java
  44. 54 239
      applications/storage/storage-server/src/main/resources/mapper/ProdIODetailMapper.xml
  45. 6 6
      frontend/saas-web/Readme.md
  46. 12 0
      frontend/saas-web/app.json
  47. 2 3
      frontend/saas-web/app/model/document/bomdetail.js
  48. 1 1
      frontend/saas-web/app/util/BaseUtil.js
  49. 2 2
      frontend/saas-web/app/util/FormUtil.js
  50. 3 1
      frontend/saas-web/app/view/core/base/BasePanel.js
  51. 1 1
      frontend/saas-web/app/view/core/base/BasePanelController.js
  52. 31 19
      frontend/saas-web/app/view/core/base/GridPanel.js
  53. 2 7
      frontend/saas-web/app/view/core/form/FormPanel.js
  54. 51 14
      frontend/saas-web/app/view/core/form/field/DetailGridField.js
  55. 11 8
      frontend/saas-web/app/view/core/query/QueryGridPanel.js
  56. 7 0
      frontend/saas-web/app/view/core/query/QueryPanelController.js
  57. 48 4
      frontend/saas-web/app/view/document/bom/BasePanel.js
  58. 65 0
      frontend/saas-web/app/view/document/bom/FormController.js
  59. 17 0
      frontend/saas-web/app/view/document/bom/FormModel.js
  60. 162 0
      frontend/saas-web/app/view/document/bom/FormPanel.js
  61. 14 8
      frontend/saas-web/app/view/document/customer/BasePanel.js
  62. 15 13
      frontend/saas-web/app/view/document/customer/FormPanel.js
  63. 12 1
      frontend/saas-web/app/view/document/kind/ChildForm.js
  64. 26 16
      frontend/saas-web/app/view/document/kind/Kind.js
  65. 2 1
      frontend/saas-web/app/view/document/kind/KindController.js
  66. 29 9
      frontend/saas-web/app/view/document/kind/KindModel.js
  67. 25 0
      frontend/saas-web/app/view/document/other/Address.js
  68. 3 3
      frontend/saas-web/app/view/document/other/Warehouse.js
  69. 14 7
      frontend/saas-web/app/view/document/product/BasePanel.js
  70. 2 2
      frontend/saas-web/app/view/document/product/FormController.js
  71. 17 17
      frontend/saas-web/app/view/document/product/FormPanel.js
  72. 16 9
      frontend/saas-web/app/view/document/vendor/BasePanel.js
  73. 12 12
      frontend/saas-web/app/view/document/vendor/FormPanel.js
  74. 5 0
      frontend/saas-web/app/view/main/MainContainerWrap.js
  75. 1 1
      frontend/saas-web/app/view/main/Navigation.js
  76. 11 9
      frontend/saas-web/app/view/money/fundtransfer/FormPanel.js
  77. 2 2
      frontend/saas-web/app/view/money/fundtransfer/FormPanelController.js
  78. 30 42
      frontend/saas-web/app/view/money/fundtransfer/QueryPanel.js
  79. 7 8
      frontend/saas-web/app/view/money/othreceipts/FormPanel.js
  80. 2 2
      frontend/saas-web/app/view/money/othreceipts/FormPanelController.js
  81. 5 6
      frontend/saas-web/app/view/money/othreceipts/QueryPanel.js
  82. 2 2
      frontend/saas-web/app/view/money/othreceipts/QueryPanelController.js
  83. 10 8
      frontend/saas-web/app/view/money/othspendings/FormPanel.js
  84. 2 2
      frontend/saas-web/app/view/money/othspendings/FormPanelController.js
  85. 4 4
      frontend/saas-web/app/view/money/othspendings/QueryPanel.js
  86. 2 2
      frontend/saas-web/app/view/money/othspendings/QueryPanelController.js
  87. 7 6
      frontend/saas-web/app/view/money/payBalance/FormPanel.js
  88. 1 1
      frontend/saas-web/app/view/money/payBalance/FormPanelController.js
  89. 1 1
      frontend/saas-web/app/view/money/payBalance/QueryPanel.js
  90. 2 2
      frontend/saas-web/app/view/money/payBalance/QueryPanelController.js
  91. 7 7
      frontend/saas-web/app/view/money/recBalance/FormPanel.js
  92. 2 2
      frontend/saas-web/app/view/money/recBalance/FormPanelController.js
  93. 1 1
      frontend/saas-web/app/view/money/recBalance/QueryPanel.js
  94. 2 2
      frontend/saas-web/app/view/money/recBalance/QueryPanelController.js
  95. 16 11
      frontend/saas-web/app/view/purchase/purchase/FormPanel.js
  96. 2 2
      frontend/saas-web/app/view/purchase/purchase/FormPanelController.js
  97. 1 1
      frontend/saas-web/app/view/purchase/purchase/QueryPanel.js
  98. 2 2
      frontend/saas-web/app/view/purchase/purchase/QueryPanelController.js
  99. 16 15
      frontend/saas-web/app/view/purchase/purchaseIn/FormPanel.js
  100. 4 4
      frontend/saas-web/app/view/purchase/purchaseIn/FormPanelController.js

+ 21 - 92
applications/document/document-server/src/main/resources/mapper/CustomeraddressMapper.xml

@@ -211,102 +211,31 @@
   </select>
 
   <insert id="batchInsert" parameterType="java.util.List" >
-    <foreach collection="list" item="item" index="index" open="" close="" separator=",">
-      insert into customeraddress
-      <trim prefix="(" suffix=")" suffixOverrides=",">
-
-        <if test="item.ca_cuid != null">
-          ca_cuid,
-        </if>
-        <if test="item.ca_detno != null">
-          ca_detno,
-        </if>
-        <if test="item.ca_person != null">
-          ca_person,
-        </if>
-        <if test="item.ca_phone != null">
-          ca_phone,
-        </if>
-        <if test="item.ca_default != null">
-          ca_default,
-        </if>
-        <if test="item.companyId != null">
-          companyid,
-        </if>
-        <if test="item.updaterId != null">
-          updaterid,
-        </if>
-        <if test="item.updateTime != null">
-          updatetime,
-        </if>
-        <if test="item.ca_text1 != null">
-          ca_text1,
-        </if>
-        <if test="item.ca_text2 != null">
-          ca_text2,
-        </if>
-        <if test="item.ca_text3 != null">
-          ca_text3,
-        </if>
-        <if test="item.ca_text4 != null">
-          ca_text4,
-        </if>
-        <if test="item.ca_text5 != null">
-          ca_text5,
-        </if>
-        <if test="item.ca_address != null">
-          ca_address,
-        </if>
-      </trim>
-      <trim prefix="values (" suffix=")" suffixOverrides=",">
 
-        <if test="item.ca_cuid != null">
-          #{item.ca_cuid,jdbcType=INTEGER},
-        </if>
-        <if test="item.ca_detno != null">
-          #{item.ca_detno,jdbcType=INTEGER},
-        </if>
-        <if test="item.ca_person != null">
-          #{item.ca_person,jdbcType=VARCHAR},
-        </if>
-        <if test="item.ca_phone != null">
-          #{item.ca_phone,jdbcType=INTEGER},
-        </if>
-        <if test="item.ca_default != null">
-          #{item.ca_default,jdbcType=INTEGER},
-        </if>
-        <if test="item.companyId != null">
-          #{item.companyId,jdbcType=INTEGER},
-        </if>
-        <if test="item.updaterId != null">
-          #{item.updaterId,jdbcType=INTEGER},
-        </if>
-        <if test="item.updateTime != null">
-          #{item.updateTime,jdbcType=TIMESTAMP},
-        </if>
-        <if test="item.ca_text1 != null">
-          #{item.ca_text1,jdbcType=VARCHAR},
-        </if>
-        <if test="item.ca_text2 != null">
-          #{item.ca_text2,jdbcType=VARCHAR},
-        </if>
-        <if test="item.ca_text3 != null">
-          #{item.ca_text3,jdbcType=VARCHAR},
-        </if>
-        <if test="item.ca_text4 != null">
-          #{item.ca_text4,jdbcType=VARCHAR},
-        </if>
-        <if test="item.ca_text5 != null">
-          #{item.ca_text5,jdbcType=VARCHAR},
-        </if>
-        <if test="item.ca_address != null">
-          #{item.ca_address,jdbcType=LONGVARCHAR},
-        </if>
-      </trim>
+    insert into customeraddress
+    (ca_cuid,ca_detno,ca_person,ca_address,ca_phone,
+    ca_default,companyid,updaterid,updatetime,ca_text1,
+    ca_text2,ca_text3,ca_text4,ca_text5) VALUES
+    <foreach collection="list" item="item" index="index" open="" close="" separator=",">
+      (
+      #{item.ca_cuid,jdbcType=INTEGER},
+      #{item.ca_detno,jdbcType=INTEGER},
+      #{item.ca_person,jdbcType=VARCHAR},
+      #{item.ca_address,jdbcType=LONGVARCHAR},
+      #{item.ca_phone,jdbcType=INTEGER},
+      #{item.ca_default,jdbcType=INTEGER},
+      #{item.companyId,jdbcType=INTEGER},
+      #{item.updaterId,jdbcType=INTEGER},
+      #{item.updateTime,jdbcType=TIMESTAMP},
+      #{item.ca_text1,jdbcType=VARCHAR},
+      #{item.ca_text2,jdbcType=VARCHAR},
+      #{item.ca_text3,jdbcType=VARCHAR},
+      #{item.ca_text4,jdbcType=VARCHAR},
+      #{item.ca_text5,jdbcType=VARCHAR}
+       )
     </foreach>
   </insert>
 
-
   <update id="batchUpdate" parameterType="com.usoftchina.saas.document.entities.Customeraddress" >
     <foreach collection="list" item="item" index="index" open="" close="" separator=";">
       update customeraddress

+ 15 - 56
applications/document/document-server/src/main/resources/mapper/CustomercontactMapper.xml

@@ -196,72 +196,31 @@
   </select>
 
   <insert id="batchInsert" parameterType="java.util.List" >
+    insert into customercontact (cc_cuid, cc_detno,
+    cc_name, cc_tel, cc_qq,
+    cc_email, companyid, updaterid,
+    updatetime, cc_text1, cc_text2,
+    cc_text3, cc_text4, cc_text5,cc_default
+    )
+    values
     <foreach collection="list" item="item" index="index" open="" close="" separator=",">
-      insert into customercontact
-      <trim prefix="(" suffix=")" suffixOverrides=",">
-        <if test="item.cc_cuid != null">
-          cc_cuid,
-        </if>
-        <if test="item.cc_detno != null">
-          cc_detno,
-        </if>
-        <if test="item.cc_name != null">
-          cc_name,
-        </if>
-        <if test="item.cc_tel != null">
-          cc_tel,
-        </if>
-        <if test="item.cc_qq != null">
-          cc_qq,
-        </if>
-        <if test="item.cc_email != null">
-          cc_email,
-        </if>
-        <if test="item.companyId != null">
-          companyid,
-        </if>
-        <if test="item.updaterId != null">
-          updaterid,
-        </if>
-        <if test="item.updateTime != null">
-          updatetime,
-        </if>
-        <if test="item.cc_default != null">
-          cc_default,
-        </if>
-      </trim>
-      <trim prefix="values (" suffix=")" suffixOverrides=",">
-        <if test="item.cc_cuid != null">
+      (
           #{item.cc_cuid,jdbcType=INTEGER},
-        </if>
-        <if test="item.cc_detno != null">
           #{item.cc_detno,jdbcType=INTEGER},
-        </if>
-        <if test="item.cc_name != null">
           #{item.cc_name,jdbcType=VARCHAR},
-        </if>
-        <if test="item.cc_tel != null">
           #{item.cc_tel,jdbcType=INTEGER},
-        </if>
-        <if test="item.cc_qq != null">
           #{item.cc_qq,jdbcType=VARCHAR},
-        </if>
-        <if test="item.cc_email != null">
           #{item.cc_email,jdbcType=VARCHAR},
-        </if>
-        <if test="item.companyId != null">
           #{item.companyId,jdbcType=INTEGER},
-        </if>
-        <if test="item.updaterId != null">
           #{item.updaterId,jdbcType=INTEGER},
-        </if>
-        <if test="item.updateTime != null">
           #{item.updateTime,jdbcType=TIMESTAMP},
-        </if>
-        <if test="item.cc_default != null">
-          #{item.cc_default,jdbcType=INTEGER},
-        </if>
-      </trim>
+          #{item.cc_text1,jdbcType=VARCHAR},
+          #{item.cc_text2,jdbcType=VARCHAR},
+          #{item.cc_text3,jdbcType=VARCHAR},
+          #{item.cc_text4,jdbcType=VARCHAR},
+          #{item.cc_text5,jdbcType=VARCHAR},
+          #{item.cc_default,jdbcType=INTEGER}
+      )
     </foreach>
   </insert>
 

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

@@ -8,7 +8,7 @@
         <result column="wh_description" property="wh_description" jdbcType="VARCHAR" />
         <result column="wh_statuscode" property="wh_statuscode" jdbcType="VARCHAR" />
         <result column="wh_status" property="wh_status" jdbcType="TIMESTAMP" />
-        <result column="wh_recordid" property="wh_recordid" jdbcType="INTEGER" />
+        <result column="wh_recordid" property="wh_recorderid" jdbcType="INTEGER" />
         <result column="wh_recorder" property="wh_recorder" jdbcType="INTEGER" />
         <result column="wh_date" property="wh_date" jdbcType="INTEGER" />
         <result column="companyId" property="companyId" jdbcType="INTEGER" />
@@ -309,10 +309,6 @@
         where wh_id = #{id}
     </update>
 
-    <select id="selectAll" resultMap="WarehouseResultMapper">
-        SELECT * FROM WAREHOUSE WHERE companyId = #{companyId}
-    </select>
-
     <select id="validateCodeWhenInsert" resultType="int">
         select count(*) from WAREHOUSE where WH_CODE = #{code} and companyId =#{companyId}
     </select>
@@ -320,7 +316,7 @@
         select count(*) from WAREHOUSE where WH_CODE = #{code} and WH_ID != #{id} and companyId =#{companyId}
     </select>
 
-    <select id="selectWarehouseListByCondition">
+    <select id="selectWarehouseListByCondition" resultMap="WarehouseResultMapper">
         select  *  from warehouse
         <where>
             <if test="con != null">
@@ -330,7 +326,7 @@
                 and  companyid = #{companyId}
             </if>
         </where>
-        order by cu_id
+        order by wh_id
     </select>
 
     <select id="selectCountByName" resultType="int">

+ 11 - 3
applications/document/document-server/src/test/java/com/usoftchina/saas/document/mapper/CustomeraddressMapperTest.java

@@ -47,9 +47,17 @@ public class CustomeraddressMapperTest {
     @Test
     public void batchInsert() throws Exception {
         List<Customeraddress> list = new ArrayList<>();
-        Customeraddress customeraddress = new Customeraddress();
-        customeraddress.setCa_address("地址1");
-        list.add(customeraddress);
+        Customeraddress customeraddress1 = new Customeraddress();
+        customeraddress1.setCa_address("地址1");
+
+        Customeraddress customeraddress2 = new Customeraddress();
+        customeraddress2.setCa_address("地址2");
+
+        list.add(customeraddress1);
+        list.add(customeraddress2);
+
+
+
         customeraddressMapper.batchInsert(list);
     }
 

+ 7 - 0
applications/document/document-server/src/test/java/com/usoftchina/saas/document/mapper/CustomercontactMapperTest.java

@@ -53,7 +53,14 @@ public class CustomercontactMapperTest {
         customercontact.setCc_name("zdw");
         customercontact.setCc_tel(1881);
 
+        Customercontact customercontact1 = new Customercontact();
+        customercontact1.setCc_cuid(new Long(1));
+        customercontact1.setCc_detno(1);
+        customercontact1.setCc_name("zdw");
+        customercontact1.setCc_tel(1881);
+
         insertDetail1.add(customercontact);
+        insertDetail1.add(customercontact1);
         customercontactMapper.batchInsert(insertDetail1);
     }
 

+ 58 - 0
applications/document/document-server/src/test/java/com/usoftchina/saas/document/mapper/WarehouseMapperTest.java

@@ -0,0 +1,58 @@
+package com.usoftchina.saas.document.mapper;
+
+import org.junit.Test;
+
+/**
+ * Created by zdw
+ * 2018-10-30 14:00.
+ */
+public class WarehouseMapperTest {
+    @Test
+    public void post() throws Exception {
+    }
+
+    @Test
+    public void validPeriod() throws Exception {
+    }
+
+    @Test
+    public void deleteByPrimaryKey() throws Exception {
+    }
+
+    @Test
+    public void insert() throws Exception {
+    }
+
+    @Test
+    public void insertSelective() throws Exception {
+    }
+
+    @Test
+    public void selectByPrimaryKey() throws Exception {
+    }
+
+    @Test
+    public void updateByPrimaryKeySelective() throws Exception {
+    }
+
+    @Test
+    public void updateByPrimaryKey() throws Exception {
+    }
+
+    @Test
+    public void unPost() throws Exception {
+    }
+
+    @Test
+    public void validateCodeWhenInsert() throws Exception {
+    }
+
+    @Test
+    public void validateCodeWhenUpdate() throws Exception {
+    }
+
+    @Test
+    public void selectWarehouseListByCondition() throws Exception {
+    }
+
+}

+ 20 - 2
applications/money/money-server/src/main/java/com/usoftchina/saas/money/controller/FundtransferController.java

@@ -2,6 +2,7 @@ package com.usoftchina.saas.money.controller;
 
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.money.po.Fundtran;
@@ -40,6 +41,23 @@ public class FundtransferController {
         return Result.success();
     }
 
+    @PostMapping("/batchDelete")
+    public Result funBatchDelete(@RequestBody BatchDealBaseDTO body){
+        fundtransferService.fundtransferDelete(body);
+        return Result.success();
+    }
+
+    @PostMapping("/batchAudit")
+    public Result funBatchAudit(@RequestBody BatchDealBaseDTO body){
+        fundtransferService.fundtransferBatchAudit(body);
+        return Result.success();
+    }
+
+    @PostMapping("/batchUnAudit")
+    public Result funBatchUnAudit(@RequestBody BatchDealBaseDTO body){
+        fundtransferService.fundtransferBatchUnAudit(body);
+        return Result.success();
+    }
 
     @GetMapping("/read/{id}")
     public Result read(@PathVariable("id")int id){
@@ -58,8 +76,8 @@ public class FundtransferController {
         return Result.success();
     }
 
-    @PostMapping("/unAudit")
-    public Result unAudit(@RequestBody int id){
+    @PostMapping("/unAudit/{id}")
+    public Result unAudit(@PathVariable("id") int id){
         fundtransferService.unAudit(id);
         return Result.success();
     }

+ 30 - 11
applications/money/money-server/src/main/java/com/usoftchina/saas/money/controller/OthreceiptsController.java

@@ -2,6 +2,7 @@ package com.usoftchina.saas.money.controller;
 
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.money.po.Othreceipts;
@@ -51,15 +52,33 @@ public class OthreceiptsController {
         return Result.success(list);
     }
 
-//    @RequestMapping("/audit")
-//    public Result audit(@RequestBody Othte body){
-//        othreceiptsService.audit(body);
-//        return Result.success();
-//    }
-//
-//    @PostMapping("/unAudit")
-//    public Result unAudit(@RequestBody int id){
-//        othreceiptsService.unAudit(id);
-//        return Result.success();
-//    }
+    @RequestMapping("/audit")
+    public Result audit(@RequestBody Othte body){
+        othreceiptsService.audit(body);
+        return Result.success();
+    }
+
+    @PostMapping("/unAudit/{id}")
+    public Result unAudit(@PathVariable("id") int id){
+        othreceiptsService.unAudit(id);
+        return Result.success();
+    }
+
+    @PostMapping("/batchDelete")
+    public Result othreceiptsBatchDelete(@RequestBody BatchDealBaseDTO body){
+        othreceiptsService.othreceiptsDelete(body);
+        return Result.success();
+    }
+
+    @PostMapping("/batchAudit")
+    public Result othreceiptsBatchAudit(@RequestBody BatchDealBaseDTO body){
+        othreceiptsService.othreceiptsBatchAudit(body);
+        return Result.success();
+    }
+
+    @PostMapping("/batchUnAudit")
+    public Result othreceiptsBatchUnAudit(@RequestBody BatchDealBaseDTO body){
+        othreceiptsService.othreceiptsBatchUnAudit(body);
+        return Result.success();
+    }
 }

+ 30 - 11
applications/money/money-server/src/main/java/com/usoftchina/saas/money/controller/OthspengdingsController.java

@@ -2,6 +2,7 @@ package com.usoftchina.saas.money.controller;
 
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.money.po.Othreceipts;
@@ -54,15 +55,33 @@ public class OthspengdingsController {
         return Result.success(list);
     }
 
-//    @RequestMapping("/audit")
-//    public Result audit(@RequestBody Othsp body){
-//        othspendingsService.audit(body);
-//        return Result.success();
-//    }
-//
-//    @PostMapping("/unAudit")
-//    public Result unAudit(@RequestBody int id){
-//        othspendingsService.unAudit(id);
-//        return Result.success();
-//    }
+    @RequestMapping("/audit")
+    public Result audit(@RequestBody Othsp body){
+        othspendingsService.audit(body);
+        return Result.success();
+    }
+
+    @PostMapping("/unAudit/{id}")
+    public Result unAudit(@PathVariable("id") int id){
+        othspendingsService.unAudit(id);
+        return Result.success();
+    }
+
+    @PostMapping("/batchDelete")
+    public Result othspendingsBatchDelete(@RequestBody BatchDealBaseDTO body){
+        othspendingsService.othspendingBatchDelete(body);
+        return Result.success();
+    }
+
+    @PostMapping("/batchAudit")
+    public Result othspendingsBatchAudit(@RequestBody BatchDealBaseDTO body){
+        othspendingsService.othspendingBatchAudit(body);
+        return Result.success();
+    }
+
+    @PostMapping("/batchUnAudit")
+    public Result othspendingsBatchUnAudit(@RequestBody BatchDealBaseDTO body){
+        othspendingsService.othspendingBatchUnAudit(body);
+        return Result.success();
+    }
 }

+ 21 - 2
applications/money/money-server/src/main/java/com/usoftchina/saas/money/controller/PaybalanceController.java

@@ -2,6 +2,7 @@ package com.usoftchina.saas.money.controller;
 
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.money.po.Pay;
@@ -63,9 +64,27 @@ public class PaybalanceController {
         return Result.success();
     }
 
-    @PostMapping("/unAudit")
-    public Result unAudit(@RequestBody int id){
+    @PostMapping("/unAudit/{id}")
+    public Result unAudit(@PathVariable("id") int id){
         paybalanceService.unAudit(id);
         return Result.success();
     }
+
+    @PostMapping("/batchDelete")
+    public Result payBatchDelete(@RequestBody BatchDealBaseDTO body){
+        paybalanceService.paybalanceDelete(body);
+        return Result.success();
+    }
+
+    @PostMapping("/batchAudit")
+    public Result payBatchAudit(@RequestBody BatchDealBaseDTO body){
+        paybalanceService.paybalanceBatchAudit(body);
+        return Result.success();
+    }
+
+    @PostMapping("/batchUnAudit")
+    public Result payBatchUnAudit(@RequestBody BatchDealBaseDTO body){
+        paybalanceService.paybalanceBatchUnAudit(body);
+        return Result.success();
+    }
 }

+ 26 - 3
applications/money/money-server/src/main/java/com/usoftchina/saas/money/controller/RecbalanceContorller.java

@@ -1,14 +1,19 @@
 package com.usoftchina.saas.money.controller;
 
 import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
+import com.usoftchina.saas.commons.po.Status;
 import com.usoftchina.saas.money.po.Rec;
+import com.usoftchina.saas.money.po.Recbalance;
 import com.usoftchina.saas.money.service.RecbalanceService;
 import com.usoftchina.saas.page.PageRequest;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.Iterator;
+
 /**
  * @author heqw
  * @date 2018/10/23 15:40
@@ -27,7 +32,7 @@ public class RecbalanceContorller {
 
     @PostMapping("/delete/{id}")
     public Result delete(@PathVariable("id") int id){
-        recbalanceService.delect(id);
+        recbalanceService.delete(id);
         return Result.success();
     }
 
@@ -59,9 +64,27 @@ public class RecbalanceContorller {
         return Result.success();
     }
 
-    @PostMapping("/unAudit")
-    public Result unAudit(@RequestBody Long id){
+    @PostMapping("/unAudit/{id}")
+    public Result unAudit(@PathVariable("id") Long id){
         recbalanceService.unAudit(id);
         return Result.success();
     }
+
+    @PostMapping("/batchDelete")
+    public Result recbalanceBatchDelete(@RequestBody BatchDealBaseDTO body){
+        recbalanceService.recbalanceDelete(body);
+        return Result.success();
+    }
+
+    @PostMapping("/batchAudit")
+    public Result recbalanceBatchAudit(@RequestBody BatchDealBaseDTO body){
+        recbalanceService.recbalanceBatchAudit(body);
+        return Result.success();
+    }
+
+    @PostMapping("/batchUnAudit")
+    public Result recbalanceBatchUnAudit(@RequestBody BatchDealBaseDTO body){
+        recbalanceService.recbalanceBatchUnAudit(body);
+        return Result.success();
+    }
 }

+ 13 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/controller/VerificationController.java

@@ -2,6 +2,7 @@ package com.usoftchina.saas.money.controller;
 
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocSavedDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.money.dto.VerificationFormDTO;
@@ -106,4 +107,16 @@ public class VerificationController {
         verificationService.resAudit(id);
         return Result.success();
     }
+
+    @RequestMapping("/batchAudit")
+    public Result batchAudit(@RequestBody  BatchDealBaseDTO body) {
+        verificationService.batchAudit(body);
+        return Result.success();
+    }
+
+    @RequestMapping("/batchUnAudit")
+    public Result batchUnAudit(@RequestBody BatchDealBaseDTO body) {
+        verificationService.batchUnAudit(body);
+        return Result.success();
+    }
 }

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

@@ -19,7 +19,7 @@ public interface BanksubledgerMapper extends CommonBaseMapper<Banksubledger> {
 
     int deleteByPrimaryKey(Integer bl_id);
 
-    Long insert(Banksubledger record);
+//    Long insert(Banksubledger record);
 
     int insertSelective(Banksubledger record);
 

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

@@ -11,7 +11,7 @@ public interface PaybalanceMapper extends CommonBaseMapper<Paybalance> {
 
     int deleteByPrimaryKey(Integer pb_id);
 
-    Long insert(Paybalance record);
+//    Long insert(Paybalance record);
 
     int insertSelective(Paybalance record);
 

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

@@ -21,7 +21,7 @@ public interface RecbalanceMapper extends CommonBaseMapper<Recbalance> {
 
     int deleteByPrimaryKey(Integer rb_id);
 
-    Long insert(Recbalance record);
+//    Long insert(Recbalance record);
 
     int insertSelective(Recbalance record);
 

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

@@ -17,8 +17,6 @@ public interface VerificationMapper extends CommonBaseMapper<Verification> {
 
     int deleteByPrimaryKey(Integer vc_id);
 
-//    Long insert(Verification record);
-
     int insertSelective(Verification record);
 
     List<Verification> selectByExample(VerificationExample example);

+ 0 - 2
applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/VerificationdetMapper.java

@@ -17,8 +17,6 @@ public interface VerificationdetMapper extends CommonBaseMapper<Verificationdet>
 
     int deleteByPrimaryKey(Integer vd_id);
 
-//    Long insert(Verificationdet record);
-
     int insertSelective(Verificationdet record);
 
     List<Verificationdet> selectByExample(VerificationdetExample example);

+ 0 - 2
applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/VerificationdetailMapper.java

@@ -18,8 +18,6 @@ public interface VerificationdetailMapper extends CommonBaseMapper<Verificationd
 
     int deleteByPrimaryKey(Integer vcd_id);
 
-//    Long insert(Verificationdetail record);
-
     int insertSelective(Verificationdetail record);
 
     List<Verificationdetail> selectByExample(VerificationdetailExample example);

+ 8 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/FundtransferService.java

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.money.service;
 
 import com.github.pagehelper.PageInfo;
+import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.money.po.Fundtran;
@@ -21,6 +22,13 @@ public interface FundtransferService {
     void delete(int id);
     void deleteItem(int id);
 
+
+    void fundtransferDelete(BatchDealBaseDTO baseDTO);
+
+    void fundtransferBatchAudit(BatchDealBaseDTO baseDTO);
+
+    void fundtransferBatchUnAudit(BatchDealBaseDTO baseDTO);
+
     Fundtran select(int id);
 
     PageInfo<Fundtransfer> selectList(PageRequest page, ListReqDTO reqDTO);

+ 10 - 3
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/OthreceiptsService.java

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.money.service;
 
 import com.github.pagehelper.PageInfo;
+import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.money.po.Othreceipts;
@@ -16,9 +17,9 @@ import com.usoftchina.saas.page.PageRequest;
 public interface OthreceiptsService {
     DocBaseDTO insert(Othte othte);
 
-//    void audit(Othte othte);
-//
-//    void unAudit(int id);
+    void audit(Othte othte);
+
+    void unAudit(int id);
 
     void delete(int id);
 
@@ -27,4 +28,10 @@ public interface OthreceiptsService {
     Othte select(int id);
 
     PageInfo<Othreceipts> selectList(PageRequest page, ListReqDTO reqDTO);
+
+    void othreceiptsDelete(BatchDealBaseDTO baseDTO);
+
+    void othreceiptsBatchAudit(BatchDealBaseDTO baseDTO);
+
+    void othreceiptsBatchUnAudit(BatchDealBaseDTO baseDTO);
 }

+ 10 - 3
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/OthspendingsService.java

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.money.service;
 
 import com.github.pagehelper.PageInfo;
+import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.money.po.Othreceipts;
@@ -25,7 +26,13 @@ public interface OthspendingsService {
 
     PageInfo<Othspendings> selectList(PageRequest page, ListReqDTO reqDTO);
 
-//    void audit(Othsp othsp);
-//
-//    void unAudit(int id);
+    void audit(Othsp othsp);
+
+    void unAudit(int id);
+
+    void othspendingBatchDelete(BatchDealBaseDTO baseDTO);
+
+    void othspendingBatchAudit(BatchDealBaseDTO baseDTO);
+
+    void othspendingBatchUnAudit(BatchDealBaseDTO baseDTO);
 }

+ 7 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/PaybalanceService.java

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.money.service;
 
 import com.github.pagehelper.PageInfo;
+import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.money.po.Pay;
@@ -28,4 +29,10 @@ public interface PaybalanceService {
     Pay select(int id);
 
     PageInfo<Paybalance> selectList(PageRequest page, ListReqDTO reqDTO);
+
+    void paybalanceDelete(BatchDealBaseDTO baseDTO);
+
+    void paybalanceBatchAudit(BatchDealBaseDTO baseDTO);
+
+    void paybalanceBatchUnAudit(BatchDealBaseDTO baseDTO);
 }

+ 7 - 1
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/RecbalanceService.java

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.money.service;
 
 import com.github.pagehelper.PageInfo;
+import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.money.po.Rec;
@@ -14,7 +15,7 @@ import com.usoftchina.saas.page.PageRequest;
  **/
 public interface RecbalanceService {
     DocBaseDTO insert(Rec rec);
-    void delect(int id);
+    void delete(int id);
 
     void deleteItem(int id);
 
@@ -31,4 +32,9 @@ public interface RecbalanceService {
     PageInfo<Recbalance> selectList(PageRequest page, ListReqDTO reqDTO);
 
 
+    void recbalanceDelete(BatchDealBaseDTO baseDTO);
+
+    void recbalanceBatchAudit(BatchDealBaseDTO baseDTO);
+
+    void recbalanceBatchUnAudit(BatchDealBaseDTO baseDTO);
 }

+ 13 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/VerificationService.java

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.money.service;
 
 import com.github.pagehelper.PageInfo;
+import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocSavedDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.money.dto.VerificationFormDTO;
@@ -69,4 +70,16 @@ public interface VerificationService {
      */
     void resAudit(Long id);
 
+    /**
+     * 批量审核核销单
+     * @param formData
+     * @return
+     */
+    void batchAudit(BatchDealBaseDTO baseDTO);
+
+    /**
+     * 批量反审核核销单
+     * @param id
+     */
+    void batchUnAudit(BatchDealBaseDTO baseDTO);
 }

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

@@ -3,6 +3,7 @@ package com.usoftchina.saas.money.service.impl;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.commons.api.MaxnumberService;
+import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.commons.exception.BizExceptionCode;
@@ -12,10 +13,7 @@ import com.usoftchina.saas.context.BaseContextHolder;
 import com.usoftchina.saas.exception.BizException;
 import com.usoftchina.saas.money.mapper.FundtransferMapper;
 import com.usoftchina.saas.money.mapper.FundtransferdetailMapper;
-import com.usoftchina.saas.money.po.Fundtran;
-import com.usoftchina.saas.money.po.Fundtransfer;
-import com.usoftchina.saas.money.po.Fundtransferdetail;
-import com.usoftchina.saas.money.po.Paybalance;
+import com.usoftchina.saas.money.po.*;
 import com.usoftchina.saas.money.service.FundtransferService;
 import com.usoftchina.saas.page.PageRequest;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -70,7 +68,7 @@ public class FundtransferServiceImpl implements FundtransferService {
             fundtransferdetail.setCompanyId(BaseContextHolder.getCompanyId());
             fundtransferdetail.setFtd_ftid(Math.toIntExact(id));
             if (fundtransferdetail.getId() > 0 ){
-                fundtransferdetailMapper.updateByPrimaryKey(fundtransferdetail);
+                fundtransferdetailMapper.updateByPrimaryKeySelective(fundtransferdetail);
             }else {
                 fundtransferdetailMapper.insertSelective(fundtransferdetail);
             }
@@ -89,7 +87,7 @@ public class FundtransferServiceImpl implements FundtransferService {
         if ( fundtransfer == null || "".equals(fundtransfer)){
             this.insert(fundtran);
         }else {
-            fundtransferMapper.updateByPrimaryKey(fundtransfer);
+            fundtransferMapper.updateByPrimaryKeySelective(fundtransfer);
         }
     }
 
@@ -99,7 +97,7 @@ public class FundtransferServiceImpl implements FundtransferService {
         fundtransfer.setId(Long.valueOf(id));
         fundtransfer.setFt_status(com.usoftchina.saas.commons.po.Status.UNAUDITED.getDisplay());
         fundtransfer.setFt_statuscode(Status.UNAUDITED.name());
-        fundtransferMapper.updateByPrimaryKey(fundtransfer);
+        fundtransferMapper.updateByPrimaryKeySelective(fundtransfer);
     }
 
 
@@ -109,10 +107,42 @@ public class FundtransferServiceImpl implements FundtransferService {
         fundtransferdetailMapper.deleteByPrimaryKey(id);
     }
 
+    @Override
     public void deleteItem(int id) {
         fundtransferdetailMapper.deleteItem(id);
     }
 
+    @Override
+    public void fundtransferDelete(BatchDealBaseDTO baseDTO){
+        Iterator isList = baseDTO.getBaseDTOs().iterator();
+        while (isList.hasNext()){
+            DocBaseDTO docBaseDTO = (DocBaseDTO) isList.next();
+            this.delete(Math.toIntExact(docBaseDTO.getId()));
+        }
+    }
+
+    @Override
+    public void fundtransferBatchAudit(BatchDealBaseDTO baseDTO){
+        Iterator isList = baseDTO.getBaseDTOs().iterator();
+        while (isList.hasNext()){
+            DocBaseDTO docBaseDTO = (DocBaseDTO) isList.next();
+            Fundtransfer fundtransfer = new Fundtransfer();
+            fundtransfer.setId(Long.valueOf(docBaseDTO.getId()));
+            fundtransfer.setFt_status(com.usoftchina.saas.commons.po.Status.AUDITED.getDisplay());
+            fundtransfer.setFt_statuscode(Status.AUDITED.name());
+            fundtransferMapper.updateByPrimaryKeySelective(fundtransfer);
+        }
+    }
+
+    @Override
+    public void fundtransferBatchUnAudit(BatchDealBaseDTO baseDTO){
+        Iterator isList = baseDTO.getBaseDTOs().iterator();
+        while (isList.hasNext()){
+            DocBaseDTO docBaseDTO = (DocBaseDTO) isList.next();
+            this.unAudit(Math.toIntExact(docBaseDTO.getId()));
+        }
+    }
+
     @Override
     public Fundtran select(int id) {
         Fundtran fundtran = new Fundtran();

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

@@ -3,6 +3,7 @@ package com.usoftchina.saas.money.service.impl;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.commons.api.MaxnumberService;
+import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.commons.exception.BizExceptionCode;
@@ -76,25 +77,29 @@ public class OthreceiptsServiceImpl implements OthreceiptsService {
         return new DocBaseDTO(id, or_code, BillCodeSeq.OTHRECEIPTS.getCaller());
     }
 
-//    @Override
-//    public void audit(Othte othte) {
-//        int id = Math.toIntExact(othte.getMain().getId());
-//        Othreceipts othreceipts = othreceiptsMapper.selectByPrimaryKey(id);
-//        if ( othreceipts == null || "".equals(othreceipts)){
-//            this.insert(othte);
-//        }else {
-//            othreceiptsMapper.updateByPrimaryKey(othreceipts);
-//        }
-//    }
-//
-//    @Override
-//    public void unAudit(int id) {
-//        Othreceipts othreceipts = new Othreceipts();
-//        othreceipts.set(id);
-//        othreceipts.setOrStatus(com.usoftchina.saas.commons.po.Status.UNAUDITED.getDisplay());
-//        othreceipts.setOrStatuscode(Status.UNAUDITED.name());
-//        othreceiptsMapper.updateByPrimaryKey(othreceipts);
-//    }
+    @Override
+    public void audit(Othte othte) {
+        Long companyId = BaseContextHolder.getCompanyId();
+        int id = Math.toIntExact(othte.getMain().getId());
+        Othreceipts othreceipts = othreceiptsMapper.selectByPrimaryKey(id);
+        othreceipts.setOr_status(Status.AUDITED.getDisplay());
+        othreceipts.setOr_statuscode(Status.AUDITED.name());
+        othreceipts.setCompanyId(companyId);
+        if ( othreceipts == null || "".equals(othreceipts)){
+            this.insert(othte);
+        }else {
+            othreceiptsMapper.updateByPrimaryKey(othreceipts);
+        }
+    }
+
+    @Override
+    public void unAudit(int id) {
+        Othreceipts othreceipts = new Othreceipts();
+        othreceipts.setId(Long.valueOf(id));
+        othreceipts.setOr_status(com.usoftchina.saas.commons.po.Status.UNAUDITED.getDisplay());
+        othreceipts.setOr_statuscode(Status.UNAUDITED.name());
+        othreceiptsMapper.updateByPrimaryKeySelective(othreceipts);
+    }
 
 
     @Override
@@ -130,6 +135,37 @@ public class OthreceiptsServiceImpl implements OthreceiptsService {
         return pageInfo;
     }
 
+    @Override
+    public void othreceiptsDelete(BatchDealBaseDTO baseDTO){
+        Iterator isList = baseDTO.getBaseDTOs().iterator();
+        while (isList.hasNext()){
+            DocBaseDTO docBaseDTO = (DocBaseDTO) isList.next();
+            this.delete(Math.toIntExact(docBaseDTO.getId()));
+        }
+    }
+
+    @Override
+    public void othreceiptsBatchAudit(BatchDealBaseDTO baseDTO){
+        Iterator isList = baseDTO.getBaseDTOs().iterator();
+        while (isList.hasNext()){
+            DocBaseDTO docBaseDTO = (DocBaseDTO) isList.next();
+            Othreceipts othreceipts = new Othreceipts();
+            othreceipts.setId(Long.valueOf(docBaseDTO.getId()));
+            othreceipts.setOr_status(com.usoftchina.saas.commons.po.Status.AUDITED.getDisplay());
+            othreceipts.setOr_statuscode(Status.AUDITED.name());
+            othreceiptsMapper.updateByPrimaryKeySelective(othreceipts);
+        }
+    }
+
+    @Override
+    public void othreceiptsBatchUnAudit(BatchDealBaseDTO baseDTO){
+        Iterator isList = baseDTO.getBaseDTOs().iterator();
+        while (isList.hasNext()){
+            DocBaseDTO docBaseDTO = (DocBaseDTO) isList.next();
+            this.unAudit(Math.toIntExact(docBaseDTO.getId()));
+        }
+    }
+
     /**
      * @Description: 检验获取并更新单号
      * @Param: [code, id]

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

@@ -3,6 +3,7 @@ package com.usoftchina.saas.money.service.impl;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.commons.api.MaxnumberService;
+import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.commons.exception.BizExceptionCode;
@@ -108,25 +109,60 @@ public class OthspendingsServiceImpl implements OthspendingsService {
         return pageInfo;
     }
 
-//    @Override
-//    public void audit(Othsp othsp) {
-//        int id = othsp.getMain().getOsId();
-//        Othspendings othspendings = othspendingsMapper.selectByPrimaryKey(id);
-//        if ( othspendings == null || "".equals(othspendings)){
-//            this.insert(othsp);
-//        }else {
-//            othspendingsMapper.updateByPrimaryKey(othspendings);
-//        }
-//    }
-//
-//    @Override
-//    public void unAudit(int id) {
-//        Othspendings othspendings = new Othspendings();
-//        othspendings.setOsId(id);
-//        othspendings.setOsStatus(com.usoftchina.saas.commons.po.Status.UNAUDITED.getDisplay());
-//        othspendings.setOsStatuscode(Status.UNAUDITED.name());
-//        othspendingsMapper.updateByPrimaryKey(othspendings);
-//    }
+    @Override
+    public void audit(Othsp othsp) {
+        Long companyId = BaseContextHolder.getCompanyId();
+        int id = Math.toIntExact(othsp.getMain().getId());
+        Othspendings othspendings = othspendingsMapper.selectByPrimaryKey(id);
+        othspendings.setOs_status(Status.AUDITED.getDisplay());
+        othspendings.setOs_statuscode(Status.AUDITED.name());
+        othspendings.setCompanyId(companyId);
+        if ( othspendings == null || "".equals(othspendings)){
+            this.insert(othsp);
+        }else {
+            othspendingsMapper.updateByPrimaryKey(othspendings);
+        }
+    }
+
+    @Override
+    public void unAudit(int id) {
+        Othspendings othspendings = new Othspendings();
+        othspendings.setId(Long.valueOf(id));
+        othspendings.setOs_status(com.usoftchina.saas.commons.po.Status.UNAUDITED.getDisplay());
+        othspendings.setOs_statuscode(Status.UNAUDITED.name());
+        othspendingsMapper.updateByPrimaryKeySelective(othspendings);
+    }
+
+    @Override
+    public void othspendingBatchDelete(BatchDealBaseDTO baseDTO){
+        Iterator isList = baseDTO.getBaseDTOs().iterator();
+        while (isList.hasNext()){
+            DocBaseDTO docBaseDTO = (DocBaseDTO) isList.next();
+            this.delete(Math.toIntExact(docBaseDTO.getId()));
+        }
+    }
+
+    @Override
+    public void othspendingBatchAudit(BatchDealBaseDTO baseDTO){
+        Iterator isList = baseDTO.getBaseDTOs().iterator();
+        while (isList.hasNext()){
+            DocBaseDTO docBaseDTO = (DocBaseDTO) isList.next();
+            Othspendings othspendings = new Othspendings();
+            othspendings.setId(Long.valueOf(docBaseDTO.getId()));
+            othspendings.setOs_status(com.usoftchina.saas.commons.po.Status.AUDITED.getDisplay());
+            othspendings.setOs_statuscode(Status.AUDITED.name());
+            othspendingsMapper.updateByPrimaryKeySelective(othspendings);
+        }
+    }
+
+    @Override
+    public void othspendingBatchUnAudit(BatchDealBaseDTO baseDTO){
+        Iterator isList = baseDTO.getBaseDTOs().iterator();
+        while (isList.hasNext()){
+            DocBaseDTO docBaseDTO = (DocBaseDTO) isList.next();
+            this.unAudit(Math.toIntExact(docBaseDTO.getId()));
+        }
+    }
 
     /**
      * @Description: 检验获取并更新单号

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

@@ -3,6 +3,7 @@ package com.usoftchina.saas.money.service.impl;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.commons.api.MaxnumberService;
+import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.commons.exception.BizExceptionCode;
@@ -109,7 +110,7 @@ public class PaybalanceServiceImpl implements PaybalanceService {
         paybalance.setId(Long.valueOf(id));
         paybalance.setPb_status(com.usoftchina.saas.commons.po.Status.UNAUDITED.getDisplay());
         paybalance.setPb_statuscode(Status.UNAUDITED.name());
-        paybalanceMapper.updateByPrimaryKey(paybalance);
+        paybalanceMapper.updateByPrimaryKeySelective(paybalance);
     }
 
 
@@ -151,6 +152,37 @@ public class PaybalanceServiceImpl implements PaybalanceService {
         return pageInfo;
     }
 
+    @Override
+    public void paybalanceDelete(BatchDealBaseDTO baseDTO){
+        Iterator isList = baseDTO.getBaseDTOs().iterator();
+        while (isList.hasNext()){
+            DocBaseDTO docBaseDTO = (DocBaseDTO) isList.next();
+            this.delete(Math.toIntExact(docBaseDTO.getId()));
+        }
+    }
+
+    @Override
+    public void paybalanceBatchAudit(BatchDealBaseDTO baseDTO){
+        Iterator isList = baseDTO.getBaseDTOs().iterator();
+        while (isList.hasNext()){
+            DocBaseDTO docBaseDTO = (DocBaseDTO) isList.next();
+            Paybalance paybalance = new Paybalance();
+            paybalance.setId(Long.valueOf(docBaseDTO.getId()));
+            paybalance.setPb_status(com.usoftchina.saas.commons.po.Status.AUDITED.getDisplay());
+            paybalance.setPb_statuscode(Status.AUDITED.name());
+            paybalanceMapper.updateByPrimaryKeySelective(paybalance);
+        }
+    }
+
+    @Override
+    public void paybalanceBatchUnAudit(BatchDealBaseDTO baseDTO){
+        Iterator isList = baseDTO.getBaseDTOs().iterator();
+        while (isList.hasNext()){
+            DocBaseDTO docBaseDTO = (DocBaseDTO) isList.next();
+            this.unAudit(Math.toIntExact(docBaseDTO.getId()));
+        }
+    }
+
     /**
      * @Description: 检验获取并更新单号
      * @Param: [code, id]

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

@@ -3,6 +3,7 @@ package com.usoftchina.saas.money.service.impl;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.commons.api.MaxnumberService;
+import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.commons.exception.BizExceptionCode;
@@ -91,7 +92,7 @@ public class RecbalanceServiceImpl implements RecbalanceService {
     }
 
     @Override
-    public void delect(int id) {
+    public void delete(int id) {
         recbalanceMapper.deleteByPrimaryKey(id);
         recbalancedetMapper.deleteByPrimaryKey(id);
         recbalancedetailMapper.deleteByPrimaryKey(id);
@@ -157,6 +158,37 @@ public class RecbalanceServiceImpl implements RecbalanceService {
         return pageInfo;
     }
 
+    @Override
+    public void recbalanceDelete(BatchDealBaseDTO baseDTO){
+        Iterator isList = baseDTO.getBaseDTOs().iterator();
+        while (isList.hasNext()){
+            DocBaseDTO docBaseDTO = (DocBaseDTO) isList.next();
+            this.delete(Math.toIntExact(docBaseDTO.getId()));
+        }
+    }
+
+    @Override
+    public void recbalanceBatchAudit(BatchDealBaseDTO baseDTO){
+        Iterator isList = baseDTO.getBaseDTOs().iterator();
+        while (isList.hasNext()){
+            DocBaseDTO docBaseDTO = (DocBaseDTO) isList.next();
+            Recbalance recbalance = new Recbalance();
+            recbalance.setId(Long.valueOf(docBaseDTO.getId()));
+            recbalance.setRb_status(com.usoftchina.saas.commons.po.Status.AUDITED.getDisplay());
+            recbalance.setRb_statuscode(Status.AUDITED.name());
+            recbalanceMapper.updateByPrimaryKeySelective(recbalance);
+        }
+    }
+
+    @Override
+    public void recbalanceBatchUnAudit(BatchDealBaseDTO baseDTO){
+        Iterator isList = baseDTO.getBaseDTOs().iterator();
+        while (isList.hasNext()){
+            DocBaseDTO docBaseDTO = (DocBaseDTO) isList.next();
+            this.unAudit(docBaseDTO.getId());
+        }
+    }
+
     /**
      * @Description: 检验获取并更新单号
      * @Param: [code, id]

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

@@ -5,6 +5,7 @@ import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.base.service.CommonBaseServiceImpl;
 import com.usoftchina.saas.commons.api.MaxnumberService;
 import com.usoftchina.saas.commons.api.MessageLogService;
+import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.DocSavedDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
@@ -29,6 +30,7 @@ import org.springframework.util.StringUtils;
 
 import java.util.ArrayList;
 import java.util.Date;
+import java.util.Iterator;
 import java.util.List;
 
 @Service
@@ -294,6 +296,34 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
         messageLogService.unAudit(baseDTO);
     }
 
+    @Override
+    public void batchAudit(BatchDealBaseDTO baseDTO) {
+        Iterator isList = baseDTO.getBaseDTOs().iterator();
+        while (isList.hasNext()){
+            DocBaseDTO docBaseDTO = (DocBaseDTO) isList.next();
+            Long id = docBaseDTO.getId();
+            Verification verification = new Verification();
+            verification.setVc_status(Status.AUDITED.getDisplay());
+            verification.setVc_statuscode(Status.AUDITED.name());
+            verification.setVc_id(Integer.valueOf(String.valueOf(id)));
+            verificationMapper.updateByPrimaryKeySelective(verification);
+        }
+    }
+
+    @Override
+    public void batchUnAudit(BatchDealBaseDTO baseDTO) {
+        Iterator isList = baseDTO.getBaseDTOs().iterator();
+        while (isList.hasNext()){
+            DocBaseDTO docBaseDTO = (DocBaseDTO) isList.next();
+            Long id = docBaseDTO.getId();
+            Verification verification = new Verification();
+            verification.setVc_status(Status.UNAUDITED.getDisplay());
+            verification.setVc_statuscode(Status.UNAUDITED.name());
+            verification.setVc_id(Integer.valueOf(String.valueOf(id)));
+            verificationMapper.updateByPrimaryKeySelective(verification);
+        }
+    }
+
     private String pushMaxnubmer(String code, Long id) {
         if (null == code) {
             throw new BizException(BizExceptionCode.NULL_CODE);

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

@@ -40,7 +40,7 @@
 
   <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
     delete from paybalancedetail
-    where rbd_rbid = #{id,jdbcType=INTEGER}
+    where pbd_pbid = #{id,jdbcType=INTEGER}
   </delete>
 
   <insert id="insert" parameterType="com.usoftchina.saas.money.po.Paybalancedetail" >

+ 1 - 1
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/controller/ProdInOutController.java

@@ -142,7 +142,7 @@ public class ProdInOutController {
      */
     @PostMapping("/batchUnAudit")
     public Result batchUnAudit(@RequestBody BatchDealBaseDTO baseDTOs) {
-        prodInOutService.batchAudit(baseDTOs);
+        prodInOutService.batchUnAudit(baseDTOs);
         return Result.success();
     }
 

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

@@ -300,7 +300,7 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
             //记录日志
             DocBaseDTO docBaseDTO = getBaseDTOById(prodInOutDTO.getId(),pi_class,prodInOutDTO.getPi_inoutno());
             //日志
-            messageLogService.audit(docBaseDTO);
+            messageLogService.unAudit(docBaseDTO);
             return "";
         }
     }
@@ -389,7 +389,10 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
          for (int i = 0;i<sourcePids.size();i++){
              ProdIODetail sourcePid = sourcePids.get(i);
              ProdIODetail targetPid = new ProdIODetail();
-             if(sourcePid.getPd_inqty()-sourcePid.getPd_yqty()>0){
+             pdInqty = sourcePid.getPd_inqty()==null?0:sourcePid.getPd_inqty();
+             pdYqty = sourcePid.getPd_yqty()==null?0:sourcePid.getPd_yqty();
+
+             if(pdInqty-pdYqty>0){
                  targetPid.setPd_piid(pi_id);
                  targetPid.setPd_inoutno(piInoutno);
                  targetPid.setPd_piclass(BillCodeSeq.PURCHASEOUT.getName());
@@ -404,10 +407,10 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
                  //公司id
                  targetPid.setCompanyId(sourcePid.getCompanyId());
                  //本次转单数
-                 targetPid.setPd_outqty(sourcePid.getPd_inqty()-sourcePid.getPd_yqty());
+                 targetPid.setPd_outqty(pdInqty-pdYqty);
                  prodIODetailMapper.insertSelective(targetPid);
                  //更新已转数
-                 sourcePid.setPd_yqty(sourcePid.getPd_inqty());
+                 sourcePid.setPd_yqty(pdInqty);
                  prodIODetailMapper.updateByPrimaryKeySelective(sourcePid);
              }
          }

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

@@ -340,8 +340,8 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
 
         //检查从表
         for (PurchaseDetail purchaseDetail : purchaseDetails) {
-            pdQty = purchaseDetail.getPd_qty();
-            pdYqty = purchaseDetail.getPd_yqty();
+            pdQty = purchaseDetail.getPd_qty()==null?0:purchaseDetail.getPd_qty();
+            pdYqty = purchaseDetail.getPd_yqty()==null?0:purchaseDetail.getPd_yqty();
             if (pdQty-pdYqty>0){
                 count++;
             }
@@ -377,7 +377,10 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
         for (int i=0;i<purchaseDetails.size();i++){
             PurchaseDetail purchaseDetail =purchaseDetails.get(i);
             ProdIODetail prodIODetail = new ProdIODetail();
-            if ((int) (purchaseDetail.getPd_qty()-purchaseDetail.getPd_yqty())>0){
+            pdQty = purchaseDetail.getPd_qty()==null?0:purchaseDetail.getPd_qty();
+            pdYqty = purchaseDetail.getPd_yqty()==null?0:purchaseDetail.getPd_yqty();
+
+            if (pdQty-pdYqty>0){
                 prodIODetail.setPd_piid(pi_id);
                 prodIODetail.setPd_inoutno(piInoutno);
                 prodIODetail.setPd_piclass("采购验收单");
@@ -391,10 +394,10 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
                 //公司id
                 prodIODetail.setCompanyId(purchaseDetail.getCompanyId());
                 //本次转单数
-                prodIODetail.setPd_inqty((purchaseDetail.getPd_qty()-purchaseDetail.getPd_yqty()));
+                prodIODetail.setPd_inqty(pdQty-pdYqty);
                 prodIODetailMapper.insertSelective(prodIODetail);
                 //更新已转数
-                purchaseDetail.setPd_yqty(purchaseDetail.getPd_qty());
+                purchaseDetail.setPd_yqty(pdQty);
                 purchasedetailMapper.updateByPrimaryKeySelective(purchaseDetail);
             }
         }

+ 54 - 239
applications/purchase/purchase-server/src/main/resources/mapper/ProdIODetailMapper.xml

@@ -550,246 +550,61 @@
     where pd_id = #{pd_id,jdbcType=INTEGER}
   </update>
   <insert id="batchInsert" parameterType="java.util.List" >
+    insert into prodiodetail (pd_piid, pd_inoutno,
+    pd_piclass, pd_pdno, pd_ordercode,
+    pd_orderdetno, pd_prodid, pd_prodcode,
+    pd_unit, pd_inqty, pd_outqty,
+    pd_orderprice, pd_sendprice, pd_price,
+    pd_total, pd_taxrate, pd_netprice,
+    pd_nettotal, pd_whid, pd_whcode,
+    pd_whname, pd_inwhid, pd_inwhcode,
+    pd_inwhname, pd_orderid, pd_sdid,
+    pd_status, companyid, updaterid,
+    updatetime, pd_text1, pd_text2,
+    pd_text3, pd_text4, pd_text5,
+    pd_ym, pd_yqty, pd_ioid,
+    pd_remark) VALUES
     <foreach collection="list" item="item" index="index" open="" close="" separator=",">
-      insert into prodiodetail
-      <trim prefix="(" suffix=")" suffixOverrides=",">
-        <if test="item.pd_piid != null">
-          pd_piid,
-        </if>
-        <if test="item.pd_inoutno != null">
-          pd_inoutno,
-        </if>
-        <if test="item.pd_piclass != null">
-          pd_piclass,
-        </if>
-        <if test="item.pd_pdno != null">
-          pd_pdno,
-        </if>
-        <if test="item.pd_ordercode != null">
-          pd_ordercode,
-        </if>
-        <if test="item.pd_orderdetno != null">
-          pd_orderdetno,
-        </if>
-        <if test="item.pd_prodid != null">
-          pd_prodid,
-        </if>
-        <if test="item.pd_prodcode != null">
-          pd_prodcode,
-        </if>
-        <if test="item.pd_unit != null">
-          pd_unit,
-        </if>
-        <if test="item.pd_inqty != null">
-          pd_inqty,
-        </if>
-        <if test="item.pd_outqty != null">
-          pd_outqty,
-        </if>
-        <if test="item.pd_orderprice != null">
-          pd_orderprice,
-        </if>
-        <if test="item.pd_sendprice != null">
-          pd_sendprice,
-        </if>
-        <if test="item.pd_price != null">
-          pd_price,
-        </if>
-        <if test="item.pd_total != null">
-          pd_total,
-        </if>
-        <if test="item.pd_taxrate != null">
-          pd_taxrate,
-        </if>
-        <if test="item.pd_netprice != null">
-          pd_netprice,
-        </if>
-        <if test="item.pd_nettotal != null">
-          pd_nettotal,
-        </if>
-        <if test="item.pd_whid != null">
-          pd_whid,
-        </if>
-        <if test="item.pd_whcode != null">
-          pd_whcode,
-        </if>
-        <if test="item.pd_whname != null">
-          pd_whname,
-        </if>
-        <if test="item.pd_inwhid != null">
-          pd_inwhid,
-        </if>
-        <if test="item.pd_inwhcode != null">
-          pd_inwhcode,
-        </if>
-        <if test="item.pd_inwhname != null">
-          pd_inwhname,
-        </if>
-        <if test="item.pd_orderid != null">
-          pd_orderid,
-        </if>
-        <if test="item.pd_sdid != null">
-          pd_sdid,
-        </if>
-        <if test="item.pd_status != null">
-          pd_status,
-        </if>
-        <if test="item.companyId != null">
-          companyid,
-        </if>
-        <if test="item.updaterId != null">
-          updaterid,
-        </if>
-        <if test="item.updateTime != null">
-          updatetime,
-        </if>
-        <if test="item.pd_text1 != null">
-          pd_text1,
-        </if>
-        <if test="item.pd_text2 != null">
-          pd_text2,
-        </if>
-        <if test="item.pd_text3 != null">
-          pd_text3,
-        </if>
-        <if test="item.pd_text4 != null">
-          pd_text4,
-        </if>
-        <if test="item.pd_text5 != null">
-          pd_text5,
-        </if>
-        <if test="item.pd_ym != null">
-          pd_ym,
-        </if>
-        <if test="item.pd_yqty != null">
-          pd_yqty,
-        </if>
-        <if test="item.pd_remark != null">
-          pd_remark,
-        </if>
-        <if test="item.pd_ioid != null">
-          pd_ioid,
-        </if>
-      </trim>
-      <trim prefix="values (" suffix=")" suffixOverrides=",">
-        <if test="item.pd_piid != null">
-          #{item.pd_piid,jdbcType=INTEGER},
-        </if>
-        <if test="item.pd_inoutno != null">
-          #{item.pd_inoutno,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_piclass != null">
-          #{item.pd_piclass,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_pdno != null">
-          #{item.pd_pdno,jdbcType=INTEGER},
-        </if>
-        <if test="item.pd_ordercode != null">
-          #{item.pd_ordercode,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_orderdetno != null">
-          #{item.pd_orderdetno,jdbcType=INTEGER},
-        </if>
-        <if test="item.pd_prodid != null">
-          #{item.pd_prodid,jdbcType=INTEGER},
-        </if>
-        <if test="item.pd_prodcode != null">
-          #{item.pd_prodcode,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_unit != null">
-          #{item.pd_unit,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_inqty != null">
-          #{item.pd_inqty,jdbcType=DOUBLE},
-        </if>
-        <if test="item.pd_outqty != null">
-          #{item.pd_outqty,jdbcType=DOUBLE},
-        </if>
-        <if test="item.pd_orderprice != null">
-          #{item.pd_orderprice,jdbcType=DOUBLE},
-        </if>
-        <if test="item.pd_sendprice != null">
-          #{item.pd_sendprice,jdbcType=DOUBLE},
-        </if>
-        <if test="item.pd_price != null">
-          #{item.pd_price,jdbcType=DOUBLE},
-        </if>
-        <if test="item.pd_total != null">
-          #{item.pd_total,jdbcType=DOUBLE},
-        </if>
-        <if test="item.pd_taxrate != null">
-          #{item.pd_taxrate,jdbcType=DOUBLE},
-        </if>
-        <if test="item.pd_netprice != null">
-          #{item.pd_netprice,jdbcType=DOUBLE},
-        </if>
-        <if test="item.pd_nettotal != null">
-          #{item.pd_nettotal,jdbcType=DOUBLE},
-        </if>
-        <if test="item.pd_whid != null">
-          #{item.pd_whid,jdbcType=INTEGER},
-        </if>
-        <if test="item.pd_whcode != null">
-          #{item.pd_whcode,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_whname != null">
-          #{item.pd_whname,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_inwhid != null">
-          #{item.pd_inwhid,jdbcType=INTEGER},
-        </if>
-        <if test="item.pd_inwhcode != null">
-          #{item.pd_inwhcode,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_inwhname != null">
-          #{item.pd_inwhname,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_orderid != null">
-          #{item.pd_orderid,jdbcType=INTEGER},
-        </if>
-        <if test="item.pd_sdid != null">
-          #{item.pd_sdid,jdbcType=INTEGER},
-        </if>
-        <if test="item.pd_status != null">
-          #{item.pd_status,jdbcType=INTEGER},
-        </if>
-        <if test="item.companyId != null">
-          #{item.companyId,jdbcType=INTEGER},
-        </if>
-        <if test="item.updaterId != null">
-          #{item.updaterId,jdbcType=INTEGER},
-        </if>
-        <if test="item.updateTime != null">
-          #{item.updateTime,jdbcType=TIMESTAMP},
-        </if>
-        <if test="item.pd_text1 != null">
-          #{item.pd_text1,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_text2 != null">
-          #{item.pd_text2,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_text3 != null">
-          #{item.pd_text3,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_text4 != null">
-          #{item.pd_text4,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_text5 != null">
-          #{item.pd_text5,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_ym != null">
-          #{item.pd_ym,jdbcType=INTEGER},
-        </if>
-        <if test="item.pd_yqty != null">
-          #{item.pd_yqty,jdbcType=DOUBLE},
-        </if>
-        <if test="item.pd_remark != null">
-          #{item.pd_remark,jdbcType=LONGVARCHAR},
-        </if>
-        <if test="item.pd_ioid != null">
-          #{item.pd_ioid,jdbcType=INTEGER},
-        </if>
-      </trim>
+      (
+      #{item.pd_piid,jdbcType=INTEGER},
+      #{item.pd_inoutno,jdbcType=VARCHAR},
+      #{item.pd_piclass,jdbcType=VARCHAR},
+      #{item.pd_pdno,jdbcType=INTEGER},
+      #{item.pd_ordercode,jdbcType=VARCHAR},
+      #{item.pd_orderdetno,jdbcType=INTEGER},
+      #{item.pd_prodid,jdbcType=INTEGER},
+      #{item.pd_prodcode,jdbcType=VARCHAR},
+      #{item.pd_unit,jdbcType=VARCHAR},
+      #{item.pd_inqty,jdbcType=DOUBLE},
+      #{item.pd_outqty,jdbcType=DOUBLE},
+      #{item.pd_orderprice,jdbcType=DOUBLE},
+      #{item.pd_sendprice,jdbcType=DOUBLE},
+      #{item.pd_price,jdbcType=DOUBLE},
+      #{item.pd_total,jdbcType=DOUBLE},
+      #{item.pd_taxrate,jdbcType=DOUBLE},
+      #{item.pd_netprice,jdbcType=DOUBLE},
+      #{item.pd_nettotal,jdbcType=DOUBLE},
+      #{item.pd_whid,jdbcType=INTEGER},
+      #{item.pd_whcode,jdbcType=VARCHAR},
+      #{item.pd_whname,jdbcType=VARCHAR},
+      #{item.pd_inwhid,jdbcType=INTEGER},
+      #{item.pd_inwhcode,jdbcType=VARCHAR},
+      #{item.pd_inwhname,jdbcType=VARCHAR},
+      #{item.pd_orderid,jdbcType=INTEGER},
+      #{item.pd_sdid,jdbcType=INTEGER},
+      #{item.pd_status,jdbcType=INTEGER},
+      #{item.companyId,jdbcType=INTEGER},
+      #{item.updaterId,jdbcType=INTEGER},
+      #{item.updateTime,jdbcType=TIMESTAMP},
+      #{item.pd_text1,jdbcType=VARCHAR},
+      #{item.pd_text2,jdbcType=VARCHAR},
+      #{item.pd_text3,jdbcType=VARCHAR},
+      #{item.pd_text4,jdbcType=VARCHAR},
+      #{item.pd_text5,jdbcType=VARCHAR},
+      #{item.pd_ym,jdbcType=INTEGER},
+      #{item.pd_yqty,jdbcType=DOUBLE},
+      #{item.pd_remark,jdbcType=LONGVARCHAR},
+      #{item.pd_ioid,jdbcType=INTEGER})
     </foreach>
   </insert>
 

+ 23 - 0
applications/purchase/purchase-server/src/test/PurchaseTest.java

@@ -1,4 +1,6 @@
 import com.usoftchina.saas.purchase.PurchaseApplication;
+import com.usoftchina.saas.purchase.mapper.ProdIODetailMapper;
+import com.usoftchina.saas.purchase.po.ProdIODetail;
 import com.usoftchina.saas.purchase.service.ProdInOutService;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -7,6 +9,9 @@ import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
+import java.util.ArrayList;
+import java.util.List;
+
 @RunWith(SpringJUnit4ClassRunner.class)
 @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE, classes = PurchaseApplication.class)
 @EnableAutoConfiguration
@@ -14,9 +19,27 @@ public class PurchaseTest {
 
     @Autowired
     private ProdInOutService prodInOutService;
+    @Autowired
+    private ProdIODetailMapper prodIODetailMapper;
+
 
     @Test
     public void test(){
+        List<ProdIODetail> list = new ArrayList<>();
+        ProdIODetail prodIODetail1 = new ProdIODetail();
+        prodIODetail1.setPd_piid(new Long(1));
+        prodIODetail1.setCompanyId(-1);
+        prodIODetail1.setPd_inoutno("test01");
+
+
+        ProdIODetail prodIODetail2 = new ProdIODetail();
+        prodIODetail2.setPd_piid(new Long(1));
+        prodIODetail2.setCompanyId(-1);
+        prodIODetail2.setPd_inoutno("test02");
+
+        list.add(prodIODetail1);
+        list.add(prodIODetail2);
 
+        prodIODetailMapper.batchInsert(list);
     }
 }

+ 52 - 0
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/config/WebConfig.java

@@ -0,0 +1,52 @@
+package com.usoftchina.saas.sale.config;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.converter.StringHttpMessageConverter;
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
+import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
+
+import java.nio.charset.Charset;
+import java.text.SimpleDateFormat;
+import java.util.List;
+
+
+/**
+ * @author: guq
+ * @create: 2018-10-30 11:20
+ **/
+
+@Configuration
+public class WebConfig extends WebMvcConfigurationSupport{
+    @Bean
+    public HttpMessageConverter<String> responseBodyConverter() {
+        StringHttpMessageConverter converter = new StringHttpMessageConverter(Charset.forName("UTF-8"));
+        return converter;
+    }
+
+    @Bean
+    public MappingJackson2HttpMessageConverter MappingJacksonHttpMessageConverter(){
+        MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
+        ObjectMapper objectMapper = new ObjectMapper();
+        objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
+        converter.setObjectMapper(objectMapper);
+        return converter;
+    }
+
+    @Override
+    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
+        super.configureMessageConverters(converters);
+        converters.add(responseBodyConverter());
+        converters.add(MappingJacksonHttpMessageConverter());
+    }
+
+    @Override
+    public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
+        configurer.favorPathExtension(false);
+    }
+
+}
+

+ 4 - 0
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/controller/SaleController.java

@@ -163,4 +163,8 @@ public class SaleController {
         return Result.success();
     }
 
+    @GetMapping("/test")
+    public String test() {
+        return "配置构建success";
+    }
 }

+ 2 - 2
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/SaleServiceImpl.java

@@ -439,7 +439,7 @@ public class SaleServiceImpl implements SaleService{
         String pi_inoutno = maxnumberService.getMaxnumber(BillCodeSeq.SALEOUT.getCaller(),
                 true).getData();
         prodInOut.setPi_inoutno(pi_inoutno);
-        prodInOut.setPi_class("出货单");
+        prodInOut.setPi_class(BillCodeSeq.SALEOUT.getName());
         prodInOut.setPi_date(new Date());
         prodInOut.setPi_status(Status.UNAUDITED.getDisplay());
         prodInOut.setPi_statuscode(Status.UNAUDITED.name());
@@ -461,7 +461,7 @@ public class SaleServiceImpl implements SaleService{
             ProdIODetail prodIODetail = new ProdIODetail();
             prodIODetail.setPd_piid(pi_id);
             prodIODetail.setPd_inoutno(pi_inoutno);
-            prodIODetail.setPd_piclass("出货单");
+            prodIODetail.setPd_piclass(BillCodeSeq.SALEOUT.getName());
             prodIODetail.setPd_pdno(i);
             prodIODetail.setPd_orderid(sale.getId());
             prodIODetail.setPd_ordercode(sale.getSa_code());

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

@@ -372,7 +372,7 @@
   </update>
 
   <update id="updateNetTotal" parameterType="long">
-    update saledetail a set sd_nettotal=round(ifnull(sd_netprice,0)*nvl(sd_qty,0),2)
+    update saledetail a set sd_nettotal=round(ifnull(sd_netprice,0)*ifnull(sd_qty,0),2)
     where sd_said=#{id}
   </update>
 </mapper>

+ 1 - 0
applications/sale/sale-server/src/main/resources/mapper/SaledetailMapper.xml

@@ -16,6 +16,7 @@
     <result column="sd_delivery" property="sd_delivery" jdbcType="TIMESTAMP" />
     <result column="sd_sendqty" property="sd_sendqty" jdbcType="DOUBLE" />
     <result column="sd_pdqty" property="sd_pdqty" jdbcType="DOUBLE" />
+    <result column="sd_yqty" property="sd_yqty" jdbcType="DOUBLE" />
     <result column="sd_remark" property="sd_remark" jdbcType="VARCHAR" />
     <result column="companyId" property="companyId" jdbcType="INTEGER" />
     <result column="updaterId" property="updaterId" jdbcType="INTEGER" />

+ 1 - 1
applications/storage/storage-server/src/main/java/com/usoftchina/saas/storage/controller/ProdInOutController.java

@@ -142,7 +142,7 @@ public class ProdInOutController {
      */
     @PostMapping("/batchUnAudit")
     public Result batchUnAudit(@RequestBody BatchDealBaseDTO baseDTOs) {
-        prodInOutService.batchAudit(baseDTOs);
+        prodInOutService.batchUnAudit(baseDTOs);
         return Result.success();
     }
 

+ 1 - 1
applications/storage/storage-server/src/main/java/com/usoftchina/saas/storage/service/impl/ProdInoutServiceImpl.java

@@ -292,7 +292,7 @@ public class ProdInoutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
             //记录日志
             DocBaseDTO docBaseDTO = getBaseDTOById(prodInOutDTO.getId(),pi_class,prodInOutDTO.getPi_inoutno());
             //日志
-            messageLogService.audit(docBaseDTO);
+            messageLogService.unAudit(docBaseDTO);
             return "";
         }
     }

+ 54 - 239
applications/storage/storage-server/src/main/resources/mapper/ProdIODetailMapper.xml

@@ -550,246 +550,61 @@
     where pd_id = #{pd_id,jdbcType=INTEGER}
   </update>
   <insert id="batchInsert" parameterType="java.util.List" >
+    insert into prodiodetail (pd_piid, pd_inoutno,
+    pd_piclass, pd_pdno, pd_ordercode,
+    pd_orderdetno, pd_prodid, pd_prodcode,
+    pd_unit, pd_inqty, pd_outqty,
+    pd_orderprice, pd_sendprice, pd_price,
+    pd_total, pd_taxrate, pd_netprice,
+    pd_nettotal, pd_whid, pd_whcode,
+    pd_whname, pd_inwhid, pd_inwhcode,
+    pd_inwhname, pd_orderid, pd_sdid,
+    pd_status, companyid, updaterid,
+    updatetime, pd_text1, pd_text2,
+    pd_text3, pd_text4, pd_text5,
+    pd_ym, pd_yqty, pd_ioid,
+    pd_remark) VALUES
     <foreach collection="list" item="item" index="index" open="" close="" separator=",">
-      insert into prodiodetail
-      <trim prefix="(" suffix=")" suffixOverrides=",">
-        <if test="item.pd_piid != null">
-          pd_piid,
-        </if>
-        <if test="item.pd_inoutno != null">
-          pd_inoutno,
-        </if>
-        <if test="item.pd_piclass != null">
-          pd_piclass,
-        </if>
-        <if test="item.pd_pdno != null">
-          pd_pdno,
-        </if>
-        <if test="item.pd_ordercode != null">
-          pd_ordercode,
-        </if>
-        <if test="item.pd_orderdetno != null">
-          pd_orderdetno,
-        </if>
-        <if test="item.pd_prodid != null">
-          pd_prodid,
-        </if>
-        <if test="item.pd_prodcode != null">
-          pd_prodcode,
-        </if>
-        <if test="item.pd_unit != null">
-          pd_unit,
-        </if>
-        <if test="item.pd_inqty != null">
-          pd_inqty,
-        </if>
-        <if test="item.pd_outqty != null">
-          pd_outqty,
-        </if>
-        <if test="item.pd_orderprice != null">
-          pd_orderprice,
-        </if>
-        <if test="item.pd_sendprice != null">
-          pd_sendprice,
-        </if>
-        <if test="item.pd_price != null">
-          pd_price,
-        </if>
-        <if test="item.pd_total != null">
-          pd_total,
-        </if>
-        <if test="item.pd_taxrate != null">
-          pd_taxrate,
-        </if>
-        <if test="item.pd_netprice != null">
-          pd_netprice,
-        </if>
-        <if test="item.pd_nettotal != null">
-          pd_nettotal,
-        </if>
-        <if test="item.pd_whid != null">
-          pd_whid,
-        </if>
-        <if test="item.pd_whcode != null">
-          pd_whcode,
-        </if>
-        <if test="item.pd_whname != null">
-          pd_whname,
-        </if>
-        <if test="item.pd_inwhid != null">
-          pd_inwhid,
-        </if>
-        <if test="item.pd_inwhcode != null">
-          pd_inwhcode,
-        </if>
-        <if test="item.pd_inwhname != null">
-          pd_inwhname,
-        </if>
-        <if test="item.pd_orderid != null">
-          pd_orderid,
-        </if>
-        <if test="item.pd_sdid != null">
-          pd_sdid,
-        </if>
-        <if test="item.pd_status != null">
-          pd_status,
-        </if>
-        <if test="item.companyId != null">
-          companyid,
-        </if>
-        <if test="item.updaterId != null">
-          updaterid,
-        </if>
-        <if test="item.updateTime != null">
-          updatetime,
-        </if>
-        <if test="item.pd_text1 != null">
-          pd_text1,
-        </if>
-        <if test="item.pd_text2 != null">
-          pd_text2,
-        </if>
-        <if test="item.pd_text3 != null">
-          pd_text3,
-        </if>
-        <if test="item.pd_text4 != null">
-          pd_text4,
-        </if>
-        <if test="item.pd_text5 != null">
-          pd_text5,
-        </if>
-        <if test="item.pd_ym != null">
-          pd_ym,
-        </if>
-        <if test="item.pd_yqty != null">
-          pd_yqty,
-        </if>
-        <if test="item.pd_remark != null">
-          pd_remark,
-        </if>
-        <if test="item.pd_ioid != null">
-          pd_ioid,
-        </if>
-      </trim>
-      <trim prefix="values (" suffix=")" suffixOverrides=",">
-        <if test="item.pd_piid != null">
-          #{item.pd_piid,jdbcType=INTEGER},
-        </if>
-        <if test="item.pd_inoutno != null">
-          #{item.pd_inoutno,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_piclass != null">
-          #{item.pd_piclass,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_pdno != null">
-          #{item.pd_pdno,jdbcType=INTEGER},
-        </if>
-        <if test="item.pd_ordercode != null">
-          #{item.pd_ordercode,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_orderdetno != null">
-          #{item.pd_orderdetno,jdbcType=INTEGER},
-        </if>
-        <if test="item.pd_prodid != null">
-          #{item.pd_prodid,jdbcType=INTEGER},
-        </if>
-        <if test="item.pd_prodcode != null">
-          #{item.pd_prodcode,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_unit != null">
-          #{item.pd_unit,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_inqty != null">
-          #{item.pd_inqty,jdbcType=DOUBLE},
-        </if>
-        <if test="item.pd_outqty != null">
-          #{item.pd_outqty,jdbcType=DOUBLE},
-        </if>
-        <if test="item.pd_orderprice != null">
-          #{item.pd_orderprice,jdbcType=DOUBLE},
-        </if>
-        <if test="item.pd_sendprice != null">
-          #{item.pd_sendprice,jdbcType=DOUBLE},
-        </if>
-        <if test="item.pd_price != null">
-          #{item.pd_price,jdbcType=DOUBLE},
-        </if>
-        <if test="item.pd_total != null">
-          #{item.pd_total,jdbcType=DOUBLE},
-        </if>
-        <if test="item.pd_taxrate != null">
-          #{item.pd_taxrate,jdbcType=DOUBLE},
-        </if>
-        <if test="item.pd_netprice != null">
-          #{item.pd_netprice,jdbcType=DOUBLE},
-        </if>
-        <if test="item.pd_nettotal != null">
-          #{item.pd_nettotal,jdbcType=DOUBLE},
-        </if>
-        <if test="item.pd_whid != null">
-          #{item.pd_whid,jdbcType=INTEGER},
-        </if>
-        <if test="item.pd_whcode != null">
-          #{item.pd_whcode,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_whname != null">
-          #{item.pd_whname,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_inwhid != null">
-          #{item.pd_inwhid,jdbcType=INTEGER},
-        </if>
-        <if test="item.pd_inwhcode != null">
-          #{item.pd_inwhcode,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_inwhname != null">
-          #{item.pd_inwhname,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_orderid != null">
-          #{item.pd_orderid,jdbcType=INTEGER},
-        </if>
-        <if test="item.pd_sdid != null">
-          #{item.pd_sdid,jdbcType=INTEGER},
-        </if>
-        <if test="item.pd_status != null">
-          #{item.pd_status,jdbcType=INTEGER},
-        </if>
-        <if test="item.companyId != null">
-          #{item.companyId,jdbcType=INTEGER},
-        </if>
-        <if test="item.updaterId != null">
-          #{item.updaterId,jdbcType=INTEGER},
-        </if>
-        <if test="item.updateTime != null">
-          #{item.updateTime,jdbcType=TIMESTAMP},
-        </if>
-        <if test="item.pd_text1 != null">
-          #{item.pd_text1,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_text2 != null">
-          #{item.pd_text2,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_text3 != null">
-          #{item.pd_text3,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_text4 != null">
-          #{item.pd_text4,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_text5 != null">
-          #{item.pd_text5,jdbcType=VARCHAR},
-        </if>
-        <if test="item.pd_ym != null">
-          #{item.pd_ym,jdbcType=INTEGER},
-        </if>
-        <if test="item.pd_yqty != null">
-          #{item.pd_yqty,jdbcType=DOUBLE},
-        </if>
-        <if test="item.pd_remark != null">
-          #{item.pd_remark,jdbcType=LONGVARCHAR},
-        </if>
-        <if test="item.pd_ioid != null">
-          #{item.pd_ioid,jdbcType=INTEGER},
-        </if>
-      </trim>
+      (
+      #{item.pd_piid,jdbcType=INTEGER},
+      #{item.pd_inoutno,jdbcType=VARCHAR},
+      #{item.pd_piclass,jdbcType=VARCHAR},
+      #{item.pd_pdno,jdbcType=INTEGER},
+      #{item.pd_ordercode,jdbcType=VARCHAR},
+      #{item.pd_orderdetno,jdbcType=INTEGER},
+      #{item.pd_prodid,jdbcType=INTEGER},
+      #{item.pd_prodcode,jdbcType=VARCHAR},
+      #{item.pd_unit,jdbcType=VARCHAR},
+      #{item.pd_inqty,jdbcType=DOUBLE},
+      #{item.pd_outqty,jdbcType=DOUBLE},
+      #{item.pd_orderprice,jdbcType=DOUBLE},
+      #{item.pd_sendprice,jdbcType=DOUBLE},
+      #{item.pd_price,jdbcType=DOUBLE},
+      #{item.pd_total,jdbcType=DOUBLE},
+      #{item.pd_taxrate,jdbcType=DOUBLE},
+      #{item.pd_netprice,jdbcType=DOUBLE},
+      #{item.pd_nettotal,jdbcType=DOUBLE},
+      #{item.pd_whid,jdbcType=INTEGER},
+      #{item.pd_whcode,jdbcType=VARCHAR},
+      #{item.pd_whname,jdbcType=VARCHAR},
+      #{item.pd_inwhid,jdbcType=INTEGER},
+      #{item.pd_inwhcode,jdbcType=VARCHAR},
+      #{item.pd_inwhname,jdbcType=VARCHAR},
+      #{item.pd_orderid,jdbcType=INTEGER},
+      #{item.pd_sdid,jdbcType=INTEGER},
+      #{item.pd_status,jdbcType=INTEGER},
+      #{item.companyId,jdbcType=INTEGER},
+      #{item.updaterId,jdbcType=INTEGER},
+      #{item.updateTime,jdbcType=TIMESTAMP},
+      #{item.pd_text1,jdbcType=VARCHAR},
+      #{item.pd_text2,jdbcType=VARCHAR},
+      #{item.pd_text3,jdbcType=VARCHAR},
+      #{item.pd_text4,jdbcType=VARCHAR},
+      #{item.pd_text5,jdbcType=VARCHAR},
+      #{item.pd_ym,jdbcType=INTEGER},
+      #{item.pd_yqty,jdbcType=DOUBLE},
+      #{item.pd_remark,jdbcType=LONGVARCHAR},
+      #{item.pd_ioid,jdbcType=INTEGER})
     </foreach>
   </insert>
 

+ 6 - 6
frontend/saas-web/Readme.md

@@ -66,10 +66,10 @@ viewModel: view.core.form.FormPanelModel
 | codeField | 编号字段 | √ | "pu_code" |
 | statusField | 状态字段 | √ | "pu_status" |
 | statusCodeField | 状态码字段 | √ |  "pu_statuscode" |
-| readUrl | 取数接口 | √ | basePath + "purchase/purchase/read" |
-| saveUrl | 保存接口 | √ | basePath + "purchase/purchase/save" |
-| auditUrl | 审核接口 | √ | basePath + "purchase/purchase/audit" |
-| deleteUrl | 删除接口 | √ | basePath + "purchase/purchase/delete" |
+| readUrl | 取数接口 | √ | "/api/purchase/purchase/read" |
+| saveUrl | 保存接口 | √ | "/api/purchase/purchase/save" |
+| auditUrl | 审核接口 | √ | "/api/purchase/purchase/audit" |
+| deleteUrl | 删除接口 | √ | "/api/purchase/purchase/delete" |
 | toolBtns | 自定义按钮 | x | [ Button ] |
 | defaultItems | 界面字段 | √ | [ Field ]|
 
@@ -92,7 +92,7 @@ viewModel: view.core.form.FormPanelModel
 | storeModel | grid model | √ | "saas.model.purchase.purchasedetail" |
 | detnoColumn | 序号列,配置该项后无需再columns定义序号列 | √ | "pud_detno" |
 | columns[i].ignore | 是否忽略,为真时在调用保存方法时不会取到该列值 | x | true |
-| deleteDetailUrl | 删除明细接口 | √ | basePath + "purchase/purchase/deleteItem" |
+| deleteDetailUrl | 删除明细接口 | √ | "/api/purchase/purchase/deleteItem" |
 - 需要根据columns在models文件夹下添加storeModel对应的Model
 
 ---
@@ -140,7 +140,7 @@ viewModel: view.core.query.QueryPanelModel
 | addTitle | 单据名称,新增tab标题 | √ | "采购单" |
 | addXtype | 主从表单据xtype | √ | "purchase-purchase-formpanel" |
 | defaultCondition | 默认条件 | x | "pu_class='采购单'" |
-| baseVastUrl | 查询列表接口 | √ | basePath + "purchase/purchase/" |
+| baseVastUrl | 查询列表接口 | √ | "/api/purchase/purchase/" |
 | baseColumn | 基础列配置 | √ | [ Column ] |
 | relativeColumn | 关联列设置 | x | [ Column ] |
 

+ 12 - 0
frontend/saas-web/app.json

@@ -291,6 +291,10 @@
         },
         "compressor": {
             "type": "yui"
+        },
+        "server": {
+            "basePath": "http://192.168.0.181:8560",
+            "urlPattern": "^\/api\/"
         }
     },
 
@@ -298,6 +302,10 @@
      * Settings specific to testing builds.
      */
     "testing": {
+        "server": {
+            "basePath": "http://192.168.0.181:8560",
+            "urlPattern": "^\/api\/"
+        }
     },
 
     /**
@@ -306,6 +314,10 @@
     "development": {
         "watch": {
             "delay": 250
+        },
+        "server": {
+            "basePath": "http://192.168.0.181:8560",
+            "urlPattern": "^\/api\/"
         }
     },
 

+ 2 - 3
frontend/saas-web/app/model/document/bom.js → frontend/saas-web/app/model/document/bomdetail.js

@@ -1,13 +1,12 @@
-Ext.define('saas.model.document.bom', {
+Ext.define('saas.model.document.bomdetail', {
     extend: 'saas.model.Base',
     fields: [
         { name: 'id', type: 'int' },
-        { name: 'bd_id', type: 'int' },
         { name: 'bd_bomid', type: 'int' },
         { name: 'bd_detno', type: 'int' },
         { name: 'bd_sonid', type: 'int' },
         { name: 'bd_soncode', type: 'string' },
-        { name: 'bo_unit', type: 'string' },
+        { name: 'bd_unit', type: 'string' },
         { name: 'bd_baseqty', type: 'string' },
         { name: 'bd_replace', type: 'string' },
         { name: 'bd_remark', type: 'string' },

+ 1 - 1
frontend/saas-web/app/util/BaseUtil.js

@@ -11,10 +11,10 @@ Ext.define('saas.util.BaseUtil', {
             method = config.method || 'GET',
             timeout = config.timeout || 8000,
             defaultHeaders = {
+                'Authorization': ' ',
                 'Access-Control-Allow-Origin': '*',
                 "Content-Type": 'application/json;charset=UTF-8' 
             };
-
         return new Ext.Promise(function (resolve, reject) {
             Ext.Ajax.request({
                 url: url,

+ 2 - 2
frontend/saas-web/app/util/FormUtil.js

@@ -3,7 +3,7 @@ Ext.define('saas.util.FormUtil', {
     BaseUtil: Ext.create('saas.util.BaseUtil'),
 
     // 请求页面组件接口模板
-    baseUrl: basePath+'ui/co_view/config?name={viewName}',
+    baseUrl: '/api/ui/co_view/config?name={viewName}',
     // 模板替换正则
     urlRe: /(.*){viewName}(.*)/g,
     
@@ -145,7 +145,7 @@ Ext.define('saas.util.FormUtil', {
         }else{
             //取后台编号
             me.BaseUtil.request({
-                url: basePath + 'commons/number/getMaxnumber',
+                url: '/api/commons/number/getMaxnumber',
                 headers: {
                     "Content-Type": 'application/x-www-form-urlencoded;charset=UTF-8'
                 },

+ 3 - 1
frontend/saas-web/app/view/core/base/BasePanel.js

@@ -33,6 +33,7 @@ Ext.define('saas.view.core.base.BasePanel', {
         gridDataUrl = gridConfig.dataUrl,
         gridIdField = gridConfig.idField,
         gridCodeField = gridConfig.codeField,
+        gridStatusCodeField = gridConfig.statusCodeField,
         gridColumns = gridConfig.columns;
 
         Ext.apply(me, {
@@ -55,7 +56,8 @@ Ext.define('saas.view.core.base.BasePanel', {
                 dataUrl: gridDataUrl,
                 idField: gridIdField,
                 codeField: gridCodeField,
-                columns: gridColumns
+                columns: gridColumns,
+                statusCodeField : gridStatusCodeField
             }]
         });
         me.callParent(arguments);

+ 1 - 1
frontend/saas-web/app/view/core/base/BasePanelController.js

@@ -7,7 +7,7 @@ Ext.define('saas.view.core.base.BasePanelController', {
 
     query: function() {
         var form = this.view;
-        var grid = form.down('core-baseform-gridpanel');
+        var grid = form.down('core-base-gridpanel');
         grid.condition = '';
         var fields = form.searchField.map(f => f.name);
         var items = [];

+ 31 - 19
frontend/saas-web/app/view/core/base/GridPanel.js

@@ -97,7 +97,7 @@ Ext.define('saas.view.core.base.GridPanel', {
                         text: '禁用',
                         handler: function(){
                             var form = this.ownerCt.ownerCt.ownerCt;
-                            me.onVastDeal(form._batchCloseUrl);
+                            me.onVastDeal(form._batchCloseUrl,'CLOSE');
                         },
                         menu: {
                             width: 80,
@@ -105,7 +105,7 @@ Ext.define('saas.view.core.base.GridPanel', {
                                 text:'启用',
                                 handler:function(){
                                     var form = this.ownerCt.ownerCmp.ownerCt.ownerCt.ownerCt;
-                                    me.onVastDeal(form._batchOpenUrl);
+                                    me.onVastDeal(form._batchOpenUrl,'OPEN');
                                 }
                             }],
                             listeners: {
@@ -139,10 +139,14 @@ Ext.define('saas.view.core.base.GridPanel', {
         me.callParent(arguments);
     },
 
-    onVastDeal:function(url){
+    onVastDeal:function(url,type){
         var form = this.ownerCt;
         var grid = this;
-        var data = grid.getGridSelected();
+        var data = grid.getGridSelected(type);
+        if(!data){
+            showToast('请勾选符合条件的行进行操作。');
+            return false;
+        }
         if(data&&data.length>0){
             var params = JSON.stringify({baseDTOs:data});
             form.BaseUtil.request({
@@ -153,11 +157,11 @@ Ext.define('saas.view.core.base.GridPanel', {
                 })
                 .then(function() {
                     showToast('操作成功');
+                    grid.store.load();
                 })
                 .catch(function(response) {
                     showToast('操作失败');
                 });
-                grid.store.load();
         }else{
             showToast('请勾选至少一条明细。');
         }
@@ -229,22 +233,30 @@ Ext.define('saas.view.core.base.GridPanel', {
         return columns;
     },
 
-    getGridSelected:function(){
+    getGridSelected:function(type){
+        var isErrorSelect = false;
+        var checkField = this.statusCodeField;
         var me = this,
-            items = me.selModel.getSelection(),
-            data = new Array() ;
-            Ext.each(items, function(item, index){
-                if(!Ext.isEmpty(item.data[me.idField])&&!Ext.isEmpty(item.data[me.codeField])){
-                    var o = new Object();
-                    if(me.idField){
-                        o['id'] = item.data[me.idField];
-                    }
-                    if(me.codeField){
-                        o['code'] = item.data[me.codeField];
-                    }
-                    data.push(o);
+        items = me.selModel.getSelection(),
+        data = new Array() ;
+        Ext.each(items, function(item, index){
+            if(!Ext.isEmpty(item.data[me.idField])){
+                var o = new Object();
+                if(me.idField){
+                    o['id'] = item.data[me.idField];
                 }
-            });
+                if(me.codeField){
+                    o['code'] = item.data[me.codeField];
+                }
+                if(type&&type==item.data[checkField]){
+                    isErrorSelect = true
+                }
+                data.push(o);
+            }
+        });
+        if(isErrorSelect){
+            return false;
+        }
 		return data;
     } 
 });

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

@@ -261,13 +261,8 @@ Ext.define('saas.view.core.form.FormPanel', {
         var detailGrids = me.query('detailGridField');
 
         Ext.Array.each(detailGrids, function(g) {
-            var columns = g.columns;
-            Ext.Array.each(columns, function(c) {
-                var e = c.getEditor();
-                if(e) {
-                    typeof e.setDisabled == 'function' && e.setDisabled(!able);
-                }
-            });
+
+            g.setGridDisabled(able);
         });
 
         Ext.Array.each(items, function(item) {

+ 51 - 14
frontend/saas-web/app/view/core/form/field/DetailGridField.js

@@ -25,6 +25,7 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
 
     showIndex: true,
     configUrl: '',
+    editable: true,
 
     initComponent: function() {
         var me = this;
@@ -33,7 +34,9 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
 
         addRows = function(id) {
             var grid = Ext.getCmp(id);
-            grid.addDetail(0);
+            if(grid.editable) {
+                grid.addDetail(0);
+            }
         };
 
         Ext.apply(me, {
@@ -46,8 +49,11 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
                 emptyText: '<div style="width: 100%; text-align: center; cursor: pointer; color: green;" class="fa fa-plus" title="新增行" onclick="addRows(\'' + me.id + '\')"></div>',
             },
             listeners: {
-                itemmouseenter: function(grid, record, item, index, e, eOpts) {
-                    var lockedItems = grid.el.dom.parentElement.parentElement.getElementsByClassName('x-grid-scrollbar-clipper-locked')[0].getElementsByClassName('x-grid-item');
+                itemmouseenter: function(view, record, item, index, e, eOpts) {
+                    if(!view.up('detailGridField').editable) {
+                        return;
+                    }
+                    var lockedItems = view.el.dom.parentElement.parentElement.getElementsByClassName('x-grid-scrollbar-clipper-locked')[0].getElementsByClassName('x-grid-item');
                     var currentLockedItem = lockedItems[index];
                     var textItem = currentLockedItem.getElementsByClassName('text')[0];
                     var iconsItem = currentLockedItem.getElementsByClassName('icons')[0];
@@ -55,8 +61,11 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
                     textItem.style.display = 'none';
                     iconsItem.style.display = 'flex';
                 },
-                itemmouseleave: function(grid, record, item, index, e, eOpts) {
-                    var lockedItems = grid.el.dom.parentElement.parentElement.getElementsByClassName('x-grid-scrollbar-clipper-locked')[0].getElementsByClassName('x-grid-item');
+                itemmouseleave: function(view, record, item, index, e, eOpts) {
+                    if(!view.up('detailGridField').editable) {
+                        return;
+                    }
+                    var lockedItems = view.el.dom.parentElement.parentElement.getElementsByClassName('x-grid-scrollbar-clipper-locked')[0].getElementsByClassName('x-grid-item');
                     var currentLockedItem = lockedItems[index];
                     var textItem = currentLockedItem.getElementsByClassName('text')[0];
                     var iconsItem = currentLockedItem.getElementsByClassName('icons')[0];
@@ -64,7 +73,7 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
                     textItem.style.display = 'block';
                     iconsItem.style.display = 'none';
                 },
-                cellclick: function(grid, td, cellIndex, record, tr, rowIndex, e, eOpts) {
+                cellclick: function(view, td, cellIndex, record, tr, rowIndex, e, eOpts) {
                     var target = e.target;
                     var detno = record.get(me.detnoColumn);
 
@@ -151,8 +160,12 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
     },
 
     addDetail: function(v) {
-        var me = this,
-        detnoColumn = me.detnoColumn,
+        var me = this;
+        var me = this;
+        if(!me.editable) {
+            return;
+        }
+        var detnoColumn = me.detnoColumn,
         store = me.getStore(),
         records = store.getData().items,
         selectedRecord = records.find(function(r) {
@@ -177,8 +190,11 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
     },
 
     deleteDetail: function(v) {
-        var me = this,
-        detnoColumn = me.detnoColumn,
+        var me = this;
+        if(!me.editable) {
+            return;
+        }
+        var detnoColumn = me.detnoColumn,
         store = me.getStore(),
         records = store.getData().items,
         selectedRecord = records.find(function(r) {
@@ -210,8 +226,12 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
     },
 
     swapUp: function() {
-        var me = this,
-        store = me.getStore(),
+        var me = this;
+        var me = this;
+        if(!me.editable) {
+            return;
+        }
+        var store = me.getStore(),
         record = me.selModel.lastSelected,
         selectedIdx = store.indexOf(record);
 
@@ -219,8 +239,12 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
     },
 
     swapDown: function() {
-        var me = this,
-        store = me.getStore(),
+        var me = this;
+        var me = this;
+        if(!me.editable) {
+            return;
+        }
+        var store = me.getStore(),
         record = me.selModel.lastSelected,
         selectedIdx = store.indexOf(record);
         
@@ -250,6 +274,19 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
             //聚焦目标行
             me.selModel.select(to);
         }
+    },
+    setGridDisabled: function(able) {
+        var me = this,
+        columns = me.columns;
+
+        me.editable = able;
+
+        Ext.Array.each(columns, function(c) {
+            var e = c.getEditor();
+            if(e) {
+                typeof e.setDisabled == 'function' && e.setDisabled(!able);
+            }
+        });
     }
 
 });

+ 11 - 8
frontend/saas-web/app/view/core/query/QueryGridPanel.js

@@ -48,8 +48,14 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
                     },
                     listeners: {
                         exception: function(proxy, response, operation, eOpts) {
-                            console.error('exception: ', response.responseJson.message);
-                            showToast('exception:' + response.responseJson.message);
+                            if(operation.success) {
+                                if(response.timedout) {
+                                    showToast('请求超时');
+                                }
+                            }else {
+                                console.error('exception: ', response.responseJson);
+                                showToast('exception:' + response.responseJson);
+                            }
                         }
                     }
                 },
@@ -110,7 +116,7 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
                 },
                 items: ['->', {
                     text: '新增',
-                    handler: me.onAddMore
+                    handler: 'onAddClick'
                 }, {
                     text: '审核',
                     xtype: 'button',
@@ -215,11 +221,6 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
             return c.dataIndex;
         });
     },
-    onAddMore: function (me) {
-        var grid = me.up('grid'),
-        id = grid.xtype + '_add';
-        openTab(grid.addXtype,'新增'+grid.addTitle,id)
-    },
     onAudit: function(me){
         console.log('审核');
         me.up('grid').vastOperation("batchAudit");
@@ -242,8 +243,10 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
     },
     onCloseOrder:function(me){
         console.log("关闭订单");
+        me.up('grid').vastOperation("batchClose");
     },onOpenOrder:function(me){
         console.log("开启订单");
+        me.up('grid').vastOperation("batchOpen");
     },
     onDelete: function (btn) {
         btn.up('grid').vastOperation("batchDelete");

+ 7 - 0
frontend/saas-web/app/view/core/query/QueryPanelController.js

@@ -32,6 +32,13 @@ Ext.define('saas.view.core.query.QueryPanelController', {
         viewModel.set('moreQuery', true);
         queryGrid.store.loadPage(1);
     },
+    onAddClick: function() {
+        var me = this,
+        queryPanel = me.getView(),
+        gridPanel = queryPanel.down('core-query-querygridpanel'),
+        id = gridPanel.addXtype + '_add';
+        openTab(gridPanel.addXtype,'新增'+gridPanel.addTitle,id)
+    },
     onReSetClick:function(btn){
         btn.ownerCt.ownerCt.reset();
     },

+ 48 - 4
frontend/saas-web/app/view/document/bom/BasePanel.js

@@ -5,12 +5,56 @@ Ext.define('saas.view.document.bom.BasePanel', {
     controller: 'document-bom-basepanel',
     viewModel: 'document-bom-basepanel',
 
+    searchField:[],
+
     //字段属性
+    _formXtype:'document-bom-formpanel',
     _title:'BOM资料',
-    _dataUrl:basePath + 'document/vendor/getVendorsByCondition',
-    _saveUrl:basePath + 'document/vendor/save',
-    _deleteUrl:basePath + 'document/vendor/delete',
-
+    // _dataUrl:'/api/ducument/customer/list',
+    _batchOpenUrl:'/api/document/bom/batchOpen',
+    _batchCloseUrl:'/api/document/bom/batchClose',
+    _batchDeleteUrl:'/api/document/bom/batchDelete',
 
+    gridConfig: {
+        idField: 'id',
+        codeField: 'bo_mothercode',
+        statusCodeField:'bo_statuscode',
+        dataUrl: '/api/document/bom/list',
+        columns : [{
+            text : "id", 
+            width : 0, 
+            dataIndex : "id", 
+            xtype : "numbercolumn",   
+        },{
+            text : "母件id", 
+            width : 0, 
+            dataIndex : "bo_motherid", 
+            xtype : "numbercolumn",   
+        },{
+            text : "母件编号", 
+            width : 200.0, 
+            dataIndex : "bo_mothercode", 
+        }, 
+        {
+            text : "母件名称", 
+            dataIndex : "bo_mothername", 
+            width : 120.0, 
+        }, 
+        {
+            text : "BOM状态", 
+            dataIndex : "bo_status", 
+            width : 120.0, 
+        }, 
+        {
+            text : "BOM状态码", 
+            dataIndex : "bo_statuscode", 
+            width : 0, 
+        },
+        {   
+            text : "BOM版本", 
+            dataIndex : "bo_version", 
+            width : 120.0, 
+        }]
+    },
 
 });

+ 65 - 0
frontend/saas-web/app/view/document/bom/FormController.js

@@ -0,0 +1,65 @@
+Ext.define('saas.view.document.bom.FormController', {
+    extend: 'saas.view.core.form.FormPanelController',
+    alias: 'controller.document-bom-formpanel',
+    
+    init: function (form) {
+        var me = this;
+        this.control({});
+    },
+
+    auditBtnClick: function() {
+        var me = this,
+        form = me.getView(),
+        statusCodeField = form._statusCodeField,
+        viewModel = me.getViewModel(),
+        status = viewModel.data[statusCodeField];
+        status == 'OPEN' ? me.unAudit() : me.audit();
+    },
+
+    audit: function(){
+        var me = this,
+        form = this.getView(),
+        viewModel = me.getViewModel();
+        
+        me.BaseUtil.request({
+            url: form._openUrl+'/'+viewModel.data.id,
+            params: '',
+            method: 'POST',
+        })
+        .then(function(localJson) {
+            if(localJson.success){
+                showToast('启用成功');
+                form.initId = localJson.data.id;
+                form.FormUtil.loadData(form);
+                viewModel.set('base.editable', false);
+            }
+        })
+        .catch(function(res) {
+            console.error(res);
+            showToast('启用失败: ' + res.message);
+        });
+    },
+    unAudit: function() {
+        var me = this,
+        form = this.getView(),
+        viewModel = me.getViewModel();
+        
+        me.BaseUtil.request({
+            url: form._closeUrl+'/'+viewModel.data.id,
+            params: '',
+            method: 'POST',
+        })
+        .then(function(localJson) {
+            if(localJson.success){
+                showToast('禁用成功');
+                form.initId = localJson.data.id;
+                form.FormUtil.loadData(form);
+                viewModel.set('base.editable', false);
+            }
+        })
+        .catch(function(res) {
+            console.log(res);
+            showToast('禁用失败: ' + res.message);
+        });
+    }
+});

+ 17 - 0
frontend/saas-web/app/view/document/bom/FormModel.js

@@ -0,0 +1,17 @@
+Ext.define('saas.view.document.bom.FormModel', {
+    extend: 'saas.view.core.form.FormPanelModel',
+    alias: 'viewmodel.document-bom-formpanel',
+
+    data: {
+        id: 0
+    },
+
+    formulas:{
+        showAuditBtn:{
+            bind:'{id}',
+            get:function(value){
+                return value;
+            }
+        }
+    }
+});

+ 162 - 0
frontend/saas-web/app/view/document/bom/FormPanel.js

@@ -0,0 +1,162 @@
+Ext.define('saas.view.document.bom.FormPanel', {
+    extend: 'saas.view.core.form.FormPanel',
+    xtype: 'document-bom-formpanel',
+
+    controller: 'document-bom-formpanel',
+    viewModel: 'document-bom-formpanel',
+    
+    caller:'Bom',
+
+    //字段属性
+    _title:'客户资料',
+    _idField: 'id',
+    _codeField: 'bo_mothercode',
+    _statusField: 'bo_status',
+    _statusCodeField: 'bo_statuscode',
+    _readUrl:'/api/document/bom/read/',
+    _saveUrl:'/api/document/bom/save',
+    _openUrl:'/api/document/bom/open',
+    _closeUrl:'/api/document/bom/close',
+    _deleteUrl:'/api/document/bom/delete/',
+    initId:0,
+
+    defaultItems: [{
+        xtype: 'hidden',
+        name: 'id',
+        fieldLabel: 'id',
+        allowBlank: true,
+        columnWidth: 0.25
+    },{
+        xtype: 'hidden',
+        name: 'bo_motherid',
+        fieldLabel: '母件id',
+        allowBlank: true,
+        columnWidth: 0.25
+    },{
+        xtype: 'textfield',
+        name: 'bo_mothername',
+        fieldLabel: 'BOM名称',
+        allowBlank: false,
+        columnWidth: 0.25
+    },{
+        xtype: 'textfield',
+        name: 'bo_mothercode',
+        fieldLabel: 'BOM编号',
+        allowBlank: true,
+        columnWidth: 0.25
+    },{
+        xtype: 'textfield',
+        name: 'bo_status',
+        fieldLabel: 'BOM状态',
+        allowBlank: true,
+        columnWidth: 0.25
+    },{
+        xtype: 'hidden',
+        name: 'bo_statuscode',
+        fieldLabel: '状态码',
+        allowBlank: true,
+        columnWidth: 0.25
+    },{
+        format : "Y-m-d",
+        xtype : "datefield", 
+        name : "createTime", 
+        fieldLabel : "创建时间", 
+        allowBlank : true, 
+        columnWidth : 0.25
+    },{  
+        format : "Y-m-d",
+        xtype : "datefield", 
+        name : "updateTime", 
+        fieldLabel : "更新时间", 
+        allowBlank : true, 
+        columnWidth : 0.25
+    }, {
+        xtype : "detailGridField", 
+        detnoColumn:  'bd_detno',
+        storeModel:'saas.model.document.bomdetail',
+        deleteDetailUrl:'/api/document/bom/deleteDetail/',
+        columns : [
+            {
+                text : "ID", 
+                dataIndex : "id", 
+                width : 0, 
+                xtype : "numbercolumn"
+            },
+            {
+                text : "关联ID", 
+                dataIndex : "bd_bomid", 
+                width : 0, 
+                xtype : "numbercolumn"
+            },
+            {
+                text : "子件编号", 
+                editor : {
+                    xtype : "textfield"
+                },
+                dataIndex : "bd_soncode", 
+                width : 120.0, 
+                xtype : "", 
+                items : null
+            },
+            {
+                text : "单位", 
+                editor : {
+                    xtype : "textfield"
+                },
+                dataIndex : "bd_unit", 
+                width : 120.0, 
+                xtype : "", 
+                items : null
+            },
+            {
+                text : "单位用量", 
+                editor : {
+                    xtype : "textfield"
+                },
+                dataIndex : "bd_baseqty", 
+                width : 120.0, 
+                xtype : "", 
+                items : null
+            },
+            {
+                text : "替代料", 
+                editor : {
+                    xtype : "textfield"
+                },
+                dataIndex : "bd_replace", 
+                width : 120.0, 
+                xtype : "", 
+                items : null
+            }]
+    }],
+
+    /**
+     * 一些初始化viewModel的方法
+     */
+    initViewModel: function() {
+        var me = this,
+        codeField = me._codeField,
+        statusField = me._statusField,
+        statusCodeField = me._statusCodeField,
+        viewModel = me.getViewModel();
+        
+        viewModel.set(codeField, '');
+        viewModel.set('createTime', new Date());
+        viewModel.set('updateTime', new Date());
+
+        if(statusCodeField) {
+            var o = {};
+            o['auditBtnText'] = {
+                bind: '{' + statusCodeField + '}',
+                get: function(value) {
+                    viewModel.set(statusField, value == 'OPEN' ? '已开启' : '已关闭');
+                    return value == 'OPEN' ? '已关闭' : '已开启'
+                }
+            };
+            viewModel.setFormulas(o);
+            viewModel.set(statusCodeField, "OPEN");
+        }else {
+            viewModel.set('auditBtnText', "已关闭");
+        }
+    }
+});

+ 14 - 8
frontend/saas-web/app/view/document/customer/BasePanel.js

@@ -7,7 +7,7 @@ Ext.define('saas.view.document.customer.BasePanel', {
 
     searchField:[{
         xtype : "remotecombo", 
-        storeUrl:basePath+'document/customerkind/getCombo',
+        storeUrl:'/api/document/customerkind/getCombo',
         name : "cu_type", 
         emptyText : "请选择客户类型", 
         allowBlank : true, 
@@ -19,8 +19,8 @@ Ext.define('saas.view.document.customer.BasePanel', {
             customerkind:{
                 keyField:'id',
                 dataField:'ck_name',
-                reqUrl:basePath+'document/customerkind/save',
-                delUrl:basePath+'document/customerkind/delete'
+                reqUrl:'/api/document/customerkind/save',
+                delUrl:'/api/document/customerkind/delete'
             }
         },
         addHandler:function(b){
@@ -43,15 +43,16 @@ Ext.define('saas.view.document.customer.BasePanel', {
     //字段属性
     _formXtype:'document-customer-formpanel',
     _title:'客户资料',
-    // _dataUrl:basePath+'ducument/customer/list',
-    _batchOpenUrl:basePath+'document/customer/batchOpen',
-    _batchCloseUrl:basePath+'document/customer/batchClose',
-    _batchDeleteUrl:basePath+'document/customer/batchDelete',
+    // _dataUrl:'/api/ducument/customer/list',
+    _batchOpenUrl:'/api/document/customer/batchOpen',
+    _batchCloseUrl:'/api/document/customer/batchClose',
+    _batchDeleteUrl:'/api/document/customer/batchDelete',
 
     gridConfig: {
         idField: 'id',
         codeField: 'cu_code',
-        dataUrl: basePath+'document/customer/list',
+        statusCodeField:'cu_statuscode',
+        dataUrl: '/api/document/customer/list',
         columns : [{
             text : "客户id", 
             width : 0, 
@@ -72,6 +73,11 @@ Ext.define('saas.view.document.customer.BasePanel', {
             dataIndex : "cu_status", 
             width : 120.0, 
         }, 
+        {
+            text : "客户状态码", 
+            dataIndex : "cu_statuscode", 
+            width : 0, 
+        }, 
         {
             text : "客户UU", 
             dataIndex : "cu_uu", 

+ 15 - 13
frontend/saas-web/app/view/document/customer/FormPanel.js

@@ -13,11 +13,11 @@ Ext.define('saas.view.document.customer.FormPanel', {
     _codeField: 'cu_code',
     _statusField: 'cu_status',
     _statusCodeField: 'cu_statuscode',
-    _readUrl:basePath+'document/customer/read/',
-    _saveUrl:basePath+'document/customer/save',
-    _openUrl:basePath+'document/customer/open',
-    _closeUrl:basePath+'document/customer/close',
-    _deleteUrl:basePath+'document/customer/delete/',
+    _readUrl:'/api/document/customer/read/',
+    _saveUrl:'/api/document/customer/save',
+    _openUrl:'/api/document/customer/open',
+    _closeUrl:'/api/document/customer/close',
+    _deleteUrl:'/api/document/customer/delete/',
     initId:0,
 
     defaultItems: [{
@@ -52,7 +52,7 @@ Ext.define('saas.view.document.customer.FormPanel', {
         columnWidth: 0.25
     },{
         xtype : "remotecombo", 
-        storeUrl:basePath+'document/customerkind/getCombo',
+        storeUrl:'/api/document/customerkind/getCombo',
         name : "cu_type", 
         fieldLabel : "客户类型", 
         allowBlank : true, 
@@ -64,8 +64,8 @@ Ext.define('saas.view.document.customer.FormPanel', {
             customerkind:{
                 keyField:'id',
                 dataField:'ck_name',
-                reqUrl:basePath+'document/customerkind/save',
-                delUrl:basePath+'document/customerkind/delete'
+                reqUrl:'/api/document/customerkind/save',
+                delUrl:'/api/document/customerkind/delete'
             }
         },
         addHandler:function(b){
@@ -146,10 +146,11 @@ Ext.define('saas.view.document.customer.FormPanel', {
         allowBlank : true, 
         columnWidth : 0.25
     }, {
+        height: 169,
         xtype : "detailGridField", 
         detnoColumn:  'cc_detno',
         storeModel:'saas.model.document.customercontact',
-        deleteDetailUrl:basePath+'document/customer/deletecontact/',
+        deleteDetailUrl:'/api/document/customer/deletecontact/',
         columns : [
             {
                 text : "ID", 
@@ -237,10 +238,11 @@ Ext.define('saas.view.document.customer.FormPanel', {
                 }
             }]
     } ,{
+        height: 169,
         xtype : "detailGridField", 
         detnoColumn:  'ca_detno',
         storeModel:'saas.model.document.customeraddress',
-        deleteDetailUrl:basePath+'document/customer/deleteaddress/',
+        deleteDetailUrl:'/api/document/customer/deleteaddress/',
         columns : [
             {
                 text : "ID", 
@@ -345,14 +347,14 @@ Ext.define('saas.view.document.customer.FormPanel', {
             o['auditBtnText'] = {
                 bind: '{' + statusCodeField + '}',
                 get: function(value) {
-                    viewModel.set(statusField, value == 'OPEN' ? '启用' : '禁用');
-                    return value == 'OPEN' ? '禁用' : '启用'
+                    viewModel.set(statusField, value == 'OPEN' ? '已开启' : '已关闭');
+                    return value == 'OPEN' ? '已关闭' : '已开启'
                 }
             };
             viewModel.setFormulas(o);
             viewModel.set(statusCodeField, "OPEN");
         }else {
-            viewModel.set('auditBtnText', "禁用");
+            viewModel.set('auditBtnText', "已关闭");
         }
     }
 });

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

@@ -108,7 +108,18 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
                 fieldLabel:'类型'
             }]
         },
-        storeinformation:{
+        address:{
+            items:[{
+                xtype:'hidden',
+                name:'id'
+            },{
+                xtype:'textfield',
+                name:'ad_address',
+                allowBlank:false,
+                fieldLabel:'地址详情'
+            }]
+        },
+        warehouse:{
             items:[{
                 xtype:'hidden',
                 name:'id'

+ 26 - 16
frontend/saas-web/app/view/document/kind/Kind.js

@@ -70,8 +70,8 @@ Ext.define('saas.view.document.kind.Kind', {
                 flex: 1
             }],
             keyField:'id',
-            reqUrl:basePath + 'document/customerkind/save',
-            delUrl:basePath + 'document/customerkind/delete'
+            reqUrl:'/api/document/customerkind/save',
+            delUrl:'/api/document/customerkind/delete'
         },
         vendorkind:{
             columns: [{
@@ -80,8 +80,8 @@ Ext.define('saas.view.document.kind.Kind', {
                 flex: 1
             }],
             keyField:'id',
-            reqUrl:basePath + 'document/vendorkind/save',
-            delUrl:basePath + 'document/vendorkind/delete'
+            reqUrl:'/api/document/vendorkind/save',
+            delUrl:'/api/document/vendorkind/delete'
         },
         productkind:{
             columns: [{
@@ -90,8 +90,8 @@ Ext.define('saas.view.document.kind.Kind', {
                 flex: 1
             }],
             keyField:'id',
-            reqUrl:basePath + 'document/producttype/save',
-            delUrl:basePath + 'document/producttype/delete'
+            reqUrl:'/api/document/producttype/save',
+            delUrl:'/api/document/producttype/delete'
         },
         productbrand:{
             columns: [{
@@ -100,8 +100,8 @@ Ext.define('saas.view.document.kind.Kind', {
                 flex: 1
             }],
             keyField:'id',
-            reqUrl:basePath + 'document/productbrand/save',
-            delUrl:basePath + 'document/productbrand/delete'
+            reqUrl:'/api/document/productbrand/save',
+            delUrl:'/api/document/productbrand/delete'
         },
         bankinformation:{
             columns: [{
@@ -131,8 +131,8 @@ Ext.define('saas.view.document.kind.Kind', {
                 flex: 1
             }],
             keyField:'id',
-            reqUrl: basePath + 'document/bankinformation/save',
-            delUrl: basePath + 'document/bankinformation/delete'
+            reqUrl: '/api/document/bankinformation/save',
+            delUrl: '/api/document/bankinformation/delete'
         },
         inoutkind:{
             columns: [{
@@ -141,10 +141,20 @@ Ext.define('saas.view.document.kind.Kind', {
                 flex: 1
             }],
             keyField:'id',
-            reqUrl: basePath + 'document/fundinouttype/save',
-            delUrl: basePath + 'document/fundinouttype/delete'
+            reqUrl: '/api/document/fundinouttype/save',
+            delUrl: '/api/document/fundinouttype/delete'
         },
-        storeinformation:{
+        address:{
+            columns: [{
+                text: '地址名称',
+                dataIndex: 'ad_address',
+                flex: 1
+            }],
+            keyField:'id',
+            reqUrl: '/api/document/address/save',
+            delUrl: '/api/document/address/delete'
+        },
+        warehouse:{
             columns: [{
                 text: '仓库编号',
                 dataIndex: 'wh_code',
@@ -164,7 +174,7 @@ Ext.define('saas.view.document.kind.Kind', {
                 xtype: 'actioncolumn',
                 align : 'center',
                 items: [{
-                    icon:basePath + 'resource/images/16/lock_bg.png',
+                    icon:'/api/resource/images/16/lock_bg.png',
                     tooltip: '锁定',
                     iconCls:'',
                     getClass: function(v, meta, rec) {
@@ -201,8 +211,8 @@ Ext.define('saas.view.document.kind.Kind', {
                 }]
             }],
             keyField:'id',
-            reqUrl: basePath + 'document/warehouse/save',
-            delUrl: basePath + 'document/warehouse/delete'
+            reqUrl: '/api/document/warehouse/save',
+            delUrl: '/api/document/warehouse/delete'
         }
     }
 })

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

@@ -40,7 +40,8 @@ Ext.define('saas.view.document.kind.KindController', {
         me.createDialog(dataKind);
     },
     onRefresh:function(){
-
+        var me = this;
+        me.view.items.items[0].store.load();
     },
     insertActionColumn:function(columns){
         var me=this;

+ 29 - 9
frontend/saas-web/app/view/document/kind/KindModel.js

@@ -15,7 +15,7 @@ Ext.define('saas.view.document.kind.KindModel', {
             ],
             proxy: {
                 type: 'ajax',
-                url: basePath + 'document/customerkind/list',
+                url: '/api/document/customerkind/list',
                 actionMethods: {
                     read: 'GET'
                 },
@@ -34,7 +34,7 @@ Ext.define('saas.view.document.kind.KindModel', {
             ],
             proxy: {
                 type: 'ajax',
-                url: basePath + 'document/vendorkind/list',
+                url: '/api/document/vendorkind/list',
                 actionMethods: {
                     read: 'GET'
                 },
@@ -53,7 +53,7 @@ Ext.define('saas.view.document.kind.KindModel', {
             ],
             proxy: {
                 type: 'ajax',
-                url: basePath + 'document/producttype/list',
+                url: '/api/document/producttype/list',
                 actionMethods: {
                     read: 'GET'
                 },
@@ -72,7 +72,7 @@ Ext.define('saas.view.document.kind.KindModel', {
             ],
             proxy: {
                 type: 'ajax',
-                url: basePath + 'document/productbrand/list',
+                url: '/api/document/productbrand/list',
                 actionMethods: {
                     read: 'GET'
                 },
@@ -96,13 +96,13 @@ Ext.define('saas.view.document.kind.KindModel', {
             ],
             proxy: {
                 type: 'ajax',
-                url: basePath + 'document/bankinformation/list',
+                url: '/api/document/bankinformation/list',
                 actionMethods: {
                     read: 'GET'
                 },
                 reader: {
                     type: 'json',
-                    rootProperty: 'data.list'
+                    rootProperty: 'data'
                 }
             },
             pageSize: null,
@@ -116,7 +116,7 @@ Ext.define('saas.view.document.kind.KindModel', {
             ],
             proxy: {  
                 type: 'ajax',
-                url: basePath + 'document/fundinouttype/list',
+                url: '/api/document/fundinouttype/list',
                 actionMethods: {
                     read: 'GET'
                 },
@@ -128,7 +128,7 @@ Ext.define('saas.view.document.kind.KindModel', {
             pageSize: null,
             autoLoad: false
         },
-        storeinformation: {
+        warehouse: {
             fields:[
                 {name: 'id', type: 'int'},
                 {name: 'wh_code',  type: 'string'},
@@ -138,7 +138,27 @@ Ext.define('saas.view.document.kind.KindModel', {
             ],
             proxy: {
                 type: 'ajax',
-                url: basePath + 'document/warehouse/list',
+                url: '/api/document/warehouse/list',
+                actionMethods: {
+                    read: 'GET'
+                },
+                reader: {
+                    type: 'json',
+                    rootProperty: 'data.list'
+                }
+            },
+            pageSize: null,
+            autoLoad: false
+        },
+        address: {
+            fields:[
+                {name: 'id', type: 'int'},
+                {name: 'ad_address',  type: 'string'},
+                {name: 'ad_recorddate',  type: 'date'}
+            ],
+            proxy: {
+                type: 'ajax',
+                url: '/api/document/address/list',
                 actionMethods: {
                     read: 'GET'
                 },

+ 25 - 0
frontend/saas-web/app/view/document/other/Address.js

@@ -0,0 +1,25 @@
+/**
+ * Created by zhouy on 2018/10/18.
+ */
+Ext.define('saas.view.document.other.Address', {
+    extend: 'saas.view.document.kind.Kind',
+    xtype: 'other-address',
+    autoScroll: true,
+    layout:'fit',
+    defaultType:'address',
+    tbar: ['->',{
+        xtype:'button',
+        text:'新增',
+        listeners: {
+            click: 'onAdd'
+        }
+    },{
+        xtype:'button',
+        text:'刷新',
+        listeners: {
+            click: 'onRefresh'
+        }
+    }]
+})
+
+

+ 3 - 3
frontend/saas-web/app/view/document/other/StoreInformation.js → frontend/saas-web/app/view/document/other/Warehouse.js

@@ -1,9 +1,9 @@
-Ext.define('saas.view.document.other.StoreInformation', {
+Ext.define('saas.view.document.other.Warehouse', {
     extend: 'saas.view.document.kind.Kind',
-    xtype: 'other-storeinformation',
+    xtype: 'other-warehouse',
     autoScroll: true,
     layout:'fit',
-    defaultType:'storeinformation',
+    defaultType:'warehouse',
     tbar: ['->',{
         xtype:'button',
         text:'新增',

+ 14 - 7
frontend/saas-web/app/view/document/product/BasePanel.js

@@ -7,7 +7,7 @@ Ext.define('saas.view.document.product.BasePanel', {
 
     searchField:[{
         xtype : "remotecombo", 
-        storeUrl: basePath + 'document/producttype/getCombo',
+        storeUrl: '/api/document/producttype/getCombo',
         name : "pr_type", 
         emptyText : "请选择物料类型", 
         allowBlank : true, 
@@ -19,8 +19,8 @@ Ext.define('saas.view.document.product.BasePanel', {
             producttype:{
                 keyField:'id',
                 dataField:'pr_name',
-                reqUrl:basePath + 'document/producttype/save',
-                delUrl:basePath + 'document/producttype/delete'
+                reqUrl:'/api/document/producttype/save',
+                delUrl:'/api/document/producttype/delete'
             }
         },
         addHandler:function(b){
@@ -44,14 +44,15 @@ Ext.define('saas.view.document.product.BasePanel', {
     _formXtype:'document-product-formpanel',
     _title:'物料资料',
     // _dataUrl:'http://192.168.253.31:9480/product/list',
-    _batchOpenUrl:basePath + 'document/product/batchOpen',
-    _batchCloseUrl:basePath + 'document/product/batchClose',
-    _batchDeleteUrl:basePath + 'document/product/batchDelete',
+    _batchOpenUrl:'/api/document/product/batchOpen',
+    _batchCloseUrl:'/api/document/product/batchClose',
+    _batchDeleteUrl:'/api/document/product/batchDelete',
 
     gridConfig: {
         idField: 'id',
         codeField: 'pr_code',
-        dataUrl: basePath + 'document/product/list',
+        statusCodeField:'pr_statuscode',
+        dataUrl: '/api/document/product/list',
         columns : [{
             text : "id", 
             width : 0, 
@@ -75,6 +76,12 @@ Ext.define('saas.view.document.product.BasePanel', {
             width : 120.0, 
             xtype : ""
         }, 
+        {
+            text : "状态码", 
+            dataIndex : "pr_statuscode", 
+            width : 0, 
+            xtype : ""
+        }, 
         {
             text : "物料种类", 
             dataIndex : "pr_type", 

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

@@ -9,7 +9,7 @@ Ext.define('saas.view.document.product.FormController', {
                 beforerender:function(f){
                     Ext.apply(f,{
                         //数据接口
-                        dataUrl:basePath + 'document/vendor/getVendorsByCondition',
+                        dataUrl:'/api/document/vendor/getVendorsByCondition',
                         //赋值 
                         dbfinds:[{
                             from:'ve_code',to:'pr_vendcode'
@@ -70,7 +70,7 @@ Ext.define('saas.view.document.product.FormController', {
                 beforerender:function(f){
                     Ext.apply(f,{
                         //数据接口
-                        dataUrl:basePath + 'document/product/getWareHouseByCondition',
+                        dataUrl:'/api/document/product/getWareHouseByCondition',
                         //放大镜赋值设置
                         dbfinds:[{
                             from:'wh_code',to:'pr_whcode'

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

@@ -13,11 +13,11 @@ Ext.define('saas.view.document.product.FormPanel', {
     _codeField: 'pr_code',
     _statusField: 'pr_status',
     _statusCodeField: 'pr_statuscode',
-    _readUrl:basePath + 'document/product/read/',
-    _saveUrl:basePath + 'document/product/save',
-    _openUrl:basePath + 'document/product/open',
-    _closeUrl:basePath + 'document/product/close',
-    _deleteUrl:basePath + 'document/product/delete/',
+    _readUrl:'/api/document/product/read/',
+    _saveUrl:'/api/document/product/save',
+    _openUrl:'/api/document/product/open',
+    _closeUrl:'/api/document/product/close',
+    _deleteUrl:'/api/document/product/delete/',
     initId:0,
 
     defaultItems: [{
@@ -52,7 +52,7 @@ Ext.define('saas.view.document.product.FormPanel', {
         columnWidth: 0.25
     },{
         xtype : "remotecombo", 
-        storeUrl:basePath + 'document/producttype/getCombo',
+        storeUrl:'/api/document/producttype/getCombo',
         name : "pr_type", 
         fieldLabel : "物料类型", 
         allowBlank : true, 
@@ -64,8 +64,8 @@ Ext.define('saas.view.document.product.FormPanel', {
             producttype:{
                 keyField:'id',
                 dataField:'pr_name',
-                reqUrl:basePath + 'document/producttype/save',
-                delUrl:basePath + 'document/producttype/delete'
+                reqUrl:'/api/document/producttype/save',
+                delUrl:'/api/document/producttype/delete'
             }
         },
         addHandler:function(b){
@@ -85,7 +85,7 @@ Ext.define('saas.view.document.product.FormPanel', {
         }
     },{
         xtype : "remotecombo", 
-        storeUrl:basePath+'document/product/getProdUnit',
+        storeUrl:'/api/document/product/getProdUnit',
         name : "pr_unit", 
         bind : "{pr_unit}", 
         fieldLabel : "物料单位", 
@@ -98,8 +98,8 @@ Ext.define('saas.view.document.product.FormPanel', {
             produnit:{
                 keyField:'id',
                 dataField:'vk_name',
-                reqUrl:basePath+'document/produnit/save',
-                delUrl:basePath+'document/produnit/delete'
+                reqUrl:'/api/document/produnit/save',
+                delUrl:'/api/document/produnit/delete'
             }
         },
         addHandler:function(b){
@@ -119,7 +119,7 @@ Ext.define('saas.view.document.product.FormPanel', {
         }
     },{
         xtype : "remotecombo", 
-        storeUrl:basePath+'document/product/getProdBrand',
+        storeUrl:'/api/document/product/getProdBrand',
         name : "pr_brand", 
         bind : "{pr_brand}", 
         fieldLabel : "物料品牌", 
@@ -132,8 +132,8 @@ Ext.define('saas.view.document.product.FormPanel', {
             productbrand:{
                 keyField:'id',
                 dataField:'pb_name',
-                reqUrl:basePath+'document/productbrand/save',
-                delUrl:basePath+'document/productbrand/delete'
+                reqUrl:'/api/document/productbrand/save',
+                delUrl:'/api/document/productbrand/delete'
             }
         },
         addHandler:function(b){
@@ -221,14 +221,14 @@ Ext.define('saas.view.document.product.FormPanel', {
             o['auditBtnText'] = {
                 bind: '{' + statusCodeField + '}',
                 get: function(value) {
-                    viewModel.set(statusField, value == 'OPEN' ? '启用' : '禁用');
-                    return value == 'OPEN' ? '禁用' : '启用'
+                    viewModel.set(statusField, value == 'OPEN' ? '已开启' : '已关闭');
+                    return value == 'OPEN' ? '已关闭' : '已开启'
                 }
             };
             viewModel.setFormulas(o);
             viewModel.set(statusCodeField, "OPEN");
         }else {
-            viewModel.set('auditBtnText', "禁用");
+            viewModel.set('auditBtnText', "已关闭");
         }
     }
 });

+ 16 - 9
frontend/saas-web/app/view/document/vendor/BasePanel.js

@@ -6,7 +6,7 @@ Ext.define('saas.view.document.vendor.BasePanel', {
 
     searchField:[{
         xtype : "remotecombo", 
-        storeUrl:basePath+'document/vendorkind/getCombo',
+        storeUrl:'/api/document/vendorkind/getCombo',
         name : "ve_type", 
         emptyText : "请选择供应商类型", 
         allowBlank : true, 
@@ -18,8 +18,8 @@ Ext.define('saas.view.document.vendor.BasePanel', {
             vendorkind:{
                 keyField:'id',
                 dataField:'vk_name',
-                reqUrl:basePath+'document/vendorkind/save',
-                delUrl:basePath+'document/vendorkind/delete'
+                reqUrl:'/api/document/vendorkind/save',
+                delUrl:'/api/document/vendorkind/delete'
             }
         },
         addHandler:function(b){
@@ -42,16 +42,17 @@ Ext.define('saas.view.document.vendor.BasePanel', {
     //字段属性
     _formXtype:'document-vendor-formpanel',
     _title:'供应商资料',
-    // _dataUrl:basePath+'ducument/vendor/list',
-    _deleteUrl:basePath+'document/vendor/delete/',
-    _batchOpenUrl:basePath+'document/vendor/batchOpen',
-    _batchCloseUrl:basePath+'document/vendor/batchClose',
-    _batchDeleteUrl:basePath+'document/vendor/batchDelete',
+    // _dataUrl:'/api/ducument/vendor/list',
+    _deleteUrl:'/api/document/vendor/delete/',
+    _batchOpenUrl:'/api/document/vendor/batchOpen',
+    _batchCloseUrl:'/api/document/vendor/batchClose',
+    _batchDeleteUrl:'/api/document/vendor/batchDelete',
 
     gridConfig: {
         idField: 'id',
         codeField: 've_code',
-        dataUrl: basePath+'document/vendor/list',
+        statusCodeField:'ve_statuscode',
+        dataUrl: '/api/document/vendor/list',
         columns : [{
             text : "供应商id", 
             width : 0, 
@@ -75,6 +76,12 @@ Ext.define('saas.view.document.vendor.BasePanel', {
             width : 120.0, 
             xtype : ""
         }, 
+        {
+            text : "供应商状态码", 
+            dataIndex : "ve_statuscode", 
+            width : 0, 
+            xtype : ""
+        },
         {
             text : "供应商UU", 
             dataIndex : "ve_uu", 

+ 12 - 12
frontend/saas-web/app/view/document/vendor/FormPanel.js

@@ -13,11 +13,11 @@ Ext.define('saas.view.document.vendor.FormPanel', {
     _codeField: 've_code',
     _statusField: 've_status',
     _statusCodeField: 've_statuscode',
-    _readUrl:basePath+'document/vendor/read/',
-    _saveUrl:basePath+'document/vendor/save',
-    _openUrl:basePath+'document/vendor/open',
-    _closeUrl:basePath+'document/vendor/close',
-    _deleteUrl:basePath+'document/vendor/delete/',
+    _readUrl:'/api/document/vendor/read/',
+    _saveUrl:'/api/document/vendor/save',
+    _openUrl:'/api/document/vendor/open',
+    _closeUrl:'/api/document/vendor/close',
+    _deleteUrl:'/api/document/vendor/delete/',
     initId:0,
 
     defaultItems: [{
@@ -52,7 +52,7 @@ Ext.define('saas.view.document.vendor.FormPanel', {
         columnWidth: 0.25
     },{
         xtype : "remotecombo", 
-        storeUrl:basePath+'document/vendorkind/getCombo',
+        storeUrl:'/api/document/vendorkind/getCombo',
         name : "ve_type", 
         fieldLabel : "供应商类型", 
         allowBlank : true, 
@@ -64,8 +64,8 @@ Ext.define('saas.view.document.vendor.FormPanel', {
             vendorkind:{
                 keyField:'id',
                 dataField:'vk_name',
-                reqUrl:basePath+'document/vendorkind/save',
-                delUrl:basePath+'document/vendorkind/delete'
+                reqUrl:'/api/document/vendorkind/save',
+                delUrl:'/api/document/vendorkind/delete'
             }
         },
         addHandler:function(b){
@@ -149,7 +149,7 @@ Ext.define('saas.view.document.vendor.FormPanel', {
         xtype : "detailGridField", 
         detnoColumn:  'vc_detno',
         storeModel:'saas.model.document.vendorcontact',
-        deleteDetailUrl:basePath+'document/vendor/deleteContact/',
+        deleteDetailUrl:'/api/document/vendor/deleteContact/',
         columns : [
             {
                 text : "ID", 
@@ -254,14 +254,14 @@ Ext.define('saas.view.document.vendor.FormPanel', {
             o['auditBtnText'] = {
                 bind: '{' + statusCodeField + '}',
                 get: function(value) {
-                    viewModel.set(statusField, value == 'OPEN' ? '启用' : '禁用');
-                    return value == 'OPEN' ? '禁用' : '启用'
+                    viewModel.set(statusField, value == 'OPEN' ? '已开启' : '已关闭');
+                    return value == 'OPEN' ? '已关闭' : '已开启'
                 }
             };
             viewModel.setFormulas(o);
             viewModel.set(statusCodeField, "OPEN");
         }else {
-            viewModel.set('auditBtnText', "禁用");
+            viewModel.set('auditBtnText', "已关闭");
         }
     }
 });

+ 5 - 0
frontend/saas-web/app/view/main/MainContainerWrap.js

@@ -29,6 +29,11 @@ Ext.define('saas.view.main.MainContainerWrap', {
                 closable: true,
                 margin: 10
             },
+            plugins: [new Ext.ux.TabCloseMenu({
+                closeTabText: '关闭',
+                closeAllTabsText: '关闭全部',
+                closeOthersTabsText: '关闭其他'
+            })],
             items: [
                 {
                     xtype: 'home',

+ 1 - 1
frontend/saas-web/app/view/main/Navigation.js

@@ -197,7 +197,7 @@ Ext.define('saas.view.main.Navigation', {
             menuId = 'navMenu-' + id,
             menu = Ext.getCmp(menuId);
 
-        if (cx <= itemBox.left || cy <= itemBox.top || cy >= (itemBox.top + itemBox.height)) {
+        if (cx <= itemBox.left || cy <= itemBox.top || (cy >= (itemBox.top + itemBox.height) && cx <= (itemBox.left + itemBox.width - 10))) {
             if (menu) {
                 menu.hide();
             }

+ 11 - 9
frontend/saas-web/app/view/money/fundtransfer/FormPanel.js

@@ -15,9 +15,9 @@ Ext.define('saas.view.money.fundtransfer.FormPanel', {
      _statusField: 'ft_status',
      _statusCodeField: 'ft_statuscode',
      _relationColumn: 'ftd_ftid',
-     _readUrl:basePath+'money/fundtransfer/read/',
-     _saveUrl:basePath+'money/fundtransfer/save',
-     _deleteUrl:basePath+'money/fundtransfer/delete/',
+     _readUrl:'/api/money/fundtransfer/read/',
+     _saveUrl:'/api/money/fundtransfer/save',
+     _deleteUrl:'/api/money/fundtransfer/delete/',
      initId:0,
 
     defaultItems: [{
@@ -34,7 +34,7 @@ Ext.define('saas.view.money.fundtransfer.FormPanel', {
         xtype : "detailGridField", 
         storeModel:'saas.model.money.FundTransfer',
         detnoColumn:  'ftd_detno',
-        _deleteDetailUrl:basePath+'fundtransfer/deleteItem/',
+        deleteDetailUrl:'/api/money/fundtransfer/deleteItem/',
         columnWidth : 1,
         columns : [
             {
@@ -44,7 +44,7 @@ Ext.define('saas.view.money.fundtransfer.FormPanel', {
                 width:0
             }, {
                 text : "期间", 
-                dataIndex : "ftd_ym ", 
+                dataIndex : "ftd_ym", 
                 editor : {
                     xtype : "numberfield"
                 },
@@ -58,7 +58,7 @@ Ext.define('saas.view.money.fundtransfer.FormPanel', {
             }, {
                 text : "转出账户编号", 
                 dataIndex : "ftd_bankcode", 
-                width : 0
+                width :0
             }, {
                 text : "转出账户", 
                 width : 200.0, 
@@ -85,7 +85,7 @@ Ext.define('saas.view.money.fundtransfer.FormPanel', {
             }, {
                 text : "转入账户编号", 
                 dataIndex : "ftd_inbankcode", 
-                width : 0
+                width :0
             }, {
                 text : "转入账户", 
                 width : 200.0, 
@@ -119,7 +119,10 @@ Ext.define('saas.view.money.fundtransfer.FormPanel', {
             }, {
                 text : "结算方式号", 
                 dataIndex : "ftd_paycode", 
-                width : 0
+                width : 100,
+                editor:{
+                    xtype: ''  
+                }
             }, {
                 text : "结算方式", 
                 width : 200.0, 
@@ -144,7 +147,6 @@ Ext.define('saas.view.money.fundtransfer.FormPanel', {
                 dataIndex : "ftd_remark",
                 width : 120.0, 
                 items : null,
-                ignore:true,
                 flex : 1.0,
                 editor : {
                     xtype : ""

+ 2 - 2
frontend/saas-web/app/view/money/fundtransfer/FormPanelController.js

@@ -8,7 +8,7 @@ Ext.define('saas.view.money.fundtransfer.FormPanelController', {
             'dbfindtrigger[name=ftd_bankname]':{
                 beforerender:function(f){
                     Ext.apply(f,{
-                        dataUrl:basePath+'document/bankinformation/list',
+                        dataUrl:'/api/document/bankinformation/list',
                         dbfinds:[
                         {
                             from:'bk_bankcode',to:'ftd_bankcode'
@@ -53,7 +53,7 @@ Ext.define('saas.view.money.fundtransfer.FormPanelController', {
             'dbfindtrigger[name=ftd_inbankname]':{
                 beforerender:function(f){
                     Ext.apply(f,{
-                        dataUrl:basePath+'document/bankinformation/list',
+                        dataUrl:'/api/document/bankinformation/list',
                         dbfinds:[
                         {
                             from:'bk_bankcode',to:'ftd_inbankcode'

+ 30 - 42
frontend/saas-web/app/view/money/fundtransfer/QueryPanel.js

@@ -8,78 +8,66 @@ Ext.define('saas.view.money.fundtransfer.QueryPanel', {
     viewName: 'money-fundtransfer-querypanel',
     
     queryFormItems: [{
-        xtype: 'hidden',
-        name: 'or_id',
-        fieldLabel: 'ID',
-        allowBlank: true,
-        columnWidth: 0
-    }, {
-        xtype : 'hidden',
-        name : 'or_custid', 
-        fieldLabel : '客户ID'
-   }, {
-        xtype: 'hidden',
-        name: 'or_custcode',
-        fieldLabel: '客户编号'
-    }, {
-        xtype: 'dbfindtrigger',
-        name: 'or_custname',
-        fieldLabel: '客户名称'
-    }, {
-        xtype : 'hidden',
-        name : 'or_bankid', 
-        fieldLabel : '账户ID'
-     }, {
-        xtype: 'hidden',
-        name: 'or_bankcode',
-        fieldLabel: '账户编号'
-    }, {
-        xtype: 'dbfindtrigger',
-        name: 'or_bankname',
-        fieldLabel: '账户名称'
+        format : "Y-m-d", 
+        xtype : "datefield", 
+        name : "ft_date", 
+        fieldLabel : "单据日期"
     }],
     moreQueryFormItems: [],
     queryGridConfig: {
-        idField: 'or_id',
-        codeField: 'or_code',
+        idField: 'id',
+        codeField: 'ft_code',
         addTitle: '其它收入单',
         addXtype: 'money-fundtransfer-formpanel',
         defaultCondition:'',
-        baseVastUrl: basePath+'money/fundtransfer/',
+        baseVastUrl: '/api/money/fundtransfer/',
         baseColumn: [{
             text: 'id',
-            dataIndex: 'or_id',
+            dataIndex: 'id',
             width: 0,
             xtype: 'numbercolumn'
         }, {
             text: '单据编号',
-            dataIndex: 'or_code',
+            dataIndex: 'ft_code',
             width: 120
         }, {
             text: '单据状态',
-            dataIndex: 'or_status',
+            dataIndex: 'ft_status',
             width: 120
         }, {
             text: '录入人',
-            dataIndex: 'or_recorder',
+            dataIndex: 'ft_recorder',
             width: 120
         }, {
             text: '单据日期',
-            dataIndex: 'or_date',
+            dataIndex: 'ft_date',
             xtype: 'datecolumn',
             width: 200
         }, {
-            text: '客户名称',
-            dataIndex: 'or_custname',
+            text: '期间',
+            dataIndex: 'ftd_ym',
+            xtype : "numbercolumn", 
+            width: 120
+        }, {
+            text: '转出账户',
+            dataIndex: 'ftd_bankname',
+            width: 120
+        }, {
+            text: '转入账户',
+            dataIndex: 'ftd_inbankname',
             width: 120
         }, {
             text: '金额',
-            dataIndex: 'or_amount',
-            xtype: 'numbercolumn',
+            dataIndex: 'ftd_nowbalance',
+            xtype : "numbercolumn",
+            width: 120
+        }, {
+            text: '结算方式',
+            dataIndex: 'ftd_paymethod',
             width: 120
         }, {
             text: '备注',
-            dataIndex: 'or_remark',
+            dataIndex: 'ft_remark',
             width: 250,
             flex: 1
         }],

+ 7 - 8
frontend/saas-web/app/view/money/othreceipts/FormPanel.js

@@ -15,9 +15,9 @@ Ext.define('saas.view.money.othreceipts.FormPanel', {
      _statusField: 'or_status',
      _statusCodeField: 'or_statuscode',
      _relationColumn: 'ord_orid',
-     _readUrl:basePath+'money/othreceipts/read/',
-     _saveUrl:basePath+'money/othreceipts/save',
-     _deleteUrl:basePath+'money/othreceipts/delete/', 
+     _readUrl:'/api/money/othreceipts/read/',
+     _saveUrl:'/api/money/othreceipts/save',
+     _deleteUrl:'/api/money/othreceipts/delete/',  
      initId:0,
 
     defaultItems: [{
@@ -53,7 +53,7 @@ Ext.define('saas.view.money.othreceipts.FormPanel', {
         xtype : "detailGridField", 
         storeModel:'saas.model.money.Othreceipts',
         detnoColumn:  'ord_detno',
-        deleteDetailUrl:basePath+'money/othreceipts/deleteDetail/',
+        deleteDetailUrl:'/api/money/othreceipts/deleteDetail/',
         columnWidth : 1,
         columns : [
             {
@@ -78,7 +78,7 @@ Ext.define('saas.view.money.othreceipts.FormPanel', {
                 items : null,
                 editor : {
                     xtype : "remotecombo", 
-                    storeUrl:basePath+'document/fundinoutType/list',
+                    storeUrl:'/api/document/fundinoutType/list',
                     name : "ord_type", 
                     fieldLabel : "收入类别", 
                     allowBlank : true, 
@@ -90,8 +90,8 @@ Ext.define('saas.view.money.othreceipts.FormPanel', {
                         inoutkind:{
                             keyField:'id',
                             dataField:'ft_name',
-                            reqUrl:basePath+'document/fundinoutType/save',
-                            delUrl:basePath+'document/fundinoutType/delete'
+                            reqUrl:'/api/document/fundinoutType/save',
+                            delUrl:'/api/document/fundinoutType/delete'
                         }
                     },
                     addHandler:function(b){
@@ -137,7 +137,6 @@ Ext.define('saas.view.money.othreceipts.FormPanel', {
                 dataIndex : "ord_remark",
                 width : 120.0, 
                 items : null,
-                ignore:true,
                 flex : 1.0,
                 editor : {
                     xtype : ""

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

@@ -8,7 +8,7 @@ Ext.define('saas.view.money.othreceipts.FormPanelController', {
             'dbfindtrigger[name=or_custname]':{
                 beforerender:function(f){
                     Ext.apply(f,{
-                        dataUrl:basePath+'document/customer/list',
+                        dataUrl:'/api/document/customer/list',
                         addXtype: 'document-customer-formpanel',
                         addTitle: '客户资料',
                         dbfinds:[{
@@ -55,7 +55,7 @@ Ext.define('saas.view.money.othreceipts.FormPanelController', {
             'dbfindtrigger[name=or_bankname]':{
                 beforerender:function(f){
                     Ext.apply(f,{
-                        dataUrl:basePath+'document/bankinformation/list',
+                        dataUrl:'/api/document/bankinformation/list',
                         dbfinds:[{
                             from:'bk_bankcode',to:'or_bankcode'
                         },{

+ 5 - 6
frontend/saas-web/app/view/money/othreceipts/QueryPanel.js

@@ -40,22 +40,21 @@ Ext.define('saas.view.money.othreceipts.QueryPanel', {
     }],
     moreQueryFormItems: [],
     queryGridConfig: {
-        idField: 'or_id',
+        idField: 'id',
         codeField: 'or_code',
         addTitle: '其它收入单',
         addXtype: 'money-othreceipts-formpanel',
         defaultCondition:'',
-       // baseVastUrl: basePath+'money/othreceipts/',
-        baseVastUrl: 'http://192.168.253.129:8940/othreceipts/',
+        baseVastUrl: '/api/money/othreceipts/',
         baseColumn: [{
             text: 'id',
-            dataIndex: 'or_id',
-            width: 0,
+            dataIndex: 'id',
+            width: 100,
             xtype: 'numbercolumn'
         }, {
             text: '单据编号',
             dataIndex: 'or_code',
-            width: 120
+            width: 150
         }, {
             text: '单据状态',
             dataIndex: 'or_status',

+ 2 - 2
frontend/saas-web/app/view/money/othreceipts/QueryPanelController.js

@@ -8,7 +8,7 @@ Ext.define('saas.view.money.othreceipts.QueryPanelController', {
             'dbfindtrigger[name=or_custname]':{
                 beforerender:function(f){
                     Ext.apply(f,{
-                        dataUrl:basePath+'document/customer/list',
+                        dataUrl:'/api/document/customer/list',
                         addXtype: 'document-customer-formpanel',
                         addTitle: '客户资料',
                         dbfinds:[{
@@ -55,7 +55,7 @@ Ext.define('saas.view.money.othreceipts.QueryPanelController', {
             'dbfindtrigger[name=or_bankname]':{
                 beforerender:function(f){
                     Ext.apply(f,{
-                        dataUrl:basePath+'document/bankinformation/list',
+                        dataUrl:'/api/document/bankinformation/list',
                         dbfinds:[{
                             from:'bk_bankcode',to:'or_bankcode'
                         },{

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

@@ -15,9 +15,9 @@ Ext.define('saas.view.money.othspendings.FormPanel', {
      _statusField: 'os_status',
      _statusCodeField: 'os_statuscode',
      _relationColumn: 'osd_orid',
-     _readUrl:basePath+'money/othspendings/read/',
-     _saveUrl:basePath+'money/othspendings/save',
-     _deleteUrl:basePath+'money/othspendings/delete/',
+     _readUrl:'/api/money/othspendings/read/',
+     _saveUrl:'/api/money/othspendings/save',
+     _deleteUrl:'/api/money/othspendings/delete/', 
      initId:0,
 
     defaultItems: [{
@@ -53,7 +53,7 @@ Ext.define('saas.view.money.othspendings.FormPanel', {
         xtype : "detailGridField", 
         storeModel:'saas.model.money.Othspendings',
         detnoColumn:  'osd_detno',
-        deleteDetailUrl:basePath+'money/othspendings/deleteDetail/',
+        deleteDetailUrl:'/api/money/othspendings/deleteDetail/',
         columnWidth : 1,
         columns : [
             {
@@ -78,7 +78,7 @@ Ext.define('saas.view.money.othspendings.FormPanel', {
                 items : null,
                 editor : {
                     xtype : "remotecombo", 
-                    storeUrl:basePath+'document/fundinoutType/list',
+                    storeUrl:'/api/document/fundinoutType/list',
                     name : "osd_type", 
                     fieldLabel : "支出类别", 
                     allowBlank : true, 
@@ -90,8 +90,8 @@ Ext.define('saas.view.money.othspendings.FormPanel', {
                         inoutkind:{
                             keyField:'id',
                             dataField:'ft_name',
-                            reqUrl:basePath+'document/fundinoutType/save',
-                            delUrl:basePath+'document/fundinoutType/delete'
+                            reqUrl:'/api/document/fundinoutType/save',
+                            delUrl:'/api/document/fundinoutType/delete'
                         }
                     },
                     addHandler:function(b){
@@ -137,7 +137,9 @@ Ext.define('saas.view.money.othspendings.FormPanel', {
                 dataIndex : "osd_remark",
                 width : 120.0, 
                 items : null,
-                ignore:true,
+                editor : {
+                    xtype : ""
+                },
                 flex : 1.0,
             }
         ]

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

@@ -8,7 +8,7 @@ Ext.define('saas.view.money.othspendings.FormPanelController', {
             'dbfindtrigger[name=os_vendname]': {
                 beforerender: function (f) {
                     Ext.apply(f, {
-                        dataUrl: basePath + 'document/vendor/list',
+                        dataUrl: '/api/document/vendor/list',
                         addXtype: 'document-vendor-formpanel',
                         addTitle: '供应商资料',
                         dbfinds: [{
@@ -62,7 +62,7 @@ Ext.define('saas.view.money.othspendings.FormPanelController', {
             'dbfindtrigger[name=os_bankname]': {
                 beforerender: function (f) {
                     Ext.apply(f, {
-                        dataUrl: basePath + 'document/bankinformation/list',
+                        dataUrl: '/api/document/bankinformation/list',
                         dbfinds: [{
                             from: 'bk_bankcode',
                             to: 'os_bankcode'

+ 4 - 4
frontend/saas-web/app/view/money/othspendings/QueryPanel.js

@@ -40,16 +40,16 @@ Ext.define('saas.view.money.othspendings.QueryPanel', {
     }],
     moreQueryFormItems: [],
     queryGridConfig: {
-        idField: 'os_id',
+        idField: 'id',
         codeField: 'os_code',
         addTitle: '其它支出单',
         addXtype: 'money-othspendings-formpanel',
         defaultCondition:'',
-        baseVastUrl: basePath+'money/othspendings/',
+        baseVastUrl: '/api/money/othspendings/',
         baseColumn: [{
             text: 'id',
-            dataIndex: 'os_id',
-            width: 0,
+            dataIndex: 'id',
+            width: 100,
             xtype: 'numbercolumn'
         }, {
             text: '单据编号',

+ 2 - 2
frontend/saas-web/app/view/money/othspendings/QueryPanelController.js

@@ -8,7 +8,7 @@ Ext.define('saas.view.money.othspendings.QueryPanelController', {
             'dbfindtrigger[name=os_vendname]':{
                 beforerender:function(f){
                     Ext.apply(f,{
-                        dataUrl:basePath+'document/vendor/list',
+                        dataUrl:'/api/document/vendor/list',
                         addXtype: 'document-vendor-formpanel',
                         addTitle: '供应商资料',
                         dbfinds:[{
@@ -58,7 +58,7 @@ Ext.define('saas.view.money.othspendings.QueryPanelController', {
                 beforerender:function(f){
                     Ext.apply(f,{
                         conditionCode:'os_bankcode',
-                        dataUrl:basePath+'document/bankinformation/list',
+                        dataUrl:'/api/document/bankinformation/list',
                         dbfinds:[{
                             from:'bk_bankcode',to:'os_bankcode'
                         },{

+ 7 - 6
frontend/saas-web/app/view/money/payBalance/FormPanel.js

@@ -15,10 +15,11 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
     _statusField: 'pb_status',
     _statusCodeField: 'pb_statuscode',
     
-    _readUrl: basePath + 'money/paybalance/read/',
-    _saveUrl: basePath + 'money/paybalance/save/',
-    _auditUrl: basePath + 'money/paybalance/audit/',
-    _deleteUrl: basePath + 'money/paybalance/delete/',
+    _readUrl: '/api/money/paybalance/read/',
+    _saveUrl: '/api/money/paybalance/save/',
+    _auditUrl: '/api/money/paybalance/audit/',
+    _unAuditUrl: 'api/money/paybalance/unAudit/',
+    _deleteUrl: '/api/money/paybalance/delete/',
 
     // _readUrl: 'http://192.168.253.129:8940/money/paybalance/read/',
     // _saveUrl: 'http://192.168.253.129:8940/money/paybalance/save/',
@@ -88,7 +89,7 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
         xtype: "detailGridField",
         storeModel: 'saas.model.money.PayBalance1',
         detnoColumn: 'pb_detno',
-        deleteDetailUrl: basePath + 'money/paybalance/deleteDetail1/',
+        deleteDetailUrl: '/api/money/paybalance/deleteDetail1/',
         columns: [{
             text: 'ID',
             dataIndex: 'id',
@@ -122,7 +123,7 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
         xtype: "detailGridField",
         storeModel: 'saas.model.money.PayBalance2',
         detnoColumn: 'pbd_detno',
-        deleteDetailUrl: basePath + 'money/paybalance/deleteDetail2/',
+        deleteDetailUrl: '/api/money/paybalance/deleteDetail2/',
         columns: [{
             text: 'ID',
             dataIndex: 'id',

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

@@ -9,7 +9,7 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
                 beforerender:function(f){
                     Ext.apply(f,{
                         //数据接口
-                        dataUrl: basePath + 'document/customer/list',
+                        dataUrl: '/api/document/customer/list',
                         addXtype: 'document-customer-formpanel',
                         addTitle: '客户资料',
                         //赋值 

+ 1 - 1
frontend/saas-web/app/view/money/payBalance/QueryPanel.js

@@ -19,7 +19,7 @@ Ext.define('saas.view.money.paybalance.QueryPanel', {
         addTitle: '付款单',
         addXtype: 'money-paybalance-formpanel',
         defaultCondition:'',
-        baseVastUrl: basePath + 'money/paybalance/',
+        baseVastUrl: '/api/money/paybalance/',
         // baseVastUrl: 'http://192.168.253.129:8940/money/paybalance/',
         baseColumn: [{
             text: 'id',

+ 2 - 2
frontend/saas-web/app/view/money/payBalance/QueryPanelController.js

@@ -9,7 +9,7 @@ Ext.define('saas.view.money.paybalance.QueryPanelController', {
             'dbfindtrigger[name=pu_vendname]':{
                 beforerender:function(f){
                     Ext.apply(f,{
-                        dataUrl:basePath + 'document/vendor/list',
+                        dataUrl:'/api/document/vendor/list',
                         addXtype: 'document-vendor-formpanel',
                         addTitle: '供应商资料',
                         dbfinds:[{
@@ -63,7 +63,7 @@ Ext.define('saas.view.money.paybalance.QueryPanelController', {
                 beforerender:function(f){
                     Ext.apply(f,{
                         conditionCode:'pr_code',
-                        dataUrl:basePath + 'document/product/list',
+                        dataUrl:'/api/document/product/list',
                         addXtype: 'document-product-formpanel',
                         addTitle: '物料资料',
                         dbfinds:[{

+ 7 - 7
frontend/saas-web/app/view/money/recBalance/FormPanel.js

@@ -16,11 +16,11 @@ Ext.define('saas.view.money.recBalance.FormPanel', {
     _statusField: 'rb_status',
     _statusCodeField: 'rb_statuscode',
     
-    _readUrl: basePath + 'money/recbalance/read/',
-    _saveUrl: basePath + 'money/recbalance/save/',
-    _auditUrl: basePath + 'money/recbalance/audit/',
-    _unAuditUrl: basePath + 'money/recbalance/unAudit/',
-    _deleteUrl: basePath + 'money/recbalance/delete/',
+    _readUrl: '/api/money/recbalance/read/',
+    _saveUrl: '/api/money/recbalance/save/',
+    _auditUrl: '/api/money/recbalance/audit/',
+    _unAuditUrl: '/api/money/recbalance/unAudit/',
+    _deleteUrl: '/api/money/recbalance/delete/',
     initId: 0,
 
     defaultItems: [{
@@ -81,7 +81,7 @@ Ext.define('saas.view.money.recBalance.FormPanel', {
         xtype: "detailGridField",
         storeModel: 'saas.model.money.RecBalance1',
         detnoColumn: 'rd_detno',
-        deleteDetailUrl: basePath + 'money/recbalance/deleteDetail1/',
+        deleteDetailUrl: '/api/money/recbalance/deleteDetail1/',
         columns: [{
             text: 'ID',
             dataIndex: 'id',
@@ -142,7 +142,7 @@ Ext.define('saas.view.money.recBalance.FormPanel', {
         xtype: "detailGridField",
         storeModel: 'saas.model.money.RecBalance2',
         detnoColumn: 'rbd_detno',
-        deleteDetailUrl: basePath + 'money/recbalance/deleteDetail2/',
+        deleteDetailUrl: '/api/money/recbalance/deleteDetail2/',
         columns: [{
             text: 'ID',
             dataIndex: 'id',

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

@@ -9,7 +9,7 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
                 beforerender:function(f){
                     Ext.apply(f,{
                         //数据接口
-                        dataUrl: basePath + 'document/customer/list',
+                        dataUrl: '/api/document/customer/list',
                         addXtype: 'document-customer-formpanel',
                         addTitle: '客户资料',
                         //赋值 
@@ -66,7 +66,7 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
                 beforerender:function(f){
                     Ext.apply(f,{
                         //数据接口
-                        dataUrl: basePath + 'document/customer/list',
+                        dataUrl: '/api/document/customer/list',
                         addXtype: 'document-customer-formpanel',
                         addTitle: '客户资料',
                         //赋值 

+ 1 - 1
frontend/saas-web/app/view/money/recBalance/QueryPanel.js

@@ -33,7 +33,7 @@ Ext.define('saas.view.money.recBalance.QueryPanel', {
         addTitle: '收款单',
         addXtype: 'money-recbalance-formpanel',
         defaultCondition:'',
-        baseVastUrl: basePath + 'money/recbalance/',
+        baseVastUrl: '/api/money/recbalance/',
         baseColumn: [{
             text: 'id',
             dataIndex: 'id',

+ 2 - 2
frontend/saas-web/app/view/money/recBalance/QueryPanelController.js

@@ -9,7 +9,7 @@ Ext.define('saas.view.money.recBalance.QueryPanelController', {
             'dbfindtrigger[name=pu_vendname]':{
                 beforerender:function(f){
                     Ext.apply(f,{
-                        dataUrl: basePath + 'document/vendor/list',
+                        dataUrl: '/api/document/vendor/list',
                         addXtype: 'document-vendor-formpanel',
                         addTitle: '供应商资料',
                         dbfinds:[{
@@ -63,7 +63,7 @@ Ext.define('saas.view.money.recBalance.QueryPanelController', {
                 beforerender:function(f){
                     Ext.apply(f,{
                         conditionCode:'pr_code',
-                        dataUrl: basePath + 'document/product/list',
+                        dataUrl: '/api/document/product/list',
                         addXtype: 'document-product-formpanel',
                         addTitle: '物料资料',
                         dbfinds:[{

+ 16 - 11
frontend/saas-web/app/view/purchase/purchase/FormPanel.js

@@ -16,12 +16,20 @@ Ext.define('saas.view.purchase.purchase.FormPanel', {
      _statusCodeField: 'pu_statuscode',
      _relationColumn: 'pd_puid',
 
-     _readUrl:basePath+'purchase/purchase/read/',
-     _saveUrl:basePath+'purchase/purchase/save/',
-     _auditUrl:basePath+'purchase/purchase/audit/',
-     _unAuditUrl: basePath + 'purchase/purchase/unAudit/',
-     _deleteUrl:basePath+'purchase/purchase/delete/',
-     _turnInUrl:basePath+'purchase/prodinout/turnProdin/',
+     _readUrl:'/api/purchase/purchase/read/',
+     _saveUrl:'/api/purchase/purchase/save/',
+     _auditUrl:'/api/purchase/purchase/audit/',
+     _unAuditUrl: '/api/purchase/purchase/unAudit/',
+     _deleteUrl:'/api/purchase/purchase/delete/',
+     _turnInUrl:'/api/purchase/purchase/turnProdin/',
+
+    // _readUrl:'http://localhost:8800/purchase/read/',
+    // _saveUrl:'http://localhost:8800/purchase/save',
+    // _auditUrl:'http://localhost:8800/purchase/audit',
+    // _unAuditUrl: '/api/purchase/purchase/unAudit/',
+    // _deleteUrl:'http://localhost:8800/purchase/delete/',
+    // _turnInUrl:'http://localhost:8800/purchase/turnProdin/',
+
      initId:0,
  
      toolBtns: [{
@@ -79,7 +87,7 @@ Ext.define('saas.view.purchase.purchase.FormPanel', {
         xtype : "detailGridField", 
         storeModel:'saas.model.purchase.ProdIODetail',
         detnoColumn:  'pd_detno',
-        deleteDetailUrl:basePath+'purchase/purchase/deleteDetail/',
+        deleteDetailUrl:'/api/purchase/purchase/deleteDetail/',
         columns : [
             {
                 text : "id", 
@@ -156,8 +164,6 @@ Ext.define('saas.view.purchase.purchase.FormPanel', {
                 dataIndex : "pd_price", 
                 width : 120.0, 
                 xtype : "numbercolumn",
-                items : null,
-                summaryType: 'sum'
             }, 
             {
                 text : "税率", 
@@ -166,8 +172,7 @@ Ext.define('saas.view.purchase.purchase.FormPanel', {
                 },
                 dataIndex : "pd_taxrate", 
                 width : 120.0, 
-                xtype : "numbercolumn", 
-                items : null
+                xtype : "numbercolumn",
             },
             {
                 text : "含税金额", 

+ 2 - 2
frontend/saas-web/app/view/purchase/purchase/FormPanelController.js

@@ -9,7 +9,7 @@ Ext.define('saas.view.purchase.purchase.FormPanelController', {
                 beforerender:function(f){
                     Ext.apply(f,{
                         //数据接口
-                        dataUrl:basePath+'document/vendor/list',
+                        dataUrl:'/api/document/vendor/list',
                         addXtype: 'document-vendor-formpanel',
                         addTitle: '供应商资料',
                         //赋值 
@@ -79,7 +79,7 @@ Ext.define('saas.view.purchase.purchase.FormPanelController', {
                 beforerender:function(f){
                     Ext.apply(f,{
                         //数据接口
-                        dataUrl: basePath + 'document/product/list',
+                        dataUrl: '/api/document/product/list',
                         addXtype: 'document-product-formpanel',
                         addTitle: '物料资料',
                         //放大镜赋值设置

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

@@ -96,7 +96,7 @@ Ext.define('saas.view.purchase.purchase.QueryPanel', {
         addTitle: '采购单',
         addXtype: 'purchase-purchase-formpanel',
         defaultCondition:'',
-        baseVastUrl: basePath+'purchase/purchase/',
+        baseVastUrl: '/api/purchase/purchase/',
         baseColumn: [{
             text: 'id',
             dataIndex: 'pu_id',

+ 2 - 2
frontend/saas-web/app/view/purchase/purchase/QueryPanelController.js

@@ -9,7 +9,7 @@ Ext.define('saas.view.purchase.purchase.QueryPanelController', {
             'dbfindtrigger[name=pu_vendcode]':{
                 beforerender:function(f){
                     Ext.apply(f,{
-                        dataUrl:basePath+'document/vendor/list',
+                        dataUrl:'/api/document/vendor/list',
                         addXtype: 'document-vendor-formpanel',
                         addTitle: '供应商资料',
                         dbfinds:[{
@@ -63,7 +63,7 @@ Ext.define('saas.view.purchase.purchase.QueryPanelController', {
                 beforerender:function(f){
                     Ext.apply(f,{
                         conditionCode:'pr_code',
-                        dataUrl:basePath+'document/product/list',
+                        dataUrl:'/api/document/product/list',
                         addXtype: 'document-product-formpanel',
                         addTitle: '物料资料',
                         dbfinds:[{

+ 16 - 15
frontend/saas-web/app/view/purchase/purchaseIn/FormPanel.js

@@ -16,12 +16,12 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanel', {
     _statusCodeField: 'pi_statuscode',
     
     _relationColumn: 'pd_piid',
-    _readUrl:basePath+'purchase/prodinout/read/',
-    _saveUrl:basePath+'purchase/prodinout/save',
-    _auditUrl:basePath+'purchase/prodinout/audit',
-    _deleteUrl:basePath+'purchase/prodinout/delete',
-    _baseVastUrl:basePath+'purchase/prodinout/',
-    _turnOutUrl:basePath+'purchase/prodinout/turnProdOut/',
+    _readUrl:'/api/purchase/prodinout/read/',
+    _saveUrl:'/api/purchase/prodinout/save',
+    _auditUrl:'/api/purchase/prodinout/audit',
+    _unAuditUrl:'/api/purchase/prodinout/unAudit/',
+    _deleteUrl:'/api/purchase/prodinout/delete/',
+    _turnOutUrl:'/api/purchase/prodinout/turnProdOut/',
 
     // _relationColumn: 'pd_piid',
     // _readUrl:'http://localhost:8800/prodinout/read/',
@@ -106,7 +106,7 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanel', {
         xtype : "detailGridField",
         storeModel:'saas.model.document.ProductDTO',
         // deleteDetailUrl:'http://localhost:8800/prodinout/deleteDetail/',
-        deleteDetailUrl:basePath+'purchase/prodinout/deleteDetail/',
+        deleteDetailUrl:'api/purchase/prodinout/deleteDetail/',
         detnoColumn:  'pd_pdno',
         columns : [
             {
@@ -170,9 +170,6 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanel', {
             },            {
                 text : "已转数", 
                 dataIndex : "pd_yqty", 
-                editor : {
-                    xtype : "numberfield"
-                },
                 width : 120.0, 
                 xtype : "numbercolumn", 
                 format:'0',
@@ -209,11 +206,13 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanel', {
                 }
             },
             {
-                text : "单价", 
+                text : "单价",
+                editor : {
+                    xtype : "numberfield"
+                }, 
                 dataIndex : "pd_orderprice", 
                 width : 120.0, 
-                xtype : "numbercolumn", 
-                items : null
+                xtype : "numbercolumn"
             }, 
            {
                 text : "含税金额", 
@@ -222,10 +221,12 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanel', {
                 xtype : "numbercolumn"
             }, {
                 text : "税率", 
+                editor : {
+                    xtype : "numberfield"
+                }, 
                 dataIndex : "pd_taxrate", 
                 width : 120.0, 
-                xtype : "numbercolumn", 
-                items : null
+                xtype : "numbercolumn"
             },
             {
                 text : "未税金额", 

+ 4 - 4
frontend/saas-web/app/view/purchase/purchaseIn/FormPanelController.js

@@ -16,7 +16,7 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanelController', {
                 beforerender:function(f){
                     Ext.apply(f,{
 
-                        dataUrl:basePath+'document/vendor/list',
+                        dataUrl:'/api/document/vendor/list',
                         // dataUrl:'http://localhost:9480/vendor/list',
                         addXtype: 'document-vendor-formpanel',
                         addTitle: '供应商资料',
@@ -72,7 +72,7 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanelController', {
             'dbfindtrigger[name=pd_prodcode]':{
                 beforerender:function(f){
                     Ext.apply(f,{
-                        dataUrl:basePath+'document/product/list',
+                        dataUrl:'/api/document/product/list',
                         // dataUrl:'http://localhost:9480/product/list',
                         addXtype: 'document-product-formpanel',
                         addTitle: '物料资料',
@@ -136,9 +136,9 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanelController', {
             'dbfindtrigger[name=pd_whname]':{
                 beforerender:function(f){
                     Ext.apply(f,{
-                        dataUrl:basePath+'document/warehouse/list',
+                        dataUrl:'/api/document/warehouse/list',
                         // dataUrl:'http://localhost:9480/warehouse/list',
-                        addXtype: 'other-storeinformation',
+                        addXtype: 'other-warehouse',
                         addTitle: '仓库资料',
                         dbfinds:[{
                             from:'id',to:'pd_whid'                          

Some files were not shown because too many files changed in this diff