| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- package com.goafanti.order.service.impl;
- import java.math.BigDecimal;
- import java.util.List;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import com.goafanti.common.dao.NewOrderChangeMapper;
- import com.goafanti.common.dao.OrderChangeLogMapper;
- import com.goafanti.common.dao.TOrderDunMapper;
- import com.goafanti.common.dao.TOrderNewMapper;
- import com.goafanti.common.dao.TOrderTaskMapper;
- import com.goafanti.common.model.OrderChangeLog;
- import com.goafanti.common.model.TOrderDun;
- import com.goafanti.common.model.TOrderNew;
- import com.goafanti.core.mybatis.BaseMybatisDao;
- import com.goafanti.core.mybatis.JDBCIdGenerator;
- import com.goafanti.core.shiro.token.TokenManager;
- import com.goafanti.order.bo.NewOrderChangeBo;
- import com.goafanti.order.bo.OrderChangeLogBo;
- import com.goafanti.order.bo.TOrderTaskBo;
- import com.goafanti.order.service.OrderChangeService;
- @Service
- public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper> implements OrderChangeService {
- @Autowired
- private NewOrderChangeMapper newOrderChangeMapper;
- @Autowired
- private OrderChangeLogMapper orderChangeLogMapper;
- @Autowired
- private TOrderNewMapper tOrderNewMapper;
- @Autowired
- private TOrderDunMapper tOrderDunMapper;
- @Autowired
- private TOrderTaskMapper tOrderTaskMapper;
- @Autowired
- private JDBCIdGenerator idGenerator;
-
-
-
- @Override
- public int addOrderChange(NewOrderChangeBo t) {
- TOrderNew ton=new TOrderNew();
- ton.setOrderNo(t.getOrderNo());
- ton.setDeleteSign(2);//将订单置为锁定
- t.setProcessState(2);//设置营销管理员来审核
- tOrderNewMapper.updateByPrimaryKeySelective(ton);
- newOrderChangeMapper.insertSelective(t);
- NewOrderChangeBo ncb=newOrderChangeMapper.selectByorderNo(t.getOrderNo());
- OrderChangeLog ocl=new OrderChangeLog();
- ocl.setAuditor(TokenManager.getAdminId());
- ocl.setOrderNo(t.getOrderNo());
- ocl.setRemarks("发起了订单变更");
- ocl.setChangeId(ncb.getId());
- ocl.setStatus(0);
- orderChangeLogMapper.insertSelective(ocl);
- return 1;
- }
- @Override
- public NewOrderChangeBo orderChangeDetails(String orderNo) {
- NewOrderChangeBo nb=newOrderChangeMapper.selectByorderNo(orderNo);
- return nb;
- }
- @Override
- public int pushOrderChangeAudit(String orderNo, String remarks, Integer status) {
- NewOrderChangeBo nb=newOrderChangeMapper.selectByorderNo(orderNo);
- //2通过 3驳回
- if (status==2) {
- //变更类型 0退单退款 1项目及金额变更 2仅项目变更 3仅金额变更 4重报 5赠送
- if(nb.getType()==0){
- if (nb.getChangeAmount().compareTo(new BigDecimal("0.2"))<0) {//小于则总裁通过,大于则董事长
- if(nb.getProcessState()==7) {changgeAdopt(nb);}//项目变更通过
- }else {
- if(nb.getProcessState()==8) {changgeAdopt(nb);}//项目变更通过
- }
-
- nb.setProcessState(nb.getProcessState()+1);
- }else {
- if(nb.getProcessState()==5) {changgeAdopt(nb);}//项目变更通过
- //流程状态 1营销员 2营销管理员 3技术员 4技术经理 5技术总监 5财务专员 6财务总监 7总裁 8董事长
- if (nb.getProcessState()==2)nb.setProcessState(7);
- if (nb.getProcessState()==7)nb.setProcessState(5);
- }
- }else {
- nb.setProcessState(1);
- }
- OrderChangeLog ocl=new OrderChangeLog();
- ocl.setAuditor(TokenManager.getAdminId());
- ocl.setOrderNo(orderNo);
- ocl.setRemarks(remarks);
- ocl.setChangeId(nb.getId());
- ocl.setStatus(status);
- orderChangeLogMapper.insertSelective(ocl);
- newOrderChangeMapper.updateByPrimaryKeySelective(nb);
- return 1;
- }
- private void changgeAdopt(NewOrderChangeBo nb) {
- TOrderNew t1=tOrderNewMapper.selectByPrimaryKey(nb.getOrderNo());
- List<TOrderDun> td1=tOrderDunMapper.selectByOrderNoDunSubject(nb.getOrderNo());
- List<TOrderTaskBo> tt1=tOrderTaskMapper.selectOrderTask(nb.getOrderNo());
- String newOrderNo=idGenerator.generateId().toString();
- t1.setOrderNo(newOrderNo);
- tOrderNewMapper.insertSelective(t1);
- for (TOrderTaskBo tOrderTaskBo : tt1) {
- tOrderTaskBo.setId(null);
- tOrderTaskBo.setOrderNo(newOrderNo);
- tOrderTaskMapper.insertSelective(tOrderTaskBo);
- }
- for (TOrderDun tOrderDun : td1) {
- tOrderDun.setId(null);
- tOrderDun.setOrderNo(newOrderNo);
- tOrderDunMapper.insertSelective(tOrderDun);
- }
- //将订单恢复正常
- TOrderNew orderNew =new TOrderNew();
- orderNew.setOrderNo(nb.getOrderNo());
- orderNew.setDeleteSign(4);//设置为变更中
- orderNew .setPrimaryOrder(newOrderNo);
- tOrderNewMapper.updateByPrimaryKeySelective(orderNew);
-
- }
- @Override
- public boolean checkOderNo(String orderNo) {
- int i=newOrderChangeMapper.checkOderNo(orderNo);
- if (i>0) {
- return true;
- }
- return false;
- }
- @Override
- public List<OrderChangeLogBo> selectOrderChangeLogList(String changeId) {
- return orderChangeLogMapper.selectOrderChangeLogList(changeId);
- }
-
- }
|