Prechádzať zdrojové kódy

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

zhoudw 7 rokov pred
rodič
commit
65d17284d7
39 zmenil súbory, kde vykonal 687 pridanie a 217 odobranie
  1. 34 0
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/dto/EndProductDTO.java
  2. 87 0
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/dto/MessagelogDTO.java
  3. 11 1
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/po/Operation.java
  4. 37 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/EndProductController.java
  5. 22 4
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/MaxnumberController.java
  6. 18 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/mapper/EndProductMapper.java
  7. 2 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/mapper/MaxnumbersMapper.java
  8. 1 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/mapper/MessagelogMapper.java
  9. 15 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/EndProductService.java
  10. 8 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/MaxnumberService.java
  11. 90 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/impl/EndProductServiceImpl.java
  12. 65 0
      applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/impl/MaxnumberServiceImpl.java
  13. 3 1
      applications/commons/commons-server/src/main/resources/i18n/messages_zh_CN.properties
  14. 31 0
      applications/commons/commons-server/src/main/resources/mapper/EndProductMapper.xml
  15. 33 15
      applications/commons/commons-server/src/main/resources/mapper/MaxnumbersMapper.xml
  16. 1 1
      applications/document/document-server/src/main/resources/mapper/AddressMapper.xml
  17. 1 1
      applications/document/document-server/src/main/resources/mapper/CustomerkindMapper.xml
  18. 6 1
      frontend/saas-web/app/util/FormUtil.js
  19. 8 1
      frontend/saas-web/app/view/core/dbfind/DbfindGridPanel.js
  20. 16 3
      frontend/saas-web/app/view/core/dbfind/MultiDbfindGridPanel.js
  21. 33 13
      frontend/saas-web/app/view/core/form/FormPanel.js
  22. 22 64
      frontend/saas-web/app/view/document/bom/FormPanel.js
  23. 8 30
      frontend/saas-web/app/view/document/customer/FormPanel.js
  24. 8 4
      frontend/saas-web/app/view/document/kind/Kind.js
  25. 3 2
      frontend/saas-web/app/view/document/kind/KindController.js
  26. 1 1
      frontend/saas-web/app/view/document/kind/KindModel.js
  27. 6 1
      frontend/saas-web/app/view/document/other/Address.js
  28. 6 1
      frontend/saas-web/app/view/document/other/BankInformation.js
  29. 6 1
      frontend/saas-web/app/view/document/other/ProductBrand.js
  30. 6 1
      frontend/saas-web/app/view/document/other/ProductUnit.js
  31. 6 1
      frontend/saas-web/app/view/document/other/Warehouse.js
  32. 9 30
      frontend/saas-web/app/view/document/product/FormPanel.js
  33. 8 29
      frontend/saas-web/app/view/document/vendor/FormPanel.js
  34. 6 0
      frontend/saas-web/app/view/main/Main.scss
  35. 2 0
      frontend/saas-web/app/view/purchase/purchase/FormPanelController.js
  36. 2 2
      frontend/saas-web/app/view/sale/sale/QueryPanel.js
  37. 2 1
      frontend/saas-web/app/view/sale/saleIn/FormPanel.js
  38. 2 1
      frontend/saas-web/app/view/sale/saleOut/FormPanel.js
  39. 62 7
      frontend/saas-web/app/view/sys/finish/DataList.js

+ 34 - 0
applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/dto/EndProductDTO.java

@@ -0,0 +1,34 @@
+package com.usoftchina.saas.commons.dto;
+
+import com.usoftchina.saas.base.dto.CommonBaseDTO;
+import com.usoftchina.saas.commons.po.Messagelog;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 结账  返回数据
+ * @author chenwei
+ * @date 2018/10/31
+ */
+public class EndProductDTO extends CommonBaseDTO implements Serializable {
+
+    private String main;
+    private List<MessagelogDTO> items;
+
+    public String getMain() {
+        return main;
+    }
+
+    public void setMain(String main) {
+        this.main = main;
+    }
+
+    public List<MessagelogDTO> getItems() {
+        return items;
+    }
+
+    public void setItems(List<MessagelogDTO> items) {
+        this.items = items;
+    }
+}

+ 87 - 0
applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/dto/MessagelogDTO.java

