Browse Source

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

will.chen 7 years ago
parent
commit
f96e02c15c
18 changed files with 180 additions and 102 deletions
  1. 2 10
      applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/PurchaseDTO.java
  2. 2 16
      applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/PurchaseDetailDTO.java
  3. 3 3
      applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/PurchaseFormDTO.java
  4. 2 9
      applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/PurchaseListDTO.java
  5. 27 3
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/controller/PurchaseController.java
  6. 3 1
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/mapper/PurchaseMapper.java
  7. 9 9
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/mapper/PurchasedetailMapper.java
  8. 1 1
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/po/PurchaseDetail.java
  9. 2 9
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/po/PurchaseList.java
  10. 1 1
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/po/Status.java
  11. 18 1
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/PurchaseService.java
  12. 49 13
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/PurchaseServiceImpl.java
  13. 3 1
      applications/purchase/purchase-server/src/main/resources/mapper/PurchaseListMapper.xml
  14. 9 0
      applications/purchase/purchase-server/src/main/resources/mapper/PurchaseMapper.xml
  15. 7 7
      applications/purchase/purchase-server/src/main/resources/mapper/PurchasedetailMapper.xml
  16. 2 3
      frontend/saas-web/app/view/core/form/FormPanelController.js
  17. 27 12
      frontend/saas-web/app/view/core/form/field/DetailGridField.js
  18. 13 3
      frontend/saas-web/app/view/test/order/FormPanel.js

+ 2 - 10
applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/PurchaseDTO.java

@@ -1,5 +1,6 @@
 package com.usoftchina.saas.purchase.dto;
 
+import com.usoftchina.saas.base.dto.CommonBaseDTO;
 import io.swagger.annotations.ApiModel;
 import lombok.Data;
 
@@ -12,16 +13,7 @@ import java.util.Date;
  */
 @Data
 @ApiModel(value = "Purchase", description = "采购订单")
