|
@@ -1,17 +1,24 @@
|
|
|
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.AskGoodsMapper;
|
|
|
+import com.tld.mapper.ErrorMapper;
|
|
|
import com.tld.model.AskGoods;
|
|
|
+import com.tld.model.Error;
|
|
|
import com.tld.model.Inventory;
|
|
|
import com.tld.model.ReturRemoval;
|
|
|
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.HttpServletResponse;
|
|
|
import java.text.SimpleDateFormat;
|
|
@@ -26,25 +33,58 @@ public class AskGoodsServiceImpl implements AskGoodsService {
|
|
|
@Autowired
|
|
|
private RedissonClient redissonClient;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ErrorMapper errorMapper;
|
|
|
+
|
|
|
@Override
|
|
|
- public Map<String, Object> addAskGoods(AskGoods askGoods) {
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public Map<String, Object> addAskGoods(List<Map<String,Object>> mapList) {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
try{
|
|
|
- int count = askGoodsMapper.getAskGoods(askGoods);
|
|
|
- if(count != 0){
|
|
|
- askGoodsMapper.updateAskGoodsNum(askGoods);
|
|
|
- } else {
|
|
|
- if(askGoodsMapper.getAskGoodsf(askGoods) == 0){
|
|
|
- askGoodsMapper.addAskGoodsf(askGoods);
|
|
|
+ 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.setUniqueCode(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.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);
|
|
|
}
|
|
|
- askGoodsMapper.addAskGoods(askGoods);
|
|
|
}
|
|
|
- askGoodsMapper.addAskGoodsLog(askGoods);
|
|
|
- map.put("msg", "200");
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ map.put("status", "0000");
|
|
|
+ map.put("msg","成功");
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
- map.put("msg", "500");
|
|
|
- map.put("errMsg", "失败");
|
|
|
+ map.put("status", "0009");
|
|
|
+ map.put("msg", "服务器请求异常,请稍后再试");
|
|
|
}
|
|
|
return map;
|
|
|
}
|
|
@@ -198,19 +238,62 @@ public class AskGoodsServiceImpl implements AskGoodsService {
|
|
|
return map;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 出库回传
|
|
|
+ * @param removalCode
|
|
|
+ */
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public void plugOutRemoval(String removalCode) {
|
|
|
try{
|
|
|
- Map<String, Object> map = askGoodsMapper.plugOutRemoval(removalCode);
|
|
|
- Calendar cal = Calendar.getInstance();
|
|
|
- int year = cal.get(Calendar.YEAR);
|
|
|
- int month = cal.get(Calendar.MONTH) + 1;
|
|
|
- int day = cal.get(Calendar.DATE) ;
|
|
|
- map.put("child", askGoodsMapper.getRemovalz(map.get("askGoodsId").toString()));
|
|
|
- map.put("isNotRed", "0");
|
|
|
- map.put("year", year);
|
|
|
- map.put("month", month);
|
|
|
- map.put("time", year + "-" + month + "-" + day);
|
|
|
+ List<Map<String, Object>> mapList = askGoodsMapper.plugOutRemoval(removalCode);
|
|
|
+ if(mapList.size() >0 ) {
|
|
|
+ JSONObject returnData = new JSONObject();
|
|
|
+
|
|
|
+ JSONObject strJson = new JSONObject();
|
|
|
+ //父表
|
|
|
+ strJson.put("askGoodsId", mapList.get(0).get("askGoodsId").toString());//要货单id
|
|
|
+ strJson.put("removalCode", mapList.get(0).get("removalCode").toString());//出库单编号
|
|
|
+ strJson.put("sourceType", mapList.get(0).get("sourceType").toString());//来源类型
|
|
|
+ strJson.put("moveType", mapList.get(0).get("moveType").toString());//移动类型
|
|
|
+ //子表
|
|
|
+ List<JSONObject> list = new LinkedList<>();
|
|
|
+ for(Map<String,Object> map:askGoodsMapper.getRemovalz(mapList.get(0).get("askGoodsId").toString())) {
|
|
|
+ JSONObject BillItems = new JSONObject();
|
|
|
+ BillItems.put("entryNumber", map.get("entryNumber"));//分录ID
|
|
|
+// BillItems.put("PurOrderID", returnWarehousing.getOrderNumber());//采购单id
|
|
|
+// BillItems.put("PurOrderItemID", returnWarehousing.getEntryNumber());//采购订单明细ID
|
|
|
+ BillItems.put("Material", map.get("materialId"));//物料id
|
|
|
+ BillItems.put("Quantity", map.get("num"));//数量
|
|
|
+ BillItems.put("FlexField1", map.get("wbs"));//wbs
|
|
|
+ BillItems.put("FlexField1Code", " ");//WBS编号
|
|
|
+ BillItems.put("FlexField1Name", " ");//WBS名称
|
|
|
+
|
|
|
+ list.add(BillItems);
|
|
|
+ }
|
|
|
+ strJson.put("BillItems", list);
|
|
|
+ returnData.put("strJson", JSON.toJSONString(strJson));
|
|
|
+ System.out.println(returnData);
|
|
|
+ HttpClientUtil httpClientUtil1 = new HttpClientUtil();
|
|
|
+ Map<String, Object> result = httpClientUtil1.doPost("http://localhost:3339/api/Values", returnData);
|
|
|
+ if (Integer.parseInt(result.get("msg").toString()) != 200) {
|
|
|
+ //如果失败存入报错信息跟数据
|
|
|
+ Error error = new Error()
|
|
|
+ .setErrorInfo(result.get("data").toString())
|
|
|
+ .setUrl("http://localhost:44303/api/Values")
|
|
|
+ .setDataVal(strJson.toJSONString());
|
|
|
+ errorMapper.addError(error);
|
|
|
+ }
|
|
|
+ }
|
|
|
+// Calendar cal = Calendar.getInstance();
|
|
|
+// int year = cal.get(Calendar.YEAR);
|
|
|
+// int month = cal.get(Calendar.MONTH) + 1;
|
|
|
+// int day = cal.get(Calendar.DATE) ;
|
|
|
+// map.put("child", askGoodsMapper.getRemovalz(map.get("askGoodsId").toString()));
|
|
|
+// map.put("isNotRed", "0");
|
|
|
+// map.put("year", year);
|
|
|
+// map.put("month", month);
|
|
|
+// map.put("time", year + "-" + month + "-" + day);
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|