Browse Source

内购流程对接

master
God 3 years ago
parent
commit
3d4bab206e
  1. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchase.java
  2. 10
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseDetailsVo.java
  3. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModprice.java
  4. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java
  5. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseMapper.java
  6. 8
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseMapper.xml
  7. 50
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java
  8. 8
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleMapper.java
  9. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleService.java
  10. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceMapper.xml
  11. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceService.java
  12. 2
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchase.java

@ -73,7 +73,7 @@ public class BaseInternalPurchase extends BaseEntity {
@ApiModelProperty("流程状态")
private String nodeState;
@ApiModelProperty("流程实例的sid")
private String procInstSid;
private String procInstId;
@ApiModelProperty("任务id")
private String taskId;
}

10
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchase/BaseInternalPurchaseDetailsVo.java

@ -78,6 +78,16 @@ public class BaseInternalPurchaseDetailsVo implements Vo {
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty(value = "节点状态")
private String nodeState;
@ApiModelProperty(value = "节点id")
private String nodeSid;
@ApiModelProperty(value = "流程id")
private String procDefId;
@ApiModelProperty(value = "实例id")
private String procInstId;
@ApiModelProperty(value = "任务id")
private String taskId;
@ApiModelProperty("内购车辆列表")
private List<BaseInternalPurchaseVehicleVo> baseInternalPurchaseVehicles; // 内购车辆列表
}

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelmodprice/BaseModelModprice.java

