Browse Source

送码入企功能

v5
庄锐波 6 months ago
parent
commit
d74c1be5d0
  1. 53
      lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnterprisePubQrcodeServiceImpl.java

53
lib/EmergencyService/zdxtLawEnforcementCodeService/src/main/java/com/zdxt/code/service/impl/EnterprisePubQrcodeServiceImpl.java

@ -42,11 +42,13 @@ import com.zdxt.code.mapper.EnterpriseInformationMapper;
import com.zdxt.code.service.ISsztJbxx110497Service;
import com.zdxt.code.service.IQrCodeGenerateHistoryService;
import com.zdxt.code.domain.QrCodeGenerateHistory;
import com.zdxt.auth.project.system.dict.service.IDictDataService;
import com.zdxt.common.config.RuoYiConfig;
import com.zdxt.common.util.Constants;
import com.zdxt.common.util.DateUtils;
import com.zdxt.common.util.StringUtils;
import com.zdxt.domain.auth.Dept;
import com.zdxt.domain.auth.DictData;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@ -93,6 +95,9 @@ public class EnterprisePubQrcodeServiceImpl implements IEnterprisePubQrcodeServi
@Autowired
private IDeptService deptService;
@Autowired
private IDictDataService iDictDataService;
@Autowired
private ISsztJbxx110497Service ssztJbxx110497Service;
@ -217,6 +222,19 @@ public class EnterprisePubQrcodeServiceImpl implements IEnterprisePubQrcodeServi
String importFileId = UUID.randomUUID().toString().replace("-", "");
String importFileName = file.getOriginalFilename();
// 预加载区域字典数据:select * from sys_dict_data where dict_type='address_type'
List<DictData> areaDictList = iDictDataService.selectDictDataByType("address_type");
// 预加载街道字典数据:select * from sys_dict_data where dict_type in (select dict_value from sys_dict_data where dict_type='address_type')
List<String> areaDictValues = new ArrayList<>();
for (DictData areaDict : areaDictList)
{
if (StrUtil.isNotBlank(areaDict.getDictValue()))
{
areaDictValues.add(areaDict.getDictValue());
}
}
List<DictData> streetDictList = areaDictValues.isEmpty() ? new ArrayList<>() : iDictDataService.getDataByDataTypes(areaDictValues);
for (int i = 0; i < dataList.size(); i++)
{
EnterprisePubQrcode item = dataList.get(i);
@ -242,40 +260,55 @@ public class EnterprisePubQrcodeServiceImpl implements IEnterprisePubQrcodeServi
errorMsg.append("第").append(rowNum).append("行,统一社会信用代码格式不正确(应为18位数字和大写字母组合);");
}
// 验证归属区域
// 验证归属区域(通过字典表 address_type 匹配)
if (StrUtil.isBlank(item.getAreaName()))
{
errorMsg.append("第").append(rowNum).append("行,归属区域不能为空;");
}
else
{
Dept areaDept=deptService.selectDeptByDeptName2(item.getAreaName().trim());
if (areaDept == null)
DictData matchedArea = null;
for (DictData dd : areaDictList)
{
if (item.getAreaName().trim().equals(dd.getDictLabel()))
{
matchedArea = dd;
break;
}
}
if (matchedArea == null)
{
errorMsg.append("第").append(rowNum).append("行,归属区域\"").append(item.getAreaName()).append("\"在系统中未找到;");
}
else
{
item.setAreaId(areaDept.getDeptId());
item.setAreaId(matchedArea.getDictValue());
}
}
// 验证归属街道
// 验证归属街道(通过字典表匹配,dict_type为区域的dict_value)
if (StrUtil.isBlank(item.getStreetName()))
{
errorMsg.append("第").append(rowNum).append("行,归属街道不能为空;");
}
else
{
List<Dept> deptList=deptService.selectDeptByDeptName(item.getStreetName().trim());
if (deptList == null || deptList.isEmpty())
DictData matchedStreet = null;
for (DictData dd : streetDictList)
{
if (item.getStreetName().trim().equals(dd.getDictLabel()))
{
matchedStreet = dd;
break;
}
}
if (matchedStreet == null)
{
errorMsg.append("第").append(rowNum).append("行,归属街道\"").append(item.getStreetName()).append("\"在系统中未找到;");
}
else
{
Dept streetDept = deptList.get(0);
item.setStreetId(streetDept.getDeptId());
item.setStreetId(matchedStreet.getDictValue());
}
}
@ -330,7 +363,7 @@ public class EnterprisePubQrcodeServiceImpl implements IEnterprisePubQrcodeServi
item.setUserName(currentUser.getUserName());
item.setUserId(currentUser.getUserId());
item.setCreateBy(currentUser.getUserName());
item.setDeptName(currentUser.getDeptName());
item.setDeptName(currentUser.getDept().getDeptName());
item.setDeptId(currentUser.getDeptId());
enterprisePubQrcodeMapper.insertEnterprisePubQrcode(item);
insertCount++;

Loading…
Cancel
Save