123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602 |
- package com.tld.service.impl;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.github.pagehelper.PageHelper;
- import com.github.pagehelper.PageInfo;
- import com.tld.excel.ExcelUtils;
- import com.tld.mapper.*;
- import com.tld.model.*;
- import com.tld.model.Error;
- import com.tld.service.AskGoodsService;
- import com.tld.util.DateUtil;
- import com.tld.util.HttpClientUtil;
- import org.redisson.api.RLock;
- import org.redisson.api.RedissonClient;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.text.SimpleDateFormat;
- import java.util.*;
- @Service
- public class AskGoodsServiceImpl implements AskGoodsService {
- @Autowired
- private AskGoodsMapper askGoodsMapper;
- //redis锁
- @Autowired
- private RedissonClient redissonClient;
- //入库
- @Autowired
- private WarehousingMapper warehousingMapper;
- @Autowired
- private ErrorMapper errorMapper;
- @Autowired
- private DeliveryMapper deliveryMapper;
- @Autowired
- private DictionaryMapper dictionaryMapper;
- @Autowired
- private QueryListMapper queryListMapper;
- /**
- * @Description: 要货申请单(生产领用申请)
- * @Param: mapList
- * @return: Map<String, Object> 成功失败状态
- * @Author: XiaoChen
- * @Date: 2023/4/10
- */
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Map<String, Object> addAskGoods(List<Map<String,Object>> mapList) {
- Map<String, Object> map = new HashMap<>();
- try{
- List<AskGoods> askGoodsList = new LinkedList<AskGoods>();
- for(Map<String,Object> jsonMap:mapList) {
- List<Map<String, Object>> list = (List) jsonMap.get("datalist");
- for (Map<String, Object> element : list) {
- AskGoods ag = new AskGoods();
- //父表
- ag.setAskGoodsId(jsonMap.get("requestOrderId").toString());
- ag.setAskGoodsCode(jsonMap.get("requestOrderNo").toString());
- ag.setCompanyNumber(jsonMap.get("companyNo").toString());
- ag.setSqrq(jsonMap.get("requestDate").toString());//申请日期
- ag.setDepartmentId(jsonMap.get("useDepartment").toString());
- ag.setSourceType(jsonMap.get("sourceType").toString());
- ag.setMoveType(jsonMap.get("moveType").toString());
- ag.setRequestTypeNumber(jsonMap.get("requestTypeNumber").toString());
- ag.setRequestTypeName(jsonMap.get("requestTypeName").toString());
- ag.setIfCommodity(jsonMap.get("ifCommodity").toString());
- //子表
- ag.setType("0");
- ag.setEntryNumber(element.get("entryNumber").toString());
- ag.setProductionCode(element.get("prodOrderNo").toString());
- ag.setMaterialId(element.get("materialId").toString());
- ag.setWbs(element.get("WBS").toString());
- ag.setMeasurementId(element.get("measUnitId").toString());
- ag.setNum(element.get("orderCount").toString());
- askGoodsList.add(ag);
- }
- }
- for(AskGoods askGoods : askGoodsList) {
- // int count = askGoodsMapper.getAskGoods(askGoods);
- // if (count != 0) {
- // askGoodsMapper.updateAskGoodsNum(askGoods);
- // } else {
- if (askGoodsMapper.getAskGoodsf(askGoods) == 0) {
- askGoodsMapper.addAskGoodsf(askGoods);
- }
- askGoodsMapper.addAskGoods(askGoods);
- // }
- askGoodsMapper.addAskGoodsLog(askGoods);
- }
- //新增日志
- Access access = new Access().setType("生产领料信息").setData(JSON.toJSONString(mapList)).setAccessType("0");
- dictionaryMapper.addAccess(access);
- map.put("status", "0000");
- map.put("msg","成功");
- }catch (Exception e){
- e.printStackTrace();
- map.put("status", "0009");
- map.put("msg", "服务器请求异常,请稍后再试");
- }
- return map;
- }
- @Override
- public Map<String, Object> getAskGoodsfList(AskGoods askGoods) {
- Map<String, Object> map = new HashMap<>();
- try{
- List<AskGoods> list = askGoodsMapper.getAskGoodsfList(askGoods);
- map.put("data", list);
- map.put("msg", "200");
- }catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "失败");
- }
- return map;
- }
- @Override
- public Map<String, Object> getAskGoodsMaterial(AskGoods askGoods) {
- Map<String, Object> map = new HashMap<>();
- try{
- List<AskGoods> list = askGoodsMapper.getAskGoodsMaterial(askGoods);
- List<String> scanNum = new LinkedList<>();
- List<String> mapVal = new LinkedList<>();
- for(AskGoods askGoods1 : list){
- askGoods1.setUniqueCode(askGoods.getUniqueCode());
- askGoods1.setWllbCode(askGoods1.getMaterialCode());
- scanNum.add(askGoodsMapper.getScanNum(askGoods1));//扫描总数
- Inventory inventory = new Inventory()
- .setMaterialId(askGoods1.getMaterialId())
- .setWbs(askGoods1.getWbs())
- .setCompanyCode(askGoods1.getCompanyNumber())
- .setGroupBy(askGoods.getGroupBy());
- List<Map<String, Object>> inventorVal = queryListMapper.storageLocation(inventory);
- if(inventorVal.size() != 0) {
- mapVal.add(inventorVal.get(0).get("sum").toString());
- } else {
- mapVal.add("0");
- }
- }
- map.put("scanNum", scanNum);
- map.put("sum", mapVal);
- map.put("data", list);
- map.put("msg", "200");
- }catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "失败");
- }
- return map;
- }
- @Override
- public Map<String, Object> getMaterialCk(AskGoods askGoods) {
- Map<String, Object> map = new HashMap<>();
- try{
- List<Inventory> list = new LinkedList<>();
- for(Inventory inventory : askGoodsMapper.getMaterialCk(askGoods)){
- AskGoods askGoods1 = askGoodsMapper.getAsk(inventory);
- if(askGoods1 != null){
- if(Double.doubleToLongBits(Double.parseDouble(askGoods1.getNum())) != Double.doubleToLongBits(Double.parseDouble(inventory.getAmount())) ){
- list.add(inventory);
- }
- } else {
- list.add(inventory);
- }
- }
- map.put("data", list);
- map.put("msg", "200");
- }catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "失败");
- }
- return map;
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Map<String, Object> addAskGoodsVitrual(AskGoods askGoods) {
- Map<String, Object> map = new HashMap<>();
- //redis并发锁
- RLock lock = redissonClient.getLock(askGoods.getUniqueCode());
- lock.lock();
- try{
- Map<String, Object> mapVal = askGoodsMapper.getScanIsNot(askGoods);
- if(Double.doubleToLongBits(Double.parseDouble(mapVal.get("inventoryNum").toString()) - Double.parseDouble(mapVal.get("virtualNum").toString())) == 0){
- map.put("msg", "500");
- map.put("errMsg", "已全部出库");
- return map;
- }
- Inventory inventory = askGoodsMapper.getInventory(askGoods); //库存数量
- AskGoods askGoods1 = askGoodsMapper.getAsknInfo(askGoods); //要货单数量
- int alreadyNum = askGoodsMapper.getAskInfoNumVitrual(askGoods);//已扫描总数
- int inventoryAlready = askGoodsMapper.getInventoryAlready(askGoods);//库存已扫描数量
- Double inventorySurplus = (Double.parseDouble(inventory.getAmount()) - Double.parseDouble(inventory.getAmountLock())) - inventoryAlready; //库存剩余数量
- Double surplusNum = Double.parseDouble(askGoods1.getNum()) - Double.parseDouble(askGoods1.getOutNum()) - alreadyNum; //剩余要扫描数量
- if(Double.doubleToLongBits(surplusNum) >= Double.doubleToLongBits(inventorySurplus)){
- askGoods.setNum(String.valueOf(inventorySurplus));
- } else {
- askGoods.setNum(String.valueOf(surplusNum));
- }
- askGoods.setStorageLocationCode(inventory.getStorageLocationCode());//库存编号
- askGoodsMapper.addAskGoodsVitrual(askGoods);
- map.put("msg", "200");
- }catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "失败");
- } finally {
- //判断要解锁的key是否已被锁定;判断要解锁的key是否被当前线程持有
- if (lock.isLocked() && lock.isHeldByCurrentThread()) {
- //释放锁
- lock.unlock();
- }
- }
- return map;
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Map<String, Object> OutOfLibrary(String uniqueCode, String type, String askGoodsId) {
- Map<String, Object> map = new HashMap<>();
- //redis并发锁
- RLock lock = redissonClient.getLock(uniqueCode);
- lock.lock();
- try{
- //出库流水
- String removalCode = codeGenerateCk();
- List<AskGoods> list = askGoodsMapper.getVirtualUniqueCode(uniqueCode, type, askGoodsId);
- for(AskGoods askGoods : list){
- askGoods.setStorageCode(removalCode);
- askGoods.setCompanyNumber(askGoods.getAccountSleeve());
- Inventory inventory = askGoodsMapper.getInventory(askGoods);
- if(inventory == null){
- // throw new Exception("库存不存在");
- System.out.println("库存不存在");
- continue;
- }
- //如果出库库存等于虚拟表库存则删除此库存
- if(Double.parseDouble(askGoods.getNum()) == Double.parseDouble(inventory.getAmount())){
- askGoodsMapper.deleteInventory(inventory);
- } else {
- inventory.setAmount(askGoods.getNum());
- askGoodsMapper.updateInventory(inventory);
- }
- String materialId = askGoodsMapper.getMaterialId(askGoods.getWllbCode());//查询物料id
- AskGoods askGoods1 = askGoodsMapper.getAskDetailed(askGoodsId, materialId, askGoods.getEntryNumber());//查询要料申请单内容
- ReturRemoval returRemoval = new ReturRemoval()
- .setMaterialId(materialId)
- .setDocumentId(askGoodsId)
- .setWbs(askGoods1.getWbs())
- .setNum(askGoods.getNum())
- .setEntryNumber(askGoods1.getEntryNumber())
- .setDocumentPointsId(askGoods1.getId())
- .setStorageLocationCode(askGoods.getStorageLocationCode());
- askGoodsMapper.addRemoval(askGoods);//插入出库流水
- askGoodsMapper.deleteVirtual(askGoods.getId());//删除已出虚拟表库存
- askGoodsMapper.addReturnGsRemoval(returRemoval);//新增返回gs数据子表信息
- askGoodsMapper.updateOutNum(askGoods.getNum(), askGoodsId, materialId, askGoods.getEntryNumber());//修改出库数量
- }
- //查询要货单父级信息
- AskGoods askGoods3 = askGoodsMapper.getAskDetailedF(askGoodsId);
- ReturRemoval returRemoval1 = new ReturRemoval()
- .setDocumentId(askGoods3.getAskGoodsId())
- .setRemovalCode(removalCode)
- .setSourceType(askGoods3.getSourceType())
- .setMoveType(askGoods3.getMoveType());
- askGoodsMapper.addReturnGsRemovalF(returRemoval1);//新增返回gs数据父表信息
- map.put("data", askGoods3.getAskGoodsId());
- map.put("msg", "200");
- }catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "失败");
- } finally {
- //判断要解锁的key是否已被锁定;判断要解锁的key是否被当前线程持有
- if (lock.isLocked() && lock.isHeldByCurrentThread()) {
- //释放锁
- lock.unlock();
- }
- }
- return map;
- }
- /**
- * 出库回传
- * @param removalCode 单据id
- */
- @Override
- @Transactional(rollbackFor = Exception.class)
- public void plugOutRemoval(String removalCode, String realName) {
- try{
- for(String warehouseWhere : askGoodsMapper.getWarehouseWhere(removalCode)){
- List<Map<String, Object>> mapList = askGoodsMapper.plugOutRemoval(removalCode);
- if(mapList.size() >0 ) {
- JSONObject strJson = new JSONObject();//4
- //父表
- strJson.put("GIReqBillID", mapList.get(0).get("askGoodsId").toString());//要货单id
- strJson.put("WMSID", mapList.get(0).get("id").toString());//出库单id
- strJson.put("WMSCode", mapList.get(0).get("removalCode").toString());//出库单编号
- strJson.put("WareHouse", warehouseWhere);//仓库ID
- strJson.put("SourceBillDate",DateUtil.dateConversion(mapList.get(0).get("scrq").toString()));//业务日期
- strJson.put("SourceType", mapList.get(0).get("sourceType").toString());//来源类型
- strJson.put("MoveType", mapList.get(0).get("moveType").toString());//移动类型
- strJson.put("IsRed", 0);//是否红单1
- strJson.put("Creator", realName);//制单人姓名1
- //子表
- for (Map<String, Object> map : askGoodsMapper.getRemovalz(mapList.get(0).get("askGoodsId").toString(), warehouseWhere)) {
- List<JSONObject> list = new LinkedList<>();//5
- JSONObject BillItems = new JSONObject();//6
- List<JSONObject> retunList = new LinkedList<>();//3
- JSONObject ReqOutStocks = new JSONObject();//2
- JSONObject returnData = new JSONObject();//1
- BillItems.put("WMSItemID", map.get("id"));//分录ID
- BillItems.put("GIReqBillID", map.get("askGoodsId"));//要货申请单ID
- BillItems.put("GIReqBillItemID", map.get("entryNumber"));//要货申请明细ID
- BillItems.put("Material", map.get("materialId"));//物料id
- BillItems.put("Quantity", map.get("num"));//数量
- BillItems.put("FlexField1", map.get("wbsId"));//wbs
- BillItems.put("FlexField1Code", map.get("wbsCode"));//WBS编号
- BillItems.put("FlexField1Name", map.get("wbsName"));//WBS名称
- list.add(BillItems);//*1 子表信息放在集合中
- strJson.put("BillItems", list);//*2 将子表集合放在父表中
- retunList.add(strJson);//*3 将父子表信息放在集合中
- ReqOutStocks.put("ReqOutStocks",retunList);//*4 将放集合的数据封装到ReqOutStocks
- returnData.put("strJson", JSON.toJSONString(ReqOutStocks));//*5 将封装好的ReqOutStocks放进strJson
- System.out.println("封装好的:"+returnData);
- //回传地址
- String url = "https://erp4.teld.cn:8443/cwbase/sg/V1/ERP/TELD/TELD_WMS/TELD_API_WMS_StockManage/CreateProductiveOutStock";
- // String url = "http://42.159.85.29:52480/cwbase/sg/V1/ERP/TELD/DEVTEST/API_WMS_PurInStock/CreateProductiveOutStock";
- HttpClientUtil httpClientUtil1 = new HttpClientUtil();
- Map<String, Object> result = httpClientUtil1.doPost(url, returnData);
- //如果失败存入错误信息
- Error error = new Error();
- if(Integer.parseInt(result.get("msg").toString()) != 200){
- //如果失败存入报错信息跟数据
- error.setErrorInfo(result.get("data").toString());
- error.setUrl(url);
- error.setDataVal(returnData.toJSONString()).setType("出库回传");
- //修改流水传输状态
- for(Map<String, Object> maps : askGoodsMapper.plugOutRemoval(removalCode)){
- askGoodsMapper.updateRemoval(maps.get("removalCode").toString(), null);
- }
- errorMapper.addError(error);
- }else {
- JSONObject jsonObject = (JSONObject) JSONObject.parse(result.get("data").toString());
- JSONObject jsonObject1 = (JSONObject) JSONObject.parse(jsonObject.get("result").toString());
- if ( jsonObject1.get("State").toString().equals("0") ){
- //如果失败存入报错信息跟数据
- error.setErrorInfo(jsonObject1.get("Msg").toString());
- error.setUrl(url);
- error.setDataVal(returnData.toJSONString()).setType("出库回传");
- errorMapper.addError(error);
- //修改流水传输状态
- for(Map<String, Object> maps : askGoodsMapper.plugOutRemoval(removalCode)){
- askGoodsMapper.updateRemoval(maps.get("removalCode").toString(), null);
- }
- }else {
- List<JSONObject> data1 = (List<JSONObject>) JSONObject.parse(jsonObject1.get("data").toString());
- for (JSONObject map1 : data1) {
- if (map1.get("State").toString().equals("0")){
- for(JSONObject jsonObject2 : retunList){
- if(jsonObject2.get("WMSCode").toString().equals(map1.get("WMSCode")) && jsonObject2.get("WareHouse").toString().equals(map1.get("WareHouse"))){
- //如果失败存入报错信息跟数据
- List<JSONObject> retunList2 = new LinkedList<>();
- retunList2.add(jsonObject2);
- JSONObject ReqOutStocks1 = new JSONObject();
- ReqOutStocks1.put("ReqOutStocks", retunList2);
- JSONObject ReqOutStocks2 = new JSONObject();
- ReqOutStocks2.put("strJson",ReqOutStocks1);
- //如果失败存入报错信息跟数据
- error.setErrorInfo(map1.get("FailReason").toString());
- error.setUrl(url);
- error.setDataVal(ReqOutStocks2.toString()).setType("出库回传");
- errorMapper.addError(error);
- List<JSONObject> list1 = (List<JSONObject>) jsonObject2.get("BillItems");
- for(JSONObject jsonObject3 : list1){
- MaterialClass material = warehousingMapper.getMaterial(new Notice().setMaterialId(jsonObject3.get("Material").toString()));
- askGoodsMapper.updateRemoval(jsonObject2.get("WMSCode").toString(), material.getWllbCode());
- }
- }
- }
- }
- }
- }
- }
- //添加记录到tld_access
- String names = "出库回传" ;
- String accessType = "1" ;
- String returnGsRemoval = returnData.toString() ;
- askGoodsMapper.addAccess(names,returnGsRemoval,accessType);
- }
- }
- }
- //删除父子表信息
- askGoodsMapper.delPlugOutRemoval(removalCode);
- askGoodsMapper.delRemovalz(removalCode);
- }catch (Exception e){
- e.printStackTrace();
- }
- }
- @Override
- public Map<String, Object> getRemoval(AskGoods askGoods) {
- Map<String, Object> map = new HashMap<>();
- try{
- //查询数据
- PageHelper.startPage(askGoods.getPage(), askGoods.getLimit());
- PageInfo<AskGoods> list = new PageInfo<>(askGoodsMapper.getRemoval(askGoods));
- map.put("data", list);
- map.put("msg", "200");
- }catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "失败");
- }
- return map;
- }
- @Override
- public void export(AskGoods askGoods, HttpServletResponse response) {
- try{
- //导出数据汇总
- List<List<Object>> sheetDataList = new ArrayList<>();
- //表头数据
- List<Object> head = Arrays.asList("物料名称", "供应商名称", "连番号", "类型", "出库用户", "领用部门", "库位名称", "出库日期", "出库数量","要货单编号","真实姓名","公司名称");
- //查询数据
- List<Map<String, Object>> list = askGoodsMapper.export(askGoods);
- sheetDataList.add(head);
- for(Map<String, Object> userMap : list){
- List<Object> listSheet = new ArrayList<>();
- for(String key: userMap.keySet()){
- listSheet.add(userMap.get(key));
- }
- sheetDataList.add(listSheet);
- }
- //当前时间
- Date time = new Date();
- SimpleDateFormat sdf = new SimpleDateFormat("yyyyMddHHmmss");
- ExcelUtils.export(response, "出库流水数据导出" + sdf.format(time), sheetDataList);
- }catch (Exception e){
- e.printStackTrace();
- }
- }
- @Override
- public Map<String, Object> getAskGoodsVitrual(String uniqueCode, String type) {
- Map<String, Object> map = new HashMap<>();
- try{
- List<AskGoods> list = askGoodsMapper.getAskGoodsVitrual(uniqueCode, type);
- map.put("data", list);
- map.put("msg", "200");
- }catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "失败");
- }
- return map;
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Map<String, Object> delAskGoodsVitrual(String id, String type) {
- Map<String, Object> map = new HashMap<>();
- try{
- askGoodsMapper.delAskGoodsVitrual(id, type);
- map.put("msg", "200");
- }catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "失败");
- }
- return map;
- }
- @Override
- public Map<String, Object> getGoodsHalf(AskGoods askGoods) {
- Map<String, Object> map = new HashMap<>();
- try{
- //查询数据
- PageHelper.startPage(askGoods.getPage(), askGoods.getLimit());
- PageInfo<AskGoods> list = new PageInfo<>(askGoodsMapper.getGoodsHalf(askGoods));
- for (AskGoods goods : list.getList()) {
- String amount = askGoodsMapper.getAmount(goods);
- goods.setAmount(amount);
- }
- map.put("data", list);
- map.put("msg", "200");
- }catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "失败");
- }
- return map;
- }
- @Override
- public Map<String, Object> getRemovalHalfProduct(AskGoods askGoods) {
- Map<String, Object> map = new HashMap<>();
- try{
- //查询数据
- PageHelper.startPage(askGoods.getPage(), askGoods.getLimit());
- PageInfo<AskGoods> list = new PageInfo<>(askGoodsMapper.getRemovalHalfProduct(askGoods));
- map.put("data", list);
- map.put("msg", "200");
- }catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "失败");
- }
- return map;
- }
- @Override
- public void getRemovalHalfProductExcel(AskGoods askGoods, HttpServletResponse response) {
- try{
- //导出数据汇总
- List<List<Object>> sheetDataList = new ArrayList<>();
- //表头数据
- List<Object> head = Arrays.asList("要货单", "出库编号","物料编号","物料名称", "出库数量", "出库人", "领用部门", "WBS编号", "出库时间","真实姓名","所属公司");
- //查询数据
- List<Map<String, Object>> list = askGoodsMapper.getRemovalHalfProductExcel(askGoods);
- sheetDataList.add(head);
- for(Map<String, Object> userMap : list){
- List<Object> listSheet = new ArrayList<>();
- for(String key: userMap.keySet()){
- listSheet.add(userMap.get(key));
- }
- sheetDataList.add(listSheet);
- }
- //当前时间
- Date time = new Date();
- SimpleDateFormat sdf = new SimpleDateFormat("yyyyMddHHmmss");
- ExcelUtils.export(response, "半成品出库流水数据导出" + sdf.format(time), sheetDataList);
- }catch (Exception e){
- e.printStackTrace();
- }
- }
- @Override
- public Map<String, Object> getRemovalHalf(AskGoods askGoods) {
- Map<String, Object> map = new HashMap<>();
- try{
- //查询数据
- PageHelper.startPage(askGoods.getPage(), askGoods.getLimit());
- PageInfo<AskGoods> list = new PageInfo<>(askGoodsMapper.getRemovalHalf(askGoods));
- map.put("data", list);
- map.put("msg", "200");
- }catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "失败");
- }
- return map;
- }
- @Override
- public void getRemovalHalfExcel(AskGoods askGoods, HttpServletResponse response) {
- try{
- //导出数据汇总
- List<List<Object>> sheetDataList = new ArrayList<>();
- //表头数据
- List<Object> head = Arrays.asList("交货单编号","物料名称", "出库数量", "用户名称", "出库时间", "公司名称", "客户名称", "出库单编号", "WBS","真实姓名");
- //查询数据
- List<Map<String, Object>> list = askGoodsMapper.getRemovalHalfExcel(askGoods);
- sheetDataList.add(head);
- for(Map<String, Object> userMap : list){
- List<Object> listSheet = new ArrayList<>();
- for(String key: userMap.keySet()){
- listSheet.add(userMap.get(key));
- }
- sheetDataList.add(listSheet);
- }
- //当前时间
- Date time = new Date();
- SimpleDateFormat sdf = new SimpleDateFormat("yyyyMddHHmmss");
- ExcelUtils.export(response, "产成品出库流水数据导出" + sdf.format(time), sheetDataList);
- }catch (Exception e){
- e.printStackTrace();
- }
- }
- /**
- * @Description: 其他出库
- * @Param: AskGoods askGoods
- * @return: Map<String, Object> map
- * @Author: XiaoChen
- * @Date: 2023/4/15
- */
- @Override
- public Map<String, Object> otherAskGoods(AskGoods askGoods) {
- Map<String, Object> map = new HashMap<>();
- //redis并发锁
- RLock lock = redissonClient.getLock(askGoods.getWllbCode() + askGoods.getStorageLocationCode());
- lock.lock();
- try{
- //查询物料信息
- MaterialClass material = warehousingMapper.getMaterial(new Notice().setMaterialCode(askGoods.getWllbCode()));
- if(material.getPartType().equals("原材料")){
- if(askGoods.getSerial() == null) {
- map.put("msg", "500");
- map.put("errMsg", "此物料是" + material.getPartType() + "连番号参数不能为空!");
- return map;
- }
- } else if(material.getPartType().equals("产成品")) {
- if(askGoods.getAttribute() == null) {
- map.put("msg", "500");
- map.put("errMsg", "此物料是" + material.getPartType() + "属性参数不能为空!");
- return map;
- }
- } else if(material.getPartType().equals("半成品")) {
- askGoods.setProducDate(null);
- if(askGoods.getStorageLocationCode() == null) {
- map.put("msg", "500");
- map.put("errMsg", "此物料是" + material.getPartType() + "库位参数不能为空!");
- return map;
- }
- }
- askGoods.setMaterialId(material.getTldId());
- //查询库存
- List<Inventory> inventory = askGoodsMapper.getInventoryInfo(askGoods);
- if(inventory.size() == 0){
- map.put("msg", "500");
- map.put("errMsg", "未查询到该库位的库存");
- return map;
- }
- if(Double.parseDouble(inventory.get(0).getAmount()) < Double.parseDouble(askGoods.getNum())){
- map.put("msg", "500");
- map.put("errMsg", "库存数量不足");
- return map;
- }
- //如果出库库存等于虚拟表库存则删除此库存
- if(Double.doubleToLongBits(Double.parseDouble(askGoods.getNum())) == Double.doubleToLongBits(Double.parseDouble(inventory.get(0).getAmount()))){
- askGoodsMapper.deleteInventory(inventory.get(0));
- } else {
- inventory.get(0).setAmount(askGoods.getNum());
- askGoodsMapper.updateInventory(inventory.get(0));
- }
- String removalCode = codeGenerateCk();
- if(material.getPartType().equals("半成品")){
- //新增半成品出库流水
- AskGoods askGoods1 = new AskGoods()
- .setWllbCode(material.getWllbCode())
- .setNum(askGoods.getNum())
- .setUserId(askGoods.getUserId())
- .setAskGoodsId("")
- .setDepartment(askGoods.getDepartment())
- .setWbs(askGoods.getWbs())
- .setStorageCode(removalCode)
- .setStorageLocationCode(askGoods.getStorageLocationCode())
- .setCompanyNumber(askGoods.getAccountSleeve());//新增出库流水
- warehousingMapper.addRemovalHalfProduct(askGoods1);
- } else if(material.getPartType().equals("产成品")){
- //产成品销售流水
- Delivery delivery1 = new Delivery()
- .setMaterialCode(material.getWllbCode()) //物料code
- .setOutNum(askGoods.getNum()) //出库数量
- .setUserId(askGoods.getUserId()) //用户id
- .setDeliveryId("") //销售单id
- .setCompanyNumber(askGoods.getAccountSleeve()) //公司编号
- .setCustomerCode("")//客户编号
- .setWbs(askGoods.getWbs())
- .setStorageCode(removalCode);
- deliveryMapper.addRemovalHalf(delivery1); //流水录入
- } else {
- askGoods.setSupplierId(inventory.get(0).getSupplierId());
- askGoods.setType("其他出库");
- askGoods.setProducDate(inventory.get(0).getProducDate());
- askGoods.setSerial(inventory.get(0).getSerial());
- askGoods.setStorageCode(removalCode);
- askGoods.setWbs(askGoods.getWbs());
- askGoodsMapper.addRemoval(askGoods);//插入出库流水
- }
- //新增返回gs信息
- ReturRemoval returRemoval = new ReturRemoval()
- .setMaterialId(material.getTldId())
- .setWbs(askGoods.getWbs())
- .setNum(askGoods.getNum())
- .setStorageLocationCode(inventory.get(0).getStorageLocationCode())
- .setRemovalCode(removalCode)
- .setSourceType(askGoods.getSourceType())
- .setMoveType(askGoods.getMoveType())
- .setDocumentId(askGoods.getAskGoodsId())
- .setEntryNumber(askGoods.getEntryNumber())
- .setDocumentPointsId(askGoods.getId());
- askGoodsMapper.updateEnquiryOutNum(askGoods); //增加数量
- askGoodsMapper.addReturnGsRemovalF(returRemoval);//新增返回gs数据父表信息
- askGoodsMapper.addReturnGsRemoval(returRemoval);//新增返回gs数据子表信息
- map.put("data", removalCode);
- map.put("msg", "200");
- }catch (Exception e){
- map.put("msg", "500");
- map.put("errMsg", "失败");
- e.printStackTrace();
- } finally {
- //判断要解锁的key是否已被锁定;判断要解锁的key是否被当前线程持有
- if (lock.isLocked() && lock.isHeldByCurrentThread()) {
- //释放锁
- lock.unlock();
- }
- }
- return map;
- }
- @Override
- @Transactional(rollbackFor = Exception.class)
- public Map<String, Object> delAskGoods(String id, HttpServletRequest request) {
- Map<String, Object> map = new HashMap<>();
- try{
- String userId = request.getHeader("userId");
- Map<String, Object> mapVal = askGoodsMapper.getDelAskGoods(id);
- if(Double.parseDouble(mapVal.get("out_num").toString()) > 0){
- map.put("msg", "500");
- map.put("errMsg", "此单据已出库!");
- return map;
- }
- LogData logData = new LogData()
- .setUserId(userId)
- .setData(mapVal.toString())
- .setType("0")
- .setDocumentType("生产领料");
- dictionaryMapper.addLogdata(logData);
- askGoodsMapper.delAskGoods(id);
- map.put("msg","200");
- } catch (Exception e) {
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "服务器请求异常,请稍后再试");
- }
- return map;
- }
- /**
- * 销售发货单接口
- * @return
- */
- @Override
- public void CreateBOLOutStock(String removalCode, String realName) {
- try{
- String documentId = null ;
- for(String warehouseWhere : askGoodsMapper.getWarehouseWheres(removalCode)){
- List<Map<String, Object>> mapList = askGoodsMapper.getGsRemoval(removalCode);
- if(mapList.size() >0 ) {
- JSONObject strJson = new JSONObject();
- //父表
- documentId = mapList.get(0).get("askGoodsId").toString();
- strJson.put("BOLID", mapList.get(0).get("askGoodsId").toString());//要货单id
- strJson.put("WMSID", mapList.get(0).get("id").toString());//出库单id
- strJson.put("WMSCode", mapList.get(0).get("removalCode").toString());//出库单编号
- strJson.put("WareHouse", warehouseWhere);//仓库ID
- strJson.put("SourceBillDate",DateUtil.dateConversion(mapList.get(0).get("scrq").toString()));//业务日期
- strJson.put("SourceType", mapList.get(0).get("sourceType").toString());//来源类型
- strJson.put("MoveType", mapList.get(0).get("moveType").toString());//移动类型
- strJson.put("IsRed", 0);//是否红单1
- strJson.put("Creator", realName);//制单人姓名1
- //子表
- for (Map<String, Object> map : askGoodsMapper.getRemovalz(mapList.get(0).get("askGoodsId").toString(), warehouseWhere)) {
- List<JSONObject> list = new LinkedList<>();
- JSONObject BillItems = new JSONObject();
- List<JSONObject> retunList = new LinkedList<>();
- JSONObject ReqOutStocks = new JSONObject();
- JSONObject returnData = new JSONObject();
- BillItems.put("WMSItemID", map.get("id"));//分录ID
- BillItems.put("BOLID", map.get("askGoodsId"));//要货申请单ID
- BillItems.put("BOLItemID", map.get("entryNumber"));//要货申请明细ID
- BillItems.put("Material", map.get("materialId"));//物料id
- BillItems.put("Quantity", map.get("num"));//数量
- BillItems.put("FlexField1", map.get("wbsId"));//wbs
- BillItems.put("FlexField1Code", map.get("wbsCode"));//WBS编号
- BillItems.put("FlexField1Name", map.get("wbsName"));//WBS名称
- list.add(BillItems);
- strJson.put("BillItems", list);
- retunList.add(strJson);
- ReqOutStocks.put("BILLs",retunList);
- returnData.put("strJson", JSON.toJSONString(ReqOutStocks));
- System.out.println("封装好的:"+returnData);
- //回传地址
- // String url = "http://42.159.85.29:52480/cwbase/sg/V1/ERP/TELD/DEVTEST/API_WMS_PurInStock/CreateBOLOutStock";
- String url = "https://erp4.teld.cn:8443/cwbase/sg/V1/ERP/TELD/TELD_WMS/TELD_API_WMS_StockManage/CreateBOLOutStock";
- HttpClientUtil httpClientUtil1 = new HttpClientUtil();
- Map<String, Object> result = httpClientUtil1.doPost(url, returnData);
- //
- Error error = new Error();
- if(Integer.parseInt(result.get("msg").toString()) != 200){
- //如果失败存入报错信息跟数据
- error.setErrorInfo(result.get("data").toString());
- error.setUrl(url);
- error.setDataVal(returnData.toJSONString()).setType("销售出库");
- errorMapper.addError(error);
- queryListMapper.updateType(removalCode, 1, null);
- }else {
- JSONObject jsonObject = (JSONObject) JSONObject.parse(result.get("data").toString());
- JSONObject jsonObject1 = (JSONObject) JSONObject.parse(jsonObject.get("result").toString());
- if ( jsonObject1.get("State").toString().equals("0") ){
- //如果失败存入报错信息跟数据
- error.setErrorInfo(jsonObject1.get("Msg").toString());
- error.setUrl(url);
- error.setDataVal(returnData.toJSONString()).setType("销售出库");
- errorMapper.addError(error);
- queryListMapper.updateType(removalCode, 1, null);
- }else {
- List<JSONObject> data1 = (List<JSONObject>) JSONObject.parse(jsonObject1.get("data").toString());
- for (JSONObject map1 : data1) {
- if (map1.get("State").toString().equals("0")){
- for(JSONObject jsonObject2 : retunList){
- if(jsonObject2.get("WMSCode").toString().equals(map1.get("WMSCode")) && jsonObject2.get("WareHouse").toString().equals(map1.get("WareHouse"))){
- //如果失败存入报错信息跟数据
- List<JSONObject> retunList2 = new LinkedList<>();
- retunList2.add(jsonObject2);
- JSONObject ReqOutStocks1 = new JSONObject();
- ReqOutStocks1.put("BILLs", retunList2);
- JSONObject ReqOutStocks2 = new JSONObject();
- ReqOutStocks2.put("strJson",ReqOutStocks1);
- //如果失败存入报错信息跟数据
- error.setErrorInfo(map1.get("FailReason").toString());
- error.setUrl(url);
- error.setDataVal(ReqOutStocks2.toString()).setType("销售出库");
- errorMapper.addError(error);
- List<JSONObject> list1 = (List<JSONObject>) jsonObject2.get("BillItems");
- for(JSONObject jsonObject3 : list1){
- MaterialClass material = warehousingMapper.getMaterial(new Notice().setMaterialId(jsonObject3.get("Material").toString()));
- queryListMapper.updateType(jsonObject2.get("WMSCode").toString(), 1, material.getWllbCode());
- }
- }
- }
- }
- }
- }
- }
- //添加记录到tld_access
- String names = "销售发货单" ;
- String accessType = "1" ;
- String returnGsRemoval = returnData.toString() ;
- askGoodsMapper.addAccess(names,returnGsRemoval,accessType);
- }
- }
- }
- //删除父子表信息
- askGoodsMapper.delPlugOutRemoval(documentId);
- askGoodsMapper.delRemovalz(documentId);
- }catch (Exception e){
- e.printStackTrace();
- }
- }
- @Override
- public Map<String, Object> addWarehouseTransferVitrual(AskGoods askGoods) {
- Map<String, Object> map = new HashMap<>();
- //redis并发锁
- RLock lock = redissonClient.getLock(askGoods.getUniqueCode());
- lock.lock();
- try{
- Map<String, Object> mapVal = askGoodsMapper.getScanIsNot(askGoods);
- if((Double.parseDouble(mapVal.get("inventoryNum").toString()) - Double.parseDouble(mapVal.get("virtualNum").toString())) == 0){
- map.put("msg", "500");
- map.put("errMsg", "已全部出库");
- return map;
- }
- Inventory inventory = askGoodsMapper.getInventory(askGoods); //库存数量
- if(inventory == null){
- map.put("msg", "500");
- map.put("errMsg", "暂无库存");
- return map;
- }
- AskGoods askGoods1 = askGoodsMapper.getWareInfo(askGoods); //要货单数量
- int alreadyNum = askGoodsMapper.getAskInfoNumVitrual(askGoods);//已扫描总数
- int inventoryAlready = askGoodsMapper.getInventoryAlready(askGoods);//库存已扫描数量
- Double inventorySurplus = (Double.parseDouble(inventory.getAmount()) - Double.parseDouble(inventory.getAmountLock())) - inventoryAlready; //库存剩余数量
- Double surplusNum = Double.parseDouble(askGoods1.getNum()) - Double.parseDouble(askGoods1.getOutNum()) - alreadyNum; //剩余要扫描数量
- if(Double.doubleToLongBits(surplusNum) >= Double.doubleToLongBits(inventorySurplus)){
- askGoods.setNum(String.valueOf(inventorySurplus));
- } else {
- askGoods.setNum(String.valueOf(surplusNum));
- }
- askGoods.setStorageLocationCode(inventory.getStorageLocationCode());//库存编号
- askGoodsMapper.addAskGoodsVitrual(askGoods);
- map.put("msg", "200");
- }catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "失败");
- }finally {
- //判断要解锁的key是否已被锁定;判断要解锁的key是否被当前线程持有
- if (lock.isLocked() && lock.isHeldByCurrentThread()) {
- //释放锁
- lock.unlock();
- }
- }
- return map;
- }
- /**
- * 移库单接口文档
- */
- @Override
- public void CreateGMReqOutStock(String removalCode, String realName) {
- try {
- //通过code查询id
- String warehouseTransferTd = askGoodsMapper.getSupplyWarehouseWheres(removalCode);
- //根据id查询子表的供货仓库
- for (String warehouseWhere : askGoodsMapper.getSupplyWarehouseWhere(warehouseTransferTd)) {
- //查询父表信息
- List<Map<String, Object>> mapList = askGoodsMapper.getReturnWarehouseTransfer(removalCode);
- if (mapList.size() > 0) {
- JSONObject strJson = new JSONObject();
- //父表
- strJson.put("GMReqBillID", mapList.get(0).get("warehouseTransferId").toString());//移库通知ID
- strJson.put("WMSID", mapList.get(0).get("id").toString());//利道WMS出库单id
- strJson.put("WMSCode", mapList.get(0).get("warehouseTransferCode").toString());//利道WMS出库单编号
- strJson.put("TOWareHouse", mapList.get(0).get("askGoodsWarehouseId").toString());//要货仓库ID
- strJson.put("FromWareHouse", warehouseWhere);//供货仓库ID
- strJson.put("SourceBillDate", DateUtil.dateConversion(mapList.get(0).get("scrq").toString()));//业务日期
- strJson.put("MoveType", mapList.get(0).get("warehouseTransferType").toString());//移动类型
- strJson.put("IsRed", 0);//是否红单1
- strJson.put("Creator", realName);//制单人姓名1
- //子表
- for (Map<String, Object> map : askGoodsMapper.getReturnWarehouseTransferZ(mapList.get(0).get("warehouseTransferId").toString(), warehouseWhere)) {
- List<JSONObject> list = new LinkedList<>();
- JSONObject BillItems = new JSONObject();
- List<JSONObject> retunList = new LinkedList<>();
- JSONObject ReqOutStocks = new JSONObject();
- JSONObject returnData = new JSONObject();
- BillItems.put("WMSItemID", map.get("id"));//分录ID
- BillItems.put("GMReqBillID", map.get("warehouseTransferId"));//移库通知单ID
- BillItems.put("GMReqBillItemID", map.get("entryNumber"));//移库通知明细ID
- BillItems.put("Material", map.get("materialId"));//物料id
- BillItems.put("Quantity", map.get("outNum"));//数量
- BillItems.put("FlexField1", map.get("wbsId"));//wbs
- BillItems.put("FlexField1Code", map.get("wbsCode"));//WBS编号
- BillItems.put("FlexField1Name", map.get("wbsName"));//WBS名称
- list.add(BillItems);
- strJson.put("BillItems", list);
- retunList.add(strJson);
- ReqOutStocks.put("BILLs", retunList);
- returnData.put("strJson", JSON.toJSONString(ReqOutStocks));
- System.out.println("封装好的:"+returnData);
- //
- // String url = "http://42.159.85.29:52480/cwbase/sg/V1/ERP/TELD/DEVTEST/API_WMS_PurInStock/CreateGMReqOutStock";
- String url = "https://erp4.teld.cn:8443/cwbase/sg/V1/ERP/TELD/TELD_WMS/TELD_API_WMS_StockManage/CreateGMReqOutStock";
- HttpClientUtil httpClientUtil1 = new HttpClientUtil();
- Map<String, Object> result = httpClientUtil1.doPost(url, returnData);
- Error error = new Error();
- if (Integer.parseInt(result.get("msg").toString()) != 200) {
- //如果失败存入报错信息跟数据
- error.setErrorInfo(result.get("data").toString());
- error.setUrl(url);
- error.setDataVal(returnData.toJSONString()).setType("移库");
- errorMapper.addError(error);
- } else {
- JSONObject jsonObject = (JSONObject) JSONObject.parse(result.get("data").toString());
- JSONObject jsonObject1 = (JSONObject) JSONObject.parse(jsonObject.get("result").toString());
- if (jsonObject1.get("State").toString().equals("0")) {
- //如果失败存入报错信息跟数据
- error.setErrorInfo(jsonObject1.get("Msg").toString());
- error.setUrl(url);
- error.setDataVal(returnData.toJSONString()).setType("移库");
- errorMapper.addError(error);
- } else {
- List<JSONObject> data1 = (List<JSONObject>) JSONObject.parse(jsonObject1.get("data").toString());
- for (JSONObject map1 : data1) {
- if (map1.get("State").toString().equals("0")) {
- for (JSONObject jsonObject2 : retunList) {
- if (jsonObject2.get("WMSCode").toString().equals(map1.get("WMSCode")) && jsonObject2.get("FromWareHouse").toString().equals(map1.get("FromWareHouse"))) {
- //如果失败存入报错信息跟数据
- List<JSONObject> retunList2 = new LinkedList<>();
- retunList2.add(jsonObject2);
- JSONObject ReqOutStocks1 = new JSONObject();
- ReqOutStocks1.put("BILLs", retunList2);
- JSONObject ReqOutStocks2 = new JSONObject();
- ReqOutStocks2.put("strJson",ReqOutStocks1);
- //如果失败存入报错信息跟数据
- error.setErrorInfo(map1.get("FailReason").toString());
- error.setUrl(url);
- error.setDataVal(ReqOutStocks2.toString()).setType("移库");
- errorMapper.addError(error);
- }
- }
- }
- }
- }
- }
- //添加记录到tld_access
- String names = "移库单";
- String accessType = "1";
- String returnGsRemoval = returnData.toString();
- askGoodsMapper.addAccess(names, returnGsRemoval, accessType);
- }
- }
- }
- //删除父子表信息
- //根据code
- askGoodsMapper.delReturnWarehouseTransfer(removalCode);
- //根据id
- askGoodsMapper.delReturnWarehouseTransferZ(warehouseTransferTd);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- /**
- * @Description: 生产收货接口文档
- * @Param: removalCode 入库单编号
- * @return: void
- * @Author: XiaoChen
- * @Date: 2023/4/7
- */
- @Override
- public void CreateGRReqInStock(String removalCode, String realName) {
- try {
- String orderNumber = null ;
- //通过入库单编号查询入库单信息
- // ReturnWarehousing returnWarehousing = askGoodsMapper.getReturnGsWarehousing(removalCode);
- //根据id查询子表的供货仓库
- for (Map<String,Object> returnWarehousing1 : askGoodsMapper.getStorageLocationWarehouseWhere(removalCode)) {
- orderNumber = returnWarehousing1.get("orderNumber").toString() ;
- //查询父表信息
- List<Map<String, Object>> mapList = askGoodsMapper.getNoticeParent(returnWarehousing1.get("orderNumber").toString());
- if (mapList.size() > 0) {
- JSONObject strJson = new JSONObject();
- //父表
- strJson.put("GRReqBillID", mapList.get(0).get("noticeId").toString());//入库通知单ID
- strJson.put("WMSID", mapList.get(0).get("id").toString());//利道WMS出库单id
- strJson.put("WMSCode", mapList.get(0).get("noticeCode").toString());//利道WMS出库单编号
- strJson.put("WareHouse", returnWarehousing1.get("warehouseWhere"));//仓库ID
- strJson.put("SourceBillDate", DateUtil.dateConversion(mapList.get(0).get("noticeTime").toString()));//业务日期
- strJson.put("SourceType", mapList.get(0).get("sourceType").toString());//来源类型
- strJson.put("MoveType", mapList.get(0).get("moveType").toString());//移动类型
- strJson.put("IsRed", 0);//是否红单1
- strJson.put("Creator", realName);//制单人姓名1
- //子表
- for (Map<String, Object> map : askGoodsMapper.getNoticeSubtabulation(mapList.get(0).get("noticeId").toString())) {
- List<JSONObject> list = new LinkedList<>();
- JSONObject BillItems = new JSONObject();
- List<JSONObject> retunList = new LinkedList<>();
- JSONObject ReqOutStocks = new JSONObject();
- JSONObject returnData = new JSONObject();
- BillItems.put("WMSItemID", map.get("id"));//分录ID
- BillItems.put("GRReqBillID", map.get("noticeId"));//入库通知单ID
- BillItems.put("GRReqBillItemID", map.get("entryNumber"));//入库通知单明细ID
- BillItems.put("Material", map.get("materialId"));//物料id
- BillItems.put("Quantity", map.get("num"));//数量
- BillItems.put("FlexField1", map.get("wbsId"));//wbs
- BillItems.put("FlexField1Code", map.get("wbsCode"));//WBS编号
- BillItems.put("FlexField1Name", map.get("wbsName"));//WBS名称
- list.add(BillItems);
- strJson.put("BillItems", list);
- retunList.add(strJson);
- ReqOutStocks.put("BILLs", retunList);
- returnData.put("strJson", JSON.toJSONString(ReqOutStocks));
- System.out.println("封装好的:"+returnData);
- //回传地址
- // String url = "http://42.159.85.29:52480/cwbase/sg/V1/ERP/TELD/DEVTEST/API_WMS_PurInStock/CreateGRReqInStock";
- String url = "https://erp4.teld.cn:8443/cwbase/sg/V1/ERP/TELD/TELD_WMS/TELD_API_WMS_StockManage/CreateGRReqInStock";
- HttpClientUtil httpClientUtil1 = new HttpClientUtil();
- Map<String, Object> result = httpClientUtil1.doPost(url, returnData);
- Error error = new Error();
- if (Integer.parseInt(result.get("msg").toString()) != 200) {
- //如果失败存入报错信息跟数据
- error.setErrorInfo(result.get("data").toString());
- error.setUrl(url);
- error.setDataVal(returnData.toJSONString()).setType("生产收货");
- errorMapper.addError(error);
- //修改流水传输状态
- for(Map<String, Object> map1 : askGoodsMapper.plugOutRemoval(removalCode)){
- askGoodsMapper.updateRemoval(map1.get("removalCode").toString(), null);
- }
- } else {
- JSONObject jsonObject = (JSONObject) JSONObject.parse(result.get("data").toString());
- JSONObject jsonObject1 = (JSONObject) JSONObject.parse(jsonObject.get("result").toString());
- if (jsonObject1.get("State").toString().equals("0")) {
- //如果失败存入报错信息跟数据
- error.setErrorInfo(jsonObject1.get("Msg").toString());
- error.setUrl(url);
- error.setDataVal(returnData.toJSONString()).setType("生产收货");
- errorMapper.addError(error);
- } else {
- List<JSONObject> data1 = (List<JSONObject>) JSONObject.parse(jsonObject1.get("data").toString());
- for (JSONObject map1 : data1) {
- if (map1.get("State").toString().equals("0")) {
- for (JSONObject jsonObject2 : retunList) {
- if (jsonObject2.get("WMSCode").toString().equals(map1.get("WMSCode")) && jsonObject2.get("WareHouse").toString().equals(map1.get("WareHouse"))) {
- //如果失败存入报错信息跟数据
- List<JSONObject> retunList2 = new LinkedList<>();
- retunList2.add(jsonObject2);
- JSONObject ReqOutStocks1 = new JSONObject();
- ReqOutStocks1.put("BILLs", retunList2);
- JSONObject ReqOutStocks2 = new JSONObject();
- ReqOutStocks2.put("strJson",ReqOutStocks1);
- error.setErrorInfo(map1.get("FailReason").toString());
- error.setUrl(url);
- error.setDataVal(ReqOutStocks2.toJSONString()).setType("生产收货");
- errorMapper.addError(error);
- }
- }
- }
- }
- }
- }
- //添加记录到tld_access
- String names = "生产收货";
- String accessType = "1";
- String returnGsRemoval = returnData.toString();
- askGoodsMapper.addAccess(names, returnGsRemoval, accessType);
- }
- }
- }
- //删除虚拟表
- askGoodsMapper.delReturnGsWarehousing(orderNumber);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- /**
- * @Description: 其他收货接口文档/其它入库
- * @Param: removalCode
- * @return: void
- * @Author: XiaoChen
- * @Date: 2023/4/12
- */
- @Override
- public void CreateOtherInStock(String removalCode, String realName) {
- try {
- LinkedList<String> noticeIds = new LinkedList<>();
- //通过入库单编号查询通知单ID
- // List<ReturnWarehousing> returnWarehousing = askGoodsMapper.getReturnGsOtherWarehousing(removalCode);
- //根据id查询子表的供货仓库
- for (Map<String,Object> returnWarehousing1 : askGoodsMapper.getCreateOtherInStockWarehouseWhere(removalCode)) {
- JSONObject strJson = new JSONObject();
- //父表
- strJson.put("GRReqBillID", returnWarehousing1.get("noticeId").toString());//入库通知单ID
- strJson.put("WMSID", returnWarehousing1.get("wmsId").toString());//利道WMS出库单id
- strJson.put("WMSCode", returnWarehousing1.get("noticeCode").toString());//利道WMS出库单编号
- strJson.put("WareHouse", returnWarehousing1.get("warehouseWhere"));//仓库ID
- strJson.put("SourceBillDate", DateUtil.dateConversion(returnWarehousing1.get("noticeTime").toString()));//业务日期
- strJson.put("SourceType", returnWarehousing1.get("sourceType").toString());//来源类型
- strJson.put("MoveType", returnWarehousing1.get("moveType").toString());//移动类型
- strJson.put("IsRed", 0);//是否红单1
- strJson.put("Creator", realName);//制单人姓名1
- //查询信息
- List<Map<String, Object>> mapList = askGoodsMapper.getNoticesParent(removalCode,returnWarehousing1.get("storageLocationCode").toString());
- if (mapList.size() > 0) {
- for (Map<String, Object> map : mapList) {
- //子表
- List<JSONObject> list = new LinkedList<>();
- JSONObject BillItems = new JSONObject();
- List<JSONObject> retunList = new LinkedList<>();
- JSONObject ReqOutStocks = new JSONObject();
- JSONObject returnData = new JSONObject();
- BillItems.put("WMSItemID", map.get("wmsItemId"));//分录ID
- BillItems.put("GRReqBillID", map.get("noticeId"));//入库通知单ID
- BillItems.put("GRReqBillItemID", map.get("entryNumber"));//入库通知单明细ID
- BillItems.put("Material", map.get("materialId"));//物料id
- BillItems.put("Quantity", map.get("amount"));//数量
- BillItems.put("FlexField1", map.get("wbsId"));//wbs
- BillItems.put("FlexField1Code", map.get("wbsCode"));//WBS编号
- BillItems.put("FlexField1Name", map.get("wbsName"));//WBS名称
- list.add(BillItems);
- strJson.put("BillItems", list);
- retunList.add(strJson);
- ReqOutStocks.put("BILLs", retunList);
- returnData.put("strJson", JSON.toJSONString(ReqOutStocks));
- System.out.println("封装好的:"+returnData);
- // String url = "http://42.159.85.29:52480/cwbase/sg/V1/ERP/TELD/DEVTEST/API_WMS_PurInStock/CreateOtherInStock";
- String url = "https://erp4.teld.cn:8443/cwbase/sg/V1/ERP/TELD/TELD_WMS/TELD_API_WMS_StockManage/CreateOtherInStock";
- HttpClientUtil httpClientUtil1 = new HttpClientUtil();
- Map<String, Object> result = httpClientUtil1.doPost(url, returnData);
- System.out.println("result:" + result);
- Error error = new Error();
- if (Integer.parseInt(result.get("msg").toString()) != 200) {
- //如果失败存入报错信息跟数据
- error.setErrorInfo(result.get("data").toString());
- error.setUrl(url);
- error.setDataVal(returnData.toJSONString()).setType("其它入库");
- errorMapper.addError(error);
- } else {
- JSONObject jsonObject = (JSONObject) JSONObject.parse(result.get("data").toString());
- JSONObject jsonObject1 = (JSONObject) JSONObject.parse(jsonObject.get("result").toString());
- if (jsonObject1.get("State").toString().equals("0")) {
- //如果失败存入报错信息跟数据
- error.setErrorInfo(jsonObject1.get("Msg").toString());
- error.setUrl(url);
- error.setDataVal(returnData.toJSONString()).setType("其它入库");
- errorMapper.addError(error);
- } else {
- List<JSONObject> data1 = (List<JSONObject>) JSONObject.parse(jsonObject1.get("data").toString());
- for (JSONObject map1 : data1) {
- if (map1.get("State").toString().equals("0")) {
- for (JSONObject jsonObject2 : retunList) {
- if (jsonObject2.get("WMSCode").toString().equals(map1.get("WMSCode")) && jsonObject2.get("WareHouse").toString().equals(map1.get("WareHouse"))) {
- //如果失败存入报错信息跟数据
- List<JSONObject> retunList2 = new LinkedList<>();
- retunList2.add(jsonObject2);
- JSONObject ReqOutStocks1 = new JSONObject();
- ReqOutStocks1.put("BILLs", retunList2);
- JSONObject ReqOutStocks2 = new JSONObject();
- ReqOutStocks2.put("strJson",ReqOutStocks1);
- //如果失败存入报错信息跟数据
- error.setErrorInfo(map1.get("FailReason").toString());
- error.setUrl(url);
- error.setDataVal(ReqOutStocks2.toString()).setType("其它入库");
- errorMapper.addError(error);
- }
- }
- }
- }
- }
- }
- //添加记录到tld_access
- String names = "其它入库";
- String accessType = "1";
- String returnGsRemoval = returnData.toString();
- askGoodsMapper.addAccess(names, returnGsRemoval, accessType);
- }
- }
- noticeIds.add(returnWarehousing1.get("noticeId").toString());
- }
- askGoodsMapper.delNoticesParent(removalCode);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- /**
- * @Description: 其他发货补领料/其他出货接口文档/其它出库
- * @Param: removalCode 单据id
- * @return: void
- * @Author: XiaoChen
- * @Date: 2023/4/13
- */
- @Override
- public void CreateOtherDeliveryMaterials(String removalCode, String realName) {
- try {
- String documentId = null ;
- //通过出库单编号查询单据ID
- List<Map<String,Object>> lists = askGoodsMapper.getCreateOtherDeliveryMaterialsWarehouseWhere(removalCode);
- //根据id查询子表的供货仓库
- //根据仓库
- for (Map<String, Object> maps : lists) {
- List<Map<String, Object>> mapList = askGoodsMapper.getGsRemovals(removalCode);
- if(mapList.size() >0 ) {
- JSONObject strJson = new JSONObject();
- //父表
- documentId = mapList.get(0).get("askGoodsId").toString();
- strJson.put("GIReqBillID", mapList.get(0).get("askGoodsId").toString());//要货单id
- strJson.put("WMSID", mapList.get(0).get("id").toString());//出库单id
- strJson.put("WMSCode", mapList.get(0).get("removalCode").toString());//出库单编号
- strJson.put("WareHouse", maps.get("warehouseWhere"));//仓库ID
- strJson.put("SourceBillDate",DateUtil.dateConversion(mapList.get(0).get("scrq").toString()));//业务日期
- strJson.put("SourceType", mapList.get(0).get("sourceType").toString());//来源类型
- strJson.put("MoveType", mapList.get(0).get("moveType").toString());//移动类型
- strJson.put("IsRed", 0);//是否红单1
- strJson.put("Creator", realName);//制单人姓名1
- //子表
- for (Map<String, Object> map : askGoodsMapper.getRemovalz(mapList.get(0).get("askGoodsId").toString(),maps.get("warehouseWhere").toString())) {
- List<JSONObject> list = new LinkedList<>();
- JSONObject BillItems = new JSONObject();
- List<JSONObject> retunList = new LinkedList<>();
- JSONObject ReqOutStocks = new JSONObject();
- JSONObject returnData = new JSONObject();
- BillItems.put("WMSItemID", map.get("askId"));//分录ID
- BillItems.put("GIReqBillID", map.get("askGoodsId"));//要货申请单ID
- BillItems.put("GIReqBillItemID", map.get("entryNumber"));//要货申请明细ID
- BillItems.put("Material", map.get("materialId"));//物料id
- BillItems.put("Quantity", map.get("num"));//数量
- BillItems.put("FlexField1", map.get("wbsId"));//wbs
- BillItems.put("FlexField1Code", map.get("wbsCode"));//WBS编号
- BillItems.put("FlexField1Name", map.get("wbsName"));//WBS名称
- list.add(BillItems);
- strJson.put("BillItems", list);
- retunList.add(strJson);
- ReqOutStocks.put("ReqOutStocks", retunList);
- returnData.put("strJson", JSON.toJSONString(ReqOutStocks));
- System.out.println("封装好的:"+returnData);
- // String url = "http://42.159.85.29:52480/cwbase/sg/V1/ERP/TELD/DEVTEST/API_WMS_PurInStock/CreateMakeUpOtherOutStock";
- String url = "https://erp4.teld.cn:8443/cwbase/sg/V1/ERP/TELD/TELD_WMS/TELD_API_WMS_StockManage/CreateMakeUpOtherOutStock";
- HttpClientUtil httpClientUtil1 = new HttpClientUtil();
- Map<String, Object> result = httpClientUtil1.doPost(url, returnData);
- System.out.println("result:" + result);
- Error error = new Error();
- if (Integer.parseInt(result.get("msg").toString()) != 200) {
- //如果失败存入报错信息跟数据
- error.setErrorInfo(result.get("data").toString());
- error.setUrl(url);
- error.setDataVal(returnData.toJSONString()).setType("其它出库");
- errorMapper.addError(error);
- } else {
- JSONObject jsonObject = (JSONObject) JSONObject.parse(result.get("data").toString());
- JSONObject jsonObject1 = (JSONObject) JSONObject.parse(jsonObject.get("result").toString());
- if (jsonObject1.get("State").toString().equals("0")) {
- //如果失败存入报错信息跟数据
- error.setErrorInfo(jsonObject1.get("Msg").toString());
- error.setUrl(url);
- error.setDataVal(returnData.toJSONString()).setType("其它出库");
- errorMapper.addError(error);
- } else {
- List<JSONObject> data1 = (List<JSONObject>) JSONObject.parse(jsonObject1.get("data").toString());
- for (JSONObject map1 : data1) {
- if (map1.get("State").toString().equals("0")) {
- for (JSONObject jsonObject2 : retunList) {
- if (jsonObject2.get("WMSCode").toString().equals(map1.get("WMSCode")) && jsonObject2.get("WareHouse").toString().equals(map1.get("WareHouse"))) {
- //如果失败存入报错信息跟数据
- List<JSONObject> retunList2 = new LinkedList<>();
- retunList2.add(jsonObject2);
- JSONObject ReqOutStocks1 = new JSONObject();
- ReqOutStocks1.put("ReqOutStocks", retunList2);
- JSONObject ReqOutStocks2 = new JSONObject();
- ReqOutStocks2.put("strJson",ReqOutStocks1);
- //如果失败存入报错信息跟数据
- error.setErrorInfo(map1.get("FailReason").toString());
- error.setUrl(url);
- error.setDataVal(ReqOutStocks2.toString()).setType("其它出库");
- errorMapper.addError(error);
- }
- }
- }
- }
- }
- }
- //添加记录到tld_access
- String names = "其它出库";
- String accessType = "1";
- String returnGsRemoval = returnData.toString();
- askGoodsMapper.addAccess(names, returnGsRemoval, accessType);
- }
- }
- }
- //删除父子表信息
- askGoodsMapper.delPlugOutRemoval(documentId);
- askGoodsMapper.delRemovalz(documentId);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- /**
- * @Description: 其他发货(参照要货申请制单(其他发货通知_青岛工厂))接口文档
- * @Param: removalCode
- * @return: void
- * @Author: XiaoChen
- * @Date: 2023/4/14
- */
- @Override
- public void CreateOtherDeliveryMaterial(String removalCode, String realName) {
- try {
- String documentId = null ;
- //通过出库单编号查询单据ID
- List<Map<String,Object>> lists = askGoodsMapper.getCreateOtherDeliveryMaterialsWarehouseWhere(removalCode);
- //根据id查询子表的供货仓库
- //根据仓库循环
- for (Map<String, Object> maps : lists) {
- List<Map<String, Object>> mapList = askGoodsMapper.getGsRemovals(removalCode);
- if(mapList.size() >0 ) {
- JSONObject strJson = new JSONObject();
- //父表
- documentId = mapList.get(0).get("askGoodsId").toString();
- strJson.put("GIReqBillID", mapList.get(0).get("askGoodsId").toString());//要货单id
- strJson.put("WMSID", mapList.get(0).get("id").toString());//出库单id
- strJson.put("WMSCode", mapList.get(0).get("removalCode").toString());//出库单编号
- strJson.put("WareHouse", maps.get("warehouseWhere"));//仓库ID
- strJson.put("SourceBillDate",DateUtil.dateConversion(mapList.get(0).get("scrq").toString()));//业务日期
- strJson.put("SourceType", mapList.get(0).get("sourceType").toString());//来源类型
- strJson.put("MoveType", mapList.get(0).get("moveType").toString());//移动类型
- strJson.put("IsRed", 0);//是否红单1
- strJson.put("Creator", realName);//制单人姓名1
- //子表
- for (Map<String, Object> map : askGoodsMapper.getRemovalz(mapList.get(0).get("askGoodsId").toString(),maps.get("warehouseWhere").toString())) {
- List<JSONObject> list = new LinkedList<>();
- JSONObject BillItems = new JSONObject();
- List<JSONObject> retunList = new LinkedList<>();
- JSONObject ReqOutStocks = new JSONObject();
- JSONObject returnData = new JSONObject();
- BillItems.put("WMSItemID", map.get("askId"));//分录ID
- BillItems.put("GIReqBillID", map.get("askGoodsId"));//要货申请单ID
- BillItems.put("GIReqBillItemID", map.get("entryNumber"));//要货申请明细ID
- BillItems.put("Material", map.get("materialId"));//物料id
- BillItems.put("Quantity", map.get("num"));//数量
- BillItems.put("FlexField1", map.get("wbsId"));//wbs
- BillItems.put("FlexField1Code", map.get("wbsCode"));//WBS编号
- BillItems.put("FlexField1Name", map.get("wbsName"));//WBS名称
- list.add(BillItems);
- strJson.put("BillItems", list);
- retunList.add(strJson);
- ReqOutStocks.put("ReqOutStocks", retunList);
- returnData.put("strJson", JSON.toJSONString(ReqOutStocks));
- System.out.println("封装好的:"+returnData);
- HttpClientUtil httpClientUtil1 = new HttpClientUtil();
- // String url = "http://42.159.85.29:52480/cwbase/sg/V1/ERP/TELD/DEVTEST/API_WMS_PurInStock/CreateOtherOutStock";
- String url = "https://erp4.teld.cn:8443/cwbase/sg/V1/ERP/TELD/TELD_WMS/TELD_API_WMS_StockManage/CreateOtherOutStock";
- Map<String, Object> result = httpClientUtil1.doPost(url, returnData);
- System.out.println("result:" + result);
- Error error = new Error();
- if (Integer.parseInt(result.get("msg").toString()) != 200) {
- //如果失败存入报错信息跟数据
- error.setErrorInfo(result.get("data").toString());
- error.setUrl(url);
- error.setDataVal(returnData.toJSONString()).setType("其它出库");
- errorMapper.addError(error);
- } else {
- JSONObject jsonObject = (JSONObject) JSONObject.parse(result.get("data").toString());
- JSONObject jsonObject1 = (JSONObject) JSONObject.parse(jsonObject.get("result").toString());
- if (jsonObject1.get("State").toString().equals("0")) {
- //如果失败存入报错信息跟数据
- error.setErrorInfo(jsonObject1.get("Msg").toString());
- error.setUrl(url);
- error.setDataVal(returnData.toJSONString()).setType("其它出库");
- errorMapper.addError(error);
- } else {
- List<JSONObject> data1 = (List<JSONObject>) JSONObject.parse(jsonObject1.get("data").toString());
- for (JSONObject map1 : data1) {
- if (map1.get("State").toString().equals("0")) {
- for (JSONObject jsonObject2 : retunList) {
- if (jsonObject2.get("WMSCode").toString().equals(map1.get("WMSCode")) && jsonObject2.get("WareHouse").toString().equals(map1.get("WareHouse"))) {
- //如果失败存入报错信息跟数据
- List<JSONObject> retunList2 = new LinkedList<>();
- retunList2.add(jsonObject2);
- JSONObject ReqOutStocks1 = new JSONObject();
- ReqOutStocks1.put("ReqOutStocks", retunList2);
- JSONObject ReqOutStocks2 = new JSONObject();
- ReqOutStocks2.put("strJson",ReqOutStocks1);
- //如果失败存入报错信息跟数据
- error.setErrorInfo(map1.get("FailReason").toString());
- error.setUrl(url);
- error.setDataVal(ReqOutStocks2.toString()).setType("其它出库");
- errorMapper.addError(error);
- }
- }
- }
- }
- }
- }
- //添加记录到tld_access
- String names = "其它出库";
- String accessType = "1";
- String returnGsRemoval = returnData.toString();
- askGoodsMapper.addAccess(names, returnGsRemoval, accessType);
- }
- }
- }
- //删除父子表信息
- askGoodsMapper.delPlugOutRemoval(documentId);
- askGoodsMapper.delRemovalz(documentId);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- /**
- * 产成品出库流水修改连翻号
- * @param askGoods 参数
- * @return 返回结果
- */
- @Override
- public Map<String, Object> getRemovalHalfUpdSerial(AskGoods askGoods) {
- Map<String, Object> map = new HashMap<>();
- try{
- askGoodsMapper.UpdSerial(askGoods);
- map.put("msg", "200");
- }catch (Exception e){
- e.printStackTrace();
- map.put("msg", "500");
- map.put("errMsg", "失败");
- }
- return map;
- }
- @Override
- public void test() {
- AskGoods askGoods = new AskGoods();
- List<AskGoods> list = askGoodsMapper.getAskGoodsMaterial(askGoods);
- for(AskGoods askGoods1 : list) {
- Inventory inventory = new Inventory()
- .setMaterialId(askGoods1.getMaterialId())
- .setCompanyCode(askGoods1.getCompanyNumber())
- .setAmount(askGoods1.getNum())
- .setWbs(askGoods1.getWbs());
- List<Map<String, Object>> list1 = queryListMapper.storageLocationNum(inventory);
- if(list1.size() == 0){
- continue;
- }
- String aaa = "8130";
- String bbb = "000000";
- if(askGoods1.getCompanyNumber().equals("8400")){
- aaa = "8400";
- bbb = "100000";
- }
- AskGoods askGoods2 = new AskGoods().setUniqueCode("1111")
- .setSupplierId("EC13437")
- .setSerial(bbb)
- .setWllbCode(list1.get(0).get("code").toString())
- .setProducDate("20230425")
- .setAskGoodsId(askGoods1.getAskGoodsId())
- .setType("计划出库")
- .setStorageLocationCode(list1.get(0).get("storageLocationCode").toString())
- .setNum(askGoods1.getNum())
- .setUserId("27")
- .setDepartment("000300020001")
- .setCompanyNumber(askGoods1.getCompanyNumber())
- .setWbs(askGoods1.getWbs())
- .setEntryNumber(askGoods1.getEntryNumber());
- askGoodsMapper.addAskGoodsVitrual(askGoods2);
- }
- }
- @Override
- public void testTwo() {
- List<Map<String, Object>> list1 = queryListMapper.getTestTwo();
- for(Map<String, Object> map : list1){
- Map<String, Object> map1 = OutOfLibrary("1111", "计划出库", map.get("ask_goods_id").toString());
- plugOutRemoval(map1.get("data").toString(), "王孝苗");
- }
- }
- /**
- * 出库单生成
- * @return
- */
- public String codeGenerateCk(){
- StringBuilder stringBuilder = new StringBuilder("YHCK");
- Date date = new Date();
- SimpleDateFormat sdf = new SimpleDateFormat("yyMMdd");
- stringBuilder.append(sdf.format(date));
- int count = askGoodsMapper.getReturnRemovalCount();
- for(int i = 0; i < 4 - (count + "").length(); i++){
- stringBuilder.append("0");
- }
- return (stringBuilder.append(count + 1)).toString();
- }
- }
|