Browse Source

模块开发12

wwh 3 weeks ago
parent
commit
b05f0cfdda

+ 2 - 1
huimv-farm/src/main/java/vip/xiaonuo/core/config/GlobalConfigure.java

@@ -148,7 +148,8 @@ public class GlobalConfigure implements WebMvcConfigurer {
             "/sys/userCenter/findPasswordGetEmailValidCode",
             "/sys/userCenter/findPasswordGetEmailValidCode",
             "/sys/userCenter/findPasswordByPhone",
             "/sys/userCenter/findPasswordByPhone",
             "/sys/userCenter/findPasswordByEmail",
             "/sys/userCenter/findPasswordByEmail",
-            "/importData"
+            "/importData",
+            "/importMoney"
     };
     };
 
 
     /**
     /**

+ 9 - 0
huimv-farm/src/main/java/vip/xiaonuo/importData/controller/ImportHrController.java

@@ -70,4 +70,13 @@ public class ImportHrController {
                                           @RequestParam(name = "file") MultipartFile files) {
                                           @RequestParam(name = "file") MultipartFile files) {
         return importData.importData(httpServletRequest, orgId, files);
         return importData.importData(httpServletRequest, orgId, files);
     }
     }
+
+    @ApiOperationSupport(order = 2)
+    @ApiOperation("费用与成本导入")
+    @PostMapping("/importMoney")
+    @Transactional
+    public CommonResult importMoney(HttpServletRequest httpServletRequest,@RequestParam(name = "orgId") String orgId,
+                                          @RequestParam(name = "file") MultipartFile files) {
+        return importData.importMoney(httpServletRequest, orgId, files);
+    }
 }
 }

+ 31 - 0
huimv-farm/src/main/java/vip/xiaonuo/importData/entity/MoneyData.java

@@ -0,0 +1,31 @@
+package vip.xiaonuo.importData.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class MoneyData {
+
+
+    /** 姓名 */
+    @ApiModelProperty(value = "管理费用", position = 1)
+    private String manage;
+
+    /** 性别 */
+    @ApiModelProperty(value = "销售费用", position = 2)
+    private String sale;
+
+    /** 年龄 */
+    @ApiModelProperty(value = "财务费用", position = 3)
+    private String finance;
+
+    /** 出生日期 */
+    @ApiModelProperty(value = "创建时间", position = 4)
+    private Date createTime;
+
+
+}

+ 4 - 0
huimv-farm/src/main/java/vip/xiaonuo/importData/service/ImportData.java

@@ -10,4 +10,8 @@ public interface ImportData {
 
 
     CommonResult importData(HttpServletRequest httpServletRequest, @RequestParam(name = "orgId") String orgId,
     CommonResult importData(HttpServletRequest httpServletRequest, @RequestParam(name = "orgId") String orgId,
                             @RequestParam(name = "file") MultipartFile files);
                             @RequestParam(name = "file") MultipartFile files);
+
+
+    CommonResult importMoney(HttpServletRequest httpServletRequest, @RequestParam(name = "orgId") String orgId,
+                            @RequestParam(name = "file") MultipartFile files);
 }
 }

+ 52 - 0
huimv-farm/src/main/java/vip/xiaonuo/importData/service/impl/ImportDataImpl.java

@@ -17,8 +17,13 @@ import vip.xiaonuo.hr.modular.basedepartment.service.HrBaseDepartmentService;
 import vip.xiaonuo.hr.modular.baseemployeeinfo.entity.HrBaseEmployeeInfo;
 import vip.xiaonuo.hr.modular.baseemployeeinfo.entity.HrBaseEmployeeInfo;
 import vip.xiaonuo.hr.modular.baseemployeeinfo.service.HrBaseEmployeeInfoService;
 import vip.xiaonuo.hr.modular.baseemployeeinfo.service.HrBaseEmployeeInfoService;
 import vip.xiaonuo.importData.entity.HrData;
 import vip.xiaonuo.importData.entity.HrData;
