|
|
@@ -10,8 +10,8 @@ import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
import com.goafanti.admin.service.DepartmentService;
|
|
|
import com.goafanti.common.dao.*;
|
|
|
-import com.goafanti.common.enums.UserFields;
|
|
|
import com.goafanti.common.model.*;
|
|
|
+import com.goafanti.order.service.*;
|
|
|
import org.apache.poi.xssf.usermodel.XSSFCell;
|
|
|
import org.apache.poi.xssf.usermodel.XSSFRow;
|
|
|
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
|
|
@@ -52,10 +52,6 @@ import com.goafanti.order.enums.OrderChangeType;
|
|
|
import com.goafanti.order.enums.OrderNewState;
|
|
|
import com.goafanti.order.enums.OrderType;
|
|
|
import com.goafanti.order.enums.ProcessStatus;
|
|
|
-import com.goafanti.order.service.NewOrderDunService;
|
|
|
-import com.goafanti.order.service.OrderChangeService;
|
|
|
-import com.goafanti.order.service.OrderNewService;
|
|
|
-import com.goafanti.order.service.OrderService;
|
|
|
import com.goafanti.techproject.enums.TaskState;
|
|
|
|
|
|
@Service
|
|
|
@@ -110,6 +106,8 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
private UserMidMapper userMidMapper;
|
|
|
@Autowired
|
|
|
private DepartmentService departmentService;
|
|
|
+ @Autowired
|
|
|
+ private OrderProjectService orderProjectService;
|
|
|
|
|
|
Logger logger = LoggerFactory.getLogger(OrderChangeServiceImpl.class);
|
|
|
|
|
|
@@ -155,7 +153,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
tChangeDunMapper.insertSelectiveList(listcd);
|
|
|
}
|
|
|
List<TChangeTask> listck=new ArrayList<>();
|
|
|
- List<TOrderTaskBo> listTask=tOrderTaskMapper.selectOrderTaskAll(t.getOrderNo());
|
|
|
+ List<TOrderTaskBo> listTask=tOrderTaskMapper.selectOrderTaskAll(t.getOrderNo(),null);
|
|
|
if (listTask!=null&&!listTask.isEmpty()) {
|
|
|
for (TOrderTaskBo tt : listTask) {
|
|
|
TChangeTask ck=new TChangeTask();
|
|
|
@@ -172,11 +170,10 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
ck.setReceiverName(tt.getReceiverName());
|
|
|
ck.setMain(tt.getMain());
|
|
|
ck.setTid(tt.getId());
|
|
|
- if(tt.getServiceLife()!=null){
|
|
|
- ck.setServiceLife(tt.getServiceLife());
|
|
|
- ck.setServiceYear(tt.getServiceYear());
|
|
|
- ck.setYearSum(tt.getYearSum());
|
|
|
- }
|
|
|
+ if(tt.getServiceLife()!=null) ck.setServiceLife(tt.getServiceLife());
|
|
|
+ if(tt.getServiceYear()!=null) ck.setServiceYear(tt.getServiceYear());
|
|
|
+ if(tt.getYearSum()!=null) ck.setYearSum(tt.getYearSum());
|
|
|
+ if(tt.getContractTerm()!=null) ck.setContractTerm(tt.getContractTerm());
|
|
|
listck.add(ck);
|
|
|
}
|
|
|
tChangeTaskMapper.insertSelectiveList(listck);
|
|
|
@@ -198,7 +195,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
* 新增审核流程中的
|
|
|
*/
|
|
|
private void insertOrderExamine(String orderNo) {
|
|
|
- List<TOrderTaskBo> list=tOrderTaskMapper.selectOrderTaskAll(orderNo);
|
|
|
+ List<TOrderTaskBo> list=tOrderTaskMapper.selectOrderTaskAll(orderNo,null);
|
|
|
for (TOrderTaskBo t : list) {
|
|
|
if (t.getConsultantId()!=null) {
|
|
|
OrderExamine o=new OrderExamine();
|
|
|
@@ -422,7 +419,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
private void changeAdopt(NewOrderChangeBo nb) {
|
|
|
TOrderNew t1=tOrderNewMapper.selectByPrimaryKey(nb.getOrderNo());
|
|
|
List<OutNewOrderDunBo> td2=newOrderDunMapper.selectListNewOrderDun(nb.getOrderNo(), null);
|
|
|
- List<TOrderTaskBo> tt1=tOrderTaskMapper.selectOrderTaskAll(nb.getOrderNo());
|
|
|
+ List<TOrderTaskBo> tt1=tOrderTaskMapper.selectOrderTaskAll(nb.getOrderNo(),null);
|
|
|
List<TOrderLogBo> tl1=tOrderLogMapper.selectOrderByNo(nb.getOrderNo());
|
|
|
String newOrderNo=idGenerator.generateId().toString();
|
|
|
t1.setOrderNo(newOrderNo);
|
|
|
@@ -440,6 +437,12 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
}
|
|
|
tOrderTaskBo.setProcessStatus(3);
|
|
|
tOrderTaskMapper.insertSelective(tOrderTaskBo);
|
|
|
+ TTaskMember tTaskMember = tTaskMemberMapper.selectByTid(x);
|
|
|
+ if (tTaskMember!=null){
|
|
|
+ tTaskMember.setId(null);
|
|
|
+ tTaskMember.setTid(tOrderTaskBo.getId());
|
|
|
+ tTaskMemberMapper.insertSelective(tTaskMember);
|
|
|
+ }
|
|
|
int y=tOrderTaskBo.getId();
|
|
|
TTaskMid dtails = tTaskMidMapper.getDtails(tOrderTaskBo.getId());
|
|
|
TTaskMid tTaskMid = new TTaskMid(y, new BigDecimal(0));
|
|
|
@@ -499,7 +502,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
@SuppressWarnings("unchecked")
|
|
|
@Override
|
|
|
public Pagination<NewOderCahngeListBo> selectOrderChangeList(String userName,Integer processState,Integer timeType,String startTime,String endTime,
|
|
|
- String depId,String salesmanName,Integer complete,String orderNo, String contractNo,Integer type,Integer pageSize, Integer pageNo) {
|
|
|
+ String deps,String salesmanName,Integer complete,String orderNo, String contractNo,Integer type,Integer pageSize, Integer pageNo) {
|
|
|
Map<String, Object> parameter=new HashMap<String, Object>();
|
|
|
if(pageSize==null||pageSize<0)pageSize=10;
|
|
|
if(pageNo==null||pageNo<0)pageNo=1;
|
|
|
@@ -514,9 +517,9 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
if (StringUtils.isNotBlank(startTime)) parameter.put("startTime", startTime);
|
|
|
if (StringUtils.isNotBlank(endTime)) parameter.put("endTime", endTime+" 23:59:59");
|
|
|
if (processState==1){
|
|
|
- List<Department> myDep;
|
|
|
- if (StringUtils.isNotBlank(depId)) {
|
|
|
- myDep=departmentService.selectSubDeps(depId,0,1);
|
|
|
+ List<String > myDep;
|
|
|
+ if (deps!=null) {
|
|
|
+ myDep=departmentService.selectSubDeps(deps);
|
|
|
if (myDep.isEmpty()){
|
|
|
return new Pagination(1,10,0);
|
|
|
}
|
|
|
@@ -525,8 +528,8 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
}
|
|
|
parameter.put("deps",myDep);
|
|
|
}else {
|
|
|
- if (StringUtils.isNotBlank(depId)) {
|
|
|
- parameter.put("deps",departmentService.getLowerDep(depId));
|
|
|
+ if (deps!=null) {
|
|
|
+ parameter.put("deps",departmentService.parseArray(deps));
|
|
|
}
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(salesmanName)) parameter.put("salesmanName", salesmanName);
|
|
|
@@ -535,7 +538,6 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
}else {
|
|
|
parameter.put("aid", TokenManager.getAdminId());
|
|
|
}
|
|
|
- parameter.put("deps", orderService.selectMyDeps());
|
|
|
Pagination<NewOderCahngeListBo> data = (Pagination<NewOderCahngeListBo>)findPage("selectOrderChangeList", "selectOrderChangeCount", parameter, pageNo, pageSize);
|
|
|
return data;
|
|
|
}
|
|
|
@@ -545,7 +547,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
t.setProcessState(1);
|
|
|
noc.setId(t.getId());
|
|
|
if (changeType==0) {
|
|
|
- chekeChangeTaskNumber(noc);
|
|
|
+// chekeChangeTaskNumber(noc);
|
|
|
noc.setRemarks(t.getRemarks());
|
|
|
noc.setType(t.getType());
|
|
|
noc.setVoucherUrl(t.getVoucherUrl());
|
|
|
@@ -697,6 +699,8 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 修改订单数据
|
|
|
* @param nb
|
|
|
@@ -721,28 +725,14 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
}else if (nob.getType()==OrderChangeType.ZS.getCode()) {
|
|
|
pushTaskAndDun(nob.getId(),o);
|
|
|
}else if(nob.getType()==OrderChangeType.TDTK.getCode()) {
|
|
|
- //先将业务锁关闭
|
|
|
- List<String> list=tOrderTaskMapper.getLockId(nb.getOrderNo(),o.getSalesmanId(),o.getBuyerId());
|
|
|
- if(!list.isEmpty())userLockReleaseMapper.updateReleaseList(list);
|
|
|
- int i=userLockReleaseMapper.selectByUidGetCount(o.getSalesmanId(),o.getBuyerId());
|
|
|
- if (i<1) userLockReleaseMapper.updateReleaseUser(o.getOrderNo());
|
|
|
+ //先将业务锁关闭 退单退款不做任何处理
|
|
|
+// List<String> list=tOrderTaskMapper.getLockId(nb.getOrderNo(),o.getSalesmanId(),o.getBuyerId());
|
|
|
+// if(!list.isEmpty())userLockReleaseMapper.updateReleaseList(list);
|
|
|
+// int i=userLockReleaseMapper.selectByUidGetCount(o.getSalesmanId(),o.getBuyerId());
|
|
|
+// if (i<1) userLockReleaseMapper.updateReleaseUser(o.getOrderNo());
|
|
|
}
|
|
|
//
|
|
|
- List<TOrderTaskBo> taskBos=tOrderTaskMapper.selectOrderTask(nb.getOrderNo(),0);
|
|
|
- int i=0;
|
|
|
- for (TOrderTaskBo to : taskBos) {
|
|
|
- if (to.getTaskStatus()>TaskState.UN_DISTRIBUTION.getCode()&&to.getTaskStatus()<TaskState.INVALID.getCode()) {
|
|
|
- i++;
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- if (i==taskBos.size()) {
|
|
|
- o.setProcessStatus(ProcessStatus.YQBFPZXSGLY.getCode());
|
|
|
- }else if(i>0&&i<taskBos.size()){
|
|
|
- o.setProcessStatus(ProcessStatus.YBFPZXSGLY.getCode());
|
|
|
- }else if(i==0){
|
|
|
- o.setProcessStatus(ProcessStatus.YPZXSGLY.getCode());
|
|
|
- }
|
|
|
+ o.setProcessStatus(orderProjectService.getOrderProcessStatus(nb.getOrderNo()));
|
|
|
o.setDeleteSign(0);
|
|
|
//处理客户中间表退单标识
|
|
|
//处理客户已派项目
|
|
|
@@ -756,39 +746,13 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
return o;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
private void pushTaskAndDun(Integer id,TOrderNew o) {
|
|
|
- List<TChangeTaskOut> listct=tChangeTaskMapper.selectByCid(id,null);
|
|
|
- for (TChangeTaskOut cd : listct) {
|
|
|
- TOrderTask ot=new TOrderTask();
|
|
|
- if (cd.getType()==1) {
|
|
|
- ot.setOrderNo(cd.getOrderNo());
|
|
|
- ot.setCommodityId(cd.getCommodityId());
|
|
|
- ot.setOrderNo(cd.getOrderNo());
|
|
|
- ot.setCommodityName(cd.getCommodityName());
|
|
|
- ot.setCommodityPrice(cd.getCommodityPrice());
|
|
|
- ot.setCommodityQuantity(cd.getCommodityQuantity());
|
|
|
- ot.setTaskComment(cd.getTaskComment());
|
|
|
- ot.setMain(cd.getMain());
|
|
|
- ot.setTaskStatus(0);
|
|
|
- tOrderTaskMapper.insertSelective(ot);
|
|
|
- if (cd.getServiceLife()!=null){
|
|
|
- addTaskMember(ot.getId(),cd.getServiceLife(),cd.getServiceYear(),cd.getYearSum());
|
|
|
- }
|
|
|
- cd.setTid(ot.getId());
|
|
|
- tChangeTaskMapper.updateByPrimaryKeySelective(cd);
|
|
|
- tChangeDunMapper.updateByCTid(cd.getId(), ot.getId());
|
|
|
- }else if (cd.getType()==2) {
|
|
|
- ot.setId(cd.getTid());
|
|
|
- ot.setCommodityPrice(cd.getCommodityPrice());
|
|
|
- ot.setCommodityQuantity(cd.getCommodityQuantity());
|
|
|
- tOrderTaskMapper.updateByPrimaryKeySelective(ot);
|
|
|
- if (cd.getServiceLife()!=null){
|
|
|
- updateTaskMember(ot.getId(),cd.getServiceLife(),cd.getServiceYear(),cd.getYearSum());
|
|
|
- }
|
|
|
- }else if(cd.getType()==3) {
|
|
|
- tOrderTaskMapper.deleteByPrimaryKey(cd.getTid());
|
|
|
- }
|
|
|
- }
|
|
|
+ List<TChangeTaskOut> listct=tChangeTaskMapper.selectByCid(id,3);
|
|
|
+ HashMap<Integer, Integer> map=changeAddOrderTask(listct,0,null);
|
|
|
+ List<TChangeTaskOut> listct2=tChangeTaskMapper.selectByCid(id,2);
|
|
|
+ changeAddOrderTask(listct2,1 ,map);
|
|
|
|
|
|
List<TChangeDunOut> listcd=tChangeDunMapper.selectByCid(id);
|
|
|
for (TChangeDunOut cd : listcd) {
|
|
|
@@ -821,21 +785,86 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void updateTaskMember(Integer id, String serviceLife, String serviceYear, Integer yearSum) {
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @param listct 数据
|
|
|
+ * @param type 0普通数据处理 1子集数据处理
|
|
|
+ */
|
|
|
+ private HashMap<Integer, Integer> changeAddOrderTask(List<TChangeTaskOut> listct, Integer type,HashMap<Integer, Integer> input) {
|
|
|
+ HashMap<Integer, Integer> map = new HashMap<>();
|
|
|
+ for (TChangeTaskOut cd : listct) {
|
|
|
+ TOrderTask ot=new TOrderTask();
|
|
|
+ if (cd.getType()==1) {
|
|
|
+ ot.setOrderNo(cd.getOrderNo());
|
|
|
+ ot.setCommodityId(cd.getCommodityId());
|
|
|
+ ot.setOrderNo(cd.getOrderNo());
|
|
|
+ ot.setCommodityName(cd.getCommodityName());
|
|
|
+ ot.setCommodityPrice(cd.getCommodityPrice());
|
|
|
+ ot.setCommodityQuantity(cd.getCommodityQuantity());
|
|
|
+ ot.setTaskComment(cd.getTaskComment());
|
|
|
+ ot.setMain(cd.getMain());
|
|
|
+ ot.setTaskStatus(0);
|
|
|
+ ot.setSplitStatus(cd.getSplitStatus());
|
|
|
+ if (cd.getSplitStatus()==2){
|
|
|
+ Integer tid;
|
|
|
+ if (cd.getSplitSuper()!=null){
|
|
|
+ ot.setSplitSuper(cd.getSplitSuper());
|
|
|
+ }else {
|
|
|
+ if (cd.getTid()!=null){
|
|
|
+ tid=cd.getTid();
|
|
|
+ }else{
|
|
|
+ tid=input.get(cd.getChangeSplitSuper());
|
|
|
+ }
|
|
|
+ if (tid==null)tid=tChangeTaskMapper.selectByPrimaryKey(cd.getChangeSplitSuper()).getTid();
|
|
|
+ ot.setSplitSuper(tid);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (cd.getDeclarationBatch()!=null)ot.setDeclarationBatch(cd.getDeclarationBatch());
|
|
|
+ if (cd.getPatentType()!=null)ot.setPatentType(cd.getPatentType());
|
|
|
+ tOrderTaskMapper.insertSelective(ot);
|
|
|
+ if (cd.getSplitStatus()==1){
|
|
|
+ map.put(cd.getId(),ot.getId());
|
|
|
+ }
|
|
|
+ if (cd.getServiceLife()!=null){
|
|
|
+ addTaskMember(ot.getId(),cd.getServiceLife(),cd.getServiceYear(),cd.getYearSum(),cd.getContractTerm());
|
|
|
+ }
|
|
|
+ cd.setTid(ot.getId());
|
|
|
+ tChangeTaskMapper.updateByPrimaryKeySelective(cd);
|
|
|
+ tChangeDunMapper.updateByCTid(cd.getId(), ot.getId());
|
|
|
+ }else if (cd.getType()==2) {
|
|
|
+ ot.setId(cd.getTid());
|
|
|
+ ot.setCommodityPrice(cd.getCommodityPrice());
|
|
|
+ ot.setCommodityQuantity(cd.getCommodityQuantity());
|
|
|
+ if (cd.getDeclarationBatch()!=null)ot.setDeclarationBatch(cd.getDeclarationBatch());
|
|
|
+ if (cd.getPatentType()!=null)ot.setPatentType(cd.getPatentType());
|
|
|
+ tOrderTaskMapper.updateByPrimaryKeySelective(ot);
|
|
|
+ if (cd.getServiceLife()!=null){
|
|
|
+ updateTaskMember(ot.getId(),cd.getServiceLife(),cd.getServiceYear(),cd.getYearSum(),cd.getContractTerm());
|
|
|
+ }
|
|
|
+ }else if(cd.getType()==3) {
|
|
|
+ tOrderTaskMapper.deleteByPrimaryKey(cd.getTid());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void updateTaskMember(Integer id, String serviceLife, String serviceYear, Integer yearSum,String contractTerm) {
|
|
|
TTaskMember ttm=new TTaskMember();
|
|
|
ttm.setTid(id);
|
|
|
ttm.setServiceLife(serviceLife);
|
|
|
ttm.setServiceYear(serviceYear);
|
|
|
ttm.setYearSum(yearSum);
|
|
|
+ ttm.setContractTerm(contractTerm);
|
|
|
tTaskMemberMapper.updateByTid(ttm);
|
|
|
}
|
|
|
|
|
|
- private void addTaskMember(Integer id, String serviceLife, String serviceYear, Integer yearSum) {
|
|
|
+ private void addTaskMember(Integer id, String serviceLife, String serviceYear, Integer yearSum,String contractTerm) {
|
|
|
TTaskMember ttm=new TTaskMember();
|
|
|
ttm.setTid(id);
|
|
|
ttm.setServiceLife(serviceLife);
|
|
|
ttm.setServiceYear(serviceYear);
|
|
|
ttm.setYearSum(yearSum);
|
|
|
+ ttm.setContractTerm(contractTerm);
|
|
|
tTaskMemberMapper.insertSelective(ttm);
|
|
|
}
|
|
|
|
|
|
@@ -853,10 +882,11 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
@SuppressWarnings("unchecked")
|
|
|
@Override
|
|
|
public void exportMyChange(HttpServletResponse response, String userName, Integer processState, Integer timeType,
|
|
|
- String startTime, String endTime, String depId, String salesmanName, Integer complete,String orderNo, String contractNo,Integer type,Integer pageSize,Integer pageNo) throws IOException {
|
|
|
+ String startTime, String endTime, String deps, String salesmanName, Integer complete,String orderNo, String contractNo,
|
|
|
+ Integer type,Integer pageSize,Integer pageNo) throws IOException {
|
|
|
OutputStream out = response.getOutputStream();
|
|
|
List<NewOderCahngeListBo>list=(List<NewOderCahngeListBo>) selectOrderChangeList( userName, processState, timeType, startTime, endTime,
|
|
|
- depId, salesmanName, complete, orderNo, contractNo, type, pageSize, pageNo).getList();
|
|
|
+ deps, salesmanName, complete, orderNo, contractNo, type, pageSize, pageNo).getList();
|
|
|
try {
|
|
|
//设计表头 String[] comment = {"合同编号","订单编号","客户名称","订单部门","订单类型","下单时间","订单状态","合同额(万元)","已付额(万元)","欠款(万元)","订单负责人","变更类型","变更审核状态","变更提交时间"}
|
|
|
String[] comment = {"合同编号","订单编号","客户名称","订单部门","订单类型","下单时间","订单状态","合同额(万元)","已付额(万元)","欠款(万元)","订单负责人","变更类型","变更审核状态","变更提交时间"};
|
|
|
@@ -957,9 +987,10 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
|
|
|
|
|
|
@Override
|
|
|
- public int addChangeTask(TChangeTask t) {
|
|
|
+ public Object addChangeTask(TChangeTask t) {
|
|
|
t.setType(1);
|
|
|
- return tChangeTaskMapper.insertSelective(t);
|
|
|
+ tChangeTaskMapper.insertSelective(t);
|
|
|
+ return t;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -984,8 +1015,15 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
public List<TChangeTaskOut> selectChangeTask(Integer cid) {
|
|
|
List<TChangeTaskOut> list=tChangeTaskMapper.selectByCid(cid,3);//3设置不等于2
|
|
|
for (TChangeTaskOut tChangeTaskOut : list) {
|
|
|
- List<TChangeTask> list2=tChangeTaskMapper.selectBySuper(tChangeTaskOut.getTid(),cid);
|
|
|
- tChangeTaskOut.setList(list2);
|
|
|
+ if(tChangeTaskOut.getSplitStatus()==1){
|
|
|
+ //变更会员子项目有2中,一种是复制过来的,根据上级项目编号关联,还一种是新增的根据变更项目编号关联
|
|
|
+
|
|
|
+ TChangeTask input= new TChangeTask();
|
|
|
+ input.setCid(cid);
|
|
|
+ input.setSplitSuper(tChangeTaskOut.getTid());
|
|
|
+ input.setChangeSplitSuper(tChangeTaskOut.getId());
|
|
|
+ tChangeTaskOut.setList(getChangeSonTasks(input));
|
|
|
+ }
|
|
|
}
|
|
|
return list;
|
|
|
}
|
|
|
@@ -1011,7 +1049,7 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
tChangeTaskMapper.updateByTid(null,tt.getTid(),tt.getCid(),3);
|
|
|
tChangeDunMapper.updateByTid(tt.getTid(),tt.getCid(),3);
|
|
|
}else if(tt.getSplitStatus()==2) {
|
|
|
- List<TChangeTask> list=tChangeTaskMapper.selectBySuper(tt.getSplitSuper(),tt.getCid());
|
|
|
+ List<TChangeTask> list=tChangeTaskMapper.selectBySuper(tt.getSplitSuper(),null,tt.getCid());
|
|
|
boolean flag=true;
|
|
|
for (TChangeTask tc : list) {
|
|
|
if (tc.getType()!=3) {
|
|
|
@@ -1028,11 +1066,15 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
}else if(t.getType()==2){
|
|
|
tChangeTaskMapper.updateByTid(t.getTid(),null,tt.getCid(),2);
|
|
|
if (tt.getSplitStatus()==1) {
|
|
|
- tChangeTaskMapper.updateByTid(null,tt.getTid(),tt.getCid(),2);
|
|
|
+ if (t.getServiceLife()!=null||t.getServiceYear()!=null||t.getYearSum()!=null||t.getContractTerm()!=null){
|
|
|
+ tChangeTaskMapper.updateMemberByTid(tt.getTid(),t.getCid(),null,t.getServiceLife(),t.getServiceYear(),t.getYearSum(),t.getContractTerm());
|
|
|
+ }
|
|
|
+ updateChangeType(tt);
|
|
|
}else if(tt.getSplitStatus()==2) {
|
|
|
tChangeTaskMapper.updateByTid(tt.getSplitSuper(),null,tt.getCid(),2);
|
|
|
}
|
|
|
}
|
|
|
+ //如果没有tid是新增项目则直接删除
|
|
|
}else {
|
|
|
if (t.getType()==3) {
|
|
|
tChangeTaskMapper.deleteByPrimaryKey(t.getId());
|
|
|
@@ -1042,7 +1084,18 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
return tChangeTaskMapper.updateByPrimaryKeySelective(t);
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
+ private void updateChangeType(TChangeTask t) {
|
|
|
+ List<TChangeTask> changeSonTasks = getChangeSonTasks(t);
|
|
|
+ List<Integer> list=new ArrayList<>();
|
|
|
+ for (TChangeTask changeSonTask : changeSonTasks) {
|
|
|
+ if (changeSonTask.getType()==0||changeSonTask.getType()==2){
|
|
|
+ list.add(changeSonTask.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(!list.isEmpty())tChangeTaskMapper.updateTypeBatch(2,list);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public int updateChangeDun(TChangeDun t) {
|
|
|
if(t.getCustomizeTimes()!=null)t.setCustomizeTime(DateUtils.StringToDate(t.getCustomizeTimes(), AFTConstants.YYYYMMDD));
|
|
|
if (t.getType()==1||t.getType()==2) {
|
|
|
@@ -1168,5 +1221,74 @@ public class OrderChangeServiceImpl extends BaseMybatisDao<NewOrderChangeMapper>
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Object addMemberSonProject(Integer id, String serviceYear, String taskComment) {
|
|
|
+ //先修改父项目
|
|
|
+ TChangeTask tChangeTask = tChangeTaskMapper.selectByPrimaryKey(id);
|
|
|
+ Integer tid=tChangeTask.getTid();
|
|
|
+ tChangeTask.setSplitStatus(1);
|
|
|
+ tChangeTaskMapper.updateByPrimaryKey(tChangeTask);
|
|
|
+ //在判断是否有删除的年份没有就新增
|
|
|
+ tChangeTask.setId(null);
|
|
|
+ tChangeTask.setTid(null);
|
|
|
+ tChangeTask.setSplitStatus(2);
|
|
|
+ if(tid!=null){
|
|
|
+ tChangeTask.setSplitSuper(tid);
|
|
|
+ }else {
|
|
|
+ tChangeTask.setChangeSplitSuper(id);
|
|
|
+ }
|
|
|
+ tChangeTask.setType(1);
|
|
|
+ tChangeTask.setCommodityQuantity(1);
|
|
|
+ tChangeTask.setTaskComment(taskComment);
|
|
|
+ tChangeTask.setServiceYear(serviceYear);
|
|
|
+ tChangeTaskMapper.insertSelective(tChangeTask);
|
|
|
+ return tChangeTask;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public int deleteMemberSonProject(Integer id) {
|
|
|
+ TChangeTask tChangeTask = tChangeTaskMapper.selectByPrimaryKey(id);
|
|
|
+ if (tChangeTask.getType()==1){
|
|
|
+ tChangeTaskMapper.deleteByPrimaryKey(id);
|
|
|
+ }else {
|
|
|
+ TChangeTask newtChangeTask = new TChangeTask();
|
|
|
+ newtChangeTask.setId(id);
|
|
|
+ newtChangeTask.setType(3);
|
|
|
+ tChangeTaskMapper.updateByPrimaryKeySelective(newtChangeTask);
|
|
|
+
|
|
|
+ }
|
|
|
+ List<TChangeTask> tChangeTasks = getChangeSonTasks(tChangeTask);
|
|
|
+ //如果没有子项目则修改上级
|
|
|
+ if (tChangeTasks == null || tChangeTasks.isEmpty()) {
|
|
|
+ TChangeTask changeTask = new TChangeTask();
|
|
|
+ changeTask.setId(tChangeTask.getSplitSuper());
|
|
|
+ changeTask.setSplitStatus(0);
|
|
|
+ tChangeTaskMapper.updateByPrimaryKeySelective(changeTask);
|
|
|
+ }
|
|
|
+ return 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Object updateMemberSonProject(Integer id,String taskComment) {
|
|
|
+ TChangeTask tChangeTask = tChangeTaskMapper.selectByPrimaryKey(id);
|
|
|
+ tChangeTask.setType(2);
|
|
|
+ tChangeTask.setTaskComment(taskComment);
|
|
|
+ tChangeTaskMapper.updateByPrimaryKeySelective(tChangeTask);
|
|
|
+ return tChangeTask;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 如果是有splitSuper 是父有项目的tid,变更父项目有订单项目,则需要看订单项目变更后的子集,反正则不需要
|
|
|
+ * changeSplitSuper 是当前变更项目的子集
|
|
|
+ * @param tChangeTask
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private List<TChangeTask> getChangeSonTasks(TChangeTask tChangeTask) {
|
|
|
+ List<TChangeTask> tChangeTasks = new ArrayList<>();
|
|
|
+ if (tChangeTask.getSplitSuper()!=null)tChangeTasks.addAll(tChangeTaskMapper.selectBySuper(tChangeTask.getSplitSuper(),null, tChangeTask.getCid()));
|
|
|
+ tChangeTasks.addAll(tChangeTaskMapper.selectBySuper(null, tChangeTask.getChangeSplitSuper(), tChangeTask.getCid()));
|
|
|
+ return tChangeTasks;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|