|
@ -57,6 +57,7 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; |
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; |
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; |
|
|
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; |
|
|
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; |
|
|
import com.yxt.anrui.portal.api.sysuser.SysUserVo; |
|
|
import com.yxt.anrui.portal.api.sysuser.SysUserVo; |
|
|
|
|
|
import com.yxt.anrui.portal.api.sysuser.UserQuery; |
|
|
import com.yxt.common.base.utils.ConstantUtils; |
|
|
import com.yxt.common.base.utils.ConstantUtils; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
import com.yxt.common.base.service.MybatisBaseService; |
|
|
import com.yxt.common.base.service.MybatisBaseService; |
|
@ -115,15 +116,15 @@ public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternal |
|
|
QueryWrapper<BaseInternalPurchase> qw = new QueryWrapper<>(); |
|
|
QueryWrapper<BaseInternalPurchase> qw = new QueryWrapper<>(); |
|
|
String createStartTime = query.getCreateStartTime(); |
|
|
String createStartTime = query.getCreateStartTime(); |
|
|
String createEndTime = query.getCreateEndTime(); |
|
|
String createEndTime = query.getCreateEndTime(); |
|
|
qw.eq("bip.createOrgSid",query.getCreateOrgSid()); |
|
|
qw.eq("bip.createOrgSid", query.getCreateOrgSid()); |
|
|
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (bip.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). |
|
|
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (bip.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). |
|
|
apply(StringUtils.isNotBlank(createEndTime), "date_format (bip.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" |
|
|
apply(StringUtils.isNotBlank(createEndTime), "date_format (bip.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" |
|
|
); |
|
|
); |
|
|
if (StringUtils.isNotBlank(query.getNodeState())){ |
|
|
if (StringUtils.isNotBlank(query.getNodeState())) { |
|
|
//qw.eq("bip.nodeState",query.getNodeState());
|
|
|
//qw.eq("bip.nodeState",query.getNodeState());
|
|
|
} |
|
|
} |
|
|
if (StringUtils.isNotBlank(query.getSellerOrgSid())){ |
|
|
if (StringUtils.isNotBlank(query.getSellerOrgSid())) { |
|
|
qw.like("bip.sellerOrgSid",query.getSellerOrgSid()); |
|
|
qw.like("bip.sellerOrgSid", query.getSellerOrgSid()); |
|
|
} |
|
|
} |
|
|
IPage<BaseInternalPurchase> page = PagerUtil.queryToPage(pq); |
|
|
IPage<BaseInternalPurchase> page = PagerUtil.queryToPage(pq); |
|
|
IPage<BaseInternalPurchaseVo> pagging = baseMapper.selectPageVo(page, qw); |
|
|
IPage<BaseInternalPurchaseVo> pagging = baseMapper.selectPageVo(page, qw); |
|
@ -131,12 +132,25 @@ public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternal |
|
|
return p; |
|
|
return p; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public ResultBean<BaseInternalPurchaseDetailsVo> fetchDetailsVoBySid(String sid){ |
|
|
public ResultBean<BaseInternalPurchaseDetailsVo> fetchDetailsVoBySid(String sid) { |
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
BaseInternalPurchaseDetailsVo baseInternalPurchaseDetailsVo = new BaseInternalPurchaseDetailsVo(); |
|
|
BaseInternalPurchaseDetailsVo baseInternalPurchaseDetailsVo = new BaseInternalPurchaseDetailsVo(); |
|
|
BaseInternalPurchase entity = fetchBySid(sid); |
|
|
BaseInternalPurchase entity = fetchBySid(sid); |
|
|
BeanUtil.copyProperties(entity, baseInternalPurchaseDetailsVo); |
|
|
BeanUtil.copyProperties(entity, baseInternalPurchaseDetailsVo); |
|
|
|
|
|
//调入分公司sid
|
|
|
|
|
|
String buyerOrgSid = baseInternalPurchaseDetailsVo.getBuyerOrgSid(); |
|
|
|
|
|
//调出分公司sid
|
|
|
|
|
|
String sellerOrgSid = baseInternalPurchaseDetailsVo.getSellerOrgSid(); |
|
|
List<BaseInternalPurchaseVehicleVo> baseInternalPurchaseVehicleVos = baseInternalPurchaseVehicleService.fetchByMainSid(sid); |
|
|
List<BaseInternalPurchaseVehicleVo> baseInternalPurchaseVehicleVos = baseInternalPurchaseVehicleService.fetchByMainSid(sid); |
|
|
|
|
|
for (BaseInternalPurchaseVehicleVo baseInternalPurchaseVehicleVo : baseInternalPurchaseVehicleVos) { |
|
|
|
|
|
//运费承担方sid
|
|
|
|
|
|
String freightUndertakerSid = baseInternalPurchaseVehicleVo.getFreightUndertakerSid(); |
|
|
|
|
|
if (freightUndertakerSid.equals(buyerOrgSid)) { |
|
|
|
|
|
baseInternalPurchaseVehicleVo.setFreightUndertakerType("调入分公司"); |
|
|
|
|
|
} else if (freightUndertakerSid.equals(sellerOrgSid)) { |
|
|
|
|
|
baseInternalPurchaseVehicleVo.setFreightUndertakerType("调出分公司"); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
baseInternalPurchaseDetailsVo.setBaseInternalPurchaseVehicles(baseInternalPurchaseVehicleVos); |
|
|
baseInternalPurchaseDetailsVo.setBaseInternalPurchaseVehicles(baseInternalPurchaseVehicleVos); |
|
|
return rb.success().setData(baseInternalPurchaseDetailsVo); |
|
|
return rb.success().setData(baseInternalPurchaseDetailsVo); |
|
|
} |
|
|
} |
|
@ -147,12 +161,12 @@ public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternal |
|
|
List<BaseInternalPurchaseVehicleDto> baseInternalPurchaseVehicles = dto.getBaseInternalPurchaseVehicles(); |
|
|
List<BaseInternalPurchaseVehicleDto> baseInternalPurchaseVehicles = dto.getBaseInternalPurchaseVehicles(); |
|
|
if (StringUtils.isBlank(dtoSid)) {//新增
|
|
|
if (StringUtils.isBlank(dtoSid)) {//新增
|
|
|
String sellerOrgName = dto.getSellerOrgName(); |
|
|
String sellerOrgName = dto.getSellerOrgName(); |
|
|
if (StringUtils.isBlank(sellerOrgName)){ |
|
|
if (StringUtils.isBlank(sellerOrgName)) { |
|
|
return rb.setMsg("售方机构不能为空"); |
|
|
return rb.setMsg("售方机构不能为空"); |
|
|
} |
|
|
} |
|
|
BaseInternalPurchase baseInternalPurchase = new BaseInternalPurchase(); |
|
|
BaseInternalPurchase baseInternalPurchase = new BaseInternalPurchase(); |
|
|
String sid = baseInternalPurchase.getSid(); |
|
|
String sid = baseInternalPurchase.getSid(); |
|
|
BeanUtil.copyProperties(dto,baseInternalPurchase); |
|
|
BeanUtil.copyProperties(dto, baseInternalPurchase); |
|
|
baseInternalPurchase.setSid(sid); |
|
|
baseInternalPurchase.setSid(sid); |
|
|
//申请编号规则:单据名称大写首字母+品牌编码+分公司编码+年份+月份+4位顺序号
|
|
|
//申请编号规则:单据名称大写首字母+品牌编码+分公司编码+年份+月份+4位顺序号
|
|
|
//获取单据名称大写首字母+品牌编码+分公司编码+年份+月份
|
|
|
//获取单据名称大写首字母+品牌编码+分公司编码+年份+月份
|
|
@ -163,23 +177,24 @@ public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternal |
|
|
for (BaseInternalPurchaseVehicleDto baseInternalPurchaseVehicle : baseInternalPurchaseVehicles) { |
|
|
for (BaseInternalPurchaseVehicleDto baseInternalPurchaseVehicle : baseInternalPurchaseVehicles) { |
|
|
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle1 = new BaseInternalPurchaseVehicle(); |
|
|
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle1 = new BaseInternalPurchaseVehicle(); |
|
|
String sid1 = baseInternalPurchaseVehicle1.getSid(); |
|
|
String sid1 = baseInternalPurchaseVehicle1.getSid(); |
|
|
BeanUtil.copyProperties(baseInternalPurchaseVehicle,baseInternalPurchaseVehicle1); |
|
|
BeanUtil.copyProperties(baseInternalPurchaseVehicle, baseInternalPurchaseVehicle1); |
|
|
baseInternalPurchaseVehicle1.setSid(sid1); |
|
|
baseInternalPurchaseVehicle1.setSid(sid1); |
|
|
baseInternalPurchaseVehicle1.setMainSid(sid); |
|
|
baseInternalPurchaseVehicle1.setMainSid(sid); |
|
|
|
|
|
baseInternalPurchaseVehicle1.setModelSid(baseInternalPurchaseVehicle.getVehicleSid()); |
|
|
baseInternalPurchaseVehicleService.save(baseInternalPurchaseVehicle1); |
|
|
baseInternalPurchaseVehicleService.save(baseInternalPurchaseVehicle1); |
|
|
} |
|
|
} |
|
|
return rb.success().setMsg("保存成功").setData(baseInternalPurchase.getSid()); |
|
|
return rb.success().setMsg("保存成功").setData(baseInternalPurchase.getSid()); |
|
|
} |
|
|
} |
|
|
BaseInternalPurchase baseInternalPurchase = fetchBySid(dtoSid); |
|
|
BaseInternalPurchase baseInternalPurchase = fetchBySid(dtoSid); |
|
|
if (baseInternalPurchase == null){ |
|
|
if (baseInternalPurchase == null) { |
|
|
return rb.setMsg("该内购申请单不存在"); |
|
|
return rb.setMsg("该内购申请单不存在"); |
|
|
} |
|
|
} |
|
|
updateBySid(dto.toMap(),dtoSid); |
|
|
updateBySid(dto.toMap(), dtoSid); |
|
|
baseInternalPurchaseVehicleService.delByMainSid(dtoSid); |
|
|
baseInternalPurchaseVehicleService.delByMainSid(dtoSid); |
|
|
for (BaseInternalPurchaseVehicleDto baseInternalPurchaseVehicle : baseInternalPurchaseVehicles) { |
|
|
for (BaseInternalPurchaseVehicleDto baseInternalPurchaseVehicle : baseInternalPurchaseVehicles) { |
|
|
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle1 = new BaseInternalPurchaseVehicle(); |
|
|
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle1 = new BaseInternalPurchaseVehicle(); |
|
|
String sid1 = baseInternalPurchaseVehicle1.getSid(); |
|
|
String sid1 = baseInternalPurchaseVehicle1.getSid(); |
|
|
BeanUtil.copyProperties(baseInternalPurchaseVehicle,baseInternalPurchaseVehicle1); |
|
|
BeanUtil.copyProperties(baseInternalPurchaseVehicle, baseInternalPurchaseVehicle1); |
|
|
baseInternalPurchaseVehicle1.setSid(sid1); |
|
|
baseInternalPurchaseVehicle1.setSid(sid1); |
|
|
baseInternalPurchaseVehicle1.setMainSid(dtoSid); |
|
|
baseInternalPurchaseVehicle1.setMainSid(dtoSid); |
|
|
baseInternalPurchaseVehicleService.save(baseInternalPurchaseVehicle1); |
|
|
baseInternalPurchaseVehicleService.save(baseInternalPurchaseVehicle1); |
|
@ -314,16 +329,21 @@ public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternal |
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
BaseInternalPurchase baseInternalPurchase = fetchBySid(bv.getBusinessSid()); |
|
|
BaseInternalPurchase baseInternalPurchase = fetchBySid(bv.getBusinessSid()); |
|
|
Map<String, Object> formVariables = bv.getFormVariables(); |
|
|
Map<String, Object> formVariables = bv.getFormVariables(); |
|
|
if (formVariables != null){ |
|
|
if (formVariables != null) { |
|
|
List<Map<String,Object>> l = ConstantUtils.getListData(formVariables,"baseInternalPurchaseVehicles"); |
|
|
List<Map<String, Object>> l = ConstantUtils.getListData(formVariables, "baseInternalPurchaseVehicles"); |
|
|
for (int i = 0;i<l.size();i++){ |
|
|
for (int i = 0; i < l.size(); i++) { |
|
|
Map<String,Object> map = l.get(i); |
|
|
Map<String, Object> map = l.get(i); |
|
|
String sid = map.get("sid").toString(); |
|
|
String sid = map.get("sid").toString(); |
|
|
String vinNo = map.get("vinNo").toString(); |
|
|
String vinNo = map.get("vinNo").toString(); |
|
|
if (StringUtils.isBlank(vinNo)){ |
|
|
String inventoryLocationSid = map.get("inventoryLocationSid").toString(); |
|
|
|
|
|
String inventoryLocationName = map.get("inventoryLocationName").toString(); |
|
|
|
|
|
if (StringUtils.isBlank(vinNo)) { |
|
|
return rb.setMsg("请填写车架号"); |
|
|
return rb.setMsg("请填写车架号"); |
|
|
} |
|
|
} |
|
|
baseInternalPurchaseVehicleService.updateVinNoBySid(sid,vinNo); |
|
|
if (StringUtils.isBlank(inventoryLocationSid)){ |
|
|
|
|
|
return rb.setMsg("请选择存放地点"); |
|
|
|
|
|
} |
|
|
|
|
|
baseInternalPurchaseVehicleService.updateVinNoBySid(sid, vinNo,inventoryLocationSid,inventoryLocationName); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
if (bv.getTaskId().equals(baseInternalPurchase.getTaskId())) { |
|
|
if (bv.getTaskId().equals(baseInternalPurchase.getTaskId())) { |
|
@ -338,6 +358,62 @@ public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternal |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public ResultBean InitiatorToAnswer(BusinessVariables bv) { |
|
|
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
|
|
BaseInternalPurchase baseInternalPurchase = fetchBySid(bv.getBusinessSid()); |
|
|
|
|
|
String shuntingTypeValue = baseInternalPurchase.getShuntingTypeValue(); |
|
|
|
|
|
if (shuntingTypeValue.equals("调入")) { |
|
|
|
|
|
String callOutOrgSid = baseInternalPurchase.getSellerOrgSid(); |
|
|
|
|
|
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); |
|
|
|
|
|
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
|
|
|
|
|
|
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); |
|
|
|
|
|
List<String> candidateGroups = voList.get(0).getCandidateGroups(); |
|
|
|
|
|
UserQuery userQuery = new UserQuery(); |
|
|
|
|
|
userQuery.setRoleSid(candidateGroups.get(0)); |
|
|
|
|
|
userQuery.setOrgSidPath("11/11/" + callOutOrgSid + "/11"); |
|
|
|
|
|
List<SysUserVo> sysUserVos = sysUserFeign.getUserByRole(userQuery).getData(); |
|
|
|
|
|
StringBuilder nextNodeUserSids =new StringBuilder(); |
|
|
|
|
|
if (sysUserVos.size() > 0) { |
|
|
|
|
|
for (SysUserVo sysUserVo : sysUserVos) { |
|
|
|
|
|
String sid = sysUserVo.getSid(); |
|
|
|
|
|
nextNodeUserSids.append(sid).append(","); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
String substring = nextNodeUserSids.substring(0,nextNodeUserSids.lastIndexOf(",")); |
|
|
|
|
|
bv.setNextNodeUserSids(substring); |
|
|
|
|
|
} |
|
|
|
|
|
if (shuntingTypeValue.equals("调出")) { |
|
|
|
|
|
String callInOrgSid = baseInternalPurchase.getBuyerOrgSid(); |
|
|
|
|
|
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); |
|
|
|
|
|
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
|
|
|
|
|
|
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList()); |
|
|
|
|
|
List<String> candidateGroups = voList.get(0).getCandidateGroups(); |
|
|
|
|
|
UserQuery userQuery = new UserQuery(); |
|
|
|
|
|
userQuery.setRoleSid(candidateGroups.get(0)); |
|
|
|
|
|
userQuery.setOrgSidPath("11/11/" + callInOrgSid + "/11"); |
|
|
|
|
|
List<SysUserVo> sysUserVos = sysUserFeign.getUserByRole(userQuery).getData(); |
|
|
|
|
|
StringBuilder nextNodeUserSids =new StringBuilder(); |
|
|
|
|
|
if (sysUserVos.size() > 0) { |
|
|
|
|
|
for (SysUserVo sysUserVo : sysUserVos) { |
|
|
|
|
|
String sid = sysUserVo.getSid(); |
|
|
|
|
|
nextNodeUserSids.append(sid).append(","); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
String substring = nextNodeUserSids.substring(0,nextNodeUserSids.lastIndexOf(",")); |
|
|
|
|
|
bv.setNextNodeUserSids(substring); |
|
|
|
|
|
} |
|
|
|
|
|
if (bv.getTaskId().equals(baseInternalPurchase.getTaskId())) { |
|
|
|
|
|
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv); |
|
|
|
|
|
if (!resultBean.getSuccess()) { |
|
|
|
|
|
return rb.setMsg(resultBean.getMsg()); |
|
|
|
|
|
} |
|
|
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
|
|
return rb.success().setData(resultBean.getData()); |
|
|
|
|
|
} else { |
|
|
|
|
|
return rb.setMsg("操作失败!提交的数据不一致"); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
public ResultBean getNextNodesForSubmit(GetNextNodeDto query) { |
|
|
public ResultBean getNextNodesForSubmit(GetNextNodeDto query) { |
|
|
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail(); |
|
|
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail(); |
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|