CompanyServiceImpl.java
5.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
package com.huaheng.pc.config.company.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.huaheng.api.xinyi.domian.Inventories;
import com.huaheng.api.xinyi.domian.Organization;
import com.huaheng.api.xinyi.service.BasisService;
import com.huaheng.common.exception.BusinessException;
import com.huaheng.common.utils.security.ShiroUtils;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.pc.config.company.domain.Company;
import com.huaheng.pc.config.company.mapper.CompanyMapper;
import com.huaheng.pc.config.warehouseCompany.domain.WarehouseCompany;
import com.huaheng.pc.config.warehouseCompany.service.WarehouseCompanyService;
import com.huaheng.pc.system.user.domain.UserCompany;
import com.huaheng.pc.system.user.mapper.UserCompanyMapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
@Service("companyService")
public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> implements CompanyService {
@Resource
private CompanyMapper companyMapper;
@Resource
private UserCompanyMapper userCompanyMapper;
@Resource
private WarehouseCompanyService warehouseCompanyService;
@Resource
private BasisService basisService;
@Override
public List<Company> selectCompanyByCurrentUserId() {
return companyMapper.selectCompanyByUserId(ShiroUtils.getUserId(), ShiroUtils.getWarehouseCode());
}
/**
* 查询出仓库所有的货主,并且根据用户id查询对应的货主,包含的就将flag赋为true
* @param
* @return
*/
@Override
public List<Company> selectCompanyByUserId(Integer id) {
UserCompany condition = new UserCompany();
condition.setUserId(id);
List<UserCompany> userCompanys = userCompanyMapper.selectListEntityByEqual(condition);
Company company = new Company();
company.setWarehouseCode(ShiroUtils.getWarehouseCode());
List<Company> companys = companyMapper.selectByWarehouseCode(company);
for (Company companyItem : companys)
{
for (UserCompany userCompanyItem : userCompanys)
{
if (companyItem.getId() == userCompanyItem.getCompanyId())
{
companyItem.setFlag(true);
break;
}
}
}
return companys;
}
@Override
public AjaxResult addCompany(Company company) {
String[] warehouse = company.getWarehouseCode().split(",");
//更新货主
company.setCreatedBy(ShiroUtils.getLoginName());
company.setLastUpdatedBy(ShiroUtils.getLoginName());
this.save(company);
//添加货主仓库关联
WarehouseCompany record = new WarehouseCompany();
for (int i=0; i<warehouse.length-1; i++)
{
record.setCompanyId(company.getId());
record.setCompanyCode(company.getCode());
record.setWarehouseCode(warehouse[i]);
warehouseCompanyService.save(record);
}
return AjaxResult.success("更新成功!");
}
@Override
public AjaxResult updateCompany(Company company) {
if (company.getId() == null)
return AjaxResult.error("id为空!");
String[] warehouse = company.getWarehouseCode().split(",");
LambdaQueryWrapper<WarehouseCompany> lambdaQueryWrapper = Wrappers.lambdaQuery();
warehouseCompanyService.remove(lambdaQueryWrapper.eq(WarehouseCompany::getCompanyId, company.getId()));
//添加货主仓库关联
WarehouseCompany record = new WarehouseCompany();
for (int i=0; i<warehouse.length; i++)
{
record.setCompanyId(company.getId());
record.setCompanyCode(company.getCode());
record.setWarehouseCode(warehouse[i]);
warehouseCompanyService.save(record);
}
//更新货主
company.setLastUpdatedBy(ShiroUtils.getLoginName());
this.updateById(company);
return AjaxResult.success("更新成功!");
}
@Override
public List<Map<String, Object>> getCode(){
LambdaQueryWrapper<Company> lambda = Wrappers.lambdaQuery();
lambda.select(Company::getCode, Company::getId, Company::getName)
.eq(Company::getWarehouseCode, ShiroUtils.getWarehouseCode());
return this.listMaps(lambda);
}
@Override
public List<Company> selectListEntityByEqual(Company condition) {
return companyMapper.selectListEntityByEqual(condition);
}
@Override
public AjaxResult erpAddCompany() {
List<Organization> organizationList = basisService.getOrganization(0);
if (!organizationList.isEmpty()) {
for (Organization organization : organizationList) {
Company company = new Company();
company.setId(organization.getOrganizationId());
company.setCode(organization.getOrganizationCode());
company.setWarehouseCode("XY0001");
company.setName(organization.getOrganizationName());
LambdaQueryWrapper<Company> queryWrapper = Wrappers.lambdaQuery(company);
List<Company> companyList = list(queryWrapper);
if (companyList.isEmpty()) {
if (!save(company)) {
throw new BusinessException("保存库存组织失败");
}
} else {
System.out.println("货主"+organization.getOrganizationName()+"已存在");
}
}
}
return null;
}
}