d75c962f 张雷

Merge remote-tracking branch 'origin/master' into master

2 个父辈 808b3a2b 35e5ee8a
......@@ -36,5 +36,4 @@ public class SkApplication {
// @ComponentScan(lazyInit = true)
// static class LocalConfig {
// }
}
......
......@@ -49,25 +49,24 @@ public class ErpSettlementController {
@AutoLog(value = "药剂结算单详情-分页列表查询")
@ApiOperation(value="药剂结算单详情-分页列表查询(settlementType = 0 供应商结算集合,settlementType= 1 水厂结算)", notes="药剂结算单详情-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<ErpSettlement>> queryPageList(ErpSettlementSearchVO erpSettlementSearchVO,
public Result<IPage<ErpSettlement>> queryPageList(ErpSettlement erpSettlement,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
Result<IPage<ErpSettlement>> result = new Result<IPage<ErpSettlement>>();
QueryWrapper<ErpSettlement> queryWrapper = new QueryWrapper();// QueryGenerator.initQueryWrapper(erpSettlement, req.getParameterMap());
QueryWrapper<ErpSettlement> queryWrapper = QueryGenerator.initQueryWrapper(erpSettlement, req.getParameterMap());
Page<ErpSettlement> page = new Page<ErpSettlement>(pageNo, pageSize);
//水务公司
if(StringUtils.isNotEmpty(erpSettlementSearchVO.getDepartId())){
queryWrapper.eq("depart_id" ,erpSettlementSearchVO.getDepartId()) ;
if(StringUtils.isNotEmpty(erpSettlement.getDepartId())){
queryWrapper.eq("depart_id" ,erpSettlement.getDepartId()) ;
}
//供应商
if(StringUtils.isNotEmpty(erpSettlementSearchVO.getSupplierId())){
queryWrapper.eq("supplier_id" ,erpSettlementSearchVO.getSupplierId()) ;
if(StringUtils.isNotEmpty(erpSettlement.getSupplierId())){
queryWrapper.eq("supplier_id" ,erpSettlement.getSupplierId()) ;
}
//结算类型
queryWrapper.eq("settlement_type" ,erpSettlementSearchVO.getSettlementType()) ;
String startDate = req.getParameter("startDate");
queryWrapper.eq("settlement_type" ,erpSettlement.getSettlementType()) ;
/*String startDate = req.getParameter("startDate");
if(StringUtils.isNotEmpty(startDate)){
startDate = startDate+" 00:00:00";
queryWrapper.ge("settlement_time",startDate);
......@@ -76,8 +75,13 @@ public class ErpSettlementController {
if(StringUtils.isNotEmpty(endDate)){
endDate = endDate+" 23:59:59";
queryWrapper.le("settlement_time",endDate );
}*/
IPage<ErpSettlement> pageList = null;
if("0".equals(erpSettlement.getSettlementType())){
pageList = erpSettlementService.querySettlementPageBySupplier(page, queryWrapper);
}else{
pageList = erpSettlementService.page(page, queryWrapper);
}
IPage<ErpSettlement> pageList = erpSettlementService.page(page, queryWrapper);
result.setSuccess(true);
result.setResult(pageList);
return result;
......@@ -105,6 +109,7 @@ public class ErpSettlementController {
for(ErpSettlementVO settlementVO : settlementVOList){
erpSettlementVO = settlementVO;
erpSettlementVO.setSettlementType("0");
if(supplierName.length() >0 ) supplierName+=",";
supplierName += ConvertUtils.getString(settlementVO.getSupplierName(),"");
contractCode += settlementVO.getContractCode();
......@@ -244,14 +249,36 @@ public class ErpSettlementController {
}
return result;
}
@AutoLog(value = "药剂结算单详情-审批")
@ApiOperation(value="药剂结算单详情-审批", notes="药剂结算单详情-审批")
@GetMapping(value = "/audit")
public Result<?> audit(@RequestParam(name="id",required=true) String id,Integer auditStatus ,String approveMessage ) {
Result<ErpSettlementVO> result = new Result<ErpSettlementVO>();
ErpSettlement erpSettlementEntity = erpSettlementService.getById(id);
erpSettlementEntity.setInspectTime(DateUtils.format(new Date(), HolidaysUtils.DATE_TIME_PATTERN));
erpSettlementEntity.setAuditStatus(auditStatus);
erpSettlementEntity.setApproveMessage(approveMessage);
erpSettlementEntity.setInspectorSign(BaseContextHandler.getUserName());
if(erpSettlementEntity==null) {
result.error500("未找到对应实体");
}else {
boolean ok = erpSettlementService.auditAccept(erpSettlementEntity);
if(ok) {
result.success("操作成功!");
}
}
return result;
}
@AutoLog(value = "药剂结算单详情-验收审批")
@ApiOperation(value="药剂结算单详情-验收审批", notes="药剂结算单详情-验收审批")
@GetMapping(value = "/auditAccept")
public Result<?> auditAccept(@RequestParam(name="id",required=true) String id) {
public Result<?> auditAccept(@RequestParam(name="id",required=true) String id,Integer auditStatus ,String approveMessage ) {
Result<ErpSettlementVO> result = new Result<ErpSettlementVO>();
ErpSettlement erpSettlementEntity = erpSettlementService.getById(id);
erpSettlementEntity.setInspectTime(DateUtils.format(new Date(), HolidaysUtils.DATE_TIME_PATTERN));
erpSettlementEntity.setAuditStatus(2);
erpSettlementEntity.setAuditStatus(auditStatus);
erpSettlementEntity.setApproveMessage(approveMessage);
erpSettlementEntity.setInspectorSign(BaseContextHandler.getUserName());
if(erpSettlementEntity==null) {
result.error500("未找到对应实体");
......@@ -267,12 +294,13 @@ public class ErpSettlementController {
@AutoLog(value = "药剂结算单详情-经理审批")
@ApiOperation(value="药剂结算单详情-经理审批", notes="药剂结算单详情-经理审批")
@GetMapping(value = "/auditManager")
public Result<?> auditManager(@RequestParam(name="id",required=true) String id) {
public Result<?> auditManager(@RequestParam(name="id",required=true) String id,Integer auditStatus ,String approveMessage ) {
Result<ErpSettlementVO> result = new Result<ErpSettlementVO>();
ErpSettlement erpSettlementEntity = erpSettlementService.getById(id);
erpSettlementEntity.setApproveTime(DateUtils.format(new Date(), HolidaysUtils.DATE_TIME_PATTERN));
erpSettlementEntity.setApproverSign(BaseContextHandler.getUserName());
erpSettlementEntity.setAuditStatus(3);
erpSettlementEntity.setAuditStatus(auditStatus);
erpSettlementEntity.setApproveMessage(approveMessage);
if(erpSettlementEntity==null) {
result.error500("未找到对应实体");
}else {
......
......@@ -31,10 +31,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.skua.modules.erp.util.PdfUtil;
import com.skua.modules.erp.vo.ArrivalRecordExcelExportVO;
import com.skua.modules.erp.vo.MaterialINArrivalRecordVO;
import com.skua.modules.erp.vo.MaterialINVO;
import com.skua.modules.erp.vo.MaterialINXslVO;
import com.skua.modules.erp.vo.*;
import com.skua.modules.supplies.entity.EquipmentSparepartSupplies;
import com.skua.modules.supplies.entity.EquipmentSparepartType;
import com.skua.modules.supplies.service.IEquipmentSparepartSuppliesService;
......@@ -179,6 +176,7 @@ public class MaterialINController {
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
Result<IPage<MaterialINVO>> result = new Result<IPage<MaterialINVO>>();
/*QueryWrapper<MaterialIN> queryWrapper = QueryGenerator.initQueryWrapper(materialIN, req.getParameterMap());
queryWrapper.eq("audit_status","3");//审批通过
......@@ -286,8 +284,6 @@ public class MaterialINController {
Result<MaterialINVO> result = new Result<MaterialINVO>();
MaterialINVO materialIN = materialINService.queryById(id);
/**/
if(materialIN==null) {
result.error500("未找到对应实体");
}else {
......@@ -374,6 +370,23 @@ public class MaterialINController {
}
return result;
}
@AutoLog(value = "erp--药剂入库-回退")
@ApiOperation(value="erp--药剂入库-回退", notes="erp--药剂入库-回退")
@PutMapping(value = "/rollback")
public Result<MaterialIN> rollback(ApprovalRecordVO approvalRecordVO) {
Result<MaterialIN> result = new Result<MaterialIN>();
MaterialIN materialIN = null;
result.setSuccess(true);//默认成功!
String errMsg = materialINService.rollback(approvalRecordVO);
result.setResult(materialIN);
if(errMsg != null ){
result.error500(errMsg);
}
return result;
}
/**
* <pre>
* 导出excel
......@@ -403,18 +416,33 @@ public class MaterialINController {
}
//导出到货记录
@RequestMapping(value = "/exportArrivalRecord")
public ModelAndView exportArrivalRecord(MaterialIN materialIN,HttpServletRequest request, HttpServletResponse response) {
public ModelAndView exportArrivalRecord(MaterialINVO materialINVO,HttpServletRequest request, HttpServletResponse response) {
// Step.1 组装查询条件
QueryWrapper<MaterialIN> queryWrapper = null;
queryWrapper = QueryGenerator.initQueryWrapper(materialIN, request.getParameterMap());
// QueryWrapper<MaterialIN> queryWrapper = null;
// queryWrapper = QueryGenerator.initQueryWrapper(materialIN, request.getParameterMap());
//全部确认的数据
//queryWrapper.eq("confirm_status","9");
queryWrapper.eq("audit_status","3");
queryWrapper.orderByDesc("arrive_time");
//queryWrapper.eq("audit_status","3");
// queryWrapper.orderByDesc("arrive_time");
Page<MaterialINVO> page = new Page<MaterialINVO>(1, 10000);
if(StringUtils.isNotEmpty(request.getParameter("arriveTime_begin"))){
materialINVO.setStartTime( request.getParameter("arriveTime_begin") );
}
if(StringUtils.isNotEmpty(request.getParameter("arriveTime_end"))){
materialINVO.setEndTime( request.getParameter("arriveTime_end") );
}
if(StringUtils.isEmpty(materialINVO.getDepartId())){
materialINVO.setDepartIds( JSUtils.quoteEach( BaseContextHandler.getDeparts(),","));
}
materialINVO.setAuditStatus("3");
IPage<MaterialINVO> pageList = materialINService.arrivalRecordList(page, materialINVO);
//Step.2 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
List<MaterialIN> materialINList = materialINService.list(queryWrapper);
List<MaterialINVO> materialINList = pageList.getRecords();
List<MaterialINArrivalRecordVO> dataList = new ArrayList<>();
MaterialINArrivalRecordVO arrivalRecordVO = null;
......@@ -429,7 +457,6 @@ public class MaterialINController {
dataList.add( arrivalRecordVO ) ;
}
}
//导出文件名称
mv.addObject(NormalExcelConstants.FILE_NAME, "药剂到货验收记录表");
mv.addObject(NormalExcelConstants.CLASS, MaterialINArrivalRecordVO.class);
......
......@@ -62,7 +62,7 @@ public class ErpSettlement {
private String totalPriceTax;
/**签字状态(1-申请,2-验收签字,3-经理签字)*/
@Excel(name = "签字状态(1-申请,2-验收签字,3-经理签字)", width = 15)
@ApiModelProperty(value = "审批状态(1-申请,2-验收签字,3-经理签字)")
@ApiModelProperty(value = "审批状态(1-申请,2-验收签字,3-经理签字,4 验收驳回,5 经理驳回)")
private Integer auditStatus;
/**结算状态(0 未结算 1 已结算)*/
@Excel(name = "结算状态(0 未结算 1 已结算)", width = 15)
......@@ -103,6 +103,9 @@ public class ErpSettlement {
@ApiModelProperty(value = "结束时间")
private String endDate;
@ApiModelProperty(value = "审批意见")
private String approveMessage;
/**备注*/
@Excel(name = "备注", width = 15)
@ApiModelProperty(value = "备注")
......
......@@ -78,7 +78,10 @@ public class MaterialIN {
@ApiModelProperty(value = "物料编号")
@Dict(dictTable = "equipment_sparepart_supplies", dicCode="id", dicText = "sparepart_name")
private String sparepartId;
/**药剂(物料)名称*/
@Excel(name = "药剂(物料)名称", width = 15)
@ApiModelProperty(value = "药剂(物料)名称")
private String sparepartName;
@Excel(name = "入库仓库", width = 15,dictTable = "supplies_warehouse", dicCode="id", dicText = "warehouse_name")
@ApiModelProperty(value = "入库仓库")
......
......@@ -2,6 +2,10 @@ package com.skua.modules.erp.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.skua.modules.erp.entity.ErpSettlementItem;
import com.skua.modules.erp.vo.ErpSettlementItemVO;
import com.skua.modules.erp.vo.ErpSettlementVO;
......@@ -9,6 +13,7 @@ import com.skua.tool.annotation.Anonymous;
import org.apache.ibatis.annotations.Param;
import com.skua.modules.erp.entity.ErpSettlement;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Select;
/**
* 药剂结算单详情
......@@ -26,6 +31,10 @@ public interface ErpSettlementMapper extends BaseMapper<ErpSettlement> {
// 根据入库单ids,获取【水厂】结算单详情
@Anonymous
List<ErpSettlementItemVO> queryWaterDepartSettlementByMaterialIds(@Param("ids") String materialIds);
//供应商结算分页列表
@Anonymous
@Select("select * from erp_settlement ${ew.customSqlSegment}")
IPage<ErpSettlement> querySettlementPageBySupplier(Page<ErpSettlement> page, @Param(Constants.WRAPPER) QueryWrapper<ErpSettlement> queryWrapper);
//(供应商)送货单以及物资验收单
/// List<ErpSettlementItemVO> querySupplierSettlementFormById(@Param("id")String id);
//(水厂) 送货单以及物资验收单
......
......@@ -13,7 +13,8 @@
si.id,si.settlement_id,si.depart_id,si.material_in_id,si.purchase_contract_id,si.distribut_contract_id,si.sparepart_id,si.material_num,si.arrive_time,si.good_code,
round(pm.unit_price * si.material_num,2)'total_price',round(pm.unit_price * si.material_num *100 /(100+ ifnull(pm.tax_amount,0)) ,2) total_price_tax
from erp_settlement_item si
left join sys_depart d on d.id = si.depart_id
left join erp_material_in mi on mi.id = si.material_in_id
left join sys_depart d on d.id = mi.depart_id
left join erp_purchase_material pm on (pm.contract_id =si.purchase_contract_id and pm.good_code = si.good_code )
left join equipment_sparepart_supplies ss on si.sparepart_id = ss.id
left join erp_material_acceptance_form mf on mf.id = si.material_in_id
......@@ -29,7 +30,8 @@
si.id,si.settlement_id,si.depart_id,si.material_in_id,si.distribut_contract_id,si.purchase_contract_id,si.sparepart_id,si.material_num,si.arrive_time,si.good_code,
round(dm.distribut_price * si.material_num,2)'total_price',round(dm.distribut_price * si.material_num *100 /(100+ ifnull(dm.tax_amount,0)) ,2) total_price_tax
from erp_settlement_item si
left join sys_depart d on d.id = si.depart_id
left join erp_material_in mi on mi.id = si.material_in_id
left join sys_depart d on d.id = mi.depart_id
left join erp_material_acceptance_form mf on mf.id = si.material_in_id
left join erp_distribut_contract dc on si.distribut_contract_id = dc.id
......
package com.skua.modules.erp.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.skua.modules.erp.entity.ErpSettlement;
import com.baomidou.mybatisplus.extension.service.IService;
import com.skua.modules.erp.entity.ErpSettlementItem;
......@@ -53,6 +56,14 @@ public interface IErpSettlementService extends IService<ErpSettlement> {
*/
boolean auditAccept(ErpSettlement erpSettlementEntity);
/***
* 供应商结算分页列表
* @param page
* @param queryWrapper
* @return
*/
IPage<ErpSettlement> querySettlementPageBySupplier(Page<ErpSettlement> page, QueryWrapper<ErpSettlement> queryWrapper);
// (供应商)送货单以及物资验收单
// ErpSettlementFormVO querySupplierSettlementFormById(String id);
//(水厂) 送货单以及物资验收单
......
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.skua.modules.erp.entity.MaterialIN;
import com.baomidou.mybatisplus.extension.service.IService;
import com.skua.modules.erp.vo.ApprovalRecordVO;
import com.skua.modules.erp.vo.ArrivalRecordExcelExportVO;
import com.skua.modules.erp.vo.MaterialINVO;
......@@ -73,5 +74,9 @@ public interface IMaterialINService extends IService<MaterialIN> {
*/
void sendAudit(MaterialIN materialIN);
/***
* 回退
* @param approvalRecordVO
*/
String rollback(ApprovalRecordVO approvalRecordVO);
}
......
package com.skua.modules.erp.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.skua.modules.common.service.ICommonSqlService;
import com.skua.modules.equipment.entity.SupplierManage;
import com.skua.modules.equipment.mapper.SupplierManageMapper;
......@@ -169,6 +171,16 @@ public class ErpSettlementServiceImpl extends ServiceImpl<ErpSettlementMapper, E
public List<ErpSettlementVO> checkSettlementByWaterDepart(String materialInIds){
return this.baseMapper.checkSettlementByWaterDepart( materialInIds );
}
/***
* 供应商结算分页列表
* @param page
* @param queryWrapper
* @return
*/
public IPage<ErpSettlement> querySettlementPageBySupplier(Page<ErpSettlement> page, QueryWrapper<ErpSettlement> queryWrapper){
return this.baseMapper.querySettlementPageBySupplier( page ,queryWrapper);
}
/**
* 结算单:验收审批
* @param erpSettlementEntity
......
......@@ -23,6 +23,7 @@ import com.skua.modules.erp.service.IERPPurchaseContractService;
import com.skua.modules.erp.service.IMaterialAcceptanceFormService;
import com.skua.modules.erp.service.IMaterialINService;
import com.skua.modules.erp.service.IPurchaseMaterialService;
import com.skua.modules.erp.vo.ApprovalRecordVO;
import com.skua.modules.erp.vo.ArrivalRecordExcelExportVO;
import com.skua.modules.erp.vo.MaterialINVO;
import com.skua.modules.erp.vo.PurchaseMaterialVO;
......@@ -59,8 +60,6 @@ public class MaterialINServiceImpl extends ServiceImpl<MaterialINMapper, Materia
@Autowired
private IERPPurchaseContractService purchaseContractService;
@Autowired
private IPurchaseMaterialService purchaseMaterialService;
@Autowired
private IEquipmentInService equipmentInService;
@Autowired
private IEquipmentOutService equipmentOutService;
......@@ -71,6 +70,8 @@ public class MaterialINServiceImpl extends ServiceImpl<MaterialINMapper, Materia
private SmsService smsService;
@Autowired
private ISysConfigService configService;
@Autowired
private ICommonSqlService commonSqlService;
/***
......@@ -117,12 +118,54 @@ public class MaterialINServiceImpl extends ServiceImpl<MaterialINMapper, Materia
smsService.pushMsgNoProcessByRoleId("药剂入库审批","有药剂入库单["+materialIN.getProjectName()+"]需要审批审批",roleId,"MaterialIN",msgCategory);
}
/***
* 回退
* @param approvalRecordVO
*/
@Transactional
public String rollback(ApprovalRecordVO approvalRecordVO){
MaterialIN materialIN = this.getById(approvalRecordVO.getId());
if(0 != materialIN.getSupplierSettlementFlag()){
return "已申请供应商结算,不能回退!";
}
if(0 != materialIN.getWaterDepartSettlementFlag() ){
return "已申请水厂结算,不能回退!";
}
// 审核通过,生成入库单据、物料单
materialIN.setAuditStatus(approvalRecordVO.getAuditStatus());
materialIN.setApproveMessage(approvalRecordVO.getApproveMessage());//审批意见
this.baseMapper.updateById( materialIN ) ;
//审批记录
//ApproveRecord record = new ApproveRecord( "YJIN", materialIN.getApplyUser(), materialIN.getId(), BaseContextHandler.getUserId(), approvalRecordVO.getApproveMessage(), approvalRecordVO.getAuditStatus());
// recordMapper.insert( record ) ;
// 回退出库
String sql = null;
if(StringUtils.isNotEmpty(materialIN.getEquipmentOutId())){
sql = "update equipment_sparepart es , equipment_out eo , equipment_out_child eoc set es.storage_num = (es.storage_num + eoc.out_num) where eo.id = eoc.out_id and es.supplies_id = eoc.sparepart_id and es.supplies_warehouse_id = eo.supplies_warehouse_id";
sql += " and eo.id = '"+materialIN.getEquipmentOutId()+"'";
commonSqlService.update(sql);
}
//回退入库
if(StringUtils.isNotEmpty(materialIN.getEquipmentInId())){
sql = "update equipment_sparepart es , equipment_in ei , equipment_in_child eic set es.storage_num = (es.storage_num - eic.in_num) where ei.id = eic.in_id and es.supplies_id = eic.sparepart_id and es.supplies_warehouse_id = ei.supplies_warehouse_id";
sql += " and ei.id = '"+materialIN.getEquipmentInId()+"'";
commonSqlService.update(sql);
}
//处理特殊情况,库存不能为负值
if(StringUtils.isNotEmpty(materialIN.getEquipmentOutId()) || StringUtils.isNotEmpty(materialIN.getEquipmentInId())){
sql = "update equipment_sparepart set storage_num = 0 where storage_num<0";
commonSqlService.update(sql);
}
return null;
}
/***
* 审核药剂入库单
* @param materialINVO
*/
@Transactional
public String auditMaterialINVO(MaterialINVO materialINVO)throws Exception {
boolean inAndOutStock = false;
String errMsg = auditMaterialIn(materialINVO.getId(),materialINVO.getApproveState(),materialINVO.getApproveMessage());
return errMsg;
}
......@@ -236,6 +279,7 @@ public class MaterialINServiceImpl extends ServiceImpl<MaterialINMapper, Materia
materialIN.setMaterialNum(purchaseMaterialVO.getMaterialNum());
materialIN.setSparepartId(purchaseMaterialVO.getSparepartId());
materialIN.setSparepartType(purchaseMaterialVO.getSparepartType());
materialIN.setGoodCode(purchaseMaterialVO.getGoodCode());
materialIN.setSupplierId(purchaseMaterialVO.getSupplierId());
......@@ -348,7 +392,6 @@ public class MaterialINServiceImpl extends ServiceImpl<MaterialINMapper, Materia
outChildList.add( equipmentOutChild );
equipmentOutDTO.setEquipmentOutChildList( outChildList );
// 创建出库单
equipmentOutService.saveEquipmentOut(equipmentOutDTO);
......
package com.skua.modules.erp.vo;
/**
* @auther kangwei
* @create 2025-03-11-15:33
*/
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 审批记录表
*/
@Data
@ApiModel(value="erp_approve_record对象", description="审批对象")
public class ApprovalRecordVO {
@ApiModelProperty(value = "审批对象的主键")
private String id;
/**审批人*/
@ApiModelProperty(value = "审批意见")
private String approveMessage;
/**审批状态*/
@ApiModelProperty(value = "审批状态")
private String auditStatus;
}
......@@ -25,10 +25,7 @@ public class MaterialINVO extends MaterialIN {
@ApiModelProperty(value = "权限厂站编号集合")
private String departIds;
/**药剂(物料)名称*/
@Excel(name = "药剂(物料)名称", width = 15)
@ApiModelProperty(value = "药剂(物料)名称")
private String sparepartName;
@ApiModelProperty(value = "物料编码")
private String sparepartCode;
......
......@@ -18,18 +18,26 @@ public interface DangerLevelManageMapper extends BaseMapper<DangerLevelManage> {
* 根据id获取风险分级对象
* @param id
* @return
* 测试的sql语句 select * from danger_level_manage where id = '4e7200f531db9f6409ecc81d24b07486';
* select * from danger_inspection_record where danger_id = '4e7200f531db9f6409ecc81d24b07486';
* select * from danger_inspection_info where inspection_record_id = '1898976888818851842';
* select * from danger_inspection_item where inspection_info_id in ( '1898976888844017665' ,'1898976888919515137');
*/
public DangerLevelManage queryById(@Param("id") String id);
//List<DangerLevelManage> queryByList(Page page, @Param("param") DangerLevelManage dangerLevelManage);
@Select("SELECT t.*,ifnull(aaa.inspect_content,'') inspect_content, ifnull(bbb.inspection_num,0) inspection_num, ifnull(ccc.rectification_num,0) 'rectification_num' " +
@Select("SELECT t.*,ifnull(aaa.inspect_content,'') inspect_content, ifnull(ccc.inspection_num,0) inspection_num, ifnull(bbb.rectification_num,0) 'rectification_num' " +
" FROM danger_level_manage t" +
" left join (select danger_id ,GROUP_CONCAT(inspect_name SEPARATOR '@') 'inspect_content' from danger_inspect_info group by danger_id)aaa on aaa.danger_id = t.id " +
" left join (select danger_id, count(id) 'inspection_num' from danger_inspection_record " +
" where DATE_FORMAT(report_date,'%Y-%m-%d') >= #{startTime} and DATE_FORMAT(report_date,'%Y-%m-%d') <= #{endTime} "+
" group by danger_id)bbb on bbb.danger_id = t.id " +
" left join (select danger_id, count(id) 'rectification_num' from ajh_rectification_info" +
" left join (select eee.danger_id ,count(eee.record_id) 'rectification_num' from ( select DISTINCT t.id 'record_id' ,t1.danger_id from danger_inspection_record t" +
" left join danger_inspection_info t1 on t.id= t1.inspection_record_id left join danger_inspection_item t2 on t1.id = t2.inspection_info_id " +
" where t2.status = 0 and DATE_FORMAT(t.report_date,'%Y-%m-%d') >= #{startTime} and DATE_FORMAT(t.report_date,'%Y-%m-%d') <= #{endTime} "+
" )eee group by eee.danger_id " +
" )bbb on bbb.danger_id = t.id " +
" left join (select danger_id, count(id) 'inspection_num' from ajh_rectification_info" +
" where DATE_FORMAT(rec_ord_report_date,'%Y-%m-%d') >= #{startTime} and DATE_FORMAT(rec_ord_report_date,'%Y-%m-%d') <= #{endTime} "+
" group by danger_id)ccc on ccc.danger_id = t.id ${ew.customSqlSegment}")
List<DangerLevelManage> getListByWrapper(Page page,@Param("ew") QueryWrapper<DangerLevelManage> queryWrapper,@Param("startTime") String startTime,@Param("endTime") String endTime);
}
......
......@@ -129,17 +129,30 @@ public class EquipmentInfoMonthReportController {
sql = "select round(ifnull(sum(total_cost),0)/10000,2) 'repair_cost' from equipment_repair where reality_maintenance_end_time >= '"+startDate+" 00:00:00' and reality_maintenance_end_time <='"+endDate+" 23:59:59'";
String repair_cost = commonSqlService.queryForString(sql);
dataMap.put("repairCost",repair_cost);//执行XX万元
dataMap.put("executionRate","");//执行比例
//本月计划开展大修技改项目XX项,完成XX项
sql = " select count(1) 'count' from ( select emp.maintenance_type , emt.results_enforcement from equipment_maintain_task emt left join equipment_maintain_plan emp on emt.plan_id = emp.id ";
sql += " where emt.maintain_time >= '"+startDate+" 00:00:00' and emt.maintain_time <='"+endDate+" 23:59:59' ) aaa where aaa.maintenance_type = 'dxjg' ";
String dxjg_count = commonSqlService.queryForString(sql);
dataMap.put("dxjgCount",dxjg_count);//本月计划开展大修技改项目XX项,完成XX项
sql = " select count(1) 'count' from ( select emp.maintenance_type , emt.results_enforcement from equipment_maintain_task emt left join equipment_maintain_plan emp on emt.plan_id = emp.id ";
sql += " where emt.maintain_time >= '"+startDate+" 00:00:00' and emt.maintain_time <='"+endDate+" 23:59:59' ) aaa where aaa.results_enforcement >2 and aaa.maintenance_type = 'dxjg' ";
String dxjg_complete_count = commonSqlService.queryForString(sql);
dataMap.put("dxjg_complete_count",dxjg_complete_count);//完成XX项
dataMap.put("dxjg_sy_count",dxjg_complete_count);//剩余
//生产类设备资产购置XX台
sql = " select count(1) 'count' from (select emp.maintenance_type , emt.results_enforcement from equipment_maintain_task emt left join equipment_maintain_plan emp on emt.plan_id = emp.id ";
sql += " where emt.maintain_time >= '"+startDate+" 00:00:00' and emt.maintain_time <='"+endDate+" 23:59:59' ) aaa where aaa.results_enforcement >2 and aaa.maintenance_type = 'dxjg'";
String equipment_count = commonSqlService.queryForString(sql);
dataMap.put("equipmentCount",equipment_count);//生产类设备资产购置XX台
return dataMap;
}
......@@ -147,7 +160,7 @@ public class EquipmentInfoMonthReportController {
//水务公司设备管理统计表
private List<Map<String,Object>> equipmentStatistics(String departIds,String startDate,String endDate){
String sql = "select d.id depart_id , d.depart_name ,round(ifnull(aaa.intact,0),2) 'intact', round(ifnull(bbb.plan_cost,0),2) 'plan_cost', round(ifnull(ccc.repair_cost,0),2) 'repair_cost',";
sql += " ifnull(ifnull(eee.repair_form_complete_count,0) / ifnull(ddd.repair_form_total_count,9999999999999.99),0) 'repair_form_complete_rate', ifnull(eee.repair_form_complete_count,0) 'repair_form_complete_count', ifnull(ifnull(fff.complete_count,0) / ifnull(ggg.total_count,9999999999999.99),0) 'inspection_complete_rate'";
sql += " ifnull(ifnull(100 * eee.repair_form_complete_count,0) / ifnull(ddd.repair_form_total_count,9999999999999.99),0) 'repair_form_complete_rate', ifnull(eee.repair_form_complete_count,0) 'repair_form_complete_count', ifnull(ifnull(fff.complete_count,0)*100 / ifnull(ggg.total_count,9999999999999.99),0) 'inspection_complete_rate'";
sql += " from sys_depart d ";
sql += " left join ( SELECT er.depart_id ,ifnull(( COUNT(id)*30 - IFNULL( SUM( UNIX_TIMESTAMP( reality_maintenance_end_time )- UNIX_TIMESTAMP( repair_date ) )/ 60 / 60 / 24, 0 )) *100/ (COUNT(id)*30) , 0) 'intact' FROM equipment_repair er ";
sql += " WHERE er.del_flag = 1 and er.create_time >= '"+startDate+"' and er.create_time <= '"+endDate+"' group by er.depart_id ) aaa on aaa.depart_id = d.id";
......@@ -166,7 +179,7 @@ public class EquipmentInfoMonthReportController {
}
//设备大修、更新开展情况
private List<Map<String,Object>> equipmentMaintainList(String departIds,String startDate,String endDate){
String sql = "select d.id depart_id , d.depart_name , ifnull(aaa.plan_name,'') 'plan_name' , round( ifnull(aaa.plan_cost,0), 2) 'plan_cost', round(ifnull(bbb.maintenance_cost,0),2) 'maintenance_cost' from sys_depart d ";
String sql = "select d.id depart_id , d.depart_name , ifnull(aaa.plan_name,'') 'plan_name' , round( ifnull(aaa.plan_cost,0), 2) 'plan_cost', round(ifnull(bbb.maintenance_cost,0),2) 'maintenance_cost' ,'' as 'reason' from sys_depart d ";
sql += " left join (select depart_id, GROUP_CONCAT(plan_name,',') 'plan_name' ,(sum(ifnull(plan_cost,0))/10000) 'plan_cost' from equipment_maintain_plan where maintenance_type = 'dxjg' and release_status='1' and start_time >= '"+startDate+" 00:00:00' and end_time <='"+endDate+" 23:59:59' group by depart_id )aaa on aaa.depart_id = d.id ";
sql += " left join ( select emt.depart_id, sum(ifnull(maintenance_cost,0)) maintenance_cost from equipment_maintain_task emt ,equipment_maintain_plan emp where emt.plan_id = emp.id and emp.maintenance_type = 'dxjg' and emt.maintain_time >= '"+startDate+" 00:00:00' and emt.maintain_time <='"+endDate+" 23:59:59' group by emt.depart_id )bbb on bbb.depart_id = d.id ";
sql += " where d.depart_type = 1 ";
......@@ -177,9 +190,9 @@ public class EquipmentInfoMonthReportController {
}
//4、A类重点设备运行情况
private List<Map<String,Object>> equipmentARunList(String departIds,String startDate,String endDate){
String sql =" select d.id 'depart_id', d.depart_name , aaa.equipment_name, aaa.fault_library_id from sys_depart d";
String sql =" select d.id 'depart_id', d.depart_name , aaa.equipment_name, aaa.fault_library_id ,aaa.fault_content from sys_depart d";
sql += " left join (select er.id 'info_id', er.depart_id , ei.equipment_name , GROUP_CONCAT(er.fault_content) fault_content , GROUP_CONCAT( er.fault_library_id) fault_library_id from equipment_repair er , equipment_info ei ";
sql += " where er.info_id = ei.id and and ei.equipment_level = '6bf727eb7e7cca6a95c694dab0036b2c' and repair_date >= '"+startDate+" 00:00:00' and repair_date <='"+endDate+" 23:59:59' ";
sql += " where er.info_id = ei.id and ei.equipment_level = '6bf727eb7e7cca6a95c694dab0036b2c' and repair_date >= '"+startDate+" 00:00:00' and repair_date <='"+endDate+" 23:59:59' ";
sql += " group by er.depart_id ,er.info_id )aaa on aaa.depart_id = d.id ";
sql += " where d.depart_type = 1 ";
if(StringUtils.isNotEmpty(departIds)){
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!