Browse Source

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

guq 7 years ago
parent
commit
6ecc339377

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

@@ -94,8 +94,7 @@ public class PurchaseController {
      */
     @PostMapping("/audit")
     public Result audit(@RequestBody PurchaseFormDTO formData) {
-        DocBaseDTO audit = purchaseService.audit(formData);
-        return Result.success(audit);
+        return purchaseService.audit(formData);
     }
 
     /**

+ 1 - 0
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/mapper/ProdIODetailMapper.java

@@ -36,4 +36,5 @@ public interface ProdIODetailMapper extends CommonBaseMapper<ProdIODetail> {
     void calcProdOut(@Param("pi_id") Long pi_id);
 
     void getDefaultWarehouseByProduct(@Param("pi_id") Long pi_id);
+
 }

+ 2 - 0
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/mapper/PurchasedetailMapper.java

@@ -28,6 +28,8 @@ public interface PurchasedetailMapper extends CommonBaseMapper<Purchase> {
 
     void calcPurchase(Long pu_id);
 
+    String checkzxbzs(Long id);
+
 //    void getVendorTaxrate(Long pu_id);
 //
 //    void getPrice(Long pu_id);

+ 3 - 1
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/PurchaseService.java

@@ -71,7 +71,9 @@ public interface PurchaseService extends CommonBaseService<PurchaseMapper, Purch
      * @param formData
      * @return
      */
-    DocBaseDTO audit(PurchaseFormDTO formData);
+    Result audit(PurchaseFormDTO formData);
+
+
 
     /**
     * @Description 批量审核

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

@@ -206,7 +206,7 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
 
     @Override
     @Transactional
-    public DocBaseDTO audit(PurchaseFormDTO formData) {
+    public Result audit(PurchaseFormDTO formData) {
         Long id = null;
         DocBaseDTO baseDTO = null;
         if (null != formData) {
@@ -215,9 +215,9 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
                 baseDTO = saveFormData(formData);
                 id = baseDTO.getId();
             }
-            singleAudit(id);
+            return singleAudit(id);
         }
-        return baseDTO;
+        return Result.error("数据为空");
     }
 
     @Override
@@ -467,7 +467,11 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
         return Result.success(baseDTO);
     }
 
-    private void singleAudit(Long id) {
+    private Result singleAudit(Long id) {
+        DocBaseDTO docBaseDTO = getBaseDTOById(id);
+        Result result = Result.success(docBaseDTO);
+        //检查最小包装数
+        result.setMessage(purchasedetailMapper.checkzxbzs(id));
         Purchase purchase = new Purchase();
         //生成更新对象
         purchase.setId(id);
@@ -479,9 +483,9 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
         purchaseMapper.updateByPrimaryKeySelective(purchase);
         //更新最新采购单价
         productApi.updateLatestPurchasePrice(id);
-        DocBaseDTO docBaseDTO = getBaseDTOById(id);
         //日志
         messageLogService.audit(docBaseDTO);
+        return result;
     }
 
     private void singleUnAudit(Long id) {

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

@@ -465,9 +465,12 @@
   </update>
 
 
-
-
-
+  <select id="checkzxbzs" parameterType="long" resultType="string">
+    select GROUP_CONCAT(CONCAT(PD_DETNO,'行',PD_PRODCODE,'物料采购数量不是最小包装数',round(pr_zxbzs,0),'的整数倍')) from purchasedetail left join product on PD_PRODID = pr_id
+    where
+    MOD(PD_QTY,pr_zxbzs)!=0 and
+    PD_PUID = #{id,jdbcType=INTEGER};
+  </select>
 
 
 </mapper>

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

@@ -105,11 +105,14 @@ Ext.define('saas.view.core.form.FormPanelController', {
                 var newTitle = form._title + '(' + code + ')';
 
                 refreshTabTitle(newId, newTitle);
+
+                form.fireEvent('aftersave', true, form, localJson);
             }
         })
         .catch(function(res) {
             console.error(res);
             showToast('保存失败: ' + res.message);
+            form.fireEvent('aftersave', false, form, res);
         });
     },
 
@@ -164,7 +167,8 @@ Ext.define('saas.view.core.form.FormPanelController', {
                 }
                 form.FormUtil.loadData(form);
                 form.setEditable(false);
-                showToast('审核成功');
+                showToast('审核成功' + (localJson.message ? ': ' + localJson.message : ''));
+                form.fireEvent('afteraudit', true, form, localJson);
             }
         })
         .catch(function(res) {
@@ -182,6 +186,7 @@ Ext.define('saas.view.core.form.FormPanelController', {
                 form.FormUtil.loadData(form);
             }
             showToast('审核失败: ' + res.message);
+            form.fireEvent('afteraudit', false, form, res);
         });
     },
     unAudit: function() {

+ 6 - 3
frontend/saas-web/app/view/purchase/purchase/FormPanel.js

@@ -157,7 +157,8 @@ Ext.define('saas.view.purchase.purchase.FormPanel', {
                 width : 120.0,
                 editor : {
                     xtype : "numberfield",
-                    decimalPrecision: 8
+                    decimalPrecision: 8,
+                    editable : false
                 },
                 renderer : function(v) {
                     var arr = (v + '.').split('.');
@@ -206,7 +207,8 @@ Ext.define('saas.view.purchase.purchase.FormPanel', {
                 width : 120.0, 
                 editor : {
                     xtype : "numberfield",
-                    decimalPrecision: 2
+                    decimalPrecision: 2,
+                    editable : false
                 },
                 renderer : function(v) {
                     var arr = (v + '.').split('.');
@@ -228,7 +230,8 @@ Ext.define('saas.view.purchase.purchase.FormPanel', {
                 width : 120.0,
                 editor : {
                     xtype : "numberfield",
-                    decimalPrecision: 2
+                    decimalPrecision: 2,
+                    editable : false
                 },
                 renderer : function(v) {
                     var arr = (v + '.').split('.');

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

@@ -189,7 +189,8 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanel', {
                 width : 120.0,
                 editor : {
                     xtype : "numberfield",
-                    decimalPrecision: 8
+                    decimalPrecision: 8,
+                    editable : false
                 },
                 renderer : function(v) {
                     var arr = (v + '.').split('.');
@@ -249,14 +250,24 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanel', {
                     var format = '0,000.' + xr.join();
                     return Ext.util.Format.number(v, format);
                 },
-            }, 
-           {
+            }, {
+                text : "税率", 
+                dataIndex : "pd_taxrate", 
+                width : 120.0,
+                editor : {
+                    xtype : "numberfield",
+                    decimalPrecision: 0,
+                    minValue: 0,
+                    maxValue: 100
+                }
+            },{
                 text : "含税金额", 
                 dataIndex : "pd_total", 
                 width : 120.0, 
                 editor : {
                     xtype : "numberfield",
-                    decimalPrecision: 2
+                    decimalPrecision: 2,
+                    editable : false
                 },
                 renderer : function(v) {
                     var arr = (v + '.').split('.');
@@ -271,23 +282,14 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanel', {
                     var format = '0,000.' + xr.join();
                     return Ext.util.Format.number(v, format);
                 }
-            }, {
-                text : "税率", 
-                dataIndex : "pd_taxrate", 
-                width : 120.0,
-                editor : {
-                    xtype : "numberfield",
-                    decimalPrecision: 0,
-                    minValue: 0,
-                    maxValue: 100
-                }
             },
             {
                 text : "未税金额", 
                 dataIndex : "pd_nettotal", 
                 editor : {
                     xtype : "numberfield",
-                    decimalPrecision: 2
+                    decimalPrecision: 2,
+                    editable : false
                 },
                 renderer : function(v) {
                     var arr = (v + '.').split('.');

+ 40 - 19
frontend/saas-web/app/view/purchase/purchaseOut/FormPanel.js

@@ -174,15 +174,18 @@ Ext.define('saas.view.purchase.purchaseOut.FormPanel', {
                     var format = '0.' + xr.join();
                     return Ext.util.Format.number(v, format);
                 }
-            },            {
-                text : "已转数", 
-                dataIndex : "pd_yqty", 
-                width : 120.0, 
-                xtype : "numbercolumn", 
-                format:'0',
-                items : null,
-                summaryType: 'sum'
-            },{
+            },            
+            // {
+            //     text : "已转数", 
+            //     dataIndex : "pd_yqty", 
+            //     width : 120.0, 
+            //     xtype : "numbercolumn", 
+            //     format:'0',
+            //     items : null,
+            //     summaryType: 'sum'
+            // },
+            
+            {
                 text : "仓库id", 
                 dataIndex : "pd_whid", 
                 xtype : "numbercolumn",
@@ -222,29 +225,47 @@ Ext.define('saas.view.purchase.purchaseOut.FormPanel', {
                 dataIndex : "pd_orderprice", 
                 width : 120.0, 
                 xtype : "numbercolumn"
-            }, 
-           {
-                text : "含税金额", 
-                dataIndex : "pd_total", 
-                width : 120.0, 
-                xtype : "numbercolumn",
-                summaryType: 'sum'
-            }, {
+            },{
                 text : "税率", 
-                dataIndex : "pd_taxrate",
+                dataIndex : "pd_taxrate", 
+                width : 120.0,
                 editor : {
                     xtype : "numberfield",
                     decimalPrecision: 0,
                     minValue: 0,
                     maxValue: 100
                 }
+            }, 
+            {
+                text : "含税金额", 
+                dataIndex : "pd_total", 
+                width : 120.0, 
+                editor : {
+                    xtype : "numberfield",
+                    decimalPrecision: 2,
+                    editable : false
+                },
+                renderer : function(v) {
+                    var arr = (v + '.').split('.');
+                    var xr = (new Array(arr[1].length)).fill('0');
+                    var format = '0,000.' + xr.join();
+                    return Ext.util.Format.number(v, format);
+                },
+                summaryType: 'sum',
+                summaryRenderer: function(v) {
+                    var arr = (v + '.').split('.');
+                    var xr = (new Array(arr[1].length)).fill('0');
+                    var format = '0,000.' + xr.join();
+                    return Ext.util.Format.number(v, format);
+                }
             },
             {
                 text : "未税金额", 
                 dataIndex : "pd_nettotal", 
                 editor : {
                     xtype : "numberfield",
-                    decimalPrecision: 2
+                    decimalPrecision: 2,
+                    editable : false
                 },
                 renderer : function(v) {
                     var arr = (v + '.').split('.');