From 6cd597dd7a0cf3e560ee198b536ea7f4e568930b Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期五, 22 十一月 2024 11:04:41 +0800
Subject: [PATCH] 开发更新

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CompanyService.java            |    3 +
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwAccount.java               |    4 +
 server/system_service/src/main/java/com/doumee/dao/business/model/Company.java                         |   13 +++
 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwAccountMapper.java               |    3 
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java   |   42 +++++++++++++
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwAccountServiceImpl.java |   96 +++++++++++++++++++++++--------
 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CompanyCloudController.java           |   16 +++++
 7 files changed, 148 insertions(+), 29 deletions(-)

diff --git a/server/system_service/src/main/java/com/doumee/dao/business/model/Company.java b/server/system_service/src/main/java/com/doumee/dao/business/model/Company.java
index 9c8f1df..b55e513 100644
--- a/server/system_service/src/main/java/com/doumee/dao/business/model/Company.java
+++ b/server/system_service/src/main/java/com/doumee/dao/business/model/Company.java
@@ -55,6 +55,12 @@
     @ApiModelProperty(value = "鍚嶇О")
     @ExcelColumn(name="鍚嶇О")
     private String name;
+    @ApiModelProperty(value = "鍏徃绠�绉�")
+    @ExcelColumn(name="鍏徃绠�绉�")
+    private String shortName;
+    @ApiModelProperty(value = "鍏徃鍦板潃")
+    @ExcelColumn(name="鍏徃鍦板潃")
+    private String address;
 
     @ApiModelProperty(value = "澶囨敞")
     @ExcelColumn(name="澶囨敞")
@@ -76,8 +82,8 @@
     @ExcelColumn(name="鍥炬爣")
     private String imgurl;
 
-    @ApiModelProperty(value = "绫诲瀷 0鐩稿叧鏂瑰叕鍙� 1鍐呴儴缁勭粐 2杩愮淮鍏徃绠$悊")
-    @ExcelColumn(name="绫诲瀷 0鐩稿叧鏂瑰叕鍙� 1鍐呴儴缁勭粐")
+    @ApiModelProperty(value = "绫诲瀷 0鐩稿叧鏂瑰叕鍙� 1鍐呴儴缁勭粐 2杩愮淮璐㈠姟鍏徃绠$悊")
+    @ExcelColumn(name="绫诲瀷 0鐩稿叧鏂瑰叕鍙� 1鍐呴儴缁勭粐 2杩愮淮璐㈠姟鍏徃绠$悊")
     private Integer type;
 
     @ApiModelProperty(value = "鍒嗙被缂栫爜(鍏宠仈category)")
@@ -193,6 +199,9 @@
     @ApiModelProperty(value = "鐖剁骇閮ㄩ棬绾у埆绫诲瀷 0鐩稿叧鏂� 1鍐呴儴缁勭粐", example = "1")
     @TableField(exist = false)
     private String parentType;
+    @ApiModelProperty(value = "璐㈠姟璐︽埛鏁伴噺", example = "1")
+    @TableField(exist = false)
+    private Integer accountNum;
     @ApiModelProperty(value = "erp閮ㄩ棬绾у埆璺緞", example = "1")
     @ExcelColumn(name="erp閮ㄩ棬绾у埆璺緞")
     private String erpCompanyPath;
diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CompanyCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CompanyCloudController.java
index b5a5677..d9b57e6 100644
--- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CompanyCloudController.java
+++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CompanyCloudController.java
@@ -56,6 +56,22 @@
     }
 
     @PreventRepeat
+    @ApiOperation("鍒涘缓璐㈠姟鍏徃")
+    @PostMapping("/createFinanceCompany")
+    @CloudRequiredPermission("business:company:create")
+    public ApiResponse<Integer> createFinanceCompany(@RequestBody Company company, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+        company.setLoginUserInfo(this.getLoginUser(token));
+        return ApiResponse.success(companyService.createFinanceCompany(company));
+    }
+    @PreventRepeat
+    @ApiOperation("鏇存柊璐㈠姟鍏徃")
+    @PostMapping("/updateFinanceCompany")
+    @CloudRequiredPermission("business:company:update")
+    public ApiResponse<Integer> updateFinanceCompany(@RequestBody Company company, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
+        company.setLoginUserInfo(this.getLoginUser(token));
+        return ApiResponse.success(companyService.updateFinanceCompany(company));
+    }
+    @PreventRepeat
     @ApiOperation("鍒涘缓鍔冲姟鍏徃")
     @PostMapping("/createLaborServices")
     @CloudRequiredPermission("business:company:create")
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwAccountMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwAccountMapper.java
index 5ed0ca0..03bae30 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwAccountMapper.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwAccountMapper.java
@@ -2,11 +2,12 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.doumee.dao.business.model.YwAccount;
+import com.github.yulichang.base.MPJBaseMapper;
 
 /**
  * @author 姹熻箘韫�
  * @date 2024/11/19 18:09
  */
