Explorar o código

企业服务商删除(开心灵工相关)

LiFei %!s(int64=4) %!d(string=hai) anos
pai
achega
8e6a530367

+ 2 - 0
happy-cloud-wisdom/happy-cloud-wisdom-biz/src/main/java/org/jeecg/modules/api/controller/HlwCompanySubcontractorApiController.java

@@ -309,6 +309,7 @@ public class HlwCompanySubcontractorApiController extends JeecgController<HlwCom
         String companyCode = jsonObject.getString("companyCode");
         //cpType=1时subcontractorId为服务商subcontractorId,cpType=2时subcontractorId为开心平台cpid
         Integer subcontractorId = jsonObject.getInteger("subcontractorId");
+        Integer cpSubcontractorId = jsonObject.getInteger("cpSubcontractorId");
         //1:服务商 2:开心
         Integer cpType = jsonObject.getInteger("cpType");
         log.info("companyCode========={}", companyCode);
@@ -319,6 +320,7 @@ public class HlwCompanySubcontractorApiController extends JeecgController<HlwCom
             hlwCompanySubcontractor.setCompanyId(hlwCompany.getId());
             hlwCompanySubcontractor.setSubcontractorId(subcontractorId);
             hlwCompanySubcontractor.setCpType(cpType);
+            hlwCompanySubcontractor.setCpSubcontractorId(cpSubcontractorId);
             //删除数据
             String msg = hlwCompanySubcontractorService.deleteCompanySubcontractor(hlwCompanySubcontractor);
             return Result.ok(msg);

+ 2 - 0
happy-cloud-wisdom/happy-cloud-wisdom-biz/src/main/java/org/jeecg/modules/hlwaccount/mapper/HlwCompanyCpContractMapper.java

@@ -19,4 +19,6 @@ public interface HlwCompanyCpContractMapper extends BaseMapper<HlwCompanyCpContr
     List<HlwCompanyCpContract> getListComIdAndCpId(Page<HlwCompanyCpContract> page, @Param("companyId") Integer companyId,  @Param("cpId")Integer cpId);
 
     int countContract(@Param("companyId")Integer companyId, @Param("startDate")Date startDate,@Param("endDate") Date endDate,@Param("contractId")Integer contractId);
+
+    void deleteByComcpId(@Param("companyCpId")Integer companyCpId);
 }

+ 2 - 0
happy-cloud-wisdom/happy-cloud-wisdom-biz/src/main/java/org/jeecg/modules/hlwaccount/mapper/HlwCompanyCpSubcontractorMapper.java

@@ -15,4 +15,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 public interface HlwCompanyCpSubcontractorMapper extends BaseMapper<HlwCompanyCpSubcontractor> {
 
     List<HlwCompanyCpSubcontractor> findListByCompanyIdAndCpIdAndSubid(@Param("companyId")Integer companyId,@Param("cpId") Integer cpId,@Param("cpSubcontractorId") Integer cpSubcontractorId);
+
+    List<HlwCompanyCpSubcontractor> getListByCompanyIdAndCpId(@Param("companyId")Integer companyId, @Param("cpId")Integer cpId);
 }

+ 6 - 0
happy-cloud-wisdom/happy-cloud-wisdom-biz/src/main/java/org/jeecg/modules/hlwaccount/mapper/xml/HlwCompanyCpContractMapper.xml

@@ -30,4 +30,10 @@
         </if>
         </where>
     </select>
+
+
+    <update id="deleteByComcpId">
+        delete from hlw_company_cp_contract
+        where  company_cp_id=#{companyCpId}
+    </update>
 </mapper>

+ 9 - 0
happy-cloud-wisdom/happy-cloud-wisdom-biz/src/main/java/org/jeecg/modules/hlwaccount/mapper/xml/HlwCompanyCpSubcontractorMapper.xml

@@ -12,4 +12,13 @@
     </select>
 
 
