@ -172,10 +172,8 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
/ / 3 . 优化 : 只有在有编码设备时才查询类型树 , 减少不必要的复杂查询
Map < Long , BigDecimal > typeNumMap = new HashMap < > ( ) ;
if ( hasCodedEquipment ( backApplyDetailsList ) ) {
List < TypeTreeNode > listL4 = mapper . getUseTypeTreeL4 ( backApplyInfo ) ;
typeNumMap = buildTypeNumMappingSimple ( listL4 ) ;
}
List < TypeTreeNode > listL4 = mapper . getUseTypeTreeL4 ( backApplyInfo ) ;
typeNumMap = buildTypeNumMappingSimple ( listL4 ) ;
/ / 4 . 一次性查询所有附件信息
Map < Long , List < BmFileInfo > > allFileInfoMap = fetchAllFileInfosOptimized ( id ) ;
@ -325,10 +323,8 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
/ / 3 . 优化 : 只有在有编码设备时才查询类型树 , 减少不必要的复杂查询
Map < Long , BigDecimal > typeNumMap = new HashMap < > ( ) ;
if ( hasCodedEquipment ( backApplyDetailsList ) ) {
List < TypeTreeNode > listL4 = mapper . getUseTypeTreeL4 ( backApplyInfo ) ;
typeNumMap = buildTypeNumMappingSimple ( listL4 ) ;
}
List < TypeTreeNode > listL4 = mapper . getUseTypeTreeL4 ( backApplyInfo ) ;
typeNumMap = buildTypeNumMappingSimple ( listL4 ) ;
/ / 4 . 一次性查询所有附件信息
Map < Long , List < BmFileInfo > > allFileInfoMap = fetchAllFileInfosOptimized ( id ) ;
@ -1046,21 +1042,18 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
result + = deleteFileInfoForDetails ( backApplyDetailsList , id ) ;
/ / 删除编码设备附件
result + = deleteFileInfoForMaCodes ( maCodeList , id ) ;
if ( result > 0 ) {
/ / 执行新增操作
BackApplyInfo info = dto . getBackApplyInfo ( ) ;
info . setUpdateTime ( DateUtils . getNowDate ( ) ) ;
info . setUpdateBy ( SecurityUtils . getLoginUser ( ) . getSysUser ( ) . getNickName ( ) ) ;
info . setCode ( backApplyInfo . getCode ( ) ) ;
result + = backApplyInfoMapper . updateBackApplyInfo ( info ) ;
/ / 保存退料详情
result = saveBackApplyDetails ( dto , info , result ) ;
return AjaxResult . success ( result ) ;
}
/ / 执行新增操作
BackApplyInfo info = dto . getBackApplyInfo ( ) ;
info . setUpdateTime ( DateUtils . getNowDate ( ) ) ;
info . setUpdateBy ( SecurityUtils . getLoginUser ( ) . getSysUser ( ) . getNickName ( ) ) ;
info . setCode ( backApplyInfo . getCode ( ) ) ;
result + = backApplyInfoMapper . updateBackApplyInfo ( info ) ;
/ / 保存退料详情
result = saveBackApplyDetails ( dto , info , result ) ;
} catch ( Exception e ) {
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
* @return
* /
private int updateSlt4BeanClz ( MaterialBackApplyInfo record , List < BackApplyInfo > allList ) {
private int updateSlt4BeanClz ( MaterialBackApplyInfo record , List < BackApplyInfo > allList , Long agreementId ) {
for ( BackApplyInfo bean : allList ) {
MaterialBackApplyInfo materialBackApplyInfo = new MaterialBackApplyInfo ( ) ;
materialBackApplyInfo . setAgreementId ( be an. getA greementId( ) ) ;
materialBackApplyInfo . setAgreementId ( agreementId) ;
materialBackApplyInfo . setTypeId ( bean . getTypeId ( ) ) ;
materialBackApplyInfo . setMaId ( bean . getMaId ( ) ! = null ? bean . getMaId ( ) : null ) ;
List < SltAgreementInfo > infoList = materialBackInfoMapper . get Stl Info( materialBackApplyInfo ) ;
List < SltAgreementInfo > infoList = materialBackInfoMapper . get Clz Info( materialBackApplyInfo ) ;
if ( infoList . size ( ) > 0 ) {
BigDecimal backNum = bean . getBackNum ( ) ;
for ( SltAgreementInfo info : infoList ) {
@ -1361,12 +1354,11 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
} else {
BigDecimal many = num . subtract ( backNum ) ;
materialBackInfoMapper . updateStlInfoTwo ( info , record , backNum ) ;
info . setSource ( " 2 " ) ;
materialBackInfoMapper . insStlInfoTwo ( info , many ) ;
break ;
}
}
} else {
return 0 ;
}
}
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 . setUnitId ( leaseOutDetail . getProjectUnitAgreementId ( ) ) ;
SelectDto dto = new SelectDto ( ) ;
dto . setProId ( backApplyInfo . getProId ( ) ) . setUnitId ( Math . toIntExact ( backApplyInfo . getUnitId ( ) ) ) ;
List < AgreementVo > list = mapper . getAgreementInfoByIdBack ( dto ) ;
List < BackApplyInfo > codeList = new ArrayList < > ( ) ;
@ -2330,9 +2323,9 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
for ( BackApplyInfo applyInfo : applyInfoList ) {
/ / 根据maId查询设备是否处于在用状态 ( 需要同时查询机具和材料站 )
if ( applyInfo . getMaId ( ) ! = null ) {
/ / List < SltAgreementInfo > infoList = backApplyInfoMapper . getUserList ( applyInfo ) ;
List < SltAgreementInfo > infoList = backApplyInfoMapper . getUserList ( applyInfo ) ;
List < SltAgreementInfo > clzList = backApplyInfoMapper . getClzUserList ( applyInfo ) ;
if ( CollectionUtils . isEmpty ( clzList) ) {
if ( CollectionUtils . isEmpty ( infoList) & & CollectionUtils . isEmpty ( clzList) ) {
codeList . add ( applyInfo ) ;
}
}
@ -2358,6 +2351,32 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
if ( CollectionUtils . isEmpty ( applyDetails ) ) {
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 . setUpdateTime ( DateUtils . getNowDate ( ) ) ;
@ -2380,52 +2399,55 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
result + = insertTeamTta ( newTaskId , leaseOutDetail . getProjectUnitAgreementId ( ) ) ;
/ / - - - - - - - - - - - - - - - - - 给材料站新建退料任务 , 处理数据开始 ✅ - - - - - - - - - - - - - - - -
MaterialBackApplyInfo materialBackApplyInfo = new MaterialBackApplyInfo ( ) ;
BackApplyInfo backApplyInfo4 = new BackApplyInfo ( ) ;
MaterialBackApplyInfo materialBackApplyInfo = new MaterialBackApplyInfo ( ) ;
BmAgreementInfo bmAgreementInfo = new BmAgreementInfo ( ) ;
bmAgreementInfo . setUnitId ( teamUnitId ) ;
bmAgreementInfo . setProjectId ( backApplyInfo . getProId ( ) ) ;
BmAgreementInfo info = bmAgreementInfoMapper . queryByTeamIdAndProjectIdCl ( bmAgreementInfo ) ;
BackApplyInfo backApplyInfo4 = new BackApplyInfo ( ) ;
int thisMonthMaxOrder = taskMapper . getMonthMaxOrderByDate ( DateUtils . getCurrentYear ( ) , DateUtils . getCurrentMonth ( ) , TmTaskTypeEnum . TM_TASK_MATERIAL_BACK . getTaskTypeId ( ) ) ;
String code = genderClzTaskCode ( thisMonthMaxOrder ) ;
TmTask tmTask = new TmTask ( null , TmTaskTypeEnum . TM_TASK_MATERIAL_BACK . getTaskTypeId ( ) ,
BackTaskStatusEnum . BACK_TASK_IN_FINISHED . getStatus ( ) , null , thisMonthMaxOrder + 1 , code ) ;
tmTask . setCreateTime ( DateUtils . getNowDate ( ) ) ;
String createBy = SecurityUtils . getLoginUser ( ) . getSysUser ( ) . getNickName ( ) ;
tmTask . setCreateBy ( createBy ) ;
materialBackApplyInfo . setCode ( code ) ;
materialBackApplyInfo . setCreateBy ( createBy ) ;
materialBackApplyInfo . setCreateTime ( DateUtils . getNowDate ( ) ) ;
/ / 保存退料信息到 tm_task 表中
result + = taskMapper . insertTmTask ( tmTask ) ;
if ( result > 0 ) {
TmTaskAgreement tmTaskAgreement = new TmTaskAgreement ( tmTask . getTaskId ( ) , info . getAgreementId ( ) ) ;
tmTaskAgreement . setCreateTime ( DateUtils . getNowDate ( ) ) ;
tmTaskAgreement . setCreateBy ( createBy ) ;
taskAgreementMapper . insertTmTaskAgreement ( tmTaskAgreement ) ;
materialBackApplyInfo . setTaskId ( tmTask . getTaskId ( ) ) ;
materialBackApplyInfo . setBackStyle ( " 2 " ) ;
materialBackApplyInfo . setStatus ( " 2 " ) ;
BackApplyInfo backApplyInfo1 = backApplyInfoMapper . selectBackApplyInfoById ( backApplyInfo . getId ( ) ) ;
if ( backApplyInfo1 ! = null ) {
materialBackApplyInfo . setBackPerson ( StringUtils . isNotBlank ( backApplyInfo1 . getBackPerson ( ) ) ? backApplyInfo1 . getBackPerson ( ) : " " ) ;
materialBackApplyInfo . setPhone ( StringUtils . isNotBlank ( backApplyInfo1 . getPhone ( ) ) ? backApplyInfo1 . getPhone ( ) : " " ) ;
}
result + = materialBackInfoMapper . insertBackApplyInfo ( materialBackApplyInfo ) ;
if ( CollectionUtils . isNotEmpty ( applyDetails ) ) {
for ( BackApplyDetails applyInfo : applyDetails ) {
MaterialBackApplyDetails details = new MaterialBackApplyDetails ( ) ;
details . setCode ( code ) ;
details . setParentId ( materialBackApplyInfo . getId ( ) ) ;
details . setPreNum ( applyInfo . getPreNum ( ) ) ;
details . setAuditNum ( applyInfo . getPreNum ( ) ) ;
details . setStatus ( String . valueOf ( BackTaskStatusEnum . BACK_TASK_NO_FINISHED . getStatus ( ) ) ) ;
details . setCreateBy ( createBy ) ;
details . setCreateTime ( DateUtils . getNowDate ( ) ) ;
details . setTypeId ( applyInfo . getTypeId ( ) ) ;
/ / 保存退料详情
result + = materialBackInfoMapper . insertBackApplyDetails ( details ) ;
if ( isClzUse ) {
int thisMonthMaxOrder = taskMapper . getMonthMaxOrderByDate ( DateUtils . getCurrentYear ( ) , DateUtils . getCurrentMonth ( ) , TmTaskTypeEnum . TM_TASK_MATERIAL_BACK . getTaskTypeId ( ) ) ;
String code = genderClzTaskCode ( thisMonthMaxOrder ) ;
TmTask tmTask = new TmTask ( null , TmTaskTypeEnum . TM_TASK_MATERIAL_BACK . getTaskTypeId ( ) ,
BackTaskStatusEnum . BACK_TASK_IN_FINISHED . getStatus ( ) , null , thisMonthMaxOrder + 1 , code ) ;
tmTask . setCreateTime ( DateUtils . getNowDate ( ) ) ;
String createBy = SecurityUtils . getLoginUser ( ) . getSysUser ( ) . getNickName ( ) ;
tmTask . setCreateBy ( createBy ) ;
materialBackApplyInfo . setCode ( code ) ;
materialBackApplyInfo . setCreateBy ( createBy ) ;
materialBackApplyInfo . setCreateTime ( DateUtils . getNowDate ( ) ) ;
/ / 保存退料信息到 tm_task 表中
result + = taskMapper . insertTmTask ( tmTask ) ;
if ( result > 0 ) {
TmTaskAgreement tmTaskAgreement = new TmTaskAgreement ( tmTask . getTaskId ( ) , info . getAgreementId ( ) ) ;
tmTaskAgreement . setCreateTime ( DateUtils . getNowDate ( ) ) ;
tmTaskAgreement . setCreateBy ( createBy ) ;
taskAgreementMapper . insertTmTaskAgreement ( tmTaskAgreement ) ;
materialBackApplyInfo . setTaskId ( tmTask . getTaskId ( ) ) ;
materialBackApplyInfo . setBackStyle ( " 2 " ) ;
materialBackApplyInfo . setStatus ( " 2 " ) ;
BackApplyInfo backApplyInfo1 = backApplyInfoMapper . selectBackApplyInfoById ( backApplyInfo . getId ( ) ) ;
if ( backApplyInfo1 ! = null ) {
materialBackApplyInfo . setBackPerson ( StringUtils . isNotBlank ( backApplyInfo1 . getBackPerson ( ) ) ? backApplyInfo1 . getBackPerson ( ) : " " ) ;
materialBackApplyInfo . setPhone ( StringUtils . isNotBlank ( backApplyInfo1 . getPhone ( ) ) ? backApplyInfo1 . getPhone ( ) : " " ) ;
}
result + = materialBackInfoMapper . insertBackApplyInfo ( materialBackApplyInfo ) ;
if ( CollectionUtils . isNotEmpty ( applyDetails ) ) {
for ( BackApplyDetails applyInfo : applyDetails ) {
MaterialBackApplyDetails details = new MaterialBackApplyDetails ( ) ;
details . setCode ( code ) ;
details . setParentId ( materialBackApplyInfo . getId ( ) ) ;
details . setPreNum ( applyInfo . getPreNum ( ) ) ;
details . setAuditNum ( applyInfo . getPreNum ( ) ) ;
details . setStatus ( String . valueOf ( BackTaskStatusEnum . BACK_TASK_NO_FINISHED . getStatus ( ) ) ) ;
details . setCreateBy ( createBy ) ;
details . setCreateTime ( DateUtils . getNowDate ( ) ) ;
details . setTypeId ( applyInfo . getTypeId ( ) ) ;
/ / 保存退料详情
if ( applyInfo . getIsClzUse ( ) ) {
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 ( ) ) ;
String backCode = genderTaskCode ( backMonthMaxOrder ) ;
TmTask newTask = new TmTask ( null , TmTaskTypeEnum . TM_TASK_BACK . getTaskTypeId ( ) ,
BackTaskStatusEnum . BACK_TASK_IN_FINISHED . getStatus ( ) ,
null , backMonthMaxOrder + 1 , backCode ) ;
newTask . setCreateTime ( DateUtils . getNowDate ( ) ) ;
newTask . setCreateBy ( SecurityUtils . getLoginUser ( ) . getSysUser ( ) . getNickName ( ) ) ;
backApplyInfo4 . setCode ( backCode ) ;
backApplyInfo4 . setCreateBy ( SecurityUtils . getLoginUser ( ) . getSysUser ( ) . getNickName ( ) ) ;
backApplyInfo4 . setCreateTime ( DateUtils . getNowDate ( ) ) ;
/ / 保存退料信息到 tm_task 表中
result + = taskMapper . insertTmTask ( newTask ) ;
if ( result > 0 ) {
/ / 根据单位和工程id查询项目部关联协议id
BackApplyInfo backApplyInfo3 = backApplyInfoMapper . selectInfo ( backApplyInfo ) ;
if ( backApplyInfo3 ! = null ) {
/ / 给项目部处理的时候要使用挂靠的项目部协议ID
TmTaskAgreement tmTaskAgreement = new TmTaskAgreement ( newTask . getTaskId ( ) , leaseOutDetail . getAgreementId ( ) ) ;
tmTaskAgreement . setCreateTime ( DateUtils . getNowDate ( ) ) ;
tmTaskAgreement . setCreateBy ( SecurityUtils . getLoginUser ( ) . getSysUser ( ) . getNickName ( ) ) ;
taskAgreementMapper . insertTmTaskAgreement ( tmTaskAgreement ) ;
if ( isXmbUse ) {
int backMonthMaxOrder = taskMapper . getMonthMaxOrderByDate ( DateUtils . getCurrentYear ( ) , DateUtils . getCurrentMonth ( ) , TmTaskTypeEnum . TM_TASK_BACK . getTaskTypeId ( ) ) ;
String backCode = genderTaskCode ( backMonthMaxOrder ) ;
TmTask newTask = new TmTask ( null , TmTaskTypeEnum . TM_TASK_BACK . getTaskTypeId ( ) ,
BackTaskStatusEnum . BACK_TASK_IN_FINISHED . getStatus ( ) ,
null , backMonthMaxOrder + 1 , backCode ) ;
newTask . setCreateTime ( DateUtils . getNowDate ( ) ) ;
newTask . setCreateBy ( SecurityUtils . getLoginUser ( ) . getSysUser ( ) . getNickName ( ) ) ;
backApplyInfo4 . setCode ( backCode ) ;
backApplyInfo4 . setCreateBy ( SecurityUtils . getLoginUser ( ) . getSysUser ( ) . getNickName ( ) ) ;
backApplyInfo4 . setCreateTime ( DateUtils . getNowDate ( ) ) ;
/ / 保存退料信息到 tm_task 表中
result + = taskMapper . insertTmTask ( newTask ) ;
if ( result > 0 ) {
/ / 根据单位和工程id查询项目部关联协议id
BackApplyInfo backApplyInfo3 = backApplyInfoMapper . selectInfo ( backApplyInfo ) ;
if ( backApplyInfo3 ! = null ) {
/ / 给项目部处理的时候要使用挂靠的项目部协议ID
TmTaskAgreement tmTaskAgreement = new TmTaskAgreement ( newTask . getTaskId ( ) , leaseOutDetail . getAgreementId ( ) ) ;
tmTaskAgreement . setCreateTime ( DateUtils . getNowDate ( ) ) ;
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 ( 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 ) ;
}
/ / 保存退料详情
if ( CollectionUtils . isNotEmpty ( applyDetails ) ) {
for ( BackApplyDetails applyDetail : applyDetails ) {
/ / 保存退料详情
applyDetail . setAuditNum ( applyDetail . getPreNum ( ) ) ;
result + = backApplyInfoMapper . insertBackApplyDetails ( applyDetail ) ;
/ / 保存退料详情
if ( CollectionUtils . isNotEmpty ( applyDetails ) ) {
for ( BackApplyDetails applyDetail : applyDetails ) {
/ / 保存退料详情
applyDetail . setAuditNum ( applyDetail . getPreNum ( ) ) ;
applyDetail . setParentId ( backApplyInfo4 . getId ( ) ) ;
applyDetail . setCode ( backCode ) ;
if ( applyDetail . getIsXmbUse ( ) ) {
result + = backApplyInfoMapper . insertBackApplyDetails ( applyDetail ) ;
}
}
}
}
for ( String typeId : typeIdList ) {
@ -2483,42 +2511,48 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
List < BackApplyInfo > allList = backApplyInfoMapper . selectBackDetails ( backApplyInfo ) ;
if ( CollectionUtils . isNotEmpty ( allList ) ) {
/ / 更新结算协议 ✍ ️表
int res = updateBzSlt4Bean ( backApplyInfo , allList ) ;
int res = updateBzSlt4Bean ( backApplyInfo , backApplyInfo4 , allList ) ;
/ / 检查机具是否领料
if ( res = = 0 ) { throw new RuntimeException ( " 该机具未被领料使用 " ) ; }
List < BackApplyInfo > clzList = new ArrayList < > ( ) ;
List < BackApplyInfo > xmList = new ArrayList < > ( ) ;
for ( BackApplyInfo applyInfo : allList ) {
applyInfo . setAgreementId ( info . getAgreementId ( ) ) ;
MaterialBackApplyDetails details = new MaterialBackApplyDetails ( ) ;
details . setParentId ( materialBackApplyInfo . getId ( ) ) ;
details . setTypeId ( Long . parseLong ( typeId ) ) ;
details . setCreateBy ( SecurityUtils . getLoginUser ( ) . getSysUser ( ) . getNickName ( ) ) ;
details . setCreateTime ( DateUtils . getNowDate ( ) ) ;
details . setPreNum ( applyInfo . getBackNum ( ) ) ;
details . setStatus ( " 0 " ) ;
details . setMaId ( applyInfo . getMaId ( ) ! = null ? applyInfo . getMaId ( ) : null ) ;
details . setIsFinished ( 1 ) ;
result + = materialBackInfoMapper . insertCheckDetails ( details ) ;
/ / 查询材料站同步数据
clzList = backApplyInfoMapper . selectClzList ( details ) ;
BackApplyDetails backApplyDetails = new BackApplyDetails ( ) ;
backApplyDetails . setParentId ( backApplyInfo4 . getId ( ) ) ;
backApplyDetails . setTypeId ( Long . parseLong ( typeId ) ) ;
backApplyDetails . setCreateBy ( SecurityUtils . getLoginUser ( ) . getSysUser ( ) . getNickName ( ) ) ;
backApplyDetails . setCreateTime ( DateUtils . getNowDate ( ) ) ;
backApplyDetails . setPreNum ( applyInfo . getBackNum ( ) ) ;
backApplyDetails . setMaId ( applyInfo . getMaId ( ) ! = null ? applyInfo . getMaId ( ) : null ) ;
backApplyDetails . setStatus ( " 0 " ) ;
backApplyDetails . setIsFinished ( 1 ) ;
result + = backApplyInfoMapper . insertCheckDetails ( backApplyDetails ) ;
/ / 查询项目部同步数据
/ / xmList = backApplyInfoMapper . selectXmList ( backApplyDetails ) ;
if ( isXmbUse ) {
for ( BackApplyInfo applyInfo : allList ) {
BackApplyDetails backApplyDetails = new BackApplyDetails ( ) ;
backApplyDetails . setParentId ( backApplyInfo4 . getId ( ) ) ;
backApplyDetails . setTypeId ( Long . parseLong ( typeId ) ) ;
backApplyDetails . setCreateBy ( SecurityUtils . getLoginUser ( ) . getSysUser ( ) . getNickName ( ) ) ;
backApplyDetails . setCreateTime ( DateUtils . getNowDate ( ) ) ;
backApplyDetails . setPreNum ( applyInfo . getBackNum ( ) ) ;
backApplyDetails . setMaId ( applyInfo . getMaId ( ) ! = null ? applyInfo . getMaId ( ) : null ) ;
backApplyDetails . setStatus ( " 0 " ) ;
backApplyDetails . setIsFinished ( 1 ) ;
result + = backApplyInfoMapper . insertCheckDetails ( backApplyDetails ) ;
}
}
if ( isClzUse ) {
for ( BackApplyInfo applyInfo : allList ) {
applyInfo . setAgreementId ( info . getAgreementId ( ) ) ;
MaterialBackApplyDetails details = new MaterialBackApplyDetails ( ) ;
details . setParentId ( materialBackApplyInfo . getId ( ) ) ;
details . setTypeId ( Long . parseLong ( typeId ) ) ;
details . setCreateBy ( SecurityUtils . getLoginUser ( ) . getSysUser ( ) . getNickName ( ) ) ;
details . setCreateTime ( DateUtils . getNowDate ( ) ) ;
details . setPreNum ( applyInfo . getBackNum ( ) ) ;
details . setStatus ( " 0 " ) ;
details . setMaId ( applyInfo . getMaId ( ) ! = null ? applyInfo . getMaId ( ) : null ) ;
details . setIsFinished ( 1 ) ;
result + = materialBackInfoMapper . insertCheckDetails ( details ) ;
/ / 查询材料站同步数据
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 ) ;
if ( res = = 0 ) {
throw new RuntimeException ( " 同步项目部结算出错 " ) ;
@ -2526,6 +2560,7 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
}
/ / 完成退料部分 , 更新 back_check_details
finishBackCheckDetails ( backApplyInfo ) ;
backApplyInfoMapper . updateCheckDetails ( backApplyInfo4 ) ;
}
}
/ / 如果所有操作都成功
@ -2582,7 +2617,7 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
* @param allList
* @return
* /
private int updateBzSlt4Bean ( BackApplyInfo record , List< BackApplyInfo > allList ) {
private int updateBzSlt4Bean ( BackApplyInfo record , BackApplyInfo backApplyInfo4 , List< BackApplyInfo > allList ) {
for ( BackApplyInfo bean : allList ) {
List < SltAgreementInfo > infoList = backApplyInfoMapper . getStlInfo ( bean ) ;
if ( CollectionUtils . isEmpty ( infoList ) ) {
@ -2620,18 +2655,21 @@ public class BackApplyInfoServiceImpl implements IBackApplyInfoService {
/ / 非班组退料才同步班组分公司数据
BigDecimal tbBackNum = bean . getBackNum ( ) ;
if ( CollectionUtils . isNotEmpty ( tbList ) ) {
BackApplyInfo backApplyInfo = new BackApplyInfo ( ) ;
backApplyInfo . setId ( backApplyInfo4 . getId ( ) ) ;
for ( SltAgreementInfo info : tbList ) {
/ / 获取前端要退数量
BigDecimal num = info . getBackNum ( ) ;
if ( tbBackNum . compareTo ( num ) = = 0 ) {
backApplyInfoMapper . updateStlInfo ( info , record ) ;
backApplyInfoMapper . updateStlInfo ( info , backApplyInfo ) ;
break ;
} else if ( tbBackNum . compareTo ( num ) > 0 ) {
tbBackNum = tbBackNum . subtract ( num ) ;
backApplyInfoMapper . updateStlInfo ( info , record ) ;
backApplyInfoMapper . updateStlInfo ( info , backApplyInfo ) ;
} else {
BigDecimal many = num . subtract ( tbBackNum ) ;
backApplyInfoMapper . updateStlInfoTwo ( info , record , tbBackNum ) ;
backApplyInfoMapper . updateStlInfoTwo ( info , backApplyInfo , tbBackNum ) ;
info . setSource ( " 2 " ) ;
backApplyInfoMapper . insStlInfoTwo ( info , many ) ;
break ;
}