-public class PurchaseDTO implements Serializable{
-    protected Long id;
-    /**
-     * company id
-     */
-    protected long companyId;
-    protected Date createTime;
-    protected long creatorId;
-    protected Date updateTime;
-    protected long updaterId;
+public class PurchaseDTO extends CommonBaseDTO implements Serializable{
 
     private String pu_code;
 

+ 2 - 16
applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/PurchaseItemDTO.java → applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/PurchaseDetailDTO.java

@@ -1,5 +1,6 @@
 package com.usoftchina.saas.purchase.dto;
 
+import com.usoftchina.saas.base.dto.CommonBaseDTO;
 import com.usoftchina.saas.document.entities.Product;
 import lombok.Data;
 
@@ -11,22 +12,7 @@ import java.util.Date;
  * @date 2018/10/9
  */
 @Data
-public class PurchaseItemDTO implements Serializable{
-    protected Long id;
-
-    /**
-     * company id
-
-     */
-    protected long companyId;
-
-    protected Date createTime;
-
-    protected long creatorId;
-
-    protected Date updateTime;
-
-    protected long updaterId;
+public class PurchaseDetailDTO extends CommonBaseDTO implements Serializable{
 
     private  Long pd_puid;
 

+ 3 - 3
applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/PurchaseFormDTO.java

@@ -11,7 +11,7 @@ import java.util.List;
  */
 public class PurchaseFormDTO implements Serializable{
     private PurchaseDTO main;
-    private List<PurchaseItemDTO> items;
+    private List<PurchaseDetailDTO> items;
 
     public PurchaseDTO getMain() {
         return main;
@@ -21,11 +21,11 @@ public class PurchaseFormDTO implements Serializable{
         this.main = main;
     }
 
-    public List<PurchaseItemDTO> getItems() {
+    public List<PurchaseDetailDTO> getItems() {
         return items;
     }
 
-    public void setItems(List<PurchaseItemDTO> items) {
+    public void setItems(List<PurchaseDetailDTO> items) {
         this.items = items;
     }
 

+ 2 - 9
applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/PurchaseListDTO.java

@@ -1,5 +1,6 @@
 package com.usoftchina.saas.purchase.dto;
 
+import com.usoftchina.saas.base.dto.CommonBaseDTO;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -12,16 +13,8 @@ import java.util.Date;
  * @date 2018/10/9
  */
 @Data
-public class PurchaseListDTO implements Serializable {
+public class PurchaseListDTO extends CommonBaseDTO implements Serializable {
     //主表信息
-    protected long companyId;
-
-    protected Date createTime;
-
-    protected Date updateTime;
-
-    protected long updaterId;
-
     private  Integer pu_id;
 
     private String pu_code;

+ 27 - 3
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/controller/PurchaseController.java

@@ -80,9 +80,9 @@ public class PurchaseController {
      * @param id
      * @return
      */
-    @GetMapping("/deleteItem/{id}")
-    public Result deleteItem(@PathVariable("id") Long id) {
-        purchaseService.deleteItem(id);
+    @GetMapping("/deleteDetail/{id}")
+    public Result deleteDetail(@PathVariable("id") Long id) {
+        purchaseService.deleteDetail(id);
         return Result.success();
     }
 
@@ -98,6 +98,18 @@ public class PurchaseController {
         return Result.success(audit);
     }
 
+    /**
+     * 采购订单审批
+     *
+     * @param id
+     * @return
+     */
+    @GetMapping("/unAudit/{id}")
+    public Result unAudit(@PathVariable("id") Long id) {
+        purchaseService.unAudit(id);
+        return Result.success();
+    }
+
     /**
      * 采购订单批量审核
      *
@@ -122,4 +134,16 @@ public class PurchaseController {
         return Result.success();
     }
 
+    /**
+     * 采购订单批量反审核
+     *
+     * @param baseDTOs
+     * @return
+     */
+    @PostMapping("/batchUnAudit")
+    public Result batchUnAudit(@RequestBody BatchDealBaseDTO baseDTOs) {
+        purchaseService.batchUnAudit(baseDTOs);
+        return Result.success();
+    }
+
 }

+ 3 - 1
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/mapper/PurchaseMapper.java

@@ -16,5 +16,7 @@ public interface PurchaseMapper extends CommonBaseMapper<Purchase>{
 
     String validateAudit(List<DocBaseDTO> list);
 
-    List<Purchase> selectByTest(String con);
+    String validateUnAudit(Long id);
+
+    String validateBatchUnAudit(List<DocBaseDTO> baseDTOs);
 }

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

@@ -2,28 +2,28 @@ package com.usoftchina.saas.purchase.mapper;
 
 import com.usoftchina.saas.base.mapper.CommonBaseMapper;
 import com.usoftchina.saas.purchase.po.Purchase;
-import com.usoftchina.saas.purchase.po.PurchaseItem;
+import com.usoftchina.saas.purchase.po.PurchaseDetail;
 import java.util.List;
 
 
 public interface PurchasedetailMapper extends CommonBaseMapper<Purchase> {
     int deleteByPrimaryKey(Integer pdId);
 
-    int insert(PurchaseItem record);
+    int insert(PurchaseDetail record);
 
-    int insertSelective(PurchaseItem record);
+    int insertSelective(PurchaseDetail record);
 
-    PurchaseItem selectByPrimaryKey(Integer pdId);
+    PurchaseDetail selectByPrimaryKey(Integer pdId);
 
-    int updateByPrimaryKeySelective(PurchaseItem record);
+    int updateByPrimaryKeySelective(PurchaseDetail record);
 
-    int updateByPrimaryKey(PurchaseItem record);
+    int updateByPrimaryKey(PurchaseDetail record);
 
-    void batchInsert(List<PurchaseItem> list);
+    void batchInsert(List<PurchaseDetail> list);
 
-    void batchUpdate(List<PurchaseItem> list);
+    void batchUpdate(List<PurchaseDetail> list);
 
     void deleteByForeignKey(Long fk_id);
 
-    List<PurchaseItem> selectByFK(Long fk_i);
+    List<PurchaseDetail> selectByFK(Long fk_i);
 }

+ 1 - 1
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/po/PurchaseItem.java → applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/po/PurchaseDetail.java

@@ -8,7 +8,7 @@ import lombok.Data;
 import java.io.Serializable;
 
 @Data
-public class PurchaseItem extends CommonBaseEntity implements Serializable {
+public class PurchaseDetail extends CommonBaseEntity implements Serializable {
 
     private  Long pd_puid;
 

+ 2 - 9
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/po/PurchaseList.java

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.purchase.po;
 
 
+import com.usoftchina.saas.base.entity.CommonBaseEntity;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -11,17 +12,9 @@ import java.util.Date;
  * @create: 2018-10-10 16:42
  **/
 @Data
-public class PurchaseList implements Serializable {
+public class PurchaseList extends CommonBaseEntity implements Serializable {
 
     //主表信息
-    protected long companyId;
-
-    protected Date createTime;
-
-    protected Date updateTime;
-
-    protected long updaterId;
-
     private  Integer pu_id;
 
     private String pu_code;

+ 1 - 1
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/po/Status.java

@@ -4,7 +4,7 @@ public enum Status {
     /**
      * 在录入
      */
-    ENTERING("在录入"),
+    UNAUDITED("未审核"),
 
     /**
      * 已审核

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

@@ -63,7 +63,7 @@ public interface PurchaseService extends CommonBaseService<PurchaseMapper, Purch
      * @param id
      * @return
      */
-    int deleteItem(Long id);
+    int deleteDetail(Long id);
 
     /**
      * 删除明细
@@ -90,5 +90,22 @@ public interface PurchaseService extends CommonBaseService<PurchaseMapper, Purch
     * @Date: 2018/10/15
     */
     void batchDelete(BatchDealBaseDTO baseDTOs);
+    /**
+    * @Description
+     * 反审核
+    * @Param: [id]
+    * @return: com.usoftchina.saas.common.dto.DocSavedDTO
+    * @Author: guq
+    * @Date: 2018/10/17
+    */
+    void unAudit(Long id);
 
+    /** 
+    * @Description
+    * @Param: [baseDTOs] 
+    * @return: void 
+    * @Author: guq
+    * @Date: 2018/10/17 
+    */
+    void batchUnAudit(BatchDealBaseDTO baseDTOs);
 }

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

@@ -19,7 +19,6 @@ import com.usoftchina.saas.purchase.service.PurchaseService;
 import com.usoftchina.saas.utils.BeanMapper;
 
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
@@ -68,8 +67,8 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
         //将purchase实体对象转化成传输对象
         PurchaseDTO main = BeanMapper.map(purchase, PurchaseDTO.class);
         //查询从表
-        List<PurchaseItem> purchaseItems = purchasedetailMapper.selectByFK(id);
-        List<PurchaseItemDTO> items = BeanMapper.mapList(purchaseItems, PurchaseItemDTO.class);
+        List<PurchaseDetail> purchaseDetails = purchasedetailMapper.selectByFK(id);
+        List<PurchaseDetailDTO> items = BeanMapper.mapList(purchaseDetails, PurchaseDetailDTO.class);
         purchaseFormDTO.setMain(main);
         purchaseFormDTO.setItems(items);
         return  purchaseFormDTO;
@@ -83,17 +82,17 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
 
         //获取主表信息
         PurchaseDTO main = formdata.getMain();
-        List<PurchaseItemDTO> items = formdata.getItems();
+        List<PurchaseDetailDTO> items = formdata.getItems();
         //插入从表数据
-        List<PurchaseItem> insertDetails = new ArrayList<>();
+        List<PurchaseDetail> insertDetails = new ArrayList<>();
         //更新从表数据
-        List<PurchaseItem> updateDetails = new ArrayList<>();
+        List<PurchaseDetail> updateDetails = new ArrayList<>();
         DocSavedDTO saveDTO = new DocSavedDTO();
         Long pu_id = main.getId();
         String pu_code = main.getPu_code();
         Purchase purchase = BeanMapper.map(main, Purchase.class);
 
-        //编号获取
+        //编号获取 到时候确定处理
         if (StringUtils.isEmpty(pu_code)) {
             pu_code = "PU" + Math.random() * 1000;
             purchase.setPu_code(pu_code);
@@ -104,8 +103,8 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
             //更新主表
             purchaseMapper.updateByPrimaryKeySelective(purchase);
             //添加从表传输对象
-            for (PurchaseItemDTO item : items) {
-                PurchaseItem detail = BeanMapper.map(item, PurchaseItem.class);
+            for (PurchaseDetailDTO item : items) {
+                PurchaseDetail detail = BeanMapper.map(item, PurchaseDetail.class);
                 detail.setPd_puid(pu_id);
                 detail.setPd_code(pu_code);
                 if (!StringUtils.isEmpty(detail.getId())) {
@@ -130,8 +129,8 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
         purchaseMapper.insertSelective(purchase);
         pu_id = purchase.getId();
         //添加从表传输对象
-        for (PurchaseItemDTO item : items) {
-            PurchaseItem detail = BeanMapper.map(item, PurchaseItem.class);
+        for (PurchaseDetailDTO item : items) {
+            PurchaseDetail detail = BeanMapper.map(item, PurchaseDetail.class);
             detail.setPd_puid(pu_id);
             detail.setPd_code(pu_code);
             insertDetails.add(detail);
@@ -150,7 +149,7 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
     }
 
     @Override
-    public int deleteItem(Long id) {
+    public int deleteDetail(Long id) {
         return purchasedetailMapper.deleteByPrimaryKey(id);
     }
 
@@ -194,6 +193,32 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
         }
     }
 
+    @Override
+    public void unAudit(Long id) {
+        if (null == id) {
+            return;
+        }
+        String code = purchaseMapper.validateUnAudit(id);
+        if (null != code) {
+            throw new BizException(500, "单据:" + code + " 未审核,无法反审核");
+        }
+        singleUnAudit(id);
+    }
+
+    @Override
+    public void batchUnAudit(BatchDealBaseDTO baseDTOs) {
+        if (null == baseDTOs || null == baseDTOs.getBaseDTOs() ||
+                baseDTOs.getBaseDTOs().size() == 0)
+            return;
+        String msg = purchaseMapper.validateBatchUnAudit(baseDTOs.getBaseDTOs());
+        if (null != msg) {
+            throw new BizException(500, "存在未审核单据,单据编号:" + msg);
+        }
+        for (DocBaseDTO base : baseDTOs.getBaseDTOs()) {
+            singleUnAudit(base.getId());
+        }
+    }
+
     private void singleAudit(Long id) {
         Purchase purchase = new Purchase();
         //生成更新对象
@@ -207,6 +232,17 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
         productApi.updateLatestPurchasePrice(id);
     }
 
+    private void singleUnAudit(Long id) {
+        Purchase purchase = new Purchase();
+        //生成更新对象
+        purchase.setId(id);
+        purchase.setPu_status(Status.UNAUDITED.getDisplay());
+        purchase.setPu_statuscode(Status.UNAUDITED.name());
+        purchase.setUpdateTime(new Date());
+        //更新存在字段
+        purchaseMapper.updateByPrimaryKeySelective(purchase);
+    }
+
     private void singleDelete(Long id) {
         if (null != id) {
             //从表删除
@@ -218,7 +254,7 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
 
     private List<PurchaseList> getListByMode(PurchaseReqDTO req) {
         List<PurchaseList> list = null;
-        if (null == req || StringUtils.isEmpty(req.getMode()) || "Main".equals(req.getMode())) {
+        if (null == req || StringUtils.isEmpty(req.getMode()) || "MAIN".equals(req.getMode())) {
             list = purchaseListMapper.selectPurchaseBycondition(req);
         } else {
             list = purchaseListMapper.selectPurchaseListByCondition(req);

+ 3 - 1
applications/purchase/purchase-server/src/main/resources/mapper/PurchaseListMapper.xml

@@ -70,6 +70,7 @@
             <if test="keyword != null">
                 AND ${keyword}
             </if>
+            order by pu_id,pd_detno desc
         </where>
     </select>
 
@@ -89,6 +90,7 @@
                 AND ${keyword}
             </if>
         </where>
+        order by pu_id desc
     </select>
     <insert id="batchInsert" parameterType="java.util.List" >
         insert into purchasedetail ( PD_PUID, PD_CODE,
@@ -115,7 +117,7 @@
             )
         </foreach>
     </insert>
-    <update id="batchUpdate" parameterType="com.usoftchina.saas.purchase.po.PurchaseItem" >
+    <update id="batchUpdate" parameterType="com.usoftchina.saas.purchase.po.PurchaseDetail" >
         <foreach collection="list" item="item" index="index" open="" close="" separator=";">
             update purchasedetail <set>
             PD_PUID = #{item.pdPuid},

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

@@ -397,6 +397,15 @@
       #{item.id}
     </foreach>
   </select>
+  <select id="validateBatchUnAudit" parameterType="com.usoftchina.saas.common.dto.DocBaseDTO" resultType="java.lang.String">
+    select GROUP_CONCAT(pu_code) from purchase where pu_statuscode='UNAUDITED' and pu_id in
+    <foreach collection="list" item="item" open="(" close=")" separator=",">
+      #{item.id}
+    </foreach>
+  </select>
+  <select id="validateUnAudit" parameterType="long" resultType="java.lang.String">
+    select pu_code from purchase where pu_id = #{pu_id} and IFNULL(pu_statuscode,'UNAUDITED')='UNAUDITED'
+  </select>
   <select id="selectByTest" resultMap="BaseResultMap" parameterType="string" >
     select * from purchase <where>
     <if test="_parameter != null">

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

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 <mapper namespace="com.usoftchina.saas.purchase.mapper.PurchasedetailMapper" >
-  <resultMap id="BaseResultMap" type="com.usoftchina.saas.purchase.po.PurchaseItem" >
+  <resultMap id="BaseResultMap" type="com.usoftchina.saas.purchase.po.PurchaseDetail" >
     <id column="PD_ID" property="id" jdbcType="INTEGER" />
     <result column="PD_PUID" property="pd_puid" jdbcType="INTEGER" />
     <result column="PD_CODE" property="pd_code" jdbcType="VARCHAR" />
@@ -74,7 +74,7 @@
     delete from purchasedetail
     where PD_ID = #{id}
   </delete>
-  <insert id="insert" parameterType="com.usoftchina.saas.purchase.po.PurchaseItem" >
+  <insert id="insert" parameterType="com.usoftchina.saas.purchase.po.PurchaseDetail" >
     insert into purchasedetail (PD_PUID, PD_CODE,
     PD_DETNO, PD_PRODID, PD_PRODCODE,
     PD_UNIT, PD_QTY, PD_PRICE,
@@ -94,7 +94,7 @@
     #{pdText3,jdbcType=VARCHAR}, #{pdText4,jdbcType=VARCHAR}, #{pdText5,jdbcType=VARCHAR},
     #{pdYqty,jdbcType=DOUBLE})
   </insert>
-  <insert id="insertSelective" parameterType="com.usoftchina.saas.purchase.po.PurchaseItem" >
+  <insert id="insertSelective" parameterType="com.usoftchina.saas.purchase.po.PurchaseDetail" >
     insert into purchasedetail
     <trim prefix="(" suffix=")" suffixOverrides="," >
       <if test="pdPuid != null" >
@@ -245,7 +245,7 @@
       </if>
     </trim>
   </insert>
-  <update id="updateByPrimaryKeySelective" parameterType="com.usoftchina.saas.purchase.po.PurchaseItem" >
+  <update id="updateByPrimaryKeySelective" parameterType="com.usoftchina.saas.purchase.po.PurchaseDetail" >
     update purchasedetail
     <set >
       <if test="pdPuid != null" >
@@ -323,7 +323,7 @@
     </set>
     where PD_ID = #{id,jdbcType=INTEGER}
   </update>
-  <update id="updateByPrimaryKey" parameterType="com.usoftchina.saas.purchase.po.PurchaseItem" >
+  <update id="updateByPrimaryKey" parameterType="com.usoftchina.saas.purchase.po.PurchaseDetail" >
     update purchasedetail
     set PD_PUID = #{pdPuid,jdbcType=INTEGER},
     PD_CODE = #{pdCode,jdbcType=VARCHAR},
@@ -376,7 +376,7 @@
       )
     </foreach>
   </insert>
-  <update id="batchUpdate" parameterType="com.usoftchina.saas.purchase.po.PurchaseItem" >
+  <update id="batchUpdate" parameterType="com.usoftchina.saas.purchase.po.PurchaseDetail" >
     <foreach collection="list" item="item" index="index" open="" close="" separator=";">
       update purchasedetail <set>
       PD_PUID = #{item.pd_puid},
@@ -412,6 +412,6 @@
   </delete>
   <select id="selectByFK" parameterType="long" resultMap="BaseResultMap">
     select * from purchasedetail a left join product b on pr_id=pd_prodid and a.companyid = b.companyid
-      where pd_puid=#{pu_id}
+      where pd_puid=#{pu_id} order by pd_detno desc
   </select>
 </mapper>

+ 2 - 3
frontend/saas-web/app/view/core/form/FormPanelController.js

@@ -80,11 +80,11 @@ Ext.define('saas.view.core.form.FormPanelController', {
                     if((typeof item.data.id) != "number" && item.data.id.indexOf('extMode')>-1){
                         item.data.id = '';
                     }
-                    item.data[form._detnoColumn] = index + 1;
                     dirtyGridData.push(item.data)
                 }
             });
-        }   
+        }  
+        debugger 
         var params = {
             main:formData.main,
             items:dirtyGridData
@@ -128,7 +128,6 @@ Ext.define('saas.view.core.form.FormPanelController', {
                     if((typeof item.data.id) != "number" && item.data.id.indexOf('extMode')>-1){
                         item.data.id = '';
                     }
-                    item.data[form._detnoColumn] = index + 1;
                     dirtyGridData.push(item.data)
                 }
             });

+ 27 - 12
frontend/saas-web/app/view/core/form/field/DetailGridField.js

@@ -75,45 +75,60 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
     },
 
     listeners: {
-        afterrender:function(grid){
-            var count = grid.store.getCount();
-            if(count==0){
-                //grid.add10EmptyRow();
-            }
-        },
         itemClick: function(tableView, record, item, index, e, eOpts) {
             var grid = tableView.up('grid'),
                 store = grid.store,
                 count = store.getCount();
 
             if(index == count - 1) {
-                //grid.add10EmptyRow();
+                grid.add10EmptyRow();
             }
         }
     },
 
     add10EmptyRow: function() {
         var me = this,
-            store = me.getStore(),
-            selectedRecord = me.selModel.lastSelected,
-            datas = [];
+        form = me.ownerCt,
+        detnoColumn = form._detnoColumn,
+        store = me.getStore(),
+        selectedRecord = me.selModel.lastSelected,
+        datas = [];
 
+        //当前行后序号全部加1
+        var detno = selectedRecord.data[form._detnoColumn];
         Ext.Array.each(new Array(10), function() {
-            datas.push({});
+            detno += 1;
+            var data = {};
+            data[detnoColumn] = detno;
+            datas.push(data);
         })
         store.insert(store.indexOf(selectedRecord) + 1, datas);
     },
 
     addDetail: function() {
         var me = this,
+            form = me.ownerCt,
+            detnoColumn = form._detnoColumn,
             store = me.getStore(),
             selectedRecord = me.selModel.lastSelected;
 
-        store.insert(store.indexOf(selectedRecord) + 1, {});
+        //当前行后序号全部加1
+        var detno = selectedRecord.data[form._detnoColumn];
+        var store = me.store;
+        store.each(function(item){
+            d = item.data[detnoColumn];
+            if(Number(d) > detno) {
+                item.set(detnoColumn, Number(d) + 1);
+            }
+        });
+        var data = {};
+        data[detnoColumn] = detno + 1;
+        store.insert(store.indexOf(selectedRecord) + 1, data);
     },
 
     deleteDetail: function() {
         var me = this,
+            form = me.ownerCt;
             store = me.getStore(),
             selectedRecord = me.selModel.lastSelected;
 

+ 13 - 3
frontend/saas-web/app/view/test/order/FormPanel.js

@@ -129,8 +129,10 @@ Ext.define('saas.view.test.order.FormPanel', {
                 text : "序号", 
                 dataIndex : "pd_detno", 
                 width : 80.0, 
-                xtype : "rownumberer",
-                summaryType: 'count'
+                xtype : "numbercolumn",
+                summaryType: 'count',
+                align : 'center',
+                format:'0',
             }, 
             {
                 editor : {
@@ -165,16 +167,24 @@ Ext.define('saas.view.test.order.FormPanel', {
             {
                 text : "数量", 
                 dataIndex : "pd_yqty", 
+                editor : {
+                    xtype : "numberfield"
+                },
                 width : 120.0, 
                 xtype : "numbercolumn", 
+                format:'0',
                 items : null,
                 summaryType: 'sum'
             }, 
             {
                 text : "单价", 
+                editor : {
+                    xtype : "numberfield"
+                },
+                format:'0,000.00',
                 dataIndex : "pd_price", 
                 width : 120.0, 
-                xtype : "numbercolumn", 
+                xtype : "numbercolumn",
                 items : null,
                 summaryType: 'sum'
             },