|
@@ -15,6 +15,7 @@ import com.deepoove.poi.data.Pictures;
|
|
import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
|
|
import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
|
|
import com.ruoyi.common.config.RuoYiConfig;
|
|
import com.ruoyi.common.config.RuoYiConfig;
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
|
+import com.ruoyi.common.core.domain.entity.SysRole;
|
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
|
import com.ruoyi.common.core.domain.model.LoginBody;
|
|
import com.ruoyi.common.core.domain.model.LoginBody;
|
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
|
import com.ruoyi.common.core.domain.model.LoginUser;
|
|
@@ -39,18 +40,16 @@ import com.ruoyi.system.service.IWorkOrderInfoService;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import static com.ruoyi.common.constant.UserConstants.*;
|
|
import static com.ruoyi.common.constant.UserConstants.*;
|
|
-import static com.ruoyi.common.utils.DateUtils.YYYY;
|
|
|
|
-import static com.ruoyi.common.utils.DateUtils.YYYY_MM;
|
|
|
|
|
|
+import static com.ruoyi.common.utils.DateUtils.*;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 工单信息Service业务层处理
|
|
* 工单信息Service业务层处理
|
|
- *
|
|
|
|
|
|
+ *
|
|
* @author ruoyi
|
|
* @author ruoyi
|
|
* @date 2025-05-12
|
|
* @date 2025-05-12
|
|
*/
|
|
*/
|
|
@Service
|
|
@Service
|
|
-public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
|
|
-{
|
|
|
|
|
|
+public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService {
|
|
@Autowired
|
|
@Autowired
|
|
private WorkOrderInfoMapper workOrderInfoMapper;
|
|
private WorkOrderInfoMapper workOrderInfoMapper;
|
|
|
|
|
|
@@ -70,25 +69,24 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
|
|
|
|
/**
|
|
/**
|
|
* 查询工单信息
|
|
* 查询工单信息
|
|
- *
|
|
|
|
|
|
+ *
|
|
* @param orderId 工单信息主键
|
|
* @param orderId 工单信息主键
|
|
* @return 工单信息
|
|
* @return 工单信息
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public WorkOrderInfo selectWorkOrderInfoByOrderId(String orderId)
|
|
|
|
- {
|
|
|
|
|
|
+ public WorkOrderInfo selectWorkOrderInfoByOrderId(String orderId) {
|
|
WorkOrderInfo workOrderInfo = workOrderInfoMapper.selectWorkOrderInfoByOrderId(orderId);
|
|
WorkOrderInfo workOrderInfo = workOrderInfoMapper.selectWorkOrderInfoByOrderId(orderId);
|
|
- if(workOrderInfo!=null){
|
|
|
|
|
|
+ if (workOrderInfo != null) {
|
|
//查询附件
|
|
//查询附件
|
|
WorkOrderFj workOrderFj = new WorkOrderFj();
|
|
WorkOrderFj workOrderFj = new WorkOrderFj();
|
|
workOrderFj.setOrderId(orderId);
|
|
workOrderFj.setOrderId(orderId);
|
|
//workOrderFj.setType(USER_DISABLE);
|
|
//workOrderFj.setType(USER_DISABLE);
|
|
List<WorkOrderFj> workOrderFjs = workOrderFjMapper.selectWorkOrderFjList(workOrderFj);
|
|
List<WorkOrderFj> workOrderFjs = workOrderFjMapper.selectWorkOrderFjList(workOrderFj);
|
|
- if(workOrderFjs!=null && !workOrderFjs.isEmpty()){
|
|
|
|
- Map<String,List<WorkOrderFj>> map = workOrderFjs.stream().collect(Collectors.groupingBy(WorkOrderFj::getType));
|
|
|
|
|
|
+ if (workOrderFjs != null && !workOrderFjs.isEmpty()) {
|
|
|
|
+ Map<String, List<WorkOrderFj>> map = workOrderFjs.stream().collect(Collectors.groupingBy(WorkOrderFj::getType));
|
|
workOrderInfo.setWorkOrderFjXqList(map.get(ONE));
|
|
workOrderInfo.setWorkOrderFjXqList(map.get(ONE));
|
|
workOrderInfo.setWorkOrderFjQmList(map.get(TWO));
|
|
workOrderInfo.setWorkOrderFjQmList(map.get(TWO));
|
|
- if(map.get(THR)!=null && !map.get(THR).isEmpty()){
|
|
|
|
|
|
+ if (map.get(THR) != null && !map.get(THR).isEmpty()) {
|
|
workOrderInfo.setWorkOrderFjgd(map.get(THR).get(0));
|
|
workOrderInfo.setWorkOrderFjgd(map.get(THR).get(0));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -96,7 +94,7 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
ChargeDetails chargeDetails = new ChargeDetails();
|
|
ChargeDetails chargeDetails = new ChargeDetails();
|
|
chargeDetails.setOrderId(orderId);
|
|
chargeDetails.setOrderId(orderId);
|
|
List<ChargeDetails> chargeDetails1 = chargeDetailsMapper.selectChargeDetailsList(chargeDetails);
|
|
List<ChargeDetails> chargeDetails1 = chargeDetailsMapper.selectChargeDetailsList(chargeDetails);
|
|
- if(chargeDetails1!=null && !chargeDetails1.isEmpty()){
|
|
|
|
|
|
+ if (chargeDetails1 != null && !chargeDetails1.isEmpty()) {
|
|
workOrderInfo.setChargeDetailsList(chargeDetails1);
|
|
workOrderInfo.setChargeDetailsList(chargeDetails1);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -106,25 +104,23 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
|
|
|
|
/**
|
|
/**
|
|
* 查询工单信息列表
|
|
* 查询工单信息列表
|
|
- *
|
|
|
|
|
|
+ *
|
|
* @param workOrderInfo 工单信息
|
|
* @param workOrderInfo 工单信息
|
|
* @return 工单信息
|
|
* @return 工单信息
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public List<WorkOrderInfo> selectWorkOrderInfoList(WorkOrderInfo workOrderInfo)
|
|
|
|
- {
|
|
|
|
|
|
+ public List<WorkOrderInfo> selectWorkOrderInfoList(WorkOrderInfo workOrderInfo) {
|
|
return workOrderInfoMapper.selectWorkOrderInfoList(workOrderInfo);
|
|
return workOrderInfoMapper.selectWorkOrderInfoList(workOrderInfo);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
* 新增工单信息
|
|
* 新增工单信息
|
|
- *
|
|
|
|
|
|
+ *
|
|
* @param workOrderInfo 工单信息
|
|
* @param workOrderInfo 工单信息
|
|
* @return 结果
|
|
* @return 结果
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public int insertWorkOrderInfo(WorkOrderInfo workOrderInfo)
|
|
|
|
- {
|
|
|
|
|
|
+ public int insertWorkOrderInfo(WorkOrderInfo workOrderInfo) {
|
|
SysUser user = SecurityUtils.getLoginUser().getUser();
|
|
SysUser user = SecurityUtils.getLoginUser().getUser();
|
|
workOrderInfo.setUserId(user.getUserId());
|
|
workOrderInfo.setUserId(user.getUserId());
|
|
workOrderInfo.setUserName(user.getUserName());
|
|
workOrderInfo.setUserName(user.getUserName());
|
|
@@ -132,7 +128,7 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
workOrderInfo.setOrderId(DateUtils.getOrderId());
|
|
workOrderInfo.setOrderId(DateUtils.getOrderId());
|
|
workOrderInfo.setCreateTime(DateUtils.getNowDate());
|
|
workOrderInfo.setCreateTime(DateUtils.getNowDate());
|
|
int i = workOrderInfoMapper.insertWorkOrderInfo(workOrderInfo);
|
|
int i = workOrderInfoMapper.insertWorkOrderInfo(workOrderInfo);
|
|
- if(workOrderInfo.getWorkOrderFjXqList()!=null && !workOrderInfo.getWorkOrderFjXqList().isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfo.getWorkOrderFjXqList() != null && !workOrderInfo.getWorkOrderFjXqList().isEmpty()) {
|
|
for (WorkOrderFj workOrderFj : workOrderInfo.getWorkOrderFjXqList()) {
|
|
for (WorkOrderFj workOrderFj : workOrderInfo.getWorkOrderFjXqList()) {
|
|
workOrderFj.setOrderId(workOrderInfo.getOrderId());
|
|
workOrderFj.setOrderId(workOrderInfo.getOrderId());
|
|
workOrderFjMapper.insertWorkOrderFj(workOrderFj);
|
|
workOrderFjMapper.insertWorkOrderFj(workOrderFj);
|
|
@@ -151,16 +147,18 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
|
|
|
|
/**
|
|
/**
|
|
* 修改工单信息
|
|
* 修改工单信息
|
|
- *
|
|
|
|
|
|
+ *
|
|
* @param workOrderInfo 工单信息
|
|
* @param workOrderInfo 工单信息
|
|
* @return 结果
|
|
* @return 结果
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public int updateWorkOrderInfo(WorkOrderInfo workOrderInfo)
|
|
|
|
- {
|
|
|
|
|
|
+ public int updateWorkOrderInfo(WorkOrderInfo workOrderInfo) {
|
|
|
|
|
|
- if(!THR.equals(workOrderInfo.getServiceProgress())){
|
|
|
|
- if(workOrderInfo.getChargeDetailsList()!=null && !workOrderInfo.getChargeDetailsList().isEmpty()){
|
|
|
|
|
|
+ if(NO.equals(workOrderInfo.getIsCharge())){
|
|
|
|
+ chargeDetailsMapper.deleteChargeDetailsByOrderId(workOrderInfo.getOrderId());
|
|
|
|
+ }
|
|
|
|
+ if (!THR.equals(workOrderInfo.getServiceProgress())) {
|
|
|
|
+ if (workOrderInfo.getChargeDetailsList() != null && !workOrderInfo.getChargeDetailsList().isEmpty()) {
|
|
//删除收费信息重新保存
|
|
//删除收费信息重新保存
|
|
chargeDetailsMapper.deleteChargeDetailsByOrderId(workOrderInfo.getOrderId());
|
|
chargeDetailsMapper.deleteChargeDetailsByOrderId(workOrderInfo.getOrderId());
|
|
//删除之后重新保存
|
|
//删除之后重新保存
|
|
@@ -169,25 +167,37 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
chargeDetailsMapper.insertChargeDetails(chargeDetails);
|
|
chargeDetailsMapper.insertChargeDetails(chargeDetails);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- chargeDetailsMapper.deleteChargeDetailsByOrderId(workOrderInfo.getOrderId());
|
|
|
|
- if(workOrderInfo.getWorkOrderFjXqList()!=null && !workOrderInfo.getWorkOrderFjXqList().isEmpty()){
|
|
|
|
|
|
+
|
|
|
|
+ if (workOrderInfo.getWorkOrderFjXqList() != null && !workOrderInfo.getWorkOrderFjXqList().isEmpty()) {
|
|
|
|
+ WorkOrderFj orderFj = new WorkOrderFj();
|
|
|
|
+ orderFj.setOrderId(workOrderInfo.getOrderId());
|
|
|
|
+ orderFj.setType(ONE);
|
|
|
|
+ workOrderFjMapper.deleteWorkOrderFj(orderFj);
|
|
for (WorkOrderFj workOrderFj : workOrderInfo.getWorkOrderFjXqList()) {
|
|
for (WorkOrderFj workOrderFj : workOrderInfo.getWorkOrderFjXqList()) {
|
|
workOrderFj.setOrderId(workOrderInfo.getOrderId());
|
|
workOrderFj.setOrderId(workOrderInfo.getOrderId());
|
|
workOrderFjMapper.insertWorkOrderFj(workOrderFj);
|
|
workOrderFjMapper.insertWorkOrderFj(workOrderFj);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if(workOrderInfo.getWorkOrderFjQmList()!=null && !workOrderInfo.getWorkOrderFjQmList().isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfo.getWorkOrderFjQmList() != null && !workOrderInfo.getWorkOrderFjQmList().isEmpty()) {
|
|
|
|
+ WorkOrderFj orderFj = new WorkOrderFj();
|
|
|
|
+ orderFj.setOrderId(workOrderInfo.getOrderId());
|
|
|
|
+ orderFj.setType(TWO);
|
|
|
|
+ workOrderFjMapper.deleteWorkOrderFj(orderFj);
|
|
for (WorkOrderFj workOrderFj : workOrderInfo.getWorkOrderFjQmList()) {
|
|
for (WorkOrderFj workOrderFj : workOrderInfo.getWorkOrderFjQmList()) {
|
|
workOrderFj.setOrderId(workOrderInfo.getOrderId());
|
|
workOrderFj.setOrderId(workOrderInfo.getOrderId());
|
|
workOrderFjMapper.insertWorkOrderFj(workOrderFj);
|
|
workOrderFjMapper.insertWorkOrderFj(workOrderFj);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if(workOrderInfo.getWorkOrderFjgd()!=null){
|
|
|
|
|
|
+ if (workOrderInfo.getWorkOrderFjgd() != null) {
|
|
|
|
+ WorkOrderFj orderFj = new WorkOrderFj();
|
|
|
|
+ orderFj.setOrderId(workOrderInfo.getOrderId());
|
|
|
|
+ orderFj.setType(THR);
|
|
|
|
+ workOrderFjMapper.deleteWorkOrderFj(orderFj);
|
|
workOrderInfo.getWorkOrderFjgd().setOrderId(workOrderInfo.getOrderId());
|
|
workOrderInfo.getWorkOrderFjgd().setOrderId(workOrderInfo.getOrderId());
|
|
workOrderFjMapper.insertWorkOrderFj(workOrderInfo.getWorkOrderFjgd());
|
|
workOrderFjMapper.insertWorkOrderFj(workOrderInfo.getWorkOrderFjgd());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if(TWO.equals(workOrderInfo.getServiceProgress())){
|
|
|
|
|
|
+ if (TWO.equals(workOrderInfo.getServiceProgress())) {
|
|
workOrderInfo.setAgency(TWO);
|
|
workOrderInfo.setAgency(TWO);
|
|
|
|
|
|
//操作记录
|
|
//操作记录
|
|
@@ -199,13 +209,14 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
operationRecord.setRecord(recod.toString());
|
|
operationRecord.setRecord(recod.toString());
|
|
operationRecordService.insertOperationRecord(operationRecord);
|
|
operationRecordService.insertOperationRecord(operationRecord);
|
|
}
|
|
}
|
|
- if(THR.equals(workOrderInfo.getServiceProgress())){
|
|
|
|
|
|
+ if (THR.equals(workOrderInfo.getServiceProgress())) {
|
|
|
|
+ WorkOrderInfo orderInfo = workOrderInfoMapper.selectWorkOrderInfoByOrderId(workOrderInfo.getOrderId());
|
|
//操作记录
|
|
//操作记录
|
|
OperationRecord operationRecord = new OperationRecord();
|
|
OperationRecord operationRecord = new OperationRecord();
|
|
operationRecord.setOrderId(workOrderInfo.getOrderId());
|
|
operationRecord.setOrderId(workOrderInfo.getOrderId());
|
|
- String type = dictDataMapper.selectDictLabel("service_progress", workOrderInfo.getType());
|
|
|
|
|
|
+ String type = dictDataMapper.selectDictLabel("service_progress", orderInfo.getType());
|
|
StringBuilder recod = new StringBuilder();
|
|
StringBuilder recod = new StringBuilder();
|
|
- recod.append(workOrderInfo.getUnitName()).append("的").append(type).append("已结束;客户评价:").append(workOrderInfo.getEvaluationContent());
|
|
|
|
|
|
+ recod.append(orderInfo.getUnitName()).append("的").append(type).append("已结束;客户评价:").append(workOrderInfo.getEvaluationContent());
|
|
operationRecord.setRecord(recod.toString());
|
|
operationRecord.setRecord(recod.toString());
|
|
operationRecordService.insertOperationRecord(operationRecord);
|
|
operationRecordService.insertOperationRecord(operationRecord);
|
|
}
|
|
}
|
|
@@ -215,25 +226,23 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
|
|
|
|
/**
|
|
/**
|
|
* 批量删除工单信息
|
|
* 批量删除工单信息
|
|
- *
|
|
|
|
|
|
+ *
|
|
* @param orderIds 需要删除的工单信息主键
|
|
* @param orderIds 需要删除的工单信息主键
|
|
* @return 结果
|
|
* @return 结果
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public int deleteWorkOrderInfoByOrderIds(String[] orderIds)
|
|
|
|
- {
|
|
|
|
|
|
+ public int deleteWorkOrderInfoByOrderIds(String[] orderIds) {
|
|
return workOrderInfoMapper.deleteWorkOrderInfoByOrderIds(orderIds);
|
|
return workOrderInfoMapper.deleteWorkOrderInfoByOrderIds(orderIds);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
* 删除工单信息信息
|
|
* 删除工单信息信息
|
|
- *
|
|
|
|
|
|
+ *
|
|
* @param orderId 工单信息主键
|
|
* @param orderId 工单信息主键
|
|
* @return 结果
|
|
* @return 结果
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public int deleteWorkOrderInfoByOrderId(String orderId)
|
|
|
|
- {
|
|
|
|
|
|
+ public int deleteWorkOrderInfoByOrderId(String orderId) {
|
|
return workOrderInfoMapper.deleteWorkOrderInfoByOrderId(orderId);
|
|
return workOrderInfoMapper.deleteWorkOrderInfoByOrderId(orderId);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -253,7 +262,7 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
workOrderInfo.setAgency(ONE);
|
|
workOrderInfo.setAgency(ONE);
|
|
|
|
|
|
//自主接单
|
|
//自主接单
|
|
- if(TWO.equals(workOrderInfo.getOrderPlacement())){
|
|
|
|
|
|
+ if (TWO.equals(workOrderInfo.getOrderPlacement())) {
|
|
SysUser user = SecurityUtils.getLoginUser().getUser();
|
|
SysUser user = SecurityUtils.getLoginUser().getUser();
|
|
workOrderInfo.setResponsibleId(user.getUserId());
|
|
workOrderInfo.setResponsibleId(user.getUserId());
|
|
workOrderInfo.setResponsibleName(user.getNickName());
|
|
workOrderInfo.setResponsibleName(user.getNickName());
|
|
@@ -276,39 +285,39 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
ChargeDetails chargeDetails = new ChargeDetails();
|
|
ChargeDetails chargeDetails = new ChargeDetails();
|
|
chargeDetails.setOrderId(orderId);
|
|
chargeDetails.setOrderId(orderId);
|
|
List<ChargeDetails> chargeDetails1 = chargeDetailsMapper.selectChargeDetailsList(chargeDetails);
|
|
List<ChargeDetails> chargeDetails1 = chargeDetailsMapper.selectChargeDetailsList(chargeDetails);
|
|
- if(chargeDetails1!=null && !chargeDetails1.isEmpty()){
|
|
|
|
|
|
+ if (chargeDetails1 != null && !chargeDetails1.isEmpty()) {
|
|
workOrderInfo.setChargeDetailsList(chargeDetails1);
|
|
workOrderInfo.setChargeDetailsList(chargeDetails1);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
HashMap<String, Object> finalMap = new HashMap<>();
|
|
HashMap<String, Object> finalMap = new HashMap<>();
|
|
- finalMap.put("khmc",workOrderInfo.getUnitName());
|
|
|
|
- finalMap.put("xmmc",workOrderInfo.getProjectName());
|
|
|
|
- if(ONE.equals(workOrderInfo.getShelfLife())){
|
|
|
|
- finalMap.put("bzqn",true);
|
|
|
|
- finalMap.put("bzqw",false);
|
|
|
|
- }else{
|
|
|
|
- finalMap.put("bzqn",false);
|
|
|
|
- finalMap.put("bzqw",true);
|
|
|
|
|
|
+ finalMap.put("khmc", workOrderInfo.getUnitName());
|
|
|
|
+ finalMap.put("xmmc", workOrderInfo.getProjectName());
|
|
|
|
+ if (ONE.equals(workOrderInfo.getShelfLife())) {
|
|
|
|
+ finalMap.put("bzqn", true);
|
|
|
|
+ finalMap.put("bzqw", false);
|
|
|
|
+ } else {
|
|
|
|
+ finalMap.put("bzqn", false);
|
|
|
|
+ finalMap.put("bzqw", true);
|
|
}
|
|
}
|
|
|
|
|
|
- if(YES.equals(workOrderInfo.getIsCharge())){
|
|
|
|
- finalMap.put("sfs",true);
|
|
|
|
- finalMap.put("sff",false);
|
|
|
|
- }else{
|
|
|
|
- finalMap.put("sfs",false);
|
|
|
|
- finalMap.put("sff",true);
|
|
|
|
- }
|
|
|
|
- finalMap.put("rmbdx",workOrderInfo.getTotalCostDx());
|
|
|
|
- finalMap.put("rmb",workOrderInfo.getTotalCost());
|
|
|
|
- finalMap.put("bz",workOrderInfo.getRemark());
|
|
|
|
- finalMap.put("lxfs",workOrderInfo.getPhonenumber());
|
|
|
|
- finalMap.put("rq",DateUtils.getDate());
|
|
|
|
|
|
+ if (YES.equals(workOrderInfo.getIsCharge())) {
|
|
|
|
+ finalMap.put("sfs", true);
|
|
|
|
+ finalMap.put("sff", false);
|
|
|
|
+ } else {
|
|
|
|
+ finalMap.put("sfs", false);
|
|
|
|
+ finalMap.put("sff", true);
|
|
|
|
+ }
|
|
|
|
+ finalMap.put("rmbdx", workOrderInfo.getTotalCostDx());
|
|
|
|
+ finalMap.put("rmb", workOrderInfo.getTotalCost());
|
|
|
|
+ finalMap.put("bz", workOrderInfo.getRemark());
|
|
|
|
+ finalMap.put("lxfs", workOrderInfo.getPhonenumber());
|
|
|
|
+ finalMap.put("rq", DateUtils.getDate());
|
|
finalMap.put("bz", workOrderInfo.getRemark());
|
|
finalMap.put("bz", workOrderInfo.getRemark());
|
|
finalMap.put("qm", "{{@qm}}");
|
|
finalMap.put("qm", "{{@qm}}");
|
|
|
|
|
|
List<Object> workList = new ArrayList<>();
|
|
List<Object> workList = new ArrayList<>();
|
|
- if(chargeDetails1!=null && !chargeDetails1.isEmpty()){
|
|
|
|
|
|
+ if (chargeDetails1 != null && !chargeDetails1.isEmpty()) {
|
|
for (int i = 0; i < chargeDetails1.size(); i++) {
|
|
for (int i = 0; i < chargeDetails1.size(); i++) {
|
|
HashMap<String, Object> workItem = new HashMap<>();
|
|
HashMap<String, Object> workItem = new HashMap<>();
|
|
workItem.put("xh", i + 1);
|
|
workItem.put("xh", i + 1);
|
|
@@ -346,9 +355,10 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
Configure build = Configure.builder().bind(policy, "workList").build();
|
|
Configure build = Configure.builder().bind(policy, "workList").build();
|
|
XWPFTemplate render = XWPFTemplate.compile(wordTemplate, build).render(finalMap);
|
|
XWPFTemplate render = XWPFTemplate.compile(wordTemplate, build).render(finalMap);
|
|
// 此处是利用File,直接在本地创建文件,将参数替换后的文件流写入到该文件,word就是最终的结果
|
|
// 此处是利用File,直接在本地创建文件,将参数替换后的文件流写入到该文件,word就是最终的结果
|
|
- String fileName =workOrderInfo.getUnitName()+"-"+workOrderInfo.getProjectName() + "项目工单.docx";
|
|
|
|
- String templatePath ="/profile/upload/" + fileName;
|
|
|
|
- String path = RuoYiConfig.getUploadPath() +"/"+ fileName;;
|
|
|
|
|
|
+ String fileName = workOrderInfo.getUnitName() + "-" + workOrderInfo.getProjectName() + "项目工单.docx";
|
|
|
|
+ String templatePath = "/profile/upload/" + fileName;
|
|
|
|
+ String path = RuoYiConfig.getUploadPath() + "/" + fileName;
|
|
|
|
+ ;
|
|
File word = new File(path);
|
|
File word = new File(path);
|
|
try {
|
|
try {
|
|
render.writeToFile(word.getAbsolutePath());
|
|
render.writeToFile(word.getAbsolutePath());
|
|
@@ -364,7 +374,7 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
//删除之前生成的文件
|
|
//删除之前生成的文件
|
|
workOrderFjMapper.deleteWorkOrderFj(workOrderFj);
|
|
workOrderFjMapper.deleteWorkOrderFj(workOrderFj);
|
|
workOrderFjMapper.insertWorkOrderFj(workOrderFj);
|
|
workOrderFjMapper.insertWorkOrderFj(workOrderFj);
|
|
- return AjaxResult.success("成功",templatePath);
|
|
|
|
|
|
+ return AjaxResult.success("成功", templatePath);
|
|
}
|
|
}
|
|
|
|
|
|
@SneakyThrows
|
|
@SneakyThrows
|
|
@@ -382,9 +392,9 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
base64String = base64String.trim();
|
|
base64String = base64String.trim();
|
|
|
|
|
|
int s = wordVo.getImage().indexOf(",");
|
|
int s = wordVo.getImage().indexOf(",");
|
|
- String head = wordVo.getImage().substring(0,s + 1);
|
|
|
|
|
|
+ String head = wordVo.getImage().substring(0, s + 1);
|
|
|
|
|
|
- MultipartFile file = Base64DecodedMultipartFile.base64Convert(base64String,head,workOrderInfo.getOrderId()+"签字");
|
|
|
|
|
|
+ MultipartFile file = Base64DecodedMultipartFile.base64Convert(base64String, head, workOrderInfo.getOrderId() + "签字");
|
|
// 上传文件路径
|
|
// 上传文件路径
|
|
String filePath = RuoYiConfig.getUploadPath();
|
|
String filePath = RuoYiConfig.getUploadPath();
|
|
// 上传并返回新文件名称
|
|
// 上传并返回新文件名称
|
|
@@ -406,7 +416,7 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
|
|
|
|
HashMap<String, Object> finalMap = new HashMap<>();
|
|
HashMap<String, Object> finalMap = new HashMap<>();
|
|
//这里也可以是用文件服务器返回的网络文件流
|
|
//这里也可以是用文件服务器返回的网络文件流
|
|
- String pictureUrl = fileName.replace("/profile",RuoYiConfig.getProfile());
|
|
|
|
|
|
+ String pictureUrl = fileName.replace("/profile", RuoYiConfig.getProfile());
|
|
// 从网络流读取图片,置入word模板,等待编译
|
|
// 从网络流读取图片,置入word模板,等待编译
|
|
if (StringUtils.isNotEmpty(pictureUrl)) {
|
|
if (StringUtils.isNotEmpty(pictureUrl)) {
|
|
//PictureRenderData picture = Pictures.ofUrl(pictureUrl).size(100, 60).create();//网络图片地址
|
|
//PictureRenderData picture = Pictures.ofUrl(pictureUrl).size(100, 60).create();//网络图片地址
|
|
@@ -415,15 +425,16 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
}
|
|
}
|
|
// 从网络url 下载word模板到指定文件夹
|
|
// 从网络url 下载word模板到指定文件夹
|
|
//http://192.168.101.86:8077 "D:\\ruoyi\\uploadPath\\gongdan\\muban\\工单模板.docx"
|
|
//http://192.168.101.86:8077 "D:\\ruoyi\\uploadPath\\gongdan\\muban\\工单模板.docx"
|
|
- File wordTemplate = new File(RuoYiConfig.getUploadPath()+"/"+workOrderFjs.get(0).getName());
|
|
|
|
|
|
+ File wordTemplate = new File(RuoYiConfig.getUploadPath() + "/" + workOrderFjs.get(0).getName());
|
|
// 此处使用了poi-tl的<表格行循环插件>,此处一定要进行参数bind,方便word模板参数替换
|
|
// 此处使用了poi-tl的<表格行循环插件>,此处一定要进行参数bind,方便word模板参数替换
|
|
LoopRowTableRenderPolicy policy = new LoopRowTableRenderPolicy();
|
|
LoopRowTableRenderPolicy policy = new LoopRowTableRenderPolicy();
|
|
Configure build = Configure.builder().bind(policy, "workList").build();
|
|
Configure build = Configure.builder().bind(policy, "workList").build();
|
|
XWPFTemplate render = XWPFTemplate.compile(wordTemplate, build).render(finalMap);
|
|
XWPFTemplate render = XWPFTemplate.compile(wordTemplate, build).render(finalMap);
|
|
// 此处是利用File,直接在本地创建文件,将参数替换后的文件流写入到该文件,word就是最终的结果
|
|
// 此处是利用File,直接在本地创建文件,将参数替换后的文件流写入到该文件,word就是最终的结果
|
|
- String name =workOrderInfo.getUnitName()+"-"+workOrderInfo.getProjectName() + "项目工单.docx";
|
|
|
|
- String templatePath ="/profile/upload/" + name;
|
|
|
|
- String path = RuoYiConfig.getUploadPath() +"/"+ name;;
|
|
|
|
|
|
+ String name = workOrderInfo.getUnitName() + "-" + workOrderInfo.getProjectName() + "项目工单.docx";
|
|
|
|
+ String templatePath = "/profile/upload/" + name;
|
|
|
|
+ String path = RuoYiConfig.getUploadPath() + "/" + name;
|
|
|
|
+ ;
|
|
File word = new File(path);
|
|
File word = new File(path);
|
|
try {
|
|
try {
|
|
render.writeToFile(word.getAbsolutePath());
|
|
render.writeToFile(word.getAbsolutePath());
|
|
@@ -431,14 +442,25 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
throw new RuntimeException(e);
|
|
throw new RuntimeException(e);
|
|
}
|
|
}
|
|
workOrderInfo.setServiceProgress(TWO);
|
|
workOrderInfo.setServiceProgress(TWO);
|
|
|
|
+ workOrderInfo.setAgency(TWO);
|
|
workOrderInfoMapper.updateWorkOrderInfo(workOrderInfo);
|
|
workOrderInfoMapper.updateWorkOrderInfo(workOrderInfo);
|
|
|
|
+
|
|
|
|
+ //操作记录
|
|
|
|
+ OperationRecord operationRecord = new OperationRecord();
|
|
|
|
+ operationRecord.setOrderId(workOrderInfo.getOrderId());
|
|
|
|
+ String type = dictDataMapper.selectDictLabel("service_progress", workOrderInfo.getType());
|
|
|
|
+ StringBuilder recod = new StringBuilder();
|
|
|
|
+ recod.append(workOrderInfo.getUnitName()).append("的").append(type).append("已结束;客户暂无评价");
|
|
|
|
+ operationRecord.setRecord(recod.toString());
|
|
|
|
+ operationRecordService.insertOperationRecord(operationRecord);
|
|
|
|
+
|
|
return AjaxResult.success("成功");
|
|
return AjaxResult.success("成功");
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public AjaxResult lc() {
|
|
public AjaxResult lc() {
|
|
|
|
|
|
- Map<String,Object> map = new HashMap<>();
|
|
|
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
int zs = 0;
|
|
int zs = 0;
|
|
int djd = 0;
|
|
int djd = 0;
|
|
int jxz = 0;
|
|
int jxz = 0;
|
|
@@ -448,53 +470,52 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
int szs = 0;
|
|
int szs = 0;
|
|
String zz = "0%";
|
|
String zz = "0%";
|
|
//获取当前月
|
|
//获取当前月
|
|
- String month = DateUtils.dateTimeNow(YYYY_MM);
|
|
|
|
|
|
+ String month = DateUtils.dateTimeNow(YYYY_MM_DD);
|
|
//获取上个月
|
|
//获取上个月
|
|
String lastMonth = DateUtils.lastMonth();
|
|
String lastMonth = DateUtils.lastMonth();
|
|
//本月单量
|
|
//本月单量
|
|
List<WorkOrderInfo> workOrderInfoList = workOrderInfoMapper.selectWorkOrderInfoListBymonth(month);
|
|
List<WorkOrderInfo> workOrderInfoList = workOrderInfoMapper.selectWorkOrderInfoListBymonth(month);
|
|
//上个月单量
|
|
//上个月单量
|
|
List<WorkOrderInfo> lastWorkOrderInfoList = workOrderInfoMapper.selectWorkOrderInfoListBymonth(lastMonth);
|
|
List<WorkOrderInfo> lastWorkOrderInfoList = workOrderInfoMapper.selectWorkOrderInfoListBymonth(lastMonth);
|
|
- if(lastWorkOrderInfoList!=null && !lastWorkOrderInfoList.isEmpty()){
|
|
|
|
|
|
+ if (lastWorkOrderInfoList != null && !lastWorkOrderInfoList.isEmpty()) {
|
|
szs = lastWorkOrderInfoList.size();
|
|
szs = lastWorkOrderInfoList.size();
|
|
}
|
|
}
|
|
- if(workOrderInfoList!=null && !workOrderInfoList.isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfoList != null && !workOrderInfoList.isEmpty()) {
|
|
zs = workOrderInfoList.size();
|
|
zs = workOrderInfoList.size();
|
|
- Map<String,List<WorkOrderInfo>> workOrderInfomap = workOrderInfoList.stream().collect(Collectors.groupingBy(WorkOrderInfo::getServiceProgress));
|
|
|
|
- if(workOrderInfomap.get(NORMAL)!=null && !workOrderInfomap.get(NORMAL).isEmpty()){
|
|
|
|
|
|
+ Map<String, List<WorkOrderInfo>> workOrderInfomap = workOrderInfoList.stream().collect(Collectors.groupingBy(WorkOrderInfo::getServiceProgress));
|
|
|
|
+ if (workOrderInfomap.get(NORMAL) != null && !workOrderInfomap.get(NORMAL).isEmpty()) {
|
|
djd = workOrderInfomap.get(NORMAL).size();
|
|
djd = workOrderInfomap.get(NORMAL).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(ONE)!=null && !workOrderInfomap.get(ONE).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(ONE) != null && !workOrderInfomap.get(ONE).isEmpty()) {
|
|
jxz = workOrderInfomap.get(ONE).size();
|
|
jxz = workOrderInfomap.get(ONE).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(TWO)!=null && !workOrderInfomap.get(TWO).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(TWO) != null && !workOrderInfomap.get(TWO).isEmpty()) {
|
|
ywc = workOrderInfomap.get(TWO).size();
|
|
ywc = workOrderInfomap.get(TWO).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(THR)!=null && !workOrderInfomap.get(THR).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(THR) != null && !workOrderInfomap.get(THR).isEmpty()) {
|
|
ypj = workOrderInfomap.get(THR).size();
|
|
ypj = workOrderInfomap.get(THR).size();
|
|
}
|
|
}
|
|
- dpj = ywc-ypj;
|
|
|
|
BigDecimal bzs = new BigDecimal(zs);
|
|
BigDecimal bzs = new BigDecimal(zs);
|
|
BigDecimal bszs = new BigDecimal(szs);
|
|
BigDecimal bszs = new BigDecimal(szs);
|
|
BigDecimal fz = bzs.subtract(bszs);
|
|
BigDecimal fz = bzs.subtract(bszs);
|
|
- BigDecimal percentage = bzs.multiply(new BigDecimal("100"))
|
|
|
|
- .divide(fz, 3, RoundingMode.HALF_UP) // 先计算百分比并保留三位小数以处理可能的精度问题
|
|
|
|
|
|
+ BigDecimal percentage = fz.multiply(new BigDecimal("100"))
|
|
|
|
+ .divide(bzs, 3, RoundingMode.HALF_UP) // 先计算百分比并保留三位小数以处理可能的精度问题
|
|
.setScale(1, RoundingMode.HALF_UP); // 再设置为一位小数
|
|
.setScale(1, RoundingMode.HALF_UP); // 再设置为一位小数
|
|
- zz = percentage.toString()+"%";
|
|
|
|
|
|
+ zz = percentage.toString() + "%";
|
|
|
|
|
|
}
|
|
}
|
|
map.put("zs", zs);
|
|
map.put("zs", zs);
|
|
map.put("djd", djd);
|
|
map.put("djd", djd);
|
|
map.put("jxz", jxz);
|
|
map.put("jxz", jxz);
|
|
map.put("ywc", ywc);
|
|
map.put("ywc", ywc);
|
|
- map.put("dpj", dpj);
|
|
|
|
|
|
+ map.put("dpj", ypj);
|
|
map.put("zz", zz);
|
|
map.put("zz", zz);
|
|
return AjaxResult.success(map);
|
|
return AjaxResult.success(map);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public AjaxResult fw() {
|
|
public AjaxResult fw() {
|
|
- Map<String,Object> map = new HashMap<>();
|
|
|
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
int zs = 0;
|
|
int zs = 0;
|
|
int wlfw = 0;
|
|
int wlfw = 0;
|
|
int sbfw = 0;
|
|
int sbfw = 0;
|
|
@@ -503,29 +524,29 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
int sjfw = 0;
|
|
int sjfw = 0;
|
|
int qtfw = 0;
|
|
int qtfw = 0;
|
|
//获取当前月
|
|
//获取当前月
|
|
- String month = DateUtils.dateTimeNow(YYYY_MM);
|
|
|
|
|
|
+ String month = DateUtils.dateTimeNow(YYYY_MM_DD);
|
|
//本月单量
|
|
//本月单量
|
|
List<WorkOrderInfo> workOrderInfoList = workOrderInfoMapper.selectWorkOrderInfoListBymonth(month);
|
|
List<WorkOrderInfo> workOrderInfoList = workOrderInfoMapper.selectWorkOrderInfoListBymonth(month);
|
|
- if(workOrderInfoList!=null && !workOrderInfoList.isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfoList != null && !workOrderInfoList.isEmpty()) {
|
|
zs = workOrderInfoList.size();
|
|
zs = workOrderInfoList.size();
|
|
- Map<String,List<WorkOrderInfo>> workOrderInfomap = workOrderInfoList.stream().collect(Collectors.groupingBy(WorkOrderInfo::getType));
|
|
|
|
|
|
+ Map<String, List<WorkOrderInfo>> workOrderInfomap = workOrderInfoList.stream().collect(Collectors.groupingBy(WorkOrderInfo::getType));
|
|
|
|
|
|
- if(workOrderInfomap.get(ONE)!=null && !workOrderInfomap.get(ONE).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(ONE) != null && !workOrderInfomap.get(ONE).isEmpty()) {
|
|
wlfw = workOrderInfomap.get(ONE).size();
|
|
wlfw = workOrderInfomap.get(ONE).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(TWO)!=null && !workOrderInfomap.get(TWO).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(TWO) != null && !workOrderInfomap.get(TWO).isEmpty()) {
|
|
sbfw = workOrderInfomap.get(TWO).size();
|
|
sbfw = workOrderInfomap.get(TWO).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(THR)!=null && !workOrderInfomap.get(THR).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(THR) != null && !workOrderInfomap.get(THR).isEmpty()) {
|
|
rjfw = workOrderInfomap.get(THR).size();
|
|
rjfw = workOrderInfomap.get(THR).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(FOR)!=null && !workOrderInfomap.get(FOR).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(FOR) != null && !workOrderInfomap.get(FOR).isEmpty()) {
|
|
kffw = workOrderInfomap.get(FOR).size();
|
|
kffw = workOrderInfomap.get(FOR).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(FIV)!=null && !workOrderInfomap.get(FIV).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(FIV) != null && !workOrderInfomap.get(FIV).isEmpty()) {
|
|
sjfw = workOrderInfomap.get(FIV).size();
|
|
sjfw = workOrderInfomap.get(FIV).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(SIX)!=null && !workOrderInfomap.get(SIX).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(SIX) != null && !workOrderInfomap.get(SIX).isEmpty()) {
|
|
qtfw = workOrderInfomap.get(SIX).size();
|
|
qtfw = workOrderInfomap.get(SIX).size();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -541,11 +562,11 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public AjaxResult bj() {
|
|
public AjaxResult bj() {
|
|
- Map<String,Object> map = new HashMap<>();
|
|
|
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
//获取当前月
|
|
//获取当前月
|
|
- String month = DateUtils.dateTimeNow(YYYY_MM);
|
|
|
|
|
|
+ String month = DateUtils.dateTimeNow(YYYY_MM_DD);
|
|
//获取上个月
|
|
//获取上个月
|
|
- String lastMonth = DateUtils.lastMonth();
|
|
|
|
|
|
+ String lastMonth = DateUtils.lastMonth()+"-01";
|
|
//本月单量
|
|
//本月单量
|
|
List<WorkOrderInfo> workOrderInfoList = workOrderInfoMapper.selectWorkOrderInfoListBymonth(month);
|
|
List<WorkOrderInfo> workOrderInfoList = workOrderInfoMapper.selectWorkOrderInfoListBymonth(month);
|
|
//上个月单量
|
|
//上个月单量
|
|
@@ -573,47 +594,47 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
int skffw = 0;
|
|
int skffw = 0;
|
|
int ssjfw = 0;
|
|
int ssjfw = 0;
|
|
int sqtfw = 0;
|
|
int sqtfw = 0;
|
|
- if(workOrderInfoList!=null && !workOrderInfoList.isEmpty()){
|
|
|
|
- Map<String,List<WorkOrderInfo>> workOrderInfomap = workOrderInfoList.stream().collect(Collectors.groupingBy(WorkOrderInfo::getType));
|
|
|
|
|
|
+ if (workOrderInfoList != null && !workOrderInfoList.isEmpty()) {
|
|
|
|
+ Map<String, List<WorkOrderInfo>> workOrderInfomap = workOrderInfoList.stream().collect(Collectors.groupingBy(WorkOrderInfo::getType));
|
|
|
|
|
|
- if(workOrderInfomap.get(ONE)!=null && !workOrderInfomap.get(ONE).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(ONE) != null && !workOrderInfomap.get(ONE).isEmpty()) {
|
|
wlfw = workOrderInfomap.get(ONE).size();
|
|
wlfw = workOrderInfomap.get(ONE).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(TWO)!=null && !workOrderInfomap.get(TWO).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(TWO) != null && !workOrderInfomap.get(TWO).isEmpty()) {
|
|
sbfw = workOrderInfomap.get(TWO).size();
|
|
sbfw = workOrderInfomap.get(TWO).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(THR)!=null && !workOrderInfomap.get(THR).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(THR) != null && !workOrderInfomap.get(THR).isEmpty()) {
|
|
rjfw = workOrderInfomap.get(THR).size();
|
|
rjfw = workOrderInfomap.get(THR).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(FOR)!=null && !workOrderInfomap.get(FOR).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(FOR) != null && !workOrderInfomap.get(FOR).isEmpty()) {
|
|
kffw = workOrderInfomap.get(FOR).size();
|
|
kffw = workOrderInfomap.get(FOR).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(FIV)!=null && !workOrderInfomap.get(FIV).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(FIV) != null && !workOrderInfomap.get(FIV).isEmpty()) {
|
|
sjfw = workOrderInfomap.get(FIV).size();
|
|
sjfw = workOrderInfomap.get(FIV).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(SIX)!=null && !workOrderInfomap.get(SIX).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(SIX) != null && !workOrderInfomap.get(SIX).isEmpty()) {
|
|
qtfw = workOrderInfomap.get(SIX).size();
|
|
qtfw = workOrderInfomap.get(SIX).size();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if(lastWorkOrderInfoList!=null && !lastWorkOrderInfoList.isEmpty()){
|
|
|
|
- Map<String,List<WorkOrderInfo>> workOrderInfomap = lastWorkOrderInfoList.stream().collect(Collectors.groupingBy(WorkOrderInfo::getType));
|
|
|
|
|
|
+ if (lastWorkOrderInfoList != null && !lastWorkOrderInfoList.isEmpty()) {
|
|
|
|
+ Map<String, List<WorkOrderInfo>> workOrderInfomap = lastWorkOrderInfoList.stream().collect(Collectors.groupingBy(WorkOrderInfo::getType));
|
|
|
|
|
|
- if(workOrderInfomap.get(ONE)!=null && !workOrderInfomap.get(ONE).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(ONE) != null && !workOrderInfomap.get(ONE).isEmpty()) {
|
|
swlfw = workOrderInfomap.get(ONE).size();
|
|
swlfw = workOrderInfomap.get(ONE).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(TWO)!=null && !workOrderInfomap.get(TWO).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(TWO) != null && !workOrderInfomap.get(TWO).isEmpty()) {
|
|
ssbfw = workOrderInfomap.get(TWO).size();
|
|
ssbfw = workOrderInfomap.get(TWO).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(THR)!=null && !workOrderInfomap.get(THR).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(THR) != null && !workOrderInfomap.get(THR).isEmpty()) {
|
|
srjfw = workOrderInfomap.get(THR).size();
|
|
srjfw = workOrderInfomap.get(THR).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(FOR)!=null && !workOrderInfomap.get(FOR).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(FOR) != null && !workOrderInfomap.get(FOR).isEmpty()) {
|
|
skffw = workOrderInfomap.get(FOR).size();
|
|
skffw = workOrderInfomap.get(FOR).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(FIV)!=null && !workOrderInfomap.get(FIV).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(FIV) != null && !workOrderInfomap.get(FIV).isEmpty()) {
|
|
ssjfw = workOrderInfomap.get(FIV).size();
|
|
ssjfw = workOrderInfomap.get(FIV).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(SIX)!=null && !workOrderInfomap.get(SIX).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(SIX) != null && !workOrderInfomap.get(SIX).isEmpty()) {
|
|
sqtfw = workOrderInfomap.get(SIX).size();
|
|
sqtfw = workOrderInfomap.get(SIX).size();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -630,51 +651,51 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
x2.add(skffw);
|
|
x2.add(skffw);
|
|
x2.add(ssjfw);
|
|
x2.add(ssjfw);
|
|
x2.add(sqtfw);
|
|
x2.add(sqtfw);
|
|
- map.put("y",y);
|
|
|
|
- map.put("x1",x1);
|
|
|
|
- map.put("x2",x2);
|
|
|
|
|
|
+ map.put("y", y);
|
|
|
|
+ map.put("x1", x1);
|
|
|
|
+ map.put("x2", x2);
|
|
return AjaxResult.success(map);
|
|
return AjaxResult.success(map);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public AjaxResult statisticsJd() {
|
|
public AjaxResult statisticsJd() {
|
|
- Map<String,Object> map = new HashMap<>();
|
|
|
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
int zs = 0;
|
|
int zs = 0;
|
|
int zzjd = 0;
|
|
int zzjd = 0;
|
|
int zdfp = 0;
|
|
int zdfp = 0;
|
|
String zzbfb = "0%";
|
|
String zzbfb = "0%";
|
|
String zpbfb = "0%";
|
|
String zpbfb = "0%";
|
|
//获取季度的开始时间和结束时间
|
|
//获取季度的开始时间和结束时间
|
|
- String startDate = DateUtils.startQuarterly()+" 00:00:00";
|
|
|
|
- String endDate = DateUtils.endQuarterly()+" 23:59:59";
|
|
|
|
|
|
+ String startDate = DateUtils.startQuarterly() + " 00:00:00";
|
|
|
|
+ String endDate = DateUtils.endQuarterly() + " 23:59:59";
|
|
SysUser user = SecurityUtils.getLoginUser().getUser();
|
|
SysUser user = SecurityUtils.getLoginUser().getUser();
|
|
- List<WorkOrderInfo> workOrderInfoList = workOrderInfoMapper.selectWorkOrderInfoListByTime(startDate,endDate,user.getUserId());
|
|
|
|
- if(workOrderInfoList!=null && !workOrderInfoList.isEmpty()){
|
|
|
|
|
|
+ List<WorkOrderInfo> workOrderInfoList = workOrderInfoMapper.selectWorkOrderInfoListByTime(startDate, endDate, user.getUserId());
|
|
|
|
+ if (workOrderInfoList != null && !workOrderInfoList.isEmpty()) {
|
|
zs = workOrderInfoList.size();
|
|
zs = workOrderInfoList.size();
|
|
BigDecimal bzs = new BigDecimal(zs);
|
|
BigDecimal bzs = new BigDecimal(zs);
|
|
- Map<String,List<WorkOrderInfo>> workOrderInfomap = workOrderInfoList.stream().collect(Collectors.groupingBy(WorkOrderInfo::getOrderPlacement));
|
|
|
|
- if(workOrderInfomap.get(ONE)!=null && !workOrderInfomap.get(ONE).isEmpty()){
|
|
|
|
- zzjd = workOrderInfomap.get(ONE).size();
|
|
|
|
|
|
+ Map<String, List<WorkOrderInfo>> workOrderInfomap = workOrderInfoList.stream().collect(Collectors.groupingBy(WorkOrderInfo::getOrderPlacement));
|
|
|
|
+ if (workOrderInfomap.get(TWO) != null && !workOrderInfomap.get(TWO).isEmpty()) {
|
|
|
|
+ zzjd = workOrderInfomap.get(TWO).size();
|
|
BigDecimal bzhjd = new BigDecimal(zzjd);
|
|
BigDecimal bzhjd = new BigDecimal(zzjd);
|
|
- BigDecimal percentage = bzs.multiply(new BigDecimal("100"))
|
|
|
|
- .divide(bzhjd, 3, RoundingMode.HALF_UP) // 先计算百分比并保留三位小数以处理可能的精度问题
|
|
|
|
|
|
+ BigDecimal percentage = bzhjd.multiply(new BigDecimal("100"))
|
|
|
|
+ .divide(bzs, 3, RoundingMode.HALF_UP) // 先计算百分比并保留三位小数以处理可能的精度问题
|
|
.setScale(1, RoundingMode.HALF_UP); // 再设置为一位小数
|
|
.setScale(1, RoundingMode.HALF_UP); // 再设置为一位小数
|
|
- zzbfb = percentage.toString()+"%";
|
|
|
|
|
|
+ zzbfb = percentage.toString() + "%";
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(TWO)!=null && !workOrderInfomap.get(TWO).isEmpty()){
|
|
|
|
- zdfp = workOrderInfomap.get(TWO).size();
|
|
|
|
|
|
+ if (workOrderInfomap.get(ONE) != null && !workOrderInfomap.get(ONE).isEmpty()) {
|
|
|
|
+ zdfp = workOrderInfomap.get(ONE).size();
|
|
BigDecimal bzdfp = new BigDecimal(zdfp);
|
|
BigDecimal bzdfp = new BigDecimal(zdfp);
|
|
- BigDecimal percentage = bzs.multiply(new BigDecimal("100"))
|
|
|
|
- .divide(bzdfp, 3, RoundingMode.HALF_UP) // 先计算百分比并保留三位小数以处理可能的精度问题
|
|
|
|
|
|
+ BigDecimal percentage = bzdfp.multiply(new BigDecimal("100"))
|
|
|
|
+ .divide(bzs, 3, RoundingMode.HALF_UP) // 先计算百分比并保留三位小数以处理可能的精度问题
|
|
.setScale(1, RoundingMode.HALF_UP); // 再设置为一位小数
|
|
.setScale(1, RoundingMode.HALF_UP); // 再设置为一位小数
|
|
- zpbfb = percentage.toString()+"%";
|
|
|
|
|
|
+ zpbfb = percentage.toString() + "%";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- map.put("zs",zs);
|
|
|
|
- map.put("zzjd",zzjd);
|
|
|
|
- map.put("zdfp",zdfp);
|
|
|
|
- map.put("zpbfb",zpbfb);
|
|
|
|
- map.put("zzbfb",zzbfb);
|
|
|
|
|
|
+ map.put("zs", zs);
|
|
|
|
+ map.put("zzjd", zzjd);
|
|
|
|
+ map.put("zdfp", zdfp);
|
|
|
|
+ map.put("zpbfb", zpbfb);
|
|
|
|
+ map.put("zzbfb", zzbfb);
|
|
return AjaxResult.success(map);
|
|
return AjaxResult.success(map);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -687,7 +708,7 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
workOrderInfo.setAgency(ONE);
|
|
workOrderInfo.setAgency(ONE);
|
|
workOrderInfo.setResponsibleId(user.getUserId());
|
|
workOrderInfo.setResponsibleId(user.getUserId());
|
|
List<WorkOrderInfo> workOrderInfos = workOrderInfoMapper.selectWorkOrderInfoList(workOrderInfo);
|
|
List<WorkOrderInfo> workOrderInfos = workOrderInfoMapper.selectWorkOrderInfoList(workOrderInfo);
|
|
- if(workOrderInfos!=null && !workOrderInfos.isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfos != null && !workOrderInfos.isEmpty()) {
|
|
num = workOrderInfos.size();
|
|
num = workOrderInfos.size();
|
|
}
|
|
}
|
|
return AjaxResult.success(num);
|
|
return AjaxResult.success(num);
|
|
@@ -695,16 +716,18 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public AjaxResult monthPx(String time) {
|
|
public AjaxResult monthPx(String time) {
|
|
- if(StringUtils.isEmpty(time)){
|
|
|
|
- time = DateUtils.dateTimeNow(YYYY_MM);
|
|
|
|
|
|
+ if (StringUtils.isEmpty(time)) {
|
|
|
|
+ time = DateUtils.dateTimeNow(YYYY_MM_DD);
|
|
|
|
+ }else{
|
|
|
|
+ time = time +"-01";
|
|
}
|
|
}
|
|
//本月单量
|
|
//本月单量
|
|
List<WorkOrderInfo> workOrderInfoList = workOrderInfoMapper.selectWorkOrderInfoListBymonthOne(time);
|
|
List<WorkOrderInfo> workOrderInfoList = workOrderInfoMapper.selectWorkOrderInfoListBymonthOne(time);
|
|
Map<Long, Integer> map = new HashMap<>();
|
|
Map<Long, Integer> map = new HashMap<>();
|
|
- if(workOrderInfoList!=null && !workOrderInfoList.isEmpty()){
|
|
|
|
- Map<Long,List<WorkOrderInfo>> workOrderInfomap = workOrderInfoList.stream().collect(Collectors.groupingBy(WorkOrderInfo::getResponsibleId));
|
|
|
|
|
|
+ if (workOrderInfoList != null && !workOrderInfoList.isEmpty()) {
|
|
|
|
+ Map<Long, List<WorkOrderInfo>> workOrderInfomap = workOrderInfoList.stream().collect(Collectors.groupingBy(WorkOrderInfo::getResponsibleId));
|
|
for (Long s : workOrderInfomap.keySet()) {
|
|
for (Long s : workOrderInfomap.keySet()) {
|
|
- map.put(s,workOrderInfomap.get(s).size());
|
|
|
|
|
|
+ map.put(s, workOrderInfomap.get(s).size());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// 使用Stream API和Collectors.toList()将entries转换为List
|
|
// 使用Stream API和Collectors.toList()将entries转换为List
|
|
@@ -717,15 +740,15 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
//取前6个
|
|
//取前6个
|
|
List<Map<String, Object>> listMap = new ArrayList<>();
|
|
List<Map<String, Object>> listMap = new ArrayList<>();
|
|
for (int i = 0; i < 6; i++) {
|
|
for (int i = 0; i < 6; i++) {
|
|
- if(entries.size()<i+1){
|
|
|
|
|
|
+ if (entries.size() < i + 1) {
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
Map<String, Object> mapPx = new HashMap<>();
|
|
Map<String, Object> mapPx = new HashMap<>();
|
|
SysUser sysUser = userMapper.selectUserById(entries.get(i).getKey());
|
|
SysUser sysUser = userMapper.selectUserById(entries.get(i).getKey());
|
|
- mapPx.put("xh",i+1);
|
|
|
|
- mapPx.put("name",sysUser.getNickName());
|
|
|
|
- mapPx.put("deptName",sysUser.getDept().getDeptName());
|
|
|
|
- mapPx.put("num",entries.get(i).getValue());
|
|
|
|
|
|
+ mapPx.put("xh", i + 1);
|
|
|
|
+ mapPx.put("name", sysUser.getNickName());
|
|
|
|
+ mapPx.put("deptName", sysUser.getDept().getDeptName());
|
|
|
|
+ mapPx.put("num", entries.get(i).getValue());
|
|
listMap.add(mapPx);
|
|
listMap.add(mapPx);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -734,16 +757,18 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public AjaxResult yearPx(String time) {
|
|
public AjaxResult yearPx(String time) {
|
|
- if(StringUtils.isEmpty(time)){
|
|
|
|
- time = DateUtils.dateTimeNow(YYYY);
|
|
|
|
|
|
+ if (StringUtils.isEmpty(time)) {
|
|
|
|
+ time = DateUtils.dateTimeNow(YYYY_MM_DD);
|
|
|
|
+ }else{
|
|
|
|
+ time = time +"-01-01";
|
|
}
|
|
}
|
|
//本年单量
|
|
//本年单量
|
|
List<WorkOrderInfo> workOrderInfoList = workOrderInfoMapper.selectWorkOrderInfoListByYearOne(time);
|
|
List<WorkOrderInfo> workOrderInfoList = workOrderInfoMapper.selectWorkOrderInfoListByYearOne(time);
|
|
Map<Long, Integer> map = new HashMap<>();
|
|
Map<Long, Integer> map = new HashMap<>();
|
|
- if(workOrderInfoList!=null && !workOrderInfoList.isEmpty()){
|
|
|
|
- Map<Long,List<WorkOrderInfo>> workOrderInfomap = workOrderInfoList.stream().collect(Collectors.groupingBy(WorkOrderInfo::getResponsibleId));
|
|
|
|
|
|
+ if (workOrderInfoList != null && !workOrderInfoList.isEmpty()) {
|
|
|
|
+ Map<Long, List<WorkOrderInfo>> workOrderInfomap = workOrderInfoList.stream().collect(Collectors.groupingBy(WorkOrderInfo::getResponsibleId));
|
|
for (Long s : workOrderInfomap.keySet()) {
|
|
for (Long s : workOrderInfomap.keySet()) {
|
|
- map.put(s,workOrderInfomap.get(s).size());
|
|
|
|
|
|
+ map.put(s, workOrderInfomap.get(s).size());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// 使用Stream API和Collectors.toList()将entries转换为List
|
|
// 使用Stream API和Collectors.toList()将entries转换为List
|
|
@@ -756,15 +781,15 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
//取前6个
|
|
//取前6个
|
|
List<Map<String, Object>> listMap = new ArrayList<>();
|
|
List<Map<String, Object>> listMap = new ArrayList<>();
|
|
for (int i = 0; i < 6; i++) {
|
|
for (int i = 0; i < 6; i++) {
|
|
- if(entries.size()<i+1){
|
|
|
|
|
|
+ if (entries.size() < i + 1) {
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
Map<String, Object> mapPx = new HashMap<>();
|
|
Map<String, Object> mapPx = new HashMap<>();
|
|
SysUser sysUser = userMapper.selectUserById(entries.get(i).getKey());
|
|
SysUser sysUser = userMapper.selectUserById(entries.get(i).getKey());
|
|
- mapPx.put("xh",i+1);
|
|
|
|
- mapPx.put("name",sysUser.getNickName());
|
|
|
|
- mapPx.put("deptName",sysUser.getDept().getDeptName());
|
|
|
|
- mapPx.put("num",entries.get(i).getValue());
|
|
|
|
|
|
+ mapPx.put("xh", i + 1);
|
|
|
|
+ mapPx.put("name", sysUser.getNickName());
|
|
|
|
+ mapPx.put("deptName", sysUser.getDept().getDeptName());
|
|
|
|
+ mapPx.put("num", entries.get(i).getValue());
|
|
listMap.add(mapPx);
|
|
listMap.add(mapPx);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -773,10 +798,12 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public AjaxResult yearFwlx(String time) {
|
|
public AjaxResult yearFwlx(String time) {
|
|
- if(StringUtils.isEmpty(time)){
|
|
|
|
- time = DateUtils.dateTimeNow(YYYY);
|
|
|
|
|
|
+ if (StringUtils.isEmpty(time)) {
|
|
|
|
+ time = DateUtils.dateTimeNow(YYYY_MM_DD);
|
|
|
|
+ }else{
|
|
|
|
+ time = time +"-01-01";
|
|
}
|
|
}
|
|
- Map<String,Object> map = new HashMap<>();
|
|
|
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
int zs = 0;
|
|
int zs = 0;
|
|
int wlfw = 0;
|
|
int wlfw = 0;
|
|
int sbfw = 0;
|
|
int sbfw = 0;
|
|
@@ -786,28 +813,40 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
int qtfw = 0;
|
|
int qtfw = 0;
|
|
|
|
|
|
SysUser user = SecurityUtils.getLoginUser().getUser();
|
|
SysUser user = SecurityUtils.getLoginUser().getUser();
|
|
|
|
+ Long userId = 0L;
|
|
|
|
+ //判断角色是不是业务员
|
|
|
|
+ List<SysRole> roles = user.getRoles();
|
|
|
|
+ Boolean bl = false;
|
|
|
|
+ for (SysRole role : roles) {
|
|
|
|
+ if (WORK_USER.equals(role.getRoleKey())) {
|
|
|
|
+ bl = true;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (bl) {
|
|
|
|
+ userId = user.getUserId();
|
|
|
|
+ }
|
|
//本年单量
|
|
//本年单量
|
|
- List<WorkOrderInfo> workOrderInfoList = workOrderInfoMapper.selectWorkOrderInfoListByYear(time,user.getUserId());
|
|
|
|
- if(workOrderInfoList!=null && !workOrderInfoList.isEmpty()){
|
|
|
|
|
|
+ List<WorkOrderInfo> workOrderInfoList = workOrderInfoMapper.selectWorkOrderInfoListByYear(time, userId);
|
|
|
|
+ if (workOrderInfoList != null && !workOrderInfoList.isEmpty()) {
|
|
zs = workOrderInfoList.size();
|
|
zs = workOrderInfoList.size();
|
|
- Map<String,List<WorkOrderInfo>> workOrderInfomap = workOrderInfoList.stream().collect(Collectors.groupingBy(WorkOrderInfo::getType));
|
|
|
|
|
|
+ Map<String, List<WorkOrderInfo>> workOrderInfomap = workOrderInfoList.stream().collect(Collectors.groupingBy(WorkOrderInfo::getType));
|
|
|
|
|
|
- if(workOrderInfomap.get(ONE)!=null && !workOrderInfomap.get(ONE).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(ONE) != null && !workOrderInfomap.get(ONE).isEmpty()) {
|
|
wlfw = workOrderInfomap.get(ONE).size();
|
|
wlfw = workOrderInfomap.get(ONE).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(TWO)!=null && !workOrderInfomap.get(TWO).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(TWO) != null && !workOrderInfomap.get(TWO).isEmpty()) {
|
|
sbfw = workOrderInfomap.get(TWO).size();
|
|
sbfw = workOrderInfomap.get(TWO).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(THR)!=null && !workOrderInfomap.get(THR).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(THR) != null && !workOrderInfomap.get(THR).isEmpty()) {
|
|
rjfw = workOrderInfomap.get(THR).size();
|
|
rjfw = workOrderInfomap.get(THR).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(FOR)!=null && !workOrderInfomap.get(FOR).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(FOR) != null && !workOrderInfomap.get(FOR).isEmpty()) {
|
|
kffw = workOrderInfomap.get(FOR).size();
|
|
kffw = workOrderInfomap.get(FOR).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(FIV)!=null && !workOrderInfomap.get(FIV).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(FIV) != null && !workOrderInfomap.get(FIV).isEmpty()) {
|
|
sjfw = workOrderInfomap.get(FIV).size();
|
|
sjfw = workOrderInfomap.get(FIV).size();
|
|
}
|
|
}
|
|
- if(workOrderInfomap.get(SIX)!=null && !workOrderInfomap.get(SIX).isEmpty()){
|
|
|
|
|
|
+ if (workOrderInfomap.get(SIX) != null && !workOrderInfomap.get(SIX).isEmpty()) {
|
|
qtfw = workOrderInfomap.get(SIX).size();
|
|
qtfw = workOrderInfomap.get(SIX).size();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -821,5 +860,144 @@ public class WorkOrderInfoServiceImpl implements IWorkOrderInfoService
|
|
return AjaxResult.success(map);
|
|
return AjaxResult.success(map);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public AjaxResult yearLc(String time) {
|
|
|
|
+ if (StringUtils.isEmpty(time)) {
|
|
|
|
+ time = DateUtils.dateTimeNow(YYYY_MM_DD);
|
|
|
|
+ }else{
|
|
|
|
+ time = time +"-01-01";
|
|
|
|
+ }
|
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
|
+ int zs = 0;
|
|
|
|
+ int djd = 0;
|
|
|
|
+ int jxz = 0;
|
|
|
|
+ int ywc = 0;
|
|
|
|
+ int dpj = 0;
|
|
|
|
+ int ypj = 0;
|
|
|
|
+ SysUser user = SecurityUtils.getLoginUser().getUser();
|
|
|
|
+ //本年单量
|
|
|
|
+ List<WorkOrderInfo> workOrderInfoList = workOrderInfoMapper.selectWorkOrderInfoListByYear(time, user.getUserId());
|
|
|
|
+ if (workOrderInfoList != null && !workOrderInfoList.isEmpty()) {
|
|
|
|
+ zs = workOrderInfoList.size();
|
|
|
|
+ Map<String, List<WorkOrderInfo>> workOrderInfomap = workOrderInfoList.stream().collect(Collectors.groupingBy(WorkOrderInfo::getServiceProgress));
|
|
|
|
+ if (workOrderInfomap.get(NORMAL) != null && !workOrderInfomap.get(NORMAL).isEmpty()) {
|
|
|
|
+ djd = workOrderInfomap.get(NORMAL).size();
|
|
|
|
+ }
|
|
|
|
+ if (workOrderInfomap.get(ONE) != null && !workOrderInfomap.get(ONE).isEmpty()) {
|
|
|
|
+ jxz = workOrderInfomap.get(ONE).size();
|
|
|
|
+ }
|
|
|
|
+ if (workOrderInfomap.get(TWO) != null && !workOrderInfomap.get(TWO).isEmpty()) {
|
|
|
|
+ ywc = workOrderInfomap.get(TWO).size();
|
|
|
|
+ }
|
|
|
|
+ if (workOrderInfomap.get(THR) != null && !workOrderInfomap.get(THR).isEmpty()) {
|
|
|
|
+ ypj = workOrderInfomap.get(THR).size();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ map.put("zs", zs);
|
|
|
|
+ map.put("djd", djd);
|
|
|
|
+ map.put("jxz", jxz);
|
|
|
|
+ map.put("ywc", ywc);
|
|
|
|
+ map.put("dpj", ypj);
|
|
|
|
+ return AjaxResult.success(map);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public AjaxResult yearMonth(String time) {
|
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
|
+ String year = time;
|
|
|
|
+ if (StringUtils.isEmpty(time)) {
|
|
|
|
+ time = DateUtils.dateTimeNow(YYYY_MM_DD);
|
|
|
|
+ year = DateUtils.dateTimeNow(YYYY);
|
|
|
|
+ }else{
|
|
|
|
+ time = time +"-01-01";
|
|
|
|
+ }
|
|
|
|
+ List<String> months = DateUtils.yearMonth(year);
|
|
|
|
+ List<String> monthhz = new ArrayList<>();
|
|
|
|
+ for (int i = 0; i < 12; i++) {
|
|
|
|
+ monthhz.add(i+1+"月");
|
|
|
|
+ }
|
|
|
|
+ SysUser user = SecurityUtils.getLoginUser().getUser();
|
|
|
|
+ Long userId = 0L;
|
|
|
|
+ //判断角色是不是业务员
|
|
|
|
+ List<SysRole> roles = user.getRoles();
|
|
|
|
+ Boolean bl = false;
|
|
|
|
+ for (SysRole role : roles) {
|
|
|
|
+ if (WORK_USER.equals(role.getRoleKey())) {
|
|
|
|
+ bl = true;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (bl) {
|
|
|
|
+ userId = user.getUserId();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //本年单量
|
|
|
|
+ List<WorkOrderInfo> workOrderInfoList = workOrderInfoMapper.selectWorkOrderInfoListByYear(time, userId);
|
|
|
|
+ List<Integer> numList = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ for (String month : months) {
|
|
|
|
+ int num = 0;
|
|
|
|
+ if (workOrderInfoList != null && !workOrderInfoList.isEmpty()) {
|
|
|
|
+ for (WorkOrderInfo workOrderInfo : workOrderInfoList) {
|
|
|
|
+ if (DateUtils.dateTime(workOrderInfo.getCreateTime()).contains(month)) {
|
|
|
|
+ num++;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ numList.add(num);
|
|
|
|
+ }
|
|
|
|
+ map.put("x", monthhz);
|
|
|
|
+ map.put("y", numList);
|
|
|
|
+ return AjaxResult.success(map);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public AjaxResult deptLc(String time) {
|
|
|
|
+
|
|
|
|
+ if (StringUtils.isEmpty(time)) {
|
|
|
|
+ time = DateUtils.dateTimeNow(YYYY_MM_DD);
|
|
|
|
+ }else{
|
|
|
|
+ time = time +"-01-01";
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
|
+ int zs = 0;
|
|
|
|
+ int djd = 0;
|
|
|
|
+ int jxz = 0;
|
|
|
|
+ int ywc = 0;
|
|
|
|
+ int ypj = 0;
|
|
|
|
+
|
|
|
|
+ SysUser user = SecurityUtils.getLoginUser().getUser();
|
|
|
|
+ SysUser use = new SysUser();
|
|
|
|
+ use.setDeptId(user.getDeptId());
|
|
|
|
+ //查询同一部门下的所有人(包括子部门)
|
|
|
|
+ List<SysUser> userList = userMapper.selectUserList(use);
|
|
|
|
+ List<Long> userIds = userList.stream().map(SysUser::getUserId).collect(Collectors.toList());
|
|
|
|
+ List<WorkOrderInfo> workOrderInfoList = workOrderInfoMapper.selectWorkOrderInfoListByUserList(time,userIds);
|
|
|
|
+ if (workOrderInfoList != null && !workOrderInfoList.isEmpty()) {
|
|
|
|
+ zs = workOrderInfoList.size();
|
|
|
|
+ Map<String, List<WorkOrderInfo>> workOrderInfomap = workOrderInfoList.stream().collect(Collectors.groupingBy(WorkOrderInfo::getServiceProgress));
|
|
|
|
+ if (workOrderInfomap.get(NORMAL) != null && !workOrderInfomap.get(NORMAL).isEmpty()) {
|
|
|
|
+ djd = workOrderInfomap.get(NORMAL).size();
|
|
|
|
+ }
|
|
|
|
+ if (workOrderInfomap.get(ONE) != null && !workOrderInfomap.get(ONE).isEmpty()) {
|
|
|
|
+ jxz = workOrderInfomap.get(ONE).size();
|
|
|
|
+ }
|
|
|
|
+ if (workOrderInfomap.get(TWO) != null && !workOrderInfomap.get(TWO).isEmpty()) {
|
|
|
|
+ ywc = workOrderInfomap.get(TWO).size();
|
|
|
|
+ }
|
|
|
|
+ if (workOrderInfomap.get(THR) != null && !workOrderInfomap.get(THR).isEmpty()) {
|
|
|
|
+ ypj = workOrderInfomap.get(THR).size();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ map.put("zs", zs);
|
|
|
|
+ map.put("djd", djd);
|
|
|
|
+ map.put("jxz", jxz);
|
|
|
|
+ map.put("ywc", ywc);
|
|
|
|
+ map.put("dpj", ypj);
|
|
|
|
+ return AjaxResult.success(map);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
}
|
|
}
|