Browse Source

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

guq 7 years ago
parent
commit
60b237eb04

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

@@ -22,6 +22,9 @@ public enum BizExceptionCode implements BaseExceptionCode {
     CODE_EXISTS(79200, "单据编号已存在"),
     BIZ_CLOSE(79301, "只能关闭已审核的单据"),
     BIZ_OPEN(79002, "只能打开已关闭的单据"),
+    NO_DATA(79998, "未找到数据"),
+    ILLEGAL_ID(79999, "id不正确"),
+
 
     //采购
 

+ 1 - 1
applications/document/document-api/src/main/java/com/usoftchina/saas/document/api/ProductApi.java

@@ -29,6 +29,6 @@ public interface ProductApi {
     * @Author: guq
     * @Date: 2018/10/16
     */
-    @RequestMapping("/api/document/product/updateLatestPurchasePrice")
+    @RequestMapping("/product/updateLatestPurchasePrice")
     public void updateLatestPurchasePrice(@RequestParam(value = "id") Long pu_id);
 }

+ 2 - 2
applications/document/document-api/src/main/java/com/usoftchina/saas/document/api/WarehouseApi.java

@@ -9,10 +9,10 @@ import java.util.Map;
 @FeignClient(name = "document-server")
 public interface WarehouseApi {
 
-    @GetMapping("/api/document/warehouse/post")
+    @GetMapping("/warehouse/post")
     public Result post(Map<String, Object> param);
 
-    @GetMapping("/api/document/warehouse/unPost")
+    @GetMapping("/warehouse/unPost")
     public Result unPost(Map<String, Object> param);
 
 }

+ 12 - 1
applications/document/document-server/src/main/java/com/usoftchina/saas/document/DocumentApplication.java

@@ -6,6 +6,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
 import org.springframework.cloud.openfeign.EnableFeignClients;
 import org.springframework.transaction.annotation.EnableTransactionManagement;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
 
 @SpringBootApplication
 @EnableEurekaClient
@@ -13,10 +15,19 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
 @EnableTransactionManagement
 @EnableFeignClients("com.usoftchina.saas")
 @MapperScan("com.usoftchina.saas.document.mapper")
-public class DocumentApplication {
+public class DocumentApplication extends WebMvcConfigurerAdapter {
 
     public static void main(String[] args) {
         SpringApplication.run(DocumentApplication.class);
     }
 
+    @Override
+    public void addCorsMappings(CorsRegistry registry) {
+        registry.addMapping("/**")
+                .allowCredentials(true)
+                .allowedHeaders("*")
+                .allowedOrigins("*")
+                .allowedMethods("*");
+    }
+
 }

+ 28 - 2
applications/document/document-server/src/main/java/com/usoftchina/saas/document/controller/ProductController.java

@@ -6,10 +6,12 @@ import com.usoftchina.saas.base.Result;
 
 import com.usoftchina.saas.commons.dto.ComboDTO;
 import com.usoftchina.saas.commons.dto.DocReqDTO;
+import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.document.dto.ProductDTO;
 import com.usoftchina.saas.document.entities.Product;
 import com.usoftchina.saas.document.service.ProductService;
 import com.usoftchina.saas.page.PageRequest;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -22,9 +24,15 @@ public class ProductController {
     @Autowired
     private ProductService productService;
 
+    /**
+     * 通过条件查找物料
+     * @param page      分页对象
+     * @param listReqDTO    条件对象
+     * @return  Result<List<ProductDTO>>
+     */
     @RequestMapping("/getProductsByCondition")
-    public Result<List<ProductDTO>> getProductsByCondition(PageRequest page, DocReqDTO docReqDTO){
-        PageInfo<ProductDTO> productList = productService.getProductsByCondition(page, docReqDTO);
+    public Result<List<ProductDTO>> getProductsByCondition(PageRequest page, ListReqDTO listReqDTO){
+        PageInfo<ProductDTO> productList = productService.getProductsByCondition(page, listReqDTO);
         return Result.success(productList);
     }
 
@@ -44,4 +52,22 @@ public class ProductController {
         return productService.getProductsByPK(id);
     }
 
+    @PostMapping("/save")
+    public Result save(@RequestBody Product product){
+        productService.save(product);
+        return Result.success();
+    }
+
+    @PostMapping("/delete/{id}")
+    public Result delete(@PathVariable("id") Long id){
+        productService.removeByPrimaryKey(id);
+        return Result.success();
+    }
+
+    @PostMapping("/close/{id}")
+    public Result close(@PathVariable("id") Long id){
+        productService.close(id);
+        return Result.success();
+    }
+
 }

+ 2 - 1
applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/ProductMapper.java

@@ -6,12 +6,13 @@ import com.usoftchina.saas.commons.dto.ComboDTO;
 import com.usoftchina.saas.commons.dto.DocReqDTO;
 import com.usoftchina.saas.document.dto.ProductDTO;
 import com.usoftchina.saas.document.entities.Product;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
 public interface ProductMapper extends CommonBaseMapper<Product> {
 
-    List<ProductDTO> getProductsByCondition(DocReqDTO docReqDTO);
+    List<ProductDTO> getProductsByCondition(@Param("condition") String condition, @Param("companyId") Long companyId);
     List<ComboDTO> getProdUnit();
     void updateLatestPurchasePrice(Long pu_id);
 

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

@@ -5,7 +5,8 @@ import com.usoftchina.saas.base.service.CommonBaseService;
 
 
 import com.usoftchina.saas.commons.dto.ComboDTO;
-import com.usoftchina.saas.commons.dto.DocReqDTO;
+import com.usoftchina.saas.commons.dto.DocBaseDTO;
+import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.document.dto.ProductDTO;
 import com.usoftchina.saas.document.entities.Product;
 import com.usoftchina.saas.document.mapper.ProductMapper;
@@ -16,12 +17,38 @@ import java.util.List;
 
 public interface ProductService extends CommonBaseService<ProductMapper, Product> {
 
-
-    PageInfo<ProductDTO> getProductsByCondition(PageRequest page, DocReqDTO docReqDTO);
+    /**
+     * 获取物料
+     * @param page      分页对象
+     * @param listReqDTO    条件对象
+     * @return  PageInfo<ProductDTO>
+     */
+    PageInfo<ProductDTO> getProductsByCondition(PageRequest page, ListReqDTO listReqDTO);
 
     List<ComboDTO> getProdUnit();
 
     void updateLatestPurchasePrice(Long pu_id);
 
     Product getProductsByPK(Long id);
+
+    /**
+     * 保存/更新
+     * @param product
+     * @return
+     */
+    DocBaseDTO saveData(Product product);
+
+    /**
+     * 关闭
+     * @param id
+     * @return
+     */
+    boolean close(Long id);
+
+    /**
+     * 开启
+     * @param id
+     * @return
+     */
+    boolean open(Long id);
 }

+ 0 - 2
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/VendorService.java

@@ -3,9 +3,7 @@ package com.usoftchina.saas.document.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.DocReqDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.document.dto.VendorDTO;
 import com.usoftchina.saas.document.dto.VendorListDTO;

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

@@ -3,13 +3,20 @@ package com.usoftchina.saas.document.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.MessageLogService;
 import com.usoftchina.saas.commons.dto.ComboDTO;
-import com.usoftchina.saas.commons.dto.DocReqDTO;
+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.po.Status;
+import com.usoftchina.saas.context.BaseContextHolder;
 import com.usoftchina.saas.document.dto.ProductDTO;
 import com.usoftchina.saas.document.entities.Product;
 import com.usoftchina.saas.document.mapper.ProductMapper;
 import com.usoftchina.saas.document.service.ProductService;
+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 java.util.List;
@@ -17,8 +24,11 @@ import java.util.List;
 @Service
 public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Product> implements ProductService {
 
+    @Autowired
+    private MessageLogService messageLogService;
+
     @Override
-    public PageInfo<ProductDTO> getProductsByCondition(PageRequest page, DocReqDTO docReqDTO) {
+    public PageInfo<ProductDTO> getProductsByCondition(PageRequest page, ListReqDTO listReqDTO) {
         //设置分页
         if (null == page || page.getSize() == 0 || page.getNumber() == 0) {
             page = new PageRequest();
@@ -26,7 +36,7 @@ public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Pro
             page.setSize(10);
         }
         PageHelper.startPage(page.getNumber(), page.getSize());
-        List<ProductDTO> productList = getMapper().getProductsByCondition(docReqDTO);
+        List<ProductDTO> productList = getList(listReqDTO);
         //取分页信息
         PageInfo<ProductDTO> pageInfo = new PageInfo<ProductDTO>(productList);
         return pageInfo;
@@ -40,13 +50,90 @@ public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Pro
     @Override
     public void updateLatestPurchasePrice(Long pu_id) {
         getMapper().updateLatestPurchasePrice(pu_id);
+        messageLogService.update(generateMsgObj(pu_id));
     }
 
     @Override
     public Product getProductsByPK(Long id) {
-        if (null == id) {
+        if (null != id) {
             return getMapper().selectByPrimaryKey(id);
         }
         return null;
     }
+
+    @Override
+    public DocBaseDTO saveData(Product product){
+        DocBaseDTO docBaseDTO = null;
+        if(product.getId() == 0){
+            product.setCompanyId(BaseContextHolder.getCompanyId());
+            getMapper().insertSelective(product);
+            docBaseDTO = generateMsgObj(product.getId());
+            //记录LOG
+            messageLogService.save(docBaseDTO);
+        }else{
+            getMapper().updateByPrimaryKeySelective(product);
+            docBaseDTO = generateMsgObj(product.getId());
+            //记录LOG
+            messageLogService.update(docBaseDTO);
+        }
+        return docBaseDTO;
+    }
+
+    @Override
+    public boolean close(Long id) {
+        if(id != null && id > 0){
+            Product product = new Product();
+            product.setId(id);
+            product.setPr_status(Status.CLOSE.getDisplay());
+            product.setPr_statuscode(Status.CLOSE.name());
+            getMapper().updateByPrimaryKeySelective(product);
+            //记录LOG
+            messageLogService.close(generateMsgObj(id));
+            return true;
+        }else{
+            throw new BizException(BizExceptionCode.ILLEGAL_ID);
+        }
+    }
+
+    @Override
+    public boolean open(Long id) {
+        if(id != null && id > 0){
+            Product product = getMapper().selectByPrimaryKey(id);
+            if (product == null) {
+                throw new BizException(BizExceptionCode.NO_DATA);
+            }
+            if (!Status.CLOSE.getDisplay().equals(product.getPr_status())){
+                throw new BizException(BizExceptionCode.BIZ_OPEN);
+            }else{
+                product.setId(id);
+                product.setPr_statuscode(Status.OPEN.name());
+                product.setPr_status(Status.OPEN.getDisplay());
+                getMapper().updateByPrimaryKeySelective(product);
+                //记录LOG
+                messageLogService.open(generateMsgObj(id));
+                return true;
+            }
+        }else{
+            throw new BizException(BizExceptionCode.ILLEGAL_ID);
+        }
+    }
+
+    private List<ProductDTO> getList(ListReqDTO listReqDTO){
+        Long companyId = BaseContextHolder.getCompanyId();
+        String condition = listReqDTO.getFinalCondition();
+        if(condition == null){
+            condition = "1=1";
+        }
+        List<ProductDTO> productDTOList = getMapper().getProductsByCondition(condition, companyId);
+        return productDTOList;
+    }
+
+    /**
+     * 构造日记记录对象
+     * @param id
+     * @return
+     */
+    private DocBaseDTO generateMsgObj(Long id){
+        return new DocBaseDTO(id, "", "Product");
+    }
 }

+ 36 - 14
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/VendorServiceImpl.java

@@ -5,8 +5,8 @@ import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.base.service.CommonBaseServiceImpl;
 import com.usoftchina.saas.commons.api.MessageLogService;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
-import com.usoftchina.saas.commons.dto.DocReqDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
+import com.usoftchina.saas.commons.exception.BizExceptionCode;
 import com.usoftchina.saas.commons.po.Status;
 import com.usoftchina.saas.context.BaseContextHolder;
 import com.usoftchina.saas.document.dto.VendorDTO;
@@ -17,8 +17,8 @@ import com.usoftchina.saas.document.entities.Vendorcontact;
 import com.usoftchina.saas.document.mapper.VendorMapper;
 import com.usoftchina.saas.document.mapper.VendorcontactMapper;
 import com.usoftchina.saas.document.service.VendorService;
+import com.usoftchina.saas.exception.BizException;
 import com.usoftchina.saas.page.PageRequest;
-import com.usoftchina.saas.utils.BeanMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -83,6 +83,7 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
     @Override
     public DocBaseDTO saveFormData(VendorListDTO vendorListDTO) {
         Vendor main = vendorListDTO.getMain();
+        main.setCompanyId(BaseContextHolder.getCompanyId());
         List<Vendorcontact> items = vendorListDTO.getItems();
         if(main.getId() == 0){
             //保存主表信息
@@ -91,6 +92,7 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
             //更新明细表vc_veid
             for(Vendorcontact item : items){
                 item.setVc_veid(mainId);
+                item.setCompanyId(BaseContextHolder.getCompanyId());
             }
             //保存明细表信息
             vendorcontactMapper.batchInsert(items);
@@ -126,12 +128,18 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
      */
     @Override
     public boolean close(Long id){
-        Vendor vendor = new Vendor();
-        vendor.setId(id);
-        vendor.setVe_status(Status.CLOSE.getDisplay());
-        vendor.setVe_statuscode(Status.CLOSE.name());
-        getMapper().updateByPrimaryKeySelective(vendor);
-        return true;
+        if(id != null && id > 0){
+            Vendor vendor = new Vendor();
+            vendor.setId(id);
+            vendor.setVe_status(Status.CLOSE.getDisplay());
+            vendor.setVe_statuscode(Status.CLOSE.name());
+            getMapper().updateByPrimaryKeySelective(vendor);
+            //记录LOG
+            messageLogService.close(generateMsgObj(id));
+            return true;
+        }else{
+            throw new BizException(BizExceptionCode.ILLEGAL_ID);
+        }
     }
 
     /**
@@ -141,12 +149,26 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
      */
     @Override
     public boolean open(Long id){
-        Vendor vendor = new Vendor();
-        vendor.setId(id);
-        vendor.setVe_status(Status.OPEN.getDisplay());
-        vendor.setVe_statuscode(Status.OPEN.name());
-        getMapper().updateByPrimaryKeySelective(vendor);
-        return true;
+        if (id != null && id > 0){
+            Vendor vendor = getMapper().selectByPrimaryKey(id);
+            if(vendor == null){
+                throw new BizException(BizExceptionCode.NO_DATA);
+            }
+            if (Status.CLOSE.name().equals(vendor.getVe_statuscode())){
+                vendor = new Vendor();
+                vendor.setId(id);
+                vendor.setVe_statuscode(Status.OPEN.name());
+                vendor.setVe_status(Status.OPEN.getDisplay());
+                getMapper().updateByPrimaryKeySelective(vendor);
+                //记录LOG
+                messageLogService.open(generateMsgObj(id));
+                return true;
+            }else {
+                throw new BizException(BizExceptionCode.BIZ_OPEN);
+            }
+        }else {
+            throw new BizException(BizExceptionCode.ILLEGAL_ID);
+        }
     }
 
     private List<VendorDTO> getList(ListReqDTO listReqDTO){