rainco 7 years ago
parent
commit
64c79f5f4a
62 changed files with 650 additions and 140 deletions
  1. 1 0
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/exception/BizExceptionCode.java
  2. 10 0
      applications/document/document-dto/src/main/java/com/usoftchina/saas/document/entities/Bom.java
  3. 1 3
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/controller/ProductController.java
  4. 2 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/ProductDetailMapper.java
  5. 1 1
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/ProductService.java
  6. 52 6
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/ProductServiceImpl.java
  7. 1 1
      applications/document/document-server/src/main/resources/mapper/AddressMapper.xml
  8. 1 0
      applications/document/document-server/src/main/resources/mapper/BomMapper.xml
  9. 1 1
      applications/document/document-server/src/main/resources/mapper/CustomerkindMapper.xml
  10. 1 1
      applications/document/document-server/src/main/resources/mapper/FundinouttypeMapper.xml
  11. 5 2
      applications/document/document-server/src/main/resources/mapper/ProductDetailMapper.xml
  12. 2 2
      applications/document/document-server/src/main/resources/mapper/ProductMapper.xml
  13. 1 1
      applications/document/document-server/src/main/resources/mapper/ProductbrandMapper.xml
  14. 1 1
      applications/document/document-server/src/main/resources/mapper/ProducttypeMapper.xml
  15. 1 1
      applications/document/document-server/src/main/resources/mapper/ProductunitMapper.xml
  16. 1 1
      applications/document/document-server/src/main/resources/mapper/VendorkindMapper.xml
  17. 1 1
      applications/document/document-server/src/main/resources/mapper/WarehouseMapper.xml
  18. 3 1
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/FundtransferMapper.java
  19. 4 1
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/OthreceiptsMapper.java
  20. 3 1
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/OthspendingsMapper.java
  21. 1 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/PaybalanceMapper.java
  22. 1 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/RecbalanceMapper.java
  23. 32 3
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/FundtransferServiceImpl.java
  24. 32 6
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/OthreceiptsServiceImpl.java
  25. 32 4
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/OthspendingsServiceImpl.java
  26. 34 4
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/PaybalanceServiceImpl.java
  27. 33 4
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/RecbalanceServiceImpl.java
  28. 7 0
      applications/money/money-server/src/main/resources/mapper/FundtransferMapper.xml
  29. 7 0
      applications/money/money-server/src/main/resources/mapper/OthreceiptsMapper.xml
  30. 7 0
      applications/money/money-server/src/main/resources/mapper/OthspendingsMapper.xml
  31. 6 0
      applications/money/money-server/src/main/resources/mapper/PaybalanceMapper.xml
  32. 7 0
      applications/money/money-server/src/main/resources/mapper/RecbalanceMapper.xml
  33. 78 0
      base-servers/account/account-dto/src/main/java/com/usoftchina/saas/account/dto/AccountRoleDTO.java
  34. 27 27
      base-servers/account/account-dto/src/main/java/com/usoftchina/saas/account/dto/PowerDTO.java
  35. 18 0
      base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/controller/AccountController.java
  36. 5 0
      base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/mapper/AccountRoleMapper.java
  37. 7 0
      base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/mapper/RoleResourceMapper.java
  38. 43 0
      base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/po/PowerInfo.java
  39. 15 0
      base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/service/AccountService.java
  40. 14 0
      base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/service/impl/AccountServiceImpl.java
  41. 34 13
      base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/service/impl/RoleServiceImpl.java
  42. 7 0
      base-servers/account/account-server/src/main/resources/mapper/AccountRoleMapper.xml
  43. 8 0
      base-servers/account/account-server/src/main/resources/mapper/RoleResourceMapper.xml
  44. 1 1
      base-servers/auth/auth-client/src/main/java/com/usoftchina/saas/auth/client/interceptor/AuthRestInterceptor.java
  45. 3 1
      base-servers/auth/auth-common/src/main/java/com/usoftchina/saas/auth/common/jwt/JwtHelper.java
  46. 11 1
      base-servers/auth/auth-common/src/main/java/com/usoftchina/saas/auth/common/jwt/JwtInfo.java
  47. 2 2
      base-servers/auth/auth-server/src/main/java/com/usoftchina/saas/auth/controller/AuthController.java
  48. 1 1
      base-servers/gateway-server/src/main/java/com/usoftchina/saas/gateway/config/AuthFilter.java
  49. 0 1
      base-servers/gateway-server/src/main/resources/application.yml
  50. 1 0
      base-servers/mail/mail-dto/src/main/java/com/usoftchina/saas/mail/dto/TemplateMailMessage.java
  51. 13 14
      frontend/saas-web/app/view/document/customer/BasePanel.js
  52. 2 2
      frontend/saas-web/app/view/document/product/BasePanel.js
  53. 5 0
      frontend/saas-web/app/view/document/product/FormPanel.js
  54. 7 7
      frontend/saas-web/app/view/document/vendor/BasePanel.js
  55. 6 0
      frontend/saas-web/app/view/home/InfoCard.scss
  56. 1 0
      frontend/saas-web/app/view/main/Main.js
  57. 2 0
      frontend/saas-web/app/view/main/Navigation.js
  58. 1 0
      frontend/saas-web/app/view/money/payBalance/FormPanel.js
  59. 1 0
      frontend/saas-web/app/view/money/recBalance/FormPanel.js
  60. 1 1
      frontend/saas-web/app/view/stock/appropriationInOut/FormPanel.js
  61. 32 23
      frontend/saas-web/app/view/stock/appropriationInOut/FormPanelController.js
  62. 12 0
      frontend/saas-web/app/view/sys/config/FormPanel.js

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