-public interface YwAccountMapper extends BaseMapper<YwAccount> {
+public interface YwAccountMapper extends MPJBaseMapper<YwAccount> {
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwAccount.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwAccount.java
index ce8767b..51b3568 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwAccount.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwAccount.java
@@ -1,5 +1,6 @@
 package com.doumee.dao.business.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.doumee.core.annotation.excel.ExcelColumn;
 import com.doumee.core.model.LoginUserModel;
 import io.swagger.annotations.ApiModel;
@@ -83,5 +84,8 @@
     @ApiModelProperty(value = "寮�鎴疯鍦板潃")
     @ExcelColumn(name="寮�鎴疯鍦板潃")
     private String bankAddr;
+    @ApiModelProperty(value = "浼佷笟鍚嶇О")
+    @TableField(exist = false)
+    private String companyName;
 
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CompanyService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CompanyService.java
index 18cfe71..d890255 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CompanyService.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CompanyService.java
@@ -126,4 +126,7 @@
     List<Company> companyTree(Integer type);
 
     void updateSort(UpdateCompanySortDTO dto);
+
+    Integer createFinanceCompany(Company company);
+    Integer updateFinanceCompany(Company company);
 }
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
index 01d2a84..4cdd677 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -64,6 +64,32 @@
     @Autowired
     private CompanyJoinMapper companyJoinMapper;
 
+    /**
+     * 鍒涘缓璐㈠姟鍏徃
+     * @param company
+     * @return
+     */
+    @Override
+    public Integer createFinanceCompany(Company company) {
+        company.setType(Constants.TWO);
+        if(companyMapper.selectCount(new QueryWrapper<Company>().lambda()
+                .eq(Company::getName,company.getName())
+                .eq(Company::getType,company.getType())
+                .eq(Company::getIsdeleted,Constants.ZERO)) >0){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瀵逛笉璧凤紝鍚嶇О涓嶈兘閲嶅~");
+        }
+        company.setCreateDate(new Date());
+        company.setCreator(company.getLoginUserInfo().getId());
+        company.setIsdeleted(Constants.ZERO);
+        company.setStatus(Constants.ZERO);
+        company.setSortnum(0);//榛樿鏈�涓婇潰
+        company.setHkDate(company.getCreateDate());
+        company.setEditDate(company.getCreateDate());
+        company.setEditor(company.getCreator());
+        companyMapper.insert(company);
+        return company.getId();
+    }
+
     @Override
     @Transactional(rollbackFor = {BusinessException.class,Exception.class})
     public Integer create(Company company) {
@@ -332,6 +358,18 @@
         companyMapper.updateById(company);
         return null;
     }
+    @Override
+    public Integer updateFinanceCompany(Company company) {
+        if(companyMapper.selectCount(new QueryWrapper<Company>().lambda()
+                .eq(Company::getName,company.getName())
+                .eq(Company::getType,company.getType())
+                .ne(Company::getId,company.getId())
+                .eq(Company::getIsdeleted,Constants.ZERO)) >0){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "瀵逛笉璧凤紝鍚嶇О涓嶈兘閲嶅~");
+        }
+        companyMapper.updateById(company);
+        return company.getId();
+    }
 
     @Override
     public void updateByIdInBatch(List<Company> companys) {
@@ -570,7 +608,8 @@
         /*        .leftJoin(Member.class, Member::getId,Company::getHeadId)*/
       /*  queryWrapper.leftJoin(" company c on c.id=t.parent_id");*/
         queryWrapper.selectAll(Company.class)
-                .select("(select count(m.id) from member m where m.COMPANY_ID=t.id and m.ISDELETED=0) as countNum") ;
+                .select("(select count(m.id) from member m where m.COMPANY_ID=t.id and m.ISDELETED=0) ",Company::getCountNum)
+                .select("(select count(m.id) from yw_account m where m.COMPANY_ID=t.id and m.ISDELETED=0)",Company::getAccountNum) ;
         queryWrapper.select("t1.name",Company::getParentName);
         queryWrapper.select("t1.company_path",Company::getParentCompanyPath);
         queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getStatus()),Company::getStatus,Constants.ZERO);
