|
@@ -1,14 +1,19 @@
|
|
package com.huimv.admin.service.impl;
|
|
package com.huimv.admin.service.impl;
|
|
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
|
+import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
|
+import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.huimv.admin.common.token.TokenSign;
|
|
import com.huimv.admin.common.token.TokenSign;
|
|
import com.huimv.admin.common.utils.DataUill;
|
|
import com.huimv.admin.common.utils.DataUill;
|
|
import com.huimv.admin.common.utils.Result;
|
|
import com.huimv.admin.common.utils.Result;
|
|
import com.huimv.admin.common.utils.ResultCode;
|
|
import com.huimv.admin.common.utils.ResultCode;
|
|
import com.huimv.admin.entity.*;
|
|
import com.huimv.admin.entity.*;
|
|
|
|
+import com.huimv.admin.entity.vo.BillAdmissionAndGoods;
|
|
import com.huimv.admin.entity.vo.CleanAndDryVo2;
|
|
import com.huimv.admin.entity.vo.CleanAndDryVo2;
|
|
import com.huimv.admin.mapper.*;
|
|
import com.huimv.admin.mapper.*;
|
|
import cn.hutool.core.date.DateTime;
|
|
import cn.hutool.core.date.DateTime;
|
|
@@ -76,10 +81,12 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
|
|
private UploadImage uploadImage;
|
|
private UploadImage uploadImage;
|
|
@Autowired
|
|
@Autowired
|
|
private BillDryMapper dryMapper;
|
|
private BillDryMapper dryMapper;
|
|
|
|
+ @Resource
|
|
|
|
+ private BillGoodsInventoryMapper billGoodsInventoryMapper;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
- public Result addAdmission(HttpServletRequest httpServletRequest, String admissionType, String vistitType, String userName, String phone, String workName, String papersType, String papersCode, MultipartFile imgUrl, String img, String vistitDate, String vistitReson, String destId, String destName, String farmId, String carNum, String source) throws IOException {
|
|
|
|
|
|
+ public Result addAdmission(HttpServletRequest httpServletRequest, String admissionType, String vistitType, String userName, String phone, String workName, String papersType, String papersCode, MultipartFile imgUrl, String img, String vistitDate, String vistitReson, String destId, String destName, String farmId, String carNum, String source,String goods) throws IOException {
|
|
Integer userId = TokenSign.getMemberIdByJwtToken(httpServletRequest);
|
|
Integer userId = TokenSign.getMemberIdByJwtToken(httpServletRequest);
|
|
if (!PhoneNumberValidator.isValidPhoneNumber(phone)) {
|
|
if (!PhoneNumberValidator.isValidPhoneNumber(phone)) {
|
|
return new Result(10001, "手机号格式错误!", false);
|
|
return new Result(10001, "手机号格式错误!", false);
|
|
@@ -141,6 +148,23 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
|
|
baseProcessMapper.insert(baseProcess);
|
|
baseProcessMapper.insert(baseProcess);
|
|
billPersonnelAdmission.setProcessId(baseProcess.getId());
|
|
billPersonnelAdmission.setProcessId(baseProcess.getId());
|
|
billPersonnelAdmissionMapper.insert(billPersonnelAdmission);
|
|
billPersonnelAdmissionMapper.insert(billPersonnelAdmission);
|
|
|
|
+ if (ObjectUtil.isNotEmpty(goods)){
|
|
|
|
+ ObjectMapper objectMapper = new ObjectMapper();
|
|
|
|
+ List<BillGoodsInventory> admissionAndGoods = objectMapper.readValue(goods, new TypeReference<List<BillGoodsInventory>>() {});
|
|
|
|
+ for (BillGoodsInventory good : admissionAndGoods) {
|
|
|
|
+ good.setBillAdmission(billPersonnelAdmission.getId());
|
|
|
|
+ if (Integer.parseInt(destId) <= 50){
|
|
|
|
+ BaseLocation baseLocation1 = baseLocationMapper.selectOne(new QueryWrapper<BaseLocation>().eq("vistit_type", vistitType).eq("location_type", 2).eq("parent_id",1));
|
|
|
|
+ good.setCurrentLocation(baseLocation1.getLocationName());
|
|
|
|
+ good.setCurrentLocationId(baseLocation1.getId());
|
|
|
|
+ }else {
|
|
|
|
+ BaseLocation baseLocation2 = baseLocationMapper.selectOne(new QueryWrapper<BaseLocation>().eq("vistit_type", vistitType).eq("location_type", 3).eq("parent_id",1));
|
|
|
|
+ good.setCurrentLocation(baseLocation2.getLocationName());
|
|
|
|
+ good.setCurrentLocationId(baseLocation2.getId());
|
|
|
|
+ }
|
|
|
|
+ billGoodsInventoryMapper.insert(good);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
return Result.SUCCESS();
|
|
return Result.SUCCESS();
|
|
}
|
|
}
|
|
|
|
|
|
@@ -218,22 +242,34 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
|
|
baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + LocalDateTime.now().format(dateTimeFormatter));
|
|
baseProcess.setUpdateDate(baseProcess.getUpdateDate() + "," + LocalDateTime.now().format(dateTimeFormatter));
|
|
}
|
|
}
|
|
if (type.equals("0")) {
|
|
if (type.equals("0")) {
|
|
|
|
+ String[] split = baseProcess.getCurrentStatus().split(",");
|
|
|
|
+ split[split.length-1]="2";
|
|
//拒绝
|
|
//拒绝
|
|
billPersonnelAdmission.setBillStatus(2);
|
|
billPersonnelAdmission.setBillStatus(2);
|
|
baseProcess.setProcessType(2);
|
|
baseProcess.setProcessType(2);
|
|
|
|
+ baseProcess.setCurrentStatus(String.join(",",split));
|
|
} else {
|
|
} else {
|
|
//通过
|
|
//通过
|
|
billPersonnelAdmission.setBillStatus(1);
|
|
billPersonnelAdmission.setBillStatus(1);
|
|
//获取pcr位置
|
|
//获取pcr位置
|
|
- String laseLocationId = baseProcess.getCurrentLocationId();
|
|
|
|
|
|
+ String locationId = baseProcess.getCurrentLocationId();
|
|
|
|
+ String[] strings = locationId.split(",");
|
|
|
|
+ String laseLocationId = strings[strings.length-1];
|
|
BaseLocation laseLocation = baseLocationMapper.selectById(laseLocationId);
|
|
BaseLocation laseLocation = baseLocationMapper.selectById(laseLocationId);
|
|
BaseLocation baseLocation = baseLocationMapper.selectById(laseLocation.getNextId());
|
|
BaseLocation baseLocation = baseLocationMapper.selectById(laseLocation.getNextId());
|
|
if (userType == 3) {
|
|
if (userType == 3) {
|
|
|
|
+ String[] split = baseProcess.getCurrentStatus().split(",");
|
|
|
|
+ split[split.length-1]="1";
|
|
if (locationIds.contains(billPersonnelAdmission.getDestId())) {
|
|
if (locationIds.contains(billPersonnelAdmission.getDestId())) {
|
|
- baseProcess.setCurrentStatus("1");
|
|
|
|
|
|
+ baseProcess.setCurrentStatus(String.join(",",split));
|
|
baseProcess.setProcessType(1);
|
|
baseProcess.setProcessType(1);
|
|
} else {
|
|
} else {
|
|
- baseProcess.setCurrentStatus("1,0");
|
|
|
|
|
|
+ StringBuilder result = new StringBuilder();
|
|
|
|
+ for (String element : split) {
|
|
|
|
+ result.append(element).append(",");
|
|
|
|
+ }
|
|
|
|
+ result.append("0");
|
|
|
|
+ baseProcess.setCurrentStatus(result.toString());
|
|
baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() + "," + baseLocation.getLocationName());
|
|
baseProcess.setCurrentLocation(baseProcess.getCurrentLocation() + "," + baseLocation.getLocationName());
|
|
baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() + "," + baseLocation.getId());
|
|
baseProcess.setCurrentLocationId(baseProcess.getCurrentLocationId() + "," + baseLocation.getId());
|
|
BillPcr billPcr = new BillPcr();
|
|
BillPcr billPcr = new BillPcr();
|
|
@@ -289,7 +325,12 @@ public class BillPersonnelAdmissionServiceImpl extends ServiceImpl<BillPersonnel
|
|
String type = paramsMap.get("type");
|
|
String type = paramsMap.get("type");
|
|
String id = paramsMap.get("id");
|
|
String id = paramsMap.get("id");
|
|
if (type.equals("0")) {
|
|
if (type.equals("0")) {
|
|
- return new Result(ResultCode.SUCCESS, billPersonnelAdmissionMapper.selectById(id));
|
|
|
|
|
|
+ BillPersonnelAdmission billPersonnelAdmission = billPersonnelAdmissionMapper.selectById(id);
|
|
|
|
+ BillAdmissionAndGoods billAdmissionAndGoods = new BillAdmissionAndGoods();
|
|
|
|
+ BeanUtil.copyProperties(billPersonnelAdmission,billAdmissionAndGoods);
|
|
|
|
+ List<BillGoodsInventory> billGoodsInventories = billGoodsInventoryMapper.selectList(new QueryWrapper<BillGoodsInventory>().eq("bill_admission", id));
|
|
|
|
+ billAdmissionAndGoods.setGoods(billGoodsInventories);
|
|
|
|
+ return new Result(ResultCode.SUCCESS,billAdmissionAndGoods);
|
|
} else if (type.equals("1")) {
|
|
} else if (type.equals("1")) {
|
|
return new Result(ResultCode.SUCCESS, billPcrMapper.selectById(id));
|
|
return new Result(ResultCode.SUCCESS, billPcrMapper.selectById(id));
|
|
} else if (type.equals("2")) {
|
|
} else if (type.equals("2")) {
|