@@ -29,6 +29,7 @@ public enum BizExceptionCode implements BaseExceptionCode {
     BIZ_RELDELETE_UPDATE(79306,"存在关联单据,不允许更新编号"),
     BIZ_RELDELETE_UPDATEPROD(79307,"存在关联单据,不允许更新"),
     BIZ_RELDELETE_DELETEPROD(79308,"存在关联单据,不允许删除"),
+    BIZ_PRODWHCODE_REPEAT(79309, "明细仓库重复"),
     NO_OPRATIONDATA(79400,"无可操作单据"),
     BOM_SAVE(79401, "产品编号+版本号已存在"),
     REPEAT_NAME(79501, "名称重复"),

+ 10 - 0
applications/document/document-dto/src/main/java/com/usoftchina/saas/document/entities/Bom.java

@@ -41,6 +41,16 @@ public class Bom extends CommonBaseEntity implements Serializable {
 
     private String pr_orispeccode;
 
+    private String pr_unit;
+
+    public String getPr_unit() {
+        return pr_unit;
+    }
+
+    public void setPr_unit(String pr_unit) {
+        this.pr_unit = pr_unit;
+    }
+
     public String getPr_spec() {
         return pr_spec;
     }

+ 1 - 3
applications/document/document-server/src/main/java/com/usoftchina/saas/document/controller/ProductController.java

@@ -99,9 +99,7 @@ public class ProductController {
 
     @GetMapping("/read/{id}")
     public Result getDataById(@PathVariable("id") Long id){
-        Map<String, Object> map = new HashMap<String, Object>();
-        map.put("main", productService.getDataById(id));
-        return Result.success(map);
+        return Result.success(productService.getDataById(id));
     }
 
     @GetMapping("/ReserveCost")

+ 2 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/ProductDetailMapper.java

@@ -25,4 +25,6 @@ public interface ProductDetailMapper extends CommonBaseMapper<ProductDetail> {
     Long selectProdidByPrimaryKey(Long id);
 
     List<ProductDetail> selectByProdId(Long id);
+
+    boolean deleteByProdId(Long id);
 }

+ 1 - 1
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/ProductService.java

@@ -101,7 +101,7 @@ public interface ProductService extends CommonBaseService<ProductMapper, Product
      * @param id
      * @return
      */
-    Product getDataById(Long id);
+    ProductListDTO getDataById(Long id);
 
     /**
      * 物料库存数量金额表

+ 52 - 6
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/ProductServiceImpl.java

@@ -25,6 +25,7 @@ import com.usoftchina.saas.exception.BizException;
 import com.usoftchina.saas.page.PageRequest;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
 
 import java.util.*;
@@ -75,20 +76,34 @@ public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Pro
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public DocBaseDTO saveData(ProductListDTO productListDTO){
         Product product = productListDTO.getMain();
         List<ProductDetail> productDetailList = productListDTO.getItems();
         DocBaseDTO docBaseDTO = null;
+        Long companyId = BaseContextHolder.getCompanyId();
+        Long userId = BaseContextHolder.getUserId();
+
+        //校验明细仓库是否重复
+        validRepeatWarehouse(productDetailList);
+
         if(product.getId() == 0){
             //保存
             String code = pushMaxnubmer(product.getPr_code(), product.getId());
-            product.setCompanyId(BaseContextHolder.getCompanyId());
-            product.setCreatorId(BaseContextHolder.getUserId());
+            product.setCompanyId(companyId);
+            product.setCreatorId(userId);
             product.setCreateTime(new Date());
             //保存主表
             getMapper().insertSelective(product);
             //保存明细表数据
-            productDetailMapper.batchInsert(productDetailList);
+            if (productDetailList.size() > 0) {
+                for (ProductDetail productDetail : productDetailList){
+                    productDetail.setPd_prodid(product.getId());
+                    productDetail.setCompanyId(companyId);
+                }
+
+                productDetailMapper.batchInsert(productDetailList);
+            }
             //生成库存初始化数据并过账
             generateProdIOPost(product, productDetailList);
 
@@ -116,8 +131,12 @@ public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Pro
                 List<ProductDetail> updateItems = new ArrayList<ProductDetail>();
                 for(ProductDetail productDetail : productDetailList){
                     if (productDetail.getId() == 0){
+                        productDetail.setUpdaterId(userId);
+                        productDetail.setUpdateTime(new Date());
                         insertItems.add(productDetail);
                     }else{
+                        productDetail.setUpdaterId(userId);
+                        productDetail.setUpdateTime(new Date());
                         updateItems.add(productDetail);
                     }
                 }
@@ -144,6 +163,27 @@ public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Pro
         return docBaseDTO;
     }
 
+    /**
+     * 校验明细仓库是否重复
+     * @param productDetailList
+     */
+    private void validRepeatWarehouse(List<ProductDetail> productDetailList) {
+        if (productDetailList.size() > 0){
+            boolean flag = true;   //假设不重复
+            for (int i = 0; i < productDetailList.size() - 1; i ++){
+                for (int j = i + 1; j < productDetailList.size(); j++){
+                    if (productDetailList.get(i).getPd_whcode().equals(productDetailList.get(j).getPd_whcode())){
+                        flag = false;
+                        break;
+                    }
+                }
+            }
+            if (!flag){
+                throw new BizException(BizExceptionCode.BIZ_PRODWHCODE_REPEAT);
+            }
+        }
+    }
+
     /**
      * 物料发生过除库存初始化外的出入库单时,不能新增,修改,删除
      * @param id
@@ -331,6 +371,7 @@ public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Pro
 
         String code = getMapper().getCodeById(id);
         getMapper().deleteByPrimaryKey(id);
+        productDetailMapper.deleteByProdId(id);
         DocBaseDTO docBaseDTO = generateMsgObj(id, code);
         //记录LOG
         messageLogService.delete(docBaseDTO);
@@ -403,8 +444,13 @@ public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Pro
     }
 
     @Override
-    public Product getDataById(Long id) {
-        return getMapper().selectByPrimaryKey(id);
+    public ProductListDTO getDataById(Long id) {
+        ProductListDTO productListDTO = new ProductListDTO();
+        Product product = getMapper().selectByPrimaryKey(id);
+        List<ProductDetail> productDetails = productDetailMapper.selectByProdId(id);
+        productListDTO.setMain(product);
+        productListDTO.setItems(productDetails);
+        return productListDTO;
     }
 
     @Override
@@ -426,7 +472,7 @@ public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Pro
     public boolean deleteDetailById(Long id) {
         Long prodId = productDetailMapper.selectProdidByPrimaryKey(id);
         validProductOperation(prodId, BizExceptionCode.BIZ_RELDELETE_DELETEPROD);
-        String prCode = getMapper().selectByPrimaryKey(id).getPr_code();
+        String prCode = getMapper().selectByPrimaryKey(prodId).getPr_code();
         //找到原始单据,反过账并删除
         String inoutCode = getMapper().selectProdIOCode(prCode, BaseContextHolder.getCompanyId(), "库存初始化");
         if (!StringUtils.isEmpty(inoutCode)) {

+ 1 - 1
applications/document/document-server/src/main/resources/mapper/AddressMapper.xml

@@ -179,7 +179,7 @@
     where ad_id in (#{ids,jdbcType=VARCHAR})
   </delete>
   <select id="selectAll" resultMap="ResultMapWithBLOBs">
-    SELECT * FROM ADDRESS where COMPANYID=#{companyId}
+    SELECT * FROM ADDRESS where COMPANYID=#{companyId} ORDER BY AD_ID DESC
   </select>
   <select id="selectCountByName" resultType="int">
     SELECT count(*) FROM ADDRESS

+ 1 - 0
applications/document/document-server/src/main/resources/mapper/BomMapper.xml

@@ -22,6 +22,7 @@
     <result column="bo_text5" property="bo_text5" jdbcType="VARCHAR" />
     <result column="pr_brand" property="pr_brand" jdbcType="VARCHAR" />
     <result column="pr_spec" property="pr_spec" jdbcType="VARCHAR" />
+    <result column="pr_unit" property="pr_unit" jdbcType="VARCHAR" />
     <result column="pr_orispeccode" property="pr_orispeccode" jdbcType="VARCHAR" />
   </resultMap>
   <sql id="Base_Column_List" >

+ 1 - 1
applications/document/document-server/src/main/resources/mapper/CustomerkindMapper.xml

@@ -120,7 +120,7 @@
     where ck_id = #{id}
   </update>
   <select id="selectAll" resultMap="BaseResultMap">
-    SELECT * FROM CUSTOMERKIND WHERE COMPANYID=#{companyId}
+    SELECT * FROM CUSTOMERKIND WHERE COMPANYID=#{companyId} order by ck_id desc
   </select>
   <select id="getCombo" resultType="com.usoftchina.saas.commons.dto.ComboDTO">
     SELECT ck_name display,ck_name value FROM CUSTOMERKIND WHERE COMPANYID=#{companyId}

+ 1 - 1
applications/document/document-server/src/main/resources/mapper/FundinouttypeMapper.xml

@@ -140,7 +140,7 @@
     where ft_id = #{id}
   </update>
   <select id="selectAll" resultMap="BaseResultMap">
-    SELECT * FROM FUNDINOUTTYPE where companyId=#{companyId}
+    SELECT * FROM FUNDINOUTTYPE where companyId=#{companyId} ORDER BY FT_ID DESC
   </select>
   <select id="selectCountByName" resultType="int">
     SELECT COUNT(*) FROM FUNDINOUTTYPE

+ 5 - 2
applications/document/document-server/src/main/resources/mapper/ProductDetailMapper.xml

@@ -255,7 +255,7 @@
         )
         VALUES
         <foreach collection="list" item="item" index="index" open="" close="" separator=",">
-            values ( #{item.pd_prodid,jdbcType=INTEGER}, #{item.pd_prodcode,jdbcType=VARCHAR},
+            ( #{item.pd_prodid,jdbcType=INTEGER}, #{item.pd_prodcode,jdbcType=VARCHAR},
             #{item.pd_detno,jdbcType=INTEGER}, #{item.pd_whcode,jdbcType=VARCHAR}, #{item.pd_whname,jdbcType=VARCHAR},
             #{item.pd_whid,jdbcType=INTEGER}, #{item.pd_price,jdbcType=DOUBLE}, #{item.pd_amount,jdbcType=DOUBLE},
             #{item.companyId,jdbcType=INTEGER}, #{item.updaterId,jdbcType=INTEGER}, #{item.updateTime,jdbcType=TIMESTAMP},
@@ -324,9 +324,12 @@
         </foreach>
     </update>
     <select id="selectProdidByPrimaryKey" resultType="java.lang.Long">
-        SELECT PD_PRODID FROM PRODUCTDETAIL WHERE PD_ID=#{id}
+        SELECT PD_PRODID FROM PRODUCTDETAIL WHERE ID=#{id}
     </select>
     <select id="selectByProdId" resultType="com.usoftchina.saas.document.entities.ProductDetail">
         SELECT * FROM PRODUCTDETAIL WHERE PD_PRODID=#{id}
     </select>
+    <delete id="deleteByProdId" >
+        DELETE FROM PRODUCTDETAIL WHERE PD_PRODID=#{id}
+    </delete>
 </mapper>

+ 2 - 2
applications/document/document-server/src/main/resources/mapper/ProductMapper.xml

@@ -903,9 +903,9 @@
         </where>
     </select>
 
-    <select id="selectOrderCountByProdCode" resultType="java.lang.Long">
+    <select id="selectOrderCountByProdCode" resultType="java.lang.Integer">
         SELECT COUNT(*) FROM PRODINOUT LEFT JOIN PRODIODETAIL ON PI_ID=PD_PIID AND PRODINOUT.COMPANYID=PRODIODETAIL.COMPANYID
-        WHERE COMPANYID = #{companyId} AND PD_PRODID = #{id}
+        WHERE PRODIODETAIL.COMPANYID = #{companyId} AND PD_PRODID = #{id}
     </select>
 
     <delete id="deleteProdIOByCode" >

+ 1 - 1
applications/document/document-server/src/main/resources/mapper/ProductbrandMapper.xml

@@ -130,7 +130,7 @@
   </select>
 
   <select id="getCombo" resultType="com.usoftchina.saas.commons.dto.ComboDTO">
-    SELECT PB_NAME display,PB_NAME value FROM PRODUCTBRAND WHERE COMPANYID=#{companyId}
+    SELECT PB_NAME display,PB_NAME value FROM PRODUCTBRAND WHERE COMPANYID=#{companyId} ORDER BY PB_ID DESC
   </select>
   <select id="selectCountByName" resultType="int">
     SELECT COUNT(*) FROM PRODUCTBRAND

+ 1 - 1
applications/document/document-server/src/main/resources/mapper/ProducttypeMapper.xml

@@ -126,7 +126,7 @@
     where pt_id = #{id}
   </update>
   <select id="selectAll" resultMap="BaseResultMap">
-    SELECT * FROM PRODUCTTYPE where companyId=#{companyId}
+    SELECT * FROM PRODUCTTYPE where companyId=#{companyId} ORDER BY PT_ID DESC
   </select>
     <select id="selectCountByName" resultType="int">
         SELECT COUNT(*) FROM PRODUCTTYPE

+ 1 - 1
applications/document/document-server/src/main/resources/mapper/ProductunitMapper.xml

@@ -120,7 +120,7 @@
     where pu_id = #{id}
   </update>
   <select id="selectAll" resultMap="BaseResultMap">
-    SELECT * FROM PRODUCTUNIT where companyId=#{companyId}
+    SELECT * FROM PRODUCTUNIT where companyId=#{companyId} ORDER BY PU_ID DESC
   </select>
     <select id="selectCountByName" resultType="int">
         SELECT COUNT(*) FROM productunit

+ 1 - 1
applications/document/document-server/src/main/resources/mapper/VendorkindMapper.xml

@@ -126,7 +126,7 @@
     where vk_id = #{id}
   </update>
   <select id="selectAll" resultMap="BaseResultMap">
-    SELECT * FROM VENDORKIND where companyId = #{companyId}
+    SELECT * FROM VENDORKIND where companyId = #{companyId} ORDER BY VK_ID DESC
   </select>
   <select id="getCombo" resultType="com.usoftchina.saas.commons.dto.ComboDTO">
     SELECT VK_NAME display, VK_NAME value FROM VENDORKIND WHERE COMPANYID=#{companyId}

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

@@ -347,7 +347,7 @@
     <select id="selectCountByCode" resultType="int">
         SELECT COUNT(*) FROM warehouse
         <where>
-            <if test="name!=null">
+            <if test="code!=null">
                 and wh_code=#{code}
             </if>
             <if test="companyId!=0 and companyId!=null">

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

@@ -1,12 +1,14 @@
 package com.usoftchina.saas.money.mapper;
 
+import com.usoftchina.saas.base.mapper.CommonBaseMapper;
 import com.usoftchina.saas.money.po.Fundtransfer;
 import com.usoftchina.saas.money.po.Othreceipts;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
-public interface FundtransferMapper {
+public interface FundtransferMapper extends CommonBaseMapper<Fundtransfer> {
+    String selectCodeById(Long id);
     int deleteByPrimaryKey(Integer ftId);
     int deleteItem(int id);
 

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

@@ -1,5 +1,6 @@
 package com.usoftchina.saas.money.mapper;
 
+import com.usoftchina.saas.base.mapper.CommonBaseMapper;
 import com.usoftchina.saas.money.po.Othreceipts;
 import com.usoftchina.saas.money.po.Recbalance;
 import com.usoftchina.saas.page.PageRequest;
@@ -7,7 +8,9 @@ import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
-public interface OthreceiptsMapper {
+public interface OthreceiptsMapper extends CommonBaseMapper<Othreceipts> {
+
+    String selectCodeById(Long id);
     int deleteByPrimaryKey(Integer orId);
 
     int insert(Othreceipts record);

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

@@ -1,12 +1,14 @@
 package com.usoftchina.saas.money.mapper;
 
+import com.usoftchina.saas.base.mapper.CommonBaseMapper;
 import com.usoftchina.saas.money.po.Othreceipts;
 import com.usoftchina.saas.money.po.Othspendings;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
-public interface OthspendingsMapper {
+public interface OthspendingsMapper extends CommonBaseMapper<Othspendings> {
+    String selectCodeById(Long id);
     int deleteByPrimaryKey(Integer osId);
 
     int insert(Othspendings record);

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

@@ -11,6 +11,7 @@ import java.util.List;
 
 public interface PaybalanceMapper extends CommonBaseMapper<Paybalance> {
 
+    String selectCodeById(Long id);
     int deleteByPrimaryKey(Integer pb_id);
 
 //    Long insert(Paybalance record);

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

@@ -14,6 +14,7 @@ import org.apache.ibatis.annotations.Param;
  * @createtime 2018-10-19 15:58
  */
 public interface RecbalanceMapper extends CommonBaseMapper<Recbalance> {
+    String selectCodeById(Long id);
     int countByExample(RecbalanceExample example);
 
     int deleteByExample(RecbalanceExample example);

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

@@ -2,7 +2,9 @@ package com.usoftchina.saas.money.service.impl;
 
 import com.github.pagehelper.PageHelper;
 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.ListReqDTO;
@@ -27,7 +29,7 @@ import java.util.List;
  * @date 2018/10/25 19:32
  **/
 @Service
-public class FundtransferServiceImpl implements FundtransferService {
+public class FundtransferServiceImpl extends CommonBaseServiceImpl<FundtransferMapper, Fundtransfer> implements FundtransferService {
     @Autowired
     private FundtransferMapper fundtransferMapper;
     @Autowired
@@ -38,6 +40,8 @@ public class FundtransferServiceImpl implements FundtransferService {
     private BanksubledgerMapper banksubledgerMapper;
     @Autowired
     private PaybalanceMapper paybalanceMapper;
+    @Autowired
+    private MessageLogService messageLogService;
 
     @Override
     public DocBaseDTO insert(Fundtran fundtran) {
@@ -76,7 +80,10 @@ public class FundtransferServiceImpl implements FundtransferService {
                 fundtransferdetailMapper.insertSelective(fundtransferdetail);
             }
         }
-        return new DocBaseDTO(id, ft_code, BillCodeSeq.FUNDTRANSFER.getCaller());
+        DocBaseDTO baseDTO = getBaseDTOById(id);
+        //日志记录
+        messageLogService.save(baseDTO);
+        return baseDTO;
     }
 
     @Override
@@ -118,7 +125,10 @@ public class FundtransferServiceImpl implements FundtransferService {
             paybalanceMapper.updateBankAmount(thisamount, bk_id);
             paybalanceMapper.updateBankAmount(bk_inamount + fundtransferdetail.getFtd_nowbalance(), bk_inid);
         }
-        return new DocBaseDTO(id, ft_code, BillCodeSeq.FUNDTRANSFER.getCaller());
+        DocBaseDTO baseDTO = getBaseDTOById(id);
+        //日志记录
+        messageLogService.save(baseDTO);
+        return baseDTO;
     }
 
     @Override
@@ -154,6 +164,10 @@ public class FundtransferServiceImpl implements FundtransferService {
             paybalanceMapper.updateBankAmount(bk_amount + fundtransferdetail.getFtd_nowbalance(), bk_id);
             paybalanceMapper.updateBankAmount(bk_inamount - fundtransferdetail.getFtd_nowbalance(), bk_inid);
         }
+
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        //日志记录
+        messageLogService.save(baseDTO);
     }
 
 
@@ -161,11 +175,17 @@ public class FundtransferServiceImpl implements FundtransferService {
     public void delete(int id) {
         fundtransferMapper.deleteByPrimaryKey(id);
         fundtransferdetailMapper.deleteByPrimaryKey(id);
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        //日志记录
+        messageLogService.save(baseDTO);
     }
 
     @Override
     public void deleteItem(int id) {
         fundtransferdetailMapper.deleteItem(id);
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        //日志记录
+        messageLogService.save(baseDTO);
     }
 
     @Override
@@ -293,4 +313,13 @@ public class FundtransferServiceImpl implements FundtransferService {
             }
         }
     }
+
+    private DocBaseDTO getBaseDTOById(Long id) {
+        if (null == id) {
+            return null;
+        }
+        String code = getMapper().selectCodeById(id);
+        DocBaseDTO baseDTO = new DocBaseDTO(id, code, BillCodeSeq.FUNDTRANSFER.getCaller());
+        return baseDTO;
+    }
 }

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

@@ -2,7 +2,9 @@ package com.usoftchina.saas.money.service.impl;
 
 import com.github.pagehelper.PageHelper;
 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.ListReqDTO;
@@ -30,7 +32,7 @@ import java.util.List;
  * @date 2018/10/24 17:48
  **/
 @Service
-public class OthreceiptsServiceImpl implements OthreceiptsService {
+public class OthreceiptsServiceImpl extends CommonBaseServiceImpl<OthreceiptsMapper, Othreceipts> implements OthreceiptsService {
 
     @Autowired
     private OthreceiptsMapper othreceiptsMapper;
@@ -42,6 +44,8 @@ public class OthreceiptsServiceImpl implements OthreceiptsService {
     private BanksubledgerMapper banksubledgerMapper;
     @Autowired
     private StatsinfoMapper statsinfoMapper;
+    @Autowired
+    private MessageLogService messageLogService;
 
     @Override
     public DocBaseDTO insert(Othte othte) {
@@ -80,7 +84,10 @@ public class OthreceiptsServiceImpl implements OthreceiptsService {
                 othreceiptsdetailMapper.insertSelective(othreceiptsdetail1);
             }
         }
-        return new DocBaseDTO(id, or_code, BillCodeSeq.OTHRECEIPTS.getCaller());
+        DocBaseDTO baseDTO = getBaseDTOById(id);
+        //日志记录
+        messageLogService.save(baseDTO);
+        return baseDTO;
     }
 
     @Override
@@ -92,7 +99,6 @@ public class OthreceiptsServiceImpl implements OthreceiptsService {
         this.changBankUntil(othte);
         DocBaseDTO docBaseDTO = this.insert(othte);
         Long id = docBaseDTO.getId();
-        String or_code = docBaseDTO.getCode();
 
         Double amount = banksubledgerMapper.selectThisamount(othreceipts.getOr_bankcode());
         //取从表金额
@@ -118,7 +124,11 @@ public class OthreceiptsServiceImpl implements OthreceiptsService {
         }else {
             statsinfoMapper.update(statsinfo);
         }
-        return new DocBaseDTO(id, or_code, BillCodeSeq.OTHRECEIPTS.getCaller());
+
+        DocBaseDTO baseDTO = getBaseDTOById(id);
+        //日志记录
+        messageLogService.save(baseDTO);
+        return baseDTO;
     }
 
     @Override
@@ -156,18 +166,25 @@ public class OthreceiptsServiceImpl implements OthreceiptsService {
         }else {
             statsinfoMapper.update(statsinfo);
         }
-
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        //日志记录
+        messageLogService.save(baseDTO);
     }
 
-
     @Override
     public void delete(int id) {
         othreceiptsMapper.deleteByPrimaryKey(id);
         othreceiptsdetailMapper.deleteByPrimaryKey(id);
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        //日志记录
+        messageLogService.save(baseDTO);
     }
 
     public void deleteItem(int id) {
         othreceiptsdetailMapper.deleteItem(id);
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        //日志记录
+        messageLogService.save(baseDTO);
     }
 
     @Override
@@ -297,4 +314,13 @@ public class OthreceiptsServiceImpl implements OthreceiptsService {
             }
         }
     }
+
+    private DocBaseDTO getBaseDTOById(Long id) {
+        if (null == id) {
+            return null;
+        }
+        String code = getMapper().selectCodeById(id);
+        DocBaseDTO baseDTO = new DocBaseDTO(id, code, BillCodeSeq.OTHRECEIPTS.getCaller());
+        return baseDTO;
+    }
 }

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