@@ -651,6 +690,7 @@
         QueryWrapper<Company> wrapper = new QueryWrapper<>();
         wrapper.lambda()
                 .eq(Company::getIsdeleted,Constants.ZERO)
+                .eq(Company::getType,company.getType())
                 .eq(Company::getName,company.getName());
         List<Company> companies = companyMapper.selectList(wrapper);
         if (CollectionUtils.isEmpty(companies)){
diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwAccountServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwAccountServiceImpl.java
index 2bc6259..aed235b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwAccountServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwAccountServiceImpl.java
@@ -1,20 +1,28 @@
 package com.doumee.service.business.impl;
 
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.YwAccountMapper;
+import com.doumee.dao.business.dao.CompanyMapper;
+import com.doumee.dao.business.model.Company;
 import com.doumee.dao.business.model.YwAccount;
+import com.doumee.dao.business.model.YwProject;
 import com.doumee.service.business.YwAccountService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -27,16 +35,38 @@
 
     @Autowired
     private YwAccountMapper ywAccountMapper;
+    @Autowired
+    private CompanyMapper companyMapper;
 
     @Override
-    public Integer create(YwAccount ywAccount) {
-        ywAccountMapper.insert(ywAccount);
-        return ywAccount.getId();
+    public Integer create(YwAccount model) {
+
+        if(model.getCompanyId()==null){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勫叕鍙镐俊鎭�");
+        }
+        Company ywProject = companyMapper.selectById(model.getCompanyId());
+        if(ywProject ==null || Constants.equalsInteger(ywProject.getIsdeleted(),Constants.ONE)
+                || !Constants.equalsInteger(ywProject.getType(),Constants.TWO)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勫叕鍙镐俊鎭紒");
+        }
+        model.setCreator(model.getLoginUserInfo().getId());
+        model.setIsdeleted(Constants.ZERO);
+        model.setCreateDate(new Date());
+        model.setStatus(Constants.ZERO);
+        model.setEditDate(model.getCreateDate());
+        model.setEditor(model.getCreator());
+        ywAccountMapper.insert(model);
+        return model.getId();
     }
 
     @Override
     public void deleteById(Integer id, LoginUserInfo user) {
-        ywAccountMapper.deleteById(id);
+        YwAccount model = new YwAccount();
+        model.setId(id);
+        model.setIsdeleted(Constants.ONE);
+        model.setEditDate(model.getCreateDate());
+        model.setEditor(model.getCreator());
+        ywAccountMapper.updateById(model);
     }
 
     @Override
@@ -50,12 +80,24 @@
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }
-        ywAccountMapper.deleteBatchIds(ids);
+        for(Integer id : ids){
+            this.deleteById(id,user);
+        }
     }
 
     @Override
