123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593 |
- 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.SysDept;
- import com.ruoyi.common.core.domain.entity.SysDictData;
- import com.ruoyi.common.core.domain.entity.SysUser;
- import com.ruoyi.common.core.domain.entity.TWarehouse;
- 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.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.TCntr;
- import com.ruoyi.shipping.domain.TVoyage;
- import com.ruoyi.shipping.domain.TWarehousebillsCntr;
- import com.ruoyi.shipping.domain.TWarehousebillsCntritems;
- import com.ruoyi.shipping.excel.TWarehousebillsCntritemsExcel;
- import com.ruoyi.shipping.mapper.TCntrMapper;
- import com.ruoyi.shipping.mapper.TVoyageMapper;
- import com.ruoyi.shipping.mapper.TWarehousebillsCntrMapper;
- import com.ruoyi.shipping.mapper.TWarehousebillsCntritemsMapper;
- import com.ruoyi.system.domain.SysCheckCode;
- import com.ruoyi.system.domain.SysConfig;
- import com.ruoyi.system.mapper.SysConfigMapper;
- import com.ruoyi.system.mapper.SysDeptMapper;
- import com.ruoyi.system.mapper.SysDictDataMapper;
- import com.ruoyi.system.mapper.SysUserMapper;
- import com.ruoyi.warehouseBusiness.domain.*;
- import com.ruoyi.warehouseBusiness.excel.*;
- import com.ruoyi.warehouseBusiness.mapper.*;
- import com.ruoyi.warehouseBusiness.service.ITWarehouseBillsService;
- import org.apache.poi.ss.usermodel.*;
- import org.apache.poi.ss.util.CellReference;
- import org.apache.poi.xssf.usermodel.XSSFWorkbook;
- 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 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 TWarehousebillsCntritemsMapper tWarehousebillsCntritemsMapper;
- /**
- * 查询详情主表
- *
- * @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);
- }
- // 查询经营单位
- 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 ("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);
- 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)) {
- wbItem.setfChargedate(warehouseBills.getfChargedate());
- 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.setfMblno(warehouseBills.getfMblno());
- 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);
- }
- }
- 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;
- 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;
- }
- 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());
- if (isApprove) {
- warehouseBills.setfBillstatus(4L);
- } else {
- warehouseBills.setfBillstatus(6L);
- }
- 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());
- if (isApprove) {
- warehouseBills.setfBillstatus(4L);
- } else {
- warehouseBills.setfBillstatus(6L);
- }
- 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");
- 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("当前数据不允许提交");
- }
- 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");
- 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);
- 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);
- }
- /**
- * 提交仓库主表审批
- * @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);
- 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.ruoYiVersionOrderList(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("订单未审核完成,暂不支持维护提单号");
- }
- /*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");
- 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);
- 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);
- 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);
- 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 (!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());
- item.setfChargedate(item.getfBsdate());
- TGoods goods = tGoodsMapper.selectTGoodsById(item.getfGoodsid());
- if ("1".equals(goods.getIfCntrno()) && StringUtils.isNull(item.getfCntrno())) {
- return AjaxResult.error("仓库明细第"+i+"行未找到箱号");
- }
- TWhgenleg tWhgenle = queryTWhgenleg(tWarehouseBills, item, goods.getIfCntrno());
- 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);
- }
- }
- map.put("warehousebills", tWarehouseBills);
- map.put("warehousebillsitems", warehousebillsitemsList);
- return AjaxResult.success("成功", map);
- }
- /**
- * 出库、调拨、货转 确认
- *
- * @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);
- TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(tWarehouseBills.getfId());
- tWarehouseBills.setfQty(itemInFo.getfQty());
- tWarehouseBills.setfNetweight(itemInFo.getfNetweight());
- tWarehouseBills.setfGrossweight(itemInFo.getfGrossweight());
- 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 + "行失败,已处理,请刷新网页");
- }
- 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);
- }
- }
- 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 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);
- }
- /**
- * 仓储费计算提交以及暂存
- *
- * @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("未找到应收款明细无法提交");
- }*/
- 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);
- }
- /**
- * 根据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);
- }
- 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++) {
- 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 + "行数据缺少箱号");
- }
- warehousebillsitems.setfCntrno(cell.getStringCellValue());
- break;
- /*case "铅封号":
- //设置单元格类型
- cell.setCellType(CellType.STRING);
- if (StringUtils.isEmpty(cell.getStringCellValue())) {
- return AjaxResult.error("Excel箱信息数据第" + line + "箱类型");
- }
- companyMsg.setTypeidName(cell.getStringCellValue());
- if (StringUtils.isNotEmpty(cell.getStringCellValue())) {
- Long fId = tCntrMapper.selectRcntrFId(companyMsg.getTypeidName());
- companyMsg.setfTypeid(fId);
- }
- break;
- case "预计件数":
- //设置单元格类型
- cell.setCellType(CellType.STRING);
- if (StringUtils.isEmpty(cell.getStringCellValue())) {
- return AjaxResult.error("Excel箱信息数据第" + line + "行数据缺少最新地点");
- }
- companyMsg.setAddressName((cell.getStringCellValue()));
- break;
- case "预计毛重":
- //设置单元格类型
- cell.setCellType(CellType.STRING);
- if (StringUtils.isEmpty(cell.getStringCellValue())) {
- return AjaxResult.error("Excel箱信息数据第" + line + "行数据缺少货名");
- }
- companyMsg.setOwnerName(cell.getStringCellValue());
- if (StringUtils.isNotEmpty(cell.getStringCellValue())) {
- String fPackageid = sysDictDataMapper.selectDictValue("f_owner", cell.getStringCellValue());
- if (StringUtils.isNotEmpty(fPackageid)) {
- companyMsg.setfOwner(fPackageid);
- }
- }
- break;
- case "预计净重":
- //设置单元格类型
- cell.setCellType(CellType.STRING);
- if (StringUtils.isEmpty(cell.getStringCellValue())) {
- return AjaxResult.error("Excel箱信息数据第" + line + "行数据缺少箱状态");
- }
- companyMsg.setCntrstatusName(cell.getStringCellValue());
- if (StringUtils.isNotEmpty(cell.getStringCellValue())) {
- String setCntrstatusid = sysDictDataMapper.selectDictValue("f_cntrstatus", cell.getStringCellValue());
- if (StringUtils.isNotEmpty(setCntrstatusid)) {
- companyMsg.setfCntrstatus(setCntrstatusid);
- }
- }
- break;*/
- }
- }
- itemList.add(warehousebillsitems);
- }
- } catch (IOException e) {
- return AjaxResult.error("上传文件失败,请检查文件是否损坏");
- }
- return AjaxResult.success("success", itemList);
- }
- /**
- * 撤销入账
- *
- * @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);
- TWarehousebillsitems itemInFo = tWarehousebillsitemsMapper.selectItemQtyByFPid(tWarehousebills.getfId());
- tWarehousebills.setfQty(itemInFo.getfQty());
- tWarehousebills.setfNetweight(itemInFo.getfNetweight());
- tWarehousebills.setfGrossweight(itemInFo.getfGrossweight());
- 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);
- }
- }
- 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";
- }
- 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;
- }
- }
|