+    <select id="getListByCompanyIdAndCpId" resultType="org.jeecg.modules.hlwaccount.entity.HlwCompanyCpSubcontractor" >
+        SELECT
+         a.*
+        FROM hlw_company_cp_subcontractor a
+        left join hlw_company_cp hcc on hcc.id=a.company_cp_id
+        WHERE  hcc.company_id=#{companyId}  and hcc.cp_id=#{cpId}
+    </select>
+
+
 </mapper>

+ 2 - 0
happy-cloud-wisdom/happy-cloud-wisdom-biz/src/main/java/org/jeecg/modules/hlwaccount/service/IHlwCompanyCpContractService.java

@@ -18,4 +18,6 @@ public interface IHlwCompanyCpContractService extends IService<HlwCompanyCpContr
     Page<HlwCompanyCpContract> getListComIdAndCpId(Page<HlwCompanyCpContract> page, Integer companyId,Integer cpId);
 
     int countContract(Integer companyId, Date startDate, Date endDate,Integer contractId);
+
+    void deleteByComcpId(Integer companyCpId);
 }

+ 2 - 0
happy-cloud-wisdom/happy-cloud-wisdom-biz/src/main/java/org/jeecg/modules/hlwaccount/service/IHlwCompanyCpSubcontractorService.java

@@ -14,4 +14,6 @@ import java.util.List;
 public interface IHlwCompanyCpSubcontractorService extends IService<HlwCompanyCpSubcontractor> {
 
     List<HlwCompanyCpSubcontractor> findListByCompanyIdAndCpIdAndSubid(Integer id, Integer cpId, Integer cpSubcontractorId);
+
+    List<HlwCompanyCpSubcontractor> getListByCompanyIdAndCpId(Integer companyId, Integer subcontractorId);
 }

+ 8 - 0
happy-cloud-wisdom/happy-cloud-wisdom-biz/src/main/java/org/jeecg/modules/hlwaccount/service/impl/HlwCompanyCpContractServiceImpl.java

@@ -7,6 +7,7 @@ import org.jeecg.modules.hlwaccount.service.IHlwCompanyCpContractService;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
 
@@ -28,4 +29,11 @@ public class HlwCompanyCpContractServiceImpl extends ServiceImpl<HlwCompanyCpCon
     public int countContract(Integer companyId, Date startDate, Date endDate,Integer contractId) {
         return baseMapper.countContract(companyId,startDate,endDate,contractId);
     }
+
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void deleteByComcpId(Integer companyCpId) {
+        baseMapper.deleteByComcpId(companyCpId);
+    }
 }

+ 5 - 0
happy-cloud-wisdom/happy-cloud-wisdom-biz/src/main/java/org/jeecg/modules/hlwaccount/service/impl/HlwCompanyCpSubcontractorServiceImpl.java

@@ -21,4 +21,9 @@ public class HlwCompanyCpSubcontractorServiceImpl extends ServiceImpl<HlwCompany
     public List<HlwCompanyCpSubcontractor> findListByCompanyIdAndCpIdAndSubid(Integer companyId, Integer cpId, Integer cpSubcontractorId) {
         return baseMapper.findListByCompanyIdAndCpIdAndSubid(companyId,cpId,cpSubcontractorId);
     }
+
+    @Override
+    public List<HlwCompanyCpSubcontractor> getListByCompanyIdAndCpId(Integer companyId, Integer cpId) {
+        return baseMapper.getListByCompanyIdAndCpId(companyId,cpId);
+    }
 }

+ 21 - 7
happy-cloud-wisdom/happy-cloud-wisdom-biz/src/main/java/org/jeecg/modules/hlwaccount/service/impl/HlwCompanySubcontractorServiceImpl.java

@@ -4,10 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.jeecg.modules.hlwaccount.entity.*;
 import org.jeecg.modules.hlwaccount.mapper.HlwCompanySubcontractorMapper;