@@ -0,0 +1,87 @@
+package com.usoftchina.saas.commons.dto;
+
+import java.io.Serializable;
+import java.util.Date;
+
+public class MessagelogDTO implements Serializable {
+
+    private String ml_code;
+
+    private String ml_content;
+
+    private String ml_result;
+
+    private String ml_caller;
+
+    private String ml_man;
+
+    private Date createTime;
+
+    private Long companyId;
+
+    private Long ml_keyvalue;
+
+    public Long getCompanyId() {
+        return companyId;
+    }
+
+    public void setCompanyId(Long companyId) {
+        this.companyId = companyId;
+    }
+
+    public Long getMl_keyvalue() {
+        return ml_keyvalue;
+    }
+
+    public void setMl_keyvalue(Long ml_keyvalue) {
+        this.ml_keyvalue = ml_keyvalue;
+    }
+
+    public String getMl_code() {
+        return ml_code;
+    }
+
+    public void setMl_code(String ml_code) {
+        this.ml_code = ml_code;
+    }
+
+    public String getMl_content() {
+        return ml_content;
+    }
+
+    public void setMl_content(String ml_content) {
+        this.ml_content = ml_content;
+    }
+
+    public String getMl_result() {
+        return ml_result;
+    }
+
+    public void setMl_result(String ml_result) {
+        this.ml_result = ml_result;
+    }
+
+    public String getMl_caller() {
+        return ml_caller;
+    }
+
+    public void setMl_caller(String ml_caller) {
+        this.ml_caller = ml_caller;
+    }
+
+    public String getMl_man() {
+        return ml_man;
+    }
+
+    public void setMl_man(String ml_man) {
+        this.ml_man = ml_man;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+}

+ 11 - 1
applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/po/Operation.java

@@ -49,7 +49,17 @@ public enum Operation {
     /**
      * 禁用操作
      */
-    BANNED("msg.banned", "msg.bannedSuccess");
+    BANNED("msg.banned", "msg.bannedSuccess"),
+
+    /**
+     * 记账
+     */
+    ENDPRODUCT("msg.endProdudct", "msg.endProdudctSuccess"),
+
+    /**
+     * 反记账
+     */
+    UNENDPRODUCT("msg.unEndProduct", "msg.unEndProductSuccess");
 
     private final String title;
     private final String result;

+ 37 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/EndProductController.java

@@ -0,0 +1,37 @@
+package com.usoftchina.saas.commons.controller;
+
+import com.netflix.discovery.converters.Auto;
+import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.commons.dto.ListReqDTO;
+import com.usoftchina.saas.commons.service.EndProductService;
+import com.usoftchina.saas.page.PageRequest;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 结账
+ */
+@RestController
+@RequestMapping("/endProduct")
+public class EndProductController {
+
+    @Autowired
+    private EndProductService endProductService;
+
+    @GetMapping("/list")
+    public Result getListData(PageRequest page, ListReqDTO listReqDTO){
+        return Result.success(endProductService.getPeriodData(page, listReqDTO));
+    }
+
+    @PostMapping("/endAccount")
+    public Result endAccount(){
+        return Result.success(endProductService.endAccount());
+    }
+
+    @PostMapping("/unEndAccount")
+    public Result unEndAccount(){
+
+        return Result.success();
+    }
+
+}

+ 22 - 4
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/MaxnumberController.java

@@ -2,13 +2,15 @@ package com.usoftchina.saas.commons.controller;
 
 
 import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.commons.dto.ListReqDTO;
+import com.usoftchina.saas.commons.po.Maxnumbers;
 import com.usoftchina.saas.commons.service.MaxnumberService;
 
+import com.usoftchina.saas.page.PageRequest;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+
+import java.sql.ResultSet;
 
 /**
  * @author: guq
@@ -31,4 +33,20 @@ public class MaxnumberController {
                                 @RequestParam("caller") String caller) {
         return Result.success(maxnumberService.pushMaxnubmer(count, code, caller));
     }
+
+    @GetMapping("/list")
+    public Result getList(PageRequest page, ListReqDTO listReqDTO){
+        return Result.success(maxnumberService.getListData(page, listReqDTO));
+    }
+
+    @PostMapping("/save")
+    public Result save(@RequestBody Maxnumbers maxnumbers){
+        return Result.success(maxnumberService.saveData(maxnumbers));
+    }
+
+    @PostMapping("/delete/{id}")
+    public Result delete(@PathVariable("id") Long id){
+        maxnumberService.removeByPrimaryKey(id);
+        return Result.success();
+    }
 }

+ 18 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/mapper/EndProductMapper.java

@@ -0,0 +1,18 @@
+package com.usoftchina.saas.commons.mapper;
+
+import com.usoftchina.saas.commons.dto.MessagelogDTO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+public interface EndProductMapper {
+
+    void endProduct(Map<String, Object> map);
+
+    String selectPeriod(@Param("companyId") Long companyId);
+
+    List<MessagelogDTO> getListData(@Param("condition") String condition, @Param("companyId") Long companyId);
+
+    void updatePeriodStatus(@Param("status") Long status,@Param("period") String period, @Param("companyId") Long companyId);
+}

+ 2 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/mapper/MaxnumbersMapper.java

@@ -31,4 +31,6 @@ public interface MaxnumbersMapper extends CommonBaseMapper<Maxnumbers>{
     int updateByPrimaryKeySelective(Maxnumbers record);
 
     int updateByPrimaryKey(Maxnumbers record);
+
+    List<Maxnumbers> getListDataByCondition(@Param("condition") String condition, @Param("companyId") Long companyId);
 }

+ 1 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/mapper/MessagelogMapper.java

@@ -1,6 +1,7 @@
 package com.usoftchina.saas.commons.mapper;
 
 import com.usoftchina.saas.base.mapper.CommonBaseMapper;
+import com.usoftchina.saas.commons.dto.MessagelogDTO;
 import com.usoftchina.saas.commons.po.Messagelog;
 import com.usoftchina.saas.commons.po.MessagelogExample;
 import java.util.List;

+ 15 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/EndProductService.java

@@ -0,0 +1,15 @@
+package com.usoftchina.saas.commons.service;
+
+import com.usoftchina.saas.commons.dto.ListReqDTO;
+import com.usoftchina.saas.page.PageRequest;
+
+import java.util.Map;
+
+public interface EndProductService{
+
+    Map<String, Object> getPeriodData(PageRequest page, ListReqDTO listReqDTO);
+
+    String endAccount();
+
+    void unEndAccount();
+}

+ 8 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/MaxnumberService.java

@@ -1,8 +1,12 @@
 package com.usoftchina.saas.commons.service;
 
+import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.base.service.CommonBaseService;
+import com.usoftchina.saas.commons.dto.DocBaseDTO;
+import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.commons.mapper.MaxnumbersMapper;
 import com.usoftchina.saas.commons.po.Maxnumbers;
+import com.usoftchina.saas.page.PageRequest;
 
 /**
  * @author: guq
@@ -12,4 +16,8 @@ public interface MaxnumberService extends CommonBaseService<MaxnumbersMapper, Ma
     String getMaxnumner(String caller, boolean update);
 
     String pushMaxnubmer(Integer count, String code, String caller);
+
+    PageInfo<Maxnumbers> getListData(PageRequest page, ListReqDTO listReqDTO);
+
+    DocBaseDTO saveData(Maxnumbers maxnumbers);
 }

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

@@ -0,0 +1,90 @@
+package com.usoftchina.saas.commons.service.impl;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.usoftchina.saas.commons.dto.DocBaseDTO;
+import com.usoftchina.saas.commons.dto.ListReqDTO;
+import com.usoftchina.saas.commons.dto.MessagelogDTO;
+import com.usoftchina.saas.commons.mapper.EndProductMapper;
+import com.usoftchina.saas.commons.mapper.MessagelogMapper;
+import com.usoftchina.saas.commons.po.Operation;
+import com.usoftchina.saas.commons.service.EndProductService;
+import com.usoftchina.saas.commons.service.MessageLogService;
+import com.usoftchina.saas.context.BaseContextHolder;
+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.util.StringUtils;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class EndProductServiceImpl implements EndProductService {
+
+    @Autowired
+    private MessageLogService messageLogService;
+    @Autowired
+    private MessagelogMapper messagelogMapper;
+    @Autowired
+    private EndProductMapper endProductMapper;
+
+    @Override
+    public Map<String, Object> getPeriodData(PageRequest page, ListReqDTO listReqDTO) {
+        //设置分页
+        if (null == page || page.getSize() == 0 || page.getNumber() == 0) {
+            page = new PageRequest();
+            page.setNumber(1);
+            page.setSize(10);
+        }
+        PageHelper.startPage(page.getNumber(), page.getSize());
+        //condition语句
+        String condition = listReqDTO.getFinalCondition();
+        if(condition == null){
+            condition = "1=1";
+        }
+        List<MessagelogDTO> messagelogDTOS = endProductMapper.getListData(condition, BaseContextHolder.getCompanyId());
+        //取分页信息
+        PageInfo<MessagelogDTO> pageInfo = new PageInfo<MessagelogDTO>(messagelogDTOS);
+        Map<String, Object> map = new HashMap<String, Object>();
+        map.put("main", endProductMapper.selectPeriod(BaseContextHolder.getCompanyId()));
+        map.put("item",pageInfo);
+        return map;
+    }
+
+    @Override
+    public String endAccount() {
+        String period = endProductMapper.selectPeriod(BaseContextHolder.getCompanyId());
+        Map<String, Object> map = new HashMap<String, Object>();
+        map.put("yearMonth", period);
+        map.put("companyId", BaseContextHolder.getCompanyId());
+        map.put("result", null);
+        endProductMapper.endProduct(map);
+        endProductMapper.updatePeriodStatus(99L, period, BaseContextHolder.getCompanyId());
+        DocBaseDTO docBaseDTO = generateMsgObj(Long.parseLong(period));
+        messageLogService.customizeLog(docBaseDTO, Operation.ENDPRODUCT);
+        return String.valueOf(map.get("result"));
+    }
+
+    @Override
+    public void unEndAccount() {
+        String period = endProductMapper.selectPeriod(BaseContextHolder.getCompanyId());
+        if (StringUtils.isEmpty(period)){
+            throw new BizException(79306,"系统还未结账,不能反结账");
+        }else{
+            endProductMapper.updatePeriodStatus(0L, period, BaseContextHolder.getCompanyId());
+            messageLogService.customizeLog(generateMsgObj(Long.parseLong(period)), Operation.UNENDPRODUCT);
+        }
+    }
+    /**
+     * 构造 记录日志对象
+     * @param id
+     * @return
+     */
+    private DocBaseDTO generateMsgObj(Long id){
+        return new DocBaseDTO(id, null, "EndProduct");
+    }
+
+}

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

@@ -1,6 +1,10 @@
 package com.usoftchina.saas.commons.service.impl;
 
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.base.service.CommonBaseServiceImpl;
+import com.usoftchina.saas.commons.dto.DocBaseDTO;
+import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.commons.exception.BizExceptionCode;
 import com.usoftchina.saas.commons.mapper.MaxnumbersMapper;
 import com.usoftchina.saas.commons.mapper.MaxnumbersdetailMapper;
@@ -9,15 +13,18 @@ import com.usoftchina.saas.commons.po.MaxnumbersExample;
 import com.usoftchina.saas.commons.po.Maxnumbersdetail;
 import com.usoftchina.saas.commons.po.MaxnumbersdetailExample;
 import com.usoftchina.saas.commons.service.MaxnumberService;
+import com.usoftchina.saas.commons.service.MessageLogService;
 import com.usoftchina.saas.context.BaseContextHolder;
 
 import com.usoftchina.saas.exception.BizException;
+import com.usoftchina.saas.page.PageRequest;
 import com.usoftchina.saas.utils.DateUtils;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
+import java.util.List;
 
 
 /**
@@ -31,6 +38,8 @@ public class MaxnumberServiceImpl extends CommonBaseServiceImpl<MaxnumbersMapper
     private MaxnumbersMapper maxnumbersMapper;
     @Autowired
     private MaxnumbersdetailMapper maxnumbersdetailMapper;
+    @Autowired
+    private MessageLogService messageLogService;
 
     /**
     * @Description
@@ -144,6 +153,53 @@ public class MaxnumberServiceImpl extends CommonBaseServiceImpl<MaxnumbersMapper
         return maxcode;
     }
 
+    @Override
+    public PageInfo<Maxnumbers> getListData(PageRequest page, ListReqDTO listReqDTO) {
+        //设置分页
+        if (null == page || page.getSize() == 0 || page.getNumber() == 0) {
+            page = new PageRequest();
+            page.setNumber(1);
+            page.setSize(10);
+        }
+        PageHelper.startPage(page.getNumber(), page.getSize());
+        //condition语句
+        String condition = listReqDTO.getFinalCondition();
+        if(condition == null){
+            condition = "1=1";
+        }
+
+        List<Maxnumbers> maxnumbersList = getMapper().getListDataByCondition(condition, BaseContextHolder.getCompanyId());
+        //取分页信息
+        PageInfo<Maxnumbers> pageInfo = new PageInfo<Maxnumbers>(maxnumbersList);
+        return pageInfo;
+    }
+
+    @Override
+    public DocBaseDTO saveData(Maxnumbers maxnumbers) {
+        DocBaseDTO docBaseDTO = null;
+        if(maxnumbers.getId() == 0){
+            //保存
+            maxnumbers.setCompanyId(BaseContextHolder.getCompanyId());
+            maxnumbers.setCreatorId(BaseContextHolder.getUserId());
+            maxnumbers.setCreateTime(new Date());
+
+            getMapper().insertSelective(maxnumbers);
+            //记录LOG
+            docBaseDTO = generateMsgObj(maxnumbers.getId());
+            messageLogService.save(docBaseDTO);
+        }else{
+            //更新
+            maxnumbers.setUpdaterId(BaseContextHolder.getUserId());
+            maxnumbers.setUpdateTime(new Date());
+
+            getMapper().updateByPrimaryKeySelective(maxnumbers);
+            //记录LOG
+            docBaseDTO = generateMsgObj(maxnumbers.getId());
+            messageLogService.update(docBaseDTO);
+        }
+        return docBaseDTO;
+    }
+
     /**
     * @Description
     * 根据长度跳流水号
@@ -229,4 +285,13 @@ public class MaxnumberServiceImpl extends CommonBaseServiceImpl<MaxnumbersMapper
         return rulecode += date;
     }
 
+    /**
+     * 构造日记记录对象
+     * @param id
+     * @return
+     */
+    private DocBaseDTO generateMsgObj(Long id){
+        return new DocBaseDTO(id, null, "Maxnumber");
+    }
+
 }

