From 2916c4c250268482d8dd31aa9cc00b950f6b7cc9 Mon Sep 17 00:00:00 2001
From: jiaosong <jiaosong6760@dingtalk.com>
Date: 星期五, 25 八月 2023 17:32:37 +0800
Subject: [PATCH] # 企业端用户
---
server/src/main/java/doumeemes/service/business/impl/UnitServiceImpl.java | 6 ++-
server/src/main/java/doumeemes/api/ext/UnitExtController.java | 6 +-
server/src/main/java/doumeemes/service/business/impl/CompanyUserServiceImpl.java | 7 +++
server/src/main/resources/mappers/ProceduresExtMapper.xml | 2
server/src/main/java/doumeemes/service/business/impl/DeviceServiceImpl.java | 72 ++++++++++++++++++++++++++++-------
server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordExtServiceImpl.java | 2
server/src/main/java/doumeemes/service/business/CompanyUserService.java | 8 +++-
7 files changed, 78 insertions(+), 25 deletions(-)
diff --git a/server/src/main/java/doumeemes/api/ext/UnitExtController.java b/server/src/main/java/doumeemes/api/ext/UnitExtController.java
index 19a5176..0859f39 100644
--- a/server/src/main/java/doumeemes/api/ext/UnitExtController.java
+++ b/server/src/main/java/doumeemes/api/ext/UnitExtController.java
@@ -37,7 +37,7 @@
@Autowired
private UnitExtService unitExtService;
-
+
@Autowired
private UnitService unitService;
@@ -46,9 +46,9 @@
@PostMapping("/create")
@RequiresPermissions("ext:unitext:create")
public ApiResponse create(@RequestBody Unit unit) {
- Integer result=unitService.create(unit);
+ Integer result = unitService.create(unit);
if(result==0){
- return ApiResponse.failed("鍚屼竴鍗曚綅绫诲瀷涓嬪悕绉颁笉鑳介噸澶�");
+ return ApiResponse.failed("鍗曚綅鍚嶇О涓嶈兘閲嶅");
}else{
return ApiResponse.success(result);
}
diff --git a/server/src/main/java/doumeemes/service/business/CompanyUserService.java b/server/src/main/java/doumeemes/service/business/CompanyUserService.java
index eaaedc7..50e002b 100644
--- a/server/src/main/java/doumeemes/service/business/CompanyUserService.java
+++ b/server/src/main/java/doumeemes/service/business/CompanyUserService.java
@@ -1,5 +1,6 @@
package doumeemes.service.business;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import doumeemes.core.model.PageData;
import doumeemes.core.model.PageWrap;
import doumeemes.dao.business.model.CompanyUser;
@@ -16,7 +17,7 @@
/**
* 鍒涘缓
- *
+ *
* @param companyUser 瀹炰綋瀵硅薄
* @return Integer
*/
@@ -80,7 +81,10 @@
* @return List<CompanyUser>
*/
List<CompanyUser> findList(CompanyUser companyUser);
-
+
+
+ List<CompanyUser> findList(QueryWrapper<CompanyUser> wrapper);
+
/**
* 鍒嗛〉鏌ヨ
*
diff --git a/server/src/main/java/doumeemes/service/business/impl/CompanyUserServiceImpl.java b/server/src/main/java/doumeemes/service/business/impl/CompanyUserServiceImpl.java
index d04f82d..6706a00 100644
--- a/server/src/main/java/doumeemes/service/business/impl/CompanyUserServiceImpl.java
+++ b/server/src/main/java/doumeemes/service/business/impl/CompanyUserServiceImpl.java
@@ -94,7 +94,12 @@
QueryWrapper<CompanyUser> wrapper = new QueryWrapper<>(companyUser);
return companyUserMapper.selectList(wrapper);
}
-
+
+ @Override
+ public List<CompanyUser> findList(QueryWrapper<CompanyUser> wrapper) {
+ return companyUserMapper.selectList(wrapper);
+ }
+
@Override
public PageData<CompanyUser> findPage(PageWrap<CompanyUser> pageWrap) {
IPage<CompanyUser> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
diff --git a/server/src/main/java/doumeemes/service/business/impl/DeviceServiceImpl.java b/server/src/main/java/doumeemes/service/business/impl/DeviceServiceImpl.java
index dc253be..b2148a5 100644
--- a/server/src/main/java/doumeemes/service/business/impl/DeviceServiceImpl.java
+++ b/server/src/main/java/doumeemes/service/business/impl/DeviceServiceImpl.java
@@ -1,6 +1,7 @@
package doumeemes.service.business.impl;
import com.baomidou.mybatisplus.extension.api.R;
+import doumeemes.biz.system.SystemDictBiz;
import doumeemes.core.constants.ResponseStatus;
import doumeemes.core.exception.BusinessException;
import doumeemes.core.model.ApiResponse;
@@ -17,6 +18,8 @@
import doumeemes.dao.ext.dto.DeviceImportDTO;
import doumeemes.dao.ext.dto.QueryDeviceExtDTO;
import doumeemes.dao.ext.vo.DeviceExtListVO;
+import doumeemes.dao.system.SystemDictDataMapper;
+import doumeemes.dao.system.model.SystemDictData;
import doumeemes.service.business.DeviceService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -62,6 +65,13 @@
@Autowired
private WarehouseLocationMapper warehouseLocationMapper;
+
+ @Autowired
+ private WarehouseMapper warehouseMapper;
+
+
+ @Autowired
+ private SystemDictDataMapper systemDictDataMapper;
@Override
public Integer create(Device device) {
@@ -329,17 +339,41 @@
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"璁惧缂栫爜涓嶅瓨鍦�");
}
+
+
QueryWrapper<WarehouseLocation> warehouseLocationQuery = new QueryWrapper<>();
warehouseLocationQuery.lambda()
.eq(WarehouseLocation::getRootDepartId,department.getRootId())
- .in(WarehouseLocation::getUnionName
- ,Arrays.asList(s.getFinishWarehouseLocationName(),s.getProduceWarehouseLocationName()));
- if(Objects.equals(list.size(),2)){
- throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"搴撲綅淇℃伅宸插瓨鍦�");
- }
- List<WarehouseLocation> warehouseLocations = warehouseLocationMapper.selectList(warehouseLocationQuery);
+ .eq(WarehouseLocation::getUnionName
+ ,s.getProduceWarehouseLocationName()).last("limit 1");
- Map<String, WarehouseLocation> collect = warehouseLocations.stream().collect(Collectors.toMap(w -> w.getUnionName(), w -> w));
+ WarehouseLocation warehouseLocation = warehouseLocationMapper.selectOne(warehouseLocationQuery);
+
+ if (Objects.isNull(warehouseLocation)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"寰呯敓浜ц揣浣嶄笉瀛樺湪");
+ }
+
+ QueryWrapper<SystemDictData> systemDictDataQuery = new QueryWrapper<>();
+ systemDictDataQuery.lambda()
+ .eq(SystemDictData::getDictId,3)
+ .eq(SystemDictData::getCode,"娣峰悎");
+ SystemDictData systemDictData = systemDictDataMapper.selectOne(systemDictDataQuery);
+
+ warehouseLocationQuery.clear();
+ warehouseLocationQuery.lambda()
+ .eq(WarehouseLocation::getRootDepartId,department.getRootId())
+ .eq(WarehouseLocation::getSystemDicDataId,systemDictData.getId())
+ .eq(WarehouseLocation::getUnionName,s.getFinishWarehouseLocationName()).last("limit 1");
+
+ WarehouseLocation finishWarehouseLocations = warehouseLocationMapper.selectOne(warehouseLocationQuery);
+
+ if (Objects.isNull(finishWarehouseLocations)){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"宸插畬宸ヨ揣浣嶄笉瀛樺湪");
+ }
+
+ Map<String, WarehouseLocation> collect =new HashMap<>();
+ collect.put(warehouseLocation.getUnionName(),warehouseLocation);
+ collect.put(finishWarehouseLocations.getUnionName(),finishWarehouseLocations);
Device device = new Device();
device.setDeleted(Constants.ZERO);
@@ -348,8 +382,8 @@
device.setUpdateUser(user.getId());
device.setUpdateTime(new Date());
// device.setRemark();
- device.setRootDepartId(department.getRootId());
- device.setDepartId(procedures.getId());
+ device.setRootDepartId(user.getRootDepartment().getId());
+ device.setDepartId(user.getCurComDepartment().getId());
device.setProcedureId(procedures.getId());
device.setCode(StringUtils.isNotBlank(device.getCode()) ? device.getCode() : this.getNextCode(user.getCompany().getId()));
@@ -357,15 +391,23 @@
device.setName(s.getDeviceName());
device.setModel(s.getModel());
device.setStatus(Constants.ZERO);
-// device.setSupplier();
device.setStationCode(s.getStationCode());
-// device.setGroupId();
-// device.setSerialNum();
- device.setProduceWarehouseLocationId(Optional.ofNullable(collect.get(s.getProduceWarehouseLocationName())).map(m->m.getId()).orElse(null));
- device.setFinishWarehouseLocationId(Optional.ofNullable(collect.get(s.getFinishWarehouseLocationName())).map(m->m.getId()).orElse(null));
+ device.setProduceWarehouseLocationId(Optional.ofNullable(collect.get(s.getProduceWarehouseLocationName())).map(m->m.getId()).orElseThrow(null));
+ device.setFinishWarehouseLocationId(Optional.ofNullable(collect.get(s.getFinishWarehouseLocationName())).map(m->m.getId()).orElseThrow(null));
deviceMapper.insert(device);
if(StringUtils.isNotBlank(s.getUserIds())){
- this.dealDeviceUserId(Constants.ZERO,device.getUserIds().trim(),device.getId(),user);
+
+ QueryWrapper<CompanyUser> companyUserQuery = new QueryWrapper<>();
+
+ companyUserQuery.lambda()
+ .eq(CompanyUser::getComDepartId,user.getComDepartment().getId())
+ .in(CompanyUser::getPhone,Arrays.asList(s.getUserIds().split("[.,;锛宂")));
+ List<CompanyUser> list1 = companyUserService.findList(companyUserQuery);
+ if (!CollectionUtils.isEmpty(list1)){
+ List<String> collect1 = list1.stream().map(c -> c.getId().toString()).collect(Collectors.toList());
+ this.dealDeviceUserId(Constants.ZERO,StringUtils.join(collect1,","),device.getId(),user);
+ }
+
}
});
diff --git a/server/src/main/java/doumeemes/service/business/impl/UnitServiceImpl.java b/server/src/main/java/doumeemes/service/business/impl/UnitServiceImpl.java
index c8c6f48..bf5f49e 100644
--- a/server/src/main/java/doumeemes/service/business/impl/UnitServiceImpl.java
+++ b/server/src/main/java/doumeemes/service/business/impl/UnitServiceImpl.java
@@ -1,5 +1,7 @@
package doumeemes.service.business.impl;
+import doumeemes.core.constants.ResponseStatus;
+import doumeemes.core.exception.BusinessException;
import doumeemes.core.model.ApiResponse;
import doumeemes.core.model.LoginUserInfo;
import doumeemes.core.model.PageData;
@@ -50,7 +52,7 @@
find.setDeleted(Constants.ZERO);
find.setName(unit.getName());
if( this.count(find)>0){
- throw new RuntimeException("鍚屼竴鍗曚綅绫诲瀷涓嬪悕绉颁笉鑳介噸澶�");
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鍗曚綅鍚嶇О涓嶈兘閲嶅");
}else{
unitMapper.insert(unit);
}
@@ -163,7 +165,7 @@
QueryWrapper<Unit> wrapper = new QueryWrapper<>(unit);
return unitMapper.selectList(wrapper);
}
-
+
@Override
public PageData<Unit> findPage(PageWrap<Unit> pageWrap) {
IPage<Unit> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
diff --git a/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordExtServiceImpl.java b/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordExtServiceImpl.java
index a323db6..09bf3d7 100644
--- a/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordExtServiceImpl.java
+++ b/server/src/main/java/doumeemes/service/ext/impl/WorkorderRecordExtServiceImpl.java
@@ -1813,7 +1813,7 @@
wreev.setProcedureName(re.getProcedureName());
wreev.setUnintname(unintname);
if(re.getOmodel().getPlanNum() != null){
- wreev.setPlanNum(re.getOmodel().getPlanNum()+unintname );
+ wreev.setPlanNum(re.getOmodel().getPlanNum().toString() );
}
wreev.setMaterialDonetype(re.getMaterialDonetype());
wreev.setDeviceCode(re.getDeviceCode()+"|"+re.getDeviceName());
diff --git a/server/src/main/resources/mappers/ProceduresExtMapper.xml b/server/src/main/resources/mappers/ProceduresExtMapper.xml
index 46eb6d9..91d4744 100644
--- a/server/src/main/resources/mappers/ProceduresExtMapper.xml
+++ b/server/src/main/resources/mappers/ProceduresExtMapper.xml
@@ -562,7 +562,7 @@
dmodel.id as dmodelRouteProductId
FROM `procedures` `a`
LEFT JOIN route_procedure `dmodel` on dmodel.PROCEDURE_ID=a.id
- where dmodel.ROUTE_ID=#{routeId} and dmodel.DELETED=0 and `a`.`DELETED`=0
+ where dmodel.ROUTE_ID=#{routeId} and dmodel.DELETED=0 and `a`.`DELETED`=0 order by a.SORTNUM asc
</select>
--
Gitblit v1.9.3