+import vip.xiaonuo.importData.entity.MoneyData;
 import vip.xiaonuo.importData.service.ImportData;
 import vip.xiaonuo.importData.service.ImportData;
 import vip.xiaonuo.importData.utils.ExcelImportSheet;
 import vip.xiaonuo.importData.utils.ExcelImportSheet;
+import vip.xiaonuo.money.entity.MoneyCost;
+import vip.xiaonuo.money.mapper.MoneyCostMapper;
+import vip.xiaonuo.sys.modular.org.entity.SysOrg;
+import vip.xiaonuo.sys.modular.org.mapper.SysOrgMapper;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import java.io.InputStream;
 import java.io.InputStream;
@@ -35,6 +40,10 @@ public class ImportDataImpl implements ImportData {
     private HrBaseDepartmentService departmentService;
     private HrBaseDepartmentService departmentService;
     @Autowired
     @Autowired
     private HrBaseEmployeeInfoService infoService;
     private HrBaseEmployeeInfoService infoService;
+    @Autowired
+    private MoneyCostMapper moneyCostMapper;
+    @Autowired
+    private SysOrgMapper orgMapper;
 
 
     @Override
     @Override
     @Transactional
     @Transactional
@@ -191,4 +200,47 @@ public class ImportDataImpl implements ImportData {
         }
         }
         return CommonResult.ok();
         return CommonResult.ok();
     }
     }
+
+    @Override
+    public CommonResult importMoney(HttpServletRequest httpServletRequest, String orgId, MultipartFile files) {
+        Map<String , String> map = new HashMap<>();
+        //表头与键值对的映射关系
+        map.put("填报时间" , "createTime");
+        map.put("管理费用" , "manage");
+        map.put("销售费用" , "sale");
+        map.put("财务费用" , "finance");
+        SysOrg org = orgMapper.selectOne(new QueryWrapper<SysOrg>().eq("id", orgId));
+        try(
+                //这里面的对象会自动关闭
+                InputStream in = files.getInputStream();
+                Workbook workbook = ExcelImportSheet.getTypeFromExtends(in , files.getOriginalFilename())
+        ) {
+
+            //根据名称获取单张表对象 也可以使用getSheetAt(int index)获取单张表的对象 获取第一张表
+            Sheet sheet = workbook.getSheetAt(0);
+            List<MoneyData> list = ExcelImportSheet.getListFromExcel(sheet , MoneyData.class , map);
+
+            for (MoneyData moneyData : list) {
+                if (moneyData.getCreateTime() == null) {
+                } else {
+                    MoneyCost moneyCost = new MoneyCost();
+                    moneyCost.setSale(moneyData.getSale());
+                    moneyCost.setManage(moneyData.getManage());
+                    moneyCost.setFinance(moneyData.getFinance());
+                    moneyCost.setCreateTime(moneyData.getCreateTime());
+                    moneyCost.setOrgId(orgId);
+                    moneyCost.setCompany(org.getName());
+                    moneyCostMapper.insert(moneyCost);
+                }
+
+            }
+
+        } catch (Exception e) {
+            e.printStackTrace();
+            return CommonResult.error();
+        }finally {
+            //写着好看的
+        }
+        return CommonResult.ok();
+    }
 }
 }

+ 2 - 0
huimv-farm/src/main/java/vip/xiaonuo/money/param/MoneyInOutParam.java

@@ -31,5 +31,7 @@ public class MoneyInOutParam {
 
 
     @ApiModelProperty(value = "orgId", required = true)
     @ApiModelProperty(value = "orgId", required = true)
     private String orgId;
     private String orgId;
+    @ApiModelProperty(value = "时间,格式为'2024-10'", required = true)
+    private String time;
 
 
 }
 }

+ 2 - 2
huimv-farm/src/main/java/vip/xiaonuo/money/service/impl/MoneyIncomeServiceImpl.java

