package com.gk.firework.Service.ServiceImpl; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gk.firework.Domain.ContractUnitDetail; import com.gk.firework.Domain.Enterprise; import com.gk.firework.Domain.Enum.EnterpriseSafetySupervision; import com.gk.firework.Domain.Exception.BusinessException; import com.gk.firework.Domain.UserInfo; import com.gk.firework.Domain.Utils.StringUtils; import com.gk.firework.Mapper.ContractUnitDetailMapper; import com.gk.firework.Service.ContractUnitDetailService; import com.gk.firework.Service.EnterpriseService; import com.gk.firework.Service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.List; @Service("contractUnitDetailService") public class ContractUnitDetailServiceImpl extends ServiceImpl implements ContractUnitDetailService { @Autowired ContractUnitDetailMapper contractUnitDetailMapper; @Autowired UserService userService; @Autowired EnterpriseService enterpriseService; @Override public IPage selectSupplyAndPurchaseUnitPage(Page page, Map filter, UserInfo userInfo) { Map params = new HashMap<>(); UserInfo user = userService.getById(userInfo.getId()); { params.put("enterprisenumber", user.getCompanynumber()); params.put("province", user.getProvince()); params.put("city", user.getCity()); params.put("district", user.getArea()); params.put("street", user.getTown()); params.put("committee", user.getCommunity()); } { params.put("unitname", filter.get("unitname")); params.put("filterProvince", filter.get("province")); params.put("filterCity", filter.get("city")); params.put("filterDistrict", filter.get("district")); params.put("filterStreet", filter.get("street")); params.put("filterCommittee", filter.get("committee")); } List data = contractUnitDetailMapper.selectPages(page, params); return page.setRecords(data); } /** * @Description: 新增购货|购货 * @date 2021/5/26 9:58 */ @Override public void addSupplyAndPurchaseUnit(ContractUnitDetail contractUnitDetail, UserInfo userInfo) { UserInfo user = userService.getById(userInfo.getId()); if (user.getCompanynumber() == null) { throw new BusinessException("没有新建权限"); } Enterprise enterprise = enterpriseService.getById(user.getCompanyid()); if (EnterpriseSafetySupervision.PRODUCE.getMsg().equals(enterprise.getSafetysupervision())) { //生产单位->供货单位 contractUnitDetail.setType(1); }else{ //购买单位 contractUnitDetail.setType(0); } contractUnitDetail.setCreateby(userInfo.getId()); contractUnitDetail.setCreatebyname(userInfo.getUsername()); contractUnitDetail.setEnterprisenumber(user.getCompanynumber()); contractUnitDetail.setCreatetime(new Date()); contractUnitDetail.setValidflag(true); this.save(contractUnitDetail); } /** * @Description: 修改购货|购货 * @date 2021/5/26 9:58 */ @Override public void modSupplyAndPurchaseUnit(ContractUnitDetail contractUnitDetail, UserInfo userInfo) { contractUnitDetail.setUpdateby(userInfo.getId()); contractUnitDetail.setUpdatebyname(userInfo.getUsername()); contractUnitDetail.setUpdatetime(new Date()); this.updateById(contractUnitDetail); } /** * @Description: 删除购货|购货 * @date 2021/5/26 9:58 */ @Override public void delSupplyAndPurchaseUnit(Long id, UserInfo user) { LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.set(ContractUnitDetail::getValidflag, false) .eq(ContractUnitDetail::getId, id) .eq(ContractUnitDetail::getValidflag, true); this.update(updateWrapper); } @Override public void checkAdd(ContractUnitDetail contractUnitDetail) { if (StringUtils.isBlank(contractUnitDetail.getUnitname())) { throw new BusinessException("单位名称不能为空"); } if (StringUtils.isBlank(contractUnitDetail.getUnitaddress())) { throw new BusinessException("单位地址不能为空"); } if (StringUtils.isBlank(contractUnitDetail.getRepresentative())) { throw new BusinessException("法定代表人不能为空"); } if (StringUtils.isBlank(contractUnitDetail.getRepresentativephone())) { throw new BusinessException("法定代表人联系电话不能为空"); } if (StringUtils.isBlank(contractUnitDetail.getRepresentativeemail())) { throw new BusinessException("法定代表人电子邮箱不能为空"); } if (StringUtils.isBlank(contractUnitDetail.getBank())) { throw new BusinessException("开户银行不能为空"); } if (StringUtils.isBlank(contractUnitDetail.getLicensenumber())) { throw new BusinessException("许可证编号不能为空"); } if (StringUtils.isBlank(contractUnitDetail.getZipcode())) { throw new BusinessException("邮政编码不能为空"); } if (StringUtils.isBlank(contractUnitDetail.getAgent())) { throw new BusinessException("委托代理人不能为空"); } if (StringUtils.isBlank(contractUnitDetail.getAgentphone())) { throw new BusinessException("委托代理人联系电话不能为空"); } if (StringUtils.isBlank(contractUnitDetail.getAgentemail())) { throw new BusinessException("委托代理人电子邮箱不能为空"); } if (StringUtils.isBlank(contractUnitDetail.getAccount())) { throw new BusinessException("账户不能为空"); } } }