|
@@ -2,9 +2,10 @@ package com.jsh.erp.controller;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.jsh.erp.base.AjaxResult;
|
|
|
import com.jsh.erp.base.BaseController;
|
|
|
import com.jsh.erp.base.TableDataInfo;
|
|
|
-import com.jsh.erp.datasource.dto.MaterialDto;
|
|
|
+import com.jsh.erp.datasource.dto.MaterialDTO;
|
|
|
import com.jsh.erp.datasource.entities.*;
|
|
|
import com.jsh.erp.datasource.vo.TaskStocktakingItemVO;
|
|
|
import com.jsh.erp.service.*;
|
|
@@ -56,16 +57,18 @@ public class MaterialController extends BaseController {
|
|
|
@Resource
|
|
|
private MaterialBatchService materialBatchService;
|
|
|
|
|
|
- @Value(value="${file.uploadType}")
|
|
|
+ @Resource
|
|
|
+ private MaterialUnitService materialUnitService;
|
|
|
+
|
|
|
+ @Value(value = "${file.uploadType}")
|
|
|
private Long fileUploadType;
|
|
|
|
|
|
@GetMapping(value = "/info")
|
|
|
@ApiOperation(value = "根据id获取信息")
|
|
|
- public String getList(@RequestParam("id") Long id,
|
|
|
- HttpServletRequest request) throws Exception {
|
|
|
+ public String getList(@RequestParam("id") Long id) throws Exception {
|
|
|
Material material = materialService.getMaterial(id);
|
|
|
Map<String, Object> objectMap = new HashMap<>();
|
|
|
- if(material != null) {
|
|
|
+ if (material != null) {
|
|
|
objectMap.put("info", material);
|
|
|
return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code);
|
|
|
} else {
|
|
@@ -73,50 +76,46 @@ public class MaterialController extends BaseController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ //商品信息 - 列表
|
|
|
@GetMapping(value = "/list")
|
|
|
@ApiOperation(value = "获取信息列表")
|
|
|
- public TableDataInfo getList(@RequestParam(value = Constants.SEARCH, required = false) String search)throws Exception {
|
|
|
+ public TableDataInfo getList(@RequestParam(value = Constants.SEARCH, required = false) String search) {
|
|
|
String categoryId = StringUtil.getInfo(search, "categoryId");
|
|
|
String materialParam = StringUtil.getInfo(search, "materialParam");
|
|
|
String standard = StringUtil.getInfo(search, "standard");
|
|
|
String model = StringUtil.getInfo(search, "model");
|
|
|
String color = StringUtil.getInfo(search, "color");
|
|
|
String brand = StringUtil.getInfo(search, "brand");
|
|
|
- String mfrs = StringUtil.getInfo(search, "mfrs");
|
|
|
String materialOther = StringUtil.getInfo(search, "materialOther");
|
|
|
String weight = StringUtil.getInfo(search, "weight");
|
|
|
String expiryNum = StringUtil.getInfo(search, "expiryNum");
|
|
|
String enableSerialNumber = StringUtil.getInfo(search, "enableSerialNumber");
|
|
|
- String enableBatchNumber = StringUtil.getInfo(search, "enableBatchNumber");
|
|
|
- String position = StringUtil.getInfo(search, "position");
|
|
|
String enabled = StringUtil.getInfo(search, "enabled");
|
|
|
String remark = StringUtil.getInfo(search, "remark");
|
|
|
String mpList = StringUtil.getInfo(search, "mpList");
|
|
|
String reminder = StringUtil.getInfo(search, "reminder");
|
|
|
- List<MaterialVo4Unit> list = materialService.select(materialParam, standard, model, color, brand, mfrs, materialOther, weight, expiryNum,
|
|
|
- enableSerialNumber, enableBatchNumber, position, enabled, remark, categoryId, mpList, reminder);
|
|
|
+ List<MaterialVo4Unit> list = materialService.select(materialParam, standard, model, color, brand, materialOther, weight, expiryNum,
|
|
|
+ enableSerialNumber, enabled, remark, categoryId, mpList, reminder);
|
|
|
return getDataTable(list);
|
|
|
}
|
|
|
|
|
|
@PostMapping(value = "/add")
|
|
|
@ApiOperation(value = "新增")
|
|
|
- public String addResource(@RequestBody MaterialDto obj, HttpServletRequest request)throws Exception {
|
|
|
- Map<String, Object> objectMap = new HashMap<>();
|
|
|
- int insert = materialService.insertMaterial(obj, request);
|
|
|
- return returnStr(objectMap, insert);
|
|
|
+ public AjaxResult addResource(@RequestBody MaterialDTO materialDTO, HttpServletRequest request) throws Exception {
|
|
|
+ materialService.insertMaterial(materialDTO, request);
|
|
|
+ return AjaxResult.success();
|
|
|
}
|
|
|
|
|
|
@PutMapping(value = "/update")
|
|
|
@ApiOperation(value = "修改")
|
|
|
- public String updateResource(@RequestBody MaterialDto obj, HttpServletRequest request)throws Exception {
|
|
|
- Map<String, Object> objectMap = new HashMap<>();
|
|
|
- int update = materialService.updateMaterial(obj, request);
|
|
|
- return returnStr(objectMap, update);
|
|
|
+ public AjaxResult updateResource(@RequestBody MaterialDTO materialDTO, HttpServletRequest request) throws Exception {
|
|
|
+ materialService.updateMaterial(materialDTO, request);
|
|
|
+ return AjaxResult.success();
|
|
|
}
|
|
|
|
|
|
@DeleteMapping(value = "/delete")
|
|
|
@ApiOperation(value = "删除")
|
|
|
- public String deleteResource(@RequestParam("id") Long id, HttpServletRequest request)throws Exception {
|
|
|
+ public String deleteResource(@RequestParam("id") Long id, HttpServletRequest request) throws Exception {
|
|
|
Map<String, Object> objectMap = new HashMap<>();
|
|
|
int delete = materialService.deleteMaterial(id, request);
|
|
|
return returnStr(objectMap, delete);
|
|
@@ -124,7 +123,7 @@ public class MaterialController extends BaseController {
|
|
|
|
|
|
@DeleteMapping(value = "/deleteBatch")
|
|
|
@ApiOperation(value = "批量删除")
|
|
|
- public String batchDeleteResource(@RequestParam("ids") String ids, HttpServletRequest request)throws Exception {
|
|
|
+ public String batchDeleteResource(@RequestParam("ids") String ids, HttpServletRequest request) throws Exception {
|
|
|
Map<String, Object> objectMap = new HashMap<>();
|
|
|
int delete = materialService.batchDeleteMaterial(ids, request);
|
|
|
return returnStr(objectMap, delete);
|
|
@@ -132,11 +131,11 @@ public class MaterialController extends BaseController {
|
|
|
|
|
|
@GetMapping(value = "/checkIsNameExist")
|
|
|
@ApiOperation(value = "检查名称是否存在")
|
|
|
- public String checkIsNameExist(@RequestParam Long id, @RequestParam(value ="name", required = false) String name,
|
|
|
- HttpServletRequest request)throws Exception {
|
|
|
+ public String checkIsNameExist(@RequestParam Long id, @RequestParam(value = "name", required = false) String name,
|
|
|
+ HttpServletRequest request) throws Exception {
|
|
|
Map<String, Object> objectMap = new HashMap<>();
|
|
|
int exist = materialService.checkIsNameExist(id, name);
|
|
|
- if(exist > 0) {
|
|
|
+ if (exist > 0) {
|
|
|
objectMap.put("status", true);
|
|
|
} else {
|
|
|
objectMap.put("status", false);
|
|
@@ -146,6 +145,7 @@ public class MaterialController extends BaseController {
|
|
|
|
|
|
/**
|
|
|
* 检查商品是否存在
|
|
|
+ *
|
|
|
* @param id
|
|
|
* @param name
|
|
|
* @param model
|
|
@@ -167,13 +167,13 @@ public class MaterialController extends BaseController {
|
|
|
@RequestParam("model") String model, @RequestParam("color") String color,
|
|
|
@RequestParam("standard") String standard, @RequestParam("mfrs") String mfrs,
|
|
|
@RequestParam("otherField1") String otherField1, @RequestParam("otherField2") String otherField2,
|
|
|
- @RequestParam("otherField3") String otherField3, @RequestParam("unit") String unit,@RequestParam("unitId") Long unitId,
|
|
|
- HttpServletRequest request)throws Exception {
|
|
|
+ @RequestParam("otherField3") String otherField3, @RequestParam("unit") String unit, @RequestParam("unitId") Long unitId,
|
|
|
+ HttpServletRequest request) throws Exception {
|
|
|
Map<String, Object> objectMap = new HashMap<String, Object>();
|
|
|
int exist = materialService.checkIsExist(id, name, StringUtil.toNull(model), StringUtil.toNull(color),
|
|
|
StringUtil.toNull(standard), StringUtil.toNull(mfrs), StringUtil.toNull(otherField1),
|
|
|
StringUtil.toNull(otherField2), StringUtil.toNull(otherField3), StringUtil.toNull(unit), unitId);
|
|
|
- if(exist > 0) {
|
|
|
+ if (exist > 0) {
|
|
|
objectMap.put("status", true);
|
|
|
} else {
|
|
|
objectMap.put("status", false);
|
|
@@ -183,6 +183,7 @@ public class MaterialController extends BaseController {
|
|
|
|
|
|
/**
|
|
|
* 批量设置状态-启用或者禁用
|
|
|
+ *
|
|
|
* @param jsonObject
|
|
|
* @param request
|
|
|
* @return
|
|
@@ -191,12 +192,12 @@ public class MaterialController extends BaseController {
|
|
|
@PostMapping(value = "/batchSetStatus")
|
|
|
@ApiOperation(value = "批量设置状态-启用或者禁用")
|
|
|
public String batchSetStatus(@RequestBody JSONObject jsonObject,
|
|
|
- HttpServletRequest request)throws Exception {
|
|
|
+ HttpServletRequest request) throws Exception {
|
|
|
Boolean status = jsonObject.getBoolean("status");
|
|
|
String ids = jsonObject.getString("ids");
|
|
|
Map<String, Object> objectMap = new HashMap<>();
|
|
|
int res = materialService.batchSetStatus(status, ids);
|
|
|
- if(res > 0) {
|
|
|
+ if (res > 0) {
|
|
|
return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code);
|
|
|
} else {
|
|
|
return returnJson(objectMap, ErpInfo.ERROR.name, ErpInfo.ERROR.code);
|
|
@@ -205,19 +206,20 @@ public class MaterialController extends BaseController {
|
|
|
|
|
|
/**
|
|
|
* 根据id来查询商品名称
|
|
|
+ *
|
|
|
* @param id
|
|
|
* @param request
|
|
|
* @return
|
|
|
*/
|
|
|
@GetMapping(value = "/findById")
|
|
|
@ApiOperation(value = "根据id来查询商品名称")
|
|
|
- public BaseResponseInfo findById(@RequestParam("id") Long id, HttpServletRequest request) throws Exception{
|
|
|
+ public BaseResponseInfo findById(@RequestParam("id") Long id, HttpServletRequest request) throws Exception {
|
|
|
BaseResponseInfo res = new BaseResponseInfo();
|
|
|
try {
|
|
|
List<MaterialVo4Unit> list = materialService.findById(id);
|
|
|
res.code = 200;
|
|
|
res.data = list;
|
|
|
- } catch(Exception e){
|
|
|
+ } catch (Exception e) {
|
|
|
logger.error(e.getMessage(), e);
|
|
|
res.code = 500;
|
|
|
res.data = "获取数据失败";
|
|
@@ -227,6 +229,7 @@ public class MaterialController extends BaseController {
|
|
|
|
|
|
/**
|
|
|
* 根据meId来查询商品名称
|
|
|
+ *
|
|
|
* @param meId
|
|
|
* @param request
|
|
|
* @return
|
|
@@ -235,19 +238,19 @@ public class MaterialController extends BaseController {
|
|
|
@ApiOperation(value = "根据meId来查询商品名称")
|
|
|
public BaseResponseInfo findByIdWithBarCode(@RequestParam("meId") Long meId,
|
|
|
@RequestParam("mpList") String mpList,
|
|
|
- HttpServletRequest request) throws Exception{
|
|
|
+ HttpServletRequest request) throws Exception {
|
|
|
BaseResponseInfo res = new BaseResponseInfo();
|
|
|
try {
|
|
|
String[] mpArr = mpList.split(",");
|
|
|
MaterialVo4Unit mu = new MaterialVo4Unit();
|
|
|
List<MaterialVo4Unit> list = materialService.findByIdWithBarCode(meId);
|
|
|
- if(list!=null && list.size()>0) {
|
|
|
+ if (list != null && list.size() > 0) {
|
|
|
mu = list.get(0);
|
|
|
mu.setMaterialOther(materialService.getMaterialOtherByParam(mpArr, mu));
|
|
|
}
|
|
|
res.code = 200;
|
|
|
res.data = mu;
|
|
|
- } catch(Exception e){
|
|
|
+ } catch (Exception e) {
|
|
|
logger.error(e.getMessage(), e);
|
|
|
res.code = 500;
|
|
|
res.data = "获取数据失败";
|
|
@@ -257,6 +260,7 @@ public class MaterialController extends BaseController {
|
|
|
|
|
|
/**
|
|
|
* 根据关键词查找商品信息-条码、名称、规格、型号
|
|
|
+ *
|
|
|
* @param q
|
|
|
* @param request
|
|
|
* @return
|
|
@@ -264,7 +268,7 @@ public class MaterialController extends BaseController {
|
|
|
@GetMapping(value = "/getMaterialByParam")
|
|
|
@ApiOperation(value = "根据关键词查找商品信息")
|
|
|
public BaseResponseInfo getMaterialByParam(@RequestParam("q") String q,
|
|
|
- HttpServletRequest request) throws Exception{
|
|
|
+ HttpServletRequest request) throws Exception {
|
|
|
BaseResponseInfo res = new BaseResponseInfo();
|
|
|
try {
|
|
|
JSONArray arr = materialService.getMaterialByParam(q);
|
|
@@ -284,40 +288,160 @@ public class MaterialController extends BaseController {
|
|
|
* @param request
|
|
|
* @return
|
|
|
*/
|
|
|
+// @GetMapping(value = "/findBySelect")
|
|
|
+// @ApiOperation(value = "查找商品信息")
|
|
|
+// public JSONObject findBySelect(@RequestParam(value = "categoryId", required = false) Long categoryId,
|
|
|
+// @RequestParam(value = "q", required = false) String q,
|
|
|
+// @RequestParam(value = "standardOrModel", required = false) String standardOrModel,
|
|
|
+// @RequestParam(value = "mpList", required = false) String mpList,
|
|
|
+// @RequestParam(value = "depotId", required = false) Long depotId,
|
|
|
+// @RequestParam(value = "color", required = false) String color,
|
|
|
+// @RequestParam(value = "brand", required = false) String brand,
|
|
|
+// @RequestParam(value = "mfrs", required = false) String mfrs,
|
|
|
+// @RequestParam(value = "enableSerialNumber", required = false) String enableSerialNumber,
|
|
|
+// @RequestParam(value = "enableBatchNumber", required = false) String enableBatchNumber,
|
|
|
+// @RequestParam("page") Integer currentPage,
|
|
|
+// @RequestParam("rows") Integer pageSize,
|
|
|
+// HttpServletRequest request) throws Exception{
|
|
|
+// JSONObject object = new JSONObject();
|
|
|
+// try {
|
|
|
+// String[] mpArr = new String[]{};
|
|
|
+// if(StringUtil.isNotEmpty(mpList)){
|
|
|
+// mpArr= mpList.split(",");
|
|
|
+// }
|
|
|
+// List<MaterialVo4Unit> dataList = materialService.findBySelectWithBarCode(categoryId, q, StringUtil.toNull(standardOrModel),
|
|
|
+// StringUtil.toNull(color), StringUtil.toNull(brand), StringUtil.toNull(mfrs), enableSerialNumber, enableBatchNumber,
|
|
|
+// (currentPage-1)*pageSize, pageSize,depotId);
|
|
|
+// int total = materialService.findBySelectWithBarCodeCount(categoryId, q, StringUtil.toNull(standardOrModel),
|
|
|
+// StringUtil.toNull(color), StringUtil.toNull(brand), StringUtil.toNull(mfrs), enableSerialNumber, enableBatchNumber,depotId);
|
|
|
+// object.put("total", total);
|
|
|
+// JSONArray dataArray = new JSONArray();
|
|
|
+// //存放数据json数组
|
|
|
+// if (null != dataList) {
|
|
|
+// for (MaterialVo4Unit material : dataList) {
|
|
|
+// JSONObject item = new JSONObject();
|
|
|
+// item.put("id", material.getMeId()); //商品扩展表的id
|
|
|
+// item.put("mid", material.getId()); //商品扩展表的id
|
|
|
+// String ratioStr = ""; //比例
|
|
|
+// Unit unit = new Unit();
|
|
|
+// BigDecimal ratio = new BigDecimal("1");
|
|
|
+// if (material.getUnitId() == null) {
|
|
|
+// ratioStr = "";
|
|
|
+// } else {
|
|
|
+// unit = unitService.getUnit(material.getUnitId());
|
|
|
+// //拼接副单位的比例
|
|
|
+// String commodityUnit = material.getCommodityUnit();
|
|
|
+// if(commodityUnit.equals(unit.getBasicUnit())) {
|
|
|
+// ratioStr = "[基本]";
|
|
|
+// ratio = new BigDecimal("1");
|
|
|
+// }
|
|
|
+// if(commodityUnit.equals(unit.getOtherUnit()) && unit.getRatio()!=null) {
|
|
|
+// ratioStr = "[" + unit.getRatio().stripTrailingZeros().toPlainString() + unit.getBasicUnit() + "]";
|
|
|
+// ratio = unit.getRatio();
|
|
|
+// }
|
|
|
+// if(commodityUnit.equals(unit.getOtherUnitTwo()) && unit.getRatioTwo()!=null) {
|
|
|
+// ratioStr = "[" + unit.getRatioTwo().stripTrailingZeros().toPlainString() + unit.getBasicUnit() + "]";
|
|
|
+// ratio = unit.getRatioTwo();
|
|
|
+// }
|
|
|
+// if(commodityUnit.equals(unit.getOtherUnitThree()) && unit.getRatioThree()!=null) {
|
|
|
+// ratioStr = "[" + unit.getRatioThree().stripTrailingZeros().toPlainString() + unit.getBasicUnit() + "]";
|
|
|
+// ratio = unit.getRatioThree();
|
|
|
+// }
|
|
|
+// }
|
|
|
+// item.put("barCode", material.getBarCode());
|
|
|
+// item.put("name", material.getName());
|
|
|
+// item.put("mnemonic", material.getMnemonic());
|
|
|
+// item.put("categoryName", material.getCategoryName());
|
|
|
+// item.put("standard", material.getStandard());
|
|
|
+// item.put("model", material.getModel());
|
|
|
+// item.put("color", material.getColor());
|
|
|
+// item.put("brand", material.getBrand());
|
|
|
+// //item.put("mfrs", material.getMfrs());
|
|
|
+// item.put("unit", material.getCommodityUnit() + ratioStr);
|
|
|
+// item.put("sku", material.getSku());
|
|
|
+// item.put("enableSerialNumber", material.getEnableSerialNumber());
|
|
|
+// item.put("enableBatchNumber", material.getEnableBatchNumber());
|
|
|
+// item.put("productionDate",material.getProductionDate());
|
|
|
+// item.put("expiryNum",material.getExpiryNum());
|
|
|
+// item.put("batchNumber",material.getBatchNumber());
|
|
|
+// item.put("position",material.getPosition());
|
|
|
+// item.put("supplierId",material.getSupplierId());
|
|
|
+// item.put("supplierName",material.getSupplierName());
|
|
|
+// item.put("depotId",material.getDepotId());
|
|
|
+// item.put("depotName",material.getDepotName());
|
|
|
+// item.put("unitId",material.getUnitId());
|
|
|
+// item.put("inventory",materialService.getMaterialStockByMid(material.getId()).divide(ratio,2,BigDecimal.ROUND_HALF_UP));
|
|
|
+// BigDecimal stock;
|
|
|
+// if(StringUtil.isNotEmpty(material.getSku())){
|
|
|
+// stock = depotItemService.getSkuStockByParam(depotId,material.getMeId(),null,null);
|
|
|
+// } else {
|
|
|
+// stock = depotItemService.getCurrentStockByParam(depotId, material.getId());
|
|
|
+// if (material.getUnitId()!=null){
|
|
|
+// String commodityUnit = material.getCommodityUnit();
|
|
|
+// stock = unitService.parseStockByUnit(stock, unit, commodityUnit);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// item.put("stock", stock);
|
|
|
+// item.put("expand", materialService.getMaterialOtherByParam(mpArr, material));
|
|
|
+// item.put("imgName", material.getImgName());
|
|
|
+// if(fileUploadType == 2) {
|
|
|
+// item.put("imgSmall", "small");
|
|
|
+// item.put("imgLarge", "large");
|
|
|
+// } else {
|
|
|
+// item.put("imgSmall", "");
|
|
|
+// item.put("imgLarge", "");
|
|
|
+// }
|
|
|
+// dataArray.add(item);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// object.put("rows", dataArray);
|
|
|
+// } catch (Exception e) {
|
|
|
+// logger.error(e.getMessage(), e);
|
|
|
+// }
|
|
|
+// return object;
|
|
|
+// }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查找商品信息-下拉框
|
|
|
+ *
|
|
|
+ * @param mpList
|
|
|
+ * @param request
|
|
|
+ * @return
|
|
|
+ */
|
|
|
@GetMapping(value = "/findBySelect")
|
|
|
@ApiOperation(value = "查找商品信息")
|
|
|
public JSONObject findBySelect(@RequestParam(value = "categoryId", required = false) Long categoryId,
|
|
|
- @RequestParam(value = "q", required = false) String q,
|
|
|
- @RequestParam(value = "standardOrModel", required = false) String standardOrModel,
|
|
|
- @RequestParam(value = "mpList", required = false) String mpList,
|
|
|
- @RequestParam(value = "depotId", required = false) Long depotId,
|
|
|
- @RequestParam(value = "color", required = false) String color,
|
|
|
- @RequestParam(value = "brand", required = false) String brand,
|
|
|
- @RequestParam(value = "mfrs", required = false) String mfrs,
|
|
|
- @RequestParam(value = "enableSerialNumber", required = false) String enableSerialNumber,
|
|
|
- @RequestParam(value = "enableBatchNumber", required = false) String enableBatchNumber,
|
|
|
- @RequestParam("page") Integer currentPage,
|
|
|
- @RequestParam("rows") Integer pageSize,
|
|
|
- HttpServletRequest request) throws Exception{
|
|
|
+ @RequestParam(value = "q", required = false) String q,
|
|
|
+ @RequestParam(value = "standardOrModel", required = false) String standardOrModel,
|
|
|
+ @RequestParam(value = "mpList", required = false) String mpList,
|
|
|
+ @RequestParam(value = "depotId", required = false) Long depotId,
|
|
|
+ @RequestParam(value = "color", required = false) String color,
|
|
|
+ @RequestParam(value = "brand", required = false) String brand,
|
|
|
+ @RequestParam(value = "mfrs", required = false) String mfrs,
|
|
|
+ @RequestParam(value = "enableSerialNumber", required = false) String enableSerialNumber,
|
|
|
+ @RequestParam(value = "enableBatchNumber", required = false) String enableBatchNumber,
|
|
|
+ @RequestParam("page") Integer currentPage,
|
|
|
+ @RequestParam("rows") Integer pageSize,
|
|
|
+ HttpServletRequest request) throws Exception {
|
|
|
JSONObject object = new JSONObject();
|
|
|
try {
|
|
|
String[] mpArr = new String[]{};
|
|
|
- if(StringUtil.isNotEmpty(mpList)){
|
|
|
- mpArr= mpList.split(",");
|
|
|
+ if (StringUtil.isNotEmpty(mpList)) {
|
|
|
+ mpArr = mpList.split(",");
|
|
|
}
|
|
|
- List<MaterialVo4Unit> dataList = materialService.findBySelectWithBarCode(categoryId, q, StringUtil.toNull(standardOrModel),
|
|
|
+ List<MaterialVo4Unit> dataList = materialService.findBySelectWithSku(categoryId, q, StringUtil.toNull(standardOrModel),
|
|
|
StringUtil.toNull(color), StringUtil.toNull(brand), StringUtil.toNull(mfrs), enableSerialNumber, enableBatchNumber,
|
|
|
- (currentPage-1)*pageSize, pageSize,depotId);
|
|
|
- int total = materialService.findBySelectWithBarCodeCount(categoryId, q, StringUtil.toNull(standardOrModel),
|
|
|
- StringUtil.toNull(color), StringUtil.toNull(brand), StringUtil.toNull(mfrs), enableSerialNumber, enableBatchNumber,depotId);
|
|
|
+ (currentPage - 1) * pageSize, pageSize, depotId);
|
|
|
+ int total = materialService.findBySelectWithSkuCount(categoryId, q, StringUtil.toNull(standardOrModel),
|
|
|
+ StringUtil.toNull(color), StringUtil.toNull(brand), StringUtil.toNull(mfrs), enableSerialNumber, enableBatchNumber, depotId);
|
|
|
object.put("total", total);
|
|
|
JSONArray dataArray = new JSONArray();
|
|
|
//存放数据json数组
|
|
|
if (null != dataList) {
|
|
|
for (MaterialVo4Unit material : dataList) {
|
|
|
- JSONObject item = new JSONObject();
|
|
|
- item.put("id", material.getMeId()); //商品扩展表的id
|
|
|
- item.put("mid", material.getId()); //商品扩展表的id
|
|
|
+// JSONObject item = new JSONObject();
|
|
|
+// item.put("id", material.getMeId()); //商品扩展表的id
|
|
|
+// item.put("mid", material.getId()); //商品扩展表的id
|
|
|
String ratioStr = ""; //比例
|
|
|
Unit unit = new Unit();
|
|
|
BigDecimal ratio = new BigDecimal("1");
|
|
@@ -327,78 +451,71 @@ public class MaterialController extends BaseController {
|
|
|
unit = unitService.getUnit(material.getUnitId());
|
|
|
//拼接副单位的比例
|
|
|
String commodityUnit = material.getCommodityUnit();
|
|
|
- if(commodityUnit.equals(unit.getBasicUnit())) {
|
|
|
+ if (commodityUnit.equals(unit.getBasicUnit())) {
|
|
|
ratioStr = "[基本]";
|
|
|
ratio = new BigDecimal("1");
|
|
|
}
|
|
|
- if(commodityUnit.equals(unit.getOtherUnit()) && unit.getRatio()!=null) {
|
|
|
+ if (commodityUnit.equals(unit.getOtherUnit()) && unit.getRatio() != null) {
|
|
|
ratioStr = "[" + unit.getRatio().stripTrailingZeros().toPlainString() + unit.getBasicUnit() + "]";
|
|
|
ratio = unit.getRatio();
|
|
|
}
|
|
|
- if(commodityUnit.equals(unit.getOtherUnitTwo()) && unit.getRatioTwo()!=null) {
|
|
|
+ if (commodityUnit.equals(unit.getOtherUnitTwo()) && unit.getRatioTwo() != null) {
|
|
|
ratioStr = "[" + unit.getRatioTwo().stripTrailingZeros().toPlainString() + unit.getBasicUnit() + "]";
|
|
|
ratio = unit.getRatioTwo();
|
|
|
}
|
|
|
- if(commodityUnit.equals(unit.getOtherUnitThree()) && unit.getRatioThree()!=null) {
|
|
|
+ if (commodityUnit.equals(unit.getOtherUnitThree()) && unit.getRatioThree() != null) {
|
|
|
ratioStr = "[" + unit.getRatioThree().stripTrailingZeros().toPlainString() + unit.getBasicUnit() + "]";
|
|
|
ratio = unit.getRatioThree();
|
|
|
}
|
|
|
}
|
|
|
- item.put("barCode", material.getBarCode());
|
|
|
- item.put("name", material.getName());
|
|
|
- item.put("mnemonic", material.getMnemonic());
|
|
|
- item.put("categoryName", material.getCategoryName());
|
|
|
- item.put("standard", material.getStandard());
|
|
|
- item.put("model", material.getModel());
|
|
|
- item.put("color", material.getColor());
|
|
|
- item.put("brand", material.getBrand());
|
|
|
- //item.put("mfrs", material.getMfrs());
|
|
|
- item.put("unit", material.getCommodityUnit() + ratioStr);
|
|
|
- item.put("sku", material.getSku());
|
|
|
- item.put("enableSerialNumber", material.getEnableSerialNumber());
|
|
|
- item.put("enableBatchNumber", material.getEnableBatchNumber());
|
|
|
- item.put("productionDate",material.getProductionDate());
|
|
|
- item.put("expiryNum",material.getExpiryNum());
|
|
|
- item.put("batchNumber",material.getBatchNumber());
|
|
|
- item.put("position",material.getPosition());
|
|
|
- item.put("supplierId",material.getSupplierId());
|
|
|
- item.put("supplierName",material.getSupplierName());
|
|
|
- item.put("depotId",material.getDepotId());
|
|
|
- item.put("depotName",material.getDepotName());
|
|
|
- item.put("unitId",material.getUnitId());
|
|
|
- item.put("inventory",materialService.getMaterialStockByMid(material.getId()).divide(ratio,2,BigDecimal.ROUND_HALF_UP));
|
|
|
+// item.put("barCode", material.getBarCode());
|
|
|
+// item.put("name", material.getName());
|
|
|
+// item.put("mnemonic", material.getMnemonic());
|
|
|
+// item.put("categoryName", material.getCategoryName());
|
|
|
+// item.put("standard", material.getStandard());
|
|
|
+// item.put("model", material.getModel());
|
|
|
+// item.put("color", material.getColor());
|
|
|
+// item.put("brand", material.getBrand());
|
|
|
+// item.put("mfrs", material.getMfrs());
|
|
|
+// item.put("unit", material.getCommodityUnit() + ratioStr);
|
|
|
+ material.setUnit(material.getCommodityUnit());
|
|
|
+// item.put("sku", material.getSku());
|
|
|
+// item.put("enableSerialNumber", material.getEnableSerialNumber());
|
|
|
+// item.put("enableBatchNumber", material.getEnableBatchNumber());
|
|
|
+// item.put("productionDate",material.getProductionDate());
|
|
|
+// item.put("expiryNum",material.getExpiryNum());
|
|
|
+// item.put("batchNumber",material.getBatchNumber());
|
|
|
+// item.put("position",material.getPosition());
|
|
|
+// item.put("supplierId",material.getSupplierId());
|
|
|
+// item.put("supplierName",material.getSupplierName());
|
|
|
+// item.put("depotId",material.getDepotId());
|
|
|
+// item.put("depotName",material.getDepotName());
|
|
|
+// item.put("unitId",material.getUnitId());
|
|
|
+// item.put("inventory",materialService.getMaterialStockByMid(material.getId()).divide(ratio,2,BigDecimal.ROUND_HALF_UP));
|
|
|
BigDecimal stock;
|
|
|
- if(StringUtil.isNotEmpty(material.getSku())){
|
|
|
- stock = depotItemService.getSkuStockByParam(depotId,material.getMeId(),null,null);
|
|
|
+ if (StringUtil.isNotEmpty(material.getSku())) {
|
|
|
+ stock = depotItemService.getSkuStockByParam(depotId, material.getMeId(), null, null);
|
|
|
} else {
|
|
|
stock = depotItemService.getCurrentStockByParam(depotId, material.getId());
|
|
|
- if (material.getUnitId()!=null){
|
|
|
+ if (material.getUnitId() != null) {
|
|
|
String commodityUnit = material.getCommodityUnit();
|
|
|
stock = unitService.parseStockByUnit(stock, unit, commodityUnit);
|
|
|
}
|
|
|
}
|
|
|
- item.put("stock", stock);
|
|
|
- item.put("expand", materialService.getMaterialOtherByParam(mpArr, material));
|
|
|
- item.put("imgName", material.getImgName());
|
|
|
- if(fileUploadType == 2) {
|
|
|
- item.put("imgSmall", "small");
|
|
|
- item.put("imgLarge", "large");
|
|
|
- } else {
|
|
|
- item.put("imgSmall", "");
|
|
|
- item.put("imgLarge", "");
|
|
|
- }
|
|
|
- dataArray.add(item);
|
|
|
+ material.setStock(materialService.getMaterialStockByMid(material.getId()));
|
|
|
}
|
|
|
}
|
|
|
- object.put("rows", dataArray);
|
|
|
+ object.put("rows", dataList);
|
|
|
} catch (Exception e) {
|
|
|
logger.error(e.getMessage(), e);
|
|
|
}
|
|
|
return object;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* 根据商品id查找商品信息
|
|
|
+ *
|
|
|
* @param meId
|
|
|
* @param request
|
|
|
* @return
|
|
@@ -408,14 +525,14 @@ public class MaterialController extends BaseController {
|
|
|
@ApiOperation(value = "根据商品id查找商品信息")
|
|
|
public JSONObject getMaterialByMeId(@RequestParam(value = "meId", required = false) Long meId,
|
|
|
@RequestParam("mpList") String mpList,
|
|
|
- HttpServletRequest request) throws Exception{
|
|
|
+ HttpServletRequest request) throws Exception {
|
|
|
JSONObject item = new JSONObject();
|
|
|
try {
|
|
|
String[] mpArr = mpList.split(",");
|
|
|
List<MaterialVo4Unit> materialList = materialService.getMaterialByMeId(meId);
|
|
|
- if(materialList!=null && materialList.size()!=1) {
|
|
|
+ if (materialList != null && materialList.size() != 1) {
|
|
|
return item;
|
|
|
- } else if(materialList.size() == 1) {
|
|
|
+ } else if (materialList.size() == 1) {
|
|
|
MaterialVo4Unit material = materialList.get(0);
|
|
|
item.put("Id", material.getMeId()); //商品扩展表的id
|
|
|
String ratio; //比例
|
|
@@ -446,6 +563,7 @@ public class MaterialController extends BaseController {
|
|
|
|
|
|
/**
|
|
|
* 生成excel表格
|
|
|
+ *
|
|
|
* @param categoryId
|
|
|
* @param materialParam
|
|
|
* @param color
|
|
@@ -485,6 +603,7 @@ public class MaterialController extends BaseController {
|
|
|
|
|
|
/**
|
|
|
* excel表格导入产品(含初始库存)
|
|
|
+ *
|
|
|
* @param file
|
|
|
* @param request
|
|
|
* @param response
|
|
@@ -493,7 +612,7 @@ public class MaterialController extends BaseController {
|
|
|
@PostMapping(value = "/importExcel")
|
|
|
@ApiOperation(value = "excel表格导入产品")
|
|
|
public BaseResponseInfo importExcel(MultipartFile file,
|
|
|
- HttpServletRequest request, HttpServletResponse response) throws Exception{
|
|
|
+ HttpServletRequest request, HttpServletResponse response) throws Exception {
|
|
|
BaseResponseInfo res = new BaseResponseInfo();
|
|
|
try {
|
|
|
res = materialService.importExcelTwo(file, request);
|
|
@@ -505,6 +624,7 @@ public class MaterialController extends BaseController {
|
|
|
|
|
|
/**
|
|
|
* 获取商品序列号
|
|
|
+ *
|
|
|
* @param q
|
|
|
* @param currentPage
|
|
|
* @param pageSize
|
|
@@ -516,14 +636,14 @@ public class MaterialController extends BaseController {
|
|
|
@GetMapping(value = "/getMaterialEnableSerialNumberList")
|
|
|
@ApiOperation(value = "获取商品序列号")
|
|
|
public JSONObject getMaterialEnableSerialNumberList(
|
|
|
- @RequestParam(value = "q", required = false) String q,
|
|
|
- @RequestParam("page") Integer currentPage,
|
|
|
- @RequestParam("rows") Integer pageSize,
|
|
|
- HttpServletRequest request,
|
|
|
- HttpServletResponse response)throws Exception {
|
|
|
- JSONObject object= new JSONObject();
|
|
|
+ @RequestParam(value = "q", required = false) String q,
|
|
|
+ @RequestParam("page") Integer currentPage,
|
|
|
+ @RequestParam("rows") Integer pageSize,
|
|
|
+ HttpServletRequest request,
|
|
|
+ HttpServletResponse response) throws Exception {
|
|
|
+ JSONObject object = new JSONObject();
|
|
|
try {
|
|
|
- List<MaterialVo4Unit> list = materialService.getMaterialEnableSerialNumberList(q, (currentPage-1)*pageSize, pageSize);
|
|
|
+ List<MaterialVo4Unit> list = materialService.getMaterialEnableSerialNumberList(q, (currentPage - 1) * pageSize, pageSize);
|
|
|
Long count = materialService.getMaterialEnableSerialNumberCount(q);
|
|
|
object.put("rows", list);
|
|
|
object.put("total", count);
|
|
@@ -535,6 +655,7 @@ public class MaterialController extends BaseController {
|
|
|
|
|
|
/**
|
|
|
* 获取最大条码
|
|
|
+ *
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
@@ -552,6 +673,7 @@ public class MaterialController extends BaseController {
|
|
|
|
|
|
/**
|
|
|
* 商品名称模糊匹配
|
|
|
+ *
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
@@ -575,12 +697,13 @@ public class MaterialController extends BaseController {
|
|
|
|
|
|
/**
|
|
|
* 根据条码查询商品信息
|
|
|
+ *
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
@GetMapping(value = "/getMaterialByBarCode")
|
|
|
@ApiOperation(value = "根据条码查询商品信息")
|
|
|
- public BaseResponseInfo getMaterialByBarCode(@RequestParam("barCode") String barCode,
|
|
|
+ public BaseResponseInfo getMaterialByBarCode(@RequestParam("sku") String barCode,
|
|
|
@RequestParam(value = "organId", required = false) Long organId,
|
|
|
@RequestParam(value = "depotId", required = false) Long depotId,
|
|
|
@RequestParam("mpList") String mpList,
|
|
@@ -597,8 +720,8 @@ public class MaterialController extends BaseController {
|
|
|
// barCode = materialExtend.getBarCode();
|
|
|
// }
|
|
|
List<MaterialVo4Unit> list = materialService.getMaterialByBarCode(barCode);
|
|
|
- if(list!=null && list.size()>0) {
|
|
|
- for(MaterialVo4Unit mvo: list) {
|
|
|
+ if (list != null && list.size() > 0) {
|
|
|
+ for (MaterialVo4Unit mvo : list) {
|
|
|
mvo.setMaterialOther(materialService.getMaterialOtherByParam(mpArr, mvo));
|
|
|
if ("LSCK".equals(prefixNo) || "LSTH".equals(prefixNo)) {
|
|
|
//零售价
|
|
@@ -606,15 +729,15 @@ public class MaterialController extends BaseController {
|
|
|
} else if ("CGDD".equals(prefixNo) || "CGRK".equals(prefixNo) || "CGTH".equals(prefixNo)) {
|
|
|
//采购价
|
|
|
mvo.setBillPrice(mvo.getDefaultPurchaseDecimal());
|
|
|
- } else if("QTRK".equals(prefixNo) || "DBCK".equals(prefixNo) || "ZZD".equals(prefixNo) || "CXD".equals(prefixNo)
|
|
|
+ } else if ("QTRK".equals(prefixNo) || "DBCK".equals(prefixNo) || "ZZD".equals(prefixNo) || "CXD".equals(prefixNo)
|
|
|
|| "PDLR".equals(prefixNo) || "PDFP".equals(prefixNo)) {
|
|
|
//采购价-给录入界面按权限屏蔽
|
|
|
- // mvo.setBillPrice(roleService.parseBillPriceByLimit(mvo.getPurchaseDecimal(), "buy", priceLimit, request));
|
|
|
+ // mvo.setBillPrice(roleService.parseBillPriceByLimit(mvo.getPurchaseDecimal(), "buy", priceLimit, request));
|
|
|
mvo.setBillPrice(mvo.getDefaultPurchaseDecimal());
|
|
|
}
|
|
|
if ("XSDD".equals(prefixNo) || "XSCK".equals(prefixNo) || "XSTH".equals(prefixNo) || "QTCK".equals(prefixNo)) {
|
|
|
//销售价
|
|
|
- if(organId == null) {
|
|
|
+ if (organId == null) {
|
|
|
mvo.setBillPrice(mvo.getDefaultWholesaleDecimal());
|
|
|
} else {
|
|
|
//查询最后一单的销售价,实现不同的客户不同的销售价
|
|
@@ -622,7 +745,7 @@ public class MaterialController extends BaseController {
|
|
|
mvo.setBillPrice(lastUnitPrice != null ? lastUnitPrice : mvo.getDefaultWholesaleDecimal());
|
|
|
}
|
|
|
//销售价-给录入界面按权限屏蔽价格
|
|
|
- if("QTCK".equals(prefixNo)) {
|
|
|
+ if ("QTCK".equals(prefixNo)) {
|
|
|
//mvo.setBillPrice(roleService.parseBillPriceByLimit(mvo.getWholesaleDecimal(), "sale", priceLimit, request));
|
|
|
mvo.setBillPrice(mvo.getDefaultWholesaleDecimal());
|
|
|
}
|
|
@@ -653,7 +776,7 @@ public class MaterialController extends BaseController {
|
|
|
}
|
|
|
res.code = 200;
|
|
|
res.data = list;
|
|
|
- } catch(Exception e){
|
|
|
+ } catch (Exception e) {
|
|
|
logger.error(e.getMessage(), e);
|
|
|
res.code = 500;
|
|
|
res.data = "获取数据失败";
|
|
@@ -662,7 +785,62 @@ public class MaterialController extends BaseController {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 根据sku查询商品信息
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ * @throws Exception
|
|
|
+ */
|
|
|
+ @GetMapping(value = "/getMaterialBySku")
|
|
|
+ @ApiOperation(value = "根据sku查询商品信息")
|
|
|
+ public AjaxResult getMaterialBySku(@RequestParam("sku") String sku,
|
|
|
+ @RequestParam(value = "depotId", required = false) Long depotId,
|
|
|
+ @RequestParam(required = false, value = "prefixNo") String prefixNo) {
|
|
|
+ List<MaterialVo4Unit> list = materialService.getMaterialBySku(sku);
|
|
|
+ if (list != null && list.size() > 0) {
|
|
|
+ for (MaterialVo4Unit mvo : list) {
|
|
|
+ //包装规格
|
|
|
+ mvo.setUnitName(materialUnitService.getStandardByMeId(mvo.getMeId()));
|
|
|
+ if ("LSCK".equals(prefixNo) || "LSTH".equals(prefixNo)) {
|
|
|
+ //零售价
|
|
|
+ mvo.setBillPrice(mvo.getCommodityDecimal());
|
|
|
+ } else if ("CGDD".equals(prefixNo) || "CGRK".equals(prefixNo) || "CGTH".equals(prefixNo)) {
|
|
|
+ //采购价
|
|
|
+ mvo.setBillPrice(mvo.getDefaultPurchaseDecimal());
|
|
|
+ } else if ("QTRK".equals(prefixNo) || "DBCK".equals(prefixNo) || "ZZD".equals(prefixNo) || "CXD".equals(prefixNo)
|
|
|
+ || "PDLR".equals(prefixNo) || "PDFP".equals(prefixNo)) {
|
|
|
+ mvo.setBillPrice(mvo.getDefaultPurchaseDecimal());
|
|
|
+ }
|
|
|
+ if ("XSDD".equals(prefixNo) || "XSCK".equals(prefixNo) || "XSTH".equals(prefixNo) || "QTCK".equals(prefixNo)) {
|
|
|
+ mvo.setBillPrice(mvo.getDefaultWholesaleDecimal());
|
|
|
+ }
|
|
|
+ //仓库id
|
|
|
+// if (depotId == null) {
|
|
|
+// JSONArray depotArr = depotService.findDepotByCurrentUser();
|
|
|
+// for (Object obj : depotArr) {
|
|
|
+// JSONObject depotObj = JSONObject.parseObject(obj.toString());
|
|
|
+// if (depotObj.get("isDefault") != null) {
|
|
|
+// Boolean isDefault = depotObj.getBoolean("isDefault");
|
|
|
+// if (isDefault) {
|
|
|
+// Long id = depotObj.getLong("id");
|
|
|
+// if (!"CGDD".equals(prefixNo) && !"XSDD".equals(prefixNo)) {
|
|
|
+// //除订单之外的单据才有仓库
|
|
|
+// mvo.setDepotId(id);
|
|
|
+// }
|
|
|
+// //getStockByMaterialInfo(mvo);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// } else {
|
|
|
+// mvo.setDepotId(depotId);
|
|
|
+// }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return AjaxResult.success(list);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 根据商品信息获取库存,进行赋值
|
|
|
+ *
|
|
|
* @param mvo
|
|
|
* @throws Exception
|
|
|
*/
|
|
@@ -683,6 +861,7 @@ public class MaterialController extends BaseController {
|
|
|
|
|
|
/**
|
|
|
* 商品库存查询
|
|
|
+ *
|
|
|
* @param currentPage
|
|
|
* @param pageSize
|
|
|
* @param depotIds
|
|
@@ -706,42 +885,42 @@ public class MaterialController extends BaseController {
|
|
|
@RequestParam("zeroStock") Integer zeroStock,
|
|
|
@RequestParam(value = "column", required = false, defaultValue = "createTime") String column,
|
|
|
@RequestParam(value = "order", required = false, defaultValue = "desc") String order,
|
|
|
- HttpServletRequest request)throws Exception {
|
|
|
+ HttpServletRequest request) throws Exception {
|
|
|
BaseResponseInfo res = new BaseResponseInfo();
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
try {
|
|
|
List<Long> idList = new ArrayList<>();
|
|
|
List<Long> depotList = new ArrayList<>();
|
|
|
- if(categoryId != null){
|
|
|
+ if (categoryId != null) {
|
|
|
idList = materialService.getListByParentId(categoryId);
|
|
|
}
|
|
|
- if(StringUtil.isNotEmpty(depotIds)) {
|
|
|
+ if (StringUtil.isNotEmpty(depotIds)) {
|
|
|
depotList = StringUtil.strToLongList(depotIds);
|
|
|
} else {
|
|
|
//未选择仓库时默认为当前用户有权限的仓库
|
|
|
JSONArray depotArr = depotService.findDepotByCurrentUser();
|
|
|
- for(Object obj: depotArr) {
|
|
|
+ for (Object obj : depotArr) {
|
|
|
JSONObject object = JSONObject.parseObject(obj.toString());
|
|
|
depotList.add(object.getLong("id"));
|
|
|
}
|
|
|
}
|
|
|
Boolean moveAvgPriceFlag = systemConfigService.getMoveAvgPriceFlag();
|
|
|
List<MaterialVo4Unit> dataList = materialService.getListWithStock(depotList, idList, StringUtil.toNull(position), StringUtil.toNull(materialParam),
|
|
|
- moveAvgPriceFlag, zeroStock, StringUtil.safeSqlParse(column), StringUtil.safeSqlParse(order), (currentPage-1)*pageSize, pageSize);
|
|
|
+ moveAvgPriceFlag, zeroStock, StringUtil.safeSqlParse(column), StringUtil.safeSqlParse(order), (currentPage - 1) * pageSize, pageSize);
|
|
|
int total = materialService.getListWithStockCount(depotList, idList, StringUtil.toNull(position), StringUtil.toNull(materialParam), zeroStock);
|
|
|
- MaterialVo4Unit materialVo4Unit= materialService.getTotalStockAndPrice(depotList, idList, StringUtil.toNull(position), StringUtil.toNull(materialParam));
|
|
|
+ MaterialVo4Unit materialVo4Unit = materialService.getTotalStockAndPrice(depotList, idList, StringUtil.toNull(position), StringUtil.toNull(materialParam));
|
|
|
map.put("total", total);
|
|
|
- map.put("currentStock", materialVo4Unit.getCurrentStock()!=null?materialVo4Unit.getCurrentStock():BigDecimal.ZERO);
|
|
|
- if(moveAvgPriceFlag) {
|
|
|
- map.put("currentStockPrice", materialVo4Unit.getCurrentStockMovePrice()!=null?materialVo4Unit.getCurrentStockMovePrice():BigDecimal.ZERO);
|
|
|
+ map.put("currentStock", materialVo4Unit.getCurrentStock() != null ? materialVo4Unit.getCurrentStock() : BigDecimal.ZERO);
|
|
|
+ if (moveAvgPriceFlag) {
|
|
|
+ map.put("currentStockPrice", materialVo4Unit.getCurrentStockMovePrice() != null ? materialVo4Unit.getCurrentStockMovePrice() : BigDecimal.ZERO);
|
|
|
} else {
|
|
|
- map.put("currentStockPrice", materialVo4Unit.getCurrentStockPrice()!=null?materialVo4Unit.getCurrentStockPrice():BigDecimal.ZERO);
|
|
|
+ map.put("currentStockPrice", materialVo4Unit.getCurrentStockPrice() != null ? materialVo4Unit.getCurrentStockPrice() : BigDecimal.ZERO);
|
|
|
}
|
|
|
- map.put("currentWeight", materialVo4Unit.getCurrentWeight()!=null?materialVo4Unit.getCurrentWeight():BigDecimal.ZERO);
|
|
|
+ map.put("currentWeight", materialVo4Unit.getCurrentWeight() != null ? materialVo4Unit.getCurrentWeight() : BigDecimal.ZERO);
|
|
|
map.put("rows", dataList);
|
|
|
res.code = 200;
|
|
|
res.data = map;
|
|
|
- } catch(Exception e){
|
|
|
+ } catch (Exception e) {
|
|
|
logger.error(e.getMessage(), e);
|
|
|
res.code = 500;
|
|
|
res.data = "获取数据失败";
|
|
@@ -751,6 +930,7 @@ public class MaterialController extends BaseController {
|
|
|
|
|
|
/**
|
|
|
* 批量设置商品当前的实时库存(按每个仓库)
|
|
|
+ *
|
|
|
* @param jsonObject
|
|
|
* @param request
|
|
|
* @return
|
|
@@ -759,11 +939,11 @@ public class MaterialController extends BaseController {
|
|
|
@PostMapping(value = "/batchSetMaterialCurrentStock")
|
|
|
@ApiOperation(value = "批量设置商品当前的实时库存(按每个仓库)")
|
|
|
public String batchSetMaterialCurrentStock(@RequestBody JSONObject jsonObject,
|
|
|
- HttpServletRequest request)throws Exception {
|
|
|
+ HttpServletRequest request) throws Exception {
|
|
|
String ids = jsonObject.getString("ids");
|
|
|
Map<String, Object> objectMap = new HashMap<>();
|
|
|
int res = materialService.batchSetMaterialCurrentStock(ids);
|
|
|
- if(res > 0) {
|
|
|
+ if (res > 0) {
|
|
|
return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code);
|
|
|
} else {
|
|
|
return returnJson(objectMap, ErpInfo.ERROR.name, ErpInfo.ERROR.code);
|
|
@@ -772,6 +952,7 @@ public class MaterialController extends BaseController {
|
|
|
|
|
|
/**
|
|
|
* 批量设置商品当前的成本价
|
|
|
+ *
|
|
|
* @param jsonObject
|
|
|
* @param request
|
|
|
* @return
|
|
@@ -780,11 +961,11 @@ public class MaterialController extends BaseController {
|
|
|
@PostMapping(value = "/batchSetMaterialCurrentUnitPrice")
|
|
|
@ApiOperation(value = "批量设置商品当前的成本价")
|
|
|
public String batchSetMaterialCurrentUnitPrice(@RequestBody JSONObject jsonObject,
|
|
|
- HttpServletRequest request)throws Exception {
|
|
|
+ HttpServletRequest request) throws Exception {
|
|
|
String ids = jsonObject.getString("ids");
|
|
|
Map<String, Object> objectMap = new HashMap<>();
|
|
|
int res = materialService.batchSetMaterialCurrentUnitPrice(ids);
|
|
|
- if(res > 0) {
|
|
|
+ if (res > 0) {
|
|
|
return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code);
|
|
|
} else {
|
|
|
return returnJson(objectMap, ErpInfo.ERROR.name, ErpInfo.ERROR.code);
|
|
@@ -793,6 +974,7 @@ public class MaterialController extends BaseController {
|
|
|
|
|
|
/**
|
|
|
* 批量更新商品信息
|
|
|
+ *
|
|
|
* @param jsonObject
|
|
|
* @param request
|
|
|
* @return
|
|
@@ -801,10 +983,10 @@ public class MaterialController extends BaseController {
|
|
|
@PostMapping(value = "/batchUpdate")
|
|
|
@ApiOperation(value = "批量更新商品信息")
|
|
|
public String batchUpdate(@RequestBody JSONObject jsonObject,
|
|
|
- HttpServletRequest request)throws Exception {
|
|
|
+ HttpServletRequest request) throws Exception {
|
|
|
Map<String, Object> objectMap = new HashMap<>();
|
|
|
int res = materialService.batchUpdate(jsonObject);
|
|
|
- if(res > 0) {
|
|
|
+ if (res > 0) {
|
|
|
return returnJson(objectMap, ErpInfo.OK.name, ErpInfo.OK.code);
|
|
|
} else {
|
|
|
return returnJson(objectMap, ErpInfo.ERROR.name, ErpInfo.ERROR.code);
|
|
@@ -813,17 +995,18 @@ public class MaterialController extends BaseController {
|
|
|
|
|
|
/**
|
|
|
* 转换名称为拼音
|
|
|
+ *
|
|
|
* @param jsonObject
|
|
|
*/
|
|
|
@PostMapping(value = "/changeNameToPinYin")
|
|
|
@ApiOperation(value = "转换名称为拼音")
|
|
|
- public BaseResponseInfo changeNameToPinYin(@RequestBody JSONObject jsonObject)throws Exception {
|
|
|
+ public BaseResponseInfo changeNameToPinYin(@RequestBody JSONObject jsonObject) throws Exception {
|
|
|
BaseResponseInfo res = new BaseResponseInfo();
|
|
|
try {
|
|
|
String name = jsonObject.getString("name");
|
|
|
res.code = 200;
|
|
|
res.data = PinYinUtil.getFirstLettersLo(name);
|
|
|
- } catch(Exception e){
|
|
|
+ } catch (Exception e) {
|
|
|
logger.error(e.getMessage(), e);
|
|
|
res.code = 500;
|
|
|
res.data = "获取数据失败";
|
|
@@ -834,7 +1017,7 @@ public class MaterialController extends BaseController {
|
|
|
|
|
|
@GetMapping(value = "/getMaterialByBatchNumber")
|
|
|
@ApiOperation(value = "根据批次号查询商品信息")
|
|
|
- public TableDataInfo getMaterialByBatchNumber(@RequestParam("batchNumber") String batchNumber){
|
|
|
+ public TableDataInfo getMaterialByBatchNumber(@RequestParam("batchNumber") String batchNumber) {
|
|
|
String[] batchNumbers = batchNumber.split(",");
|
|
|
startPage();
|
|
|
List<TaskStocktakingItemVO> list = materialBatchService.getMaterialByBatchNumber(batchNumbers);
|
|
@@ -844,7 +1027,7 @@ public class MaterialController extends BaseController {
|
|
|
@GetMapping(value = "/getMaterialById")
|
|
|
@ApiOperation(value = "根据商品id查询商品及子表信息")
|
|
|
public BaseResponseInfo getMaterialById(@RequestParam("mid") Long materialId,
|
|
|
- HttpServletRequest request)throws Exception {
|
|
|
+ HttpServletRequest request) throws Exception {
|
|
|
BaseResponseInfo res = new BaseResponseInfo();
|
|
|
res.code = 200;
|
|
|
res.data = materialService.getMaterialById(materialId);
|
|
@@ -853,7 +1036,7 @@ public class MaterialController extends BaseController {
|
|
|
|
|
|
@GetMapping(value = "/getMaterialWarn")
|
|
|
@ApiOperation(value = "获取商品提醒")
|
|
|
- public BaseResponseInfo getMaterialWarn()throws Exception {
|
|
|
+ public BaseResponseInfo getMaterialWarn() throws Exception {
|
|
|
BaseResponseInfo res = new BaseResponseInfo();
|
|
|
res.code = 200;
|
|
|
res.data = materialService.getMaterialWarn();
|
|
@@ -863,20 +1046,20 @@ public class MaterialController extends BaseController {
|
|
|
@GetMapping(value = "/findBatchNumbersBySelect")
|
|
|
@ApiOperation(value = "商品选择全选获取商品批次号")
|
|
|
public BaseResponseInfo findBatchNumberSBySelect(@RequestParam(value = "categoryId", required = false) Long categoryId,
|
|
|
- @RequestParam(value = "q", required = false) String q,
|
|
|
- @RequestParam(value = "standardOrModel", required = false) String standardOrModel,
|
|
|
- @RequestParam(value = "depotId", required = false) Long depotId,
|
|
|
- @RequestParam(value = "color", required = false) String color,
|
|
|
- @RequestParam(value = "brand", required = false) String brand,
|
|
|
- @RequestParam(value = "mfrs", required = false) String mfrs,
|
|
|
- @RequestParam(value = "enableSerialNumber", required = false) String enableSerialNumber,
|
|
|
- @RequestParam(value = "enableBatchNumber", required = false) String enableBatchNumber,
|
|
|
- HttpServletRequest request){
|
|
|
+ @RequestParam(value = "q", required = false) String q,
|
|
|
+ @RequestParam(value = "standardOrModel", required = false) String standardOrModel,
|
|
|
+ @RequestParam(value = "depotId", required = false) Long depotId,
|
|
|
+ @RequestParam(value = "color", required = false) String color,
|
|
|
+ @RequestParam(value = "brand", required = false) String brand,
|
|
|
+ @RequestParam(value = "mfrs", required = false) String mfrs,
|
|
|
+ @RequestParam(value = "enableSerialNumber", required = false) String enableSerialNumber,
|
|
|
+ @RequestParam(value = "enableBatchNumber", required = false) String enableBatchNumber,
|
|
|
+ HttpServletRequest request) {
|
|
|
BaseResponseInfo res = new BaseResponseInfo();
|
|
|
try {
|
|
|
List<MaterialVo4Unit> dataList = materialBatchService.findBySelectWithBarCode(categoryId, q, StringUtil.toNull(standardOrModel),
|
|
|
StringUtil.toNull(color), StringUtil.toNull(brand), StringUtil.toNull(mfrs), enableSerialNumber, enableBatchNumber,
|
|
|
- null, null,depotId);
|
|
|
+ null, null, depotId);
|
|
|
StringBuffer str = new StringBuffer();
|
|
|
//存放数据json数组
|
|
|
if (null != dataList) {
|