@@ -139,7 +139,7 @@ public class MoneyIncomeServiceImpl extends ServiceImpl<MoneyIncomeMapper, Money
             income2.setYearTarget("0");
             income2.setYearTarget("0");
         } else {
         } else {
             for (MoneyIncome moneyIncome : incomes) {
             for (MoneyIncome moneyIncome : incomes) {
-                if (moneyIncome.getOrgId().equals("1543842934270394368")) {
+                if (moneyIncome.getOrgId().equals("1891303052992876545")) {
                     BigDecimal bg1 = new BigDecimal(moneyIncome.getYearTarget());
                     BigDecimal bg1 = new BigDecimal(moneyIncome.getYearTarget());
                     bg1 = bg1.divide(math, 2, RoundingMode.HALF_UP);
                     bg1 = bg1.divide(math, 2, RoundingMode.HALF_UP);
                     income.setYearTarget(bg1.toString());
                     income.setYearTarget(bg1.toString());
@@ -171,7 +171,7 @@ public class MoneyIncomeServiceImpl extends ServiceImpl<MoneyIncomeMapper, Money
         } else {
         } else {
             for (MoneyBusiness business : businesses) {
             for (MoneyBusiness business : businesses) {
                 if (business.getOrgId() != null) {
                 if (business.getOrgId() != null) {
-                    if (business.getOrgId().equals("1543842934270394368")) {
+                    if (business.getOrgId().equals("1891303052992876545")) {
                         BigDecimal bg1 = new BigDecimal(business.getBusinessIncome());
                         BigDecimal bg1 = new BigDecimal(business.getBusinessIncome());
                         bg1 = bg1.divide(math, 2, RoundingMode.HALF_UP);
                         bg1 = bg1.divide(math, 2, RoundingMode.HALF_UP);
                         income.setYearActual(bg1.toString());
                         income.setYearActual(bg1.toString());

+ 40 - 103
huimv-farm/src/main/java/vip/xiaonuo/money/service/impl/MoneyProduceServiceImpl.java

@@ -148,14 +148,9 @@ public class MoneyProduceServiceImpl extends ServiceImpl<MoneyProduceMapper, Mon
         Integer type = moneyProduceParam.getType();//是否包含关联交易
         Integer type = moneyProduceParam.getType();//是否包含关联交易
         Integer timeType = moneyProduceParam.getTimeType();
         Integer timeType = moneyProduceParam.getTimeType();
         Integer number = moneyProduceParam.getNumber();
         Integer number = moneyProduceParam.getNumber();
-        QueryWrapper<MoneyProduce> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq(StringUtils.isNotBlank(orgId), "org_id", orgId)
-                .eq("transaction_type", type);
+        QueryWrapper<MoneyProduce0422> produce0422QueryWrapper = new QueryWrapper<>();
+        produce0422QueryWrapper.eq(StringUtils.isNotBlank(orgId), "org_id", orgId);
 
 
-        queryWrapper.select(" IFNULL(sum(nf_cholesterol),0) nfCholesterol,IFNULL(sum(breed_cholesterol),0) breedCholesterol," +
-                "IFNULL(sum(sheep_alcohol),0) sheepAlcohol,IFNULL(sum(sheep_sour),0) sheepSour," +
-                "IFNULL(sum(sheep_sour_bing),0) sheepSourBing,IFNULL(sum(other),0) other," +
-                "DATE_FORMAT(create_time,'%Y-%m-%d') createTime");
         if (0 == timeType) {
         if (0 == timeType) {
             Calendar calendar = Calendar.getInstance();
             Calendar calendar = Calendar.getInstance();
             if (null == number) {
             if (null == number) {
@@ -163,8 +158,8 @@ public class MoneyProduceServiceImpl extends ServiceImpl<MoneyProduceMapper, Mon
             } else {
             } else {
                 calendar.add(Calendar.YEAR, -number);
                 calendar.add(Calendar.YEAR, -number);
             }
             }
-            queryWrapper.between("create_time", calendar.getTime(), new Date());
-            queryWrapper.groupBy("DATE_FORMAT(create_time,'%Y')").orderByAsc("create_time");
+            produce0422QueryWrapper.between("create_time", calendar.getTime(), new Date());
+            produce0422QueryWrapper.groupBy("DATE_FORMAT(create_time,'%Y'),material_type").orderByAsc("create_time");
         } else {
         } else {
             Calendar calendar = Calendar.getInstance();
             Calendar calendar = Calendar.getInstance();
             if (null == number) {
             if (null == number) {
@@ -172,53 +167,22 @@ public class MoneyProduceServiceImpl extends ServiceImpl<MoneyProduceMapper, Mon
             } else {
             } else {
                 calendar.add(Calendar.MONTH, -number);
                 calendar.add(Calendar.MONTH, -number);
             }
             }
-            queryWrapper.between("create_time", calendar.getTime(), new Date());
-            queryWrapper.groupBy("DATE_FORMAT(create_time,'%Y-%m')").orderByAsc("create_time");
+            produce0422QueryWrapper.between("create_time", calendar.getTime(), new Date());
+            produce0422QueryWrapper.groupBy("DATE_FORMAT(create_time,'%Y-%m'),material_type").orderByAsc("create_time");
         }
         }
-        List<MoneyProduce> list = produceMapper.selectList(queryWrapper);
+        produce0422QueryWrapper.select("IFNUll(sum(material_amount),'0') materialAmount,material_type materialType,create_time createTime");
+        List<MoneyProduce0422> list = produce0422Mapper.selectList(produce0422QueryWrapper);
         JSONArray jsonArray = new JSONArray();
         JSONArray jsonArray = new JSONArray();
         BigDecimal math = new BigDecimal("10000");
         BigDecimal math = new BigDecimal("10000");
-        for (MoneyProduce produce : list) {
-            JSONObject jsonObject = new JSONObject();
-            switch (moneyProduceParam.getPType()) {
-                case 0:
-                    BigDecimal bg=new BigDecimal(produce.getNfCholesterol());
-                    bg = bg.divide(math, 2, RoundingMode.HALF_UP);
-                    jsonObject.put("value", bg.toString());
-                    jsonObject.put("createTime", produce.getCreateTime());
-                    break;
-                case 1:
-                    BigDecimal bg1=new BigDecimal(produce.getBreedCholesterol());
-                    bg1 = bg1.divide(math, 2, RoundingMode.HALF_UP);
-                    jsonObject.put("value", bg1.toString());
-                    jsonObject.put("createTime", produce.getCreateTime());
-                    break;
-                case 2:
-                    BigDecimal bg2=new BigDecimal(produce.getSheepAlcohol());
-                    bg2 = bg2.divide(math, 2, RoundingMode.HALF_UP);
-                    jsonObject.put("value", bg2.toString());
-                    jsonObject.put("createTime", produce.getCreateTime());
-                    break;
-                case 3:
-                    BigDecimal bg3=new BigDecimal(produce.getSheepSour());
-                    bg3 = bg3.divide(math, 2, RoundingMode.HALF_UP);
-                    jsonObject.put("value", bg3.toString());
-                    jsonObject.put("createTime", produce.getCreateTime());
-                    break;
-                case 4:
-                    BigDecimal bg4=new BigDecimal(produce.getSheepSourBing());
-                    bg4 = bg4.divide(math, 2, RoundingMode.HALF_UP);
-                    jsonObject.put("value",bg4.toString());
-                    jsonObject.put("createTime", produce.getCreateTime());
-                    break;
-                case 5:
-                    BigDecimal bg5=new BigDecimal(produce.getOther());
-                    bg5 = bg5.divide(math, 2, RoundingMode.HALF_UP);
-                    jsonObject.put("value", bg5.toString());
-                    jsonObject.put("createTime", produce.getCreateTime());
-                    break;
+        for (MoneyProduce0422 produce : list) {
+            if (moneyProduceParam.getPType().equals(produce.getMaterialType())) {
+                JSONObject jsonObject = new JSONObject();
+                BigDecimal bg=new BigDecimal(produce.getMaterialAmount());
+                bg = bg.divide(math, 2, RoundingMode.HALF_UP);
+                jsonObject.put("value", bg.toString());
+                jsonObject.put("createTime", produce.getCreateTime());
+                jsonArray.add(jsonObject);
             }
             }
-            jsonArray.add(jsonObject);
         }
         }
         return jsonArray;
         return jsonArray;
     }
     }
@@ -226,9 +190,17 @@ public class MoneyProduceServiceImpl extends ServiceImpl<MoneyProduceMapper, Mon
     @Override
     @Override
     public JSONObject getInOut(MoneyInOutParam inOutParam) {
     public JSONObject getInOut(MoneyInOutParam inOutParam) {
         String orgId = inOutParam.getOrgId();
         String orgId = inOutParam.getOrgId();
+        String time = inOutParam.getTime();
         QueryWrapper<MoneyProduce> queryWrapper = new QueryWrapper<>();
         QueryWrapper<MoneyProduce> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq(StringUtils.isNotBlank(orgId), "org_id", orgId);
         queryWrapper.eq(StringUtils.isNotBlank(orgId), "org_id", orgId);
         queryWrapper.select(" IFNULL(sum(in_money),'0') inMoney,IFNULL(sum(out_money),'0') outMoney");
         queryWrapper.select(" IFNULL(sum(in_money),'0') inMoney,IFNULL(sum(out_money),'0') outMoney");
+        if ("".equals(time) || null == time) {
+            DateTime dateTime = DateUtil.beginOfYear(new Date());
+            queryWrapper.ge("create_time", dateTime);
+        } else {
+//            String year = time.substring(0, 4);
+            queryWrapper.between("create_time", time + "-01 00:00:00", time + "-31 23:59:59");
+        }
         MoneyProduce moneyProduce = produceMapper.selectOne(queryWrapper);
         MoneyProduce moneyProduce = produceMapper.selectOne(queryWrapper);
 
 
         JSONObject jsonObject = new JSONObject();
         JSONObject jsonObject = new JSONObject();
@@ -247,13 +219,10 @@ public class MoneyProduceServiceImpl extends ServiceImpl<MoneyProduceMapper, Mon
         String orgId = moneyProduceParam.getOrgId();
         String orgId = moneyProduceParam.getOrgId();
         Integer timeType = moneyProduceParam.getTimeType();
         Integer timeType = moneyProduceParam.getTimeType();
         Integer number = moneyProduceParam.getNumber();
         Integer number = moneyProduceParam.getNumber();
-        QueryWrapper<MoneyProduceIncome> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq(StringUtils.isNotBlank(orgId), "org_id", orgId);
+        QueryWrapper<MoneyProduce0422> produce0422QueryWrapper = new QueryWrapper<>();
+        produce0422QueryWrapper.eq(StringUtils.isNotBlank(orgId), "org_id", orgId);
+        produce0422QueryWrapper.select("IFNUll(sum(material_qty),'0') materialQty,material_type materialType,create_time createTime");
 
 
-        queryWrapper.select(" IFNULL(sum(nf_cholesterol),0) nfCholesterol,IFNULL(sum(breed_cholesterol),0) breedCholesterol," +
-                "IFNULL(sum(sheep_alcohol),0) sheepAlcohol,IFNULL(sum(sheep_sour),0) sheepSour," +
-                "IFNULL(sum(sheep_sour_bing),0) sheepSourBing,IFNULL(sum(other),0) other," +
-                "DATE_FORMAT(create_time,'%Y-%m-%d') createTime");
         if (0 == timeType) {
         if (0 == timeType) {
             Calendar calendar = Calendar.getInstance();
             Calendar calendar = Calendar.getInstance();
             if (null == number) {
             if (null == number) {
@@ -261,8 +230,8 @@ public class MoneyProduceServiceImpl extends ServiceImpl<MoneyProduceMapper, Mon
             } else {
             } else {
                 calendar.add(Calendar.YEAR, -number);
                 calendar.add(Calendar.YEAR, -number);
             }
             }
-            queryWrapper.between("create_time", calendar.getTime(), new Date());
-            queryWrapper.groupBy("DATE_FORMAT(create_time,'%Y')").orderByAsc("create_time");
+            produce0422QueryWrapper.between("create_time", calendar.getTime(), new Date());
+            produce0422QueryWrapper.groupBy("DATE_FORMAT(create_time,'%Y'),material_type").orderByAsc("create_time");
         } else {
         } else {
             Calendar calendar = Calendar.getInstance();
             Calendar calendar = Calendar.getInstance();
             if (null == number) {
             if (null == number) {
@@ -270,53 +239,21 @@ public class MoneyProduceServiceImpl extends ServiceImpl<MoneyProduceMapper, Mon
             } else {
             } else {
                 calendar.add(Calendar.MONTH, -number);
                 calendar.add(Calendar.MONTH, -number);
             }
             }
-            queryWrapper.between("create_time", calendar.getTime(), new Date());
-            queryWrapper.groupBy("DATE_FORMAT(create_time,'%Y-%m')").orderByAsc("create_time");
+            produce0422QueryWrapper.between("create_time", calendar.getTime(), new Date());
+            produce0422QueryWrapper.groupBy("DATE_FORMAT(create_time,'%Y-%m'),material_type").orderByAsc("create_time");
         }
         }
-        List<MoneyProduceIncome> list = incomeMapper.selectList(queryWrapper);
+        List<MoneyProduce0422> list = produce0422Mapper.selectList(produce0422QueryWrapper);
         JSONArray jsonArray = new JSONArray();
         JSONArray jsonArray = new JSONArray();
         BigDecimal math = new BigDecimal("10000");
         BigDecimal math = new BigDecimal("10000");
-        for (MoneyProduceIncome produce : list) {
-            JSONObject jsonObject = new JSONObject();
-            switch (moneyProduceParam.getPType()) {
-                case 0:
-                    BigDecimal bd = new BigDecimal(produce.getNfCholesterol());
-                    bd = bd.divide(math, 2, RoundingMode.HALF_UP);
-                    jsonObject.put("value", bd.toString());
-                    jsonObject.put("createTime", produce.getCreateTime());
-                    break;
-                case 1:
-                    BigDecimal bd1 = new BigDecimal(produce.getBreedCholesterol());
-                    bd1 = bd1.divide(math, 2, RoundingMode.HALF_UP);
-                    jsonObject.put("value", bd1.toString());
-                    jsonObject.put("createTime", produce.getCreateTime());
-                    break;
-                case 2:
-                    BigDecimal bd2 = new BigDecimal(produce.getSheepAlcohol());
-                    bd2 = bd2.divide(math, 2, RoundingMode.HALF_UP);
-                    jsonObject.put("value", bd2.toString());
-                    jsonObject.put("createTime", produce.getCreateTime());
-                    break;
-                case 3:
-                    BigDecimal bd3 = new BigDecimal(produce.getSheepSour());
-                    bd3 = bd3.divide(math, 2, RoundingMode.HALF_UP);
-                    jsonObject.put("value",bd3.toString());
-                    jsonObject.put("createTime", produce.getCreateTime());
-                    break;
-                case 4:
-                    BigDecimal bd4 = new BigDecimal(produce.getSheepSourBing());
-                    bd4 = bd4.divide(math, 2, RoundingMode.HALF_UP);
-                    jsonObject.put("value", bd4.toString());
-                    jsonObject.put("createTime", produce.getCreateTime());
-                    break;
-                case 5:
-                    BigDecimal bd5 = new BigDecimal(produce.getOther());
-                    bd5 = bd5.divide(math, 2, RoundingMode.HALF_UP);
-                    jsonObject.put("value",bd5.toString());
-                    jsonObject.put("createTime", produce.getCreateTime());
-                    break;
+        for (MoneyProduce0422 produce : list) {
+
+            if (moneyProduceParam.getPType().equals(produce.getMaterialType())) {
+                JSONObject jsonObject = new JSONObject();
+                jsonObject.put("value", produce.getMaterialQty());
+                jsonObject.put("createTime", produce.getCreateTime());
+                jsonArray.add(jsonObject);
             }
             }
-            jsonArray.add(jsonObject);
+
         }
         }
         return jsonArray;
         return jsonArray;
     }
     }