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<Boolean> cancelBs(Fd_Bsheet fdb,Login lg,boolean delBs,List<Fd_XSTD> xstdlist,Fd_Vehicle fdv,Map<String, List<Fd_XSTDMX>> mxMap )throws Exception{ ObjectResult<Boolean> orr=new ObjectResult<Boolean>(); // å‘é€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; } }