@ -72,7 +72,7 @@ public class BaseModelModprice extends BaseEntity {
@ApiModelProperty(value = "节点状态")
private String nodeState;
@ApiModelProperty(value = "节点id")
private String nodeId;
private String nodeSid;
@ApiModelProperty(value = "流程id")
private String procDefId;
@ApiModelProperty(value = "实例id")

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/BillTypeEnum.java

@ -11,7 +11,7 @@ public enum BillTypeEnum {
*/
PCSQ("PCSQ", "排产申请"),
RZSQ("RZSQ", "入账申请"),
NGSQ("NGSQ", "内购申请"),
;
private String billType;

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseMapper.java

@ -65,4 +65,6 @@ public interface BaseInternalPurchaseMapper extends BaseMapper<BaseInternalPurch
List<BaseInternalPurchaseVo> selectListVo();
int updateFlowFiled(Map<String, Object> beanToMap);
int selectNum(String bill);
}

8
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseMapper.xml

@ -34,11 +34,17 @@
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstSid=#{procInsId}
, procInstId=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid=#{sid}
</update>
<select id="selectNum" resultType="int">
select count(*)
from base_internal_purchase
where applyNo LIKE concat(#{bill}, '%')
</select>
</mapper>

50
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java

@ -39,18 +39,25 @@ import com.yxt.anrui.base.api.basemodelmodprice.BaseModelModprice;
import com.yxt.anrui.base.api.basemodelmodprice.flow.SubmitBaseModelModPriceDto;
import com.yxt.anrui.base.api.baseoutsourcingapplication.GetNextNodeDto;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApply;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApplyDto;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo;
import com.yxt.anrui.base.biz.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleService;
import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.common.base.utils.ConstantUtils;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -93,6 +100,8 @@ public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternal
private FlowTaskFeign flowTaskFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
private QueryWrapper<BaseInternalPurchase> createQueryWrapper(BaseInternalPurchaseQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -132,7 +141,7 @@ public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternal
return rb.success().setData(baseInternalPurchaseDetailsVo);
}
public ResultBean saveAll(BaseInternalPurchaseDto dto) {
public ResultBean<String> saveAll(BaseInternalPurchaseDto dto) {
ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid();
List<BaseInternalPurchaseVehicleDto> baseInternalPurchaseVehicles = dto.getBaseInternalPurchaseVehicles();
@ -145,8 +154,11 @@ public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternal
String sid = baseInternalPurchase.getSid();
BeanUtil.copyProperties(dto,baseInternalPurchase);
baseInternalPurchase.setSid(sid);
//申请编号规则:单据名称大写首字母+品牌编码+分公司编码+年份+月份+4位顺序号
//获取单据名称大写首字母+品牌编码+分公司编码+年份+月份
String billNo = getApplyCode(dto.getCreateBySid());
baseInternalPurchase.setNodeState("待提交");
baseInternalPurchase.setApplyNo(billNo);
save(baseInternalPurchase);
for (BaseInternalPurchaseVehicleDto baseInternalPurchaseVehicle : baseInternalPurchaseVehicles) {
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle1 = new BaseInternalPurchaseVehicle();
@ -156,7 +168,7 @@ public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternal
baseInternalPurchaseVehicle1.setMainSid(sid);
baseInternalPurchaseVehicleService.save(baseInternalPurchaseVehicle1);
}
return rb.success().setMsg("保存成功");
return rb.success().setMsg("保存成功").setData(baseInternalPurchase.getSid());
}
BaseInternalPurchase baseInternalPurchase = fetchBySid(dtoSid);
if (baseInternalPurchase == null){
@ -172,7 +184,21 @@ public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternal
baseInternalPurchaseVehicle1.setMainSid(dtoSid);
baseInternalPurchaseVehicleService.save(baseInternalPurchaseVehicle1);
}
return rb.success().setMsg("修改成功");
return rb.success().setMsg("修改成功").setData(dtoSid);
}
public String getApplyCode(String userSid) {
//获取分公司sid
ResultBean<String> resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid);
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(resultBean.getData());
String orgCode = resultBean1.getData().getOrgCode();
BillNo b = new BillNo();
b.setOrgCode(orgCode);
b.setBillType(BillTypeEnum.NGSQ.getBillType());
String bill = Rule.getBill(b);
int i = baseMapper.selectNum(bill);
String billNo = Rule.getBillNo(bill, i);
return billNo;
}
public ResultBean delAll(String[] sids) {
@ -282,6 +308,20 @@ public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternal
public ResultBean complete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
BaseInternalPurchase baseInternalPurchase = fetchBySid(bv.getBusinessSid());
Map<String, Object> formVariables = bv.getFormVariables();
boolean empty = formVariables.isEmpty();
if (empty == false){
List<Map<String,Object>> l = ConstantUtils.getListData(formVariables,"baseInternalPurchaseVehicles");
for (int i = 0;i<l.size();i++){
Map<String,Object> map = l.get(i);
String sid = map.get("sid").toString();
String vinNo = map.get("vinNo").toString();
if (StringUtils.isBlank(vinNo)){
return rb.setMsg("请填写车架号");
}
baseInternalPurchaseVehicleService.updateVinNoBySid(sid,vinNo);
}
}
if (bv.getTaskId().equals(baseInternalPurchase.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
@ -347,7 +387,7 @@ public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternal
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
//根据业务sid查询排申请
//根据业务sid查询排内购申请
BaseInternalPurchase baseInternalPurchase = fetchBySid(query.getBusinessSid());
String businessTaskId = baseInternalPurchase.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {

8
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleMapper.java

@ -29,10 +29,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.*;
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicle;
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleVo;
@ -69,4 +66,7 @@ public interface BaseInternalPurchaseVehicleMapper extends BaseMapper<BaseIntern
@Select("select * from base_internal_purchase_vehicle where mainSid = #{dtoSid}")
List<BaseInternalPurchaseVehicleVo> fetchByMainSid(String sid);
@Update("update base_internal_purchase_vehicle set vinNo = #{vinNo} where sid = #{sid}")
int updateVinNoBySid(@Param("sid") String sid,@Param("vinNo") String vinNo);
}

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleService.java

@ -115,4 +115,8 @@ public class BaseInternalPurchaseVehicleService extends MybatisBaseService<BaseI
public List<BaseInternalPurchaseVehicleVo> fetchByMainSid(String sid) {
return baseMapper.fetchByMainSid(sid);
}
public int updateVinNoBySid(String sid, String vinNo) {
return baseMapper.updateVinNoBySid(sid,vinNo);
}
}

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceMapper.xml

@ -21,7 +21,7 @@
<update id="updateFlowFiled">
UPDATE base_model_modprice
SET nodeState=#{nodeState}, nodeId=#{taskDefKey}
SET nodeState=#{nodeState}, nodeSid=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceService.java

@ -220,7 +220,7 @@ public class BaseModelModpriceService extends MybatisBaseService<BaseModelModpri
return rb.setMsg("参数错误:instanceId");
}
bv.setTaskId(baseModelModprice.getTaskId());
bv.setTaskDefKey(baseModelModprice.getNodeId());
bv.setTaskDefKey(baseModelModprice.getNodeSid());
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);

2
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

@ -21,7 +21,7 @@ public enum ProcDefEnum {
BASEVEHICLEACTUALSALES("未售买断", "process_6qx07b75:3:265004"),//ToDo
SALESORDER("销售订单审批流程", "process_p5ils2rn:2:245112"),
BASEOUTSOURCINGAPPLICATION("外采申请", "process_5tqysnjc:6:375342"),//TODO
BASEMODELMODPRICE("车型调价申请", "process_kydcif7k:4:280243"),
BASEMODELMODPRICE("车型调价申请", "process_kydcif7k:5:280004"),
BASEINTERNALPURCHASE("内购申请", "process_i6luw5xq:1:267504"),
SCMCARTRANSFER("库存地点变更申请", "process_3bc4p2em:1:270004"), //TODO
FINCOSTAPPLY("费用申请",""),

Loading…
Cancel
Save