@@ -2,7 +2,9 @@ package com.usoftchina.saas.money.service.impl;
 
 import com.github.pagehelper.PageHelper;
 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.ListReqDTO;
@@ -30,7 +32,7 @@ import java.util.List;
  * @date 2018/10/24 22:22
  **/
 @Service
-public class OthspendingsServiceImpl implements OthspendingsService {
+public class OthspendingsServiceImpl extends CommonBaseServiceImpl<OthspendingsMapper, Othspendings> implements OthspendingsService {
     @Autowired
     private OthspendingsMapper othspendingsMapper;
     @Autowired
@@ -41,6 +43,8 @@ public class OthspendingsServiceImpl implements OthspendingsService {
     private BanksubledgerMapper banksubledgerMapper;
     @Autowired
     private StatsinfoMapper statsinfoMapper;
+    @Autowired
+    private MessageLogService messageLogService;
 
     @Override
     public DocBaseDTO insert(Othsp othsp) {
@@ -78,18 +82,27 @@ public class OthspendingsServiceImpl implements OthspendingsService {
                 othspendingsdetailMapper.insertSelective(othspendingsdetail);
             }
         }
-        return new DocBaseDTO(id, os_code, BillCodeSeq.OTHSPENDINGS.getCaller());
+        DocBaseDTO baseDTO = getBaseDTOById(id);
+        //日志记录
+        messageLogService.save(baseDTO);
+        return baseDTO;
     }
 
     @Override
     public void delete(int id) {
         othspendingsMapper.deleteByPrimaryKey(id);
         othspendingsdetailMapper.deleteItem(id);
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        //日志记录
+        messageLogService.save(baseDTO);
     }
 
     @Override
     public void deleteItem(int id) {
         othspendingsdetailMapper.deleteItem(id);
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        //日志记录
+        messageLogService.save(baseDTO);
     }
 
     @Override
@@ -125,7 +138,6 @@ public class OthspendingsServiceImpl implements OthspendingsService {
         this.changBankUntil(othsp);
         DocBaseDTO docBaseDTO = this.insert(othsp);
         Long id = docBaseDTO.getId();
-        String os_code = docBaseDTO.getCode();
 
         Double amount = banksubledgerMapper.selectThisamount(othspendings.getOs_bankcode());
         //取从表金额
@@ -151,7 +163,10 @@ public class OthspendingsServiceImpl implements OthspendingsService {
         }else {
             statsinfoMapper.update(statsinfo);
         }
-        return new DocBaseDTO(id, os_code, BillCodeSeq.OTHSPENDINGS.getCaller());
+        DocBaseDTO baseDTO = getBaseDTOById(id);
+        //日志记录
+        messageLogService.save(baseDTO);
+        return baseDTO;
     }
 
     @Override
@@ -191,6 +206,10 @@ public class OthspendingsServiceImpl implements OthspendingsService {
         }else {
             statsinfoMapper.update(statsinfo);
         }
+
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        //日志记录
+        messageLogService.save(baseDTO);
     }
 
     @Override
@@ -297,4 +316,13 @@ public class OthspendingsServiceImpl implements OthspendingsService {
             }
         }
     }
