package com.mandi.fendan.service.impl; import java.util.List; import java.util.Map; import javax.annotation.Resource; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.mandi.common.JSONobj; import com.mandi.common.Jacksonmethod; import com.mandi.common.Wxhtmethod; import com.mandi.common.ParamFileter.Fileoperation; import com.mandi.dao.common.ObjectResult; import com.mandi.fendan.mapper.Fd_BsheetMapper; import com.mandi.fendan.mapper.Fd_ComVehicleMapper; import com.mandi.fendan.mapper.Fd_VehicleMapper; import com.mandi.fendan.mapper.Fd_XSTDMXMapper; import com.mandi.fendan.mapper.Fd_XSTDMapper; import com.mandi.fendan.mapper.VehicleXSTDMapper; import com.mandi.fendan.persist.Fd_Bsheet; import com.mandi.fendan.persist.Fd_Vehicle; import com.mandi.fendan.persist.Fd_XSTD; import com.mandi.fendan.persist.Fd_XSTDMX; import com.mandi.fendan.persist.VehicleStatus; import com.mandi.fendan.persist.VehicleType; import com.mandi.fendan.util.Contants; import com.mandi.fendan.util.FdtoNc; import com.mandi.system.persist.Login; /** * 业务事务处理类 * */ @Service public class BsTransService { @Resource private FdtoNc fdtonc; @Resource private Fd_BsheetMapper fdbper; @Resource private Fd_VehicleMapper fdvper; @Resource private Fd_ComVehicleMapper fdcvper; @Resource private Fd_XSTDMapper tdper; @Resource private Fd_XSTDMXMapper tdmxper; @Resource private VehicleXSTDMapper vxper; //业务单取消事务 @Transactional(rollbackFor = Exception.class) public ObjectResult cancelBs(Fd_Bsheet fdb,Login lg,boolean delBs,List xstdlist,Fd_Vehicle fdv,Map> mxMap )throws Exception{ ObjectResult orr=new ObjectResult(); // 发送NC系统删除分单信息 这一块建议用线程执行 String bsNo=fdb.getBsNo(); String vehicleId=fdb.getVehicleId(); String sdepartNo=fdb.getSdepartNo(); if (xstdlist != null && xstdlist.size() > 0) { } if (delBs) { if (fdv.getType() == VehicleType.临时车) { this.fdvper.delByVehicleId(vehicleId); } else { fdv.setStatus(VehicleStatus.未配车); this.fdvper.update(fdv); } this.fdbper.delbybsNo(bsNo); // 发送一卡通服务删除表头信息 JsonObject jo = new JsonObject(); jo.addProperty("bussinessNo", bsNo); jo.addProperty("sdepartNo", sdepartNo); JsonObject pfob = Wxhtmethod.postJsonStr(Contants.YKTdelYwd_url, jo.toString()); int code = JSONobj.getint(pfob, "code"); if (code != 0) { throw new Exception(JSONobj.getstring(pfob, "errmsg")); } } this.fdcvper.del(vehicleId, lg.getDepartno(), sdepartNo); if (xstdlist != null && xstdlist.size() > 0) { for (Fd_XSTD fd_XSTD : xstdlist) { this.tdmxper.cancelFDBatch(fd_XSTD.getTd_tdls(), bsNo); this.vxper.delbyIDs(vehicleId, fd_XSTD.getTd_tdbh(),lg.getSdepartNo()); this.tdper.updateFD(fd_XSTD); } } orr.setCode(0); orr.setItem(true); return orr; } }