Commit 435ed22fb38b3109af45aad13d6d1ebc536a2fa8
Merge branch 'develop' of http://172.16.29.40:8010/wms/wms2 into develop
Showing
5 changed files
with
700 additions
and
13 deletions
src/main/java/com/huaheng/api/general/controller/BasicDataApi.java
0 → 100644
1 | +package com.huaheng.api.general.controller; | ||
2 | + | ||
3 | +import com.huaheng.api.general.service.BasicDataApiService; | ||
4 | +import com.huaheng.framework.aspectj.lang.annotation.Log; | ||
5 | +import com.huaheng.framework.aspectj.lang.constant.BusinessType; | ||
6 | +import com.huaheng.framework.web.controller.BaseController; | ||
7 | +import com.huaheng.framework.web.domain.AjaxResult; | ||
8 | +import com.huaheng.pc.config.customer.domain.Customer; | ||
9 | +import com.huaheng.pc.config.material.domain.Material; | ||
10 | +import com.huaheng.pc.config.supplier.domain.Supplier; | ||
11 | +import com.huaheng.pc.config.warehouse.domain.Warehouse; | ||
12 | +import com.huaheng.pc.system.dept.domain.Dept; | ||
13 | +import com.huaheng.pc.system.dict.domain.DictData; | ||
14 | +import com.huaheng.pc.system.user.domain.User; | ||
15 | +import io.swagger.annotations.Api; | ||
16 | +import io.swagger.annotations.ApiOperation; | ||
17 | +import org.springframework.beans.factory.annotation.Autowired; | ||
18 | +import org.springframework.web.bind.annotation.*; | ||
19 | + | ||
20 | +@RestController | ||
21 | +@RequestMapping("/api/basicData") | ||
22 | +@Api(tags = {"basicData"}, description = "基础数据接口") | ||
23 | +public class BasicDataApi extends BaseController { | ||
24 | + | ||
25 | + @Autowired | ||
26 | + private BasicDataApiService basicDataApiService; | ||
27 | + | ||
28 | + /** | ||
29 | + * 同步物料 | ||
30 | + */ | ||
31 | + @Log(title = "物料添加", action = BusinessType.INSERT) | ||
32 | + @PostMapping("/material") | ||
33 | + @ApiOperation("物料添加公共接口") | ||
34 | + @ResponseBody | ||
35 | + public AjaxResult MaterialApi(@RequestBody Material material) | ||
36 | + { | ||
37 | + AjaxResult ajaxResult = basicDataApiService.material(material); | ||
38 | + return ajaxResult; | ||
39 | + } | ||
40 | + | ||
41 | + /** | ||
42 | + * 同步字典 | ||
43 | + */ | ||
44 | + @Log(title = "字典添加", action = BusinessType.INSERT) | ||
45 | + @PostMapping("/dictData") | ||
46 | + @ApiOperation("字典添加公共接口") | ||
47 | + @ResponseBody | ||
48 | + public AjaxResult UnitlApi(@RequestBody DictData dictData) | ||
49 | + { | ||
50 | + AjaxResult ajaxResult = basicDataApiService.dict(dictData); | ||
51 | + return ajaxResult; | ||
52 | + } | ||
53 | + | ||
54 | + | ||
55 | + | ||
56 | + /** | ||
57 | + * 同步仓库和货主 | ||
58 | + */ | ||
59 | + @Log(title = "仓库添加", action = BusinessType.INSERT) | ||
60 | + @PostMapping("/warehouse") | ||
61 | + @ApiOperation("仓库添加公共接口") | ||
62 | + @ResponseBody | ||
63 | + public AjaxResult WarehouseApi(@RequestBody Warehouse warehouse) | ||
64 | + { | ||
65 | + AjaxResult ajaxResult = basicDataApiService.warehouse(warehouse); | ||
66 | + return ajaxResult; | ||
67 | + } | ||
68 | + | ||
69 | + /** | ||
70 | + * 同步客户档案 | ||
71 | + */ | ||
72 | + @Log(title = "客户档案添加", action = BusinessType.INSERT) | ||
73 | + @PostMapping("/customer") | ||
74 | + @ApiOperation("客户档案添加公共接口") | ||
75 | + @ResponseBody | ||
76 | + public AjaxResult CustomerApi(@RequestBody Customer customer) | ||
77 | + { | ||
78 | + AjaxResult ajaxResult = basicDataApiService.customer(customer); | ||
79 | + return ajaxResult; | ||
80 | + } | ||
81 | + | ||
82 | + /** | ||
83 | + * 同步部门档案 | ||
84 | + */ | ||
85 | + @Log(title = "部门档案添加", action = BusinessType.INSERT) | ||
86 | + @PostMapping("/dept") | ||
87 | + @ApiOperation("部门档案添加公共接口") | ||
88 | + @ResponseBody | ||
89 | + public AjaxResult DeptApi(@RequestBody Dept dept) | ||
90 | + { | ||
91 | + AjaxResult ajaxResult = basicDataApiService.dept(dept); | ||
92 | + return ajaxResult; | ||
93 | + } | ||
94 | + | ||
95 | + /** | ||
96 | + * 同步人员档案 | ||
97 | + */ | ||
98 | + @Log(title = "人员档案添加", action = BusinessType.INSERT) | ||
99 | + @PostMapping("/user") | ||
100 | + @ApiOperation("人员档案添加公共接口") | ||
101 | + @ResponseBody | ||
102 | + public AjaxResult UserApi(@RequestBody User user) | ||
103 | + { | ||
104 | + AjaxResult ajaxResult = basicDataApiService.user(user); | ||
105 | + return ajaxResult; | ||
106 | + } | ||
107 | + | ||
108 | + /** | ||
109 | + * 同步供应商档案 | ||
110 | + */ | ||
111 | + @Log(title = "供应商档案添加", action = BusinessType.INSERT) | ||
112 | + @PostMapping("/supplier") | ||
113 | + @ApiOperation("供应商档案添加公共接口") | ||
114 | + @ResponseBody | ||
115 | + public AjaxResult SupplierApi(@RequestBody Supplier supplier){ | ||
116 | + AjaxResult ajaxResult = basicDataApiService.supplier(supplier); | ||
117 | + return ajaxResult; | ||
118 | + } | ||
119 | + | ||
120 | + | ||
121 | + | ||
122 | + | ||
123 | +} |
src/main/java/com/huaheng/api/general/controller/LoginApi.java
0 → 100644
1 | +package com.huaheng.api.general.controller; | ||
2 | + | ||
3 | +import com.alibaba.fastjson.JSONException; | ||
4 | +import com.huaheng.common.utils.DataUtils; | ||
5 | +import com.huaheng.framework.web.controller.BaseController; | ||
6 | +import com.huaheng.framework.web.domain.AjaxResult; | ||
7 | +import com.huaheng.pc.system.user.service.IUserService; | ||
8 | +import io.swagger.annotations.Api; | ||
9 | +import io.swagger.annotations.ApiOperation; | ||
10 | +import io.swagger.annotations.ApiParam; | ||
11 | +import org.springframework.beans.factory.annotation.Autowired; | ||
12 | +import org.springframework.web.bind.annotation.PostMapping; | ||
13 | +import org.springframework.web.bind.annotation.RequestBody; | ||
14 | +import org.springframework.web.bind.annotation.RequestMapping; | ||
15 | +import org.springframework.web.bind.annotation.RestController; | ||
16 | + | ||
17 | +import java.util.Map; | ||
18 | + | ||
19 | + | ||
20 | +@RestController | ||
21 | +@RequestMapping("/api") | ||
22 | +@Api(tags = {"Login"}, description = "登陆接口") | ||
23 | +public class LoginApi extends BaseController { | ||
24 | + | ||
25 | + @Autowired | ||
26 | + private IUserService userService; | ||
27 | + | ||
28 | + @PostMapping("/login") | ||
29 | + @ApiOperation("登陆接口") | ||
30 | + public AjaxResult login(@RequestBody @ApiParam(value="登陆的Map集合") Map<String, String> param) | ||
31 | + { | ||
32 | + if (param.get("username") == null) | ||
33 | + throw new JSONException("username(用户名)不能为空"); | ||
34 | + if (param.get("password") == null) | ||
35 | + throw new JSONException("password(密码)不能为空"); | ||
36 | + if (param.get("warehouseCode") == null) | ||
37 | + throw new JSONException("warehouseCode(仓库编码)不能为空"); | ||
38 | + String username = param.get("username"); | ||
39 | + String password = param.get("password"); | ||
40 | + String warehouseCode = param.get("warehouseCode"); | ||
41 | + AjaxResult ajaxResult = userService.login(username, password, warehouseCode, false); | ||
42 | + return ajaxResult; | ||
43 | + } | ||
44 | + | ||
45 | + | ||
46 | + @PostMapping("/heartbeat") | ||
47 | + @ApiOperation("心跳接口,用于延长cookie有效期") | ||
48 | + public AjaxResult heartbeat() | ||
49 | + { | ||
50 | + return AjaxResult.success("success"); | ||
51 | + } | ||
52 | + | ||
53 | + | ||
54 | +} |
src/main/java/com/huaheng/api/general/service/BasicDataApiService.java
0 → 100644
1 | +package com.huaheng.api.general.service; | ||
2 | + | ||
3 | +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||
4 | +import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||
5 | +import com.huaheng.common.exception.service.ServiceException; | ||
6 | +import com.huaheng.common.utils.StringUtils; | ||
7 | +import com.huaheng.framework.web.domain.AjaxResult; | ||
8 | +import com.huaheng.pc.config.company.domain.Company; | ||
9 | +import com.huaheng.pc.config.company.service.CompanyService; | ||
10 | +import com.huaheng.pc.config.customer.domain.Customer; | ||
11 | +import com.huaheng.pc.config.customer.service.CustomerServiceImpl; | ||
12 | +import com.huaheng.pc.config.material.domain.Material; | ||
13 | +import com.huaheng.pc.config.material.service.MaterialService; | ||
14 | +import com.huaheng.pc.config.supplier.domain.Supplier; | ||
15 | +import com.huaheng.pc.config.supplier.service.SupplierService; | ||
16 | +import com.huaheng.pc.config.warehouse.domain.Warehouse; | ||
17 | +import com.huaheng.pc.config.warehouse.service.WarehouseService; | ||
18 | +import com.huaheng.pc.system.dept.domain.Dept; | ||
19 | +import com.huaheng.pc.system.dept.service.IDeptService; | ||
20 | +import com.huaheng.pc.system.dict.domain.DictData; | ||
21 | +import com.huaheng.pc.system.dict.domain.DictType; | ||
22 | +import com.huaheng.pc.system.dict.mapper.DictDataMapper; | ||
23 | +import com.huaheng.pc.system.dict.mapper.DictTypeMapper; | ||
24 | +import com.huaheng.pc.system.dict.service.IDictDataService; | ||
25 | +import com.huaheng.pc.system.dict.service.IDictTypeService; | ||
26 | +import com.huaheng.pc.system.user.domain.User; | ||
27 | +import com.huaheng.pc.system.user.service.IUserService; | ||
28 | +import org.springframework.beans.factory.annotation.Autowired; | ||
29 | +import org.springframework.stereotype.Component; | ||
30 | +import org.springframework.transaction.annotation.Transactional; | ||
31 | + | ||
32 | +import javax.annotation.Resource; | ||
33 | +import java.util.ArrayList; | ||
34 | +import java.util.List; | ||
35 | + | ||
36 | +@Component | ||
37 | +@Transactional | ||
38 | +public class BasicDataApiService { | ||
39 | + @Autowired | ||
40 | + IDictTypeService dictTypeService; | ||
41 | + @Autowired | ||
42 | + IDictDataService dictDataService; | ||
43 | + @Autowired | ||
44 | + MaterialService materialService; | ||
45 | + | ||
46 | + @Resource | ||
47 | + private DictTypeMapper dictTypeMapper; | ||
48 | + @Resource | ||
49 | + private DictDataMapper dictDataMapper; | ||
50 | + | ||
51 | + @Autowired | ||
52 | + IUserService iUserService; | ||
53 | + | ||
54 | + @Autowired | ||
55 | + IDeptService iDeptService; | ||
56 | + | ||
57 | + @Autowired | ||
58 | + CustomerServiceImpl iCustomerService; | ||
59 | + | ||
60 | + @Autowired | ||
61 | + WarehouseService iWarehouseService; | ||
62 | + | ||
63 | + @Autowired | ||
64 | + SupplierService iSupplierService; | ||
65 | + | ||
66 | + @Autowired | ||
67 | + CompanyService companyService; | ||
68 | + | ||
69 | + //检查仓库 | ||
70 | + public Warehouse checkWarehouse(String code) { | ||
71 | + LambdaQueryWrapper<Warehouse> warehouseLam = Wrappers.lambdaQuery(); | ||
72 | + warehouseLam.eq(Warehouse::getCode, code); | ||
73 | + Warehouse warehouse = iWarehouseService.getOne(warehouseLam); | ||
74 | + if (warehouse == null) { | ||
75 | + throw new ServiceException("数据出现问题,系统没有该仓库"); | ||
76 | + } | ||
77 | + return warehouse; | ||
78 | + } | ||
79 | + | ||
80 | + /** | ||
81 | + * 字典通用接口 | ||
82 | + * 1、判断必填字段是否为空 | ||
83 | + * 2、仓库是否正确 | ||
84 | + * 3、检查字典头表,如果没有就添加 | ||
85 | + * 4、增新一条字典明细表的记录 | ||
86 | + * @param dictData | ||
87 | + * @return | ||
88 | + */ | ||
89 | + public AjaxResult dict(DictData dictData) { | ||
90 | + //1、判断必填字段是否为空 | ||
91 | + if(StringUtils.isEmpty(dictData.getWarehouseCode())){ | ||
92 | + return AjaxResult.error("没有仓库编码"); | ||
93 | + } | ||
94 | + if(StringUtils.isEmpty(dictData.getDictLabel())){ | ||
95 | + return AjaxResult.error("没有字典标签"); | ||
96 | + } | ||
97 | + if(StringUtils.isEmpty(dictData.getDictType())){ | ||
98 | + return AjaxResult.error("没有字典类型"); | ||
99 | + } | ||
100 | + if(StringUtils.isEmpty(dictData.getDictValue())){ | ||
101 | + return AjaxResult.error("没有字典键值"); | ||
102 | + } | ||
103 | + | ||
104 | + //2、仓库是否正确 | ||
105 | + int result = 0; | ||
106 | + this.checkWarehouse(dictData.getWarehouseCode()); | ||
107 | + | ||
108 | + //3、检查字典头表,如果没有就添加 | ||
109 | + DictData condition = new DictData(); | ||
110 | + try { | ||
111 | + condition.setDictType(dictData.getDictType()); | ||
112 | + condition.setWarehouseCode(dictData.getWarehouseCode()); | ||
113 | + condition.setDictValue(dictData.getDictValue()); | ||
114 | + condition.setEnable(true); | ||
115 | + List<DictData> dictDatas = dictDataService.selectDictDataList(dictData); | ||
116 | + if (dictDatas.size() < 1) { | ||
117 | + //找出字典头表的id | ||
118 | + DictType dictType = new DictType(); | ||
119 | + dictType.setWarehouseCode(dictData.getWarehouseCode()); | ||
120 | + dictType.setDictType(dictData.getDictType()); | ||
121 | + List<DictType> dictList = dictTypeService.selectDictTypeList(dictType); | ||
122 | + if (dictList.size() < 1) { | ||
123 | + dictType.setWarehouseId(dictData.getWarehouseId()); | ||
124 | + dictType.setCreateBy(dictData.getCreateBy()); | ||
125 | + dictType.setCreateTime(dictData.getCreateTime()); | ||
126 | + if(StringUtils.isEmpty(dictType.getCreateBy())) { | ||
127 | + result = dictTypeService.insertDictType(dictType); | ||
128 | + }else { | ||
129 | + result=dictTypeMapper.insertDictType(dictType); | ||
130 | + } | ||
131 | + dictList.add(dictType); | ||
132 | + if (result < 1) { | ||
133 | + throw new ServiceException("新增字典类型失败!"); | ||
134 | + } | ||
135 | + } | ||
136 | + //4、增新一条字典明细表的记录 | ||
137 | + dictData.setHeaderId(dictList.get(0).getId()); | ||
138 | + if(StringUtils.isEmpty(dictData.getCreateBy())) { | ||
139 | + result = dictDataService.insertDictData(dictData); | ||
140 | + }else { | ||
141 | + result=dictDataMapper.insertDictData(dictData); | ||
142 | + } | ||
143 | + if (result < 1) { | ||
144 | + throw new ServiceException("新增字典数据失败!"); | ||
145 | + } | ||
146 | + } | ||
147 | + }catch (Exception e){ | ||
148 | + throw new ServiceException("字典数据有误!!"); | ||
149 | + } | ||
150 | + return AjaxResult.success("新增字典成功"); | ||
151 | + } | ||
152 | + | ||
153 | + /** | ||
154 | + * 检查是否存在物料,如果存在就修改,不存在就新增 | ||
155 | + * 1、判断必填字段是否为空 | ||
156 | + * 2、检查仓库和货主 | ||
157 | + * 3、查看此物料在系统是否存在 | ||
158 | + * @param material | ||
159 | + * @return | ||
160 | + */ | ||
161 | + @Transactional | ||
162 | + public AjaxResult material(Material material) { | ||
163 | + | ||
164 | + //1、判断必填字段是否为空 | ||
165 | + if(StringUtils.isEmpty(material.getCode())){ | ||
166 | + return AjaxResult.error("物料编码不能为空!!"); | ||
167 | + } | ||
168 | + if(StringUtils.isEmpty(material.getWarehouseCode())){ | ||
169 | + return AjaxResult.error("仓库编码不能为空!!"); | ||
170 | + } | ||
171 | + if(StringUtils.isEmpty(material.getCompanyCode())){ | ||
172 | + return AjaxResult.error("货主编码不能为空!!"); | ||
173 | + } | ||
174 | + if(StringUtils.isEmpty(material.getType())){ | ||
175 | + return AjaxResult.error("物料类型不能为空!!"); | ||
176 | + } | ||
177 | + if(StringUtils.isEmpty(material.getName())){ | ||
178 | + return AjaxResult.error("物料名称不能为空!!"); | ||
179 | + } | ||
180 | + if(StringUtils.isEmpty(material.getSpec())){ | ||
181 | + return AjaxResult.error("物料规格不能为空!!"); | ||
182 | + } | ||
183 | + if(StringUtils.isEmpty(material.getUnit())){ | ||
184 | + return AjaxResult.error("物料单位不能为空!!"); | ||
185 | + } | ||
186 | + | ||
187 | + //2、检查仓库和货主 | ||
188 | + this.checkWarehouse(material.getWarehouseCode()); | ||
189 | + LambdaQueryWrapper<Company> companyLam = Wrappers.lambdaQuery(); | ||
190 | + companyLam.eq(Company::getCode,material.getCompanyCode()); | ||
191 | + Company company=companyService.getOne(companyLam); | ||
192 | + if(company==null){ | ||
193 | + return AjaxResult.error("没有该货主!!"); | ||
194 | + } | ||
195 | + | ||
196 | + Boolean flag = false; | ||
197 | + try { | ||
198 | + //3、查看此物料在系统是否存在 | ||
199 | + LambdaQueryWrapper<Material> materialLam = Wrappers.lambdaQuery(); | ||
200 | + materialLam.eq(Material::getCode,material.getCode()) | ||
201 | + .eq(Material::getWarehouseCode,material.getWarehouseCode()); | ||
202 | + Material entity = materialService.getOne(materialLam); | ||
203 | + if (entity == null) { | ||
204 | + flag = materialService.save(material); | ||
205 | + if (flag == false) { | ||
206 | + throw new ServiceException("新增物料失败!"); | ||
207 | + } | ||
208 | + } else { | ||
209 | +// return AjaxResult.error("已有该物料,无法进行修改!!"); | ||
210 | + material.setId(entity.getId()); | ||
211 | + flag = materialService.updateById(material); | ||
212 | + if (flag == false) { | ||
213 | + throw new ServiceException("更新物料失败!"); | ||
214 | + }else { | ||
215 | + return AjaxResult.success("更新物流成功!"); | ||
216 | + } | ||
217 | + } | ||
218 | + }catch (Exception e){ | ||
219 | + throw new ServiceException("物料数据问题"); | ||
220 | + } | ||
221 | + return AjaxResult.success("新增物料成功"); | ||
222 | + } | ||
223 | + | ||
224 | + | ||
225 | + | ||
226 | + /** | ||
227 | + * 人员档案通用接口 | ||
228 | + * 1、判断必填字段是否为空 | ||
229 | + * 2、判断系统中是否有该用户,如果有则更新,如果没有则新增 | ||
230 | + *新增: (1)、默认密码为123456 | ||
231 | + * (2)默认为普通用户 | ||
232 | + * (3)默认为长沙仓库 | ||
233 | + * @param user | ||
234 | + * @return | ||
235 | + */ | ||
236 | + public AjaxResult user(User user){ | ||
237 | + //1、判断必填字段是否为空 | ||
238 | + int result = 0; | ||
239 | + User user1 = new User(); | ||
240 | + if(user.getLoginName()==null || user.getLoginName()=="") { | ||
241 | + return AjaxResult.error("没有人员编码!!"); | ||
242 | + } | ||
243 | + if (user.getUserName()==null || user.getUserName()==""){ | ||
244 | + return AjaxResult.error("没有人员名称!!"); | ||
245 | + } | ||
246 | + if(user.getDeptId()==null){ | ||
247 | + return AjaxResult.error("没有部门ID!!"); | ||
248 | + } | ||
249 | + if(iDeptService.selectDeptById(user.getDeptId())==null){ | ||
250 | + return AjaxResult.error("系统没有此部门!!"); | ||
251 | + } | ||
252 | + try { | ||
253 | + user1.setLoginName(user.getLoginName()); | ||
254 | + //2、判断系统中是否有该用户,如果有则更新,如果没有则新增 | ||
255 | + if (iUserService.selectmen(user.getLoginName()) == null) { | ||
256 | + //(1)默认密码为123456 | ||
257 | + if(user.getPassword()==null) { | ||
258 | + user.setPassword("123456"); | ||
259 | + } | ||
260 | + //(2)默认为普通用户 | ||
261 | + if(StringUtils.isEmpty(user.getRoleIds())) { | ||
262 | + List<Integer> roleIds=new ArrayList<>(); | ||
263 | + roleIds.add(2); | ||
264 | + user.setRoleIds(roleIds); | ||
265 | + } | ||
266 | + //(3)默认为长沙仓库 | ||
267 | + if(StringUtils.isEmpty(user.getCompanyIdList())) { | ||
268 | + List<Integer> companyIdList = new ArrayList<>(); | ||
269 | + companyIdList.add(2); | ||
270 | + user.setCompanyIdList(companyIdList); | ||
271 | + } | ||
272 | + result = iUserService.insertUser(user); | ||
273 | + if (result < 1) { | ||
274 | + throw new ServiceException("新增人员档案失败!"); | ||
275 | + } else { | ||
276 | + return AjaxResult.success("新增人员档案成功!"); | ||
277 | + } | ||
278 | + } else { | ||
279 | + return AjaxResult.error("已有该人员档案,无法进行修改!"); | ||
280 | +// result = iUserService.updateUser(user); | ||
281 | +// if (result < 1) { | ||
282 | +// throw new ServiceException("更新人员档案失败!"); | ||
283 | +// } else { | ||
284 | +// return AjaxResult.success("更新人员档案成功!"); | ||
285 | +// } | ||
286 | + } | ||
287 | + }catch (Exception e){ | ||
288 | + throw new ServiceException("数据问题。。。"); | ||
289 | + } | ||
290 | + } | ||
291 | + | ||
292 | + | ||
293 | + | ||
294 | + /** | ||
295 | + * 部门档案通用接口 | ||
296 | + * 1、判断必填字段是否为空 | ||
297 | + * 2、部门编码长度应是双数 | ||
298 | + * | ||
299 | + * @param dept | ||
300 | + * @return | ||
301 | + */ | ||
302 | + @Transactional | ||
303 | + public AjaxResult dept(Dept dept) { | ||
304 | + | ||
305 | + //1、判断必填字段是否为空 | ||
306 | + int result = 0; | ||
307 | + String code = dept.getCode(); | ||
308 | + if (code == null || code == "") { | ||
309 | + return AjaxResult.error("部门编码不能为空!!"); | ||
310 | + } | ||
311 | + try { | ||
312 | + Dept rs = iDeptService.selectDepts(code); | ||
313 | + | ||
314 | + //2、部门编码长度应是双数 | ||
315 | + if (rs == null) { | ||
316 | + int x = code.length() % 2; | ||
317 | + if (x != 0) { | ||
318 | + return AjaxResult.error("部门编码长度应是双数"); | ||
319 | + } else { | ||
320 | + int y = code.length() / 2; | ||
321 | + if (y >= 1) { | ||
322 | + String scode = code.substring(0, 2); | ||
323 | + if (iDeptService.selectDepts(scode) == null) { | ||
324 | + dept.setCode(scode); | ||
325 | + dept.setParentId(100); | ||
326 | + dept.setAncestors("0,100"); | ||
327 | + dept.setOrderNum("1"); | ||
328 | + result = iDeptService.insertDept(dept); | ||
329 | + if (result < 1) { | ||
330 | + throw new ServiceException("新增部门档案失败!"); | ||
331 | + } | ||
332 | + } | ||
333 | + } | ||
334 | + for (int z = 1; z <=y; z++) { | ||
335 | + | ||
336 | + //找到上级部门 | ||
337 | + String sqcode = code.substring(0, 2 * (z - 1)); | ||
338 | + Dept sdept = iDeptService.selectDepts(sqcode); | ||
339 | + String sscode = code.substring(0, 2 * z); | ||
340 | + if (iDeptService.selectDepts(sscode) == null) { | ||
341 | + dept.setCode(sscode); | ||
342 | + dept.setParentId(sdept.getId()); | ||
343 | + dept.setAncestors(sdept.getAncestors() + "," + sdept.getId()); | ||
344 | + dept.setOrderNum(String.valueOf(z)); | ||
345 | + result = iDeptService.insertDept(dept); | ||
346 | + if (result < 1) { | ||
347 | + throw new ServiceException("新增部门档案失败!"); | ||
348 | + } | ||
349 | + } | ||
350 | + } | ||
351 | + } | ||
352 | + return AjaxResult.success("新增部门成功"); | ||
353 | + } else { | ||
354 | + dept.setId(rs.getId()); | ||
355 | + int num = iDeptService.updatesDept(dept); | ||
356 | + if (num < 1) { | ||
357 | + throw new ServiceException("部门修改失败"); | ||
358 | + } else { | ||
359 | + return AjaxResult.success("部门修改成功"); | ||
360 | + } | ||
361 | + } | ||
362 | + } catch (Exception e) { | ||
363 | + throw new ServiceException("数据问题。。。"); | ||
364 | + } | ||
365 | + } | ||
366 | + | ||
367 | + /** | ||
368 | + * 客户档案通用接口 | ||
369 | + * 1、判断必填字段是否为空 | ||
370 | + * 2、检查仓库 | ||
371 | + * 3、查看此客户在系统是否存在 | ||
372 | + * @param customer | ||
373 | + * @return | ||
374 | + */ | ||
375 | + public AjaxResult customer(Customer customer){ | ||
376 | + Boolean flag = true; | ||
377 | + //1、判断必填字段是否为空 | ||
378 | + if(customer.getCode()==null||customer.getCode()=="") { | ||
379 | + return AjaxResult.error("客户代码不能为空!!"); | ||
380 | + } | ||
381 | + if(StringUtils.isEmpty(customer.getWarehouseCode())){ | ||
382 | + return AjaxResult.error("没有仓库编码"); | ||
383 | + } | ||
384 | + if(StringUtils.isEmpty(customer.getName())){ | ||
385 | + return AjaxResult.error("没有客户名称"); | ||
386 | + } | ||
387 | + if(StringUtils.isEmpty(customer.getCompanyCode())){ | ||
388 | + return AjaxResult.error("没有货主编码"); | ||
389 | + } | ||
390 | + try { | ||
391 | + //2、检查仓库 | ||
392 | + this.checkWarehouse(customer.getWarehouseCode()); | ||
393 | + | ||
394 | + //3、查看此客户在系统是否存在 | ||
395 | + LambdaQueryWrapper<Customer> customerLam = Wrappers.lambdaQuery(); | ||
396 | + customerLam.eq(Customer::getCode,customer.getCode()) | ||
397 | + .eq(Customer::getWarehouseCode,customer.getWarehouseCode()); | ||
398 | + Customer ctr = iCustomerService.getOne(customerLam); | ||
399 | + | ||
400 | + //不存在添加 | ||
401 | + if ( ctr == null) { | ||
402 | + flag = iCustomerService.save(customer); | ||
403 | + if (flag == false) { | ||
404 | + throw new ServiceException("新增客户档案失败!"); | ||
405 | + } else { | ||
406 | + return AjaxResult.success("新增客户档案成功!"); | ||
407 | + } | ||
408 | + } else { | ||
409 | + return AjaxResult.error("已有该客户,无法进行修改!!"); | ||
410 | +// customer.setId(rs.getId()); | ||
411 | +// result = iCustomerService.updateByModel(customer); | ||
412 | +// if (result < 1) { | ||
413 | +// throw new ServiceException("更新客户档案失败!"); | ||
414 | +// } else { | ||
415 | +// return AjaxResult.success("更新客户档案成功!"); | ||
416 | +// } | ||
417 | + } | ||
418 | + }catch (Exception e){ | ||
419 | + throw new ServiceException("数据问题。。。"); | ||
420 | + } | ||
421 | + } | ||
422 | + | ||
423 | + /** | ||
424 | + * 仓库档案通用接口 | ||
425 | + * 1、判断必填字段是否为空 | ||
426 | + * 2、判断系统中是否有该仓库,若有则更新,若无则新增 | ||
427 | + * @param warehouse | ||
428 | + * @return | ||
429 | + */ | ||
430 | + public AjaxResult warehouse(Warehouse warehouse){ | ||
431 | + if(warehouse.getCode()==null||warehouse.getCode()=="") { | ||
432 | + return AjaxResult.error("仓库编码不能为空!!"); | ||
433 | + } | ||
434 | + if(warehouse.getName()==null||warehouse.getName()=="") { | ||
435 | + return AjaxResult.error("仓库名称不能为空!!"); | ||
436 | + } | ||
437 | + try { | ||
438 | + LambdaQueryWrapper<Warehouse> warehouseLam = Wrappers.lambdaQuery(); | ||
439 | + warehouseLam.eq(Warehouse::getCode,warehouse.getCode()); | ||
440 | + Warehouse whs = iWarehouseService.getOne(warehouseLam); | ||
441 | + | ||
442 | + //2、判断系统中是否有该仓库,若有则更新,若无则新增 | ||
443 | + if (whs == null) { | ||
444 | + Boolean flag = iWarehouseService.save(warehouse); | ||
445 | + if (flag == false) { | ||
446 | + throw new ServiceException("新增仓库档案失败!"); | ||
447 | + } else { | ||
448 | + return AjaxResult.success("新增仓库档案成功!"); | ||
449 | + } | ||
450 | + } else { | ||
451 | + return AjaxResult.error("已有该仓库,无法进行修改!"); | ||
452 | +// warehouse.setId(rs.getId()); | ||
453 | +// result = iWarehouseService.updateByModel(warehouse); | ||
454 | +// if (result < 1) { | ||
455 | +// throw new ServiceException("更新仓库档案失败!"); | ||
456 | +// } else { | ||
457 | +// return AjaxResult.success("更新仓库档案成功!"); | ||
458 | +// } | ||
459 | + } | ||
460 | + }catch (Exception e){ | ||
461 | + throw new ServiceException("仓库数据问题。。。"); | ||
462 | + } | ||
463 | + } | ||
464 | + | ||
465 | + /** | ||
466 | + * 供应商档案通用接口 | ||
467 | + * 1、判断必填字段是否为空 | ||
468 | + * 2、检查仓库 | ||
469 | + * 3、查看此供应商在系统是否存在 | ||
470 | + * @param supplier | ||
471 | + * @return | ||
472 | + */ | ||
473 | + public AjaxResult supplier(Supplier supplier){ | ||
474 | + | ||
475 | + //1、判断必填字段是否为空 | ||
476 | + if(StringUtils.isEmpty(supplier.getCode())){ | ||
477 | + return AjaxResult.error("没有供应商代码"); | ||
478 | + } | ||
479 | + if(StringUtils.isEmpty(supplier.getName())){ | ||
480 | + return AjaxResult.error("没有供应商名称"); | ||
481 | + } | ||
482 | + if(StringUtils.isEmpty(supplier.getWarehouseCode())){ | ||
483 | + return AjaxResult.error("没有仓库编码"); | ||
484 | + } | ||
485 | + | ||
486 | + //2、检查仓库 | ||
487 | + this.checkWarehouse(supplier.getCode()); | ||
488 | + | ||
489 | + //3、查看此供应商在系统是否存在 | ||
490 | + try { | ||
491 | + LambdaQueryWrapper<Supplier> supplierLam = Wrappers.lambdaQuery(); | ||
492 | + supplierLam.eq(Supplier::getCode,supplier.getCode()) | ||
493 | + .eq(Supplier::getWarehouseCode,supplier.getWarehouseCode()); | ||
494 | + Supplier spl=iSupplierService.getOne(supplierLam); | ||
495 | + | ||
496 | + if (spl== null) { | ||
497 | + Boolean flag = iSupplierService.save(supplier); | ||
498 | + if (flag == false) { | ||
499 | + throw new ServiceException("新增供应商失败!"); | ||
500 | + } else { | ||
501 | + return AjaxResult.success("新增供应商成功!"); | ||
502 | + } | ||
503 | + } else { | ||
504 | + return AjaxResult.error("已有该供应商,无法修改!!"); | ||
505 | + } | ||
506 | + }catch (Exception e){ | ||
507 | + throw new ServiceException("供应商数据问题。。。"); | ||
508 | + } | ||
509 | + } | ||
510 | +} |
src/main/java/com/huaheng/pc/system/user/controller/IndexController.java
@@ -73,7 +73,7 @@ public class IndexController extends BaseController | @@ -73,7 +73,7 @@ public class IndexController extends BaseController | ||
73 | pie.itemStyle().emphasis().setShadowBlur(10); | 73 | pie.itemStyle().emphasis().setShadowBlur(10); |
74 | pie.itemStyle().emphasis().setShadowOffsetX(0); | 74 | pie.itemStyle().emphasis().setShadowOffsetX(0); |
75 | pie.itemStyle().emphasis().setShadowColor("rgba(0, 0, 0, 0.4)"); | 75 | pie.itemStyle().emphasis().setShadowColor("rgba(0, 0, 0, 0.4)"); |
76 | - String sql = "SELECT d.dictLabel '状态', i.qty '库存' FROM (SELECT status ,SUM(qty) qty FROM inventoryHeader WHERE warehouseCode = " + ShiroUtils.getWarehouseCode() + " GROUP BY status) i INNER JOIN sys_dict_data d ON i.status= d.dictValue AND d.warehouseCode = ' " + ShiroUtils.getWarehouseCode()+"' ;"; | 76 | + String sql = "SELECT d.dictLabel '状态', i.qty '库存' FROM (SELECT inventorySts ,SUM(qty) qty FROM inventory_detail WHERE warehouseCode = '" + ShiroUtils.getWarehouseCode()+"' GROUP BY inventorySts) i INNER JOIN sys_dict_data d ON i.inventorySts= d.dictValue AND d.warehouseCode = '" + ShiroUtils.getWarehouseCode()+"' ;"; |
77 | List<LinkedHashMap<String, Object>> results = mapper.selectCommon(sql); | 77 | List<LinkedHashMap<String, Object>> results = mapper.selectCommon(sql); |
78 | for(LinkedHashMap<String, Object> item : results){ | 78 | for(LinkedHashMap<String, Object> item : results){ |
79 | ChartData chartData = new ChartData(); | 79 | ChartData chartData = new ChartData(); |
@@ -147,7 +147,7 @@ public class IndexController extends BaseController | @@ -147,7 +147,7 @@ public class IndexController extends BaseController | ||
147 | " union all\n" + | 147 | " union all\n" + |
148 | " SELECT date_sub(curdate(), interval 6 day) as click_date\n" + | 148 | " SELECT date_sub(curdate(), interval 6 day) as click_date\n" + |
149 | ") a left join (\n" + | 149 | ") a left join (\n" + |
150 | - "SELECT DATE(h.created) AS created , SUM(d.qty) AS taskQty from shipment_container_detail d join shipment_container_header h on d.shippingContainerId = h.id and h.warehouseCode='"+ShiroUtils.getWarehouseCode()+"' WHERE h.created >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND h.enable>19 GROUP BY DATE(h.created)\n" + | 150 | + "SELECT DATE(h.created) AS created , SUM(d.qty) AS taskQty from shipment_container_detail d join shipment_container_header h on d.shippingContainerId = h.id and h.warehouseCode='"+ShiroUtils.getWarehouseCode()+"' WHERE h.created >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND h.status=30 GROUP BY DATE(h.created)\n" + |
151 | ") b on a.click_date = b.created ORDER BY a.click_date;"; | 151 | ") b on a.click_date = b.created ORDER BY a.click_date;"; |
152 | List<LinkedHashMap<String, Object>> list = mapper.selectCommon(sql); | 152 | List<LinkedHashMap<String, Object>> list = mapper.selectCommon(sql); |
153 | 153 | ||
@@ -167,7 +167,7 @@ public class IndexController extends BaseController | @@ -167,7 +167,7 @@ public class IndexController extends BaseController | ||
167 | " union all\n" + | 167 | " union all\n" + |
168 | " SELECT date_sub(curdate(), interval 6 day) as click_date\n" + | 168 | " SELECT date_sub(curdate(), interval 6 day) as click_date\n" + |
169 | ") a left join (\n" + | 169 | ") a left join (\n" + |
170 | - "SELECT DATE(h.created) AS created , SUM(d.qty) AS taskQty from receipt_container_detail d join receipt_container_header h on d.headerId = h.id and h.warehouseCode="+ShiroUtils.getWarehouseCode()+" WHERE h.created >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND h.processStamp=20 GROUP BY DATE(h.created)\n" + | 170 | + "SELECT DATE(h.created) AS created , SUM(d.qty) AS taskQty from receipt_container_detail d join receipt_container_header h on d.receiptContainerId = h.id and h.warehouseCode='"+ShiroUtils.getWarehouseCode()+"' WHERE h.created >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND h.processStamp=20 GROUP BY DATE(h.created)\n" + |
171 | ") b on a.click_date = b.created ORDER BY a.click_date;"; | 171 | ") b on a.click_date = b.created ORDER BY a.click_date;"; |
172 | List<LinkedHashMap<String, Object>> list2 = mapper.selectCommon(sql); | 172 | List<LinkedHashMap<String, Object>> list2 = mapper.selectCommon(sql); |
173 | 173 | ||
@@ -211,7 +211,7 @@ public class IndexController extends BaseController | @@ -211,7 +211,7 @@ public class IndexController extends BaseController | ||
211 | @GetMapping("index/getInventoryProp") | 211 | @GetMapping("index/getInventoryProp") |
212 | @ResponseBody | 212 | @ResponseBody |
213 | public String getInventoryProp(){ | 213 | public String getInventoryProp(){ |
214 | - String sql = "SELECT m.`name`,sum(i.qty) as total from inventoryHeader i join material m on i.materialCode = m.`code` and i.warehouseId = m.warehouseId AND i.warehouseCode = "+ShiroUtils.getWarehouseCode()+" \n" + | 214 | + String sql = "SELECT m.`name`,sum(i.qty) as total from inventory_detail i join material m on i.materialCode = m.`code` and i.warehouseCode = m.warehouseCode AND i.warehouseCode = '"+ShiroUtils.getWarehouseCode()+"' \n" + |
215 | "GROUP BY m.`name` ORDER BY total desc;"; | 215 | "GROUP BY m.`name` ORDER BY total desc;"; |
216 | List<LinkedHashMap<String, Object>> results = mapper.selectCommon(sql); | 216 | List<LinkedHashMap<String, Object>> results = mapper.selectCommon(sql); |
217 | 217 |
src/main/resources/templates/main.html
@@ -112,18 +112,18 @@ | @@ -112,18 +112,18 @@ | ||
112 | var chart4 = echarts.init(document.getElementById('chart4')); | 112 | var chart4 = echarts.init(document.getElementById('chart4')); |
113 | 113 | ||
114 | function refresh() { | 114 | function refresh() { |
115 | - // $.get("../index/getShipmentsLast7Days").done(function (data) { | ||
116 | - // chart1.setOption(JSON.parse(data)); | ||
117 | - // }) | 115 | + $.get("../index/getShipmentsLast7Days").done(function (data) { |
116 | + chart1.setOption(JSON.parse(data)); | ||
117 | + }) | ||
118 | $.get("../index/getLocationProp").done(function (data) { | 118 | $.get("../index/getLocationProp").done(function (data) { |
119 | chart2.setOption(JSON.parse(data)); | 119 | chart2.setOption(JSON.parse(data)); |
120 | }); | 120 | }); |
121 | - // $.get("../index/getInventoryStatus").done(function (data) { | ||
122 | - // chart3.setOption(JSON.parse(data)); | ||
123 | - // }) | ||
124 | - // $.get("../index/getInventoryProp").done(function(data){ | ||
125 | - // chart4.setOption(JSON.parse(data)); | ||
126 | - // }); | 121 | + $.get("../index/getInventoryStatus").done(function (data) { |
122 | + chart3.setOption(JSON.parse(data)); | ||
123 | + }) | ||
124 | + $.get("../index/getInventoryProp").done(function(data){ | ||
125 | + chart4.setOption(JSON.parse(data)); | ||
126 | + }); | ||
127 | 127 | ||
128 | $.get("../index/getCommonData").done(function (data) { | 128 | $.get("../index/getCommonData").done(function (data) { |
129 | if(data.code==200){ | 129 | if(data.code==200){ |