+
+    private DocBaseDTO getBaseDTOById(Long id) {
+        if (null == id) {
+            return null;
+        }
+        String code = getMapper().selectCodeById(id);
+        DocBaseDTO baseDTO = new DocBaseDTO(id, code, BillCodeSeq.OTHSPENDINGS.getCaller());
+        return baseDTO;
+    }
 }

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

@@ -2,7 +2,9 @@ package com.usoftchina.saas.money.service.impl;
 
 import com.github.pagehelper.PageHelper;
 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.ListReqDTO;
@@ -27,7 +29,7 @@ import java.util.List;
  * @date 2018/10/22 14:28
  **/
 @Service
-public class PaybalanceServiceImpl implements PaybalanceService {
+public class PaybalanceServiceImpl extends CommonBaseServiceImpl<PaybalanceMapper, Paybalance> implements PaybalanceService {
     @Autowired
     private PaybalanceMapper paybalanceMapper;
     @Autowired
@@ -42,6 +44,8 @@ public class PaybalanceServiceImpl implements PaybalanceService {
     private BanksubledgerMapper banksubledgerMapper;
     @Autowired
     private StatsinfoMapper statsinfoMapper;
+    @Autowired
+    private MessageLogService messageLogService;
 
     public DocBaseDTO insert(Pay pay) {
         Paybalance paybalance = pay.getMain();
@@ -95,7 +99,10 @@ public class PaybalanceServiceImpl implements PaybalanceService {
                 paybalancedetailMapper.insertSelective(paybalancedetail1);
             }
         }
-        return new DocBaseDTO(pbId, pb_code, BillCodeSeq.PAYBALANCE.getCaller());
+        DocBaseDTO baseDTO = getBaseDTOById(pbId);
+        //日志记录
+        messageLogService.save(baseDTO);
+        return baseDTO;
     }
 
     /**
@@ -178,7 +185,6 @@ public class PaybalanceServiceImpl implements PaybalanceService {
         this.changBankUntil(pay);
         DocBaseDTO docBaseDTO = this.insert(pay);
         Long id = docBaseDTO.getId();
-        String pb_code = docBaseDTO.getCode();
 
         Paybalance updatePay = new Paybalance();
         List<Paybalancedet> paybalancedet = pay.getItems1();
@@ -255,7 +261,10 @@ public class PaybalanceServiceImpl implements PaybalanceService {
         }else {
             statsinfoMapper.update(statsinfo);
         }
-        return new DocBaseDTO(id, pb_code, BillCodeSeq.PAYBALANCE.getCaller());
+        DocBaseDTO baseDTO = getBaseDTOById(id);
+        //日志记录
+        messageLogService.save(baseDTO);
+        return baseDTO;
     }
 
     @Override
@@ -335,6 +344,9 @@ public class PaybalanceServiceImpl implements PaybalanceService {
         }else {
             statsinfoMapper.update(statsinfo);
         }
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        //日志记录
+        messageLogService.save(baseDTO);
     }
 
 
@@ -342,16 +354,25 @@ public class PaybalanceServiceImpl implements PaybalanceService {
         paybalanceMapper.deleteByPrimaryKey(id);
         paybalancedetailMapper.deleteByPrimaryKey(id);
         paybalancedetMapper.deleteByPrimaryKey(id);
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        //日志记录
+        messageLogService.save(baseDTO);
     }
 
     @Override
     public void deleteItem(int id) {
         paybalancedetMapper.deleteItem(id);
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        //日志记录
+        messageLogService.save(baseDTO);
     }
 
     @Override
     public void deleteItems(int id) {
         paybalancedetailMapper.deleteItem(id);
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        //日志记录
+        messageLogService.save(baseDTO);
     }
 
     public Pay select(int id){
@@ -529,4 +550,13 @@ public class PaybalanceServiceImpl implements PaybalanceService {
 
         }
     }
+
+    private DocBaseDTO getBaseDTOById(Long id) {
+        if (null == id) {
+            return null;
+        }
+        String code = getMapper().selectCodeById(id);
+        DocBaseDTO baseDTO = new DocBaseDTO(id, code, BillCodeSeq.PAYBALANCE.getCaller());
+        return baseDTO;
+    }
 }

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

@@ -2,7 +2,9 @@ package com.usoftchina.saas.money.service.impl;
 
 import com.github.pagehelper.PageHelper;
 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.ListReqDTO;
@@ -27,7 +29,7 @@ import java.util.List;
  * @date 2018/10/23 16:18
  **/
 @Service
-public class RecbalanceServiceImpl implements RecbalanceService {
+public class RecbalanceServiceImpl extends CommonBaseServiceImpl<RecbalanceMapper, Recbalance> implements RecbalanceService {
     @Autowired
     RecbalanceMapper recbalanceMapper;
     @Autowired
@@ -42,6 +44,8 @@ public class RecbalanceServiceImpl implements RecbalanceService {
     private SubledgerMapper subledgerMapper;
     @Autowired
     private StatsinfoMapper statsinfoMapper;
+    @Autowired
+    private MessageLogService messageLogService;
 
     @Override
     public DocBaseDTO insert(Rec rec) {
@@ -94,7 +98,10 @@ public class RecbalanceServiceImpl implements RecbalanceService {
                 recbalancedetailMapper.insertSelective(recbalancedetail1);
             }
         }
-        return new DocBaseDTO(rbId, pu_code, BillCodeSeq.RECBALANCE.getCaller());
+        DocBaseDTO baseDTO = getBaseDTOById(rbId);
+        //日志记录
+        messageLogService.save(baseDTO);
+        return baseDTO;
     }
 
     /**
@@ -165,6 +172,9 @@ public class RecbalanceServiceImpl implements RecbalanceService {
         recbalanceMapper.deleteByPrimaryKey(id);
         recbalancedetMapper.deleteByPrimaryKey(id);
         recbalancedetailMapper.deleteByPrimaryKey(id);
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        //日志记录
+        messageLogService.save(baseDTO);
     }
 
     @Override
@@ -182,11 +192,17 @@ public class RecbalanceServiceImpl implements RecbalanceService {
     @Override
     public void deleteItem(int id) {
         recbalancedetMapper.deleteItem(id);
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        //日志记录
+        messageLogService.save(baseDTO);
     }
 
     @Override
     public void deleteItems(int id) {
         recbalancedetailMapper.deleteItem(id);
+        DocBaseDTO baseDTO = getBaseDTOById(Long.valueOf(id));
+        //日志记录
+        messageLogService.save(baseDTO);
     }
 
     @Override
@@ -205,7 +221,6 @@ public class RecbalanceServiceImpl implements RecbalanceService {
         this.changBankUntil(rec);
         DocBaseDTO docBaseDTO = this.insert(rec);
         Long id = docBaseDTO.getId();
-        String pu_code = docBaseDTO.getCode();
 
         Recbalance updateRay = new Recbalance();
         List<Recbalancedet> recbalancedet = rec.getItems1();
@@ -283,7 +298,10 @@ public class RecbalanceServiceImpl implements RecbalanceService {
         }else {
             statsinfoMapper.update(statsinfo);
         }
-        return new DocBaseDTO(id, pu_code, BillCodeSeq.RECBALANCE.getCaller());
+        DocBaseDTO baseDTO = getBaseDTOById(id);
+        //日志记录
+        messageLogService.save(baseDTO);
+        return baseDTO;
     }
 
     @Override
@@ -364,6 +382,9 @@ public class RecbalanceServiceImpl implements RecbalanceService {
         }else {
             statsinfoMapper.update(statsinfo);
         }
+        DocBaseDTO baseDTO = getBaseDTOById(id);
+        //日志记录
+        messageLogService.save(baseDTO);
     }
 
     public PageInfo<Recbalance> selectList(PageRequest page, ListReqDTO reqDTO) {
@@ -528,4 +549,12 @@ public class RecbalanceServiceImpl implements RecbalanceService {
 
         }
     }
+    private DocBaseDTO getBaseDTOById(Long id) {
+        if (null == id) {
+            return null;
+        }
+        String code = getMapper().selectCodeById(id);
+        DocBaseDTO baseDTO = new DocBaseDTO(id, code, BillCodeSeq.RECBALANCE.getCaller());
+        return baseDTO;
+    }
 }

+ 7 - 0
applications/money/money-server/src/main/resources/mapper/FundtransferMapper.xml

@@ -258,4 +258,11 @@
       </if>
     </where>  order by ft_date desc, ft_code desc
   </select>
+
+  <select id="selectCodeById" parameterType="java.lang.Long" resultType="string">
+    select
+    ft_code
+    from fundtransfer
+    where ft_id = #{id,jdbcType=INTEGER}
+  </select>
 </mapper>

+ 7 - 0
applications/money/money-server/src/main/resources/mapper/OthreceiptsMapper.xml

@@ -343,4 +343,11 @@
       </if>
     </where>  order by or_date desc, or_code desc
   </select>
+
+  <select id="selectCodeById" parameterType="java.lang.Long" resultType="string">
+    select
+    or_code
+    from othreceipts
+    where or_id = #{id,jdbcType=INTEGER}
+  </select>
 </mapper>

+ 7 - 0
applications/money/money-server/src/main/resources/mapper/OthspendingsMapper.xml

@@ -338,4 +338,11 @@
       </if>
     </where>  order by os_date desc,os_code desc
   </select>
+
+  <select id="selectCodeById" parameterType="java.lang.Long" resultType="string">
+    select
+    os_code
+    from othspendings
+    where os_id = #{id,jdbcType=INTEGER}
+  </select>
 </mapper>

+ 6 - 0
applications/money/money-server/src/main/resources/mapper/PaybalanceMapper.xml

@@ -453,6 +453,12 @@
     select count(1) from paybalance where pb_code = #{code} and pb_id != #{id} and companyId =#{companyId}
   </select>
 
+  <select id="selectCodeById" parameterType="java.lang.Long" resultType="string">
+    select
+    pb_code
+    from paybalance
+    where pb_id = #{id,jdbcType=INTEGER}
+  </select>
 
   <!-- 银行账户-->
   <sql id="Bank_Column_List" >

+ 7 - 0
applications/money/money-server/src/main/resources/mapper/RecbalanceMapper.xml

@@ -587,6 +587,13 @@
     select count(1) from recbalance where rb_code = #{code} and rb_id != #{id} and companyId =#{companyId}
   </select>
 
+  <select id="selectCodeById" parameterType="java.lang.Long" resultType="string">
+    select
+    rb_code
+    from recbalance
+    where rb_id = #{id,jdbcType=INTEGER}
+  </select>
+
   <!-- 银行账户-->
   <sql id="Bank_Column_List" >
     bk_id, bk_bankcode, bk_bankname, bk_date, bk_type, bk_beginamount, bk_thisamount,

+ 78 - 0
base-servers/account/account-dto/src/main/java/com/usoftchina/saas/account/dto/AccountRoleDTO.java

@@ -0,0 +1,78 @@
+package com.usoftchina.saas.account.dto;
+
+import java.io.Serializable;
+
+public class AccountRoleDTO implements Serializable {
+
+    private Long accountId;
+    private String username;
+    private String realname;
+    private String email;
+    private String mobile;
+    private String roleNames;
+    private String roleIds;
+
+    public String getRoleNames() {
+        return roleNames;
+    }
+
+    public void setRoleNames(String roleNames) {
+        this.roleNames = roleNames;
+    }
+
+    public String getRoleIds() {
+        return roleIds;
+    }
+
+    public void setRoleIds(String roleIds) {
+        this.roleIds = roleIds;
+    }
+
+    public Long getId() {
+        return accountId;
+    }
+
+    public void setId(Long accountId) {
+        this.accountId = accountId;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getRealname() {
+        return realname;
+    }
+
+    public void setRealname(String realname) {
+        this.realname = realname;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    public String getMobile() {
+        return mobile;
+    }
+
+    public void setMobile(String mobile) {
+        this.mobile = mobile;
+    }
+
+    public Long getAccountId() {
+        return accountId;
+    }
+
+    public void setAccountId(Long accountId) {
+        this.accountId = accountId;
+    }
+}

+ 27 - 27
base-servers/account/account-dto/src/main/java/com/usoftchina/saas/account/dto/PowerDTO.java

@@ -6,15 +6,15 @@ public class PowerDTO {
     private Long groupId;
     private String moduleName;
     private String groupName;
-    private boolean query;
-    private boolean add;
-    private boolean update;
-    private boolean delete;
-    private boolean audit;
-    private boolean unAudit;
-    private boolean print;
-    private boolean fileExport;
-    private boolean fileImport;
+    private Boolean query;
+    private Boolean add;
+    private Boolean update;
+    private Boolean delete;
+    private Boolean audit;
+    private Boolean unAudit;
+    private Boolean print;
+    private Boolean fileExport;
+    private Boolean fileImport;
     private List<OtherPowerDTO> other;
 
     public Long getGroupId() {
@@ -41,75 +41,75 @@ public class PowerDTO {
         this.moduleName = moduleName;
     }
 
-    public boolean getQuery() {
+    public Boolean getQuery() {
         return query;
     }
 
-    public void setQuery(boolean query) {
+    public void setQuery(Boolean query) {
         this.query = query;
     }
 
-    public boolean getAdd() {
+    public Boolean getAdd() {
         return add;
     }
 
-    public void setAdd(boolean add) {
+    public void setAdd(Boolean add) {
         this.add = add;
     }
 
-    public boolean getUpdate() {
+    public Boolean getUpdate() {
         return update;
     }
 
-    public void setUpdate(boolean update) {
+    public void setUpdate(Boolean update) {
         this.update = update;
     }
 
-    public boolean getDelete() {
+    public Boolean getDelete() {
         return delete;
     }
 
-    public void setDelete(boolean delete) {
+    public void setDelete(Boolean delete) {
         this.delete = delete;
     }
 
-    public boolean getAudit() {
+    public Boolean getAudit() {
         return audit;
     }
 
-    public void setAudit(boolean audit) {
+    public void setAudit(Boolean audit) {
         this.audit = audit;
     }
 
-    public boolean getUnAudit() {
+    public Boolean getUnAudit() {
         return unAudit;
     }
 
-    public void setUnAudit(boolean unAudit) {
+    public void setUnAudit(Boolean unAudit) {
         this.unAudit = unAudit;
     }
 
-    public boolean getPrint() {
+    public Boolean getPrint() {
         return print;
     }
 
-    public void setPrint(boolean print) {
+    public void setPrint(Boolean print) {
         this.print = print;
     }
 
-    public boolean getFileExport() {
+    public Boolean getFileExport() {
         return fileExport;
     }
 
-    public void setFileExport(boolean fileExport) {
+    public void setFileExport(Boolean fileExport) {
         this.fileExport = fileExport;
     }
 
-    public boolean getFileImport() {
+    public Boolean getFileImport() {
         return fileImport;
     }
 
-    public void setFileImport(boolean fileImport) {
+    public void setFileImport(Boolean fileImport) {
         this.fileImport = fileImport;
     }
 

+ 18 - 0
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/controller/AccountController.java

@@ -251,6 +251,24 @@ public class AccountController {
         return Result.success();
     }
 
+    /**
+     * 个人账户绑定角色
+     * @param accountId
+     * @param roleIds
+     * @return
+     */
+    @PostMapping("/bind/roles")
+    public Result bindRoles(@RequestParam long accountId, @RequestParam String roleIds) {
+        accountService.bindRoles(accountId, roleIds);
+        accountService.clearCache(accountId);
+        return Result.success();
+    }
+
+    @GetMapping("/accountRole/list")
+    public Result getAccountRole(){
+        return Result.success(accountService.selectAccountRole());
+    }
+
     /**
      * 解除个人账户绑定角色
      *

+ 5 - 0
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/mapper/AccountRoleMapper.java

@@ -1,7 +1,10 @@
 package com.usoftchina.saas.account.mapper;
 
+import com.usoftchina.saas.account.dto.AccountRoleDTO;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * @author yingp
  * @date 2018/10/2
@@ -45,4 +48,6 @@ public interface AccountRoleMapper {
      * @param roleId
      */
     void deleteByRoleId(@Param("roleId") Long roleId);
+
+    List<AccountRoleDTO> selectAccountRole();
 }

+ 7 - 0
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/mapper/RoleResourceMapper.java

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.account.mapper;
 
 import com.usoftchina.saas.account.po.OtherPower;
+import com.usoftchina.saas.account.po.PowerInfo;
 import com.usoftchina.saas.account.po.RoleResource;
 import org.apache.ibatis.annotations.Param;
 
@@ -62,6 +63,12 @@ public interface RoleResourceMapper {
      */
     List<Map<String, Object>> selectClassifyByRoleId(@Param("id") Long id);
 
+    /**
+     * 查询所有的ClassIfy
+     * @return
+     */
+    List<PowerInfo> selectPowerInfo();
+
     /**
      * 查询其他权限
      * @return

+ 43 - 0
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/po/PowerInfo.java

@@ -0,0 +1,43 @@
+package com.usoftchina.saas.account.po;
+
+import java.io.Serializable;
+
+public class PowerInfo implements Serializable {
+
+    private String classify;
+    private Long groupId;
+    private String groupName;
+    private String moduleName;
+
+    public String getClassify() {
+        return classify;
+    }
+
+    public void setClassify(String classify) {
+        this.classify = classify;
+    }
+
+    public Long getGrougId() {
+        return groupId;
+    }
+
+    public void setGrougId(Long groupId) {
+        this.groupId = groupId;
+    }
+
+    public String getGroupName() {
+        return groupName;
+    }
+
+    public void setGroupName(String groupName) {
+        this.groupName = groupName;
+    }
+
+    public String getModuleName() {
+        return moduleName;
+    }
+
+    public void setModuleName(String moduleName) {
+        this.moduleName = moduleName;
+    }
+}

+ 15 - 0
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/service/AccountService.java

@@ -1,5 +1,6 @@
 package com.usoftchina.saas.account.service;
 
+import com.usoftchina.saas.account.dto.AccountRoleDTO;
 import com.usoftchina.saas.account.po.Account;
 import com.usoftchina.saas.account.po.RoleResource;
 
@@ -108,6 +109,20 @@ public interface AccountService {
      */
     void bindRole(Long accountId, Long roleId);
 
+    /**
+     * 绑定个人账号与多个角色
+     *
+     * @param accountId
+     * @param roleIds
+     */
+    void bindRoles(Long accountId, String roleIds);
+
+    /**
+     * 账号+角色信息列表
+     * @return
+     */
+    List<AccountRoleDTO> selectAccountRole();
+
     /**
      * 解除个人账号与角色的绑定
      *

+ 14 - 0
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/service/impl/AccountServiceImpl.java

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.account.service.impl;
 
 import com.usoftchina.saas.account.cache.AccountCache;
+import com.usoftchina.saas.account.dto.AccountRoleDTO;
 import com.usoftchina.saas.account.mapper.AccountCompanyMapper;
 import com.usoftchina.saas.account.mapper.AccountMapper;
 import com.usoftchina.saas.account.mapper.AccountRoleMapper;
@@ -113,6 +114,19 @@ public class AccountServiceImpl implements AccountService {
         }
     }
 
+    @Override
+    public void bindRoles(Long accountId, String roleIds) {
+        String[] array = roleIds.split(",");
+        for (int i = 0; i < array.length; i++){
+            bindRole(accountId, Long.parseLong(array[i]));
+        }
+    }
+
+    @Override
+    public List<AccountRoleDTO> selectAccountRole(){
+        return accountRoleMapper.selectAccountRole();
+    }
+
     @Override
     public void unbindRole(Long accountId, Long roleId) {
         accountRoleMapper.delete(accountId, roleId);

+ 34 - 13
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/service/impl/RoleServiceImpl.java

@@ -92,8 +92,29 @@ public class RoleServiceImpl extends CommonBaseServiceImpl<RoleMapper, Role> imp
     public List<PowerDTO> getResourcePowerById(Long id) {
         List<PowerDTO> powerDTOList = new ArrayList<PowerDTO>();
         List<Map<String, Object>> classifyList = roleResourceMapper.selectClassifyByRoleId(id);
+        List<PowerInfo> powerInfoList = roleResourceMapper.selectPowerInfo();
         List<OtherPower> otherPowerList = roleResourceMapper.selectOthersPower();
-        //查询所有模块
+
+        for (PowerInfo powerInfo : powerInfoList){
+            PowerDTO powerDTO = new PowerDTO();
+            powerDTO.setGroupId(powerInfo.getGrougId());
+            powerDTO.setModuleName(powerInfo.getModuleName());
+            powerDTO.setGroupName(powerInfo.getGroupName());
+            //赋值默认权限,在权限列表中的资源默认置为false
+            setPowerValue(powerDTO, powerInfo.getClassify(), false);
+            //赋值权限
+            for (Map<String, Object> map : classifyList){
+                if (powerInfo.getGrougId().equals(map.get("group_id"))){
+                    String classify = String.valueOf(map.get("classify"));
+                    //角色有权限的,设置为true
+                    setPowerValue(powerDTO, classify, true);
+                    setOtherPower(powerDTO, powerInfo.getGrougId(), id, otherPowerList);
+                }
+            }
+            powerDTOList.add(powerDTO);
+        }
+
+        /*//查询所有模块
         List<ResourceModule> modules = resourceModuleMapper.selectByAppId(BaseContextHolder.getAppId());
         for (ResourceModule module : modules){
             //查询所有分组
@@ -113,7 +134,7 @@ public class RoleServiceImpl extends CommonBaseServiceImpl<RoleMapper, Role> imp
                 }
                 powerDTOList.add(powerDTO);
             }
-        }
+        }*/
         return powerDTOList;
     }
 