+ 3 - 1
applications/commons/commons-server/src/main/resources/i18n/messages_zh_CN.properties

@@ -114,4 +114,6 @@ msg.CopySuccess=\u590d\u5236\u6210\u529f,\u6765\u6e90\u5355\u53f7\uff1a
 msg.getBill=\u83b7\u53d6\u53d1\u7968\u660e\u7ec6
 msg.getARBill=\u83b7\u53d6\u5e94\u6536\u53d1\u7968
 msg.getAPBill=\u83b7\u53d6\u5e94\u4ed8\u53d1\u7968
-msg.getSuccess=\u83b7\u53d6\u6210\u529f
+msg.getSuccess=\u83b7\u53d6\u6210\u529f
+msg.endProdudct=\u8bb0\u8d26\u64cd\u4f5c
+msg.endProdudctSuccess=\u7ed3\u8d26\u6210\u529f

+ 31 - 0
applications/commons/commons-server/src/main/resources/mapper/EndProductMapper.xml

@@ -0,0 +1,31 @@
+<?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.commons.mapper.EndProductMapper" >
+    <parameterMap id="spParamMap" type="java.util.Map">
+        <parameter property="yearMonth" jdbcType="VARCHAR" mode="IN" />
+        <parameter property="companyId" jdbcType="VARCHAR" mode="IN" />
+        <parameter property="result" jdbcType="VARCHAR" mode="OUT" />
+    </parameterMap>
+
+    <select id="selectPeriod" resultType="string">
+        select PD_DETNO from periodsdetail where companyid=#{companyId} and pd_status=0 order by PD_DETNO LIMIT 1;
+    </select>
+    <resultMap id="MsgResult" type="com.usoftchina.saas.commons.dto.MessagelogDTO">
+        <result column="ml_content" property="ml_content" jdbcType="VARCHAR" />
+        <result column="ml_result" property="ml_result" jdbcType="VARCHAR" />
+        <result column="ml_man" property="ml_man" jdbcType="VARCHAR" />
+        <result column="companyId" property="companyId" jdbcType="INTEGER" />
+        <result column="createTime" property="createTime" jdbcType="TIMESTAMP" />
+        <result column="ml_keyvalue" property="ml_keyvalue" jdbcType="INTEGER" />
+    </resultMap>
+    <select id="getListData" resultMap="MsgResult">
+        SELECT * FROM MESSAGELOG WHERE ML_CALLER='EndProduct' AND COMPANYID=#{companyId} AND ml_result='记账成功'
+    </select>
+
+    <select id="endProduct" parameterMap="spParamMap" statementType="CALLABLE">
+        CALL SP_ENDPRODUCT(?, ?, ?)
+    </select>
+    <update id="updatePeriodStatus" >
+        update periodsdetail set pd_status=#{status} where pd_detno=#{period} and companyId=#{companyId}
+    </update>
+</mapper>