-    public void updateById(YwAccount ywAccount) {
-        ywAccountMapper.updateById(ywAccount);
+    public void updateById(YwAccount model) {
+        if(model.getCompanyId()==null){
+        throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勫叕鍙镐俊鎭�");
+    }
+        Company ywProject = companyMapper.selectById(model.getCompanyId());
+        if(ywProject ==null || Constants.equalsInteger(ywProject.getIsdeleted(),Constants.ONE)
+                || !Constants.equalsInteger(ywProject.getType(),Constants.TWO)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勫叕鍙镐俊鎭紒");
+        }
+        model.setEditDate(model.getCreateDate());
+        model.setEditor(model.getCreator());
+        ywAccountMapper.updateById(model);
     }
 
     @Override
@@ -88,54 +130,58 @@
     @Override
     public PageData<YwAccount> findPage(PageWrap<YwAccount> pageWrap) {
         IPage<YwAccount> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
-        QueryWrapper<YwAccount> queryWrapper = new QueryWrapper<>();
+        MPJLambdaWrapper<YwAccount> queryWrapper = new MPJLambdaWrapper<>();
+        queryWrapper.selectAll(YwAccount.class)
+                        .selectAs(Company::getName,YwAccount::getCompanyName)
+                                .leftJoin(Company.class,Company::getId,YwAccount::getCompanyId);
+        pageWrap.getModel().setIsdeleted(Constants.ZERO);
         Utils.MP.blankToNull(pageWrap.getModel());
         if (pageWrap.getModel().getId() != null) {
-            queryWrapper.lambda().eq(YwAccount::getId, pageWrap.getModel().getId());
+            queryWrapper.eq(YwAccount::getId, pageWrap.getModel().getId());
         }
         if (pageWrap.getModel().getCreator() != null) {
-            queryWrapper.lambda().eq(YwAccount::getCreator, pageWrap.getModel().getCreator());
+            queryWrapper.eq(YwAccount::getCreator, pageWrap.getModel().getCreator());
         }
         if (pageWrap.getModel().getCreateDate() != null) {
-            queryWrapper.lambda().ge(YwAccount::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
-            queryWrapper.lambda().le(YwAccount::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
+            queryWrapper.ge(YwAccount::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
+            queryWrapper.le(YwAccount::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
         }
         if (pageWrap.getModel().getEditor() != null) {
-            queryWrapper.lambda().eq(YwAccount::getEditor, pageWrap.getModel().getEditor());
+            queryWrapper.eq(YwAccount::getEditor, pageWrap.getModel().getEditor());
         }
         if (pageWrap.getModel().getEditDate() != null) {
-            queryWrapper.lambda().ge(YwAccount::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
-            queryWrapper.lambda().le(YwAccount::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
+            queryWrapper.ge(YwAccount::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
+            queryWrapper.le(YwAccount::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
         }
         if (pageWrap.getModel().getIsdeleted() != null) {
-            queryWrapper.lambda().eq(YwAccount::getIsdeleted, pageWrap.getModel().getIsdeleted());
+            queryWrapper.eq(YwAccount::getIsdeleted, pageWrap.getModel().getIsdeleted());
         }
         if (pageWrap.getModel().getRemark() != null) {
-            queryWrapper.lambda().eq(YwAccount::getRemark, pageWrap.getModel().getRemark());
+            queryWrapper.eq(YwAccount::getRemark, pageWrap.getModel().getRemark());
         }
         if (pageWrap.getModel().getStatus() != null) {
-            queryWrapper.lambda().eq(YwAccount::getStatus, pageWrap.getModel().getStatus());
+            queryWrapper.eq(YwAccount::getStatus, pageWrap.getModel().getStatus());
         }
         if (pageWrap.getModel().getTitle() != null) {
-            queryWrapper.lambda().eq(YwAccount::getTitle, pageWrap.getModel().getTitle());
+            queryWrapper.eq(YwAccount::getTitle, pageWrap.getModel().getTitle());
         }
         if (pageWrap.getModel().getCompanyId() != null) {
-            queryWrapper.lambda().eq(YwAccount::getCompanyId, pageWrap.getModel().getCompanyId());
+            queryWrapper.eq(YwAccount::getCompanyId, pageWrap.getModel().getCompanyId());
         }
         if (pageWrap.getModel().getType() != null) {
-            queryWrapper.lambda().eq(YwAccount::getType, pageWrap.getModel().getType());
+            queryWrapper.eq(YwAccount::getType, pageWrap.getModel().getType());
         }
         if (pageWrap.getModel().getName() != null) {
-            queryWrapper.lambda().eq(YwAccount::getName, pageWrap.getModel().getName());
+            queryWrapper.eq(YwAccount::getName, pageWrap.getModel().getName());
         }
         if (pageWrap.getModel().getBankName() != null) {
-            queryWrapper.lambda().eq(YwAccount::getBankName, pageWrap.getModel().getBankName());
+            queryWrapper.eq(YwAccount::getBankName, pageWrap.getModel().getBankName());
         }
         if (pageWrap.getModel().getBankNo() != null) {
-            queryWrapper.lambda().eq(YwAccount::getBankNo, pageWrap.getModel().getBankNo());
+            queryWrapper.eq(YwAccount::getBankNo, pageWrap.getModel().getBankNo());
         }
         if (pageWrap.getModel().getBankAddr() != null) {
-            queryWrapper.lambda().eq(YwAccount::getBankAddr, pageWrap.getModel().getBankAddr());
+            queryWrapper.eq(YwAccount::getBankAddr, pageWrap.getModel().getBankAddr());
         }
         for(PageWrap.SortData sortData: pageWrap.getSorts()) {
             if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {

--
Gitblit v1.9.3