12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540 |
- package com.ruoyi.warehouseBusiness.service.impl;
- import cn.hutool.core.bean.BeanUtil;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
- import com.ruoyi.approvalFlow.domain.AuditItems;
- import com.ruoyi.approvalFlow.mapper.AuditItemsMapper;
- import com.ruoyi.approvalFlow.service.impl.AuditItemsServiceImpl;
- import com.ruoyi.basicData.domain.TCorps;
- import com.ruoyi.basicData.domain.TFees;
- import com.ruoyi.basicData.domain.TGoods;
- import com.ruoyi.basicData.domain.TWarehouseArea;
- import com.ruoyi.basicData.mapper.*;
- import com.ruoyi.basicData.service.impl.TWarehouseServiceImpl;
- import com.ruoyi.common.core.domain.AjaxResult;
- import com.ruoyi.common.core.domain.entity.*;
- import com.ruoyi.common.core.domain.model.LoginUser;
- import com.ruoyi.common.utils.DateUtils;
- import com.ruoyi.common.utils.SecurityUtils;
- import com.ruoyi.common.utils.StringUtils;
- import com.ruoyi.common.utils.ip.AddressUtils;
- import com.ruoyi.quotation.domain.TSeaprice;
- import com.ruoyi.quotation.mapper.TSeapriceMapper;
- import com.ruoyi.reportManagement.domain.TWareHouseItemsExcel;
- import com.ruoyi.reportManagement.domain.TWhgenleg;
- import com.ruoyi.reportManagement.mapper.TWhgenlegMapper;
- import com.ruoyi.shipping.domain.*;
- import com.ruoyi.shipping.excel.TWarehousebillsCntritemsExcel;
- import com.ruoyi.shipping.mapper.*;
- import com.ruoyi.system.domain.SysCheckCode;
- import com.ruoyi.system.domain.SysConfig;
- import com.ruoyi.system.mapper.*;
- import com.ruoyi.warehouseBusiness.domain.*;
- import com.ruoyi.warehouseBusiness.excel.*;
- import com.ruoyi.warehouseBusiness.mapper.*;
- import com.ruoyi.warehouseBusiness.service.ITWarehouseBillsService;
- import jdk.jfr.events.ExceptionThrownEvent;
- import org.apache.poi.ss.usermodel.*;
- import org.apache.poi.ss.util.CellReference;
- import org.apache.poi.xssf.usermodel.XSSFWorkbook;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.omg.CORBA.OBJ_ADAPTER;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.transaction.interceptor.TransactionAspectSupport;
- import org.springframework.web.multipart.MultipartFile;
- import java.io.IOException;
- import java.io.InputStream;
- import java.math.BigDecimal;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.*;
- import java.util.stream.Collectors;
- import static com.ruoyi.common.utils.poi.Excel.filter;
- import static java.util.stream.Collectors.toList;
- /**
- * 详情主表Service业务层处理
- *
- * @author ruoyi
- * @date 2020-12-11
- */
- @Service
- public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
- @Autowired
- private TFeesMapper tFeesMapper;
- @Autowired
- private TCntrMapper tCntrMapper;
- @Autowired
- private TGoodsMapper tGoodsMapper;
- @Autowired
- private TCorpsMapper tCorpsMapper;
- @Autowired
- private TVoyageMapper tVoyageMapper;
- @Autowired
- private SysUserMapper sysUserMapper;
- @Autowired
- private SysDeptMapper sysDeptMapper;
- @Autowired
- private SysRoleMapper sysRoleMapper;
- @Autowired
- private BillnoDelMapper billnoDelMapper;
- @Autowired
- private TWhgenlegMapper tWhgenlegMapper;
- @Autowired
- private SysConfigMapper sysConfigMapper;
- @Autowired
- private TWarehouseMapper tWarehouseMapper;
- @Autowired
- private TSeapriceMapper tSeapriceMapper;
- @Autowired
- private AuditItemsMapper auditItemsMapper;
- @Autowired
- private TEnclosureMapper tEnclosureMapper;
- @Autowired
- private SysDictDataMapper sysDictDataMapper;
- @Autowired
- private AuditItemsServiceImpl auditItemsService;
- @Autowired
- private TWarehouseAreaMapper tWarehouseAreaMapper;
- @Autowired
- private TWarehouseServiceImpl warehouseServiceImpl;
- @Autowired
- private TWarehouseBillsMapper tWarehouseBillsMapper;
- @Autowired
- private BillnoSerialServiceImpl billnoSerialServiceImpl;
- @Autowired
- private TWarehousebillsLogMapper tWarehousebillsLogMapper;
- @Autowired
- private TWarehousebillsCntrMapper tWarehousebillsCntrMapper;
- @Autowired
- private TWarehousebillsfeesMapper tWarehousebillsfeesMapper;
- @Autowired
- private TWarehousebillsitemsMapper tWarehousebillsitemsMapper;
- @Autowired
- private TWarehouseAgreementServiceImpl tWarehouseAgreementService;
- @Autowired
- private TWarehouseAgreementitemsMapper tWarehouseAgreementitemsMapper;
- @Autowired
- private TWarehousebillsCntritemsMapper tWarehousebillsCntritemsMapper;
- @Autowired
- private TTemporaryFileMapper tTemporaryFileMapper;
- @Autowired
- private TWarehousebillsLoggerMapper tWarehousebillsLoggerMapper;
- @Autowired
- private TWarehousebillsCntrLoggerMapper tWarehousebillsCntrLoggerMapper;
- @Autowired
- private TWarehousebillsCntritemsLoggerMapper tWarehousebillsCntritemsLoggerMapper;
- @Autowired
- private TWarehousebillsfeesLoggerMapper tWarehousebillsfeesLoggerMapper;
- private static final Logger log = LoggerFactory.getLogger(AddressUtils.class);
- /**
- * 查询详情主表
- *
- * @param fId 详情主表ID
- * @return 详情主表
- */
- @Override
- public Map<String, Object> selectTWarehousebillsById(Long fId) {
- Map<String, Object> map = new HashMap<>();
- // 查询仓库主表数据
- TWarehouseBills tWarehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(fId);
- // 客户表
- List<Long> corpsId = new ArrayList<>();
- // 用户表
- List<SysUser> sysUserList = new ArrayList<>();
- // 仓库表
- List<TWarehouse> warehouseList = new ArrayList<>();
- // 商品
- List<Long> goodsId = new ArrayList<>();
- // 费用
- List<Long> feesId = new ArrayList<>();
- // 车队
- List<Long> fleetId = new ArrayList<>();
- // 库区
- List<Long> warehouseAreaId = new ArrayList<>();
- if (!StringUtils.isNull(tWarehousebills)) {
- if (StringUtils.isNotNull(tWarehousebills.getfTocorpid())) {
- corpsId.add(tWarehousebills.getfTocorpid());
- }
- if (StringUtils.isNotNull(tWarehousebills.getfLabour())) {
- corpsId.add(tWarehousebills.getfLabour());
- }
- if (StringUtils.isNotNull(tWarehousebills.getfFleet())) {
- corpsId.add(tWarehousebills.getfFleet());
- }
- corpsId.add(tWarehousebills.getfCorpid());
- // 查询制单人
- SysUser logUser = sysUserMapper.selectUserByUserName(tWarehousebills.getCreateBy());
- if (StringUtils.isNotNull(logUser)) {
- SysDept sysDept = sysDeptMapper.selectDeptById(logUser.getDeptId());
- sysUserList.add(logUser);
- map.put("dept", sysDept);
- }
- SysUser sysUser = sysUserMapper.selectUserByUserName(tWarehousebills.getfStorekeeper());
- if (StringUtils.isNotNull(sysUser)) {
- sysUserList.add(sysUser);
- }
- // 查询仓库
- TWarehouse tWarehouse = tWarehouseMapper.selectTWarehouseById(tWarehousebills.getfWarehouseid());
- if (StringUtils.isNotNull(tWarehouse)) {
- warehouseList.add(tWarehouse);
- }
- //查询业务员
- if (tWarehousebills.getfSalesmanId() != null){
- SysUser user = sysUserMapper.selectUserById(tWarehousebills.getfSalesmanId());
- map.put("fSalesman",user);
- }
- // 查询经营单位
- corpsId.add(tWarehousebills.getfSbu());
- map.put("warehousebills", tWarehousebills);
- }
- // 查询箱型 箱量表
- TWarehousebillsCntr cntr = new TWarehousebillsCntr();
- cntr.setfPid(fId);
- map.put("tCntrList", tWarehousebillsCntrMapper.selectTWarehousebillsCntrList(cntr));
- // 查询仓库明细从表数据
- TWarehousebillsitems tWarehousebillsitems = new TWarehousebillsitems();
- tWarehousebillsitems.setfPid(fId);
- List<Map<String, Object>> mapList = tWarehousebillsitemsMapper.selectGoodsTransferitemsList(tWarehousebillsitems);
- if (StringUtils.isNotEmpty(mapList)) {
- for (Map<String, Object> wb : mapList) {
- /*TWhgenleg tWhgenleg = new TWhgenleg();
- tWhgenleg.setfCorpid(tWarehousebills.getfCorpid());
- if (StringUtils.isNotNull(wb.get("fGoodsid"))) {
- tWhgenleg.setfGoodsid(((Integer) wb.get("fGoodsid")).longValue());
- }
- if (StringUtils.isNotNull(wb.get("fWarehouselocid"))) {
- tWhgenleg.setfWarehouseLocationid(((Integer) wb.get("fWarehouselocid")).longValue());
- }
- tWhgenleg.setfTrademodeid(tWarehousebills.getfTrademodeid());
- tWhgenleg.setfMblno(tWarehousebills.getfMblno());
- TWhgenleg whgenleg = tWhgenlegMapper.selectTWhgenleg(tWhgenleg);
- if (StringUtils.isNotNull(whgenleg)) {
- wb.put("fQtyblc", whgenleg.getfQtyblc());
- }*/
- if (StringUtils.isNotNull(wb.get("fGoodsid"))) {
- Integer fGoodsid = (Integer) wb.get("fGoodsid");
- goodsId.add(fGoodsid.longValue());
- }
- if (StringUtils.isNotNull(wb.get("fFleet"))) {
- Integer fFleetid = (Integer) wb.get("fFleet");
- fleetId.add(fFleetid.longValue());
- }
- if (StringUtils.isNotNull(wb.get("fWarehouselocid"))) {
- Long fWarehouselocid = Long.valueOf(String.valueOf(wb.get("fWarehouselocid")));
- if (wb.get("fTransferWarehouselocid") != null) {
- Long fTransferWarehouselocid = Long.valueOf(String.valueOf(wb.get("fTransferWarehouselocid")));
- warehouseAreaId.add(fTransferWarehouselocid);
- }
- warehouseAreaId.add(fWarehouselocid);
- }
- }
- map.put("warehouseBillsItem", mapList);
- }
- // 查询仓库费用明细表数据
- TWarehousebillsfees tWarehousebillsfees = new TWarehousebillsfees();
- tWarehousebillsfees.setfPid(fId);
- List<TWarehousebillsfees> warehousebillsfeesDr = new ArrayList<>();
- List<TWarehousebillsfees> warehousebillsfeesCr = new ArrayList<>();
- List<TWarehousebillsfees> warehousebillsfees = tWarehousebillsfeesMapper.selectTWarehousebillsfeesList(tWarehousebillsfees);
- if (StringUtils.isNotEmpty(warehousebillsfees)) {
- for (TWarehousebillsfees fees : warehousebillsfees) {
- if ("C".equals(fees.getfDc())) {
- warehousebillsfeesCr.add(fees);
- } else {
- warehousebillsfeesDr.add(fees);
- }
- corpsId.add(fees.getfCorpid());
- feesId.add(fees.getfFeeid());
- }
- }
- // 查询附件表数据
- TEnclosure enclosure = new TEnclosure();
- enclosure.setfPid(fId);
- List<TEnclosure> enclosures = tEnclosureMapper.selectTEnclosureList(enclosure);
- if (StringUtils.isNotEmpty(enclosures)) {
- map.put("enclosures", enclosures);
- }
- List<TCorps> corpsList = new ArrayList<>();
- List<Long> corpsIdList = StringUtils.integerDeduplication(corpsId);
- for (Long corpId : corpsIdList) {
- TCorps corps = tCorpsMapper.selectTCorpsById(corpId);
- if (StringUtils.isNotNull(corps)) {
- corpsList.add(corps);
- }
- }
- List<TWarehouseArea> warehouseAreaList = new ArrayList<>();
- /*List<Long> warehouseAreaIdList = StringUtils.integerDeduplication(warehouseAreaId);
- for (Long warehouseArea : warehouseAreaIdList) {
- TWarehouseArea tWarehouseArea = tWarehouseAreaMapper.selectTWarehouseAreaById(warehouseArea);
- if (StringUtils.isNotNull(tWarehouseArea)) {
- warehouseAreaList.add(tWarehouseArea);
- }
- }*/
- List<TGoods> goodsList = new ArrayList<>();
- List<Long> goodsIdList = StringUtils.integerDeduplication(goodsId);
- for (Long goods : goodsIdList) {
- TGoods tGoods = tGoodsMapper.selectTGoodsById(goods);
- if (StringUtils.isNotNull(tGoods)) {
- goodsList.add(tGoods);
- }
- }
- List<TCorps> fleetList = new ArrayList<>();
- List<Long> fleetIdList = StringUtils.integerDeduplication(fleetId);
- for (Long goods : fleetIdList) {
- TCorps fleet = tCorpsMapper.selectTCorpsById(goods);
- if (StringUtils.isNotNull(fleet)) {
- fleetList.add(fleet);
- }
- }
- List<TFees> feesList = new ArrayList<>();
- List<Long> longList = StringUtils.integerDeduplication(feesId);
- for (Long fees : longList) {
- TFees tFees = tFeesMapper.selectTFeesById(fees);
- if (StringUtils.isNotNull(tFees)) {
- feesList.add(tFees);
- }
- }
- map.put("corps", corpsList);
- map.put("goodsList", goodsList);
- map.put("feesList", feesList);
- map.put("fleetList", fleetList);
- map.put("sysUser", sysUserList);
- map.put("warehouse", warehouseList);
- map.put("warehouseAreas", warehouseAreaList);
- map.put("warehousebillsfeesDr", warehousebillsfeesDr);
- map.put("warehousebillsfeesCr", warehousebillsfeesCr);
- map.put("dept", sysDeptMapper.selectDeptById(tWarehousebills.getfDeptid()));
- return map;
- }
- @Override
- public AjaxResult selectTWarehousebills(Long fId) {
- TWarehouseBills warehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(fId);
- TWarehousebillsCntr tWarehousebillsCntr = new TWarehousebillsCntr();
- tWarehousebillsCntr.setfPid(fId);
- List<TWarehousebillsCntr> warehousebillsCntrs = tWarehousebillsCntrMapper.selectTWarehousebillsCntrList(tWarehousebillsCntr);
- TWarehousebillsCntritems tWarehousebillsCntritems = new TWarehousebillsCntritems();
- tWarehousebillsCntritems.setfPid(fId);
- List<TWarehousebillsCntritems> warehousebillsCntritems = tWarehousebillsCntritemsMapper.selectTWarehousebillsCntritemsList(tWarehousebillsCntritems);
- Map<String, Object> map = new HashMap<>();
- map.put("warehouseBills", warehouseBills);
- map.put("warehousebillsCntrs", warehousebillsCntrs);
- map.put("warehousebillsCntritems", warehousebillsCntritems);
- return AjaxResult.success("成功", map);
- }
- /**
- * 查询详情主表列表
- *
- * @param tWarehousebills 详情主表
- * @return 详情主表
- */
- @Override
- public List<Map<String, Object>> selectWarehouseBusinessList(TWarehouseBills tWarehousebills) {
- if (tWarehousebills.getfBilltype().equals("JSCCF") || tWarehousebills.getfBilltype().equals("HQZY")) {
- return tWarehouseBillsMapper.selectWarehouseBusinessList1(tWarehousebills);
- } else {
- return tWarehouseBillsMapper.selectWarehouseBusinessList(tWarehousebills);
- }
- }
- /**
- * 查询导出所需主表列表
- *
- * @param tWarehousebills 详情主表
- * @return 详情主表
- */
- @Override
- public List<TWarehouseBills> selectTWarehousebillsList(TWarehouseBills tWarehousebills) {
- return tWarehouseBillsMapper.selectTWarehousebillsList(tWarehousebills);
- }
- /**
- * 根据条件查询总账是否存在
- *
- * @param warehouseBills 仓库主表
- * @param warehousebillsitems 仓库明细表
- * @param ifCntrno
- * @return 库存总账
- */
- public TWhgenleg queryTWhgenleg(TWarehouseBills warehouseBills, TWarehousebillsitems warehousebillsitems, String ifCntrno) {
- TWhgenleg tWhgenleg = new TWhgenleg();
- // 客户
- tWhgenleg.setfCorpid(warehouseBills.getfCorpid());
- // 提单号
- if ("HQZY".equals(warehouseBills.getfBilltype()) || "CKDB".equals(warehouseBills.getfBilltype()) ||
- "HWTG".equals(warehouseBills.getfBilltype()) || "SJCK".equals(warehouseBills.getfBilltype())) {
- tWhgenleg.setfMblno(warehousebillsitems.getfMblno());
- } else {
- tWhgenleg.setfMblno(warehouseBills.getfMblno());
- }
- // 业务类型
- tWhgenleg.setfBusinessType(warehousebillsitems.getfBusinessType());
- // 业务类型详情
- tWhgenleg.setfMarks(warehousebillsitems.getfMarks());
- // 原始入库日期
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- String time = sdf.format(warehousebillsitems.getfOriginalbilldate());
- try {
- tWhgenleg.setfOriginalbilldate(sdf.parse(time));
- } catch (ParseException e) {
- e.printStackTrace();
- }
- // 箱号
- if ("1".equals(ifCntrno)) {
- tWhgenleg.setfCntrno(warehousebillsitems.getfCntrno());
- }
- // 库区
- tWhgenleg.setfWarehouseLocationid(warehousebillsitems.getfWarehouselocid());
- // 货物品名
- tWhgenleg.setfGoodsid(warehousebillsitems.getfGoodsid());
- // 贸易方式
- tWhgenleg.setfTrademodeid(warehouseBills.getfTrademodeid());
- return tWhgenlegMapper.selectTWhgenleg(tWhgenleg);
- }
- /**
- * 新增库存总账
- *
- * @param warehouseBills 仓库主表
- * @param warehousebillsitems 仓库明细表
- * @return 结果
- */
- @Transactional
- public int instalTWhgenleg(TWarehouseBills warehouseBills, TWarehousebillsitems warehousebillsitems, SysUser user) {
- TWhgenleg tWhgenleg = new TWhgenleg();
- if ("SJRK".equals(warehouseBills.getfBilltype())) {
- tWhgenleg.setfOriginalbilldate(warehousebillsitems.getfBsdate());
- if (StringUtils.isNotEmpty(warehouseBills.getfCustomno())){
- tWhgenleg.setfCustomno(warehouseBills.getfCustomno());
- }
- if (StringUtils.isNotEmpty(warehouseBills.getRemark())){
- tWhgenleg.setRemark(warehouseBills.getRemark());
- }
- }
- if ("HQZY".equals(warehouseBills.getfBilltype()) | "CKDB".equals(warehouseBills.getfBilltype()) | "HWTG".equals(warehouseBills.getfBilltype())) {
- tWhgenleg.setfOriginalbilldate(warehousebillsitems.getfOriginalbilldate());
- if ("CKDB".equals(warehouseBills.getfBilltype()) | "HWTG".equals(warehouseBills.getfBilltype())) {
- tWhgenleg.setfCorpid(warehouseBills.getfCorpid());
- } else {
- // 客户
- tWhgenleg.setfCorpid(warehouseBills.getfTocorpid());
- }
- // 提单号
- tWhgenleg.setfMblno(warehousebillsitems.getfMblno());
- // 原始单号
- tWhgenleg.setfOriginalbillno(warehousebillsitems.getfMblno());
- } else {
- // 客户
- tWhgenleg.setfCorpid(warehouseBills.getfCorpid());
- // 提单号
- tWhgenleg.setfMblno(warehouseBills.getfMblno());
- // 原始单号
- tWhgenleg.setfOriginalbillno(warehouseBills.getfMblno());
- }
- // 库内箱号
- if (StringUtils.isNotEmpty(warehousebillsitems.getfLocalcntrno())) {
- tWhgenleg.setfLocalcntrno(warehousebillsitems.getfLocalcntrno());
- }
- // 明细类型
- tWhgenleg.setfBusinessType(warehousebillsitems.getfBusinessType());
- // 仓库
- tWhgenleg.setfWarehouseid(warehouseBills.getfWarehouseid());
- // 库区
- tWhgenleg.setfWarehouseLocationid(warehousebillsitems.getfWarehouselocid());
- // 货物品名
- tWhgenleg.setfGoodsid(warehousebillsitems.getfGoodsid());
- // 计费方式
- tWhgenleg.setfBillingway(warehousebillsitems.getfBillingway());
- // 仓储计费日期
- tWhgenleg.setfChargedate(warehousebillsitems.getfChargedate());
- // 贸易方式
- tWhgenleg.setfTrademodeid(warehouseBills.getfTrademodeid());
- // 入库数
- tWhgenleg.setfQtyd(warehousebillsitems.getfQty());
- // 入库尺码
- tWhgenleg.setfVolumnd(warehousebillsitems.getfVolumn());
- // 唛头
- tWhgenleg.setfMarks(warehousebillsitems.getfMarks());
- // 入库毛重
- tWhgenleg.setfGrossweightd(warehousebillsitems.getfGrossweight());
- // 入库净重
- tWhgenleg.setfNetweightd(warehousebillsitems.getfNetweight());
- // 入库箱号
- tWhgenleg.setfCntrno(warehousebillsitems.getfCntrno());
- // 创建人
- tWhgenleg.setCreateBy(user.getUserName());
- // 创建人
- tWhgenleg.setCreateTime(new Date());
- // 状态
- tWhgenleg.setfStatus("T");
- // 结余件数
- tWhgenleg.setfQtyblc(warehousebillsitems.getfQty());
- return tWhgenlegMapper.insertTWhgenleg(tWhgenleg);
- }
- @Transactional
- public int updateTWhgenlegData(TWarehousebillsitems warehousebillsitems, long whgenlegId, String billtype) {
- Map<String, Object> map = new HashMap<>();
- map.put("whgenlegId", whgenlegId);
- map.put("billType", billtype);
- map.put("warehousebillsitems", warehousebillsitems);
- return tWhgenlegMapper.updateTWhgenlegData(map);
- }
- /**
- * 仓库暂存接口
- *
- * @param tWarehouseBills 仓库主表
- * @param tWarehousebillsfeesCr 仓库费付款用明细表
- * @param tWarehousebillsfeesDr 仓库费收
- * 款用明细表
- * @param tWarehousebillsitems 仓库货物明细表
- * @param loginUser 当前登陆人
- * @param billsType 判断标识
- * @return 结果
- */
- @Override
- @Transactional
- public AjaxResult insertTWarehousebills(String tWarehouseBills, String tWarehousebillsfeesCr, String tWarehousebillsfeesDr
- , String tWarehousebillsitems, String tEnclosure, LoginUser loginUser, String tCntr, String billsType) {
- Long fPid = null;
- Map<String, Object> map = new HashMap<>();
- TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehouseBills, TWarehouseBills.class);
- Long timestamp = DateUtils.getTimestamp(new Date());
- warehouseBills.setfDateChanged(timestamp.toString() + (int) (Math.random() * 900) + 100);
- TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(warehouseBills.getfId());
- warehouseBills.setfQty(itemInFo.getfQty());
- warehouseBills.setfNetweight(itemInFo.getfNetweight());
- warehouseBills.setfGrossweight(itemInFo.getfGrossweight());
- if (StringUtils.isNull(warehouseBills.getfId())) {
- // 如果是新数据
- warehouseBills.setfBillstatus(2L);
- warehouseBills.setfItemsStatus(1L);
- warehouseBills.setCreateBy(loginUser.getUser().getUserName());
- warehouseBills.setfBilltype(billsType);
- warehouseBills.setfBsdeptid(loginUser.getUser().getDeptId());
- warehouseBills.setfDeptid(loginUser.getUser().getDeptId());
- // 业务编码
- String billNo = billnoSerialServiceImpl.getBillNo(billsType, warehouseBills.getfBsdate());
- warehouseBills.setfBillno(billNo);
- if ("SJRK".equals(billsType)) {
- // 存货编码
- Date time = new Date();
- String bscorpno = billnoSerialServiceImpl.getCorpNo(warehouseBills.getfCorpid(), time);
- warehouseBills.setfBscorpno(bscorpno);
- } else {
- warehouseBills.setfChargedate(warehouseBills.getfBsdate());
- }
- tWarehouseBillsMapper.insertTWarehousebills(warehouseBills);
- fPid = warehouseBills.getfId();
- } else {
- fPid = warehouseBills.getfId();
- if (!"SJRK".equals(billsType)) {
- warehouseBills.setfChargedate(warehouseBills.getfBsdate());
- }
- warehouseBills.setUpdateBy(loginUser.getUser().getUserName());
- warehouseBills.setUpdateTime(new Date());
- tWarehousebillsCntrMapper.deleteTWarehousebillsCntrfPid(fPid);
- tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
- tWarehousebillsfeesMapper.deleteByFPid(fPid);
- tEnclosureMapper.deleteByFPid(fPid);
- // 删除 从表中 未打印账单的数据
- deleteBillsitems(fPid, tWarehousebillsitems);
- }
- // 库存明细添加
- if (StringUtils.isNull(tWarehousebillsitems) || "[]".equals(tWarehousebillsitems)) {
- warehouseBills.setfItemsStatus(1L);
- tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
- } else {
- JSONArray warehouseJSON = JSONArray.parseArray(tWarehousebillsitems);
- List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
- Date mixDate = new Date();
- int totalCount = warehousebillsitemsList.size();
- if (totalCount >= 1) {
- Date minDate = warehousebillsitemsList.get(0).getfBsdate();
- for (int i = 0; i < totalCount; i++) {
- Date date = warehousebillsitemsList.get(i).getfBsdate();
- if (minDate.after(date)) {
- minDate = date;
- }
- }
- mixDate = minDate;
- }
- for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
- boolean warehouseStatus = "SJRK".equals(billsType) || "SJCK".equals(billsType) || "CKDB".equals(billsType) || "HWTG".equals(billsType);
- // 仓储计费日期
- wbItem.setfBilltype(billsType);
- if ("SJRK".equals(billsType) && warehouseBills.getfId() != null && "0".equals(warehouseBills.getfChargetype())) {
- boolean fchargedate = this.getFchargedate(fPid, wbItem.getfBsdate());
- if (fchargedate == false){
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("入库日期不能小于最小仓储费计算日期");
- }
- }
- if ("SJRK".equals(billsType)) {
- if ("1".equals(warehouseBills.getfChargetype())) {
- wbItem.setfChargedate(warehouseBills.getfBsdate());
- } else if ("0".equals(warehouseBills.getfChargetype())){
- Date fchargedate = tWarehousebillsitemsMapper.getFchargedate(fPid);
- if (fchargedate != null){
- wbItem.setfChargedate(fchargedate);
- }else {
- wbItem.setfChargedate(mixDate);
- }
- }
- wbItem.setfBillingway(warehouseBills.getfBillingway());
- wbItem.setfMblno(warehouseBills.getfMblno());// 入库更新库存前执行update更新明细的提单号等于主表的提单号
- }
- if (null != wbItem.getfId()) {
- wbItem.setUpdateTime(new Date());
- wbItem.setUpdateBy(loginUser.getUser().getUserName());
- tWarehousebillsitemsMapper.updateTWarehousebillsitems(wbItem);
- } else {
- // 添加主表 业务单号
- wbItem.setfBillno(warehouseBills.getfBillno());
- if (!warehouseStatus) {
- wbItem.setfBillstatus(1L);
- } else {
- wbItem.setfBillstatus(10L);
- }
- wbItem.setfPid(fPid);
- wbItem.setCreateBy(loginUser.getUser().getUserName());
- wbItem.setCreateTime(new Date());
- tWarehousebillsitemsMapper.insertTWarehousebillsitems(wbItem);
- if (!warehouseStatus) {
- // 添加状态log
- insertTWarehousebillsLog(wbItem, 10L, loginUser);
- }
- }
- }
- }
- // 附件添加
- if (StringUtils.isNotNull(tEnclosure) && !"[]".equals(tEnclosure)) {
- JSONArray jsonDrArray = JSONArray.parseArray(tEnclosure);
- List<TEnclosure> tEnclosureList = JSONObject.parseArray(jsonDrArray.toJSONString(), TEnclosure.class);
- for (TEnclosure enclosure : tEnclosureList) {
- enclosure.setfPid(fPid);
- enclosure.setCreateBy(loginUser.getUser().getUserName());
- enclosure.setCreateTime(new Date());
- tEnclosureMapper.insertTEnclosure(enclosure);
- }
- }
- // 箱型数据
- if (StringUtils.isNotNull(tCntr) && !"[]".equals(tCntr)) {
- JSONArray jsonDrArray = JSONArray.parseArray(tCntr);
- List<TWarehousebillsCntr> tWarehousebillsCntrs = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsCntr.class);
- int line = 0;
- for (TWarehousebillsCntr cntr : tWarehousebillsCntrs) {
- line++;
- if (StringUtils.isNull(cntr.getfCntrid()) || StringUtils.isNull(cntr.getfCntrcount()) || cntr.getfCntrcount() == 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("箱型数据第" + line + "行数据缺少必填数据");
- }
- cntr.setfPid(fPid);
- cntr.setfGoodsid(0L);
- cntr.setfPackageid("0");
- cntr.setfCntrweight(new BigDecimal(0));
- cntr.setCreateBy(loginUser.getUser().getUserName());
- cntr.setCreateTime(new Date());
- tWarehousebillsCntrMapper.insertTWarehousebillsCntr(cntr);
- }
- }
- // 收款明细添加
- if (StringUtils.isNotNull(tWarehousebillsfeesDr) && !"[]".equals(tWarehousebillsfeesDr)) {
- JSONArray jsonDrArray = JSONArray.parseArray(tWarehousebillsfeesDr);
- List<TWarehousebillsfees> warehousebillsfeesDrList = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees wbDr : warehousebillsfeesDrList) {
- // 检验 数量*单价=金额
- wbDr.setfPid(fPid);
- wbDr.setfDc("D");
- wbDr.setfBilltype(billsType);
- wbDr.setCreateTime(new Date());
- wbDr.setSrcBillNo(warehouseBills.getfBillno());
- wbDr.setfChargedate(warehouseBills.getfChargedate());
- wbDr.setfBillingDeadline(warehouseBills.getfChargedate());
- wbDr.setCreateBy(loginUser.getUser().getUserName());
- if (warehouseBills.getfBsdate() != null && !warehouseBills.getfBsdate().equals("")) {
- wbDr.setfBsdate(warehouseBills.getfBsdate());
- }
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbDr);
- }
- }
- // 付款明细添加
- if (StringUtils.isNotNull(tWarehousebillsfeesCr) && !"[]".equals(tWarehousebillsfeesCr)) {
- JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsfeesCr);
- List<TWarehousebillsfees> warehousebillsfeesCrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees wbCr : warehousebillsfeesCrList) {
- wbCr.setfPid(fPid);
- wbCr.setfDc("C");
- wbCr.setfBilltype(billsType);
- wbCr.setCreateTime(new Date());
- wbCr.setSrcBillNo(warehouseBills.getfBillno());
- wbCr.setCreateBy(loginUser.getUser().getUserName());
- wbCr.setfChargedate(warehouseBills.getfChargedate());
- wbCr.setfBillingDeadline(warehouseBills.getfChargedate());
- if (warehouseBills.getfBsdate() != null && !warehouseBills.getfBsdate().equals("")) {
- wbCr.setfBsdate(warehouseBills.getfBsdate());
- }
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbCr);
- }
- }
- //查询删除的仓储费收费信息
- List<Long> longs = tWarehousebillsfeesMapper.selectTWarehousebillsfeesSrcId(fPid);
- if (CollectionUtils.isNotEmpty(longs)){
- int i = tWarehousebillsitemsMapper.updatefStorageFeeDeadline(fPid, longs);
- }else {
- int i = tWarehousebillsitemsMapper.updatefStorageFeeDeadlinefPid(fPid);
- }
- TWarehousebillsitems warehousebillsitems = new TWarehousebillsitems();
- warehousebillsitems.setfPid(fPid);
- map.put("warehouseBills", tWarehouseBillsMapper.selectTWarehousebillsById(warehouseBills.getfId()));
- map.put("warehousebillsitems", tWarehousebillsitemsMapper.selectGoodsTransferitemsList(warehousebillsitems));
- return AjaxResult.success("成功", map);
- }
- @Override
- public int insertTWarehousebills(TWarehouseBills tWarehousebills) {
- return tWarehouseBillsMapper.insertTWarehousebills(tWarehousebills);
- }
- /**
- * 凯和订单计划暂存
- *
- * @param tWarehousebills 主表信息
- * @param tWarehousebillsCntr 从表信息
- * @param billsType
- * @param loginUser
- * @return
- */
- @Override
- @Transactional
- public AjaxResult TSPlantMessage(String tWarehousebills, String tWarehousebillsCntr,
- String billsType, LoginUser loginUser) {
- Map<String, Object> map = new HashMap<>();
- TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehousebills, TWarehouseBills.class);
- JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsCntr);
- List<TWarehousebillsCntr> tWarehousebillsCntrs = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsCntr.class);
- if (warehouseBills.getfId() == null) {
- String billNo = billnoSerialServiceImpl.getBillNo("SE", warehouseBills.getfBsdate());
- warehouseBills.setfBillno(billNo);
- warehouseBills.setCreateTime(DateUtils.getNowDate());
- warehouseBills.setCreateBy(SecurityUtils.getUsername());
- warehouseBills.setfBilltype(billsType);
- warehouseBills.setfTypeid(1);
- warehouseBills.setfBillstatus(2L);
- warehouseBills.setfDeptid(loginUser.getUser().getDeptId());
- warehouseBills.setfBsdeptid(loginUser.getUser().getDeptId());
- int i = tWarehouseBillsMapper.insertTWarehousebills(warehouseBills);
- if (CollectionUtils.isNotEmpty(tWarehousebillsCntrs)) {
- for (TWarehousebillsCntr warehousebillsCntr : tWarehousebillsCntrs) {
- warehousebillsCntr.setfPid(warehouseBills.getfId());
- warehousebillsCntr.setCreateTime(DateUtils.getNowDate());
- warehousebillsCntr.setCreateBy(SecurityUtils.getUsername());
- int cntr = tWarehousebillsCntrMapper.insertTWarehousebillsCntr(warehousebillsCntr);
- }
- }
- } else {
- TWarehouseBills tWarehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(warehouseBills.getfId());
- if (!"2".equals(tWarehouseBills.getfBillstatus()) || !"3".equals(tWarehouseBills.getfBillstatus())) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("当前数据不允许暂存");
- }
- warehouseBills.setUpdateTime(DateUtils.getNowDate());
- warehouseBills.setUpdateBy(SecurityUtils.getUsername());
- tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
- tWarehousebillsCntrMapper.deleteTWarehousebillsCntrfPid(warehouseBills.getfId());
- if (CollectionUtils.isNotEmpty(tWarehousebillsCntrs)) {
- for (TWarehousebillsCntr warehousebillsCntr : tWarehousebillsCntrs) {
- warehousebillsCntr.setfPid(warehouseBills.getfId());
- warehousebillsCntr.setCreateTime(DateUtils.getNowDate());
- warehousebillsCntr.setCreateBy(SecurityUtils.getUsername());
- int cntr = tWarehousebillsCntrMapper.insertTWarehousebillsCntr(warehousebillsCntr);
- }
- }
- }
- map.put("warehouseBills", warehouseBills);
- map.put("tWarehousebillsCntrs", tWarehousebillsCntrs);
- return AjaxResult.success("msg", map);
- }
- /**
- * 凯和订单计划提交
- *
- * @param tWarehousebills 主表信息
- * @param tWarehousebillsCntr 从表信息
- * @param billsType
- * @param loginUser
- * @return
- */
- @Override
- @Transactional
- public AjaxResult submitPlantMessage(String tWarehousebills, String tWarehousebillsCntr,
- String billsType, LoginUser loginUser) {
- boolean isApprove = false;//是否开启审批流
- String key = "";//键
- long actId = 0L;//活动id
- Long fPid = null;
- Long billStatus = null;
- Map<String, Object> map = new HashMap<>();
- if ("KHDD".equals(billsType)) {
- actId = 410L;
- key = "khwarehouse.warehousebills.ApprovalFlow";
- }
- SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique(key);
- if (StringUtils.isNull(sysConfig)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("系统参数异常,未找到开启审批流参数");
- }
- if ("0".equals(sysConfig.getConfigValue())) {
- isApprove = true;
- }
- if (isApprove) {
- billStatus = 4L;
- } else {
- billStatus = 6L;
- }
- TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehousebills, TWarehouseBills.class);
- JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsCntr);
- List<TWarehousebillsCntr> tWarehousebillsCntrs = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsCntr.class);
- //获取客户单位
- Long clientFid = tCorpsMapper.getClientFid(loginUser.getUser().getPhonenumber());
- if (warehouseBills.getfId() == null) {
- String billNo = billnoSerialServiceImpl.getBillNo("SE", DateUtils.getNowDate());
- warehouseBills.setfBillno(billNo);
- warehouseBills.setCreateTime(DateUtils.getNowDate());
- warehouseBills.setCreateBy(SecurityUtils.getUsername());
- warehouseBills.setfBilltype(billsType);
- warehouseBills.setfTypeid(1);
- warehouseBills.setfDeptid(loginUser.getUser().getDeptId());
- warehouseBills.setfBsdeptid(loginUser.getUser().getDeptId());
- warehouseBills.setfCorpid(clientFid);
- warehouseBills.setfContacts(loginUser.getUser().getUserName());
- warehouseBills.setfTel(loginUser.getUser().getPhonenumber());
- warehouseBills.setfBillstatus(billStatus);
- warehouseBills.setfTimes(1L);
- int i = tWarehouseBillsMapper.insertTWarehousebills(warehouseBills);
- if (CollectionUtils.isNotEmpty(tWarehousebillsCntrs)) {
- for (TWarehousebillsCntr warehousebillsCntr : tWarehousebillsCntrs) {
- warehousebillsCntr.setfPid(warehouseBills.getfId());
- warehousebillsCntr.setCreateTime(DateUtils.getNowDate());
- warehousebillsCntr.setCreateBy(SecurityUtils.getUsername());
- int cntr = tWarehousebillsCntrMapper.insertTWarehousebillsCntr(warehousebillsCntr);
- }
- }
- fPid = warehouseBills.getfId();
- } else {
- TWarehouseBills tWarehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(warehouseBills.getfId());
- if (tWarehouseBills.getfBillstatus() == 2L
- || tWarehouseBills.getfBillstatus() == 3L) {
- } else {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("当前数据不允许提交");
- }
- fPid = warehouseBills.getfId();
- warehouseBills.setUpdateTime(DateUtils.getNowDate());
- warehouseBills.setUpdateBy(SecurityUtils.getUsername());
- warehouseBills.setfBillstatus(billStatus);
- warehouseBills.setfTimes(tWarehouseBills.getfTimes() + 1);
- tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
- tWarehousebillsCntrMapper.deleteTWarehousebillsCntrfPid(warehouseBills.getfId());
- if (CollectionUtils.isNotEmpty(tWarehousebillsCntrs)) {
- for (TWarehousebillsCntr warehousebillsCntr : tWarehousebillsCntrs) {
- warehousebillsCntr.setfPid(warehouseBills.getfId());
- warehousebillsCntr.setCreateTime(DateUtils.getNowDate());
- warehousebillsCntr.setCreateBy(SecurityUtils.getUsername());
- int cntr = tWarehousebillsCntrMapper.insertTWarehousebillsCntr(warehousebillsCntr);
- }
- }
- }
- if (isApprove) {
- AuditItems auditItems = new AuditItems();
- auditItems.setLevelId(0L);
- auditItems.setBillId(fPid);
- auditItems.setActId(actId);
- auditItems.setIffinalItem("F");
- auditItems.setBillNo(warehouseBills.getfBillno());
- // 存储委托方(货权方)
- auditItems.setRefno1(warehouseBills.getfCorpid() + "");
- // 存储业务类型(业务类型)
- auditItems.setRefno2(warehouseBills.getfBilltype());
- // 存储提单号(提单号)
- if (StringUtils.isNotEmpty(warehouseBills.getfMblno())) {
- auditItems.setRefno3(warehouseBills.getfMblno());
- } else {
- auditItems.setRefno3(warehouseBills.getfBillno());
- }
- auditItems.setSendUserId(loginUser.getUser().getUserId());
- auditItems.setSendName(SecurityUtils.getUsername());
- auditItems.setSendTime(new Date());
- auditItems.setAuditUserId(loginUser.getUser().getUserId());
- auditItems.setAuditItem(new Date());
- auditItems.setAuditOpTime(new Date());
- auditItems.setAuditMsg("提交");
- auditItems.setAuditStatus("O");
- auditItems.setFidStatus("f_billstatus");
- auditItems.setTimes(1L);
- AjaxResult approvalFlow = auditItemsService.createApprovalFlow(auditItems);
- // Long code = Long.valueOf(String.valueOf(approvalFlow.get("code"))).longValue();
- String code = approvalFlow.get("code").toString();
- // Long code = Long.valueOf(String.valueOf(ajaxResult.get("code"))).longValue();
- if ("500".equals(code)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- }
- return approvalFlow;
- }
- map.put("warehouseBills", warehouseBills);
- map.put("tWarehousebillsCntrs", tWarehousebillsCntrs);
- return AjaxResult.success("msg", map);
- }
- /**
- * 配船暂存
- *
- * @param tWarehousebills 主表信息
- * @param tWarehousebillsCntritems 从表信息
- * @param billsType
- * @param loginUser
- * @return
- */
- @Override
- @Transactional
- public AjaxResult TSMakingMessage(String tWarehousebills, String tWarehousebillsCntritems, String billsType, LoginUser loginUser) {
- Map<String, Object> map = new HashMap<>();
- TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehousebills, TWarehouseBills.class);
- JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsCntritems);
- List<TWarehousebillsCntritems> tWarehousebillsCntrs = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsCntritems.class);
- TWarehouseBills tWarehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(warehouseBills.getfId());
- if (tWarehouseBills.getfBillstatus() == 7L
- || tWarehouseBills.getfBillstatus() == 6L) {
- } else {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("当前数据不允许暂存");
- }
- warehouseBills.setfBillstatus(7L);
- int i = tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
- int cntritemsfPid = tWarehousebillsCntritemsMapper.deleteTWarehousebillsCntritemsfPid(warehouseBills.getfId());
- if (CollectionUtils.isNotEmpty(tWarehousebillsCntrs)) {
- for (TWarehousebillsCntritems warehousebillsCntritems : tWarehousebillsCntrs) {
- warehousebillsCntritems.setfPid(warehouseBills.getfId());
- warehousebillsCntritems.setCreateTime(DateUtils.getNowDate());
- warehousebillsCntritems.setCreateBy(SecurityUtils.getUsername());
- int cntr = tWarehousebillsCntritemsMapper.insertTWarehousebillsCntritems(warehousebillsCntritems);
- }
- }
- map.put("warehouseBills", warehouseBills);
- map.put("tWarehousebillsCntrs", tWarehousebillsCntrs);
- return AjaxResult.success("msg", map);
- }
- /**
- * 配船提交
- *
- * @param tWarehousebills 主表信息
- * @param tWarehousebillsCntritems 从表信息
- * @param billsType
- * @param loginUser
- * @return
- */
- @Override
- @Transactional
- public AjaxResult submitMakingMessage(String tWarehousebills, String tWarehousebillsCntritems, String billsType, LoginUser loginUser) {
- boolean isApprove = false;//是否开启审批流
- String key = "";//键
- long actId = 0L;//活动id
- Long fPid = null;
- Map<String, Object> map = new HashMap<>();
- if ("KHDD".equals(billsType)) {
- actId = 420L;
- key = "khwarehouse.makingCargoPlan.ApprovalFlow";
- }
- SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique(key);
- if (StringUtils.isNull(sysConfig)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("系统参数异常,未找到开启审批流参数");
- }
- if ("0".equals(sysConfig.getConfigValue())) {
- isApprove = true;
- }
- TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehousebills, TWarehouseBills.class);
- JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsCntritems);
- List<TWarehousebillsCntritems> tWarehousebillsCntritemsList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsCntritems.class);
- fPid = warehouseBills.getfId();
- warehouseBills.setUpdateTime(DateUtils.getNowDate());
- warehouseBills.setUpdateBy(SecurityUtils.getUsername());
- if (isApprove) {
- warehouseBills.setfBillstatus(9L);
- } else {
- warehouseBills.setfBillstatus(11L);
- warehouseBills.setfReviewDate(new Date());
- }
- TWarehouseBills tWarehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(warehouseBills.getfId());
- if (tWarehouseBills.getfBillstatus() == 6L
- || tWarehouseBills.getfBillstatus() == 7L
- || tWarehouseBills.getfBillstatus() == 8L) {
- } else {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("当前数据不允许提交");
- }
- warehouseBills.setfTimes(tWarehouseBills.getfTimes() + 1);
- tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
- tWarehousebillsCntritemsMapper.deleteTWarehousebillsCntritemsfPid(warehouseBills.getfId());
- if (CollectionUtils.isNotEmpty(tWarehousebillsCntritemsList)) {
- for (TWarehousebillsCntritems warehousebillsCntritems : tWarehousebillsCntritemsList) {
- warehousebillsCntritems.setfPid(warehouseBills.getfId());
- warehousebillsCntritems.setCreateTime(DateUtils.getNowDate());
- warehousebillsCntritems.setCreateBy(SecurityUtils.getUsername());
- int cntr = tWarehousebillsCntritemsMapper.insertTWarehousebillsCntritems(warehousebillsCntritems);
- }
- }
- TWarehousebillsCntr warehousebillsCntr = new TWarehousebillsCntr();
- warehousebillsCntr.setfPid(warehouseBills.getfId());
- List<TWarehousebillsCntr> tWarehousebillsCntrs = tWarehousebillsCntrMapper.selectTWarehousebillsCntrList(warehousebillsCntr);
- TVoyage tVoyage = tVoyageMapper.selectTVoyageById(warehouseBills.getfVoyid());
- if (isApprove) {
- AuditItems auditItems = new AuditItems();
- auditItems.setLevelId(0L);
- auditItems.setBillId(fPid);
- auditItems.setActId(actId);
- auditItems.setIffinalItem("F");
- auditItems.setBillNo(tWarehouseBills.getfBillno());
- // 存储委托方(货权方)
- auditItems.setRefno1(tWarehouseBills.getfCorpid() + "");
- // 存储业务类型(业务类型)
- auditItems.setRefno2(tWarehouseBills.getfBilltype());
- // 存储提单号(提单号)
- auditItems.setRefno3(tWarehouseBills.getfMblno());
- auditItems.setSendUserId(loginUser.getUser().getUserId());
- auditItems.setSendName(SecurityUtils.getUsername());
- auditItems.setSendTime(new Date());
- auditItems.setAuditUserId(loginUser.getUser().getUserId());
- auditItems.setAuditItem(new Date());
- auditItems.setAuditOpTime(new Date());
- auditItems.setAuditMsg("提交");
- auditItems.setAuditStatus("O");
- auditItems.setFidStatus("f_billstatus");
- auditItems.setTimes(1L);
- AjaxResult approvalFlow = auditItemsService.createApprovalFlow(auditItems);
- // Long code = Long.valueOf(String.valueOf(approvalFlow.get("code"))).longValue();
- String code = approvalFlow.get("code").toString();
- // Long code = Long.valueOf(String.valueOf(ajaxResult.get("code"))).longValue();
- if ("500".equals(code)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- }
- return approvalFlow;
- }
- map.put("warehouseBills", warehouseBills);
- map.put("tWarehousebillsCntrs", tWarehousebillsCntrs);
- map.put("tVoyageL", tVoyage);
- map.put("tWarehousebillsCntritems", tWarehousebillsCntritemsList);
- return AjaxResult.success("msg", map);
- }
- /**
- * 仓库模块提交接口
- *
- * @param tWarehouseBills 仓库主表
- * @param tWarehousebillsfeesCr 仓库费用付款明细表
- * @param tWarehousebillsfeesDr 仓库费用收款明细表
- * @param tWarehousebillsitems 仓库货物明细表
- * @param tEnclosure
- * @param loginUser 当前登陆人
- * @param billsType 操作状态
- * @return
- */
- @Override
- @Transactional
- public AjaxResult warehouseSubmission(String tWarehouseBills, String tWarehousebillsfeesCr, String tWarehousebillsfeesDr,
- String tWarehousebillsitems, String tEnclosure, LoginUser loginUser, String tCntr, String billsType) {
- Long fPid = null;
- boolean isApprove = false;
- Long actId = queryWarehouseActId(billsType);
- String key = "";
- if ("SJRK".equals(billsType)) {
- key = "warehouse.inStock.ApprovalFlow";
- } else if ("SJCK".equals(billsType)) {
- key = "warehouse.outStock.ApprovalFlow";
- } else if ("CKDB".equals(billsType)) {
- key = "warehouse.stockTransfer.ApprovalFlow";
- } else if ("HQZY".equals(billsType)) {
- key = "warehouse.transfer.ApprovalFlow";
- } else if ("HWTG".equals(billsType)) {
- key = "warehouse.cargoClearance.ApprovalFlow";
- }
- SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique(key);
- if (StringUtils.isNull(sysConfig)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("系统参数异常,未找到开启审批流参数");
- }
- if ("0".equals(sysConfig.getConfigValue())) {
- isApprove = true;
- }
- TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehouseBills, TWarehouseBills.class);
- if ("SJRK".equals(billsType) || "SJCK".equals(billsType)) {
- SysConfig warehouseConfig = queryWarehouseConfig(billsType);
- if (StringUtils.isNull(warehouseConfig)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("系统参数异常,未找到接单审批流参数");
- }
- }
- if ("0".equals(sysConfig.getConfigValue()) && (warehouseBills.getWarehouseStatus() == 4L || warehouseBills.getWarehouseStatus() == 5L)) {
- return AjaxResult.error("接单审批正在进行中,无法进行提交");
- }
- warehouseBills.setfItemsStatus(4L);
- Long timestamp = DateUtils.getTimestamp(new Date());
- warehouseBills.setfDateChanged(timestamp.toString() + (int) (Math.random() * 900) + 100);
- TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(warehouseBills.getfId());
- warehouseBills.setfQty(itemInFo.getfQty());
- warehouseBills.setfNetweight(itemInFo.getfNetweight());
- warehouseBills.setfGrossweight(itemInFo.getfGrossweight());
- warehouseBills.setfTimes(warehouseBills.getfTimes() + 1);
- if (StringUtils.isNull(warehouseBills.getfId())) {
- if (isApprove) {
- warehouseBills.setfBillstatus(4L);
- } else {
- warehouseBills.setfBillstatus(6L);
- warehouseBills.setfReviewDate(new Date());
- }
- warehouseBills.setfBilltype(billsType);
- if (!"SJRK".equals(billsType)) {
- warehouseBills.setfChargedate(warehouseBills.getfBsdate());
- }
- warehouseBills.setfBsdeptid(loginUser.getUser().getDeptId());
- warehouseBills.setCreateBy(loginUser.getUser().getUserName());
- String billNo = billnoSerialServiceImpl.getBillNo(billsType, warehouseBills.getfBsdate());
- warehouseBills.setfBillno(billNo);
- Date time = new Date();
- String bscorpno = billnoSerialServiceImpl.getCorpNo(warehouseBills.getfCorpid(), time);
- warehouseBills.setfBscorpno(bscorpno);
- tWarehouseBillsMapper.insertTWarehousebills(warehouseBills);
- fPid = warehouseBills.getfId();
- } else {
- fPid = warehouseBills.getfId();
- if (isApprove) {
- warehouseBills.setfBillstatus(4L);
- } else {
- warehouseBills.setfBillstatus(6L);
- warehouseBills.setfReviewDate(new Date());
- }
- warehouseBills.setUpdateTime(new Date());
- if (!"SJRK".equals(billsType)) {
- warehouseBills.setfChargedate(warehouseBills.getfBsdate());
- }
- warehouseBills.setUpdateBy(loginUser.getUser().getUserName());
- tEnclosureMapper.deleteByFPid(fPid);
- tWarehousebillsfeesMapper.deleteByFPid(fPid);
- tWarehousebillsitemsMapper.deleteByFPid(fPid);
- tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
- tWarehousebillsCntrMapper.deleteTWarehousebillsCntrfPid(fPid);
- }
- JSONArray warehouseJSON = JSONArray.parseArray(tWarehousebillsitems);
- List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
- int line = 0;
- for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
- line++;
- if ("SJRK".equals(billsType) || "SJCK".equals(billsType) || "CKDB".equals(billsType) || "HWTG".equals(billsType)) {
- // 除了入库其他模块不需要更新主表的 仓储费计费日期到明细表,其他模块 应从库存总账把仓储费计费日期 赋给明细表
- if ("SJRK".equals(billsType)) {
- wbItem.setfMblno(warehouseBills.getfMblno());
- wbItem.setfBillingway(warehouseBills.getfBillingway());
- wbItem.setfChargedate(warehouseBills.getfChargedate());
- wbItem.setfOriginalbilldate(warehouseBills.getfBsdate());
- wbItem.setfMblno(warehouseBills.getfMblno());// 入库更新库存前执行update更新明细的提单号等于主表的提单号
- }
- if (!wbItem.getfBillstatus().equals(40L)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("库存明细第" + line + "行状态异常,请确认");
- }
- } else {
- if (!wbItem.getfBillstatus().equals(6L)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("库存明细第" + line + "行状态异常,请确认");
- }
- }
- if (StringUtils.isNull(wbItem.getfChargedate())) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("库存明细第" + line + "行未找到仓储费计费日期,请确认");
- }
- if (StringUtils.isNull(wbItem.getfBillingway())) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("库存明细第" + line + "行未找到计费方式,请确认");
- }
- if (StringUtils.isNull(wbItem.getfOriginalbilldate())) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("库存明细第" + line + "行未找到入库日期,请确认");
- }
- wbItem.setfPid(fPid);
- wbItem.setfBilltype(billsType);
- wbItem.setCreateTime(new Date());
- wbItem.setfBillno(warehouseBills.getfBillno());
- wbItem.setCreateBy(loginUser.getUser().getUserName());
- tWarehousebillsitemsMapper.insertTWarehousebillsitems(wbItem);
- }
- // 箱型数据
- if (StringUtils.isNotNull(tCntr) && !"[]".equals(tCntr)) {
- JSONArray jsonDrArray = JSONArray.parseArray(tCntr);
- List<TWarehousebillsCntr> tWarehousebillsCntrs = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsCntr.class);
- int cntrLine = 0;
- for (TWarehousebillsCntr cntr : tWarehousebillsCntrs) {
- cntrLine++;
- if (StringUtils.isNull(cntr.getfCntrid()) || StringUtils.isNull(cntr.getfCntrcount()) || cntr.getfCntrcount() == 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("箱型数据第" + cntrLine + "行数据缺少必填数据");
- }
- cntr.setfPid(fPid);
- cntr.setfGoodsid(0L);
- cntr.setfPackageid("0");
- cntr.setfCntrweight(new BigDecimal(0));
- cntr.setCreateBy(loginUser.getUser().getUserName());
- cntr.setCreateTime(new Date());
- tWarehousebillsCntrMapper.insertTWarehousebillsCntr(cntr);
- }
- }
- if (StringUtils.isNotNull(tWarehousebillsfeesCr) && !"[]".equals(tWarehousebillsfeesCr)) {
- JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsfeesCr);
- List<TWarehousebillsfees> warehousebillsfeesCrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees wbCr : warehousebillsfeesCrList) {
- wbCr.setfPid(fPid);
- wbCr.setfDc("C");
- wbCr.setfBilltype(billsType);
- wbCr.setCreateTime(new Date());
- wbCr.setSrcBillNo(warehouseBills.getfBillno());
- wbCr.setCreateBy(loginUser.getUser().getUserName());
- wbCr.setfChargedate(warehouseBills.getfChargedate());
- wbCr.setfBillingDeadline(warehouseBills.getfChargedate());
- if (warehouseBills.getfBsdate() != null && !warehouseBills.getfBsdate().equals("")) {
- wbCr.setfBsdate(warehouseBills.getfBsdate());
- }
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbCr);
- }
- }
- if (StringUtils.isNotNull(tWarehousebillsfeesDr) && !"[]".equals(tWarehousebillsfeesDr)) {
- JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsfeesDr);
- List<TWarehousebillsfees> warehousebillsfeesDrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees wbDr : warehousebillsfeesDrList) {
- wbDr.setfPid(fPid);
- wbDr.setfDc("D");
- wbDr.setfBillstatus(4L);
- wbDr.setfBilltype(billsType);
- wbDr.setCreateTime(new Date());
- wbDr.setSrcBillNo(warehouseBills.getfBillno());
- wbDr.setCreateBy(loginUser.getUser().getUserName());
- wbDr.setfChargedate(warehouseBills.getfChargedate());
- wbDr.setfBillingDeadline(warehouseBills.getfChargedate());
- if (warehouseBills.getfBsdate() != null && !warehouseBills.getfBsdate().equals("")) {
- wbDr.setfBsdate(warehouseBills.getfBsdate());
- }
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbDr);
- }
- }
- if (StringUtils.isNotNull(tEnclosure) && !"[]".equals(tEnclosure)) {
- JSONArray jsonEnclosureArray = JSONArray.parseArray(tEnclosure);
- List<TEnclosure> enclosuresList = JSONObject.parseArray(jsonEnclosureArray.toJSONString(), TEnclosure.class);
- long lineNo = 0L;
- for (TEnclosure enclosure : enclosuresList) {
- lineNo++;
- enclosure.setfPid(fPid);
- enclosure.setfLineno(lineNo);
- enclosure.setCreateTime(new Date());
- enclosure.setCreateBy(loginUser.getUser().getUserName());
- tEnclosureMapper.insertTEnclosure(enclosure);
- }
- }
- // 这里加个判断取系统参数来确定是否需要启用审批流
- if (isApprove) {
- AuditItems auditItems = new AuditItems();
- auditItems.setLevelId(0L);
- auditItems.setBillId(fPid);
- auditItems.setActId(actId);
- auditItems.setIffinalItem("F");
- auditItems.setBillNo(warehouseBills.getfBillno());
- // 存储委托方(货权方)
- auditItems.setRefno1(warehouseBills.getfCorpid() + "");
- // 存储业务类型(业务类型)
- auditItems.setRefno2(warehouseBills.getfBilltype());
- // 存储提单号(提单号)
- auditItems.setRefno3(warehouseBills.getfMblno());
- auditItems.setSendUserId(loginUser.getUser().getUserId());
- auditItems.setSendName(loginUser.getUsername());
- auditItems.setSendTime(new Date());
- auditItems.setAuditUserId(loginUser.getUser().getUserId());
- auditItems.setAuditItem(new Date());
- auditItems.setAuditOpTime(new Date());
- auditItems.setAuditMsg("提交");
- auditItems.setAuditStatus("O");
- auditItems.setFidStatus("f_billstatus");
- auditItems.setTimes(warehouseBills.getfTimes());
- AjaxResult approvalFlow = auditItemsService.createApprovalFlow(auditItems);
- // Long code = Long.valueOf(String.valueOf(approvalFlow.get("code"))).longValue();
- String code = approvalFlow.get("code").toString();
- // Long code = Long.valueOf(String.valueOf(ajaxResult.get("code"))).longValue();
- if ("500".equals(code)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- }
- return approvalFlow;
- } else {
- AjaxResult ajaxResult = warehouseFollow(fPid, 6L);
- String code = ajaxResult.get("code").toString();
- if ("500".equals(code)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- }
- return ajaxResult;
- }
- }
- @Override
- public List<TWareHouseExcelItems> selectTWarehousebillsItemsList(Long fId) {
- return tWarehouseBillsMapper.selectTWarehousebillsItemsList(fId);
- }
- @Override
- public List<Map<String, Object>> selectInventoryList(TWarehouseBills tWarehouseBills) {
- if (StringUtils.isNotNull(tWarehouseBills.getfWarehouseid())) {
- // 获取仓库信息
- TWarehouse tWarehouse = tWarehouseMapper.selectTWarehouseById(tWarehouseBills.getfWarehouseid());
- if (tWarehouse.getfLocation() == 1) {
- tWarehouseBills.setfLocation(1L);
- } else {
- tWarehouseBills.setfLocation(0L);
- }
- }
- if (tWarehouseBills.getfBilltype().equals("SJRK")) {
- return tWarehouseBillsMapper.selectInventorySJRKList(tWarehouseBills);
- } else {
- return tWarehouseBillsMapper.selectInventorySJCKList(tWarehouseBills);
- }
- }
- @Override
- public List<TWareHouseItemsExcel> selectTWarehousebillsItemsList(TWarehouseBills tWarehouseBills) {
- return tWarehouseBillsMapper.selectTWarehousebillsItemList(tWarehouseBills);
- }
- @Override
- public AjaxResult serialNumber(String billsType) {
- Map<String, Object> map = new HashMap<>();
- Date time = new Date();
- String serialNumber = null;
- // 查询流水号
- if ("SJRK".equals(billsType)) {
- serialNumber = billnoSerialServiceImpl.getFictitiousNumber("RK", time);
- } else if ("SJCK".equals(billsType)) {
- serialNumber = billnoSerialServiceImpl.getFictitiousNumber("CK", time);
- } else if ("CKDB".equals(billsType)) {
- serialNumber = billnoSerialServiceImpl.getFictitiousNumber("DB", time);
- }
- map.put("fSerialNumber", serialNumber);
- return AjaxResult.success("成功", map);
- }
- @Override
- public int derecognition(Long fId) {
- // 查询对账
- int reconciliation = tWarehousebillsfeesMapper.selectReconciliation(fId);
- // 查询收费
- int charge = tWarehousebillsfeesMapper.selectCharge(fId);
- // 查询付费
- int pay = tWarehousebillsfeesMapper.selectPay(fId);
- if (reconciliation > 0) {
- return 1;
- } else if (charge > 0) {
- return 2;
- } else if (pay > 0) {
- return 3;
- } else {
- return 4;
- }
- }
- @Override
- public List<Map<String, Object>> selectWareHouseNumber() {
- List<Map<String, Object>> map = new ArrayList<>();
- Map<String, Object> maps = new HashMap<>();
- // 入库待办数量
- maps.put("inStock", tWarehousebillsitemsMapper.inStock());
- // 出库待办数量
- maps.put("outStock", tWarehousebillsitemsMapper.outStock());
- List<String> timeInterval = new ArrayList<>();
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
- //获取当前月第一天:
- Calendar c = Calendar.getInstance();
- c.add(Calendar.MONTH, 0);
- c.set(Calendar.DAY_OF_MONTH, 1);//设置为1号,当前日期既为本月第一天
- timeInterval.add(format.format(c.getTime()));
- //获取前月的最后一天
- Calendar ca = Calendar.getInstance();
- ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));
- timeInterval.add(format.format(ca.getTime()));
- maps.put("monthInStock", tWarehousebillsitemsMapper.monthInStock(timeInterval));
- // 当月出库待办数量
- maps.put("monthOutStock", tWarehousebillsitemsMapper.monthOutStock(timeInterval));
- map.add(maps);
- return map;
- }
- @Override
- @Transactional
- public AjaxResult waitWarehousingItems(TWarehousebillsitems tWarehousebillsitems) {
- // 先查询是否已经处理
- TWarehousebillsitems tWarehousebillsitems1 = tWarehousebillsitemsMapper.selectTWarehousebillsitemsById(tWarehousebillsitems.getfId());
- if (tWarehousebillsitems1.getfBillstatus().equals(30)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("更新库存明细失败,该信息已操作,请重新加载");
- }
- tWarehousebillsitems.setfSerialNumber(tWarehousebillsitems1.getfSerialNumber());
- int num = tWarehousebillsitemsMapper.updateTWarehousebillsitems(tWarehousebillsitems);
- // 主表变更状态
- TWarehouseBills tWarehousebills = new TWarehouseBills();
- tWarehousebills.setfId(tWarehousebillsitems1.getfPid());
- Long timestamp = DateUtils.getTimestamp(new Date());
- tWarehousebills.setfDateChanged(timestamp.toString() + (int) (Math.random() * 900) + 100);
- tWarehousebills.setfItemsStatus(3L);
- TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(tWarehousebills.getfId());
- tWarehousebills.setfQty(itemInFo.getfQty());
- tWarehousebills.setfNetweight(itemInFo.getfNetweight());
- tWarehousebills.setfGrossweight(itemInFo.getfGrossweight());
- int num1 = tWarehouseBillsMapper.updateTWarehousebills(tWarehousebills);
- if (num <= 0 && num1 <= 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("更新库存明细失败");
- } else {
- return AjaxResult.success();
- }
- }
- /**
- * app仓储新行保存业务
- *
- * @param item 明细数据
- * @param attachs 附件数据
- * @return 结果
- */
- @Override
- public AjaxResult submitWarehouse(String item, String attachs) {
- TWarehousebillsitems tWarehousebillsitems = JSONArray.parseObject(item, TWarehousebillsitems.class);
- if (StringUtils.isNull(tWarehousebillsitems.getfPid())) {
- return AjaxResult.error("未找到主表id信息,请确认");
- }
- TWarehouseBills warehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(tWarehousebillsitems.getfPid());
- if (StringUtils.isNotNull(tWarehousebillsitems.getfGoodsid())) {
- TGoods goods = tGoodsMapper.selectTGoodsById(tWarehousebillsitems.getfGoodsid());
- if (!warehouseBills.getfProductName().contains(goods.getfName())) {
- warehouseBills.setfProductName(warehouseBills.getfProductName() + "/" + goods.getfName());
- }
- }
- if (StringUtils.isNotNull(warehouseBills.getfMarks())) {
- if (!warehouseBills.getfMarks().contains(tWarehousebillsitems.getfMarks())) {
- warehouseBills.setfMarks(warehouseBills.getfMarks() + "/" + tWarehousebillsitems.getfMarks());
- }
- }
- if (!"SJRK".equals(warehouseBills.getfBilltype())) {
- if (!warehouseBills.getfMblno().contains(tWarehousebillsitems.getfMblno())) {
- warehouseBills.setfMblno(warehouseBills.getfMblno() + "/" + tWarehousebillsitems.getfMblno());
- }
- }
- Long timestamp = DateUtils.getTimestamp(new Date());
- warehouseBills.setfDateChanged(timestamp.toString() + (int) (Math.random() * 900) + 100);
- warehouseBills.setUpdateTime(new Date());
- warehouseBills.setUpdateBy(SecurityUtils.getUsername());
- TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(warehouseBills.getfId());
- warehouseBills.setfQty(itemInFo.getfQty());
- warehouseBills.setfNetweight(itemInFo.getfNetweight());
- warehouseBills.setfGrossweight(itemInFo.getfGrossweight());
- tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
- if (StringUtils.isNull(tWarehousebillsitems.getfId())) {
- tWarehousebillsitems.setCreateTime(new Date());
- tWarehousebillsitems.setCreateBy(SecurityUtils.getUsername());
- tWarehousebillsitemsMapper.insertTWarehousebillsitems(tWarehousebillsitems);
- } else {
- TWarehousebillsitems warehousebillsitems = tWarehousebillsitemsMapper.selectTWarehousebillsitemsById(tWarehousebillsitems.getfId());
- if (StringUtils.isNull(warehousebillsitems)) {
- return AjaxResult.error("未找到明细信息,请确认该明细信息是否存在");
- }
- if (warehousebillsitems.getfBillstatus() != 30L) {
- return AjaxResult.error("该明细信息异常" + warehousebillsitems.getfBillstatus() + ",请确认");
- }
- tWarehousebillsitems.setUpdateTime(new Date());
- tWarehousebillsitems.setUpdateBy(SecurityUtils.getUsername());
- tWarehousebillsitemsMapper.updateTWarehousebillsitems(tWarehousebillsitems);
- }
- tEnclosureMapper.deleteByFPid(tWarehousebillsitems.getfPid());
- if (StringUtils.isNotEmpty(attachs) && !"[]".equals(attachs)) {
- // 附件添加
- JSONArray jsonDrArray = JSONArray.parseArray(attachs);
- List<TEnclosure> tEnclosureList = JSONObject.parseArray(jsonDrArray.toJSONString(), TEnclosure.class);
- for (TEnclosure enclosure : tEnclosureList) {
- enclosure.setfStatus("2");
- enclosure.setCreateTime(new Date());
- enclosure.setfPid(tWarehousebillsitems.getfPid());
- enclosure.setCreateBy(SecurityUtils.getUsername());
- tEnclosureMapper.insertTEnclosure(enclosure);
- }
- }
- return AjaxResult.success();
- }
- /**
- * 查看集港业务
- *
- * @param fId 集港id
- * @return
- */
- @Override
- public AjaxResult selectContainerPort(Long fId) {
- Map<String, Object> map = new HashMap<>();
- TWarehouseBills warehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(fId);
- if (StringUtils.isNull(warehouseBills)) {
- return AjaxResult.error("未找到主表信息,请确认该信息是否存在");
- }
- map.put("warehouseBills", warehouseBills);
- TWarehousebillsfees warehousebillsfees = new TWarehousebillsfees();
- warehousebillsfees.setfPid(fId);
- warehousebillsfees.setfDc("D");
- List<TWarehousebillsfees> feesDr = tWarehousebillsfeesMapper.selectTWarehousebillsfeesList(warehousebillsfees);
- List<TCorps> transportationList = new ArrayList<>();
- if (StringUtils.isNotEmpty(feesDr)) {
- for (TWarehousebillsfees dr : feesDr) {
- TCorps corp = tCorpsMapper.selectTCorpsById(dr.getfCorpid());
- if (StringUtils.isNotNull(corp)) {
- transportationList.add(corp);
- }
- }
- transportationList = transportationList.stream().distinct().collect(toList());
- }
- map.put("feesDrList", feesDr);
- map.put("corpList", transportationList);
- List<TCorps> corpsList = new ArrayList<>();
- warehousebillsfees.setfDc("C");
- List<TWarehousebillsfees> feesCr = tWarehousebillsfeesMapper.selectTWarehousebillsfeesList(warehousebillsfees);
- if (StringUtils.isNotEmpty(feesCr)) {
- for (TWarehousebillsfees cr : feesCr) {
- TCorps corp = tCorpsMapper.selectTCorpsById(cr.getfCorpid());
- if (StringUtils.isNotNull(corp)) {
- corpsList.add(corp);
- }
- }
- corpsList = corpsList.stream().distinct().collect(toList());
- }
- map.put("feesCrList", feesCr);
- map.put("transportationList", corpsList);
- return AjaxResult.success(map);
- }
- /**
- * 集港业务保存、提交接口
- *
- * @param tWarehouseBills 主表业务
- * @param feesCr 收费
- * @param feesDr 付费
- * @return
- */
- @Override
- @Transactional
- public AjaxResult saveContainerPort(String tWarehouseBills, String feesCr, String feesDr, String type) {
- TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehouseBills, TWarehouseBills.class);
- warehouseBills.setfBilltype("CKJG");
- // 判断提单号是否存在
- if (StringUtils.isNull(warehouseBills.getfId()) && tWarehouseBillsMapper.selectContainMblno(warehouseBills) > 0) {
- return AjaxResult.error("该提单号已存在");
- }
- Long billStatus = 2L;
- if ("add".equals(type)) {
- billStatus = 6L;
- warehouseBills.setfReviewDate(warehouseBills.getfBsdate());
- warehouseBills.setfBillstatus(billStatus);
- } else {
- if (StringUtils.isNull(warehouseBills.getfBillstatus())) {
- warehouseBills.setfBillstatus(billStatus);
- }
- }
- if (StringUtils.isNull(warehouseBills.getfId())) {
- warehouseBills.setCreateTime(new Date());
- warehouseBills.setCreateBy(SecurityUtils.getUsername());
- warehouseBills.setfDeptid(SecurityUtils.getLoginUser().getUser().getDeptId());
- warehouseBills.setfBsdeptid(SecurityUtils.getLoginUser().getUser().getDeptId());
- tWarehouseBillsMapper.insertTWarehousebills(warehouseBills);
- } else {
- warehouseBills.setUpdateTime(new Date());
- warehouseBills.setUpdateBy(SecurityUtils.getUsername());
- tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
- }
- tWarehousebillsfeesMapper.deleteByFPid(warehouseBills.getfId());
- if (StringUtils.isNotEmpty(feesCr) && !"[]".equals(feesCr)) {
- JSONArray jsonDrArray = JSONArray.parseArray(feesCr);
- List<TWarehousebillsfees> warehousebillsfeesCr = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsfees.class);
- int line = 1;
- for (TWarehousebillsfees cr : warehousebillsfeesCr) {
- if (StringUtils.isNull(cr.getfCorpid()) || StringUtils.isNull(cr.getfFeeunitid()) || StringUtils.isNull(cr.getfInventoryDays())) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("付款费用第" + line + "行,缺少必填信息");
- }
- cr.setfDc("C");
- cr.setfBillstatus(billStatus);
- cr.setCreateTime(new Date());
- cr.setfPid(warehouseBills.getfId());
- cr.setCreateBy(SecurityUtils.getUsername());
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(cr);
- line++;
- }
- }
- if (StringUtils.isNotEmpty(feesDr) && !"[]".equals(feesDr)) {
- JSONArray jsonDrArray = JSONArray.parseArray(feesDr);
- List<TWarehousebillsfees> warehousebillsfeesDr = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsfees.class);
- int line = 1;
- for (TWarehousebillsfees dr : warehousebillsfeesDr) {
- if (StringUtils.isNull(dr.getfCorpid()) || StringUtils.isNull(dr.getfFeeunitid()) || StringUtils.isNull(dr.getfInventoryDays())) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("收款费用第" + line + "行,缺少必填信息");
- }
- dr.setfDc("D");
- dr.setfBillstatus(billStatus);
- dr.setCreateTime(new Date());
- dr.setfPid(warehouseBills.getfId());
- dr.setCreateBy(SecurityUtils.getUsername());
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(dr);
- line++;
- }
- }
- return AjaxResult.success();
- }
- /**
- * 查询集港业务基础资料
- *
- * @return
- */
- @Override
- public AjaxResult selectBasicInformation() {
- Map<String, Object> map = new HashMap<>();
- TCorps corps = new TCorps();
- String typeValue = "[\"1\"]";
- corps.setfTypeid(typeValue);
- corps.setfStatus("0");
- // 应收 取客户
- map.put("corpList", tCorpsMapper.selectTCorpsListLimit200(corps));
- // 应付 取陆运公司
- TCorps transportation = new TCorps();
- typeValue = "[\"2\"]";
- transportation.setfTypeid(typeValue);
- transportation.setfStatus("0");
- map.put("transportationList", tCorpsMapper.selectTCorpsListLimit200(transportation));
- // 查询箱信息
- TCntr tCntr = new TCntr();
- tCntr.setfStatus("T");
- map.put("cntrList", tCntrMapper.selectRcntrName(tCntr));
- map.put("pierList", sysDictDataMapper.selectDictDataByType("pier"));
- TFees tFees = tFeesMapper.selectTFeesByFName("集港费");
- if (StringUtils.isNull(tFees)) {
- map.put("fees", tFees);
- return AjaxResult.success("未找到集港费用信息,请添加", map);
- }
- List<TFees> feesList = new ArrayList<>();
- feesList.add(tFees);
- map.put("fees", feesList);
- return AjaxResult.success(map);
- }
- /**
- * 集港业务撤销
- *
- * @param fId 主表id
- * @param type
- * @return
- */
- @Override
- @Transactional
- public AjaxResult revokeContainerPort(Long fId, String type) {
- TWarehouseBills warehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(fId);
- if (StringUtils.isNull(warehouseBills)) {
- return AjaxResult.error("未找到主表信息,请确认是否存在");
- }
- TWarehousebillsfees warehousebillsfees = new TWarehousebillsfees();
- warehousebillsfees.setfPid(fId);
- List<TWarehousebillsfees> warehousebillsfeesList = tWarehousebillsfeesMapper.selectTWarehousebillsfeesList(warehousebillsfees);
- if (StringUtils.isEmpty(warehousebillsfeesList)) {
- return AjaxResult.error("未找到费用信息,请确认是否存在");
- }
- for (TWarehousebillsfees fee : warehousebillsfeesList) {
- if (StringUtils.isNotEmpty(fee.getfStatementNo()) || StringUtils.isNotEmpty(fee.getfStlamountNo())) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("费用信息存在已对账或已收费付费操作,无法撤销");
- }
- if ("remove".equals(type)) {
- tWarehousebillsfeesMapper.deleteTWarehousebillsfeesById(fee.getfId());
- } else {
- fee.setfStatus("2");
- fee.setUpdateTime(new Date());
- fee.setUpdateBy(SecurityUtils.getUsername());
- tWarehousebillsfeesMapper.updateTWarehousebillsfees(fee);
- }
- }
- if ("remove".equals(type)) {
- if (warehouseBills.getfBillstatus() != 2L) {
- return AjaxResult.error("主表状态有误,请确认状态是否为暂存状态");
- }
- tWarehouseBillsMapper.deleteTWarehousebillsById(fId);
- return AjaxResult.success();
- } else {
- if (warehouseBills.getfBillstatus() != 6L) {
- return AjaxResult.error("主表状态有误,请确认状态是否已提交");
- }
- }
- warehouseBills.setfBillstatus(2L);
- warehouseBills.setUpdateTime(new Date());
- warehouseBills.setUpdateBy(SecurityUtils.getUsername());
- tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
- return AjaxResult.success();
- }
- @Override
- public AjaxResult importCreateCompanyMsg(MultipartFile file) throws Exception {
- List<TWarehousebillsCntritemsExcel> fleetCompanyMsgs = new ArrayList<>();
- InputStream inputStream = null;
- try {
- inputStream = file.getInputStream();
- String originalFilename = file.getOriginalFilename();
- Workbook workbook = null;
- if (originalFilename.endsWith("xls")){
- workbook = WorkbookFactory.create(inputStream);
- }else if (originalFilename.endsWith("xlsx")){
- workbook = new XSSFWorkbook(inputStream);
- }
- Sheet sheet = workbook.getSheetAt(0);
- int line = 0;
- for (Row rows : sheet) {
- line++;
- if (rows.getRowNum() == 0) {
- continue;
- }
- TWarehousebillsCntritemsExcel companyMsg = new TWarehousebillsCntritemsExcel();
- for (int a = 0; a < rows.getPhysicalNumberOfCells(); a++) {
- Cell cell = rows.getCell(a);
- String value = filter(sheet.getRow(0), CellReference.convertNumToColString(cell.getColumnIndex()));
- switch (value) {
- case "箱号":
- //设置单元格类型
- cell.setCellType(CellType.STRING);
- if (StringUtils.isEmpty(cell.getStringCellValue())) {
- return AjaxResult.error("Excel箱信息数据第" + line + "行数据缺少箱号");
- }
- companyMsg.setfCntrno(cell.getStringCellValue());
- break;
- case "铅封号":
- //设置单元格类型
- cell.setCellType(CellType.STRING);
- if (StringUtils.isEmpty(cell.getStringCellValue())) {
- return AjaxResult.error("Excel箱信息数据第" + line + "行数据缺少封号");
- }
- companyMsg.setfSealno(cell.getStringCellValue());
- break;
- case "单箱重(不得超过40)":
- //设置单元格类型
- cell.setCellType(CellType.STRING);
- if (StringUtils.isEmpty(cell.getStringCellValue())) {
- return AjaxResult.error("Excel箱信息数据第" + line + "行数据缺少单箱重");
- }
- companyMsg.setfCntrweight(new BigDecimal(cell.getStringCellValue()));
- break;
- case "货名":
- //设置单元格类型
- cell.setCellType(CellType.STRING);
- if (StringUtils.isEmpty(cell.getStringCellValue())) {
- return AjaxResult.error("Excel箱信息数据第" + line + "行数据缺少货名");
- }
- companyMsg.setGoodsName(cell.getStringCellValue());
- TGoods tGoods = tGoodsMapper.checkUFNnameUnique(companyMsg.getGoodsName());
- if (tGoods != null && tGoods.getfId() != null) {
- companyMsg.setfGoodsid(tGoods.getfId());
- }
- break;
- case "包装类型":
- //设置单元格类型
- cell.setCellType(CellType.STRING);
- if (StringUtils.isEmpty(cell.getStringCellValue())) {
- return AjaxResult.error("Excel箱信息数据第" + line + "行数据缺少包装类型");
- }
- companyMsg.setPackageName(cell.getStringCellValue());
- String fPackageid = sysDictDataMapper.selectDictValue("f_packageid", companyMsg.getPackageName());
- if (StringUtils.isNotEmpty(fPackageid)) {
- companyMsg.setfPackageid(fPackageid);
- }
- break;
- case "箱型":
- //设置单元格类型
- cell.setCellType(CellType.STRING);
- if (StringUtils.isEmpty(cell.getStringCellValue())) {
- return AjaxResult.error("Excel箱信息数据第" + line + "行数据缺少箱型");
- }
- companyMsg.setCntrName(cell.getStringCellValue());
- Long fId = tCntrMapper.selectRcntrFId(companyMsg.getCntrName());
- if (fId != null) {
- companyMsg.setfCntrid(fId);
- }
- break;
- }
- }
- fleetCompanyMsgs.add(companyMsg);
- }
- } catch (IOException e) {
- return AjaxResult.error("上传文件失败,请检查文件是否损坏");
- }
- return AjaxResult.success("success", fleetCompanyMsgs);
- }
- @Override
- @Transactional
- public AjaxResult importCreateCompanyMsgNew(MultipartFile file,LoginUser loginUser) throws Exception {
- List<TTemporaryFile> fleetCompanyMsgs = new ArrayList<>();
- InputStream inputStream = null;
- Map<String,Object> map = new HashMap<>();
- try {
- inputStream = file.getInputStream();
- String originalFilename = file.getOriginalFilename();
- Workbook workbook = null;
- if (originalFilename.endsWith("xls")){
- workbook = WorkbookFactory.create(inputStream);
- }else if (originalFilename.endsWith("xlsx")){
- workbook = new XSSFWorkbook(inputStream);
- }
- Sheet sheet = workbook.getSheetAt(0);
- int line = 0;
- //导入之前删除原表里的数据
- tTemporaryFileMapper.deleteTTemporaryFilefileName(originalFilename,loginUser.getUser().getUserName());
- for (Row rows : sheet) {
- line++;
- if (rows.getRowNum() == 0) {
- continue;
- }
- TTemporaryFile companyMsg = new TTemporaryFile();
- companyMsg.setFileName(originalFilename);
- companyMsg.setCreateBy(loginUser.getUser().getUserName());
- companyMsg.setCreateTime(new Date());
- for (int a = 0; a < rows.getPhysicalNumberOfCells(); a++) {
- Cell cell = rows.getCell(a);
- String value = filter(sheet.getRow(0), CellReference.convertNumToColString(cell.getColumnIndex()));
- switch (value) {
- case "箱号":
- //设置单元格类型
- cell.setCellType(CellType.STRING);
- if (StringUtils.isEmpty(cell.getStringCellValue())) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.success("Excel箱信息数据第" + line + "行数据缺少箱号",500);
- }
- companyMsg.setfCntrno(cell.getStringCellValue());
- break;
- case "铅封号":
- //设置单元格类型
- cell.setCellType(CellType.STRING);
- if (StringUtils.isEmpty(cell.getStringCellValue())) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.success("Excel箱信息数据第" + line + "行数据缺少封号",500);
- }
- companyMsg.setfSealno(cell.getStringCellValue());
- break;
- case "单箱重(不得超过40)":
- //设置单元格类型
- cell.setCellType(CellType.STRING);
- if (StringUtils.isEmpty(cell.getStringCellValue())) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.success("Excel箱信息数据第" + line + "行数据缺少单箱重",500);
- }
- companyMsg.setfCntrweight(new BigDecimal(cell.getStringCellValue()));
- break;
- case "货名":
- //设置单元格类型
- cell.setCellType(CellType.STRING);
- if (StringUtils.isEmpty(cell.getStringCellValue())) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.success("Excel箱信息数据第" + line + "行数据缺少货名",500);
- }
- companyMsg.setGoodsName(cell.getStringCellValue());
- /*TGoods tGoods = tGoodsMapper.checkUFNnameUnique(companyMsg.getGoodsName());
- if (tGoods != null && tGoods.getfId() != null) {
- companyMsg.setfGoodsid(tGoods.getfId());
- }*/
- break;
- case "包装类型":
- //设置单元格类型
- cell.setCellType(CellType.STRING);
- if (StringUtils.isEmpty(cell.getStringCellValue())) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.success("Excel箱信息数据第" + line + "行数据缺少包装类型",500);
- }
- companyMsg.setPackageName(cell.getStringCellValue());
- /*String fPackageid = sysDictDataMapper.selectDictValue("f_packageid", companyMsg.getPackageName());
- if (StringUtils.isNotEmpty(fPackageid)) {
- companyMsg.setfPackageid(fPackageid);
- }*/
- break;
- case "箱型":
- //设置单元格类型
- cell.setCellType(CellType.STRING);
- if (StringUtils.isEmpty(cell.getStringCellValue())) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.success("Excel箱信息数据第" + line + "行数据缺少箱型",500);
- }
- companyMsg.setCntrName(cell.getStringCellValue());
- /*Long fId = tCntrMapper.selectRcntrFId(companyMsg.getCntrName());
- if (fId != null) {
- companyMsg.setfCntrid(fId);
- }*/
- break;
- }
- }
- tTemporaryFileMapper.insertTTemporaryFile(companyMsg);
- fleetCompanyMsgs.add(companyMsg);
- }
- map.put("total",fleetCompanyMsgs.size());
- map.put("fileName",originalFilename);
- } catch (IOException e) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("上传文件失败,请检查文件是否损坏");
- }
- return AjaxResult.success("success", map);
- }
- /**
- * 提交仓库主表审批
- * @param tWarehouseBills 主表信息
- * @param tWarehousebillsfeesCr 付款信息
- * @param tWarehousebillsfeesDr 收款信息
- * @param tWarehousebillsitems 仓储明细
- * @param tEnclosure 附件信息
- * @param tCntr 箱型箱量
- * @param billsType 类型
- * @return 结果
- */
- @Override
- @Transactional
- public AjaxResult submitWarehousingApproval(String tWarehouseBills, String tWarehousebillsfeesCr, String tWarehousebillsfeesDr,
- String tWarehousebillsitems, String tEnclosure, String tCntr, String billsType) {
- Long fPid = null;
- boolean isApprove = false;
- SysUser user = SecurityUtils.getLoginUser().getUser();
- Long actId = queryWarehouseActId(billsType);
- if ("SJRK".equals(billsType) || "SJCK".equals(billsType)) {
- SysConfig sysConfig = queryWarehouseConfig(billsType);
- if (StringUtils.isNull(sysConfig)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("系统参数异常,未找到开启审批流参数");
- }
- if ("0".equals(sysConfig.getConfigValue())) {
- isApprove = true;
- }
- }
- TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehouseBills, TWarehouseBills.class);
- if (isApprove) {
- warehouseBills.setWarehouseStatus(4L);
- } else {
- warehouseBills.setWarehouseStatus(6L);
- }
- Long timestamp = DateUtils.getTimestamp(new Date());
- warehouseBills.setfDateChanged(timestamp.toString() + (int) (Math.random() * 900) + 100);
- TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(warehouseBills.getfId());
- warehouseBills.setfQty(itemInFo.getfQty());
- warehouseBills.setfNetweight(itemInFo.getfNetweight());
- warehouseBills.setfGrossweight(itemInFo.getfGrossweight());
- // 仓库主表
- if (StringUtils.isNull(warehouseBills.getfId())) {
- return AjaxResult.error("请确认仓库信息是否保存");
- }
- fPid = warehouseBills.getfId();
- if (!"SJRK".equals(billsType)) {
- warehouseBills.setfChargedate(warehouseBills.getfBsdate());
- }
- warehouseBills.setfTimes(warehouseBills.getfTimes() + 1);
- warehouseBills.setUpdateTime(new Date());
- warehouseBills.setUpdateBy(user.getUserName());
- tEnclosureMapper.deleteByFPid(fPid);
- tWarehousebillsfeesMapper.deleteByFPid(fPid);
- tWarehousebillsitemsMapper.deleteByFPid(fPid);
- tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
- tWarehousebillsCntrMapper.deleteTWarehousebillsCntrfPid(fPid);
- // 仓储明细
- if (StringUtils.isNotEmpty(tWarehousebillsitems) && !"[]".equals(tWarehousebillsitems)) {
- JSONArray warehouseJSON = JSONArray.parseArray(tWarehousebillsitems);
- List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
- int line = 0;
- for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
- line++;
- if ("SJRK".equals(billsType) || "SJCK".equals(billsType) || "CKDB".equals(billsType) || "HWTG".equals(billsType)) {
- // 除了入库其他模块不需要更新主表的 仓储费计费日期到明细表,其他模块 应从库存总账把仓储费计费日期 赋给明细表
- if ("SJRK".equals(billsType)) {
- wbItem.setfMblno(warehouseBills.getfMblno());
- wbItem.setfBillingway(warehouseBills.getfBillingway());
- wbItem.setfChargedate(warehouseBills.getfChargedate());
- wbItem.setfOriginalbilldate(warehouseBills.getfBsdate());
- wbItem.setfMblno(warehouseBills.getfMblno());// 入库更新库存前执行update更新明细的提单号等于主表的提单号
- }
- }
- if (StringUtils.isNull(wbItem.getfChargedate())) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("库存明细第" + line + "行未找到仓储费计费日期,请确认");
- }
- if (StringUtils.isNull(wbItem.getfBillingway())) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("库存明细第" + line + "行未找到计费方式,请确认");
- }
- if (StringUtils.isNull(wbItem.getfOriginalbilldate())) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("库存明细第" + line + "行未找到原始入库日期,请确认");
- }
- wbItem.setfPid(fPid);
- wbItem.setfBilltype(billsType);
- wbItem.setCreateTime(new Date());
- wbItem.setfBillno(warehouseBills.getfBillno());
- wbItem.setCreateBy(user.getUserName());
- tWarehousebillsitemsMapper.insertTWarehousebillsitems(wbItem);
- }
- }
- // 箱型数据
- if (StringUtils.isNotNull(tCntr) && !"[]".equals(tCntr)) {
- JSONArray jsonDrArray = JSONArray.parseArray(tCntr);
- List<TWarehousebillsCntr> tWarehousebillsCntrs = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsCntr.class);
- int cntrLine = 0;
- for (TWarehousebillsCntr cntr : tWarehousebillsCntrs) {
- cntrLine++;
- if (StringUtils.isNull(cntr.getfCntrid()) || StringUtils.isNull(cntr.getfCntrcount()) || cntr.getfCntrcount() == 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("箱型数据第" + cntrLine + "行数据缺少必填数据");
- }
- cntr.setfPid(fPid);
- cntr.setfGoodsid(0L);
- cntr.setfPackageid("0");
- cntr.setCreateTime(new Date());
- cntr.setCreateBy(user.getUserName());
- cntr.setfCntrweight(new BigDecimal(0));
- tWarehousebillsCntrMapper.insertTWarehousebillsCntr(cntr);
- }
- }
- if (StringUtils.isNotNull(tWarehousebillsfeesCr) && !"[]".equals(tWarehousebillsfeesCr)) {
- JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsfeesCr);
- List<TWarehousebillsfees> warehousebillsfeesCrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees wbCr : warehousebillsfeesCrList) {
- wbCr.setfPid(fPid);
- wbCr.setfDc("C");
- wbCr.setfBilltype(billsType);
- wbCr.setCreateTime(new Date());
- wbCr.setSrcBillNo(warehouseBills.getfBillno());
- wbCr.setCreateBy(user.getUserName());
- wbCr.setfChargedate(warehouseBills.getfChargedate());
- wbCr.setfBillingDeadline(warehouseBills.getfChargedate());
- if (StringUtils.isNotNull(warehouseBills.getfBsdate())) {
- wbCr.setfBsdate(warehouseBills.getfBsdate());
- }
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbCr);
- }
- }
- if (StringUtils.isNotNull(tWarehousebillsfeesDr) && !"[]".equals(tWarehousebillsfeesDr)) {
- JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsfeesDr);
- List<TWarehousebillsfees> warehousebillsfeesDrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees wbDr : warehousebillsfeesDrList) {
- wbDr.setfPid(fPid);
- wbDr.setfDc("D");
- wbDr.setfBillstatus(4L);
- wbDr.setfBilltype(billsType);
- wbDr.setCreateTime(new Date());
- wbDr.setSrcBillNo(warehouseBills.getfBillno());
- wbDr.setCreateBy(user.getUserName());
- wbDr.setfChargedate(warehouseBills.getfChargedate());
- wbDr.setfBillingDeadline(warehouseBills.getfChargedate());
- if (StringUtils.isNotNull(warehouseBills.getfBsdate())) {
- wbDr.setfBsdate(warehouseBills.getfBsdate());
- }
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbDr);
- }
- }
- if (StringUtils.isNotNull(tEnclosure) && !"[]".equals(tEnclosure)) {
- JSONArray jsonEnclosureArray = JSONArray.parseArray(tEnclosure);
- List<TEnclosure> enclosuresList = JSONObject.parseArray(jsonEnclosureArray.toJSONString(), TEnclosure.class);
- long lineNo = 0L;
- for (TEnclosure enclosure : enclosuresList) {
- lineNo++;
- enclosure.setfPid(fPid);
- enclosure.setfLineno(lineNo);
- enclosure.setCreateTime(new Date());
- enclosure.setCreateBy(user.getUserName());
- tEnclosureMapper.insertTEnclosure(enclosure);
- }
- }
- // 这里加个判断取系统参数来确定是否需要启用审批流
- if (isApprove) {
- AuditItems auditItems = new AuditItems();
- auditItems.setLevelId(0L);
- auditItems.setBillId(fPid);
- auditItems.setActId(actId);
- auditItems.setIffinalItem("F");
- auditItems.setBillNo(warehouseBills.getfBillno());
- // 存储委托方(货权方)
- auditItems.setRefno1(warehouseBills.getfCorpid() + "");
- // 存储业务类型(业务类型)
- auditItems.setRefno2(warehouseBills.getfBilltype());
- // 存储提单号(提单号)
- auditItems.setRefno3(warehouseBills.getfMblno());
- auditItems.setSendUserId(user.getUserId());
- auditItems.setSendName(user.getUserName());
- auditItems.setSendTime(new Date());
- auditItems.setAuditUserId(user.getUserId());
- auditItems.setAuditItem(new Date());
- auditItems.setAuditOpTime(new Date());
- auditItems.setAuditMsg("提交");
- auditItems.setAuditStatus("O");
- auditItems.setFidStatus("warehouse_status");
- auditItems.setTimes(warehouseBills.getfTimes());
- AjaxResult approvalFlow = auditItemsService.createApprovalFlow(auditItems);
- String code = approvalFlow.get("code").toString();
- if ("500".equals(code)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- }
- return approvalFlow;
- }
- return AjaxResult.success();
- }
- /**
- * app仓储新行提交业务
- *
- * @param item 仓库明细数据
- * @param attachs 附件
- * @return 结果
- */
- @Override
- @Transactional
- public AjaxResult saveWarehouse(String item, String attachs) {
- TWarehousebillsitems warehousebillsitems = JSONArray.parseObject(item, TWarehousebillsitems.class);
- if (StringUtils.isNull(warehousebillsitems.getfPid())) {
- return AjaxResult.error("未找到主表id信息,请确认");
- }
- TWarehouseBills warehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(warehousebillsitems.getfPid());
- if (StringUtils.isNotNull(warehousebillsitems.getfGoodsid())) {
- TGoods goods = tGoodsMapper.selectTGoodsById(warehousebillsitems.getfGoodsid());
- if (!warehouseBills.getfProductName().contains(goods.getfName())) {
- warehouseBills.setfProductName(warehouseBills.getfProductName() + "/" + goods.getfName());
- }
- }
- if (StringUtils.isNotNull(warehouseBills.getfMarks())) {
- if (!warehouseBills.getfMarks().contains(warehousebillsitems.getfMarks())) {
- warehouseBills.setfMarks(warehouseBills.getfMarks() + "/" + warehousebillsitems.getfMarks());
- }
- }
- if (!"SJRK".equals(warehouseBills.getfBilltype())) {
- if (!warehouseBills.getfMblno().contains(warehousebillsitems.getfMblno())) {
- warehouseBills.setfMblno(warehouseBills.getfMblno() + "/" + warehousebillsitems.getfMblno());
- }
- }
- Long timestamp = DateUtils.getTimestamp(new Date());
- warehouseBills.setfDateChanged(timestamp.toString() + (int) (Math.random() * 900) + 100);
- warehouseBills.setfItemsStatus(1L);
- warehouseBills.setUpdateTime(new Date());
- warehouseBills.setUpdateBy(SecurityUtils.getUsername());
- TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(warehouseBills.getfId());
- warehouseBills.setfQty(itemInFo.getfQty());
- warehouseBills.setfNetweight(itemInFo.getfNetweight());
- warehouseBills.setfGrossweight(itemInFo.getfGrossweight());
- tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
- warehousebillsitems.setfBillstatus(10L);
- warehousebillsitems.setCreateTime(new Date());
- warehousebillsitems.setCreateBy(SecurityUtils.getUsername());
- tWarehousebillsitemsMapper.insertTWarehousebillsitems(warehousebillsitems);
- tEnclosureMapper.deleteByFPid(warehousebillsitems.getfPid());
- if (StringUtils.isNotEmpty(attachs) && !"[]".equals(attachs)) {
- // 附件添加
- if (StringUtils.isNotEmpty(attachs) && !"[]".equals(attachs)) {
- JSONArray jsonDrArray = JSONArray.parseArray(attachs);
- List<TEnclosure> tEnclosureList = JSONObject.parseArray(jsonDrArray.toJSONString(), TEnclosure.class);
- for (TEnclosure enclosure : tEnclosureList) {
- enclosure.setfStatus("2");
- enclosure.setCreateTime(new Date());
- enclosure.setfPid(warehousebillsitems.getfPid());
- enclosure.setCreateBy(SecurityUtils.getUsername());
- tEnclosureMapper.insertTEnclosure(enclosure);
- }
- }
- }
- return AjaxResult.success();
- }
- /**
- * 查询提单号是否在一天当中出现多次
- *
- * @param tWarehouseBills 仓库数据
- * @return 结果
- */
- @Override
- public AjaxResult selectContainMblno(String tWarehouseBills, String billsType) {
- TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehouseBills, TWarehouseBills.class);
- warehouseBills.setfBilltype(billsType);
- String mblno = warehouseBills.getfMblno();
- Date bsdate = warehouseBills.getfBsdate();
- int count = tWarehouseBillsMapper.selectContainMblno(warehouseBills);
- if (count > 1) {
- return AjaxResult.success("提单号:" + mblno + ",日期:" + DateUtils.dateTime(bsdate) + ",出现" + count + "次", false);
- }
- return AjaxResult.success(true);
- }
- @Override
- public List<TWarehouseBills> webVersionOrder(TWarehouseBills tWarehouseBills) {
- List<TWarehouseBills> warehouseBills = tWarehouseBillsMapper.webVersionOrderList(tWarehouseBills);
- if (CollectionUtils.isNotEmpty(warehouseBills)) {
- for (TWarehouseBills warehouseBill : warehouseBills) {
- TWarehousebillsCntr warehousebillsCntr = new TWarehousebillsCntr();
- warehousebillsCntr.setfPid(warehouseBill.getfId());
- List<TWarehousebillsCntr> tWarehousebillsCntrs = tWarehousebillsCntrMapper.selectTWarehousebillsCntrList(warehousebillsCntr);
- if (CollectionUtils.isNotEmpty(tWarehousebillsCntrs)) {
- warehouseBill.settWarehousebillsCntrList(tWarehousebillsCntrs);
- }
- TWarehousebillsCntritems warehousebillsCntritems = new TWarehousebillsCntritems();
- warehousebillsCntritems.setfPid(warehouseBill.getfId());
- List<TWarehousebillsCntritems> tWarehousebillsCntritems = tWarehousebillsCntritemsMapper.selectTWarehousebillsCntritemsList(warehousebillsCntritems);
- if (CollectionUtils.isNotEmpty(tWarehousebillsCntritems)) {
- warehouseBill.settWarehousebillsCntritemsList(tWarehousebillsCntritems);
- }
- TVoyage tVoyage = tVoyageMapper.selectTVoyageById(warehouseBill.getfVoyid());
- warehouseBill.settVoyageL(tVoyage);
- }
- }
- return warehouseBills;
- }
- @Override
- public List<TWarehouseBills> webVersionOrderMessage(TWarehouseBills tWarehouseBills) {
- return tWarehouseBillsMapper.webVersionOrderList(tWarehouseBills);
- }
- @Override
- public List<Map<String, Object>> ruoYiVersionOrderList(LoginUser loginUser, TWarehouseBills tWarehouseBills) {
- //tWarehouseBills.setCreateBy(loginUser.getUser().getUserName());
- return tWarehouseBillsMapper.ruoYiVersionOrderList(tWarehouseBills);
- }
- @Override
- public List<Map<String, Object>> webVersionOrderMessage(LoginUser loginUser, TWarehouseBills tWarehouseBills) {
- TWarehouseBills warehouseBills = new TWarehouseBills();
- if (tWarehouseBills != null) {
- BeanUtil.copyProperties(tWarehouseBills, warehouseBills);
- warehouseBills.setCreateBy(loginUser.getUser().getUserName());
- } else {
- warehouseBills.setCreateBy(loginUser.getUser().getUserName());
- }
- return tWarehouseBillsMapper.ruoYiVersionOrderList1(warehouseBills);
- }
- @Override
- public List<TWarehouseBills> webVersionOrderDetails(TWarehouseBills tWarehouseBills) {
- List<TWarehouseBills> warehouseBills = tWarehouseBillsMapper.webVersionOrderById(tWarehouseBills);
- if (CollectionUtils.isNotEmpty(warehouseBills)) {
- for (TWarehouseBills warehouseBill : warehouseBills) {
- //货物信息
- TWarehousebillsCntr warehousebillsCntr = new TWarehousebillsCntr();
- warehousebillsCntr.setfPid(warehouseBill.getfId());
- List<TWarehousebillsCntr> tWarehousebillsCntrs = tWarehousebillsCntrMapper.selectTWarehousebillsCntrList(warehousebillsCntr);
- if (CollectionUtils.isNotEmpty(tWarehousebillsCntrs)) {
- warehouseBill.settWarehousebillsCntrList(tWarehousebillsCntrs);
- }
- //配箱信息
- TWarehousebillsCntritems warehousebillsCntritems = new TWarehousebillsCntritems();
- warehousebillsCntritems.setfPid(warehouseBill.getfId());
- List<TWarehousebillsCntritems> tWarehousebillsCntritems = tWarehousebillsCntritemsMapper.selectTWarehousebillsCntritemsList(warehousebillsCntritems);
- if (CollectionUtils.isNotEmpty(tWarehousebillsCntritems)) {
- warehouseBill.settWarehousebillsCntritemsList(tWarehousebillsCntritems);
- }
- //航次信息
- TVoyage tVoyage = tVoyageMapper.selectTVoyageById(warehouseBill.getfVoyid());
- warehouseBill.settVoyageL(tVoyage);
- //应收信息
- List<TWarehousebillsfees> tWarehousebillsfeesDr = tWarehousebillsfeesMapper.selectFeesByPId(warehouseBill.getfId(), "D");
- warehouseBill.settWarehousebillsfeesDr(tWarehousebillsfeesDr);
- //应付信息
- List<TWarehousebillsfees> warehousebillsfeesCr = tWarehousebillsfeesMapper.selectFeesByPId(warehouseBill.getfId(), "C");
- warehouseBill.setWarehousebillsfeesCr(warehousebillsfeesCr);
- if (CollectionUtils.isNotEmpty(tWarehousebillsfeesDr)) {
- warehouseBill.setMoneyStatus(tWarehousebillsfeesDr.get(0).getfBillstatus());
- } else if (CollectionUtils.isNotEmpty(warehousebillsfeesCr)) {
- warehouseBill.setMoneyStatus(warehousebillsfeesCr.get(0).getfBillstatus());
- }
- }
- }
- return warehouseBills;
- }
- @Override
- @Transactional
- public AjaxResult ruoYiUpdateOrderMessage(String tWarehousebills,String tWarehousebillsCntr, String tWarehousebillsCntritems, String tWarehousebillsfeesCr,
- String tWarehousebillsfeesDr, LoginUser loginUser, String billsType) {
- TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehousebills, TWarehouseBills.class);
- Map<String, Object> map = new HashMap<>();
- if (StringUtils.isEmpty(warehouseBills.getfMblno())) {
- return AjaxResult.error("提单号不能为空");
- }
- TWarehouseBills mblno = tWarehouseBillsMapper.selectTWarehousebillsfMblno(warehouseBills);
- if (StringUtils.isNotNull(mblno) && !mblno.getfId().equals(warehouseBills.getfId())) {
- return AjaxResult.error("提单号已存在,请重新提交");
- }
- TWarehouseBills tWarehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(warehouseBills.getfId());
- if (tWarehouseBills.getfBillstatus() != 11L) {
- return AjaxResult.error("订单未审核完成,暂不支持维护提单号");
- }
- TWarehouseBills bills = new TWarehouseBills();
- /*bills.setfId(warehouseBills.getfId());
- bills.setfMblno(warehouseBills.getfMblno());*/
- Integer integer = tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
- if (integer <= 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("维护提单号失败,请联系管理员");
- }
- List<TWarehouseBills> warehouseBillsList = tWarehouseBillsMapper.webVersionOrderById(warehouseBills);
- map.put("tWarehouseBills", warehouseBillsList.get(0));
- if (StringUtils.isNotEmpty(tWarehousebillsCntritems)) {
- JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsCntritems);
- List<TWarehousebillsCntritems> tWarehousebillsCntritemsList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsCntritems.class);
- if (CollectionUtils.isNotEmpty(tWarehousebillsCntritemsList)) {
- int cntritemsfPid = tWarehousebillsCntritemsMapper.deleteTWarehousebillsCntritemsfPid(warehouseBills.getfId());
- for (TWarehousebillsCntritems warehousebillsCntritems : tWarehousebillsCntritemsList) {
- warehousebillsCntritems.setfPid(warehouseBills.getfId());
- warehousebillsCntritems.setCreateTime(DateUtils.getNowDate());
- warehousebillsCntritems.setCreateBy(SecurityUtils.getUsername());
- int cntr = tWarehousebillsCntritemsMapper.insertTWarehousebillsCntritems(warehousebillsCntritems);
- }
- }
- map.put("tWarehousebillsCntritemsList", tWarehousebillsCntritemsList);
- }
- TWarehousebillsfees warehousebillsfees = new TWarehousebillsfees();
- warehousebillsfees.setfPid(warehouseBills.getfId());
- List<TWarehousebillsfees> tWarehousebillsfees = tWarehousebillsfeesMapper.selectTWarehousebillsfeesList(warehousebillsfees);
- if (CollectionUtils.isNotEmpty(tWarehousebillsfees)) {
- Long aLong = tWarehousebillsfees.get(0).getfBillstatus();
- if (aLong == 4L || aLong == 5L) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("订单费用审核中,不支持修改");
- }
- if (aLong == 6L) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("订单费用审核通过,不支持修改");
- }
- }
- int c = tWarehousebillsfeesMapper.deleteFessByFPid(warehouseBills.getfId(), "C");
- if (StringUtils.isNotNull(tWarehousebillsfeesCr) && !"[]".equals(tWarehousebillsfeesCr)) {
- JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsfeesCr);
- List<TWarehousebillsfees> warehousebillsfeesCrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees wbCr : warehousebillsfeesCrList) {
- wbCr.setfPid(warehouseBills.getfId());
- wbCr.setfDc("C");
- wbCr.setfBilltype(billsType);
- wbCr.setCreateTime(new Date());
- wbCr.setSrcBillNo(tWarehouseBills.getfBillno());
- wbCr.setCreateBy(loginUser.getUser().getUserName());
- //wbCr.setfChargedate(warehouseBills.getfChargedate());
- //wbCr.setfBillingDeadline(warehouseBills.getfChargedate());
- if (warehouseBills.getfBsdate() != null && !warehouseBills.getfBsdate().equals("")) {
- wbCr.setfBsdate(warehouseBills.getfBsdate());
- }
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbCr);
- }
- map.put("warehousebillsfeesCrList", warehousebillsfeesCrList);
- }
- int d = tWarehousebillsfeesMapper.deleteFessByFPid(warehouseBills.getfId(), "D");
- if (StringUtils.isNotNull(tWarehousebillsfeesDr) && !"[]".equals(tWarehousebillsfeesDr)) {
- JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsfeesDr);
- List<TWarehousebillsfees> warehousebillsfeesDrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees wbDr : warehousebillsfeesDrList) {
- wbDr.setfPid(warehouseBills.getfId());
- wbDr.setfDc("D");
- wbDr.setfBilltype(billsType);
- wbDr.setCreateTime(new Date());
- wbDr.setSrcBillNo(tWarehouseBills.getfBillno());
- wbDr.setCreateBy(loginUser.getUser().getUserName());
- //wbDr.setfChargedate(warehouseBills.getfChargedate());
- //wbDr.setfBillingDeadline(warehouseBills.getfChargedate());
- if (warehouseBills.getfBsdate() != null && !warehouseBills.getfBsdate().equals("")) {
- wbDr.setfBsdate(warehouseBills.getfBsdate());
- }
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbDr);
- }
- map.put("warehousebillsfeesDrList", warehousebillsfeesDrList);
- }
- if (StringUtils.isNotEmpty(tWarehousebillsCntr) && !"[]".equals(tWarehousebillsCntr)){
- JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsCntr);
- List<TWarehousebillsCntr> tWarehousebillsCntrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsCntr.class);
- if (CollectionUtils.isNotEmpty(tWarehousebillsCntrList)) {
- int i = tWarehousebillsCntrMapper.deleteTWarehousebillsCntrfPid(warehouseBills.getfId());
- for (TWarehousebillsCntr warehousebillsCntr : tWarehousebillsCntrList) {
- warehousebillsCntr.setfPid(warehouseBills.getfId());
- warehousebillsCntr.setCreateTime(DateUtils.getNowDate());
- warehousebillsCntr.setCreateBy(SecurityUtils.getUsername());
- int cntr = tWarehousebillsCntrMapper.insertTWarehousebillsCntr(warehousebillsCntr);
- }
- }
- map.put("tWarehousebillsCntrList", tWarehousebillsCntrList);
- }
- return AjaxResult.success("success", map);
- }
- @Override
- @Transactional
- public AjaxResult ruoYiSubmitMessage(String tWarehousebills,String tWarehousebillsCntr, String tWarehousebillsCntritems, String tWarehousebillsfeesCr,
- String tWarehousebillsfeesDr, LoginUser loginUser, String billsType) {
- boolean isApprove = false;
- String key = "";
- long actId = 0L;
- Long billStatus = null;
- if ("KHDD".equals(billsType)) {
- actId = 460L;
- key = "warehouse.khSubmitMoney.ApprovalFlow";
- }
- SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique(key);
- if (StringUtils.isNull(sysConfig)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("系统参数异常,未找到开启审批流参数");
- }
- if ("0".equals(sysConfig.getConfigValue())) {
- isApprove = true;
- }
- if (isApprove) {
- billStatus = 4L;
- } else {
- billStatus = 6L;
- }
- TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehousebills, TWarehouseBills.class);
- Map<String, Object> map = new HashMap<>();
- if (StringUtils.isEmpty(warehouseBills.getfMblno())) {
- return AjaxResult.error("提单号不能为空");
- }
- TWarehouseBills mblno = tWarehouseBillsMapper.selectTWarehousebillsfMblno(warehouseBills);
- if (StringUtils.isNotNull(mblno) && !mblno.getfId().equals(warehouseBills.getfId())) {
- return AjaxResult.error("提单号已存在,请重新提交");
- }
- TWarehouseBills tWarehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(warehouseBills.getfId());
- if (tWarehouseBills.getfBillstatus() != 11L) {
- return AjaxResult.error("订单未审核完成,暂不支持维护提单号");
- }
- warehouseBills.setfTimes(tWarehouseBills.getfTimes() + 1);
- /*TWarehouseBills bills = new TWarehouseBills();
- bills.setfId(warehouseBills.getfId());
- bills.setfMblno(warehouseBills.getfMblno());*/
- Integer integer = tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
- map.put("tWarehouseBills", tWarehouseBills);
- if (StringUtils.isNotEmpty(tWarehousebillsCntritems)) {
- JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsCntritems);
- List<TWarehousebillsCntritems> tWarehousebillsCntritemsList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsCntritems.class);
- if (CollectionUtils.isNotEmpty(tWarehousebillsCntritemsList)) {
- int cntritemsfPid = tWarehousebillsCntritemsMapper.deleteTWarehousebillsCntritemsfPid(warehouseBills.getfId());
- for (TWarehousebillsCntritems warehousebillsCntritems : tWarehousebillsCntritemsList) {
- warehousebillsCntritems.setfPid(warehouseBills.getfId());
- warehousebillsCntritems.setCreateTime(DateUtils.getNowDate());
- warehousebillsCntritems.setCreateBy(SecurityUtils.getUsername());
- int cntr = tWarehousebillsCntritemsMapper.insertTWarehousebillsCntritems(warehousebillsCntritems);
- }
- }
- map.put("tWarehousebillsCntritemsList", tWarehousebillsCntritemsList);
- }
- int c = tWarehousebillsfeesMapper.deleteFessByFPid(warehouseBills.getfId(), "C");
- if (StringUtils.isNotNull(tWarehousebillsfeesCr) && !"[]".equals(tWarehousebillsfeesCr)) {
- JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsfeesCr);
- List<TWarehousebillsfees> warehousebillsfeesCrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees wbCr : warehousebillsfeesCrList) {
- wbCr.setfPid(warehouseBills.getfId());
- wbCr.setfDc("C");
- wbCr.setfBilltype(billsType);
- wbCr.setfBillstatus(billStatus);
- wbCr.setCreateTime(new Date());
- wbCr.setSrcBillNo(tWarehouseBills.getfBillno());
- wbCr.setCreateBy(loginUser.getUser().getUserName());
- //wbCr.setfChargedate(warehouseBills.getfChargedate());
- //wbCr.setfBillingDeadline(warehouseBills.getfChargedate());
- if (warehouseBills.getfBsdate() != null && !warehouseBills.getfBsdate().equals("")) {
- wbCr.setfBsdate(warehouseBills.getfBsdate());
- }
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbCr);
- }
- map.put("warehousebillsfeesCrList", warehousebillsfeesCrList);
- }
- int d = tWarehousebillsfeesMapper.deleteFessByFPid(warehouseBills.getfId(), "D");
- if (StringUtils.isNotNull(tWarehousebillsfeesDr) && !"[]".equals(tWarehousebillsfeesDr)) {
- JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsfeesDr);
- List<TWarehousebillsfees> warehousebillsfeesDrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees wbDr : warehousebillsfeesDrList) {
- wbDr.setfPid(warehouseBills.getfId());
- wbDr.setfDc("D");
- wbDr.setfBillstatus(billStatus);
- wbDr.setfBilltype(billsType);
- wbDr.setCreateTime(new Date());
- wbDr.setSrcBillNo(tWarehouseBills.getfBillno());
- wbDr.setCreateBy(loginUser.getUser().getUserName());
- //wbDr.setfChargedate(warehouseBills.getfChargedate());
- //wbDr.setfBillingDeadline(warehouseBills.getfChargedate());
- if (warehouseBills.getfBsdate() != null && !warehouseBills.getfBsdate().equals("")) {
- wbDr.setfBsdate(warehouseBills.getfBsdate());
- }
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbDr);
- }
- map.put("warehousebillsfeesDrList", warehousebillsfeesDrList);
- }
- if (StringUtils.isNotEmpty(tWarehousebillsCntr) && !"[]".equals(tWarehousebillsCntr)){
- JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsCntr);
- List<TWarehousebillsCntr> tWarehousebillsCntrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsCntr.class);
- if (CollectionUtils.isNotEmpty(tWarehousebillsCntrList)) {
- int i = tWarehousebillsCntrMapper.deleteTWarehousebillsCntrfPid(warehouseBills.getfId());
- for (TWarehousebillsCntr warehousebillsCntr : tWarehousebillsCntrList) {
- warehousebillsCntr.setfPid(warehouseBills.getfId());
- warehousebillsCntr.setCreateTime(DateUtils.getNowDate());
- warehousebillsCntr.setCreateBy(SecurityUtils.getUsername());
- int cntr = tWarehousebillsCntrMapper.insertTWarehousebillsCntr(warehousebillsCntr);
- }
- }
- map.put("tWarehousebillsCntrList", tWarehousebillsCntrList);
- }
- if (isApprove) {
- AuditItems auditItems = new AuditItems();
- auditItems.setLevelId(0L);
- auditItems.setBillId(warehouseBills.getfId());
- auditItems.setActId(actId);
- auditItems.setIffinalItem("F");
- auditItems.setBillNo(tWarehouseBills.getfBillno());
- // 存储委托方(货权方)
- auditItems.setRefno1(tWarehouseBills.getfCorpid() + "");
- // 存储业务类型(业务类型)
- auditItems.setRefno2(tWarehouseBills.getfBilltype());
- // 存储提单号(提单号)
- auditItems.setRefno3(tWarehouseBills.getfMblno());
- auditItems.setSendUserId(loginUser.getUser().getUserId());
- auditItems.setSendName(SecurityUtils.getUsername());
- auditItems.setSendTime(new Date());
- auditItems.setAuditUserId(loginUser.getUser().getUserId());
- auditItems.setAuditItem(new Date());
- auditItems.setAuditOpTime(new Date());
- auditItems.setAuditMsg("提交");
- auditItems.setAuditStatus("O");
- auditItems.setFidStatus("f_billstatus");
- auditItems.setTimes(1L);
- AjaxResult approvalFlow = auditItemsService.createApprovalFlow(auditItems);
- // Long code = Long.valueOf(String.valueOf(approvalFlow.get("code"))).longValue();
- String code = approvalFlow.get("code").toString();
- // Long code = Long.valueOf(String.valueOf(ajaxResult.get("code"))).longValue();
- if ("500".equals(code)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- }
- return approvalFlow;
- }
- return AjaxResult.success("success", map);
- }
- @Override
- public AjaxResult updateOrderMessage(TWarehouseBills tWarehouseBills) {
- TWarehouseBills mblno = tWarehouseBillsMapper.selectTWarehousebillsfMblno(tWarehouseBills);
- if (StringUtils.isNotNull(mblno) && !mblno.getfId().equals(tWarehouseBills.getfId())) {
- return AjaxResult.error("提单号已存在,请重新提交");
- }
- TWarehouseBills warehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(tWarehouseBills.getfId());
- if (warehouseBills.getfBillstatus() != 6L) {
- return AjaxResult.error("下单未审核完成,暂不支持维护提单号");
- }
- int i = tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills);
- if (i <= 0) {
- return AjaxResult.error("更新提单号出错,请找管理员");
- }
- return AjaxResult.success();
- }
- /**
- * app 查询业务主表信息
- *
- * @param warehouseBills
- * @return
- */
- @Override
- public List<Map<String, Object>> selectAppStockList(TWarehouseBills warehouseBills) {
- return tWarehouseBillsMapper.selectAppStockList(warehouseBills);
- }
- /**
- * app 根据主表id查询主表对应明细列表数据
- *
- * @param warehouseBills
- * @return
- */
- @Override
- public List<Map<String, Object>> warehouseItemById(TWarehouseBills warehouseBills) {
- return tWarehouseBillsMapper.selectWarehouseItemListById(warehouseBills);
- }
- /**
- * app 根据明细id查询对应明细表数据
- *
- * @param fId
- * @return
- */
- @Override
- public AjaxResult selectWarehouseItemDataById(Long fId) {
- Map<String, Object> map = new HashMap<>();
- Map<String, Object> itemMap = tWarehousebillsitemsMapper.selectWarehouseItemsByPId(fId);
- if (StringUtils.isNull(itemMap) || !itemMap.containsKey("fPid")) {
- return AjaxResult.error("未找到库存明细数据,请确认该明细是否存在");
- }
- map.put("item", itemMap);
- if (itemMap.containsKey("fPid") && StringUtils.isNotNull(itemMap.get("fPid"))) {
- long fPid = Long.valueOf(String.valueOf(itemMap.get("fPid")));
- TWarehouseBills tWarehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(fPid);
- map.put("warehouseBills", tWarehouseBills);
- // 查询附件
- map.put("enclosure", tEnclosureMapper.selectTEnclosureByPId(tWarehouseBills.getfId()));
- }
- return AjaxResult.success(map);
- }
- /**
- * 查询app 添加新行 必要的基础资料
- *
- * @param fId
- * @return
- */
- @Override
- public AjaxResult getAppBasicInformation(Long fId) {
- Map<String, Object> map = new HashMap<>();
- TWarehouseBills tWarehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(fId);
- map.put("warehouseBills", tWarehouseBills);
- if (StringUtils.isNotNull(tWarehouseBills.getfLabour())) {
- TCorps corps = tCorpsMapper.selectTCorpsById(tWarehouseBills.getfLabour());
- if (StringUtils.isNotNull(corps)) {
- map.put("labourName", corps.getfName());
- }
- }
- if (StringUtils.isNotNull(tWarehouseBills.getfFleet())) {
- TCorps corps = tCorpsMapper.selectTCorpsById(tWarehouseBills.getfFleet());
- if (StringUtils.isNotNull(corps)) {
- map.put("fleetName", corps.getfName());
- }
- }
- if (StringUtils.isNotNull(tWarehouseBills.getfGoodsid())) {
- TGoods goods = tGoodsMapper.selectTGoodsById(tWarehouseBills.getfGoodsid());
- if (StringUtils.isNotNull(goods)) {
- map.put("goodsName", goods.getfName());
- }
- }
- // 查询劳务公司
- TCorps corps = new TCorps();
- corps.setfTypeid("\"6\"");
- corps.setfStatus("0");
- map.put("corpsList", tCorpsMapper.selectTCorpsList(corps));
- // 查询车队
- TCorps fleetCorp = new TCorps();
- corps.setfTypeid("\"2\"");
- fleetCorp.setfStatus("0");
- map.put("feelCorpList", tCorpsMapper.selectTCorpsList(fleetCorp));
- // 查询商品品名
- TGoods goods = new TGoods();
- goods.setfStatus("0");
- map.put("goodsList", tGoodsMapper.selectTGoodsList(goods));
- // 查询库区
- TWarehouse tWarehouse = new TWarehouse();
- tWarehouse.setAncestors(tWarehouseBills.getfWarehouseid() + "");
- List<TWarehouse> warehouses = tWarehouseMapper.selectTWarehouseList(tWarehouse);
- if (StringUtils.isNotEmpty(warehouses)) {
- map.put("warehouse", warehouseServiceImpl.buildDeptTreeSelect(warehouses));
- }
- map.put("attributes", sysDictDataMapper.selectDictDataByType("storage_type"));
- // 查询箱型数据
- TCntr tCntr = new TCntr();
- tCntr.setfStatus("T");
- map.put("cntrList", tCntrMapper.selectTCntrList(tCntr));
- return AjaxResult.success(map);
- }
- /**
- * app确认入库、出库、货转
- *
- * @param item 明细数据
- * @param attachs 附件数据
- * @return 结果
- */
- @Override
- @Transactional
- public AjaxResult warehouseOperationConfirmation(String item, String attachs) {
- LoginUser loginUser = SecurityUtils.getLoginUser();
- TWarehousebillsitems tWarehousebillsitems = JSONArray.parseObject(item, TWarehousebillsitems.class);
- if (StringUtils.isNull(tWarehousebillsitems.getfId()) || StringUtils.isNull(tWarehousebillsitems.getfPid())) {
- return AjaxResult.error("未找到仓库明细id,或未找到上级id,请确认");
- }
- // 查询主表
- TWarehouseBills warehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(tWarehousebillsitems.getfPid());
- if (StringUtils.isNull(warehouseBills.getfBsdate())) {
- return AjaxResult.error("库存明细请检查日期,操作终止");
- }
- if (StringUtils.isNull(warehouseBills.getfCorpid())) {
- return AjaxResult.error("库存明细请检查客户信息,操作终止");
- }
- warehouseBills.setfItemsStatus(4L);
- warehouseBills.setUpdateTime(new Date());
- warehouseBills.setUpdateBy(SecurityUtils.getUsername());
- Long timestamp = DateUtils.getTimestamp(new Date());
- warehouseBills.setfDateChanged(timestamp.toString() + (int) (Math.random() * 900) + 100);
- TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(warehouseBills.getfId());
- warehouseBills.setfQty(itemInFo.getfQty());
- warehouseBills.setfNetweight(itemInFo.getfNetweight());
- warehouseBills.setfGrossweight(itemInFo.getfGrossweight());
- tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
- // 查询最新明细表
- TWarehousebillsitems warehousebillsitems = tWarehousebillsitemsMapper.selectTWarehousebillsitemsById(tWarehousebillsitems.getfId());
- if (StringUtils.isNull(warehousebillsitems) || warehousebillsitems.getfBillstatus() != 30L) {
- return AjaxResult.error("请确认是该明细数据是否存在,或该明细数据状态异常");
- }
- String billsType = warehousebillsitems.getfBilltype();
- TGoods goods = tGoodsMapper.selectTGoodsById(warehousebillsitems.getfGoodsid());
- if ("1".equals(goods.getIfCntrno()) && StringUtils.isNull(warehousebillsitems.getfCntrno())) {
- return AjaxResult.error("仓库明细第未找到箱号");
- }
- if ("SJRK".equals(billsType)) {
- // 查询库容量 是否可入库
- int m = calculation(warehouseBills.getfWarehouseid(), warehousebillsitems.getfGrossweight());
- if (m == 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("更新库存总账失败-->入库毛重大于库容");
- }
- TWhgenleg tWhgenle = queryTWhgenleg(warehouseBills, warehousebillsitems, goods.getIfCntrno());
- if (StringUtils.isNotNull(tWhgenle)) {
- int i = updateTWhgenlegData(tWarehousebillsitems, tWhgenle.getfId(), billsType);
- if (i <= 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("更新库存总账失败");
- }
- } else {
- warehousebillsitems.setfQty(tWarehousebillsitems.getfQty());
- warehousebillsitems.setfGrossweight(tWarehousebillsitems.getfGrossweight());
- warehousebillsitems.setfNetweight(tWarehousebillsitems.getfNetweight());
- if (instalTWhgenleg(warehouseBills, warehousebillsitems, loginUser.getUser()) <= 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("新增库存总账失败");
- }
- }
- tWarehousebillsitems.setfIsInventory(0L);
- tWarehousebillsitems.setfSerialNumber(warehousebillsitems.getfSerialNumber());
- if (StringUtils.isNotNull(tWarehousebillsitems.getfId())) {
- tWarehousebillsitems.setfBillstatus(40L);
- tWarehousebillsitems.setUpdateTime(new Date());
- tWarehousebillsitems.setUpdateBy(SecurityUtils.getUsername());
- tWarehousebillsitemsMapper.updateTWarehousebillsitems(tWarehousebillsitems);
- // 添加状态log
- insertTWarehousebillsLog(tWarehousebillsitems, 40L, loginUser);
- }
- } else if ("SJCK".equals(billsType)) {
- // 查询总账是否存在
- TWhgenleg tWhgenle = queryTWhgenleg(warehouseBills, warehousebillsitems, goods.getIfCntrno());
- if (StringUtils.isNull(tWhgenle)) { // 为空 提示没有库存
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("库存明细库存为空");
- }
- // 库存 < 出库件数
- if (tWhgenle.getfQtyblc() < tWarehousebillsitems.getfQty()) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("库存明细库存不足");
- }
- tWarehousebillsitems.setfVolumn(warehousebillsitems.getfVolumn());
- // 跟新库存总账
- updateTWhgenlegData(tWarehousebillsitems, tWhgenle.getfId(), billsType);
- tWarehousebillsitems.setfBillstatus(40L);
- tWarehousebillsitems.setUpdateTime(new Date());
- tWarehousebillsitems.setfPid(warehouseBills.getfId());
- tWarehousebillsitems.setfBsdate(warehouseBills.getfBsdate());
- tWarehousebillsitems.setfBillno(warehouseBills.getfBillno());
- tWarehousebillsitems.setUpdateBy(loginUser.getUser().getUserName());
- tWarehousebillsitems.setfSerialNumber(warehousebillsitems.getfSerialNumber());
- tWarehousebillsitemsMapper.updateTWarehousebillsitems(tWarehousebillsitems);
- // 添加状态log
- insertTWarehousebillsLog(tWarehousebillsitems, 40L, loginUser);
- }
- tEnclosureMapper.deleteByFPid(warehouseBills.getfId());
- // 附件添加
- if (StringUtils.isNotEmpty(attachs) && !"[]".equals(attachs)) {
- JSONArray jsonDrArray = JSONArray.parseArray(attachs);
- List<TEnclosure> tEnclosureList = JSONObject.parseArray(jsonDrArray.toJSONString(), TEnclosure.class);
- for (TEnclosure enclosure : tEnclosureList) {
- enclosure.setfStatus("6");
- enclosure.setCreateTime(new Date());
- enclosure.setfPid(warehouseBills.getfId());
- enclosure.setCreateBy(loginUser.getUser().getUserName());
- tEnclosureMapper.insertTEnclosure(enclosure);
- }
- }
- return AjaxResult.success();
- }
- /**
- * app查询入库数量
- */
- @Override
- public List<Map<String, Object>> selectWarehouseBusinessInStockList(TWarehousebillsitems tWarehousebillsitems) {
- List<Map<String, Object>> mapList = null;
- if (tWarehousebillsitems.getfBilltype().equals("SJRK")) {
- mapList = tWarehousebillsitemsMapper.selectWarehouseBusinesInList(tWarehousebillsitems);
- } else {
- mapList = tWarehousebillsitemsMapper.selectWarehouseBusinesOutList(tWarehousebillsitems);
- }
- if (StringUtils.isNotEmpty(mapList)) {
- for (Map<String, Object> map : mapList) {
- Long fId = Long.valueOf(String.valueOf(map.get("fPid")));
- TEnclosure enclosure = new TEnclosure();
- enclosure.setfPid(fId);
- map.put("enclosure", tEnclosureMapper.selectWarehouseAccessoriesList(enclosure));
- }
- }
- return mapList;
- }
- /**
- * 叫车进场
- *
- * @param item 明细数据
- * @param attachs 附件
- * @return 结果
- */
- @Override
- @Transactional
- public AjaxResult addCreditItems(String item, String attachs) {
- TWarehousebillsitems tWarehousebillsitems = JSONArray.parseObject(item, TWarehousebillsitems.class);
- if (StringUtils.isNull(tWarehousebillsitems.getfId())) {
- return AjaxResult.error("未找到仓库明细id,请确认");
- }
- TWarehousebillsitems warehousebillsitems = tWarehousebillsitemsMapper.selectTWarehousebillsitemsById(tWarehousebillsitems.getfId());
- if (StringUtils.isNull(warehousebillsitems)) {
- return AjaxResult.error("未找到该条明细数据,请确认明细数据是否存在");
- }
- if (StringUtils.isNull(warehousebillsitems.getfBillstatus())) {
- return AjaxResult.error("未找到仓库明细状态信息,请确认");
- }
- if (warehousebillsitems.getfBillstatus() > 20L) {
- return AjaxResult.error("该仓库明细状态异常,请确认状态信息");
- }
- warehousebillsitems.setfBillstatus(30L);
- warehousebillsitems.setUpdateTime(new Date());
- warehousebillsitems.setUpdateBy(SecurityUtils.getUsername());
- tWarehousebillsitemsMapper.updateTWarehousebillsitems(warehousebillsitems);
- // 更新主表明细状态
- TWarehouseBills warehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(warehousebillsitems.getfPid());
- if (StringUtils.isNotNull(warehousebillsitems.getfGoodsid())) {
- TGoods goods = tGoodsMapper.selectTGoodsById(warehousebillsitems.getfGoodsid());
- if (!warehouseBills.getfProductName().contains(goods.getfName())) {
- warehouseBills.setfProductName(warehouseBills.getfProductName() + "/" + goods.getfName());
- }
- }
- if (StringUtils.isNotNull(warehouseBills.getfMarks())) {
- if (!warehouseBills.getfMarks().contains(warehousebillsitems.getfMarks())) {
- warehouseBills.setfMarks(warehouseBills.getfMarks() + "/" + warehousebillsitems.getfMarks());
- }
- }
- if (!"SJRK".equals(warehouseBills.getfBilltype())) {
- if (!warehouseBills.getfMblno().contains(warehousebillsitems.getfMblno())) {
- warehouseBills.setfMblno(warehouseBills.getfMblno() + "/" + warehousebillsitems.getfMblno());
- }
- }
- warehouseBills.setfItemsStatus(3L);
- warehouseBills.setUpdateTime(new Date());
- Long timestamp = DateUtils.getTimestamp(new Date());
- warehouseBills.setfDateChanged(timestamp.toString() + (int) (Math.random() * 900) + 100);
- warehouseBills.setUpdateBy(SecurityUtils.getUsername());
- TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(warehouseBills.getfId());
- warehouseBills.setfQty(itemInFo.getfQty());
- warehouseBills.setfNetweight(itemInFo.getfNetweight());
- warehouseBills.setfGrossweight(itemInFo.getfGrossweight());
- tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
- tEnclosureMapper.deleteByFPid(warehouseBills.getfId());
- // 附件添加
- if (StringUtils.isNotEmpty(attachs) && !"[]".equals(attachs)) {
- JSONArray jsonDrArray = JSONArray.parseArray(attachs);
- List<TEnclosure> tEnclosureList = JSONObject.parseArray(jsonDrArray.toJSONString(), TEnclosure.class);
- for (TEnclosure enclosure : tEnclosureList) {
- enclosure.setfStatus("6");
- enclosure.setCreateTime(new Date());
- enclosure.setfPid(warehouseBills.getfId());
- enclosure.setCreateBy(SecurityUtils.getUsername());
- tEnclosureMapper.insertTEnclosure(enclosure);
- }
- }
- return AjaxResult.success();
- }
- @Override
- public List<InStock> inStockExport(TWarehouseBills tWarehousebills) throws Exception {
- List<Map<String, Object>> list = tWarehouseBillsMapper.selectWarehouseBusinessList(tWarehousebills);
- List<InStock> list1 = ListMapToBeanUtils.castMapToBean(list, InStock.class);
- return list1;
- }
- @Override
- public List<OutStock> outStockExport(TWarehouseBills tWarehousebills) throws Exception {
- List<Map<String, Object>> list = tWarehouseBillsMapper.selectWarehouseBusinessList(tWarehousebills);
- List<OutStock> list1 = ListMapToBeanUtils.castMapToBean(list, OutStock.class);
- return list1;
- }
- @Override
- public List<StockTransfer> stockTransferExport(TWarehouseBills tWarehousebills) throws Exception {
- List<Map<String, Object>> list = tWarehouseBillsMapper.selectWarehouseBusinessList(tWarehousebills);
- List<StockTransfer> list1 = ListMapToBeanUtils.castMapToBean(list, StockTransfer.class);
- return list1;
- }
- @Override
- public List<GoodsTransfer> goodsTransferExport(TWarehouseBills tWarehousebills) throws Exception {
- List<Map<String, Object>> list = tWarehouseBillsMapper.selectWarehouseBusinessList1(tWarehousebills);
- List<GoodsTransfer> list1 = ListMapToBeanUtils.castMapToBean(list, GoodsTransfer.class);
- return list1;
- }
- @Override
- public List<StorageFee> storageFeeExport(TWarehouseBills tWarehousebills) throws Exception {
- List<Map<String, Object>> list = tWarehouseBillsMapper.selectWarehouseBusinessList1(tWarehousebills);
- List<StorageFee> list1 = ListMapToBeanUtils.castMapToBean(list, StorageFee.class);
- return list1;
- }
- /**
- * 根据仓库主表id 更新对应明细表状态
- *
- * @param fPid 仓库主表id
- * @return 结果
- */
- @Transactional
- public AjaxResult warehouseFollow(Long fPid, long fettle) {
- if (StringUtils.isNull(fPid)) {
- return AjaxResult.error("仓库更新状态未找到主表信息,请与管理员联系");
- }
- try {
- tWarehouseBillsMapper.warehouseFollowUpdate(fPid, fettle, new Date());
- tWarehousebillsfeesMapper.warehouseFeesFollowUpdate(fPid, fettle, new Date());
- TWarehouseBills tWarehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(fPid);
- if ("SJRK".equals(tWarehouseBills.getfBilltype()) || "SJCK".equals(tWarehouseBills.getfBilltype())) {
- fettle = 40L;
- }
- tWarehousebillsitemsMapper.warehouseItemFollowUpdate(fPid, fettle);
- } catch (Exception e) {
- return AjaxResult.error("更新库存费用状态失败,请联系管理员");
- }
- return AjaxResult.success();
- }
- /**
- * 根据仓库主表id 更新对应明细表状态
- *
- * @param fPid 仓库主表id
- * @return 结果
- */
- @Transactional
- public AjaxResult storageFeeFollow(Long fPid, long fettle) {
- if (StringUtils.isNull(fPid)) {
- return AjaxResult.error("仓库更新状态未找到主表信息,请与管理员联系");
- }
- int warehouseUpdateResult = tWarehouseBillsMapper.warehouseFollowUpdate(fPid, fettle, new Date());
- if (warehouseUpdateResult <= 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("更新库存明细状态失败,请联系管理员");
- }
- TWarehousebillsfees warehousebillsfees = new TWarehousebillsfees();
- warehousebillsfees.setfPid(fPid);
- List<TWarehousebillsfees> warehousebillsfeesList = tWarehousebillsfeesMapper.selectTWarehousebillsfeesList(warehousebillsfees);
- for (TWarehousebillsfees wareItem : warehousebillsfeesList) {
- if (StringUtils.isNull(wareItem.getSrcId())) {
- continue;
- }
- if ("KCZZ".equals(wareItem.getfBilltype())) {
- TWhgenleg tWhgenleg = tWhgenlegMapper.selectTWhgenlegById(wareItem.getSrcId());
- tWhgenleg.setfChargedate(DateUtils.dateAdd(wareItem.getfBillingDeadline(), 1));
- int i = tWhgenlegMapper.updateTWhgenleg(tWhgenleg);
- if (i <= 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("更新库存费用状态失败,请联系管理员");
- }
- } else {
- TWarehousebillsitems tWarehousebillsitems = tWarehousebillsitemsMapper.selectTWarehousebillsitemsById(wareItem.getSrcId());
- tWarehousebillsitems.setfChargedate(DateUtils.dateAdd(wareItem.getfBillingDeadline(), 1));
- if ("SJCK".equals(wareItem.getfBilltype())) {
- tWarehousebillsitems.setfStorageFeeDeadline(wareItem.getfBillingDeadline());
- }
- tWarehousebillsitemsMapper.updateTWarehousebillsitems(tWarehousebillsitems);
- }
- }
- int feesUpdateResult = tWarehousebillsfeesMapper.warehouseFeesFollowUpdate(fPid, fettle, new Date());
- if (feesUpdateResult <= 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("更新库存费用状态失败,请联系管理员");
- }
- return AjaxResult.success();
- }
- /**
- * 入库确认
- *
- * @param warehouseBills 主表
- * @param warehousebillsitems 明细
- * @param loginUser 当前登录人
- * @param billsType 状态
- * @return 结果
- */
- @Override
- @Transactional
- public AjaxResult addCredit(String warehouseBills, String warehousebillsitems, String tEnclosure, String warehousebillsfeesCr,
- String warehousebillsfeesDr, LoginUser loginUser, String tCntr, String billsType) {
- Map<String, Object> map = new HashMap<>();
- if (StringUtils.isNull(warehouseBills) || "[]".equals(warehouseBills)) {
- return AjaxResult.error("未找到主表信息");
- }
- if (StringUtils.isNull(warehousebillsitems) || "[]".equals(warehousebillsitems)) {
- return AjaxResult.error("未找到入账信息");
- }
- TWarehouseBills tWarehouseBills = JSONArray.parseObject(warehouseBills, TWarehouseBills.class);
- tEnclosureMapper.deleteByFPid(tWarehouseBills.getfId());
- tWarehousebillsfeesMapper.deleteByFPid(tWarehouseBills.getfId());
- tWarehousebillsCntrMapper.deleteTWarehousebillsCntrfPid(tWarehouseBills.getfId());
- boolean businessStatus = "场地直装".equals(tWarehouseBills.getfBusinessType());
- JSONArray warehouseJSON = JSONArray.parseArray(warehousebillsitems);
- List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
- Date time = new Date();
- if ("0".equals(tWarehouseBills.getfChargetype())) {
- time = tWarehousebillsitemsMapper.selecMinBsDateByFPid(tWarehouseBills.getfId());
- }
- int i = 1;
- for (TWarehousebillsitems item : warehousebillsitemsList) {
- // 查询是否可以修改
- TWarehousebillsitems tWarehousebillsitems = tWarehousebillsitemsMapper.selectTWarehousebillsitemsById(item.getfId());
- if (tWarehousebillsitems.getfBillstatus() == 40) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("更新库存明细第" + i + "行失败,已处理,请刷新网页");
- }
- if (StringUtils.isNull(item.getfWarehouselocid())) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("库存明细第" + i + "行未找到库区");
- }
- if (!businessStatus) {
- // 查询库容量 是否可入库
- int m = calculation(tWarehouseBills.getfWarehouseid(), item.getfGrossweight());
- if (m == 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("更新库存总账失败-->入库毛重大于库容");
- }
- item.setfOriginalbilldate(item.getfBsdate());
- item.setfBillingway(tWarehouseBills.getfBillingway());
- if ("1".equals(tWarehouseBills.getfChargetype())) {
- time = item.getfBsdate();
- }
- item.setfChargedate(time);
- TGoods goods = tGoodsMapper.selectTGoodsById(item.getfGoodsid());
- if ("1".equals(goods.getIfCntrno()) && StringUtils.isNull(item.getfCntrno())) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("仓库明细第"+i+"行未找到箱号");
- }
- TWhgenleg tWhgenle = queryTWhgenleg(tWarehouseBills, item, goods.getIfCntrno());
- //复制报关单号和备注
- if ("SJRK".equals(billsType)){
- if (StringUtils.isNotEmpty(tWarehouseBills.getfCustomno())){
- item.setfCustomno(tWarehouseBills.getfCustomno());
- }
- if (StringUtils.isNotEmpty(tWarehouseBills.getRemark())){
- item.setRemark(tWarehouseBills.getRemark());
- }
- }
- if (StringUtils.isNotNull(tWhgenle)) {
- int i1 = updateTWhgenlegData(item, tWhgenle.getfId(), billsType);
- if (i1 <= 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("更新库存总账失败");
- }
- } else {
- if (instalTWhgenleg(tWarehouseBills, item, loginUser.getUser()) <= 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("新增库存总账失败");
- }
- }
- item.setfIsInventory(0L);
- } else {
- item.setfIsInventory(1L);
- }
- int num = 0;
- if (StringUtils.isNotNull(item.getfId())) {
- item.setfBillstatus(40L);
- item.setUpdateBy(loginUser.getUser().getUserName());
- item.setUpdateTime(new Date());
- if ("SJRK".equals(billsType)) {
- item.setfMblno(tWarehouseBills.getfMblno());// 入库更新库存前执行update更新明细的提单号等于主表的提单号
- }
- num = tWarehousebillsitemsMapper.updateTWarehousebillsitems(item);
- // 添加状态log
- insertTWarehousebillsLog(item, 40L, loginUser);
- }
- if (num <= 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("新增库存明细失败");
- }
- i++;
- }
- // 箱型数据
- if (StringUtils.isNotNull(tCntr) && !"[]".equals(tCntr)) {
- JSONArray jsonDrArray = JSONArray.parseArray(tCntr);
- List<TWarehousebillsCntr> tWarehousebillsCntrs = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsCntr.class);
- int line = 0;
- for (TWarehousebillsCntr cntr : tWarehousebillsCntrs) {
- line++;
- if (StringUtils.isNull(cntr.getfCntrid()) || StringUtils.isNull(cntr.getfCntrcount()) || cntr.getfCntrcount() == 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("箱型数据第" + line + "行数据缺少必填数据");
- }
- cntr.setfPid(tWarehouseBills.getfId());
- cntr.setfGoodsid(0L);
- cntr.setfPackageid("0");
- cntr.setfCntrweight(new BigDecimal(0));
- cntr.setCreateBy(loginUser.getUser().getUserName());
- cntr.setCreateTime(new Date());
- tWarehousebillsCntrMapper.insertTWarehousebillsCntr(cntr);
- }
- }
- // 附件添加
- if (StringUtils.isNotEmpty(tEnclosure) && !"[]".equals(tEnclosure)) {
- JSONArray jsonDrArray = JSONArray.parseArray(tEnclosure);
- List<TEnclosure> tEnclosureList = JSONObject.parseArray(jsonDrArray.toJSONString(), TEnclosure.class);
- for (TEnclosure enclosure : tEnclosureList) {
- enclosure.setfPid(tWarehouseBills.getfId());
- enclosure.setCreateBy(loginUser.getUser().getUserName());
- enclosure.setCreateTime(new Date());
- tEnclosureMapper.insertTEnclosure(enclosure);
- }
- }
- // 收款明细添加
- if (StringUtils.isNotEmpty(warehousebillsfeesDr) && !"[]".equals(warehousebillsfeesDr)) {
- JSONArray jsonDrArray = JSONArray.parseArray(warehousebillsfeesDr);
- List<TWarehousebillsfees> warehousebillsfeesDrList = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees wbDr : warehousebillsfeesDrList) {
- wbDr.setfPid(tWarehouseBills.getfId());
- wbDr.setfDc("D");
- wbDr.setCreateBy(loginUser.getUser().getUserName());
- wbDr.setCreateTime(new Date());
- if (tWarehouseBills.getfBsdate() != null && !tWarehouseBills.getfBsdate().equals("")) {
- wbDr.setfBsdate(tWarehouseBills.getfBsdate());
- }
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbDr);
- }
- }
- // 付款明细添加
- if (StringUtils.isNotNull(warehousebillsfeesCr) && !"[]".equals(warehousebillsfeesCr)) {
- JSONArray jsonCrArray = JSONArray.parseArray(warehousebillsfeesCr);
- List<TWarehousebillsfees> warehousebillsfeesCrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees wbCr : warehousebillsfeesCrList) {
- wbCr.setfPid(tWarehouseBills.getfId());
- wbCr.setfDc("C");
- wbCr.setCreateBy(loginUser.getUser().getUserName());
- wbCr.setCreateTime(new Date());
- if (tWarehouseBills.getfBsdate() != null && !tWarehouseBills.getfBsdate().equals("")) {
- wbCr.setfBsdate(tWarehouseBills.getfBsdate());
- }
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbCr);
- }
- }
- //最后更新仓库主表
- tWarehouseBills.setfItemsStatus(4L);
- tWarehouseBills.setfBilltype(billsType);
- tWarehouseBills.setUpdateBy(loginUser.getUser().getUserName());
- tWarehouseBills.setUpdateTime(new Date());
- Long timestamp = DateUtils.getTimestamp(new Date());
- tWarehouseBills.setfDateChanged(timestamp.toString() + (int) (Math.random() * 900) + 100);
- TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(tWarehouseBills.getfId());
- tWarehouseBills.setfQty(itemInFo.getfQty());
- tWarehouseBills.setfNetweight(itemInFo.getfNetweight());
- tWarehouseBills.setfGrossweight(itemInFo.getfGrossweight());
- tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills);
- map.put("warehousebills", tWarehouseBills);
- map.put("warehousebillsitems", warehousebillsitemsList);
- return AjaxResult.success("成功", map);
- }
- /**
- * 入库明细提交审批确认
- *
- * 待完善!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- */
- @Override
- @Transactional
- public AjaxResult addDetails(Long fId, String billsType,LoginUser loginUser) {
- TWarehouseBills tWarehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(fId);
- if (StringUtils.isNull(tWarehouseBills)) {
- return AjaxResult.error("未找到仓储信息,请确认是否存在");
- }
- List<TWarehousebillsitems> warehousebillsitemsList = tWarehousebillsitemsMapper.selectItemsStatusByPid(fId);
- if (StringUtils.isEmpty(warehousebillsitemsList)) {
- return AjaxResult.error("未找到仓储库存明细信息,请确认是否存在");
- }
- if (tWarehouseBills.getfItemstatus().longValue() == 4L
- || tWarehouseBills.getfItemstatus().longValue() == 5L
- || tWarehouseBills.getfItemstatus().longValue() == 6L){
- return AjaxResult.error("该单明细已提交审核,请勿重复提交");
- }
- for (TWarehousebillsitems item : warehousebillsitemsList) {
- if (item.getfBillstatus() != 40L || item.getfBillstatus() == 50L) {
- return AjaxResult.error("库存明细中存在审核中数据,无法再次提交请核");
- }
- }
- boolean isApprove;
- long itemStatus = 6L;
- Long actId = 0L;
- String key = null;
- if (billsType.equals("SJRKITEM")){
- actId = 170L;
- }else if (billsType.equals("SJCKITEM")){
- actId = 180L;
- }
- SysConfig sysConfig = queryWarehouseConfig(billsType);
- if (StringUtils.isNull(sysConfig)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("系统参数异常,未找到开启审批流参数");
- }
- if ("0".equals(sysConfig.getConfigValue())) {
- isApprove = true;
- itemStatus = 4L;
- tWarehouseBills.setfItemstatus(itemStatus);
- tWarehouseBills.setUpdateTime(new Date());
- tWarehouseBills.setUpdateBy(SecurityUtils.getUsername());
- } else {
- tWarehouseBills.setfItemstatus(itemStatus);
- tWarehouseBills.setUpdateTime(new Date());
- tWarehouseBills.setUpdateBy(SecurityUtils.getUsername());
- }
- tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills);
- for (TWarehousebillsitems item : warehousebillsitemsList) {
- item.setUpdateTime(new Date());
- item.setUpdateBy(SecurityUtils.getUsername());
- item.setfItemstatus(itemStatus);
- tWarehousebillsitemsMapper.updateTWarehousebillsitems(item);
- }
- if ("0".equals(sysConfig.getConfigValue())) {
- AuditItems auditItems = new AuditItems();
- auditItems.setLevelId(0L);
- auditItems.setBillId(tWarehouseBills.getfId());
- auditItems.setActId(actId);//暂定
- auditItems.setIffinalItem("F");
- auditItems.setBillNo(tWarehouseBills.getfBillno());
- // 存储委托方(货权方)
- auditItems.setRefno1(tWarehouseBills.getfCorpid() + "");
- // 存储业务类型(业务类型)
- auditItems.setRefno2(billsType);
- // 存储提单号(提单号)
- auditItems.setRefno3(tWarehouseBills.getfMblno());
- auditItems.setSendUserId(loginUser.getUser().getUserId());
- auditItems.setSendName(SecurityUtils.getUsername());
- auditItems.setSendTime(new Date());
- auditItems.setAuditUserId(loginUser.getUser().getUserId());
- auditItems.setAuditItem(new Date());
- auditItems.setAuditOpTime(new Date());
- auditItems.setAuditMsg("提交");
- auditItems.setAuditStatus("O");
- auditItems.setFidStatus("f_itemstatus");
- auditItems.setTimes(tWarehouseBills.getfTimes());
- AjaxResult approvalFlow = auditItemsService.createApprovalFlow(auditItems);
- // Long code = Long.valueOf(String.valueOf(approvalFlow.get("code"))).longValue();
- String code = approvalFlow.get("code").toString();
- // Long code = Long.valueOf(String.valueOf(ajaxResult.get("code"))).longValue();
- if ("500".equals(code)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- }
- return approvalFlow;
- }
- return AjaxResult.success();
- }
- /**
- * 出库、调拨、货转 确认
- *
- * @param warehouseBills
- * @param warehousebillsitems
- * @param loginUser
- * @param billsType
- * @return
- */
- @Override
- @Transactional
- public AjaxResult updateCredit(String warehouseBills, String warehousebillsitems, String tEnclosure, String warehousebillsfeesCr,
- String warehousebillsfeesDr, LoginUser loginUser, String tCntr, String billsType) {
- Long fPid = null;
- Map<String, Object> map = new HashMap<>();
- TWarehouseBills tWarehouseBills = JSONArray.parseObject(warehouseBills, TWarehouseBills.class);
- tWarehouseBills.setfItemsStatus(4L);
- Long timestamp = DateUtils.getTimestamp(new Date());
- tWarehouseBills.setfDateChanged(timestamp.toString() + (int) (Math.random() * 900) + 100);
- tWarehouseBills.setUpdateBy(loginUser.getUser().getUserName());
- tWarehouseBills.setUpdateTime(new Date());
- fPid = tWarehouseBills.getfId();
- tEnclosureMapper.deleteByFPid(fPid);
- tWarehousebillsfeesMapper.deleteByFPid(fPid);
- tWarehousebillsCntrMapper.deleteTWarehousebillsCntrfPid(fPid);
- JSONArray warehouseJSON = JSONArray.parseArray(warehousebillsitems);
- List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
- int i = 1;
- List<TFees> feesList = new ArrayList<>();
- List<TWarehousebillsfees> warehousebillsfees = new ArrayList<>();
- for (TWarehousebillsitems wbItem : warehousebillsitemsList) {
- // 查询是否可以修改
- TWarehousebillsitems tWarehousebillsitems = tWarehousebillsitemsMapper.selectTWarehousebillsitemsById(wbItem.getfId());
- if (tWarehousebillsitems.getfBillstatus() == 40) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("更新库存明细第" + i + "行失败,已处理,请刷新网页");
- }
- if (StringUtils.isNull(wbItem.getfWarehouselocid())) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("库存明细第" + i + "行,未找到仓库信息");
- }
- TGoods goods = tGoodsMapper.selectTGoodsById(wbItem.getfGoodsid());
- if ("1".equals(goods.getIfCntrno()) && StringUtils.isNull(wbItem.getfCntrno())) {
- return AjaxResult.error("仓库明细第"+i+"行未找到箱号");
- }
- long warehouselocId = 0L;
- long transferWarehouselocid = 0L;
- if ("CKDB".equals(billsType) | "HWTG".equals(billsType)) {
- warehouselocId = wbItem.getfWarehouselocid();
- transferWarehouselocid = wbItem.getfTransferWarehouselocid();
- // wbItem.setfWarehouselocid(transferWarehouselocid);
- }
- // 查询总账是否存在
- TWhgenleg tWhgenle = queryTWhgenleg(tWarehouseBills, wbItem, goods.getIfCntrno());
- // 入库数特殊不判断入账
- if ("SJCK".equals(billsType)) { // 出库 查询
- if (StringUtils.isNull(tWhgenle)) { // 为空 提示没有库存
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("库存明细第" + i + "行库存为空");
- } else { // 非空修改库存总账
- // 库存 < 出库件数
- if (tWhgenle.getfQtyblc() < wbItem.getfQty()) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("库存明细第" + i + "行库存不足");
- }
- // 更新库存总账
- updateTWhgenlegData(wbItem, tWhgenle.getfId(), billsType);
- if (StringUtils.isNull(tWarehouseBills.getfBsdate()) || StringUtils.isNull(wbItem.getfChargedate())) {
- return AjaxResult.error("库存明细第" + i + "行请检查日期,操作终止");
- }
- long dateDay = DateUtils.getDateDay(tWarehouseBills.getfBsdate(), wbItem.getfChargedate());
- if (StringUtils.isNull(tWarehouseBills.getfCorpid())) {
- return AjaxResult.error("库存明细第" + i + "行请检查客户信息,操作终止");
- }
- /*long fCorpid = tWarehouseBills.getfCorpid();
- TGoods tGoods = tGoodsMapper.selectTGoodsById(wbItem.getfGoodsid());
- long fGoodsid = tGoods.getfTypeid();
- long fBillingway = wbItem.getfBillingway();
- long fQty = wbItem.getfQty();
- // 计算仓储费明细
- Map<String, Object> objectMap = tWarehouseAgreementService.getCarryingCost(fCorpid, fGoodsid, dateDay, fBillingway, fQty , 0L);
- if (StringUtils.isNull(objectMap)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("库存明细第" + i + "行没有维护出库明细的仓储协议,操作终止");
- }
- Long feeId = (Long) objectMap.get("feeId");
- BigDecimal amt = (BigDecimal) objectMap.get("amt");
- TFees tFees = tFeesMapper.selectTFeesById(feeId);
- if (StringUtils.isNotNull(tFees)) {
- feesList.add(tFees);
- }
- TWarehousebillsfees fees = new TWarehousebillsfees();
- fees.setfPid(fPid);
- fees.setfFeeid(feeId);
- fees.setfCorpid(tWarehouseBills.getfCorpid());
- fees.setfFeeUnitid(fBillingway);
- fees.setfQty(new BigDecimal(1));
- fees.setfUnitprice(amt);
- fees.setfAmount(amt);
- fees.setfExrate(new BigDecimal(1));
- fees.setfCurrency("RMB");
- fees.setRemark(dateDay + "天" + tFees.getfName());
- warehousebillsfees.add(fees);*/
- }
- wbItem.setfBillstatus(40L);
- } else if ("CKDB".equals(billsType) || "HWTG".equals(billsType)) { // 调拨查询
- if (StringUtils.isNull(tWhgenle)) { // 为空 提示没有库存
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("库存明细第" + i + "行库存为空");
- } else { // 非空修改库存总账
- if (tWhgenle.getfQtyblc() < wbItem.getfQty()) { // 1、 库存 < 调拨件数 提示库存不足
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("库存明细第" + i + "行库存不足");
- } else { // 2、 库存足够 先 进行出库操作
- wbItem.setfWarehouselocid(warehouselocId);
- updateTWhgenlegData(wbItem, tWhgenle.getfId(), "SJCK");
- }
- if ("HWTG".equals(billsType)) {
- tWarehouseBills.setfTrademodeid(tWarehouseBills.getfNewTrademodeid());
- }
- // 3、 进行入库操作 查询是否存在库存
- wbItem.setfWarehouselocid(transferWarehouselocid); // 新库区
- TWhgenleg tWhgenle1 = queryTWhgenleg(tWarehouseBills, wbItem, goods.getIfCntrno());
- if (StringUtils.isNull(tWhgenle1)) { // 5、 不存在 进行新增库存
- instalTWhgenleg(tWarehouseBills, wbItem, loginUser.getUser());
- } else { // 4、 存在 进行跟新库存
- updateTWhgenlegData(wbItem, tWhgenle1.getfId(), "SJRK");
- }
- }
- wbItem.setfWarehouselocid(warehouselocId);
- wbItem.setfBillstatus(40L);
- } else if ("HQZY".equals(billsType)) { // 货转
- wbItem.setfBillstatus(6L);
- wbItem.setfChargedate(tWarehouseBills.getfChargedate());
- wbItem.setfBillingway(tWarehouseBills.getfBillingway());
- if (StringUtils.isNull(tWhgenle)) { // 为空 提示没有库存
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("库存明细第" + i + "行库存为空");
- } else { // 非空修改库存总账
- if (tWhgenle.getfQtyblc() < wbItem.getfQty()) { // 1、 库存 < 调拨件数 提示库存不足
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("库存明细第" + i + "行库存不足");
- } else { // 2、 库存足够 先 进行出库操作
- updateTWhgenlegData(wbItem, tWhgenle.getfId(), "SJCK");
- }
- long corpId = tWarehouseBills.getfCorpid();
- tWarehouseBills.setfCorpid(tWarehouseBills.getfTocorpid());
- // 3、 进行入库操作 查询是否存在库存
- TWhgenleg tWhgenle1 = queryTWhgenleg(tWarehouseBills, wbItem, goods.getIfCntrno());
- if (StringUtils.isNull(tWhgenle1)) { // 5、 不存在 进行新增库存
- instalTWhgenleg(tWarehouseBills, wbItem, loginUser.getUser());
- } else { // 4、 存在 进行跟新库存
- updateTWhgenlegData(wbItem, tWhgenle1.getfId(), "SJRK");
- }
- tWarehouseBills.setfCorpid(corpId);
- }
- }
- i++;
- int num = 0;
- wbItem.setfPid(fPid);
- wbItem.setfBilltype(billsType);
- wbItem.setfBillno(tWarehouseBills.getfBillno());
- // wbItem.setfBsdate(tWarehouseBills.getfBsdate());
- if (StringUtils.isNotNull(wbItem.getfId())) {
- wbItem.setUpdateBy(loginUser.getUser().getUserName());
- wbItem.setUpdateTime(new Date());
- num = tWarehousebillsitemsMapper.updateTWarehousebillsitems(wbItem);
- if ("SJCK".equals(billsType)) {
- // 添加状态log
- insertTWarehousebillsLog(wbItem, 40L, loginUser);
- }
- } else {
- wbItem.setCreateTime(new Date());
- wbItem.setCreateBy(loginUser.getUsername());
- num = tWarehousebillsitemsMapper.insertTWarehousebillsitems(wbItem);
- }
- if (num <= 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("库存明细更新失败");
- }
- }
- // 箱型数据
- if (StringUtils.isNotNull(tCntr) && !"[]".equals(tCntr)) {
- JSONArray jsonDrArray = JSONArray.parseArray(tCntr);
- List<TWarehousebillsCntr> tWarehousebillsCntrs = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsCntr.class);
- int line = 0;
- for (TWarehousebillsCntr cntr : tWarehousebillsCntrs) {
- line++;
- if (StringUtils.isNull(cntr.getfCntrid()) || StringUtils.isNull(cntr.getfCntrcount()) || cntr.getfCntrcount() == 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("箱型数据第" + line + "行数据缺少必填数据");
- }
- cntr.setfPid(tWarehouseBills.getfId());
- cntr.setfGoodsid(0L);
- cntr.setfPackageid("0");
- cntr.setfCntrweight(new BigDecimal(0));
- cntr.setCreateBy(loginUser.getUser().getUserName());
- cntr.setCreateTime(new Date());
- tWarehousebillsCntrMapper.insertTWarehousebillsCntr(cntr);
- }
- }
- // 附件添加
- if (StringUtils.isNotEmpty(tEnclosure) && !"[]".equals(tEnclosure)) {
- JSONArray jsonDrArray = JSONArray.parseArray(tEnclosure);
- List<TEnclosure> tEnclosureList = JSONObject.parseArray(jsonDrArray.toJSONString(), TEnclosure.class);
- for (TEnclosure enclosure : tEnclosureList) {
- enclosure.setfPid(tWarehouseBills.getfId());
- enclosure.setCreateBy(loginUser.getUser().getUserName());
- enclosure.setCreateTime(new Date());
- tEnclosureMapper.insertTEnclosure(enclosure);
- }
- }
- // 收款明细添加
- if (StringUtils.isNotEmpty(warehousebillsfeesDr) && !"[]".equals(warehousebillsfeesDr)) {
- JSONArray jsonDrArray = JSONArray.parseArray(warehousebillsfeesDr);
- List<TWarehousebillsfees> warehousebillsfeesDrList = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees wbDr : warehousebillsfeesDrList) {
- wbDr.setfPid(tWarehouseBills.getfId());
- wbDr.setfDc("D");
- wbDr.setCreateBy(loginUser.getUser().getUserName());
- wbDr.setCreateTime(new Date());
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbDr);
- }
- }
- // 付款明细添加
- if (StringUtils.isNotNull(warehousebillsfeesCr) && !"[]".equals(warehousebillsfeesCr)) {
- JSONArray jsonCrArray = JSONArray.parseArray(warehousebillsfeesCr);
- List<TWarehousebillsfees> warehousebillsfeesCrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees wbCr : warehousebillsfeesCrList) {
- wbCr.setfPid(tWarehouseBills.getfId());
- wbCr.setfDc("C");
- wbCr.setCreateBy(loginUser.getUser().getUserName());
- wbCr.setCreateTime(new Date());
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbCr);
- }
- }
- //从表更新完再查从表信息更新主表
- TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(tWarehouseBills.getfId());
- tWarehouseBills.setfQty(itemInFo.getfQty());
- tWarehouseBills.setfNetweight(itemInFo.getfNetweight());
- tWarehouseBills.setfGrossweight(itemInFo.getfGrossweight());
- tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills);
- map.put("fPid", fPid);
- map.put("warehouse", tWarehouseBills);
- map.put("warehouseItem", warehousebillsitemsList);
- map.put("fees", feesList);
- map.put("warehousebillsfees", warehousebillsfees);
- // 添加成功 主键返回 前台
- return AjaxResult.success("成功", map);
- }
- /**
- * 打印作业单
- *
- * @param warehouseBills
- * @param warehousebillsitems
- * @param tEnclosure
- * @param tWarehousebillsfeesCr
- * @param tWarehousebillsfeesDr
- * @param loginUser
- * @param status
- * @param billtystatus
- * @return
- */
- @Override
- @Transactional
- public AjaxResult waitWarehousing(String warehouseBills, String warehousebillsitems,
- String tEnclosure, String tWarehousebillsfeesCr, String tWarehousebillsfeesDr,
- LoginUser loginUser, String tCntr, Long status, String billtystatus) {
- Map<String, Object> map = new HashMap<>();
- List<TWarehousebillsitems> mapList = new ArrayList<>();
- if (StringUtils.isNull(warehouseBills) || "[]".equals(warehouseBills)) {
- return AjaxResult.error("未找到主表信息");
- }
- if (StringUtils.isNull(warehousebillsitems) || "[]".equals(warehousebillsitems)) {
- return AjaxResult.error("未找到入账信息");
- }
- TWarehouseBills tWarehouseBills = JSONArray.parseObject(warehouseBills, TWarehouseBills.class);
- if (status == 20) {
- tWarehouseBills.setfItemsStatus(2L);
- } else if (status == 30) {
- tWarehouseBills.setfItemsStatus(3L);
- }
- Long timestamp = DateUtils.getTimestamp(new Date());
- tWarehouseBills.setfDateChanged(timestamp.toString() + (int) (Math.random() * 900) + 100);
- tWarehouseBills.setUpdateBy(loginUser.getUser().getUserName());
- tWarehouseBills.setUpdateTime(new Date());
- TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(tWarehouseBills.getfId());
- tWarehouseBills.setfQty(itemInFo.getfQty());
- tWarehouseBills.setfNetweight(itemInFo.getfNetweight());
- tWarehouseBills.setfGrossweight(itemInFo.getfGrossweight());
- tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills);
- tEnclosureMapper.deleteByFPid(tWarehouseBills.getfId());
- tWarehousebillsfeesMapper.deleteByFPid(tWarehouseBills.getfId());
- tWarehousebillsCntrMapper.deleteTWarehousebillsCntrfPid(tWarehouseBills.getfId());
- JSONArray warehouseJSON = JSONArray.parseArray(warehousebillsitems);
- List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
- /**
- * 1、 查询回收表是否有可用数据
- * 2、 流水号生成 --> 打印一次 只记录一个号
- */
- Date time = new Date();
- String serialNumber = null;
- if (status == 20) {
- if ("RK".equals(billtystatus)) {
- serialNumber = billnoSerialServiceImpl.getSerialNumber("RK", time);
- } else if ("CK".equals(billtystatus)) { //生成 出库 流水号
- serialNumber = billnoSerialServiceImpl.getSerialNumber("CK", time);
- } else if ("DB".equals(billtystatus)) { //生成 出库 流水号
- serialNumber = billnoSerialServiceImpl.getSerialNumber("DB", time);
- } else if ("TG".equals(billtystatus)) { //生成 出库 流水号
- serialNumber = billnoSerialServiceImpl.getSerialNumber("TG", time);
- }
- }
- int i = 1;
- for (TWarehousebillsitems item : warehousebillsitemsList) {
- // 查询是否可以修改
- TWarehousebillsitems tWarehousebillsitems = tWarehousebillsitemsMapper.selectTWarehousebillsitemsById(item.getfId());
- if (tWarehousebillsitems.getfBillstatus() == 30) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("更新库存明细第" + i + "行失败,已处理,请刷新网页");
- }
- if (item.getfBillstatus() < 30L) {
- if (item.getfSerialNumber() == null || item.getfSerialNumber().equals("")) {
- item.setfSerialNumber(serialNumber);
- }
- item.setfBillstatus(status);
- item.setUpdateTime(new Date());
- item.setUpdateBy(loginUser.getUser().getUserName());
- int num = tWarehousebillsitemsMapper.updateTWarehousebillsitems(item);
- // 添加状态log
- insertTWarehousebillsLog(item, status, loginUser);
- if (num <= 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("更新库存明细失败");
- }
- }
- mapList.add(item);
- i++;
- }
- // 箱型数据
- if (StringUtils.isNotNull(tCntr) && !"[]".equals(tCntr)) {
- JSONArray jsonDrArray = JSONArray.parseArray(tCntr);
- List<TWarehousebillsCntr> tWarehousebillsCntrs = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsCntr.class);
- int line = 0;
- for (TWarehousebillsCntr cntr : tWarehousebillsCntrs) {
- line++;
- if (StringUtils.isNull(cntr.getfCntrid()) || StringUtils.isNull(cntr.getfCntrcount()) || cntr.getfCntrcount() == 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("箱型数据第" + line + "行数据缺少必填数据");
- }
- cntr.setfPid(tWarehouseBills.getfId());
- cntr.setfGoodsid(0L);
- cntr.setfPackageid("0");
- cntr.setfCntrweight(new BigDecimal(0));
- cntr.setCreateBy(loginUser.getUser().getUserName());
- cntr.setCreateTime(new Date());
- tWarehousebillsCntrMapper.insertTWarehousebillsCntr(cntr);
- }
- }
- // 附件添加
- if (StringUtils.isNotEmpty(tEnclosure) && !"[]".equals(tEnclosure)) {
- JSONArray jsonDrArray = JSONArray.parseArray(tEnclosure);
- List<TEnclosure> tEnclosureList = JSONObject.parseArray(jsonDrArray.toJSONString(), TEnclosure.class);
- for (TEnclosure enclosure : tEnclosureList) {
- enclosure.setfPid(tWarehouseBills.getfId());
- enclosure.setCreateBy(loginUser.getUser().getUserName());
- enclosure.setCreateTime(new Date());
- tEnclosureMapper.insertTEnclosure(enclosure);
- }
- }
- // 收款明细添加
- if (StringUtils.isNotEmpty(tWarehousebillsfeesDr) && !"[]".equals(tWarehousebillsfeesDr)) {
- JSONArray jsonDrArray = JSONArray.parseArray(tWarehousebillsfeesDr);
- List<TWarehousebillsfees> warehousebillsfeesDrList = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees wbDr : warehousebillsfeesDrList) {
- wbDr.setfPid(tWarehouseBills.getfId());
- wbDr.setfDc("D");
- wbDr.setCreateBy(loginUser.getUser().getUserName());
- wbDr.setCreateTime(new Date());
- if (tWarehouseBills.getfBsdate() != null && !tWarehouseBills.getfBsdate().equals("")) {
- wbDr.setfBsdate(tWarehouseBills.getfBsdate());
- }
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbDr);
- }
- }
- // 付款明细添加
- if (StringUtils.isNotNull(tWarehousebillsfeesCr) && !"[]".equals(tWarehousebillsfeesCr)) {
- JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsfeesCr);
- List<TWarehousebillsfees> warehousebillsfeesCrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees wbCr : warehousebillsfeesCrList) {
- wbCr.setfPid(tWarehouseBills.getfId());
- wbCr.setfDc("C");
- wbCr.setCreateBy(loginUser.getUser().getUserName());
- wbCr.setCreateTime(new Date());
- if (tWarehouseBills.getfBsdate() != null && !tWarehouseBills.getfBsdate().equals("")) {
- wbCr.setfBsdate(tWarehouseBills.getfBsdate());
- }
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbCr);
- }
- }
- // 添加成功 返回 前台
- TWarehousebillsitems tWarehousebillsitems = new TWarehousebillsitems();
- tWarehousebillsitems.setfPid(tWarehouseBills.getfId());
- List<TWarehousebillsitems> mapList1 = tWarehousebillsitemsMapper.selectTWarehousebillsitemsList(tWarehousebillsitems);
- map.put("fDateChanged", tWarehouseBills.getfDateChanged());
- map.put("warehousebillsitems", mapList);
- map.put("warehousebillsitems1", mapList1);
- return AjaxResult.success("成功", map);
- }
- /**
- * 生成计算仓储费信息
- *
- * @param warehouseBills
- * @param mapItem
- * @param loginUser
- * @return
- */
- public Map<String, Object> getWarehouseItems(TWarehouseBills warehouseBills, List<Map<String, Object>> mapItem, LoginUser loginUser) {
- Map<String, Object> map = new HashMap<>();
- long feeId = 0L;
- BigDecimal sumAmt = new BigDecimal(0);
- List<TWarehousebillsfees> itemsList = new ArrayList<>();
- List<SysDictData> taxRate = sysDictDataMapper.selectDictDataByType("tax_rate");
- for (Map<String, Object> item : mapItem) {
- if (StringUtils.isNull(item.get("fBillingway"))) {
- map.put("error", "单号:" + item.get("fBillno") + ",业务日期:" + item.get("fBsdate") + "未找到库存总账的计费单位,请确认");
- return map;
- }
- Date fBsdate = (Date) item.get("fBsdate");
- long fCorpid = warehouseBills.getfCorpid();
- String fBilltype = (String) item.get("fBilltype");
- long fGoodsid = Long.parseLong((String) item.get("fTypeid"));
- long fId = Long.valueOf(String.valueOf(item.get("fId"))).longValue();
- // 累计计费天数
- long accumulatedDays = DateUtils.getDateDay((Date) item.get("fChargedate"), (Date) item.get("fOriginalbilldate"));
- // 库存天数
- long fInventoryDays = 0L;
- // 要计费天数
- long fBillingDays = DateUtils.getDateDay(warehouseBills.getfBillingDeadline(), (Date) item.get("fOriginalbilldate"));
- if ("SJCK".equals(fBilltype)) {
- fInventoryDays = DateUtils.getDateDay(fBsdate, (Date) item.get("fOriginalbilldate"));
- fBillingDays = fInventoryDays;
- } else if ("HQZY".equals(fBilltype)) {
- fInventoryDays = DateUtils.getDateDay(warehouseBills.getfBillingDeadline(), fBsdate);
- } else {
- fBillingDays = DateUtils.getDateDay(warehouseBills.getfBillingDeadline(), (Date) item.get("fChargedate"));
- fInventoryDays = DateUtils.getDateDay(warehouseBills.getfBillingDeadline(), (Date) item.get("fOriginalbilldate"));
- }
- /*if ("KCZZ".equals(fBilltype)) {
- } else {
- fInventoryDays = Long.valueOf(String.valueOf(item.get("fBillingDays")));
- }*/
- Long dictLabel = Long.valueOf(String.valueOf(item.get("fBillingway")));
- BigDecimal fQty = acquiredQuantity(item, dictLabel);
- if (fQty.equals(BigDecimal.ZERO)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("单号:" + item.get("fBillno") + ",业务日期:" + item.get("fBsdate") + "未找到计费单位,请确认");
- }
- // 计算仓储费明细
- Map<String, Object> objectMap = tWarehouseAgreementService.getCarryingCost(fCorpid, fGoodsid, fBillingDays, dictLabel, fQty, accumulatedDays);
- if (StringUtils.isNull(objectMap)) {
- map.put("error", "单号:" + item.get("fBillno") + ",业务日期:" + item.get("fBsdate") + "未找到仓储费协议,请确认");
- return map;
- }
- String mblno = "";
- if (StringUtils.isNotNull(item.get("fMblno"))) {
- mblno = item.get("fMblno").toString();
- }
- String remark = objectMap.get("remark").toString();
- feeId = Long.valueOf(String.valueOf(objectMap.get("feeId"))).longValue();
- BigDecimal amt = (BigDecimal) objectMap.get("amt");
- map.put("feeId", feeId);
- map.put("itemFeeId", objectMap.get("feeId"));
- sumAmt = sumAmt.add(amt).setScale(2, BigDecimal.ROUND_HALF_UP);
- TWarehousebillsfees fees = new TWarehousebillsfees();
- fees.setfFeeid(feeId);
- fees.setfDc("D");
- fees.setfAmt(amt);
- fees.setSrcId(fId);
- fees.setfMblno(mblno);
- fees.setRemark(remark);
- fees.setfFeeunitid(2L);
- fees.setfAmount(sumAmt);
- fees.setfBillstatus(2L);
- fees.setfCurrency("RMB");
- fees.setfBsdate(fBsdate);
- fees.setfBillingQty(fQty);
- fees.setfUnitprice(sumAmt);
- fees.setfBilltype(fBilltype);
- fees.setfBillingDays(fBillingDays);
- fees.setCreateTime(new Date());
- fees.setfQty(new BigDecimal(1));
- fees.setfPid(warehouseBills.getfId());
- fees.setfInventoryDays(fInventoryDays);
- fees.setfExrate(new BigDecimal(1));
- fees.setfCorpid(warehouseBills.getfCorpid());
- fees.setfMarks(item.get("fMarks").toString());
- fees.setSrcBillNo((String) item.get("fBillno"));
- fees.setfChargedate((Date) item.get("fChargedate"));
- fees.setCreateBy(loginUser.getUser().getUserName());
- fees.setfProductName(item.get("fGoodsids").toString());
- if ("SJCK".equals(fBilltype)) {
- fees.setfBillingDeadline(fBsdate);
- } else {
- fees.setfBillingDeadline(warehouseBills.getfBillingDeadline());
- }
- fees.setfTaxrate(new BigDecimal(taxRate.get(0).getDictValue()));
- fees.setfOriginalbilldate((Date) item.get("fOriginalbilldate"));
- fees.setfBillingway(Long.valueOf(String.valueOf(item.get("fBillingway"))).longValue());
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(fees);
- itemsList.add(fees);
- }
- map.put("sumAmt", sumAmt);
- map.put("itemsList", itemsList);
- return map;
- }
- /**
- * 批量生成计算仓储费信息
- *
- * @param warehouseBills
- * @param mapItem
- * @param loginUser
- * @return
- */
- public Map<String, Object> getWarehouseItemsList(TWarehouseBills warehouseBills, List<Map<String, Object>> mapItem, LoginUser loginUser) {
- Map<String, Object> map = new HashMap<>();
- long feeId = 0L;
- BigDecimal sumAmt = new BigDecimal(0);
- List<TWarehousebillsfees> itemsList = new ArrayList<>();
- List<SysDictData> taxRate = sysDictDataMapper.selectDictDataByType("tax_rate");
- for (Map<String, Object> item : mapItem) {
- if (StringUtils.isNull(item.get("fBillingway"))) {
- map.put("error", "单号:" + item.get("fBillno") + ",业务日期:" + item.get("fBsdate") + "未找到库存总账的计费单位,请确认");
- return map;
- }
- Date fBsdate = (Date) item.get("fBsdate");
- long fCorpid = warehouseBills.getfCorpid();
- String fBilltype = (String) item.get("fBilltype");
- long fGoodsid = Long.parseLong((String) item.get("fTypeid"));
- long fId = Long.valueOf(String.valueOf(item.get("fId"))).longValue();
- // 累计计费天数
- long accumulatedDays = DateUtils.getDateDay((Date) item.get("fChargedate"), (Date) item.get("fOriginalbilldate"));
- // 库存天数
- long fInventoryDays = 0L;
- // 要计费天数
- long fBillingDays = DateUtils.getDateDay(warehouseBills.getfBillingDeadline(), (Date) item.get("fOriginalbilldate"));
- if ("SJCK".equals(fBilltype)) {
- fInventoryDays = DateUtils.getDateDay(fBsdate, (Date) item.get("fChargedate"));
- fBillingDays = fInventoryDays;
- } else if ("HQZY".equals(fBilltype)) {
- fInventoryDays = DateUtils.getDateDay(warehouseBills.getfBillingDeadline(), fBsdate);
- } else {
- fBillingDays = DateUtils.getDateDay(warehouseBills.getfBillingDeadline(), (Date) item.get("fChargedate"));
- fInventoryDays = DateUtils.getDateDay(warehouseBills.getfBillingDeadline(), (Date) item.get("fOriginalbilldate"));
- }
- /*if ("KCZZ".equals(fBilltype)) {
- } else {
- fInventoryDays = Long.valueOf(String.valueOf(item.get("fBillingDays")));
- }*/
- Long dictLabel = Long.valueOf(String.valueOf(item.get("fBillingway")));
- BigDecimal fQty = acquiredQuantity(item, dictLabel);
- if (fQty.equals(BigDecimal.ZERO)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("单号:" + item.get("fBillno") + ",业务日期:" + item.get("fBsdate") + "未找到计费单位,请确认");
- }
- // 计算仓储费明细
- Map<String, Object> objectMap = tWarehouseAgreementService.getCarryingCost(fCorpid, fGoodsid, fBillingDays, dictLabel, fQty, accumulatedDays);
- if (StringUtils.isNull(objectMap)) {
- map.put("error", "单号:" + item.get("fBillno") + ",业务日期:" + item.get("fBsdate") + "未找到仓储费协议,请确认");
- return map;
- }
- String mblno = "";
- if (StringUtils.isNotNull(item.get("fMblno"))) {
- mblno = item.get("fMblno").toString();
- }
- String remark = objectMap.get("remark").toString();
- feeId = Long.valueOf(String.valueOf(objectMap.get("feeId"))).longValue();
- BigDecimal amt = (BigDecimal) objectMap.get("amt");
- map.put("feeId", feeId);
- map.put("itemFeeId", objectMap.get("feeId"));
- sumAmt = sumAmt.add(amt).setScale(2, BigDecimal.ROUND_HALF_UP);
- TWarehousebillsfees fees = new TWarehousebillsfees();
- fees.setfFeeid(feeId);
- fees.setfDc("D");
- fees.setfAmt(amt);
- fees.setSrcId(fId);
- fees.setfMblno(mblno);
- fees.setRemark(remark);
- fees.setfFeeunitid(2L);
- fees.setfAmount(sumAmt);
- fees.setfBillstatus(2L);
- fees.setfCurrency("RMB");
- fees.setfBsdate(fBsdate);
- fees.setfBillingQty(fQty);
- fees.setfUnitprice(sumAmt);
- fees.setfBilltype(fBilltype);
- fees.setfBillingDays(fBillingDays);
- fees.setCreateTime(new Date());
- fees.setfQty(new BigDecimal(1));
- fees.setfPid(warehouseBills.getfId());
- fees.setfInventoryDays(fInventoryDays);
- fees.setfExrate(new BigDecimal(1));
- fees.setfCorpid(warehouseBills.getfCorpid());
- fees.setfMarks(item.get("fMarks").toString());
- fees.setSrcBillNo((String) item.get("fBillno"));
- fees.setfChargedate((Date) item.get("fChargedate"));
- fees.setCreateBy(loginUser.getUser().getUserName());
- fees.setfProductName(item.get("fGoodsids").toString());
- if ("SJCK".equals(fBilltype)) {
- fees.setfBillingDeadline(fBsdate);
- } else {
- fees.setfBillingDeadline(warehouseBills.getfBillingDeadline());
- }
- fees.setfTaxrate(new BigDecimal(taxRate.get(0).getDictValue()));
- fees.setfOriginalbilldate((Date) item.get("fOriginalbilldate"));
- fees.setfBillingway(Long.valueOf(String.valueOf(item.get("fBillingway"))).longValue());
- //tWarehousebillsfeesMapper.insertTWarehousebillsfees(fees);
- itemsList.add(fees);
- TWarehousebillsitems warehousebillsitems = new TWarehousebillsitems();
- /*warehousebillsitems.setfId(fId);
- warehousebillsitems.setfStorageFeeDeadline(fBsdate);
- int i = tWarehousebillsitemsMapper.updateTWarehousebillsitems(warehousebillsitems);*/
- }
- map.put("sumAmt", sumAmt);
- map.put("itemsList", itemsList);
- return map;
- }
- /**
- * 新增库存费计算
- *
- * @param tWarehouseBills 主表的查询条件
- * @param loginUser 登录用户
- * @param billsType 状态
- * @return 结果
- */
- @Override
- @Transactional
- public AjaxResult calculateStorageFees(TWarehouseBills tWarehouseBills, LoginUser loginUser, String billsType) {
- if (StringUtils.isNull(tWarehouseBills.getfCorpid())) {
- return AjaxResult.error("请选择客户信息");
- }
- long fPid = 0L;
- if (StringUtils.isNull(tWarehouseBills.getfId())) {
- // 生成流水号
- Date time = new Date();
- String billNo = billnoSerialServiceImpl.getSerialNumber("JSCCF", time);
- tWarehouseBills.setfBillno(billNo);
- if (StringUtils.isNull(tWarehouseBills.getfBillstatus())) {
- tWarehouseBills.setfBillstatus(2L);
- }
- tWarehouseBills.setfBilltype(billsType);
- tWarehouseBills.setfBsdeptid(loginUser.getUser().getDeptId());
- tWarehouseBills.setCreateBy(loginUser.getUser().getUserName());
- tWarehouseBills.setCreateTime(new Date());
- tWarehouseBillsMapper.insertTWarehousebills(tWarehouseBills);
- fPid = tWarehouseBills.getfId();
- } else {
- tWarehousebillsfeesMapper.deleteByFPid(tWarehouseBills.getfId());
- tWarehousebillsitemsMapper.deleteByFPid(tWarehouseBills.getfId());
- tWarehouseBills.setUpdateBy(loginUser.getUser().getUserName());
- tWarehouseBills.setUpdateTime(new Date());
- tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills);
- fPid = tWarehouseBills.getfId();
- }
- // 计划物资明细
- List<TWarehousebillsfees> itemsList = new ArrayList<>();
- BigDecimal bigDecimal = new BigDecimal(0);
- Map<String, Object> map = new HashMap<>();
- // 库存总账id
- long whgenlegFeeId = 0;
- // 计费单位
- long feeUnitid = 1;
- // 查询 出库 货转的库存明细
- List<Map<String, Object>> warehousebillsitemsList = tWarehousebillsitemsMapper.selectStorageFeeItemList(tWarehouseBills);
- if (warehousebillsitemsList.size() != 0) {
- Map<String, Object> mapItem = getWarehouseItems(tWarehouseBills, warehousebillsitemsList, loginUser);
- if (mapItem.containsKey("error")) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error((String) mapItem.get("error"));
- }
- itemsList = (List<TWarehousebillsfees>) mapItem.get("itemsList");
- }
- List<Map<String, Object>> tWhgenlegs = tWhgenlegMapper.selectStorageFeeItemList(tWarehouseBills);
- if (tWhgenlegs.size() != 0) {
- Map<String, Object> mapItem = getWarehouseItems(tWarehouseBills, tWhgenlegs, loginUser);
- if (mapItem.containsKey("error")) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error((String) mapItem.get("error"));
- }
- List<TWarehousebillsfees> itemList = (List<TWarehousebillsfees>) mapItem.get("itemsList");
- if (itemList.size() != 0) {
- for (TWarehousebillsfees ite : itemList) {
- itemsList.add(ite);
- }
- }
- }
- TFees tFees = new TFees();
- tFees.setfStatus("2");
- tFees.setDelFlag("0");
- List<TFees> feesList = tFeesMapper.selectTFeesList(tFees);
- if (itemsList.size() <= 0) {
- return AjaxResult.error("未找到合适的库存明细");
- }
- map.put("feesList", feesList);
- map.put("warehouseBills", tWarehouseBills);
- map.put("warehouseItemList", itemsList);
- return AjaxResult.success(map);
- }
- @Override
- @Transactional
- public AjaxResult calculateStorageFeesList(List<TWarehouseBills> tWarehouseBillsList, LoginUser loginUser, String billsType) {
- if (CollectionUtils.isEmpty(tWarehouseBillsList)){
- return AjaxResult.error("请输入筛选条件,再计算仓储费");
- }
- List<TWarehousebillsfees> list = new ArrayList<>();
- for (TWarehouseBills tWarehouseBills : tWarehouseBillsList) {
- if (StringUtils.isNull(tWarehouseBills.getfCorpid())) {
- return AjaxResult.error("请选择客户信息");
- }
- long fPid = 0L;
- /*if (StringUtils.isNull(tWarehouseBills.getfId())) {
- // 生成流水号
- Date time = new Date();
- String billNo = billnoSerialServiceImpl.getSerialNumber("JSCCF", time);
- tWarehouseBills.setfBillno(billNo);
- if (StringUtils.isNull(tWarehouseBills.getfBillstatus())) {
- tWarehouseBills.setfBillstatus(2L);
- }
- tWarehouseBills.setfBilltype(billsType);
- tWarehouseBills.setfBsdeptid(loginUser.getUser().getDeptId());
- tWarehouseBills.setCreateBy(loginUser.getUser().getUserName());
- tWarehouseBills.setCreateTime(new Date());
- //tWarehouseBillsMapper.insertTWarehousebills(tWarehouseBills);
- //fPid = tWarehouseBills.getfId();
- } else {
- //tWarehousebillsfeesMapper.deleteByFPid(tWarehouseBills.getfId());
- //tWarehousebillsitemsMapper.deleteByFPid(tWarehouseBills.getfId());
- tWarehouseBills.setUpdateBy(loginUser.getUser().getUserName());
- tWarehouseBills.setUpdateTime(new Date());
- //tWarehouseBillsMapper.updateTWarehousebills(tWarehouseBills);
- //fPid = tWarehouseBills.getfId();
- }*/
- // 计划物资明细
- List<TWarehousebillsfees> itemsList = new ArrayList<>();
- BigDecimal bigDecimal = new BigDecimal(0);
- /*Map<String, Object> map = new HashMap<>();*/
- // 库存总账id
- long whgenlegFeeId = 0;
- // 计费单位
- long feeUnitid = 1;
- // 查询 出库 货转的库存明细
- List<Map<String, Object>> warehousebillsitemsList = tWarehousebillsitemsMapper.selectStorageFeeItemList(tWarehouseBills);
- if (warehousebillsitemsList.size() != 0) {
- Map<String, Object> mapItem = getWarehouseItemsList(tWarehouseBills, warehousebillsitemsList, loginUser);
- if (mapItem.containsKey("error")) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error((String) mapItem.get("error"));
- }
- itemsList = (List<TWarehousebillsfees>) mapItem.get("itemsList");
- }
- /*List<Map<String, Object>> tWhgenlegs = tWhgenlegMapper.selectStorageFeeItemList(tWarehouseBills);
- if (tWhgenlegs.size() != 0) {
- Map<String, Object> mapItem = getWarehouseItems(tWarehouseBills, tWhgenlegs, loginUser);
- if (mapItem.containsKey("error")) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error((String) mapItem.get("error"));
- }
- List<TWarehousebillsfees> itemList = (List<TWarehousebillsfees>) mapItem.get("itemsList");
- if (itemList.size() != 0) {
- for (TWarehousebillsfees ite : itemList) {
- itemsList.add(ite);
- }
- }
- }*/
- TFees tFees = new TFees();
- tFees.setfStatus("2");
- tFees.setDelFlag("0");
- List<TFees> feesList = tFeesMapper.selectTFeesList(tFees);
- if (itemsList.size() <= 0) {
- return AjaxResult.error("未找到合适的库存明细");
- }
- /*map.put("feesList", feesList);
- map.put("warehouseBills", tWarehouseBills);
- map.put("warehouseItemList", itemsList);*/
- list.addAll(itemsList);
- }
- return AjaxResult.success(list);
- }
- /**
- * 计算出库仓储费
- * 待完成!!!!!!!!!
- * @param fId
- * @return
- */
- @Override
- public AjaxResult calculateOutStockFee(Long fId) {
- TWarehouseBills tWarehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(fId);
- if (StringUtils.isNull(tWarehouseBills)) {
- return AjaxResult.error("未找到出库信息,请确认是否存在出库");
- }
- return null;
- }
- /**
- * 查询仓储仓管员角色用户
- */
- @Override
- public AjaxResult queryClerkRoleList() {
- return AjaxResult.success(sysUserMapper.selectUserByRole("库管"));
- }
- /**
- * 仓储费计算提交以及暂存
- *
- * @param warehouseBills
- * @param warehouseItems
- * @param warehouseFees
- * @param loginUser
- * @param billsType
- * @return
- */
- @Override
- @Transactional
- public AjaxResult insertStorageFee(String warehouseBills, String warehouseItems, String warehouseFees, LoginUser loginUser, String billsType) {
- TWarehouseBills tWarehousebills = JSONArray.parseObject(warehouseBills, TWarehouseBills.class);
- long fPid = 0L;
- boolean billstatus = tWarehousebills.getfBillstatus().equals(4L);
- if (billstatus && (StringUtils.isNull(warehouseItems) || "[]".equals(warehouseItems))) {
- return AjaxResult.error("未找到计费物资明细无法提交");
- }
- /*if (billstatus && (StringUtils.isNull(warehouseFees) || "[]".equals(warehouseFees))) {
- return AjaxResult.error("未找到应收款明细无法提交");
- }*/
- if (tWarehousebills.getfTimes() == null){
- tWarehousebills.setfTimes(1L);
- }else {
- tWarehousebills.setfTimes(tWarehousebills.getfTimes() + 1);
- }
- if (StringUtils.isNotNull(tWarehousebills.getfId())) {
- fPid = tWarehousebills.getfId();
- tWarehousebills.setUpdateTime(new Date());
- tWarehousebills.setUpdateBy(loginUser.getUser().getUserName());
- tWarehouseBillsMapper.updateTWarehousebills(tWarehousebills);
- tWarehousebillsfeesMapper.deleteByFPid(fPid);
- tWarehousebillsitemsMapper.deleteByFPid(fPid);
- } else {
- // 生成流水号
- Date time = new Date();
- String billNo = billnoSerialServiceImpl.getSerialNumber("JSCCF", time);
- tWarehousebills.setfBillno(billNo);
- tWarehousebills.setfDeptid(loginUser.getUser().getDeptId());
- tWarehousebills.setfBsdeptid(loginUser.getUser().getDeptId());
- tWarehousebills.setCreateBy(loginUser.getUser().getUserName());
- tWarehousebills.setCreateTime(new Date());
- tWarehousebills.setfBilltype(billsType);
- tWarehouseBillsMapper.insertTWarehousebills(tWarehousebills);
- fPid = tWarehousebills.getfId();
- }
- JSONArray warehouseJSON = JSONArray.parseArray(warehouseItems);
- List<TWarehousebillsfees> itemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees item : itemsList) {
- item.setfId(null);
- item.setSrcBillNo(tWarehousebills.getfBillno());
- item.setfPid(fPid);
- item.setfBillstatus(tWarehousebills.getfBillstatus());
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(item);
- }
- if (StringUtils.isNotNull(warehouseFees) && !"[]".equals(warehouseFees)) {
- JSONArray feesJSON = JSONArray.parseArray(warehouseFees);
- List<TWarehousebillsfees> warehousebillsfeesList = JSONObject.parseArray(feesJSON.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees fees : warehousebillsfeesList) {
- fees.setfId(null);
- fees.setfPid(fPid);
- fees.setfDc("D");
- fees.setfBilltype("JSCCF");
- fees.setSrcBillNo(tWarehousebills.getfBillno());
- fees.setfBillstatus(tWarehousebills.getfBillstatus());
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(fees);
- }
- }
- if (billstatus) {
- String key = "warehouse.storageFeeCalculation.ApprovalFlow";
- SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique(key);
- if (StringUtils.isNull(sysConfig)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("系统参数异常,未找到开启审批流参数");
- }
- if ("0".equals(sysConfig.getConfigValue())) {
- AuditItems auditItems = new AuditItems();
- auditItems.setLevelId(0L);
- auditItems.setBillId(fPid);
- auditItems.setActId(150L);
- auditItems.setIffinalItem("F");
- auditItems.setBillNo(tWarehousebills.getfBillno());
- // 存储委托方(货权方)
- auditItems.setRefno1(tWarehousebills.getfCorpid() + "");
- // 存储业务类型(业务类型)
- auditItems.setRefno2(tWarehousebills.getfBilltype());
- // 存储提单号(提单号)
- auditItems.setRefno3(tWarehousebills.getfMblno());
- auditItems.setSendUserId(loginUser.getUser().getUserId());
- auditItems.setSendName(loginUser.getUsername());
- auditItems.setSendTime(new Date());
- auditItems.setAuditUserId(loginUser.getUser().getUserId());
- auditItems.setAuditItem(new Date());
- auditItems.setAuditOpTime(new Date());
- auditItems.setAuditMsg("提交");
- auditItems.setAuditStatus("O");
- auditItems.setFidStatus("f_billstatus");
- auditItems.setTimes(tWarehousebills.getfTimes());
- AjaxResult approvalFlow = auditItemsService.createApprovalFlow(auditItems);
- String code = approvalFlow.get("code").toString();
- // Long code = Long.valueOf(String.valueOf(ajaxResult.get("code"))).longValue();
- if ("500".equals(code)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- }
- return approvalFlow;
- } else {
- AjaxResult ajaxResult = storageFeeFollow(fPid, 6L);
- String code = ajaxResult.get("code").toString();
- // Long code = Long.valueOf(String.valueOf(ajaxResult.get("code"))).longValue();
- if ("500".equals(code)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- }
- return ajaxResult;
- }
- }
- return AjaxResult.success(tWarehousebills);
- }
- @Override
- public AjaxResult insertStorageFeeList(List<StorageChargeInsert> storageChargeInsert, LoginUser loginUser, String billsType) {
- if (CollectionUtils.isEmpty(storageChargeInsert)){
- return AjaxResult.error("请选择要保存的数据");
- }
- for (StorageChargeInsert chargeInsert : storageChargeInsert) {
- TWarehouseBills tWarehousebills = JSONArray.parseObject(chargeInsert.getWarehouseBills(), TWarehouseBills.class);
- long fPid = 0L;
- boolean billstatus = tWarehousebills.getfBillstatus().equals(4L);
- if (billstatus && (StringUtils.isNull(chargeInsert.getWarehouseItems()) || "[]".equals(chargeInsert.getWarehouseItems()))) {
- return AjaxResult.error("未找到计费物资明细无法提交");
- }
- /*if (billstatus && (StringUtils.isNull(warehouseFees) || "[]".equals(warehouseFees))) {
- return AjaxResult.error("未找到应收款明细无法提交");
- }*/
- if (tWarehousebills.getfTimes() == null){
- tWarehousebills.setfTimes(1L);
- }else {
- tWarehousebills.setfTimes(tWarehousebills.getfTimes() + 1);
- }
- if (StringUtils.isNotNull(tWarehousebills.getfId())) {
- fPid = tWarehousebills.getfId();
- tWarehousebills.setUpdateTime(new Date());
- tWarehousebills.setUpdateBy(loginUser.getUser().getUserName());
- tWarehouseBillsMapper.updateTWarehousebills(tWarehousebills);
- tWarehousebillsfeesMapper.deleteByFPid(fPid);
- tWarehousebillsitemsMapper.deleteByFPid(fPid);
- } else {
- // 生成流水号
- Date time = new Date();
- String billNo = billnoSerialServiceImpl.getSerialNumber("JSCCF", time);
- tWarehousebills.setfBillno(billNo);
- tWarehousebills.setfDeptid(loginUser.getUser().getDeptId());
- tWarehousebills.setfBsdeptid(loginUser.getUser().getDeptId());
- tWarehousebills.setCreateBy(loginUser.getUser().getUserName());
- tWarehousebills.setCreateTime(new Date());
- tWarehousebills.setfBilltype(billsType);
- tWarehouseBillsMapper.insertTWarehousebills(tWarehousebills);
- fPid = tWarehousebills.getfId();
- }
- JSONArray warehouseJSON = JSONArray.parseArray(chargeInsert.getWarehouseItems());
- List<TWarehousebillsfees> itemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees item : itemsList) {
- item.setfId(null);
- item.setSrcBillNo(tWarehousebills.getfBillno());
- item.setfPid(fPid);
- item.setfBillstatus(tWarehousebills.getfBillstatus());
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(item);
- }
- if (StringUtils.isNotNull(chargeInsert.getWarehouseFees()) && !"[]".equals(chargeInsert.getWarehouseFees())) {
- JSONArray feesJSON = JSONArray.parseArray(chargeInsert.getWarehouseFees());
- List<TWarehousebillsfees> warehousebillsfeesList = JSONObject.parseArray(feesJSON.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees fees : warehousebillsfeesList) {
- fees.setfId(null);
- fees.setfPid(fPid);
- fees.setfDc("D");
- fees.setfBilltype("JSCCF");
- fees.setSrcBillNo(tWarehousebills.getfBillno());
- fees.setfBillstatus(tWarehousebills.getfBillstatus());
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(fees);
- }
- }
- if (billstatus) {
- String key = "warehouse.storageFeeCalculation.ApprovalFlow";
- SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique(key);
- if (StringUtils.isNull(sysConfig)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("系统参数异常,未找到开启审批流参数");
- }
- if ("0".equals(sysConfig.getConfigValue())) {
- AuditItems auditItems = new AuditItems();
- auditItems.setLevelId(0L);
- auditItems.setBillId(fPid);
- auditItems.setActId(150L);
- auditItems.setIffinalItem("F");
- auditItems.setBillNo(tWarehousebills.getfBillno());
- // 存储委托方(货权方)
- auditItems.setRefno1(tWarehousebills.getfCorpid() + "");
- // 存储业务类型(业务类型)
- auditItems.setRefno2(billsType);
- // 存储提单号(提单号)
- auditItems.setRefno3(tWarehousebills.getfMblno());
- auditItems.setSendUserId(loginUser.getUser().getUserId());
- auditItems.setSendName(loginUser.getUsername());
- auditItems.setSendTime(new Date());
- auditItems.setAuditUserId(loginUser.getUser().getUserId());
- auditItems.setAuditItem(new Date());
- auditItems.setAuditOpTime(new Date());
- auditItems.setAuditMsg("提交");
- auditItems.setAuditStatus("O");
- auditItems.setFidStatus("f_billstatus");
- auditItems.setTimes(tWarehousebills.getfTimes());
- AjaxResult approvalFlow = auditItemsService.createApprovalFlow(auditItems);
- String code = approvalFlow.get("code").toString();
- // Long code = Long.valueOf(String.valueOf(ajaxResult.get("code"))).longValue();
- if ("500".equals(code)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- }
- return approvalFlow;
- } else {
- AjaxResult ajaxResult = storageFeeFollow(fPid, 6L);
- String code = ajaxResult.get("code").toString();
- // Long code = Long.valueOf(String.valueOf(ajaxResult.get("code"))).longValue();
- if ("500".equals(code)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- }
- return ajaxResult;
- }
- }
- }
- return AjaxResult.success();
- }
- /**
- * 根据id查询仓储费计算信息
- *
- * @param fId
- * @return
- */
- @Override
- public AjaxResult selectStorageFeeById(Long fId) {
- TWarehouseBills tWarehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(fId);
- if (StringUtils.isNull(tWarehouseBills)) {
- return AjaxResult.error("未找到信息,请刷新页面重试");
- }
- Map<String, Object> map = new HashMap<>();
- List<TWarehousebillsfees> feesList = new ArrayList<>();
- List<TWarehousebillsfees> itemsList = new ArrayList<>();
- TWarehousebillsfees warehousebillsfees = new TWarehousebillsfees();
- warehousebillsfees.setfPid(fId);
- List<TWarehousebillsfees> warehouseFeesList = tWarehousebillsfeesMapper.selectTWarehousebillsfeesList(warehousebillsfees);
- for (TWarehousebillsfees fees : warehouseFeesList) {
- if (StringUtils.isNotNull(fees.getSrcId())) {
- itemsList.add(fees);
- } else {
- feesList.add(fees);
- }
- }
- TGoods tGoods = new TGoods();
- tGoods.setfStatus("0");
- tGoods.setDelFlag("0");
- List<TGoods> goods = tGoodsMapper.selectTGoodsList(tGoods);
- TFees tFees = new TFees();
- tFees.setfStatus("2");
- tFees.setDelFlag("0");
- List<TFees> feesLists = tFeesMapper.selectTFeesList(tFees);
- // 查询联系人
- List<SysUser> sysUserList = new ArrayList<>();
- SysUser sysUser = sysUserMapper.selectUserByUserName(tWarehouseBills.getCreateBy());
- if (StringUtils.isNotNull(sysUser)) {
- sysUserList.add(sysUser);
- }
- TCorps corps = tCorpsMapper.selectTCorpsById(tWarehouseBills.getfCorpid());
- map.put("corps", corps);
- map.put("goodsList", goods);
- map.put("feesList", feesLists);
- map.put("sysUser", sysUserList);
- map.put("warehouse", tWarehouseBills);
- map.put("warehouseFeesList", feesList);
- map.put("warehouseItemsList", itemsList);
- return AjaxResult.success(map);
- }
- /**
- * 根据不同计费单位获取不同 计算库存明细数量
- *
- * @param item 库存明细
- * @param dictLabel 计费单位
- * @return 结果
- */
- public BigDecimal acquiredQuantity(Map<String, Object> item, Long dictLabel) {
- BigDecimal fQty = new BigDecimal(0);
- // 件数
- long boxNum = 1;
- // 毛重
- long grossWeight = 2;
- // 净重
- long netWeight = 3;
- // 尺码
- long size = 4;
- // 统一
- long fixed = 5;
- if (dictLabel.equals(boxNum)) {
- fQty = new BigDecimal(((Number) item.get("fQty")).doubleValue());
- return fQty.setScale(2, BigDecimal.ROUND_HALF_UP);
- } else if (dictLabel.equals(grossWeight)) {
- fQty = new BigDecimal(((Number) item.get("fGrossweight")).doubleValue());
- } else if (dictLabel.equals(netWeight)) {
- fQty = new BigDecimal(((Number) item.get("fNetweight")).doubleValue());
- } else if (dictLabel.equals(size)) {
- fQty = new BigDecimal(((Number) item.get("fVolumn")).doubleValue());
- } else if (dictLabel.equals(fixed)) {
- fQty = new BigDecimal(1);
- }
- //return fQty.setScale(2, BigDecimal.ROUND_HALF_UP);
- // 结果值除以1000 保留两位
- BigDecimal divisor = new BigDecimal("1000");
- BigDecimal result = fQty.divide(divisor, 2, BigDecimal.ROUND_HALF_UP);
- return result;
- }
- // 入库 收费明细 校验
- public Long check(BigDecimal number, BigDecimal unitPrice) {
- BigDecimal result1 = number.multiply(unitPrice);
- // 保留两位小数且四舍五入
- result1 = result1.setScale(2, BigDecimal.ROUND_HALF_UP);
- // 转换去掉小数点
- String result = result1.toString().replace(".", "");
- return Long.valueOf(result);
- }
- /**
- * 修改详情主表
- *
- * @param tWarehousebills 详情主表
- * @return 结果
- */
- @Override
- public int updateTWarehousebills(TWarehouseBills tWarehousebills) {
- tWarehousebills.setUpdateTime(DateUtils.getNowDate());
- return tWarehouseBillsMapper.updateTWarehousebills(tWarehousebills);
- }
- /**
- * 批量删除详情主表
- *
- * @param fIds 需要删除的详情主表ID
- * @return 结果
- */
- @Override
- public AjaxResult deleteTWarehousebillsByIds(Long[] fIds) {
- // 取出业务编号、 放入 billno_del
- for (Long id : fIds) {
- // 1、查询主表信息
- TWarehouseBills tWarehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(id);
- // 查询对应库存明细是否允许删除
- if (tWarehousebillsitemsMapper.selectItemFStatusByFPid(id) != 0) {
- return AjaxResult.error("删除失败,该单据库存明细已入账");
- }
- // 2、业务编号、客存编号 放入 billno_del
- BillnoDel billnoDel = new BillnoDel();
- billnoDel.setBillType(tWarehousebills.getfBilltype());
- billnoDel.setBillNo(tWarehousebills.getfBillno());
- billnoDelMapper.insertBillnoDel(billnoDel);
- }
- tWarehouseBillsMapper.deleteTWarehousebillsByIds(fIds);
- return AjaxResult.success();
- }
- @Override
- public int deleteTWarehousebills(Long[] fIds) {
- // 取出业务编号、 放入 billno_del
- for (Long id : fIds) {
- // 1、查询主表信息
- TWarehouseBills tWarehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(id);
- // 2、业务编号、客存编号 放入 billno_del
- BillnoDel billnoDel = new BillnoDel();
- billnoDel.setBillType(tWarehousebills.getfBilltype());
- billnoDel.setBillNo(tWarehousebills.getfBillno());
- billnoDelMapper.insertBillnoDel(billnoDel);
- }
- return tWarehouseBillsMapper.deleteKHTWarehousebillsByIds(fIds);
- }
- @Override
- public AjaxResult queryRemove(Long fId) {
- // 查询主表明细
- TWarehouseBills tWarehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(fId);
- // 查询仓库明细从表数据
- TWarehousebillsitems tWarehousebillsitems = new TWarehousebillsitems();
- tWarehousebillsitems.setfPid(tWarehousebills.getfId());
- List<Map<String, Object>> mapList = tWarehousebillsitemsMapper.selectGoodsTransferitemsList(tWarehousebillsitems);
- // 查询仓库费用明细表数据
- TWarehousebillsfees tWarehousebillsfees = new TWarehousebillsfees();
- tWarehousebillsfees.setfPid(tWarehousebills.getfId());
- List<TWarehousebillsfees> warehousebillsfees = tWarehousebillsfeesMapper.selectTWarehousebillsfeesList(tWarehousebillsfees);
- // 查询附件表数据
- TEnclosure enclosure = new TEnclosure();
- enclosure.setfPid(tWarehousebills.getfId());
- List<TEnclosure> enclosures = tEnclosureMapper.selectTEnclosureList(enclosure);
- if (StringUtils.isNull(tWarehousebills)) {
- return AjaxResult.success("0");
- } else if (StringUtils.isNotNull(tWarehousebills)
- && StringUtils.isEmpty(warehousebillsfees)
- && StringUtils.isEmpty(enclosures)
- && StringUtils.isEmpty(mapList)) {
- return AjaxResult.success("1");
- } else {
- return AjaxResult.success("2");
- }
- }
- /**
- * 删除详情主表信息
- *
- * @param fId 详情主表ID
- * @return 结果
- */
- @Override
- public int deleteTWarehousebillsById(Long fId) {
- return tWarehouseBillsMapper.deleteTWarehousebillsById(fId);
- }
- @Override
- public String getWarehouseOutStockBillsNo(TWarehouseBills tWarehouseBills) {
- return null;
- }
- /**
- * 撤销入库
- *
- * @param fId
- * @param loginUser
- * @param billsType
- * @return
- */
- @Override
- @Transactional
- public AjaxResult revokeTWarehousebillsById(Long fId, LoginUser loginUser, String billsType) {
- // 查询 仓库主表信息、库存明细信息
- TWarehouseBills tWarehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(fId);
- // 修改主表信息
- tWarehousebills.setUpdateBy(loginUser.getUser().getUserName());
- tWarehousebills.setUpdateTime(new Date());
- tWarehousebills.setfBillstatus(2L); //撤销状态
- tWarehousebills.setfReviewDate(null);// 审核通过时间清空
- Long timestamp = DateUtils.getTimestamp(new Date());
- tWarehousebills.setfDateChanged(timestamp.toString() + (int) (Math.random() * 900) + 100);
- TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(tWarehousebills.getfId());
- tWarehousebills.setfQty(itemInFo.getfQty());
- tWarehousebills.setfNetweight(itemInFo.getfNetweight());
- tWarehousebills.setfGrossweight(itemInFo.getfGrossweight());
- tWarehousebillsfeesMapper.warehouseFeesFollowUpdate(tWarehousebills.getfId(), 2L, new Date());
- if ("JSCCF".equals(tWarehousebills.getfBilltype())) {
- List<TWarehousebillsfees> feesList = tWarehousebillsfeesMapper.selectWarehousebillsfeesByPId(fId);
- for (TWarehousebillsfees wareItem : feesList) {
- if (StringUtils.isNull(wareItem.getSrcId())) {
- continue;
- }
- if ("KCZZ".equals(wareItem.getfBilltype())) {
- TWhgenleg whgenleg = new TWhgenleg();
- whgenleg.setfId(wareItem.getSrcId());
- whgenleg.setfChargedate(wareItem.getfChargedate());
- int i = tWhgenlegMapper.updateTWhgenleg(whgenleg);
- if (i <= 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("更新库存费用状态失败,请联系管理员");
- }
- } else {
- TWarehousebillsitems billsItem = new TWarehousebillsitems();
- billsItem.setfId(wareItem.getSrcId());
- billsItem.setfBilltype(wareItem.getfBilltype());
- if (!"SJCK".equals(wareItem.getfBilltype())) {
- billsItem.setfChargedate(wareItem.getfBillingDeadline());
- tWarehousebillsitemsMapper.updateTWarehousebillsitems(billsItem);
- } else {
- billsItem.setfChargedate(wareItem.getfChargedate());
- }
- tWarehousebillsitemsMapper.agreementApprovalRejected(billsItem);
- }
- }
- }
- tWarehouseBillsMapper.updateTWarehousebills(tWarehousebills);
- return AjaxResult.success(tWarehousebills.getfDateChanged());
- }
- /**
- * 撤销已审核通过的接单入库信息
- * @param fId
- * @return
- */
- @Override
- @Transactional
- public AjaxResult withdrawOrdersById(Long fId) {
- // 查询 仓库主表信息、库存明细信息
- TWarehouseBills tWarehousebills = tWarehouseBillsMapper.selectTWarehousebillsById(fId);
- if (tWarehousebills.getWarehouseStatus() != 6L) {
- return AjaxResult.error("主单据状态异常,请确认单据状态是否已审核通过");
- }
- tWarehousebills.setUpdateTime(new Date());
- tWarehousebills.setWarehouseStatus(2L); //撤销状态
- tWarehousebills.setUpdateBy(SecurityUtils.getUsername());
- Long timestamp = DateUtils.getTimestamp(new Date());
- tWarehousebills.setfDateChanged(timestamp.toString() + (int) (Math.random() * 900) + 100);
- TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(tWarehousebills.getfId());
- tWarehousebills.setfQty(itemInFo.getfQty());
- tWarehousebills.setfNetweight(itemInFo.getfNetweight());
- tWarehousebills.setfGrossweight(itemInFo.getfGrossweight());
- tWarehouseBillsMapper.updateTWarehousebills(tWarehousebills);
- return AjaxResult.success(tWarehousebills.getfDateChanged());
- }
- /**
- * 查询单据是否允许变更
- * @param sysCheckCode
- * @return 结果
- */
- @Override
- public boolean checkCode(SysCheckCode sysCheckCode) {
- String dateChanged = "";
- switch (sysCheckCode.getfType()) {
- case "warehouse":
- // 查询仓储业务
- TWarehouseBills warehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(sysCheckCode.getfId());
- if (StringUtils.isNull(warehouseBills)) {
- return false;
- }
- if (StringUtils.isNotNull(sysCheckCode.getfId()) && StringUtils.isEmpty(warehouseBills.getfDateChanged())) {
- Long timestamp = DateUtils.getTimestamp(new Date());
- warehouseBills.setUpdateTime(new Date());
- warehouseBills.setUpdateBy(SecurityUtils.getUsername());
- warehouseBills.setfDateChanged(timestamp.toString() + (int) (Math.random() * 900) + 100);
- tWarehouseBillsMapper.updateTWarehousebills(warehouseBills);
- return true;
- }
- dateChanged = warehouseBills.getfDateChanged();
- break;
- case "freight":
- // 查询运价维护业务
- TSeaprice seaprice = tSeapriceMapper.selectTSeapriceById(sysCheckCode.getfId());
- if (StringUtils.isNull(seaprice)) {
- return false;
- }
- if (StringUtils.isNotNull(sysCheckCode.getfId()) && StringUtils.isEmpty(seaprice.getfDateChanged())) {
- Long timestamp = DateUtils.getTimestamp(new Date());
- seaprice.setUpdateTime(new Date());
- seaprice.setUpdateBy(SecurityUtils.getUsername());
- seaprice.setfDateChanged(timestamp.toString() + (int) (Math.random() * 900) + 100);
- tSeapriceMapper.updateTSeaprice(seaprice);
- return true;
- }
- dateChanged = seaprice.getfDateChanged();
- break;
- }
- if (StringUtils.isEmpty(sysCheckCode.getCodeVal()) && StringUtils.isNotEmpty(dateChanged)) {
- return false;
- }
- // 是否符合数据库编码
- if (sysCheckCode.getCodeVal().equals(dateChanged)) {
- return true;
- }
- return false;
- }
- /**
- * 导入【入库明细箱信息】Excel
- * @param file 文件
- * @return
- */
- @Override
- public AjaxResult importLibraryInformation(MultipartFile file) {
- List<TWarehousebillsitems> itemList = new ArrayList<>();
- InputStream inputStream = null;
- try {
- inputStream = file.getInputStream();
- String originalFilename = file.getOriginalFilename();
- Workbook workbook = null;
- if (originalFilename.endsWith("xls")) {
- workbook = WorkbookFactory.create(inputStream);
- } else if (originalFilename.endsWith("xlsx")) {
- workbook = new XSSFWorkbook(inputStream);
- } else {
- return AjaxResult.error("文件后缀异常");
- }
- Sheet sheet = workbook.getSheetAt(0);
- int line = 0;
- for (Row rows : sheet) {
- line++;
- if (rows.getRowNum() == 0) {
- continue;
- }
- TWarehousebillsitems warehousebillsitems = new TWarehousebillsitems();
- for (int a = 0; a < rows.getPhysicalNumberOfCells(); a++) {
- if (StringUtils.isNull(rows.getCell(a))) {
- continue;
- }
- Cell cell = rows.getCell(a);
- String value = filter(sheet.getRow(0), CellReference.convertNumToColString(cell.getColumnIndex()));
- switch (value) {
- case "箱号":
- //设置单元格类型
- cell.setCellType(CellType.STRING);
- if (StringUtils.isNotEmpty(cell.getStringCellValue())) {
- warehousebillsitems.setfCntrno(cell.getStringCellValue());
- }
- break;
- case "铅封号":
- //设置单元格类型
- cell.setCellType(CellType.STRING);
- if (StringUtils.isNotEmpty(cell.getStringCellValue())) {
- warehousebillsitems.setfSealno(cell.getStringCellValue());
- }
- break;
- case "预计件数":
- //设置单元格类型
- cell.setCellType(CellType.STRING);
- if (StringUtils.isNotEmpty(cell.getStringCellValue())) {
- warehousebillsitems.setfPlanqty(Long.valueOf(cell.getStringCellValue()));
- }
- break;
- case "预计毛重":
- //设置单元格类型
- cell.setCellType(CellType.STRING);
- if (StringUtils.isNotEmpty(cell.getStringCellValue())) {
- warehousebillsitems.setfPlangrossweight(new BigDecimal(cell.getStringCellValue()).setScale(2, BigDecimal.ROUND_HALF_UP));
- }
- break;
- case "预计净重":
- //设置单元格类型
- cell.setCellType(CellType.STRING);
- if (StringUtils.isNotEmpty(cell.getStringCellValue())) {
- warehousebillsitems.setfPlannetweight(new BigDecimal(cell.getStringCellValue()).setScale(2, BigDecimal.ROUND_HALF_UP));
- }
- break;
- }
- }
- if (StringUtils.isNotEmpty(warehousebillsitems.getfCntrno())) {
- itemList.add(warehousebillsitems);
- }
- }
- } catch (IOException e) {
- return AjaxResult.error("上传文件失败,请检查文件是否损坏");
- }
- String errinfo = "";
- int line = 1;
- for (TWarehousebillsitems li : itemList) {
- if (StringUtils.isEmpty(li.getfCntrno())) {
- errinfo = errinfo + "第" + line + "行箱号为空,";
- }
- if (StringUtils.isNull(li.getfPlanqty())) {
- errinfo = errinfo + "第" + line + "行预计件数为空,";
- } else {
- li.setfQty(li.getfPlanqty());
- }
- if (StringUtils.isNull(li.getfPlangrossweight())) {
- errinfo = errinfo + "第" + line + "行预计毛重为空,";
- } else {
- li.setfGrossweight(li.getfPlangrossweight());
- }
- if (StringUtils.isNull(li.getfPlannetweight())) {
- errinfo = errinfo + "第" + line + "行预计净重为空,";
- } else {
- li.setfNetweight(li.getfPlannetweight());
- }
- line++;
- }
- if (StringUtils.isEmpty(errinfo)) {
- return AjaxResult.success(itemList);
- } else {
- return AjaxResult.success(errinfo, itemList);
- }
- }
- @Override
- public AjaxResult getMblno(TWarehouseBills tWarehousebills) {
- String kh = billnoSerialServiceImpl.getMblno("KH", tWarehousebills.getfLoadportid(), tWarehousebills.getfDestportid(), tWarehousebills.getfVoyid());
- return AjaxResult.success(kh);
- }
- @Override
- @Transactional
- public AjaxResult orderExamine(TWarehouseBills tWarehouseBills, LoginUser loginUser) {
- String key = "";//键
- long actId = 0L;//活动id
- Long fPid = tWarehouseBills.getfId();
- String fidStatus = "";
- Long billStatus = 2L;
- //判断能否提交审核
- boolean b = this.judgmentMessage(tWarehouseBills.getfBilltype(), fPid);
- if (b == false){
- return AjaxResult.error("已提交审核请勿重复提交审核");
- }
- TWarehouseBills warehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(fPid);
- if ("XGDD".equals(tWarehouseBills.getfBilltype())) {
- TVoyage tVoyage = tVoyageMapper.selectTVoyageById(warehouseBills.getfVoyid());
- if (tVoyage.getfAtd() != null){
- Date date = new Date();
- int i = date.compareTo(tVoyage.getfAtd());
- if (i >= 0){
- return AjaxResult.error("当前日期已超过开船日期不能,不能变更!");
- }
- }
- actId = 471L;
- key = "khwarehouse.updateOrderMessage.ApprovalFlow";
- fidStatus = "f_updete_status";
- }else if ("XGTJ".equals(tWarehouseBills.getfBilltype())) {
- actId = 472L;
- key = "khwarehouse.submitUpdateOrderMessage.ApprovalFlow";
- fidStatus = "f_submit_update";
- }else if ("DDSC".equals(tWarehouseBills.getfBilltype())) {
- actId = 473L;
- key = "khwarehouse.deleteOrderMessage.ApprovalFlow";
- fidStatus = "f_delete_status";
- }
- boolean isApprove = false;//是否开启审批流
- SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique(key);
- if (StringUtils.isNull(sysConfig)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("系统参数异常,未找到开启审批流参数");
- }
- if ("0".equals(sysConfig.getConfigValue())) {
- isApprove = true;
- }
- if (isApprove) {
- billStatus = 4L;
- } else {
- billStatus = 6L;
- }
- TWarehouseBills housebills = new TWarehouseBills();
- housebills.setfId(fPid);
- if ("XGDD".equals(tWarehouseBills.getfBilltype())) {
- housebills.setfUpdeteStatus(billStatus);
- if (billStatus.longValue() == 6L){
- AjaxResult orderMessage = this.copyKhOrderMessage(fPid);
- String string = orderMessage.get("code").toString();
- if ("500".equals(string)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return orderMessage;
- }
- }
- }else if ("XGTJ".equals(tWarehouseBills.getfBilltype())) {
- housebills.setfSubmitUpdate(billStatus);
- }else if ("DDSC".equals(tWarehouseBills.getfBilltype())) {
- housebills.setfDeleteStatus(billStatus);
- if (billStatus.longValue() == 6L){
- housebills.setDelFlag("1");
- }
- }
- int i = tWarehouseBillsMapper.updateKaHeOrder(housebills);
- if (i <= 0){
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("修改订单状态出错");
- }
- if (isApprove) {
- AuditItems auditItems = new AuditItems();
- auditItems.setLevelId(0L);
- auditItems.setBillId(fPid);
- auditItems.setActId(actId);
- auditItems.setIffinalItem("F");
- auditItems.setBillNo(warehouseBills.getfBillno());
- // 存储委托方(货权方)
- auditItems.setRefno1(warehouseBills.getfCorpid() + "");
- // 存储业务类型(业务类型)
- auditItems.setRefno2(tWarehouseBills.getfBilltype());
- // 存储提单号(提单号)
- if (StringUtils.isNotEmpty(warehouseBills.getfMblno())) {
- auditItems.setRefno3(warehouseBills.getfMblno());
- } else {
- auditItems.setRefno3(warehouseBills.getfBillno());
- }
- auditItems.setSendUserId(loginUser.getUser().getUserId());
- auditItems.setSendName(SecurityUtils.getUsername());
- auditItems.setSendTime(new Date());
- auditItems.setAuditUserId(loginUser.getUser().getUserId());
- auditItems.setAuditItem(new Date());
- auditItems.setAuditOpTime(new Date());
- auditItems.setAuditMsg("提交");
- auditItems.setAuditStatus("O");
- auditItems.setFidStatus(fidStatus);
- auditItems.setTimes(1L);
- AjaxResult approvalFlow = auditItemsService.createApprovalFlow(auditItems);
- // Long code = Long.valueOf(String.valueOf(approvalFlow.get("code"))).longValue();
- String code = approvalFlow.get("code").toString();
- // Long code = Long.valueOf(String.valueOf(ajaxResult.get("code"))).longValue();
- if ("500".equals(code)) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- }
- return approvalFlow;
- }
- return AjaxResult.success();
- }
- @Override
- @Transactional
- public AjaxResult waybillChanges(String tWarehousebills, String tWarehousebillsCntr, String tWarehousebillsCntritems, String tWarehousebillsfeesCr, String tWarehousebillsfeesDr, LoginUser loginUser, String billsType) {
- Date date = new Date();//修改时间
- String userName = loginUser.getUser().getUserName();//修改人
- //修改主表信息
- TWarehouseBills warehouseBills = JSONArray.parseObject(tWarehousebills, TWarehouseBills.class);
- warehouseBills.setUpdateBy(userName);
- warehouseBills.setUpdateTime(date);
- TWarehouseBills tWarehousebillsById = tWarehouseBillsMapper.selectTWarehousebillsById(warehouseBills.getfId());
- if (tWarehousebillsById.getfUpdeteStatus().longValue() != 6L){
- return AjaxResult.error("修改审批未通过,请提交审批并且审批通过后再保存修改");
- }
- if (tWarehousebillsById.getfSubmitUpdate().longValue() == 4L
- || tWarehousebillsById.getfSubmitUpdate().longValue() == 5L
- || tWarehousebillsById.getfSubmitUpdate().longValue() == 6L){
- return AjaxResult.error("修改已提交审批,不支持修改");
- }
- int i = tWarehouseBillsMapper.updateKaHeOrder(warehouseBills);
- if (i<= 0){
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("更新主表信息出错!");
- }
- //修改货物信息
- if (StringUtils.isNotEmpty(tWarehousebillsCntr) && !"[]".equals(tWarehousebillsCntr)){
- tWarehousebillsCntrMapper.deleteTWarehousebillsCntrfPid(warehouseBills.getfId());
- JSONArray jsonCrArray = JSONArray.parseArray(tWarehousebillsCntr);
- List<TWarehousebillsCntr> tWarehousebillsCntrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsCntr.class);
- for (TWarehousebillsCntr warehousebillsCntr : tWarehousebillsCntrList) {
- if (warehousebillsCntr.getCreateTime() == null){
- warehousebillsCntr.setCreateTime(date);
- }else {
- warehousebillsCntr.setUpdateTime(date);
- }
- if (StringUtils.isNull(warehousebillsCntr.getCreateBy())){
- warehousebillsCntr.setCreateBy(userName);
- }else {
- warehousebillsCntr.setUpdateBy(userName);
- }
- tWarehousebillsCntrMapper.insertTWarehousebillsCntr(warehousebillsCntr);
- }
- }
- //修改箱信息
- if (StringUtils.isNotEmpty(tWarehousebillsCntritems) && !"[]".equals(tWarehousebillsCntritems)){
- tWarehousebillsCntritemsMapper.deleteTWarehousebillsCntritemsfPid(warehouseBills.getfId());
- JSONArray objects = JSONArray.parseArray(tWarehousebillsCntritems);
- List<TWarehousebillsCntritems> tWarehousebillsCntritemsList = JSONObject.parseArray(objects.toJSONString(), TWarehousebillsCntritems.class);
- for (TWarehousebillsCntritems warehousebillsCntritems : tWarehousebillsCntritemsList) {
- if (warehousebillsCntritems.getCreateTime() == null){
- warehousebillsCntritems.setCreateTime(date);
- }else {
- warehousebillsCntritems.setUpdateTime(date);
- }
- if (StringUtils.isNull(warehousebillsCntritems.getCreateBy())){
- warehousebillsCntritems.setCreateBy(userName);
- }else {
- warehousebillsCntritems.setUpdateBy(userName);
- }
- tWarehousebillsCntritemsMapper.insertTWarehousebillsCntritems(warehousebillsCntritems);
- }
- }
- //修改付费信息
- if (StringUtils.isNotEmpty(tWarehousebillsfeesCr) && !"[]".equals(tWarehousebillsfeesCr)){
- tWarehousebillsfeesMapper.deleteFessByFPid(warehouseBills.getfId(),"C");
- JSONArray jsonArray = JSONArray.parseArray(tWarehousebillsfeesCr);
- List<TWarehousebillsfees> warehousebillsfeesCrList = JSONObject.parseArray(jsonArray.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees tWarehousebillsfees : warehousebillsfeesCrList) {
- if (tWarehousebillsfees.getCreateTime() == null){
- tWarehousebillsfees.setCreateTime(date);
- }else {
- tWarehousebillsfees.setUpdateTime(date);
- }
- if (StringUtils.isNull(tWarehousebillsfees.getCreateBy())){
- tWarehousebillsfees.setCreateBy(userName);
- }else {
- tWarehousebillsfees.setUpdateBy(userName);
- }
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(tWarehousebillsfees);
- }
- }
- //修改收费费信息
- if (StringUtils.isNotEmpty(tWarehousebillsCntritems) && !"[]".equals(tWarehousebillsCntritems)){
- tWarehousebillsfeesMapper.deleteFessByFPid(warehouseBills.getfId(),"D");
- JSONArray parseArray = JSONArray.parseArray(tWarehousebillsfeesDr);
- List<TWarehousebillsfees> warehousebillsfeesDrList = JSONObject.parseArray(parseArray.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees tWarehousebillsfees : warehousebillsfeesDrList) {
- if (tWarehousebillsfees.getCreateTime() == null){
- tWarehousebillsfees.setCreateTime(date);
- }else {
- tWarehousebillsfees.setUpdateTime(date);
- }
- if (StringUtils.isNull(tWarehousebillsfees.getCreateBy())){
- tWarehousebillsfees.setCreateBy(userName);
- }else {
- tWarehousebillsfees.setUpdateBy(userName);
- }
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(tWarehousebillsfees);
- }
- }
- return AjaxResult.success();
- }
- @Override
- @Transactional
- public AjaxResult copyKhOrderMessage(Long fId) {
- int i = tWarehousebillsLoggerMapper.copyTwarehousebills(fId);
- tWarehousebillsCntrLoggerMapper.copyTwarehousebillsCntr(fId);
- tWarehousebillsCntritemsLoggerMapper.copyTwarehousebillsCntritems(fId);
- tWarehousebillsfeesLoggerMapper.copyTWarehousebillsfees(fId);
- if (i>0){
- return AjaxResult.success();
- }else {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("运单变更记录日志出错");
- }
- }
- /**
- * 判断能否提交审批
- * @param billType
- * @param fid
- * @return
- */
- public boolean judgmentMessage(String billType,Long fid){
- TWarehouseBills warehouseBills = tWarehouseBillsMapper.selectTWarehousebillsById(fid);
- if ("XGDD".equals(billType) && warehouseBills.getfUpdeteStatus() == 2L) {
- return true;
- }else if ("XGDD".equals(billType) && warehouseBills.getfUpdeteStatus() == 3L) {
- return true;
- } else if ("XGTJ".equals(billType) && warehouseBills.getfSubmitUpdate() == 2L) {
- return true;
- }else if ("XGTJ".equals(billType) && warehouseBills.getfSubmitUpdate() == 3L) {
- return true;
- } else if ("DDSC".equals(billType) && warehouseBills.getfDeleteStatus() == 2L) {
- return true;
- } else if ("DDSC".equals(billType) && warehouseBills.getfDeleteStatus() == 3L) {
- return true;
- }
- return false;
- }
- /**
- * 撤销入账
- *
- * @param warehouseBills 主表
- * @param warehousebillsitems 明细
- * @param loginUser 当前登录人
- * @param billsType 状态
- * @return 结果
- */
- @Override
- @Transactional
- public AjaxResult revokeTWarehousebillsById1(String warehouseBills, String warehousebillsitems, String tEnclosure,
- String warehousebillsfeesCr, String warehousebillsfeesDr, LoginUser loginUser, String tCntr, String billsType) {
- if (StringUtils.isNull(warehouseBills) || "[]".equals(warehouseBills)) {
- return AjaxResult.error("未找到主表信息");
- }
- if (StringUtils.isNull(warehousebillsitems) || "[]".equals(warehousebillsitems)) {
- return AjaxResult.error("未找到入账信息");
- }
- TWarehouseBills tWarehousebills = JSONArray.parseObject(warehouseBills, TWarehouseBills.class);
- tWarehousebills.setfItemsStatus(1L); //撤销状态
- tWarehousebills.setUpdateTime(new Date());
- tWarehousebills.setUpdateBy(loginUser.getUsername());
- Long timestamp = DateUtils.getTimestamp(new Date());
- tWarehousebills.setfDateChanged(timestamp.toString() + (int) (Math.random() * 900) + 100);
- tEnclosureMapper.deleteByFPid(tWarehousebills.getfId());
- tWarehousebillsfeesMapper.deleteByFPid(tWarehousebills.getfId());
- tWarehousebillsCntrMapper.deleteTWarehousebillsCntrfPid(tWarehousebills.getfId());
- JSONArray warehouseJSON = JSONArray.parseArray(warehousebillsitems);
- List<TWarehousebillsitems> warehousebillsitemsList = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
- /**
- * 流水号回收
- * 1、 获取所有流水号
- */
- List<String> serialNumberList = new ArrayList<>();
- if (StringUtils.isNotEmpty(warehousebillsitemsList)) {
- int i = 1;
- for (TWarehousebillsitems wb : warehousebillsitemsList) {
- TGoods goods = tGoodsMapper.selectTGoodsById(wb.getfGoodsid());
- if ("1".equals(goods.getIfCntrno()) && StringUtils.isNull(wb.getfCntrno())) {
- return AjaxResult.error("仓库明细第"+i+"行未找到箱号");
- }
- if (StringUtils.isNotNull(wb.getfSerialNumber())) {
- serialNumberList.add(wb.getfSerialNumber()); // 流水号回收
- }
- // 查询库存总账
- TWhgenleg tWhgenle = queryTWhgenleg(tWarehousebills, wb, goods.getIfCntrno());
- if ("SJRKRevoke".equals(billsType)) { // 撤销 入库
- if (wb.getfIsInventory().equals(0L)) {
- if (StringUtils.isNotNull(tWhgenle) && (wb.getfQty() <= tWhgenle.getfQtyblc())) { // 非空 且 撤销数 <= 结余数
- updateTWhgenlegData(wb, tWhgenle.getfId(), billsType);
- } else { // 撤销数>结余数
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("第" + i + "行撤销数大于库存结余数");
- }
- }
- wb.setfBillstatus(10L);
- } else if ("SJCKRevoke".equals(billsType)) { // 撤销出库
- if (StringUtils.isNotNull(tWhgenle)) { // 非空
- updateTWhgenlegData(wb, tWhgenle.getfId(), billsType);
- } else {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("第" + i + "行未查询到库存信息");
- }
- wb.setfBillstatus(10L);
- } else if ("CKDBRevoke".equals(billsType)) { // 调拨 撤销
- Long warehouselocid = wb.getfWarehouselocid();// 原货仓库
- Long transferWarehouselocid = wb.getfTransferWarehouselocid(); // 新仓库
- // 1、新货权方撤销入库
- // 查询库存总账
- wb.setfWarehouselocid(transferWarehouselocid);
- TWhgenleg tWhgenle1 = queryTWhgenleg(tWarehousebills, wb, goods.getIfCntrno());
- if (StringUtils.isNotNull(tWhgenle1) && (wb.getfQty() <= tWhgenle1.getfQtyblc())) {
- updateTWhgenlegData(wb, tWhgenle1.getfId(), "SJRKRevoke");
- } else {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("第" + i + "行撤销数大于库存结余数");
- }
- // 2、原货权方撤销出库
- // 查询库存总账
- wb.setfWarehouselocid(warehouselocid);
- TWhgenleg tWhgenle2 = queryTWhgenleg(tWarehousebills, wb, goods.getIfCntrno());
- updateTWhgenlegData(wb, tWhgenle2.getfId(), "SJCKRevoke");
- wb.setfBillstatus(10L);
- } else if ("HWTGRevoke".equals(billsType)) { // 调拨 撤销
- // 贸易方式
- Long oldfTrademodeid = tWarehousebills.getfTrademodeid();
- // 新贸易方式
- Long newfTrademodeid = tWarehousebills.getfNewTrademodeid();
- Long warehouselocid = wb.getfWarehouselocid();// 原货仓库
- Long transferWarehouselocid = wb.getfTransferWarehouselocid(); // 新仓库
- // 1、新货权方撤销入库
- // 查询库存总账
- wb.setfWarehouselocid(transferWarehouselocid);
- tWarehousebills.setfTrademodeid(newfTrademodeid); // 查询用新的
- TWhgenleg tWhgenle1 = queryTWhgenleg(tWarehousebills, wb, goods.getIfCntrno());
- if (StringUtils.isNotNull(tWhgenle1) && (wb.getfQty() <= tWhgenle1.getfQtyblc())) {
- updateTWhgenlegData(wb, tWhgenle1.getfId(), "SJRKRevoke");
- } else {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("第" + i + "行撤销数大于库存结余数");
- }
- // 2、原货权方撤销出库
- // 查询库存总账
- wb.setfWarehouselocid(warehouselocid);
- tWarehousebills.setfTrademodeid(oldfTrademodeid); // 撤销回到旧的
- TWhgenleg tWhgenle2 = queryTWhgenleg(tWarehousebills, wb, goods.getIfCntrno());
- updateTWhgenlegData(wb, tWhgenle2.getfId(), "SJCKRevoke");
- wb.setfBillstatus(10L);
- } else if ("HQZYRevoke".equals(billsType)) { // 货转撤销
- Long fCorpid = tWarehousebills.getfCorpid();// 原货权方
- Long fTocorpid = tWarehousebills.getfTocorpid(); // 新货权方
- // 1、新货权方撤销入库
- // 查询库存总账
- tWarehousebills.setfCorpid(fTocorpid);
- TWhgenleg tWhgenle1 = queryTWhgenleg(tWarehousebills, wb, goods.getIfCntrno());
- if (StringUtils.isNotNull(tWhgenle1) && (wb.getfQty() <= tWhgenle1.getfQtyblc())) {
- updateTWhgenlegData(wb, tWhgenle1.getfId(), "SJRKRevoke");
- } else {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("第" + i + "行撤销数大于库存结余数");
- }
- // 2、原货权方撤销出库
- // 查询库存总账
- tWarehousebills.setfCorpid(fCorpid);
- TWhgenleg tWhgenle2 = queryTWhgenleg(tWarehousebills, wb, goods.getIfCntrno());
- updateTWhgenlegData(wb, tWhgenle2.getfId(), "SJCKRevoke");
- wb.setfBillstatus(1L);
- }
- i++;
- wb.setUpdateBy(loginUser.getUser().getUserName());
- wb.setUpdateTime(new Date());
- wb.setfSerialNumber(null);
- if (tWarehousebillsitemsMapper.updateTWarehousebillsitems(wb) <= 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("新增库存明细失败");
- }
- }
- }
- if (!"HQZYRevoke".equals(billsType)) {
- /**
- * 流水号回收
- * 2、 流水号去重
- * 3、 添加到 billno_del
- */
- List<String> serialNumberNewList = delRepeat(serialNumberList);
- serialNumberNewList.forEach(item -> {
- BillnoDel billnoDel = new BillnoDel();
- billnoDel.setBillType(item.substring(0, 2));
- billnoDel.setBillNo(item);
- billnoDelMapper.insertBillnoDel(billnoDel);
- });
- }
- // 箱型数据
- if (StringUtils.isNotNull(tCntr) && !"[]".equals(tCntr)) {
- JSONArray jsonDrArray = JSONArray.parseArray(tCntr);
- List<TWarehousebillsCntr> tWarehousebillsCntrs = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsCntr.class);
- int line = 0;
- for (TWarehousebillsCntr cntr : tWarehousebillsCntrs) {
- line++;
- if (StringUtils.isNull(cntr.getfCntrid()) || StringUtils.isNull(cntr.getfCntrcount()) || cntr.getfCntrcount() == 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("箱型数据第" + line + "行数据缺少必填数据");
- }
- cntr.setfPid(tWarehousebills.getfId());
- cntr.setfGoodsid(0L);
- cntr.setfPackageid("0");
- cntr.setfCntrweight(new BigDecimal(0));
- cntr.setCreateBy(loginUser.getUser().getUserName());
- cntr.setCreateTime(new Date());
- tWarehousebillsCntrMapper.insertTWarehousebillsCntr(cntr);
- }
- }
- // 附件添加
- if (StringUtils.isNotEmpty(tEnclosure) && !"[]".equals(tEnclosure)) {
- JSONArray jsonDrArray = JSONArray.parseArray(tEnclosure);
- List<TEnclosure> tEnclosureList = JSONObject.parseArray(jsonDrArray.toJSONString(), TEnclosure.class);
- for (TEnclosure enclosure : tEnclosureList) {
- enclosure.setfPid(tWarehousebills.getfId());
- enclosure.setCreateBy(loginUser.getUser().getUserName());
- enclosure.setCreateTime(new Date());
- tEnclosureMapper.insertTEnclosure(enclosure);
- }
- }
- // 收款明细添加
- if (StringUtils.isNotEmpty(warehousebillsfeesDr) && !"[]".equals(warehousebillsfeesDr)) {
- JSONArray jsonDrArray = JSONArray.parseArray(warehousebillsfeesDr);
- List<TWarehousebillsfees> warehousebillsfeesDrList = JSONObject.parseArray(jsonDrArray.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees wbDr : warehousebillsfeesDrList) {
- wbDr.setfPid(tWarehousebills.getfId());
- wbDr.setfDc("D");
- wbDr.setCreateBy(loginUser.getUser().getUserName());
- wbDr.setCreateTime(new Date());
- if (tWarehousebills.getfBsdate() != null && !tWarehousebills.getfBsdate().equals("")) {
- wbDr.setfBsdate(tWarehousebills.getfBsdate());
- }
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbDr);
- }
- }
- // 付款明细添加
- if (StringUtils.isNotNull(warehousebillsfeesCr) && !"[]".equals(warehousebillsfeesCr)) {
- JSONArray jsonCrArray = JSONArray.parseArray(warehousebillsfeesCr);
- List<TWarehousebillsfees> warehousebillsfeesCrList = JSONObject.parseArray(jsonCrArray.toJSONString(), TWarehousebillsfees.class);
- for (TWarehousebillsfees wbCr : warehousebillsfeesCrList) {
- wbCr.setfPid(tWarehousebills.getfId());
- wbCr.setfDc("C");
- wbCr.setCreateBy(loginUser.getUser().getUserName());
- wbCr.setCreateTime(new Date());
- if (tWarehousebills.getfBsdate() != null && !tWarehousebills.getfBsdate().equals("")) {
- wbCr.setfBsdate(tWarehousebills.getfBsdate());
- }
- tWarehousebillsfeesMapper.insertTWarehousebillsfees(wbCr);
- }
- }
- //从表更新完再查询主表信息修改入库件数
- TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(tWarehousebills.getfId());
- tWarehousebills.setfQty(itemInFo.getfQty());
- tWarehousebills.setfNetweight(itemInFo.getfNetweight());
- tWarehousebills.setfGrossweight(itemInFo.getfGrossweight());
- tWarehouseBillsMapper.updateTWarehousebills(tWarehousebills);
- return AjaxResult.success(tWarehousebills.getfDateChanged());
- }
- public static List<String> delRepeat(List<String> list) {
- List<String> myList = list.stream().distinct().collect(Collectors.toList());
- return myList;
- }
- /**
- * 添加 库存明细状态
- *
- * @param wbItem
- * @param status
- * @param loginUser
- */
- public void insertTWarehousebillsLog(TWarehousebillsitems wbItem, Long status, LoginUser loginUser) {
- // 添加状态log
- TWarehousebillsLog tWarehousebillsLog = new TWarehousebillsLog();
- tWarehousebillsLog.setfPid(wbItem.getfPid());
- tWarehousebillsLog.setfItmeid(wbItem.getfId());
- tWarehousebillsLog.setfItmestatus(status);
- tWarehousebillsLog.setCreateTime(new Date());
- tWarehousebillsLog.setCreateBy(loginUser.getUser().getUserName());
- tWarehousebillsLogMapper.insertTWarehousebillsLog(tWarehousebillsLog);
- }
- /**
- * 删除 库存明细
- *
- * @param fid
- * @param tWarehousebillsitems
- */
- public void deleteBillsitems(Long fid, String tWarehousebillsitems) {
- List<Long> oldList = new ArrayList<Long>();
- List<Long> newList = new ArrayList<Long>();
- // 查询所有从表数据
- TWarehousebillsitems tWarehousebillsitem = new TWarehousebillsitems();
- tWarehousebillsitem.setfPid(fid);
- List<TWarehousebillsitems> warehousebillsitemsList = tWarehousebillsitemsMapper.selectTWarehousebillsitemsList(tWarehousebillsitem);
- warehousebillsitemsList.forEach(wb ->
- oldList.add(wb.getfId())
- );
- // 获取提交从表数据ID
- if (tWarehousebillsitems != null) {
- JSONArray warehouseJSON = JSONArray.parseArray(tWarehousebillsitems);
- List<TWarehousebillsitems> warehousebillsitemsLists = JSONObject.parseArray(warehouseJSON.toJSONString(), TWarehousebillsitems.class);
- warehousebillsitemsLists.forEach(wb ->
- newList.add(wb.getfId())
- );
- }
- // 删除多余的ID
- List<Long> reduce1 = oldList.stream().filter(item -> !newList.contains(item)).collect(toList());
- reduce1.forEach(id ->
- tWarehousebillsitemsMapper.deleteTWarehousebillsitemsById(id)
- );
- }
- /**
- * 库容-结余毛重
- *
- * @param fTotalgross
- * @param fGrossweightblc
- * @return
- */
- public static BigDecimal calculation1(String fTotalgross, String fGrossweightblc) {
- BigDecimal num1 = new BigDecimal(fTotalgross);
- BigDecimal num2 = new BigDecimal(fGrossweightblc);
- BigDecimal result = num1.subtract(num2);
- return result.setScale(2, BigDecimal.ROUND_HALF_UP);
- }
- /**
- * 判断 是否允许 入库
- *
- * @param fId
- */
- public int calculation(Long fId, BigDecimal fGrossweight) {
- // 仓库库容
- TWarehouse tWarehouse = tWarehouseMapper.selectTWarehouseById(fId);
- // 毛重公斤转化为吨
- fGrossweight = fGrossweight.divide(new BigDecimal(1000), 0, BigDecimal.ROUND_HALF_UP);
- // 总账使用
- List<Map<String, Object>> whouseList = tWhgenlegMapper.selectWareHouseListWhouse(fId);
- if (whouseList != null && whouseList.size() > 0) {
- String fTotalgross = null;
- String fGrossweightblc = null;
- for (Map<String, Object> m : whouseList) {
- for (String k : m.keySet()) {
- // 获取毛重库容
- if (k.equals("fTotalgross")) {
- fTotalgross = m.get(k).toString();
- }
- if (k.equals("fGrossweightD")) {
- fGrossweightblc = m.get(k).toString();
- }
- }
- }
- BigDecimal bd = new BigDecimal(fGrossweightblc);
- fGrossweightblc = bd.divide(new BigDecimal(1000), 0, BigDecimal.ROUND_HALF_UP).toString();
- BigDecimal result = calculation1(fTotalgross, fGrossweightblc);
- if (result.compareTo(fGrossweight) == -1) {
- return 0;// 结余库容小于入库数
- } else {
- return 1;
- }
- } else {
- if (tWarehouse.getfTotalgross() != null) {
- if (tWarehouse.getfTotalgross().compareTo(fGrossweight) == -1) {
- return 0;// 库容小于入库数
- } else {
- return 1;
- }
- } else {
- return 0;// 库容小于入库数
- }
- }
- }
- @Transactional
- public AjaxResult updateKaHeOrder(Long fPid, long fettle, Date auditItem) {
- if (StringUtils.isNull(fPid)) {
- return AjaxResult.error("协议更新状态未找到主表信息,请与管理员联系");
- }
- TWarehouseBills tWarehouseBills = new TWarehouseBills();
- tWarehouseBills.setfId(fPid);
- tWarehouseBills.setfBillstatus(fettle);
- if (fettle == 11L) {
- tWarehouseBills.setfReviewDate(auditItem);
- }
- int tFeeUpdateResult = tWarehouseBillsMapper.updateKaHeOrder(tWarehouseBills);
- if (tFeeUpdateResult <= 0) {
- TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
- return AjaxResult.error("更新订单主表状态失败,请联系管理员");
- }
- return AjaxResult.success();
- }
- /**
- * 根据fid获取订单主表信息
- *
- * @param fid
- * @return
- */
- public TWarehouseBills selectKaHeById(Long fid) {
- return tWarehouseBillsMapper.selectTWarehousebillsById(fid);
- }
- /**
- * 查询是否开启审批流
- * @param billsType
- * @return
- */
- public SysConfig queryWarehouseConfig (String billsType) {
- String key = "";
- if ("SJRK".equals(billsType)) {
- key = "instock.orders.approval";
- } else if ("SJCK".equals(billsType)) {
- key = "outStock.orders.approvalFlow";
- } else if ("CKDB".equals(billsType)) {
- key = "stockTransfer.orders.approvalFlow";
- } else if ("HQZY".equals(billsType)) {
- key = "transfer.orders.approvalFlow";
- } else if ("HWTG".equals(billsType)) {
- key = "cargoClearance.orders.approvalFlow";
- } else if ("SJRKITEM".equals(billsType)) {
- key = "warehouse.inStockItem.ApprovalFlow";
- }else if ("SJCKITEM".equals(billsType)) {
- key = "warehouse.outStockItem.ApprovalFlow";
- }
- return sysConfigMapper.checkConfigKeyUnique(key);
- }
- /**
- * 查询是对应仓储类型活动号
- * @param billsType
- * @return
- */
- public Long queryWarehouseActId (String billsType) {
- long actId = 0L;
- if ("SJRK".equals(billsType)) {
- actId = 110L;
- } else if ("SJCK".equals(billsType)) {
- actId = 120L;
- } else if ("CKDB".equals(billsType)) {
- actId = 140L;
- } else if ("HQZY".equals(billsType)) {
- actId = 130L;
- } else if ("HWTG".equals(billsType)) {
- actId = 160L;
- }
- return actId;
- }
- /**
- * 校验仓储主表字段是否为空
- * 后续优化进入系统
- * @param warehousebill
- * @return
- */
- public String checkWarehouse (TWarehouseBills warehousebill) {
- if (StringUtils.isNull(warehousebill.getfCorpid())) {
- return "请维护主表客户信息";
- }
- if (StringUtils.isNull(warehousebill.getfBsdate())) {
- return "请维护主表业务日期";
- }
- if (StringUtils.isNull(warehousebill.getfWarehouseid())) {
- return "请维护主表仓库信息";
- }
- if (("SJRK".equals(warehousebill.getfBilltype()) || "SJCK".equals(warehousebill.getfBilltype()))
- && StringUtils.isNull(warehousebill.getfFeetunit())) {
- return "请维护主表业务计费单位";
- }
- if (("SJRK".equals(warehousebill.getfBilltype()) || "HQZY".equals(warehousebill.getfBilltype()))
- && StringUtils.isNull(warehousebill.getfChargedate())) {
- return "请维护主表仓储费计费日期";
- }
- if ("SJRK".equals(warehousebill.getfBilltype()) && StringUtils.isNull(warehousebill.getfGoodsid())) {
- return "请维护主表商品信息";
- }
- if (!"HQZY".equals(warehousebill.getfBilltype()) && StringUtils.isNull(warehousebill.getfStorekeeper())) {
- return "请维护主表仓管员信息";
- }
- if ("SJRK".equals(warehousebill.getfBilltype()) && StringUtils.isEmpty(warehousebill.getfMblno())) {
- return "请维护主表提单号";
- }
- if ("CKDB".equals(warehousebill.getfBilltype()) && StringUtils.isEmpty(warehousebill.getfBusinessType())) {
- return "请维护主表作业类型";
- }
- if (("HQZY".equals(warehousebill.getfBilltype()) || "HWTG".equals(warehousebill.getfBilltype()))
- && StringUtils.isNull(warehousebill.getfTrademodeid())) {
- return "请维护主表贸易方式";
- }
- if ("HWTG".equals(warehousebill.getfBilltype()) && StringUtils.isNull(warehousebill.getfNewTrademodeid())) {
- return "请维护主表新贸易方式";
- }
- return null;
- }
- /**
- * 获取最小仓储费计算日期
- * @param fId
- * @param date
- * @return
- */
- public boolean getFchargedate(Long fId,Date date) {
- Date fchargedate = tWarehousebillsitemsMapper.getFchargedate(fId);
- if (fchargedate == null){
- return true;
- }
- int i = date.compareTo(fchargedate);
- if (i == -1){
- return false;
- }else {
- return true;
- }
- }
- /**
- * 获取仓储费最小日期并更新入库明细的仓储费计算日期
- * @param fId
- * @return
- */
- public AjaxResult updateFchargeDate(Long fId) throws ParseException {
- Date fchargedate = tWarehousebillsitemsMapper.getFchargedate(fId);
- int i = tWarehousebillsitemsMapper.warehouseItemfChargedate(fId, fchargedate);
- if (i>0){
- return AjaxResult.success();
- }else if (i == 0){
- return AjaxResult.error("更新最小仓储费计算日期出错,请找管理员");
- }else {
- return AjaxResult.success();
- }
- }
- }
|