+ 33 - 15
applications/commons/commons-server/src/main/resources/mapper/MaxnumbersMapper.xml

@@ -88,15 +88,15 @@
       order by ${orderByClause}
     </if>
   </select>
-  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" >
     select 
     <include refid="Base_Column_List" />
     from maxnumbers
-    where mn_id = #{id,jdbcType=INTEGER}
+    where mn_id = #{id}
   </select>
-  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long" >
     delete from maxnumbers
-    where mn_id = #{id,jdbcType=INTEGER}
+    where mn_id = #{id}
   </delete>
   <delete id="deleteByExample" parameterType="com.usoftchina.saas.commons.po.MaxnumbersExample" >
     delete from maxnumbers
@@ -105,27 +105,30 @@
     </if>
   </delete>
   <insert id="insert" parameterType="com.usoftchina.saas.commons.po.Maxnumbers" >
-    insert into maxnumbers (mn_id, mn_caller, mn_leadcode, 
+    insert into maxnumbers (mn_caller, mn_leadcode,
       mn_number, companyId, createTime, 
       creatorId, updateTime, updaterId
       )
-    values (#{id,jdbcType=INTEGER}, #{mn_caller,jdbcType=VARCHAR}, #{mn_leadcode,jdbcType=VARCHAR},
+    values (#{mn_caller,jdbcType=VARCHAR}, #{mn_leadcode,jdbcType=VARCHAR},
       #{mn_number,jdbcType=VARCHAR}, #{companyId,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, 
       #{creatorId,jdbcType=INTEGER}, #{updateTime,jdbcType=TIMESTAMP}, #{updaterId,jdbcType=INTEGER}
       )
   </insert>
   <insert id="insertSelective" parameterType="com.usoftchina.saas.commons.po.Maxnumbers" >
+      <selectKey resultType="java.lang.Long" keyProperty="id">
+          SELECT LAST_INSERT_ID() AS ID
+      </selectKey>
     insert into maxnumbers
     <trim prefix="(" suffix=")" suffixOverrides="," >
-      <if test="id != null" >
-        mn_id,
-      </if>
       <if test="mn_caller != null" >
         mn_caller,
       </if>
       <if test="mn_leadcode != null" >
         mn_leadcode,
       </if>
+      <if test="mn_rule != null" >
+          mn_rule,
+      </if>
       <if test="mn_number != null" >
         mn_number,
       </if>
@@ -146,15 +149,15 @@
       </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides="," >
-      <if test="id != null" >
-        #{id,jdbcType=INTEGER},
-      </if>
       <if test="mn_caller != null" >
         #{mn_caller,jdbcType=VARCHAR},
       </if>
       <if test="mn_leadcode != null" >
         #{mn_leadcode,jdbcType=VARCHAR},
       </if>
+      <if test="mn_rule != null" >
+        #{mn_rule,jdbcType=VARCHAR},
+      </if>
       <if test="mn_number != null" >
         #{mn_number,jdbcType=VARCHAR},
       </if>
@@ -175,7 +178,7 @@
       </if>
     </trim>
   </insert>
-  <select id="countByExample" parameterType="com.usoftchina.saas.commons.po.MaxnumbersExample" resultType="java.lang.Integer" >
+  <select id="countByExample" parameterType="com.usoftchina.saas.commons.po.MaxnumbersExample" resultType="java.lang.Long" >
     select count(*) from maxnumbers
     <if test="_parameter != null" >
       <include refid="Example_Where_Clause" />
@@ -240,6 +243,9 @@
       <if test="mn_leadcode != null" >
         mn_leadcode = #{mn_leadcode,jdbcType=VARCHAR},
       </if>
+      <if test="mn_rule != null" >
+        mn_rule = #{mn_rule,jdbcType=VARCHAR},
+      </if>
       <if test="mn_number != null" >
         mn_number = #{mn_number,jdbcType=VARCHAR},
       </if>
@@ -259,7 +265,7 @@
         updaterId = #{updaterId,jdbcType=INTEGER},
       </if>
     </set>
-    where mn_id = #{id,jdbcType=INTEGER}
+    where mn_id = #{id}
   </update>
   <update id="updateByPrimaryKey" parameterType="com.usoftchina.saas.commons.po.Maxnumbers" >
     update maxnumbers
@@ -271,6 +277,18 @@
       creatorId = #{creatorId,jdbcType=INTEGER},
       updateTime = #{updateTime,jdbcType=TIMESTAMP},
       updaterId = #{updaterId,jdbcType=INTEGER}
-    where mn_id = #{id,jdbcType=INTEGER}
+    where mn_id = #{id}
   </update>
+    <select id="getListDataByCondition" resultMap="BaseResultMap">
+        SELECT * FROM MAXNUMBERS
+        <where>
+            <if test="condition">
+                ${condition}
+            </if>
+            <if test="companyId">
+                and COMPANYID=#{companyId}
+            </if>
+        </where>
+        ORDER BY MN_ID DESC
+    </select>
 </mapper>

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

@@ -182,7 +182,7 @@
     SELECT * FROM ADDRESS
   </select>
   <select id="selectCountByName" resultType="int">
-    SELECT * FROM ADDRESS WHERE AD_ADDRESS=#{name} AND COMPANYID=#{companyId}
+    SELECT count(*) FROM ADDRESS WHERE AD_ADDRESS=#{name} AND COMPANYID=#{companyId}
   </select>
     <select id="getCombo" resultType="com.usoftchina.saas.commons.dto.ComboDTO">
         SELECT AD_ADDRESS display,AD_ADDRESS value FROM ADDRESS WHERE COMPANYID=#{companyId}

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

@@ -126,6 +126,6 @@
     SELECT ck_name display,ck_name value FROM CUSTOMERKIND WHERE COMPANYID=#{companyId}
   </select>
     <select id="selectCountByName" resultType="int">
-        SELECT * FROM CUSTOMERKIND WHERE CK_NAME=#{name} AND COMPANYID=#{companyId}
+        SELECT count(*) FROM CUSTOMERKIND WHERE CK_NAME=#{name} AND COMPANYID=#{companyId}
     </select>
 </mapper>

+ 6 - 1
frontend/saas-web/app/util/FormUtil.js

@@ -74,7 +74,8 @@ Ext.define('saas.util.FormUtil', {
 
                                 // 不可锁定
                                 Ext.applyIf(c, {
-                                    lockable: false
+                                    lockable: false,
+                                    width: 120
                                 });
 
                                 //必填
@@ -106,6 +107,10 @@ Ext.define('saas.util.FormUtil', {
                                 }
                             });
 
+                            columns.push({
+                                flex: 1
+                            });
+
                             cnames.push(item.detnoColumn);
 
                             formModel.set('detail' + index + '.detailBindFields', cnames);

+ 8 - 1
frontend/saas-web/app/view/core/dbfind/DbfindGridPanel.js

@@ -32,7 +32,14 @@ Ext.define('saas.view.core.dbfind.DbfindGridPanel', {
                     beforeload: function (store, op) {
                         var condition = me.condition;
                         if (Ext.isEmpty(condition)) {
-                            condition = '';
+                            condition = [];
+                        }
+                        //添加默认条件
+                        if(me.ownerCt.trigger.defaultCondition) {
+                            condition.push({
+                                type: 'condition',
+                                value: me.ownerCt.trigger.defaultCondition
+                            });
                         }
                         Ext.apply(store.proxy.extraParams, {
                             number: op._page,

+ 16 - 3
frontend/saas-web/app/view/core/dbfind/MultiDbfindGridPanel.js

@@ -60,12 +60,19 @@ Ext.define('saas.view.core.dbfind.MultiDbfindGridPanel', {
                     beforeload: function (store, op) {
                         var condition = me.condition;
                         if (Ext.isEmpty(condition)) {
-                            condition = " 1=1 ";
+                            condition = [];
+                        }
+                        //添加默认条件
+                        if(me.ownerCt.trigger.defaultCondition) {
+                            condition.push({
+                                type: 'condition',
+                                value: me.ownerCt.trigger.defaultCondition
+                            });
                         }
                         Ext.apply(store.proxy.extraParams, {
                             number: op._page,
                             size: store.pageSize,
-                            keyword: condition
+                            condition: JSON.stringify(condition)
                         });
                     }
                 }
@@ -107,7 +114,7 @@ Ext.define('saas.view.core.dbfind.MultiDbfindGridPanel', {
                             //点开放大镜的行
                             var rec = grid.dbfindtrigger.column.ownerCt.ownerCt.selModel.getLastSelected();
                             var mainGrid = grid.dbfindtrigger.column.ownerCt.ownerCt;
-                            Ext.Array.each(selectRecordArr,function(record,index) {
+                            Ext.Array.each(selectRecordArr,function(record,x) {
                                 Ext.Array.each(dbfinds,function(dbfind) {
                                     if(rec){
                                         var nowRec = grid.dbfindtrigger.column.ownerCt.ownerCt.store.getData().getByKey(rec.id);
@@ -118,6 +125,12 @@ Ext.define('saas.view.core.dbfind.MultiDbfindGridPanel', {
                                     return f.id==(rec&&rec.id?rec.id:0)
                                 });
                                 rec = mainGrid.store.data.getAt(index+1);
+                                if(!rec&&x!=selectRecordArr.length-1){//添加下一行
+                                    var data = {};
+                                    data[mainGrid.ownerCt.detnoColumn] = index + 2;
+                                    mainGrid.store.insert(index+1, data);
+                                    rec = mainGrid.store.data.getAt(index+1);
+                                }
                             });
                             grid.ownerCt.close();
                         }

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

@@ -37,8 +37,19 @@ Ext.define('saas.view.core.form.FormPanel', {
     remoteConfig: true, // 是否需要从远端读取form配置
     toolBtns: [], // 自定义按钮
 
+    auditTexts: {
+        auditCode: 'AUDITED',
+        auditText: '已审核',
+        unAuditCode: 'UNAUDITED',
+        unAuditText: '未审核',
+        auditBtnText: '审核',
+        unAuditBtnText: '反审核',
+    },
+
     initComponent: function () {
-        var me = this;
+        var me = this,
+        auditTexts = me.auditTexts;
+
         me.initViewModel();
         me.FormUtil.setItems(me);
 
@@ -78,14 +89,16 @@ Ext.define('saas.view.core.form.FormPanel', {
                     cls: 'x-audited',
                     hidden: true,
                     bind: {
-                        hidden: '{!(' + me._statusCodeField + ' == "AUDITED")}'
+                        // hidden: '{!(' + me._statusCodeField + ' == "AUDITED")}'
+                        hidden: '{!(' + me._statusCodeField + ' == "' + auditTexts.auditCode + '")}'
                     }
                 }, {
                     xtype: 'button',
                     cls: 'x-codeeditor-btn',
                     bind: {
                         iconCls: 'fa {base.codeEditable ? "fa-check-circle" : "fa-edit"}',
-                        hidden: '{(' + me._statusCodeField + ' == "AUDITED")}'
+                        // hidden: '{(' + me._statusCodeField + ' == "AUDITED")}'
+                        hidden: '{(' + me._statusCodeField + ' == "' + auditTexts.auditCode + '")}'
                     },
                     handler: 'codeEditorClick'
                 }, '->'].concat(me.toolBtns.map(function (btn) {
@@ -104,7 +117,8 @@ Ext.define('saas.view.core.form.FormPanel', {
                     text: '保存',
                     handler: 'onSave',
                     bind: {
-                        disabled: '{!base.valid || '+ me._statusCodeField + ' == "AUDITED" || ' + me._statusCodeField + ' == "OPEN"}'
+                        // disabled: '{!base.valid || '+ me._statusCodeField + ' == "AUDITED" || ' + me._statusCodeField + ' == "OPEN"}'
+                        disabled: '{!base.valid || '+ me._statusCodeField + ' == "' + auditTexts.auditCode + '"}'
                     }
                 }, {
                     xtype: 'button',
@@ -155,10 +169,11 @@ Ext.define('saas.view.core.form.FormPanel', {
      */
     initViewModel: function () {
         var me = this,
-            codeField = me._codeField,
-            statusField = me._statusField,
-            statusCodeField = me._statusCodeField,
-            viewModel = me.getViewModel();
+        codeField = me._codeField,
+        statusField = me._statusField,
+        statusCodeField = me._statusCodeField,
+        viewModel = me.getViewModel(),
+        auditTexts = me.auditTexts;
 
         viewModel.set(codeField, '');
         viewModel.set('createTime', Ext.Date.format(new Date(), 'Y-m-d H:i:s'));
@@ -169,16 +184,21 @@ Ext.define('saas.view.core.form.FormPanel', {
             o['bindEditable'] = {
                 bind: '{' + statusCodeField + '}',
                 get: function(value) {
-                    viewModel.set(statusField, value == 'AUDITED' ? '已审核' : '未审核');
-                    viewModel.set('auditBtnText', value == 'AUDITED' ? '反审核' : '审核');
-                    me.setEditable(value != 'AUDITED');
+                    // viewModel.set(statusField, value == 'AUDITED' ? '已审核' : '未审核');
+                    viewModel.set(statusField, value == auditTexts.auditCode ? auditTexts.auditText : auditTexts.unAuditText);
+                    // viewModel.set('auditBtnText', value == 'AUDITED' ? '反审核' : '审核');
+                    viewModel.set('auditBtnText', value == auditTexts.auditCode ? auditTexts.unAuditBtnText : auditTexts.auditBtnText);
+                    // me.setEditable(value != 'AUDITED');
+                    me.setEditable(value != auditTexts.auditCode);
                     return value;
                 }
             };
             viewModel.setFormulas(o);
-            viewModel.set(statusCodeField, "UNAUDITED");
+            // viewModel.set(statusCodeField, "UNAUDITED");
+            viewModel.set(statusCodeField, auditTexts.unAuditCode);
         } else {
-            viewModel.set('auditBtnText', "审核");
+            // viewModel.set('auditBtnText', "审核");
+            viewModel.set('auditBtnText', auditTexts.auditBtnText);
         }
     },
 

+ 22 - 64
frontend/saas-web/app/view/document/bom/FormPanel.js

@@ -24,52 +24,38 @@ Ext.define('saas.view.document.bom.FormPanel', {
         xtype: 'hidden',
         name: 'id',
         fieldLabel: 'id',
-        allowBlank: true,
-        columnWidth: 0.25
     },{
         xtype: 'hidden',
         name: 'bo_motherid',
-        fieldLabel: '母件id',
-        allowBlank: true,
-        columnWidth: 0.25
+        fieldLabel: '母件id'
     },{
         xtype: 'textfield',
         name: 'bo_mothername',
         fieldLabel: 'BOM名称',
-        allowBlank: false,
-        columnWidth: 0.25
+        allowBlank: false
     },{
         xtype: 'textfield',
         name: 'bo_mothercode',
         fieldLabel: 'BOM编号',
-        allowBlank: true,
-        columnWidth: 0.25
+        allowBlank: true
     },{
         xtype: 'textfield',
         name: 'bo_status',
-        fieldLabel: 'BOM状态',
-        allowBlank: true,
-        columnWidth: 0.25
+        fieldLabel: 'BOM状态'
     },{
         xtype: 'hidden',
         name: 'bo_statuscode',
-        fieldLabel: '状态码',
-        allowBlank: true,
-        columnWidth: 0.25
+        fieldLabel: '状态码'
     },{
-        format : "Y-m-d",
+        format : "Y-m-d H:i:s",
         xtype : "datefield", 
         name : "createTime", 
-        fieldLabel : "创建时间", 
-        allowBlank : true, 
-        columnWidth : 0.25
+        fieldLabel : "创建时间"
     },{  
-        format : "Y-m-d",
+        format : "Y-m-d H:i:s",
         xtype : "datefield", 
         name : "updateTime", 
-        fieldLabel : "更新时间", 
-        allowBlank : true, 
-        columnWidth : 0.25
+        fieldLabel : "更新时间"
     }, {
         xtype : "detailGridField", 
         detnoColumn:  'bd_detno',
@@ -85,7 +71,7 @@ Ext.define('saas.view.document.bom.FormPanel', {
             {
                 text : "关联ID", 
                 dataIndex : "bd_bomid", 
-                width : 0, 
+                width : 120, 
                 xtype : "numbercolumn"
             },
             {
@@ -94,9 +80,7 @@ Ext.define('saas.view.document.bom.FormPanel', {
                     xtype : "textfield"
                 },
                 dataIndex : "bd_soncode", 
-                width : 120.0, 
-                xtype : "", 
-                items : null
+                width : 120.0
             },
             {
                 text : "单位", 
@@ -104,9 +88,7 @@ Ext.define('saas.view.document.bom.FormPanel', {
                     xtype : "textfield"
                 },
                 dataIndex : "bd_unit", 
-                width : 120.0, 
-                xtype : "", 
-                items : null
+                width : 120.0
             },
             {
                 text : "单位用量", 
@@ -114,9 +96,7 @@ Ext.define('saas.view.document.bom.FormPanel', {
                     xtype : "textfield"
                 },
                 dataIndex : "bd_baseqty", 
-                width : 120.0, 
-                xtype : "", 
-                items : null
+                width : 120.0
             },
             {
                 text : "替代料", 
@@ -124,39 +104,17 @@ Ext.define('saas.view.document.bom.FormPanel', {
                     xtype : "textfield"
                 },
                 dataIndex : "bd_replace", 
-                width : 120.0, 
-                xtype : "", 
-                items : null
+                width : 120.0
             }]
     }],
 
-    /**
-     * 一些初始化viewModel的方法
-     */
-    initViewModel: function() {
-        var me = this,
-        codeField = me._codeField,
-        statusField = me._statusField,
-        statusCodeField = me._statusCodeField,
-        viewModel = me.getViewModel();
-        
-        viewModel.set(codeField, '');
-        viewModel.set('createTime', new Date());
-        viewModel.set('updateTime', new Date());
+    auditTexts: {
+        auditCode: 'OPEN',
+        auditText: '已开启',
+        unAuditCode: 'CLOSE',
+        unAuditText: '已关闭',
+        auditBtnText: '启用',
+        unAuditBtnText: '禁用',
+    },
 
-        if(statusCodeField) {
-            var o = {};
-            o['auditBtnText'] = {
-                bind: '{' + statusCodeField + '}',
-                get: function(value) {
-                    viewModel.set(statusField, value == 'OPEN' ? '已开启' : '已关闭');
-                    return value == 'OPEN' ? '禁用' : '启用'
-                }
-            };
-            viewModel.setFormulas(o);
-            viewModel.set(statusCodeField, "OPEN");
-        }else {
-            viewModel.set('auditBtnText', "禁用");
-        }
-    }
 });

+ 8 - 30
frontend/saas-web/app/view/document/customer/FormPanel.js

@@ -320,34 +320,12 @@ Ext.define('saas.view.document.customer.FormPanel', {
                 }
             }]
     }],
-
-    /**
-     * 一些初始化viewModel的方法
-     */
-    initViewModel: function() {
-        var me = this,
-        codeField = me._codeField,
-        statusField = me._statusField,
-        statusCodeField = me._statusCodeField,
-        viewModel = me.getViewModel();
-        
-        viewModel.set(codeField, '');
-        viewModel.set('createTime', new Date());
-        viewModel.set('updateTime', new Date());
-
-        if(statusCodeField) {
-            var o = {};
-            o['auditBtnText'] = {
-                bind: '{' + statusCodeField + '}',
-                get: function(value) {
-                    viewModel.set(statusField, value == 'OPEN' ? '已开启' : '已关闭');
-                    return value == 'OPEN' ? '禁用' : '启用'
-                }
-            };
-            viewModel.setFormulas(o);
-            viewModel.set(statusCodeField, "OPEN");
-        }else {
-            viewModel.set('auditBtnText', "禁用");
-        }
-    }
+    auditTexts: {
+        auditCode: 'OPEN',
+        auditText: '已开启',
+        unAuditCode: 'CLOSE',
+        unAuditText: '已关闭',
+        auditBtnText: '启用',
+        unAuditBtnText: '禁用',
+    },
 });

+ 8 - 4
frontend/saas-web/app/view/document/kind/Kind.js

@@ -24,16 +24,20 @@ Ext.define('saas.view.document.kind.Kind', {
         bind:'{segmented}',
         items: [{
             text: '客户',
-            value: 'customerkind'
+            value: 'customerkind',
+            typeText:'客户类型'
         }, {
             text: '供应商',
-            value: 'vendorkind'
+            value: 'vendorkind',
+            typeText:'供应商类型'
         }, {
             text: '商品',
-            value: 'productkind'
+            value: 'productkind',
+            typeText:'商品类型'
         }, {
             text: '收支',
-            value: 'inoutkind'
+            value: 'inoutkind',
+            typeText:'收支类型'
         }],
         listeners: {
             toggle: 'onKindToggle'

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

@@ -32,7 +32,7 @@ Ext.define('saas.view.document.kind.KindController', {
        var columns=me.insertActionColumn(etc.columns);
         grid.reconfigure(store, columns);
         if(store) store.reload();
-        vm.set('title', button.text);
+        vm.set('title', button.typeText);
     },
     onAdd:function(){
         var me=this,
@@ -48,6 +48,7 @@ Ext.define('saas.view.document.kind.KindController', {
         if(columns.length>0 && columns[0].xtype!='actioncolumn'){
             return Ext.Array.insert(columns,0,[{
                 xtype:'actioncolumn',
+                text:'操作',
                 items: [{
                     tooltip: '编辑',
                     iconCls: 'x-fa fa-pencil fa-fw',
@@ -99,7 +100,7 @@ Ext.define('saas.view.document.kind.KindController', {
             autoScroll:true,
             xtype: 'document-kind-childwin',
             bind: {
-                title: record ? '修改{title}类型' : '新增{title}类型'
+                title: record ? '修改{title}' : '新增{title}'
             },
             dataKind:dataKind,
             belong:this.getView().etc[dataKind],

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

@@ -5,7 +5,7 @@ Ext.define('saas.view.document.kind.KindModel', {
     extend: 'Ext.app.ViewModel',
     alias: 'viewmodel.document-kind',
     data: {
-        title: '客户'
+        title: '客户类型'
     },
     stores: {
         customerkind: {

+ 6 - 1
frontend/saas-web/app/view/document/other/Address.js

@@ -19,7 +19,12 @@ Ext.define('saas.view.document.other.Address', {
         listeners: {
             click: 'onRefresh'
         }
-    }]
+    }],
+    listeners:{
+        afterrender:function(p){
+            p.getViewModel().setData({title:'采购地址'});
+        }
+    }
 })
 
 

+ 6 - 1
frontend/saas-web/app/view/document/other/BankInformation.js

@@ -19,7 +19,12 @@ Ext.define('saas.view.document.other.BankInformation', {
         listeners: {
             click: 'onRefresh'
         }
-    }]
+    }],
+    listeners:{
+        afterrender:function(p){
+            p.getViewModel().setData({title:'资金账户'});
+        }
+    }
 })
 
 

+ 6 - 1
frontend/saas-web/app/view/document/other/ProductBrand.js

@@ -19,7 +19,12 @@ Ext.define('saas.view.document.other.ProductBrand', {
         listeners: {
             click: 'onRefresh'
         }
-    }]
+    }],
+    listeners:{
+        afterrender:function(p){
+            p.getViewModel().setData({title:'物料品牌'});
+        }
+    }
 })
 
 

+ 6 - 1
frontend/saas-web/app/view/document/other/ProductUnit.js

@@ -19,7 +19,12 @@ Ext.define('saas.view.document.other.ProductUnit', {
         listeners: {
             click: 'onRefresh'
         }
-    }]
+    }],
+    listeners:{
+        afterrender:function(p){
+            p.getViewModel().setData({title:'物料单位'});
+        }
+    }
 })
 
 

+ 6 - 1
frontend/saas-web/app/view/document/other/Warehouse.js

@@ -18,5 +18,10 @@ Ext.define('saas.view.document.other.Warehouse', {
         listeners: {
             click: 'onRefresh'
         }
-    }]
+    }],
+    listeners:{
+        afterrender:function(p){
+            p.getViewModel().setData({title:'仓库'});
+        }
+    }
 })

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

@@ -64,7 +64,7 @@ Ext.define('saas.view.document.product.FormPanel', {
             this.dialog = form.getController().getView().add({
                 xtype: 'document-kind-childwin',
                 bind: {
-                    title: '新增供应商类型'
+                    title: '新增物料类型'
                 },
                 dataKind:'productkind',
                 belong:document.etc['productkind'],
@@ -177,33 +177,12 @@ Ext.define('saas.view.document.product.FormPanel', {
         columnWidth : 0.25
     }],
 
-    /**
-     * 一些初始化viewModel的方法
-     */
-    initViewModel: function() {
-        var me = this,
-        codeField = me._codeField,
-        statusField = me._statusField,
-        statusCodeField = me._statusCodeField,
-        viewModel = me.getViewModel();
-        
-        viewModel.set(codeField, '');
-        viewModel.set('createTime', new Date());
-        viewModel.set('updateTime', new Date());
-
-        if(statusCodeField) {
-            var o = {};
-            o['auditBtnText'] = {
-                bind: '{' + statusCodeField + '}',
-                get: function(value) {
-                    viewModel.set(statusField, value == 'OPEN' ? '已开启' : '已关闭');
-                    return value == 'OPEN' ? '禁用' : '启用'
-                }
-            };
-            viewModel.setFormulas(o);
-            viewModel.set(statusCodeField, "OPEN");
-        }else {
-            viewModel.set('auditBtnText', "禁用");
-        }
-    }
+    auditTexts: {
+        auditCode: 'OPEN',
+        auditText: '已开启',
+        unAuditCode: 'CLOSE',
+        unAuditText: '已关闭',
+        auditBtnText: '启用',
+        unAuditBtnText: '禁用',
+    },
 });

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

@@ -227,33 +227,12 @@ Ext.define('saas.view.document.vendor.FormPanel', {
         }
     ],
 
-    /**
-     * 一些初始化viewModel的方法
-     */
-    initViewModel: function() {
-        var me = this,
-        codeField = me._codeField,
-        statusField = me._statusField,
-        statusCodeField = me._statusCodeField,
-        viewModel = me.getViewModel();
-        
-        viewModel.set(codeField, '');
-        viewModel.set('createTime', new Date());
-        viewModel.set('updateTime', new Date());
-
-        if(statusCodeField) {
-            var o = {};
-            o['auditBtnText'] = {
-                bind: '{' + statusCodeField + '}',
-                get: function(value) {
-                    viewModel.set(statusField, value == 'OPEN' ? '已开启' : '已关闭');
-                    return value == 'OPEN' ? '禁用' : '启用'
-                }
-            };
-            viewModel.setFormulas(o);
-            viewModel.set(statusCodeField, "OPEN");
-        }else {
-            viewModel.set('auditBtnText', "禁用");
-        }
-    }
+    auditTexts: {
+        auditCode: 'OPEN',
+        auditText: '已开启',
+        unAuditCode: 'CLOSE',
+        unAuditText: '已关闭',
+        auditBtnText: '启用',
+        unAuditBtnText: '禁用',
+    },
 });

+ 6 - 0
frontend/saas-web/app/view/main/Main.scss

@@ -153,3 +153,9 @@ $treelist-nav-ui: (
 .x-query-menu .x-menu-item-text-default.x-menu-item-indent-no-separator {
     margin-left: 11px !important;
 }
+.x-tbar-display  {
+    margin-top: 2.5px !important;
+}
+.x-tbar-display .x-form-display-field-default {
+    font: 400 16px/17px 'Microsoft YaHei';
+}

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

@@ -12,6 +12,7 @@ Ext.define('saas.view.purchase.purchase.FormPanelController', {
                         dataUrl:'/api/document/vendor/list',
                         addXtype: 'document-vendor-formpanel',
                         addTitle: '供应商资料',
+                        defaultCondition:"ve_statuscode='OPEN'",
                         //赋值 
                         dbfinds:[{
                             from:'ve_code',to:'pu_vendcode'
@@ -81,6 +82,7 @@ Ext.define('saas.view.purchase.purchase.FormPanelController', {
                         //数据接口
                         // dataUrl:'http://192.168.253.31:9480/product/getProductsByCondition',
                         dataUrl: '/api/document/product/list',
+                        defaultCondition:"pr_statuscode='OPEN'",
                         //放大镜赋值设置
                         dbfinds:[{
                             from:'id',to:'pd_prodid'                          

+ 2 - 2
frontend/saas-web/app/view/sale/sale/QueryPanel.js

@@ -89,11 +89,11 @@ Ext.define('saas.view.sale.sale.QueryPanel', {
             width: 180
         }, {
             text: '客户编号',
-            dataIndex: 'sa_cucode',
+            dataIndex: 'sa_custcode',
             width: 120
         }, {
             text: '客户名称',
-            dataIndex: 'sa_cuname',
+            dataIndex: 'sa_custname',
             width: 120
         }, {
             text: '审核状态',

+ 2 - 1
frontend/saas-web/app/view/sale/saleIn/FormPanel.js

@@ -155,7 +155,8 @@ Ext.define('saas.view.sale.saleIn.FormPanel', {
                 text : "含税金额", 
                 dataIndex : "pd_total", 
                 width : 120.0, 
-                xtype : "numbercolumn"
+                xtype : "numbercolumn",
+                summaryType: 'sum'
             }, {
                 text : "税率", 
                 dataIndex : "pd_taxrate", 

+ 2 - 1
frontend/saas-web/app/view/sale/saleOut/FormPanel.js

@@ -165,13 +165,14 @@ Ext.define('saas.view.sale.saleout.FormPanel', {
                 items : null
             }, 
            {
-                text : "金额", 
+                text : "含税金额", 
                 dataIndex : "pd_total", 
                 width : 120.0, 
                 xtype : "numbercolumn",
                 editor : {
                     xtype : "numberfield"
                 },
+                summaryType: 'sum'
             }, {
                 text : "税率", 
                 dataIndex : "pd_taxrate", 

+ 62 - 7
frontend/saas-web/app/view/sys/finish/DataList.js

@@ -7,19 +7,60 @@ Ext.define('saas.view.sys.finish.DataList', {
     autoScroll: true,
     frame:true,
     layout:'fit',
-    dataUrl:'/api/common/finish/list',
-
+    dataUrl:'http://192.168.253.31:8920/endProduct/list',
+    endAccount:'http://192.168.253.31:8920/endProduct/endAccount',
+    unEndAccount:'http://192.168.253.31:8920/endProduct/unEndAccount',
     tbar: [{
-        width: 250,
-        name: 'ml_caller',
-        xtype: 'displayfield',
-        fieldLable : '结账日'
+        cls:'x-tbar-display',
+        width: 180,
+        name: 'day',
+        xtype: 'displayfield'
     },{
         xtype:'button',
         text:'结账',
+        listeners: {
+            click:function(b){
+                var grid = b.ownerCt.ownerCt;
+                grid.BaseUtil.request({
+                    url: grid.endAccount,
+                    params: '',
+                    method: 'POST',
+                })
+                .then(function(localJson) {
+                    if(localJson.success){
+                        showToast('结账成功');
+                        grid.store.loadPage(1);
+                    }
+                })
+                .catch(function(res) {
+                    console.error(res);
+                    showToast('结账失败: ' + res.message);
+                });
+            }
+        }
     },{
         xtype:'button',
         text:'反结账',
+        listeners: {
+            click:function(b){
+                var grid = b.ownerCt.ownerCt;
+                grid.BaseUtil.request({
+                    url: grid.unEndAccount,
+                    params: '',
+                    method: 'POST',
+                })
+                .then(function(localJson) {
+                    if(localJson.success){
+                        showToast('反结账成功');
+                        grid.store.loadPage(1);
+                    }
+                })
+                .catch(function(res) {
+                    console.error(res);
+                    showToast('反结账失败: ' + res.message);
+                });
+            }
+        }
     },'->',{
         cls:'x-formpanel-btn-blue',
         xtype:'button',
@@ -67,6 +108,8 @@ Ext.define('saas.view.sys.finish.DataList', {
                 pageSize: 11,
                 data: [],
                 proxy: {
+                    parent:this,
+                    async:false,
                     timeout:8000,
                     type: 'ajax',
                     url: me.dataUrl,
@@ -75,8 +118,17 @@ Ext.define('saas.view.sys.finish.DataList', {
                     },
                     reader: {
                         type: 'json',
-                        rootProperty: 'data.list',
+                        rootProperty: 'data.item.list',
                         totalProperty: 'data.total',
+                    },
+                    listeners:{
+                        endprocessresponse:function(proxy,res){
+                            if(res.status=='200'){
+                                var nowTime = res.responseJson.data.main;
+                                var day = proxy.parent.dockedItems.items[2].down('[name=day]');
+                                day.setValue('当前结算年月:' + nowTime);
+                            }
+                        }
                     }
                 },
                 listeners: {
@@ -90,6 +142,9 @@ Ext.define('saas.view.sys.finish.DataList', {
                             size: store.pageSize,
                             condition: JSON.stringify(condition)
                         });
+                    },
+                    datachanged:function(){
+                        
                     }
                 }
             });