|
@@ -0,0 +1,129 @@
|
|
|
+package com.huimv.env.produce.service.impl;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.huimv.common.utils.Result;
|
|
|
+import com.huimv.common.utils.ResultCode;
|
|
|
+import com.huimv.env.common.utils.DateUtil;
|
|
|
+import com.huimv.env.produce.entity.Sales;
|
|
|
+import com.huimv.env.produce.entity.SalesDetail;
|
|
|
+import com.huimv.env.produce.mapper.EliminateDetailMapper;
|
|
|
+import com.huimv.env.produce.mapper.EliminateMapper;
|
|
|
+import com.huimv.env.produce.mapper.SalesDetailMapper;
|
|
|
+import com.huimv.env.produce.mapper.SalesMapper;
|
|
|
+import com.huimv.env.produce.service.SalesDetailService;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.text.ParseException;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+/**
|
|
|
+ * <p>
|
|
|
+ * 服务实现类
|
|
|
+ * </p>
|
|
|
+ *
|
|
|
+ * @author zn
|
|
|
+ * @since 2022-11-01
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class SalesDetailServiceImpl extends ServiceImpl<SalesDetailMapper, SalesDetail> implements SalesDetailService {
|
|
|
+ @Autowired
|
|
|
+ private SalesMapper salesMapper;
|
|
|
+ @Autowired
|
|
|
+ private SalesDetailMapper salesDetailMapper;
|
|
|
+
|
|
|
+ //默认牧场
|
|
|
+ private static final String DEFAULT_FARM_CODE = "14";
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Result getSales(Map<String, String> paramsMap) {
|
|
|
+ //
|
|
|
+ String farmCode = paramsMap.get("farmCode");
|
|
|
+ if(farmCode == null){
|
|
|
+ farmCode = DEFAULT_FARM_CODE;
|
|
|
+ }
|
|
|
+ JSONObject resultJo = new JSONObject();
|
|
|
+ //查询总表
|
|
|
+ QueryWrapper<Sales> totalQueryWrapper = new QueryWrapper();
|
|
|
+ totalQueryWrapper.eq("farm_code",farmCode);
|
|
|
+ Sales sales = salesMapper.selectOne(totalQueryWrapper);
|
|
|
+ if(sales == null){
|
|
|
+ resultJo.put("thisSaleMoney",0.0);
|
|
|
+ resultJo.put("thisSaleCount",0);
|
|
|
+ resultJo.put("lastSaleMoney",0.0);
|
|
|
+ resultJo.put("lastSaleCount",0);
|
|
|
+ }else{
|
|
|
+ resultJo.put("thisSaleMoney",sales.getThisSaleMoney());
|
|
|
+ resultJo.put("thisSaleCount",sales.getThisSaleCount());
|
|
|
+ resultJo.put("lastSaleMoney",sales.getLastSaleMoney());
|
|
|
+ resultJo.put("lastSaleCount",sales.getLastSaleCount());
|
|
|
+ }
|
|
|
+ //查询明细表
|
|
|
+ QueryWrapper<SalesDetail> detailQueryWrapper = new QueryWrapper<>();
|
|
|
+ detailQueryWrapper.eq("farm_code",farmCode);
|
|
|
+ List<SalesDetail> salesDetailList = salesDetailMapper.selectList(detailQueryWrapper);
|
|
|
+ resultJo.put("list",salesDetailList);
|
|
|
+ return new Result(ResultCode.SUCCESS,resultJo);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Result save(Map<String, String> paramsMap) throws ParseException {
|
|
|
+ //
|
|
|
+ String farmCode = paramsMap.get("farmCode");
|
|
|
+ if(farmCode == null){
|
|
|
+ farmCode = DEFAULT_FARM_CODE;
|
|
|
+ }
|
|
|
+ //
|
|
|
+ String addDate = paramsMap.get("addDate");
|
|
|
+ //删除原先总表
|
|
|
+ QueryWrapper<Sales> totalQueryWrapper = new QueryWrapper();
|
|
|
+ totalQueryWrapper.eq("farm_code",farmCode);
|
|
|
+ salesMapper.delete(totalQueryWrapper);
|
|
|
+
|
|
|
+ //删除原先明细表
|
|
|
+ QueryWrapper<SalesDetail> detailQueryWrapper = new QueryWrapper<>();
|
|
|
+ detailQueryWrapper.eq("farm_code",farmCode);
|
|
|
+ salesDetailMapper.delete(detailQueryWrapper);
|
|
|
+
|
|
|
+ //新增明细表
|
|
|
+ DateUtil dateUtil = new DateUtil();
|
|
|
+ String lastSaleMoney = paramsMap.get("lastSaleMoney");
|
|
|
+ String lastSaleCount = paramsMap.get("lastSaleCount");
|
|
|
+ String list = paramsMap.get("list");
|
|
|
+ JSONArray listJa = JSONArray.parseArray(list);
|
|
|
+ BigDecimal moneyBd = new BigDecimal(0);
|
|
|
+ int count = 0;
|
|
|
+ for(int a=0;a<listJa.size();a++){
|
|
|
+ JSONObject listJo = listJa.getJSONObject(a);
|
|
|
+ SalesDetail salesDetail = new SalesDetail();
|
|
|
+ salesDetail.setSaleMoney(new BigDecimal(listJo.getString("saleMoney")));
|
|
|
+ salesDetail.setSaleCount(listJo.getInteger("saleCount"));
|
|
|
+ salesDetail.setAddDate(dateUtil.parseDate(addDate));
|
|
|
+ salesDetail.setFarmCode(farmCode);
|
|
|
+ salesDetailMapper.insert(salesDetail);
|
|
|
+ moneyBd = moneyBd.add(new BigDecimal(listJo.getString("saleMoney")));
|
|
|
+ count+=listJo.getInteger("saleCount");
|
|
|
+ }
|
|
|
+ //新增总表
|
|
|
+ Sales Sales = new Sales();
|
|
|
+ Sales.setThisSaleMoney(moneyBd);
|
|
|
+ Sales.setThisSaleCount(count);
|
|
|
+ Sales.setLastSaleMoney(new BigDecimal(lastSaleMoney));
|
|
|
+ Sales.setLastSaleCount(Integer.parseInt(lastSaleCount));
|
|
|
+ Sales.setFarmCode(farmCode);
|
|
|
+ salesMapper.insert(Sales);
|
|
|
+ return new Result(ResultCode.SUCCESS);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Result remove(Map<String, String> paramsMap) {
|
|
|
+ String id = paramsMap.get("id");
|
|
|
+ salesDetailMapper.deleteById(id);
|
|
|
+ return new Result(ResultCode.SUCCESS);
|
|
|
+ }
|
|
|
+}
|