@@ -174,37 +195,37 @@ public class RoleServiceImpl extends CommonBaseServiceImpl<RoleMapper, Role> imp
         powerDTO.setOther(otherPowerDTOList);
     }
 
-    private void setPowerValue(PowerDTO powerDTO, String classify) {
+    private void setPowerValue(PowerDTO powerDTO, String classify , boolean status) {
         String[] array = classify.split(",");
         for(int i = 0; i < array.length; i++){
             switch (array[i]){
                 case "QUERY":
-                    powerDTO.setQuery(true);
-                    powerDTO.setFileExport(true);
+                    powerDTO.setQuery(status);
+                    powerDTO.setFileExport(status);
                     break;
                 case "ADD":
-                    powerDTO.setAdd(true);
+                    powerDTO.setAdd(status);
                     break;
                 case "UPDATE":
-                    powerDTO.setUpdate(true);
+                    powerDTO.setUpdate(status);
                     break;
                 case "AUDIT":
-                    powerDTO.setAudit(true);
+                    powerDTO.setAudit(status);
                     break;
                 case "UNAUDIT":
-                    powerDTO.setUnAudit(true);
+                    powerDTO.setUnAudit(status);
                     break;
                 case "DELETE":
-                    powerDTO.setDelete(true);
+                    powerDTO.setDelete(status);
                     break;
                 case "PRINT":
-                    powerDTO.setPrint(true);
+                    powerDTO.setPrint(status);
                     break;
                 case "EXPORT":
-                    powerDTO.setFileExport(true);
+                    powerDTO.setFileExport(status);
                     break;
                 case "IMPORT":
-                    powerDTO.setFileImport(true);
+                    powerDTO.setFileImport(status);
                     break;
                 default:
                     break;

+ 7 - 0
base-servers/account/account-server/src/main/resources/mapper/AccountRoleMapper.xml

@@ -16,4 +16,11 @@
     <delete id="deleteByCompanyId" parameterType="java.lang.Long">
         delete from ac_account_role where company_id=#{companyId}
     </delete>
+    <select id="selectAccountRole" resultType="com.usoftchina.saas.account.dto.AccountRoleDTO">
+        SELECT a.id id,a.username,a.realname,a.email,a.mobile,GROUP_CONCAT(c.name) roleNames,GROUP_CONCAT(c.id) roleIds
+        FROM ac_account a
+        left join ac_account_role b on a.id=b.account_id
+        left join ac_role c  on b.role_id = c.id
+        group by a.id,a.username,a.realname,a.email,a.mobile
+    </select>
 </mapper>

+ 8 - 0
base-servers/account/account-server/src/main/resources/mapper/RoleResourceMapper.xml

@@ -31,6 +31,14 @@
           GROUP BY GROUP_ID,CLASSIFY) A
         GROUP BY GROUP_ID
     </select>
+    <select id="selectPowerInfo" parameterType="java.lang.Long" resultType="com.usoftchina.saas.account.po.PowerInfo">
+        SELECT GROUP_CONCAT(classify) classify,group_id groupId,groupname,modulename FROM (
+          SELECT classify,group_id,s.name groupname,M.NAME modulename FROM AC_RESOURCE R
+				LEFT JOIN AC_RESOURCE_GROUP S ON R.GROUP_ID = S.ID
+				LEFT JOIN AC_RESOURCE_MODULE M ON S.MODULE_ID = M.ID
+          GROUP BY GROUP_ID,CLASSIFY,s.name,M.NAME) A
+        GROUP BY GROUP_ID,groupname,modulename
+    </select>
     <resultMap id="OtherPowerResultMap" type="com.usoftchina.saas.account.po.OtherPower">
         <result column="name" property="name" jdbcType="VARCHAR" />
         <result column="id" property="resourceId" jdbcType="BIGINT" />

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

@@ -42,7 +42,7 @@ public class AuthRestInterceptor extends HandlerInterceptorAdapter {
                 JwtInfo infoFromToken = JwtHelper.getInfoFromToken(token, authConfig.getPublicKey());
                 BaseContextHolder.setAppId(infoFromToken.getAppId());
                 BaseContextHolder.setUserId(infoFromToken.getUserId());
-                BaseContextHolder.setUserName(infoFromToken.getUserName());
+                BaseContextHolder.setUserName(infoFromToken.getRealName());
                 BaseContextHolder.setCompanyId(infoFromToken.getCompanyId());
                 BaseContextHolder.setToken(token);
                 log.info("request={} token={} \\r\\n userName={}", request.getRequestURI(),

+ 3 - 1
base-servers/auth/auth-common/src/main/java/com/usoftchina/saas/auth/common/jwt/JwtHelper.java

@@ -41,6 +41,7 @@ public class JwtHelper {
                             .claim("userId", jwtInfo.getUserId())
                             .claim("companyId", jwtInfo.getCompanyId())
                             .claim("userName", jwtInfo.getUserName())
+                            .claim("realName", jwtInfo.getRealName())
                             .setExpiration(DateTime.now().plusSeconds(expire).toDate())
                             // 设置算法(必须)
                             .signWith(SignatureAlgorithm.RS256, RsaUtils.getPrivateKey(priKeyPath))
@@ -97,7 +98,8 @@ public class JwtHelper {
                 ObjectUtils.getStringValue(body.get("appId")),
                 ObjectUtils.getLongValue(body.get("companyId")),
                 ObjectUtils.getLongValue(body.get("userId")),
-                ObjectUtils.getStringValue(body.get("userName"))
+                ObjectUtils.getStringValue(body.get("userName")),
+                ObjectUtils.getStringValue(body.get("realName"))
         );
     }
 }

+ 11 - 1
base-servers/auth/auth-common/src/main/java/com/usoftchina/saas/auth/common/jwt/JwtInfo.java

@@ -11,12 +11,22 @@ public class JwtInfo implements Serializable{
     private Long companyId;
     private Long userId;
     private String userName;
+    private String realName;
 
-    public JwtInfo(String appId, Long companyId, Long userId, String userName) {
+    public String getRealName() {
+        return realName;
+    }
+
+    public void setRealName(String realName) {
+        this.realName = realName;
+    }
+
+    public JwtInfo(String appId, Long companyId, Long userId, String userName, String realName) {
         this.appId = appId;
         this.companyId = companyId;
         this.userId = userId;
         this.userName = userName;
+        this.realName = realName;
     }
 
     public String getAppId() {

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

@@ -82,7 +82,7 @@ public class AuthController {
             // TODO
             String appId = "trade-app";
 
-            JwtInfo info = new JwtInfo(appId, companyId, accountDTO.getId(), accountDTO.getUsername());
+            JwtInfo info = new JwtInfo(appId, companyId, accountDTO.getId(), accountDTO.getUsername(), accountDTO.getRealname());
             TokenVO tokenVO = JwtHelper.generateToken(info, privateKeyPath, expire);
             TokenDTO tokenDTO = BeanMapper.map(tokenVO, TokenDTO.class);
             // 登录日志
@@ -112,7 +112,7 @@ public class AuthController {
         JwtInfo infoFromToken = JwtHelper.getInfoFromToken(token, publicKeyPath);
         if (isCompanyAvailable(infoFromToken, companyId)) {
             JwtInfo info = new JwtInfo(infoFromToken.getAppId(), companyId, infoFromToken.getUserId(),
-                    infoFromToken.getUserName());
+                    infoFromToken.getUserName(), infoFromToken.getRealName());
             TokenVO tokenVO = JwtHelper.generateToken(info, privateKeyPath, expire);
             return Result.success(BeanMapper.map(tokenVO, TokenDTO.class));
         }

+ 1 - 1
base-servers/gateway-server/src/main/java/com/usoftchina/saas/gateway/config/AuthFilter.java

@@ -49,7 +49,7 @@ public class AuthFilter implements GlobalFilter, Ordered {
                 BaseContextHolder.setAppId(jwt.getAppId());
                 BaseContextHolder.setUserId(jwt.getUserId());
                 BaseContextHolder.setCompanyId(jwt.getCompanyId());
-                BaseContextHolder.setUserName(jwt.getUserName());
+                BaseContextHolder.setUserName(jwt.getRealName());
                 BaseContextHolder.setToken(token);
                 AccountDTO accountDTO = AccountCache.current().getAccount();
                 if (null == accountDTO) {

+ 0 - 1
base-servers/gateway-server/src/main/resources/application.yml

@@ -176,5 +176,4 @@ auth:
   ignores:
     - /api/auth/authorize
     - /api/account/account/register
-    - /api/account/company/register
     - /api/auth/info

+ 1 - 0
base-servers/mail/mail-dto/src/main/java/com/usoftchina/saas/mail/dto/TemplateMailMessage.java

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.mail.dto;
 
 import java.io.Serializable;
+import java.util.Arrays;
 import java.util.Map;
 
 /**

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

@@ -9,30 +9,30 @@ Ext.define('saas.view.document.customer.BasePanel', {
         xtype : "textfield", 
         name : "cu_code", 
         emptyText : "客户编号", 
-        columnWidth : 0.25,
+        width:90,
     },{
         xtype : "textfield", 
         name : "cu_name", 
         emptyText : "客户名称", 
-        columnWidth : 0.25
+        width:90,
     },{
         editable:false,
         hiddenBtn:true,
         xtype : "remotecombo", 
         storeUrl:'/api/document/customerkind/getCombo',
         name : "cu_type", 
-        emptyText : "请选择客户类型", 
-        columnWidth : 0.25
+        emptyText : "客户类型", 
+        width:120,
     },{
         xtype : "textfield", 
         name : "cu_sellername", 
         emptyText : "业务员", 
-        columnWidth : 0.25,
+        width:120,
     },{
         xtype : "textfield", 
         name : "cu_promisedays", 
         emptyText : "承付天数", 
-        columnWidth : 0.25,
+        width:120,
         getCondition: function(value) {
             if(value.indexOf("=")>=0||value.indexOf("<")>=0||value.indexOf(">")>=0){
                 return ' cu_promisedays ' + value;
@@ -46,7 +46,7 @@ Ext.define('saas.view.document.customer.BasePanel', {
         xtype : "textfield", 
         name : "cu_credit", 
         emptyText : "额度", 
-        columnWidth : 0.25,
+        width:70,
         dataIndex : "cu_credit",
         getCondition: function(value) {
             if(value.indexOf("=")>=0||value.indexOf("<")>=0||value.indexOf(">")>=0){
@@ -60,12 +60,12 @@ Ext.define('saas.view.document.customer.BasePanel', {
     },{
         xtype: 'combobox',
         name: 'cu_statuscode',
-        fieldLabel: '状态',
         queryMode: 'local',
         displayField: 'cu_status',
         valueField: 'cu_statuscode',
-        emptyText :'全部',
+        emptyText :'状态',
         editable:false,
+        width:100,
         store: Ext.create('Ext.data.ArrayStore', {
         fields: ['cu_statuscode', 'cu_status'],
         data: [
@@ -101,7 +101,7 @@ Ext.define('saas.view.document.customer.BasePanel', {
         columns : [
         {
             text : "客户id", 
-            width : 0, 
+            hidden:true,
             dataIndex : "id", 
             xtype : "numbercolumn", 
         },{
@@ -160,22 +160,21 @@ Ext.define('saas.view.document.customer.BasePanel', {
         },{
             text : "客户状态", 
             dataIndex : "cu_status", 
-            flex : 1.0
         }, 
         {
             text : "客户状态码", 
             dataIndex : "cu_statuscode", 
-            width : 0 
+            hidden:true
         }, 
         {
             text : "默认客户地址", 
             dataIndex : "ca_address", 
-            width : 0 
+            hidden:true
         }, 
         {
             text : "默认客户联系人", 
             dataIndex : "cc_name", 
-            width : 0
+            hidden:true
         }]
     },
 

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

@@ -41,11 +41,11 @@ Ext.define('saas.view.document.product.BasePanel', {
     }, {
         xtype: 'combobox',
         name: 'pr_statuscode',
-        fieldLabel: '状态',
         queryMode: 'local',
         displayField: 'pr_status',
         valueField: 'pr_statuscode',
-        emptyText :'全部',
+        emptyText :'状态',
+        width:100,
         editable:false,
         store: Ext.create('Ext.data.ArrayStore', {
         fields: ['pr_statuscode', 'pr_status'],

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

@@ -204,9 +204,14 @@ Ext.define('saas.view.document.product.FormPanel', {
         detnoColumn: 'pd_detno',
         showCount: false,
         allowEmpty:true,
+<<<<<<< HEAD
         deleteDetailUrl:'/api/document/customer/delete/',
         columns : [
         {
+=======
+        deleteDetailUrl:'/api/document/product/deleteDetail/',
+        columns : [{
+>>>>>>> 645d12d7420ef944a60d67942f6e0e4f9e15824a
             text : "ID", 
             dataIndex : "id", 
             hidden : true,  

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

@@ -8,24 +8,24 @@ Ext.define('saas.view.document.vendor.BasePanel', {
         xtype : "dbfindtrigger", 
         name : "ve_code", 
         emptyText : "供应商编号", 
-        columnWidth : 0.25,
+        width:140,
     },{
         xtype : "textfield", 
         name : "ve_name", 
         emptyText : "供应商名称", 
-        columnWidth : 0.25,
+        width:140,
     },{
         xtype : "remotecombo", 
         storeUrl:'/api/document/vendorkind/getCombo',
         name : "ve_type", 
-        emptyText : "请选择供应商类型", 
-        columnWidth : 0.25,
+        emptyText : "供应商类型", 
+        width:140,
         hiddenBtn:true
     },{
         xtype : "textfield", 
         name : "ve_promisedays", 
         emptyText : "承付天数", 
-        columnWidth : 0.25,
+        width:120,
         getCondition: function(value) {
             if(value.indexOf("=")>=0||value.indexOf("<")>=0||value.indexOf(">")>=0){
                 return ' ve_promisedays '+value;
@@ -38,11 +38,11 @@ Ext.define('saas.view.document.vendor.BasePanel', {
     },{
         xtype: 'combobox',
         name: 've_statuscode',
-        fieldLabel: '状态',
         queryMode: 'local',
         displayField: 've_status',
         valueField: 've_statuscode',
-        emptyText :'全部',
+        emptyText :'状态',
+        width:100,
         editable:false,
         store: Ext.create('Ext.data.ArrayStore', {
         fields: ['ve_statuscode', 've_status'],

+ 6 - 0
frontend/saas-web/app/view/home/InfoCard.scss

@@ -40,6 +40,10 @@ $max-card-width: 235px;
             }
         }
     }
+
+    .x-toolbar-default-vertical {
+        padding: 0;
+    }
 }
 
 .x-scroller-button {
@@ -61,11 +65,13 @@ $max-card-width: 235px;
 .x-scroller-button-left {
     left: 0;
     background-image: url('images/default/arrows-left.png') !important;
+    background-position-x: 10px !important;
 }
 
 .x-scroller-button-right {
     right: 0;
     background-image: url('images/default/arrows-right.png') !important;
+    background-position-x: 4px !important;
 }
 
 .x-btn-over.x-btn-default-small.x-scroller-button-left,

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

@@ -29,6 +29,7 @@ Ext.define('saas.view.main.Main', {
                 {
                     xtype: 'component',
                     reference: 'mainLogo',
+                    width: 180,
                     cls: 'main-logo-wrap',
                     html: '<div class="main-logo"><img src="resources/images/default/logo-default.png"/><div class="logo-text">优企云服</div></div>',
                     bind: {

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

@@ -5,6 +5,8 @@ Ext.define('saas.view.main.Navigation', {
 
     reference: 'navigationTreeList',
 
+    width: 180,
+
     navCollapsed: false,
     cls: 'x-navpanel',
 

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

@@ -118,6 +118,7 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
         }, {
             text: '资金账户',
             dataIndex: 'pd_bankname',
+            allowBlank : false,
             editor:{
                 xtype:'dbfindtrigger'
             }

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

@@ -123,6 +123,7 @@ Ext.define('saas.view.money.recBalance.FormPanel', {
         }, {
             text: '资金账户',
             dataIndex: 'rd_bankname',
+            allowBlank : false,
             width: 200,
             editor:{
                 xtype:'dbfindtrigger'

+ 1 - 1
frontend/saas-web/app/view/stock/appropriationInOut/FormPanel.js

@@ -140,7 +140,7 @@ Ext.define('saas.view.stock.appropriationInOut.FormPanel', {
             {
                 text : "数量", 
                 xtype: 'numbercolumn',
-                dataIndex : "pd_inqty", 
+                dataIndex : "pd_outqty", 
                 width : 120.0,
                 allowBlank:false,
                 editor : {

+ 32 - 23
frontend/saas-web/app/view/stock/appropriationInOut/FormPanelController.js

@@ -178,34 +178,43 @@ Ext.define('saas.view.stock.appropriationInOut.FormPanelController', {
                 }
             },           
             //放大镜赋值关系 以及 tpl模板
-            'multidbfindtrigger[name=pd_prodcode]':{
-                beforerender:function(f){
-                    Ext.apply(f,{
-                        dataUrl:'/api/document/product/list',
+            'multidbfindtrigger[name=pd_prodcode]': {
+                beforerender: function (f) {
+                    Ext.apply(f, {
+                        dataUrl: '/api/document/product/list',
                         // dataUrl:'http://localhost:9480/product/list',
                         addXtype: 'document-product-formpanel',
                         addTitle: '物料资料',
-                        dbfinds:[{
-                            from:'id',to:'pd_prodid'                          
-                        },{
-                            from:'pr_code',to:'pd_prodcode'                          
-                        },{
-                            from:'pr_detail',to:'pr_detail'
-                        },{
-                            from:'pr_spec',to:'pr_spec'
+                        dbfinds: [{
+                            from: 'id',
+                            to: 'pd_prodid',ignore:true
+                        }, {
+                            from: 'pr_code',
+                            to: 'pd_prodcode'
+                        }, {
+                            from: 'pr_detail',
+                            to: 'pr_detail'
+                        }, {
+                            from: 'pr_spec',
+                            to: 'pr_spec'
                         },{
                             from:'pr_whid',to:'pd_whid'
                         },{
                             from:'pr_whcode',to:'pd_whcode'
                         },{
                             from:'pr_whname',to:'pd_whname'
-                        }],
-                        dbtpls:[{
-                            field:'pr_code',width:100
-                        },{
-                            field:'pr_detail',width:100
                         },{
-                            field:'pr_spec',width:100
+                            from:'pr_purcprice',to:'pd_orderprice'
+                        }],
+                        dbtpls: [{
+                            field: 'pr_code',
+                            width: 100
+                        }, {
+                            field: 'pr_detail',
+                            width: 100
+                        }, {
+                            field: 'pr_spec',
+                            width: 100
                         }],
                         defaultCondition: "pr_statuscode='OPEN'",
                         dbSearchFields:[{
@@ -218,7 +227,7 @@ Ext.define('saas.view.stock.appropriationInOut.FormPanelController', {
                             },
                             allowBlank : true, 
                             columnWidth : 0.25
-                        }],                   
+                        }],                        
                         dbColumns:[{
                             "text": "物料ID",
                             "hidden": true,
@@ -259,7 +268,7 @@ Ext.define('saas.view.stock.appropriationInOut.FormPanelController', {
                             xtype: 'numbercolumn',
                             renderer : function(v) {
                                 var arr = (v + '.').split('.');
-                                var xr = (new Array(arr[1].length)).fill('0');
+                                var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
                                 var format = '0,000.' + xr.join();
                                 return Ext.util.Format.number(v, format);
                             },                            
@@ -285,13 +294,13 @@ Ext.define('saas.view.stock.appropriationInOut.FormPanelController', {
                             "dataIndex": "pr_zxbzs",
                             "width": 100,
                             xtype: 'numbercolumn',
-                            align:'end'
+                            align: 'end'
                         },{
                             "text": "L/T",
                             "dataIndex": "pr_leadtime",
                             "width": 100,
                         }]
-                    }) ;   
+                    });
 
                 }
             },
@@ -355,7 +364,7 @@ Ext.define('saas.view.stock.appropriationInOut.FormPanelController', {
                 }) ;   
 
             }
-        },           
+            },           
         //放大镜赋值关系 以及 tpl模板
         'dbfindtrigger[name=pd_inwhname]':{
             beforerender:function(f){

+ 12 - 0
frontend/saas-web/app/view/sys/config/FormPanel.js

@@ -125,6 +125,18 @@ Ext.define('saas.view.sys.config.FormPanel', {
         buttonConfig: {
             iconCls: 'x-fa fa-picture-o'
         }
+    },{  
+        bind:'{en_logo}',
+        name : "en_logo", 
+        fieldLabel : "Logo上传", 
+        allowBlank : false, 
+        columnWidth : 0.33,
+        xtype: 'filefield',
+        emptyText: '请选择图片',
+        buttonText: '',
+        buttonConfig: {
+            iconCls: 'x-fa fa-picture-o'
+        }
     },{  
         ignore:true,
         bind:'{updateTime}',