-import org.jeecg.modules.hlwaccount.service.IHlwCompanyAccountService;
-import org.jeecg.modules.hlwaccount.service.IHlwCompanyCpService;
-import org.jeecg.modules.hlwaccount.service.IHlwCompanyCpSubcontractorService;
-import org.jeecg.modules.hlwaccount.service.IHlwCompanySubcontractorService;
+import org.jeecg.modules.hlwaccount.service.*;
 import org.jeecg.modules.hlworder.service.IHlwRequirementService;
 import org.jeecg.modules.hlwpayment.entity.HlwPayment;
 import org.jeecg.modules.hlwpayment.service.IHlwPaymentService;
@@ -38,6 +35,8 @@ public class HlwCompanySubcontractorServiceImpl extends ServiceImpl<HlwCompanySu
     private IHlwCompanyAccountService hlwCompanyAccountService;
     @Resource
     private IHlwCompanyCpSubcontractorService hlwCompanyCpSubcontractorService;
+    @Resource
+    private IHlwCompanyCpContractService hlwCompanyCpContractService;
 
     @Override
     public Page<HlwCompanySubcontractor> getListByCompanyId(Page<HlwCompanySubcontractor> page, HlwCompanySubcontractor hlwCompanySubcontractor) {
@@ -184,9 +183,24 @@ public class HlwCompanySubcontractorServiceImpl extends ServiceImpl<HlwCompanySu
                 if (hlwPaymentList.size() > 0 || hlwCompanyAccountList.size() > 0) {
                     return "已存在业务数据,无法删除";
                 } else {
-                    hlwCompanyAccountService.deleteByCompanyIdAndCpId(hlwCompanySubcontractor.getCompanyId(), hlwCompanySubcontractor.getSubcontractorId());
-                    HlwCompanyCp hlwCompanyCp = hlwCompanyCpList.get(0);
-                    hlwCompanyCpService.removeById(hlwCompanyCp);
+                    if(hlwCompanySubcontractor.getCpSubcontractorId()!=null){
+                        //删除企业平台服务商
+                        List<HlwCompanyCpSubcontractor> hlwCompanyCpSubcontractor=hlwCompanyCpSubcontractorService.findListByCompanyIdAndCpIdAndSubid(hlwCompanySubcontractor.getCompanyId(),hlwCompanySubcontractor.getSubcontractorId(),hlwCompanySubcontractor.getCpSubcontractorId());
+                        hlwCompanyCpSubcontractorService.removeById(hlwCompanyCpSubcontractor.get(0));
+                        //查询企业是否还存在平台服务商 不存在则同时删除企业平台
+                        List<HlwCompanyCpSubcontractor> hlwCompanyCpSubcontractorList=hlwCompanyCpSubcontractorService.getListByCompanyIdAndCpId(hlwCompanySubcontractor.getCompanyId(),hlwCompanySubcontractor.getSubcontractorId());
+                        if(hlwCompanyCpSubcontractorList.size()==0){
+                            hlwCompanyAccountService.deleteByCompanyIdAndCpId(hlwCompanySubcontractor.getCompanyId(), hlwCompanySubcontractor.getSubcontractorId());
+                            HlwCompanyCp hlwCompanyCp = hlwCompanyCpList.get(0);
+                            hlwCompanyCpContractService.deleteByComcpId(hlwCompanyCp.getId());
+                            hlwCompanyCpService.removeById(hlwCompanyCp);
+                        }
+                    }else{
+                        hlwCompanyAccountService.deleteByCompanyIdAndCpId(hlwCompanySubcontractor.getCompanyId(), hlwCompanySubcontractor.getSubcontractorId());
+                        HlwCompanyCp hlwCompanyCp = hlwCompanyCpList.get(0);
+                        hlwCompanyCpContractService.deleteByComcpId(hlwCompanyCp.getId());
+                        hlwCompanyCpService.removeById(hlwCompanyCp);
+                    }
                 }
             }
         }