This commit is contained in:
parent
bebe9ee876
commit
4ef78a3a49
|
|
@ -136,4 +136,13 @@ public class BackApplyDetails extends BaseEntity {
|
||||||
|
|
||||||
@ApiModelProperty(value = "签名类型")
|
@ApiModelProperty(value = "签名类型")
|
||||||
private int signType;
|
private int signType;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "协议id")
|
||||||
|
private Long agreementId;
|
||||||
|
|
||||||
|
// 是否存在于xmList
|
||||||
|
private Boolean isXmbUse = false;
|
||||||
|
|
||||||
|
// 是否存在于clzInfoList
|
||||||
|
private Boolean isClzUse = false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -524,4 +524,18 @@ public interface BackApplyInfoMapper {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<ExitPermit> getCodeList(ExitPermit bean);
|
List<ExitPermit> getCodeList(ExitPermit bean);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据是否存在于项目中
|
||||||
|
* @param applyInfo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<SltAgreementInfo> getXmList(BackApplyDetails applyInfo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据是否存在于材料项目中
|
||||||
|
* @param applyInfo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<SltAgreementInfo> getClzList(BackApplyDetails applyInfo);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -172,10 +172,8 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
|
||||||
|
|
||||||
// 3. 优化:只有在有编码设备时才查询类型树,减少不必要的复杂查询
|
// 3. 优化:只有在有编码设备时才查询类型树,减少不必要的复杂查询
|
||||||
Map<Long, BigDecimal> typeNumMap = new HashMap<>();
|
Map<Long, BigDecimal> typeNumMap = new HashMap<>();
|
||||||
if (hasCodedEquipment(backApplyDetailsList)) {
|
List<TypeTreeNode> listL4 = mapper.getUseTypeTreeL4(backApplyInfo);
|
||||||
List<TypeTreeNode> listL4 = mapper.getUseTypeTreeL4(backApplyInfo);
|
typeNumMap = buildTypeNumMappingSimple(listL4);
|
||||||
typeNumMap = buildTypeNumMappingSimple(listL4);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 4. 一次性查询所有附件信息
|
// 4. 一次性查询所有附件信息
|
||||||
Map<Long, List<BmFileInfo>> allFileInfoMap = fetchAllFileInfosOptimized(id);
|
Map<Long, List<BmFileInfo>> allFileInfoMap = fetchAllFileInfosOptimized(id);
|
||||||
|
|
@ -325,10 +323,8 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
|
||||||
|
|
||||||
// 3. 优化:只有在有编码设备时才查询类型树,减少不必要的复杂查询
|
// 3. 优化:只有在有编码设备时才查询类型树,减少不必要的复杂查询
|
||||||
Map<Long, BigDecimal> typeNumMap = new HashMap<>();
|
Map<Long, BigDecimal> typeNumMap = new HashMap<>();
|
||||||
if (hasCodedEquipment(backApplyDetailsList)) {
|
List<TypeTreeNode> listL4 = mapper.getUseTypeTreeL4(backApplyInfo);
|
||||||
List<TypeTreeNode> listL4 = mapper.getUseTypeTreeL4(backApplyInfo);
|
typeNumMap = buildTypeNumMappingSimple(listL4);
|
||||||
typeNumMap = buildTypeNumMappingSimple(listL4);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 4. 一次性查询所有附件信息
|
// 4. 一次性查询所有附件信息
|
||||||
Map<Long, List<BmFileInfo>> allFileInfoMap = fetchAllFileInfosOptimized(id);
|
Map<Long, List<BmFileInfo>> allFileInfoMap = fetchAllFileInfosOptimized(id);
|
||||||
|
|
@ -1046,21 +1042,18 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
|
||||||
result += deleteFileInfoForDetails(backApplyDetailsList, id);
|
result += deleteFileInfoForDetails(backApplyDetailsList, id);
|
||||||
// 删除编码设备附件
|
// 删除编码设备附件
|
||||||
result += deleteFileInfoForMaCodes(maCodeList, id);
|
result += deleteFileInfoForMaCodes(maCodeList, id);
|
||||||
if (result > 0) {
|
//执行新增操作
|
||||||
//执行新增操作
|
BackApplyInfo info = dto.getBackApplyInfo();
|
||||||
BackApplyInfo info = dto.getBackApplyInfo();
|
info.setUpdateTime(DateUtils.getNowDate());
|
||||||
info.setUpdateTime(DateUtils.getNowDate());
|
info.setUpdateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
||||||
info.setUpdateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
info.setCode(backApplyInfo.getCode());
|
||||||
info.setCode(backApplyInfo.getCode());
|
result += backApplyInfoMapper.updateBackApplyInfo(info);
|
||||||
result += backApplyInfoMapper.updateBackApplyInfo(info);
|
// 保存退料详情
|
||||||
// 保存退料详情
|
result = saveBackApplyDetails(dto, info, result);
|
||||||
result = saveBackApplyDetails(dto, info, result);
|
|
||||||
return AjaxResult.success(result);
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new ServiceException("修改失败,请联系管理员");
|
throw new ServiceException("修改失败,请联系管理员");
|
||||||
}
|
}
|
||||||
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
|
return AjaxResult.success(HttpCodeEnum.SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -1341,13 +1334,13 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
|
||||||
* @param allList
|
* @param allList
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private int updateSlt4BeanClz(MaterialBackApplyInfo record, List<BackApplyInfo> allList) {
|
private int updateSlt4BeanClz(MaterialBackApplyInfo record, List<BackApplyInfo> allList, Long agreementId) {
|
||||||
for (BackApplyInfo bean : allList) {
|
for (BackApplyInfo bean : allList) {
|
||||||
MaterialBackApplyInfo materialBackApplyInfo = new MaterialBackApplyInfo();
|
MaterialBackApplyInfo materialBackApplyInfo = new MaterialBackApplyInfo();
|
||||||
materialBackApplyInfo.setAgreementId(bean.getAgreementId());
|
materialBackApplyInfo.setAgreementId(agreementId);
|
||||||
materialBackApplyInfo.setTypeId(bean.getTypeId());
|
materialBackApplyInfo.setTypeId(bean.getTypeId());
|
||||||
materialBackApplyInfo.setMaId(bean.getMaId() != null ? bean.getMaId() : null);
|
materialBackApplyInfo.setMaId(bean.getMaId() != null ? bean.getMaId() : null);
|
||||||
List<SltAgreementInfo> infoList = materialBackInfoMapper.getStlInfo(materialBackApplyInfo);
|
List<SltAgreementInfo> infoList = materialBackInfoMapper.getClzInfo(materialBackApplyInfo);
|
||||||
if (infoList.size() > 0) {
|
if (infoList.size() > 0) {
|
||||||
BigDecimal backNum = bean.getBackNum();
|
BigDecimal backNum = bean.getBackNum();
|
||||||
for (SltAgreementInfo info : infoList) {
|
for (SltAgreementInfo info : infoList) {
|
||||||
|
|
@ -1361,12 +1354,11 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
|
||||||
} else {
|
} else {
|
||||||
BigDecimal many = num.subtract(backNum);
|
BigDecimal many = num.subtract(backNum);
|
||||||
materialBackInfoMapper.updateStlInfoTwo(info, record, backNum);
|
materialBackInfoMapper.updateStlInfoTwo(info, record, backNum);
|
||||||
|
info.setSource("2");
|
||||||
materialBackInfoMapper.insStlInfoTwo(info, many);
|
materialBackInfoMapper.insStlInfoTwo(info, many);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
|
|
@ -2316,10 +2308,11 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 把后续流程设置为项目部的协议进行处理
|
// 把后续流程设置为项目部的协议进行处理
|
||||||
|
SelectDto dto = new SelectDto();
|
||||||
|
dto.setProjectId(backApplyInfo.getProId().toString()).setUnitId(Math.toIntExact(backApplyInfo.getUnitId()));
|
||||||
backApplyInfo.setAgreementId(leaseOutDetail.getProjectUnitAgreementId());
|
backApplyInfo.setAgreementId(leaseOutDetail.getProjectUnitAgreementId());
|
||||||
backApplyInfo.setUnitId(leaseOutDetail.getProjectUnitAgreementId());
|
backApplyInfo.setUnitId(leaseOutDetail.getProjectUnitAgreementId());
|
||||||
SelectDto dto = new SelectDto();
|
|
||||||
dto.setProId(backApplyInfo.getProId()).setUnitId(Math.toIntExact(backApplyInfo.getUnitId()));
|
|
||||||
List<AgreementVo> list = mapper.getAgreementInfoByIdBack(dto);
|
List<AgreementVo> list = mapper.getAgreementInfoByIdBack(dto);
|
||||||
|
|
||||||
List<BackApplyInfo> codeList = new ArrayList<>();
|
List<BackApplyInfo> codeList = new ArrayList<>();
|
||||||
|
|
@ -2330,9 +2323,9 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
|
||||||
for (BackApplyInfo applyInfo : applyInfoList) {
|
for (BackApplyInfo applyInfo : applyInfoList) {
|
||||||
// 根据maId查询设备是否处于在用状态(需要同时查询机具和材料站)
|
// 根据maId查询设备是否处于在用状态(需要同时查询机具和材料站)
|
||||||
if (applyInfo.getMaId() != null) {
|
if (applyInfo.getMaId() != null) {
|
||||||
//List<SltAgreementInfo> infoList = backApplyInfoMapper.getUserList(applyInfo);
|
List<SltAgreementInfo> infoList = backApplyInfoMapper.getUserList(applyInfo);
|
||||||
List<SltAgreementInfo> clzList = backApplyInfoMapper.getClzUserList(applyInfo);
|
List<SltAgreementInfo> clzList = backApplyInfoMapper.getClzUserList(applyInfo);
|
||||||
if (CollectionUtils.isEmpty(clzList)) {
|
if (CollectionUtils.isEmpty(infoList) && CollectionUtils.isEmpty(clzList)) {
|
||||||
codeList.add(applyInfo);
|
codeList.add(applyInfo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2358,6 +2351,32 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
|
||||||
if (CollectionUtils.isEmpty(applyDetails)) {
|
if (CollectionUtils.isEmpty(applyDetails)) {
|
||||||
return AjaxResult.error("退料物资为空,无法进行提交");
|
return AjaxResult.error("退料物资为空,无法进行提交");
|
||||||
}
|
}
|
||||||
|
for (BackApplyDetails applyDetail : applyDetails) {
|
||||||
|
// 根据项目部及材料站协议查询退料设备是否存在于其中,若不存在,则不用进行退料
|
||||||
|
applyDetail.setAgreementId(leaseOutDetail.getProjectUnitAgreementId());
|
||||||
|
List<SltAgreementInfo> xmList = backApplyInfoMapper.getXmList(applyDetail);
|
||||||
|
if (!CollectionUtils.isEmpty(xmList)) {
|
||||||
|
applyDetail.setIsXmbUse(true);
|
||||||
|
}
|
||||||
|
if (CollectionUtils.isNotEmpty(list)) {
|
||||||
|
applyDetail.setAgreementId(Long.valueOf(list.get(0).getAgreementId()));
|
||||||
|
List<SltAgreementInfo> clzInfoList = backApplyInfoMapper.getClzList(applyDetail);
|
||||||
|
if (!CollectionUtils.isEmpty(clzInfoList)) {
|
||||||
|
applyDetail.setIsClzUse(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 项目部使用
|
||||||
|
boolean isXmbUse = false;
|
||||||
|
// 材料站使用
|
||||||
|
boolean isClzUse = false;
|
||||||
|
// 示例:统计全局是否有至少一条数据满足xmList
|
||||||
|
isXmbUse = applyDetails.stream()
|
||||||
|
.anyMatch(BackApplyDetails::getIsXmbUse);
|
||||||
|
|
||||||
|
// 示例:统计全局是否有至少一条数据满足clzInfoList
|
||||||
|
isClzUse = applyDetails.stream()
|
||||||
|
.anyMatch(BackApplyDetails::getIsClzUse);
|
||||||
// 设置更新信息,
|
// 设置更新信息,
|
||||||
backApplyInfo.setUpdateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
backApplyInfo.setUpdateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
||||||
backApplyInfo.setUpdateTime(DateUtils.getNowDate());
|
backApplyInfo.setUpdateTime(DateUtils.getNowDate());
|
||||||
|
|
@ -2380,52 +2399,55 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
|
||||||
result += insertTeamTta(newTaskId, leaseOutDetail.getProjectUnitAgreementId());
|
result += insertTeamTta(newTaskId, leaseOutDetail.getProjectUnitAgreementId());
|
||||||
|
|
||||||
// -----------------给材料站新建退料任务,处理数据开始✅ ----------------
|
// -----------------给材料站新建退料任务,处理数据开始✅ ----------------
|
||||||
MaterialBackApplyInfo materialBackApplyInfo = new MaterialBackApplyInfo();
|
BackApplyInfo backApplyInfo4 = new BackApplyInfo();
|
||||||
|
MaterialBackApplyInfo materialBackApplyInfo = new MaterialBackApplyInfo();
|
||||||
BmAgreementInfo bmAgreementInfo = new BmAgreementInfo();
|
BmAgreementInfo bmAgreementInfo = new BmAgreementInfo();
|
||||||
bmAgreementInfo.setUnitId(teamUnitId);
|
bmAgreementInfo.setUnitId(teamUnitId);
|
||||||
bmAgreementInfo.setProjectId(backApplyInfo.getProId());
|
bmAgreementInfo.setProjectId(backApplyInfo.getProId());
|
||||||
BmAgreementInfo info = bmAgreementInfoMapper.queryByTeamIdAndProjectIdCl(bmAgreementInfo);
|
BmAgreementInfo info = bmAgreementInfoMapper.queryByTeamIdAndProjectIdCl(bmAgreementInfo);
|
||||||
BackApplyInfo backApplyInfo4 = new BackApplyInfo();
|
if (isClzUse) {
|
||||||
|
int thisMonthMaxOrder = taskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_MATERIAL_BACK.getTaskTypeId());
|
||||||
int thisMonthMaxOrder = taskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_MATERIAL_BACK.getTaskTypeId());
|
String code = genderClzTaskCode(thisMonthMaxOrder);
|
||||||
String code = genderClzTaskCode(thisMonthMaxOrder);
|
TmTask tmTask = new TmTask(null, TmTaskTypeEnum.TM_TASK_MATERIAL_BACK.getTaskTypeId(),
|
||||||
TmTask tmTask = new TmTask(null, TmTaskTypeEnum.TM_TASK_MATERIAL_BACK.getTaskTypeId(),
|
BackTaskStatusEnum.BACK_TASK_IN_FINISHED.getStatus(), null, thisMonthMaxOrder + 1, code);
|
||||||
BackTaskStatusEnum.BACK_TASK_IN_FINISHED.getStatus(), null, thisMonthMaxOrder + 1, code);
|
tmTask.setCreateTime(DateUtils.getNowDate());
|
||||||
tmTask.setCreateTime(DateUtils.getNowDate());
|
String createBy = SecurityUtils.getLoginUser().getSysUser().getNickName();
|
||||||
String createBy = SecurityUtils.getLoginUser().getSysUser().getNickName();
|
tmTask.setCreateBy(createBy);
|
||||||
tmTask.setCreateBy(createBy);
|
materialBackApplyInfo.setCode(code);
|
||||||
materialBackApplyInfo.setCode(code);
|
materialBackApplyInfo.setCreateBy(createBy);
|
||||||
materialBackApplyInfo.setCreateBy(createBy);
|
materialBackApplyInfo.setCreateTime(DateUtils.getNowDate());
|
||||||
materialBackApplyInfo.setCreateTime(DateUtils.getNowDate());
|
// 保存退料信息到 tm_task 表中
|
||||||
// 保存退料信息到 tm_task 表中
|
result += taskMapper.insertTmTask(tmTask);
|
||||||
result += taskMapper.insertTmTask(tmTask);
|
if (result > 0) {
|
||||||
if (result > 0) {
|
TmTaskAgreement tmTaskAgreement = new TmTaskAgreement(tmTask.getTaskId(), info.getAgreementId());
|
||||||
TmTaskAgreement tmTaskAgreement = new TmTaskAgreement(tmTask.getTaskId(), info.getAgreementId());
|
tmTaskAgreement.setCreateTime(DateUtils.getNowDate());
|
||||||
tmTaskAgreement.setCreateTime(DateUtils.getNowDate());
|
tmTaskAgreement.setCreateBy(createBy);
|
||||||
tmTaskAgreement.setCreateBy(createBy);
|
taskAgreementMapper.insertTmTaskAgreement(tmTaskAgreement);
|
||||||
taskAgreementMapper.insertTmTaskAgreement(tmTaskAgreement);
|
materialBackApplyInfo.setTaskId(tmTask.getTaskId());
|
||||||
materialBackApplyInfo.setTaskId(tmTask.getTaskId());
|
materialBackApplyInfo.setBackStyle("2");
|
||||||
materialBackApplyInfo.setBackStyle("2");
|
materialBackApplyInfo.setStatus("2");
|
||||||
materialBackApplyInfo.setStatus("2");
|
BackApplyInfo backApplyInfo1 = backApplyInfoMapper.selectBackApplyInfoById(backApplyInfo.getId());
|
||||||
BackApplyInfo backApplyInfo1 = backApplyInfoMapper.selectBackApplyInfoById(backApplyInfo.getId());
|
if (backApplyInfo1 != null) {
|
||||||
if (backApplyInfo1 != null) {
|
materialBackApplyInfo.setBackPerson(StringUtils.isNotBlank(backApplyInfo1.getBackPerson()) ? backApplyInfo1.getBackPerson() : "");
|
||||||
materialBackApplyInfo.setBackPerson(StringUtils.isNotBlank(backApplyInfo1.getBackPerson()) ? backApplyInfo1.getBackPerson() : "");
|
materialBackApplyInfo.setPhone(StringUtils.isNotBlank(backApplyInfo1.getPhone()) ? backApplyInfo1.getPhone() : "");
|
||||||
materialBackApplyInfo.setPhone(StringUtils.isNotBlank(backApplyInfo1.getPhone()) ? backApplyInfo1.getPhone() : "");
|
}
|
||||||
}
|
result += materialBackInfoMapper.insertBackApplyInfo(materialBackApplyInfo);
|
||||||
result += materialBackInfoMapper.insertBackApplyInfo(materialBackApplyInfo);
|
if (CollectionUtils.isNotEmpty(applyDetails)) {
|
||||||
if (CollectionUtils.isNotEmpty(applyDetails)) {
|
for (BackApplyDetails applyInfo : applyDetails) {
|
||||||
for (BackApplyDetails applyInfo : applyDetails) {
|
MaterialBackApplyDetails details = new MaterialBackApplyDetails();
|
||||||
MaterialBackApplyDetails details = new MaterialBackApplyDetails();
|
details.setCode(code);
|
||||||
details.setCode(code);
|
details.setParentId(materialBackApplyInfo.getId());
|
||||||
details.setParentId(materialBackApplyInfo.getId());
|
details.setPreNum(applyInfo.getPreNum());
|
||||||
details.setPreNum(applyInfo.getPreNum());
|
details.setAuditNum(applyInfo.getPreNum());
|
||||||
details.setAuditNum(applyInfo.getPreNum());
|
details.setStatus(String.valueOf(BackTaskStatusEnum.BACK_TASK_NO_FINISHED.getStatus()));
|
||||||
details.setStatus(String.valueOf(BackTaskStatusEnum.BACK_TASK_NO_FINISHED.getStatus()));
|
details.setCreateBy(createBy);
|
||||||
details.setCreateBy(createBy);
|
details.setCreateTime(DateUtils.getNowDate());
|
||||||
details.setCreateTime(DateUtils.getNowDate());
|
details.setTypeId(applyInfo.getTypeId());
|
||||||
details.setTypeId(applyInfo.getTypeId());
|
// 保存退料详情
|
||||||
// 保存退料详情
|
if (applyInfo.getIsClzUse()) {
|
||||||
result += materialBackInfoMapper.insertBackApplyDetails(details);
|
result += materialBackInfoMapper.insertBackApplyDetails(details);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -2433,43 +2455,49 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
|
||||||
|
|
||||||
|
|
||||||
// 材料站对分公司建立退料任务
|
// 材料站对分公司建立退料任务
|
||||||
int backMonthMaxOrder = taskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_BACK.getTaskTypeId());
|
if (isXmbUse) {
|
||||||
String backCode = genderTaskCode(backMonthMaxOrder);
|
int backMonthMaxOrder = taskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_BACK.getTaskTypeId());
|
||||||
TmTask newTask = new TmTask(null, TmTaskTypeEnum.TM_TASK_BACK.getTaskTypeId(),
|
String backCode = genderTaskCode(backMonthMaxOrder);
|
||||||
BackTaskStatusEnum.BACK_TASK_IN_FINISHED.getStatus(),
|
TmTask newTask = new TmTask(null, TmTaskTypeEnum.TM_TASK_BACK.getTaskTypeId(),
|
||||||
null, backMonthMaxOrder + 1, backCode);
|
BackTaskStatusEnum.BACK_TASK_IN_FINISHED.getStatus(),
|
||||||
newTask.setCreateTime(DateUtils.getNowDate());
|
null, backMonthMaxOrder + 1, backCode);
|
||||||
newTask.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
newTask.setCreateTime(DateUtils.getNowDate());
|
||||||
backApplyInfo4.setCode(backCode);
|
newTask.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
||||||
backApplyInfo4.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
backApplyInfo4.setCode(backCode);
|
||||||
backApplyInfo4.setCreateTime(DateUtils.getNowDate());
|
backApplyInfo4.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
||||||
// 保存退料信息到 tm_task 表中
|
backApplyInfo4.setCreateTime(DateUtils.getNowDate());
|
||||||
result += taskMapper.insertTmTask(newTask);
|
// 保存退料信息到 tm_task 表中
|
||||||
if (result > 0) {
|
result += taskMapper.insertTmTask(newTask);
|
||||||
// 根据单位和工程id查询项目部关联协议id
|
if (result > 0) {
|
||||||
BackApplyInfo backApplyInfo3 = backApplyInfoMapper.selectInfo(backApplyInfo);
|
// 根据单位和工程id查询项目部关联协议id
|
||||||
if (backApplyInfo3 != null) {
|
BackApplyInfo backApplyInfo3 = backApplyInfoMapper.selectInfo(backApplyInfo);
|
||||||
// 给项目部处理的时候要使用挂靠的项目部协议ID
|
if (backApplyInfo3 != null) {
|
||||||
TmTaskAgreement tmTaskAgreement = new TmTaskAgreement(newTask.getTaskId(), leaseOutDetail.getAgreementId());
|
// 给项目部处理的时候要使用挂靠的项目部协议ID
|
||||||
tmTaskAgreement.setCreateTime(DateUtils.getNowDate());
|
TmTaskAgreement tmTaskAgreement = new TmTaskAgreement(newTask.getTaskId(), leaseOutDetail.getAgreementId());
|
||||||
tmTaskAgreement.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
tmTaskAgreement.setCreateTime(DateUtils.getNowDate());
|
||||||
taskAgreementMapper.insertTmTaskAgreement(tmTaskAgreement);
|
tmTaskAgreement.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
||||||
|
taskAgreementMapper.insertTmTaskAgreement(tmTaskAgreement);
|
||||||
|
}
|
||||||
|
backApplyInfo4.setTaskId(newTask.getTaskId());
|
||||||
|
BackApplyInfo backApplyInfo2 = backApplyInfoMapper.selectBackApplyInfoById(backApplyInfo.getId());
|
||||||
|
if (backApplyInfo2 != null) {
|
||||||
|
backApplyInfo4.setBackPerson(StringUtils.isNotBlank(backApplyInfo2.getBackPerson()) ? backApplyInfo2.getBackPerson() : "");
|
||||||
|
backApplyInfo4.setPhone(StringUtils.isNotBlank(backApplyInfo2.getPhone()) ? backApplyInfo2.getPhone() : "");
|
||||||
|
backApplyInfo4.setBackStyle("2");
|
||||||
|
}
|
||||||
|
result += backApplyInfoMapper.insertBackApplyInfo(backApplyInfo4);
|
||||||
}
|
}
|
||||||
backApplyInfo4.setTaskId(newTask.getTaskId());
|
// 保存退料详情
|
||||||
BackApplyInfo backApplyInfo2 = backApplyInfoMapper.selectBackApplyInfoById(backApplyInfo.getId());
|
if (CollectionUtils.isNotEmpty(applyDetails)) {
|
||||||
if (backApplyInfo2 != null) {
|
for (BackApplyDetails applyDetail : applyDetails) {
|
||||||
backApplyInfo4.setBackPerson(StringUtils.isNotBlank(backApplyInfo2.getBackPerson()) ? backApplyInfo2.getBackPerson() : "");
|
// 保存退料详情
|
||||||
backApplyInfo4.setPhone(StringUtils.isNotBlank(backApplyInfo2.getPhone()) ? backApplyInfo2.getPhone() : "");
|
applyDetail.setAuditNum(applyDetail.getPreNum());
|
||||||
backApplyInfo4.setBackStyle("2");
|
applyDetail.setParentId(backApplyInfo4.getId());
|
||||||
}
|
applyDetail.setCode(backCode);
|
||||||
result += backApplyInfoMapper.insertBackApplyInfo(backApplyInfo4);
|
if (applyDetail.getIsXmbUse()) {
|
||||||
}
|
result += backApplyInfoMapper.insertBackApplyDetails(applyDetail);
|
||||||
// 保存退料详情
|
}
|
||||||
if (CollectionUtils.isNotEmpty(applyDetails)) {
|
}
|
||||||
for (BackApplyDetails applyDetail : applyDetails) {
|
|
||||||
// 保存退料详情
|
|
||||||
applyDetail.setAuditNum(applyDetail.getPreNum());
|
|
||||||
result += backApplyInfoMapper.insertBackApplyDetails(applyDetail);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (String typeId : typeIdList) {
|
for (String typeId : typeIdList) {
|
||||||
|
|
@ -2483,42 +2511,48 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
|
||||||
List<BackApplyInfo> allList = backApplyInfoMapper.selectBackDetails(backApplyInfo);
|
List<BackApplyInfo> allList = backApplyInfoMapper.selectBackDetails(backApplyInfo);
|
||||||
if (CollectionUtils.isNotEmpty(allList)) {
|
if (CollectionUtils.isNotEmpty(allList)) {
|
||||||
// 更新结算协议✍️表
|
// 更新结算协议✍️表
|
||||||
int res = updateBzSlt4Bean(backApplyInfo, allList);
|
int res = updateBzSlt4Bean(backApplyInfo,backApplyInfo4, allList);
|
||||||
// 检查机具是否领料
|
// 检查机具是否领料
|
||||||
if (res == 0) { throw new RuntimeException("该机具未被领料使用");}
|
if (res == 0) { throw new RuntimeException("该机具未被领料使用");}
|
||||||
|
|
||||||
List<BackApplyInfo> clzList = new ArrayList<>();
|
List<BackApplyInfo> clzList = new ArrayList<>();
|
||||||
List<BackApplyInfo> xmList = new ArrayList<>();
|
if (isXmbUse) {
|
||||||
for (BackApplyInfo applyInfo : allList) {
|
for (BackApplyInfo applyInfo : allList) {
|
||||||
applyInfo.setAgreementId(info.getAgreementId());
|
BackApplyDetails backApplyDetails = new BackApplyDetails();
|
||||||
MaterialBackApplyDetails details = new MaterialBackApplyDetails();
|
backApplyDetails.setParentId(backApplyInfo4.getId());
|
||||||
details.setParentId(materialBackApplyInfo.getId());
|
backApplyDetails.setTypeId(Long.parseLong(typeId));
|
||||||
details.setTypeId(Long.parseLong(typeId));
|
backApplyDetails.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
||||||
details.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
backApplyDetails.setCreateTime(DateUtils.getNowDate());
|
||||||
details.setCreateTime(DateUtils.getNowDate());
|
backApplyDetails.setPreNum(applyInfo.getBackNum());
|
||||||
details.setPreNum(applyInfo.getBackNum());
|
backApplyDetails.setMaId(applyInfo.getMaId() != null ? applyInfo.getMaId() : null);
|
||||||
details.setStatus("0");
|
backApplyDetails.setStatus("0");
|
||||||
details.setMaId(applyInfo.getMaId() != null ? applyInfo.getMaId() : null);
|
backApplyDetails.setIsFinished(1);
|
||||||
details.setIsFinished(1);
|
result += backApplyInfoMapper.insertCheckDetails(backApplyDetails);
|
||||||
result += materialBackInfoMapper.insertCheckDetails(details);
|
}
|
||||||
|
}
|
||||||
// 查询材料站同步数据
|
if (isClzUse) {
|
||||||
clzList = backApplyInfoMapper.selectClzList(details);
|
for (BackApplyInfo applyInfo : allList) {
|
||||||
BackApplyDetails backApplyDetails = new BackApplyDetails();
|
applyInfo.setAgreementId(info.getAgreementId());
|
||||||
backApplyDetails.setParentId(backApplyInfo4.getId());
|
MaterialBackApplyDetails details = new MaterialBackApplyDetails();
|
||||||
backApplyDetails.setTypeId(Long.parseLong(typeId));
|
details.setParentId(materialBackApplyInfo.getId());
|
||||||
backApplyDetails.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
details.setTypeId(Long.parseLong(typeId));
|
||||||
backApplyDetails.setCreateTime(DateUtils.getNowDate());
|
details.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
|
||||||
backApplyDetails.setPreNum(applyInfo.getBackNum());
|
details.setCreateTime(DateUtils.getNowDate());
|
||||||
backApplyDetails.setMaId(applyInfo.getMaId() != null ? applyInfo.getMaId() : null);
|
details.setPreNum(applyInfo.getBackNum());
|
||||||
backApplyDetails.setStatus("0");
|
details.setStatus("0");
|
||||||
backApplyDetails.setIsFinished(1);
|
details.setMaId(applyInfo.getMaId() != null ? applyInfo.getMaId() : null);
|
||||||
result += backApplyInfoMapper.insertCheckDetails(backApplyDetails);
|
details.setIsFinished(1);
|
||||||
// 查询项目部同步数据
|
result += materialBackInfoMapper.insertCheckDetails(details);
|
||||||
//xmList = backApplyInfoMapper.selectXmList(backApplyDetails);
|
// 查询材料站同步数据
|
||||||
|
clzList = backApplyInfoMapper.selectClzList(details);
|
||||||
|
// 查询项目部同步数据
|
||||||
|
//xmList = backApplyInfoMapper.selectXmList(backApplyDetails);
|
||||||
|
}
|
||||||
|
res = updateSlt4BeanClz(materialBackApplyInfo, clzList, info.getAgreementId());
|
||||||
|
if (res == 0) {
|
||||||
|
throw new RuntimeException("同步材料站结算出错");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
res = updateSlt4BeanClz(materialBackApplyInfo, clzList);
|
|
||||||
if (res == 0) { throw new RuntimeException("同步材料站结算出错");}
|
|
||||||
/*res = updateSlt4BeanXm(backApplyInfo4, xmList);
|
/*res = updateSlt4BeanXm(backApplyInfo4, xmList);
|
||||||
if (res == 0) {
|
if (res == 0) {
|
||||||
throw new RuntimeException("同步项目部结算出错");
|
throw new RuntimeException("同步项目部结算出错");
|
||||||
|
|
@ -2526,6 +2560,7 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
|
||||||
}
|
}
|
||||||
// 完成退料部分,更新 back_check_details
|
// 完成退料部分,更新 back_check_details
|
||||||
finishBackCheckDetails(backApplyInfo);
|
finishBackCheckDetails(backApplyInfo);
|
||||||
|
backApplyInfoMapper.updateCheckDetails(backApplyInfo4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 如果所有操作都成功
|
// 如果所有操作都成功
|
||||||
|
|
@ -2582,7 +2617,7 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
|
||||||
* @param allList
|
* @param allList
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private int updateBzSlt4Bean(BackApplyInfo record, List<BackApplyInfo> allList) {
|
private int updateBzSlt4Bean(BackApplyInfo record, BackApplyInfo backApplyInfo4, List<BackApplyInfo> allList) {
|
||||||
for (BackApplyInfo bean : allList) {
|
for (BackApplyInfo bean : allList) {
|
||||||
List<SltAgreementInfo> infoList = backApplyInfoMapper.getStlInfo(bean);
|
List<SltAgreementInfo> infoList = backApplyInfoMapper.getStlInfo(bean);
|
||||||
if (CollectionUtils.isEmpty(infoList)) {
|
if (CollectionUtils.isEmpty(infoList)) {
|
||||||
|
|
@ -2620,18 +2655,21 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
|
||||||
// 非班组退料才同步班组分公司数据
|
// 非班组退料才同步班组分公司数据
|
||||||
BigDecimal tbBackNum = bean.getBackNum();
|
BigDecimal tbBackNum = bean.getBackNum();
|
||||||
if (CollectionUtils.isNotEmpty(tbList)) {
|
if (CollectionUtils.isNotEmpty(tbList)) {
|
||||||
|
BackApplyInfo backApplyInfo = new BackApplyInfo();
|
||||||
|
backApplyInfo.setId(backApplyInfo4.getId());
|
||||||
for (SltAgreementInfo info : tbList) {
|
for (SltAgreementInfo info : tbList) {
|
||||||
// 获取前端要退数量
|
// 获取前端要退数量
|
||||||
BigDecimal num = info.getBackNum();
|
BigDecimal num = info.getBackNum();
|
||||||
if (tbBackNum.compareTo(num) == 0) {
|
if (tbBackNum.compareTo(num) == 0) {
|
||||||
backApplyInfoMapper.updateStlInfo(info, record);
|
backApplyInfoMapper.updateStlInfo(info, backApplyInfo);
|
||||||
break;
|
break;
|
||||||
} else if (tbBackNum.compareTo(num) > 0) {
|
} else if (tbBackNum.compareTo(num) > 0) {
|
||||||
tbBackNum = tbBackNum.subtract(num);
|
tbBackNum = tbBackNum.subtract(num);
|
||||||
backApplyInfoMapper.updateStlInfo(info, record);
|
backApplyInfoMapper.updateStlInfo(info, backApplyInfo);
|
||||||
} else {
|
} else {
|
||||||
BigDecimal many = num.subtract(tbBackNum);
|
BigDecimal many = num.subtract(tbBackNum);
|
||||||
backApplyInfoMapper.updateStlInfoTwo(info, record, tbBackNum);
|
backApplyInfoMapper.updateStlInfoTwo(info, backApplyInfo, tbBackNum);
|
||||||
|
info.setSource("2");
|
||||||
backApplyInfoMapper.insStlInfoTwo(info, many);
|
backApplyInfoMapper.insStlInfoTwo(info, many);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -268,4 +268,11 @@ public interface MaterialBackInfoMapper {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<LeaseOutSign> getLeaseOutSignList(MaterialBackApplyInfo backApplyInfo);
|
List<LeaseOutSign> getLeaseOutSignList(MaterialBackApplyInfo backApplyInfo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取材料站同步数据
|
||||||
|
* @param materialBackApplyInfo
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<SltAgreementInfo> getClzInfo(MaterialBackApplyInfo materialBackApplyInfo);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1654,4 +1654,62 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
ORDER BY
|
ORDER BY
|
||||||
createTime DESC;
|
createTime DESC;
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getXmList" resultType="com.bonus.material.settlement.domain.SltAgreementInfo">
|
||||||
|
SELECT
|
||||||
|
id AS id,
|
||||||
|
agreement_id AS agreementId,
|
||||||
|
type_id AS typeId,
|
||||||
|
ma_id AS maId,
|
||||||
|
num AS backNum,
|
||||||
|
start_time AS startTime,
|
||||||
|
end_time AS endTime,
|
||||||
|
status AS status,
|
||||||
|
lease_id AS leaseId,
|
||||||
|
lease_type AS leaseType,
|
||||||
|
back_id AS backId,
|
||||||
|
lease_price AS leasePrice,
|
||||||
|
buy_price AS buyPrice,
|
||||||
|
company_id AS companyId
|
||||||
|
FROM
|
||||||
|
slt_agreement_info
|
||||||
|
WHERE
|
||||||
|
status = 0
|
||||||
|
AND source = '2'
|
||||||
|
AND type_id = #{typeId}
|
||||||
|
AND agreement_id = #{agreementId}
|
||||||
|
<if test="maId != null">
|
||||||
|
AND ma_id = #{maId}
|
||||||
|
</if>
|
||||||
|
order by start_time asc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getClzList" resultType="com.bonus.material.settlement.domain.SltAgreementInfo">
|
||||||
|
SELECT
|
||||||
|
id AS id,
|
||||||
|
agreement_id AS agreementId,
|
||||||
|
type_id AS typeId,
|
||||||
|
ma_id AS maId,
|
||||||
|
num AS backNum,
|
||||||
|
start_time AS startTime,
|
||||||
|
end_time AS endTime,
|
||||||
|
status AS status,
|
||||||
|
lease_id AS leaseId,
|
||||||
|
lease_type AS leaseType,
|
||||||
|
back_id AS backId,
|
||||||
|
lease_price AS leasePrice,
|
||||||
|
buy_price AS buyPrice,
|
||||||
|
company_id AS companyId
|
||||||
|
FROM
|
||||||
|
clz_slt_agreement_info
|
||||||
|
WHERE
|
||||||
|
status = 0
|
||||||
|
AND source = '2'
|
||||||
|
AND type_id = #{typeId}
|
||||||
|
AND agreement_id = #{agreementId}
|
||||||
|
<if test="maId != null">
|
||||||
|
AND ma_id = #{maId}
|
||||||
|
</if>
|
||||||
|
order by start_time asc
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -196,8 +196,8 @@
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
<insert id="insStlInfoTwo">
|
<insert id="insStlInfoTwo">
|
||||||
insert into clz_slt_agreement_info (agreement_id,type_id,ma_id,num,start_time,status,lease_id,lease_price,buy_price,is_slt,company_id,lease_type,create_time)
|
insert into clz_slt_agreement_info (agreement_id,type_id,ma_id,num,start_time,status,lease_id,lease_price,buy_price,is_slt,company_id,lease_type,create_time,source)
|
||||||
values (#{info.agreementId},#{info.typeId},#{info.maId},#{many},#{info.startTime},#{info.status},#{info.leaseId},#{info.leasePrice},#{info.buyPrice},'0',#{info.companyId},#{info.leaseType},now());
|
values (#{info.agreementId},#{info.typeId},#{info.maId},#{many},#{info.startTime},#{info.status},#{info.leaseId},#{info.leasePrice},#{info.buyPrice},'0',#{info.companyId},#{info.leaseType},now(),#{info.source});
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<select id="selectBackApplyInfoList" resultType="com.bonus.material.clz.domain.back.MaterialBackApplyInfo">
|
<select id="selectBackApplyInfoList" resultType="com.bonus.material.clz.domain.back.MaterialBackApplyInfo">
|
||||||
|
|
@ -942,5 +942,34 @@
|
||||||
AND dfs.id = #{externalId}
|
AND dfs.id = #{externalId}
|
||||||
AND su.nick_name = #{createBy}
|
AND su.nick_name = #{createBy}
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getClzInfo" resultType="com.bonus.material.settlement.domain.SltAgreementInfo">
|
||||||
|
SELECT
|
||||||
|
id AS id,
|
||||||
|
agreement_id AS agreementId,
|
||||||
|
type_id AS typeId,
|
||||||
|
ma_id AS maId,
|
||||||
|
num AS backNum,
|
||||||
|
start_time AS startTime,
|
||||||
|
end_time AS endTime,
|
||||||
|
status AS status,
|
||||||
|
lease_id AS leaseId,
|
||||||
|
lease_type AS leaseType,
|
||||||
|
back_id AS backId,
|
||||||
|
lease_price AS leasePrice,
|
||||||
|
buy_price AS buyPrice,
|
||||||
|
company_id AS companyId,
|
||||||
|
lease_style AS leaseStyle
|
||||||
|
FROM
|
||||||
|
clz_slt_agreement_info
|
||||||
|
WHERE
|
||||||
|
status = 0
|
||||||
|
and source = '2'
|
||||||
|
AND agreement_id = #{agreementId}
|
||||||
|
AND type_id = #{typeId}
|
||||||
|
<if test="maId != null">
|
||||||
|
AND ma_id = #{maId}
|
||||||
|
</if>
|
||||||
|
order by start_time asc
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue